[PATCH 0/2] Update Dosbox-Staging.

  • Done
  • quality assurance status badge
Details
3 participants
  • Gabriel Wicki
  • 宋文武
  • Andrew Wong
Owner
unassigned
Submitted by
Andrew Wong
Severity
normal

Debbugs page

Andrew Wong wrote 1 weeks ago
(address . guix-patches@gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
cover.1741033387.git.wongandj@icloud.com
This patch series updates dosbox-staging and adds mt32emu. It also enables mt-32 emulation support.

Andrew Wong (2):
gnu: Add mt32emu.
gnu: dosbox-staging: Update to 0.82.0.

gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++
gnu/packages/emulators.scm | 23 +++++++----------------
2 files changed, 37 insertions(+), 16 deletions(-)


base-commit: 5f4c785fc3caa0fd960ebcf9c1ea6ab396b96f25
--
2.48.1
Andrew Wong wrote 1 weeks ago
[PATCH 1/2] gnu: Add mt32emu.
(address . 76719@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
9d2ff0cf36b6eacc11db742f6e68416fc5909ca4.1741033387.git.wongandj@icloud.com
* gnu/packages/audio.scm (mt32emu): New variable.

Change-Id: I458e4722ac012935814643a2925e185c46ecaba3
---
gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9f50f7f940..1b134cd911 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2030,6 +2030,36 @@ (define-public midicomp
(home-page "https://github.com/markc/midicomp")
(license license:agpl3))))
+(use-modules (guix build utils))
+(define-public mt32emu
+ (package
+ (name "mt32emu")
+ (version "2.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/munt/munt")
+ (commit (string-append "libmt32emu_"
+ (string-replace-substring
+ version "." "_")))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06d3jzx69nwy9jj6jv9q6rhq5399mp51w6d5mijg3fmwr4al13fd"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "mt32emu"))))))
+ (home-page "https://sourceforge.net/projects/munt/")
+ (synopsis "Pre-GM Roland MIDI device emulator")
+ (description "libmt32emu is a C/C++ library which approximately emulates
+the Roland MT-32, CM-32L and LAPC-I synthesizer modules. It is part of the
+Munt project.")
+ (license license:gpl2+)))
+
(define-public clalsadrv
(package
(name "clalsadrv")
--
2.48.1
Andrew Wong wrote 1 weeks ago
[PATCH 2/2] gnu: dosbox-staging: Update to 0.82.0.
(address . 76719@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
c2287e6dfd7f537101d6c9bd95d3b9344d3dbb89.1741033387.git.wongandj@icloud.com
* gnu/packages/emulators.scm (dosbox-staging): Update to 0.82.0.
[arguments]: Enable MT-32 emulation.
[inputs]: Add mt32emu, googletest.

Change-Id: Ia8ccdd533be6932e2e4fc3660cb472791194523a
---
gnu/packages/emulators.scm | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 0eafc3df9e..15fdc163ec 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -571,7 +571,7 @@ (define-public dosbox-staging
;; This is not a patch staging area for DOSBox, but an unaffiliated fork.
(package
(name "dosbox-staging")
- (version "0.81.0")
+ (version "0.82.0")
(source
(origin
(method git-fetch)
@@ -580,32 +580,23 @@ (define-public dosbox-staging
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fkshxaq12pd72v8m2f3a6d6jk9gh39hn0846gfkfinvw7yykzrl"))))
+ (base32 "1s4c6fiyjm91dnmkval9fvsqszc6yjq5b6pq895xi606dn29b85d"))))
(build-system meson-build-system)
(arguments
- (list #:configure-flags
- #~(list
- ;; These both try to git clone subprojects.
- "-Dunit_tests=disabled" ; gtest
- "-Duse_mt32emu=false")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-includes
- (lambda _
- ;; This unnecessary file has an encoding error.
- (delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h")
- (substitute* (find-files "." "\\.(cpp|h)")
- (("^(#[[:space:]]*include <)(SDL[_.])" _ include file)
- (string-append include "SDL2/" file))))))))
+ ;; The tests expect a traditional directory layout.
+ ;; TODO: find a way to "pick out" the bad test(s).
+ (list #:tests? #f))
(native-inputs
(list pkg-config))
(inputs
(list alsa-lib
fluidsynth
+ googletest
iir
libpng
libslirp
mesa
+ mt32emu
opusfile
sdl2
sdl2-image
--
2.48.1
Gabriel Wicki wrote 1 weeks ago
Re: [bug#76719] [PATCH 1/2] gnu: Add mt32emu.
(name . Andrew Wong)(address . wongandj@icloud.com)(address . 76719@debbugs.gnu.org)
tzhctgsdl7ocoa7hajfduklvlm74xeipebc7f77c5avzj45ve3@c7lv5y3p6h7l
Hi there!

First of all: thanks for your time and effort.

On Mon, Mar 03, 2025 at 03:30:22PM -0500, Andrew Wong wrote:
Toggle quote (1 lines)
> +(use-modules (guix build utils))
This is usually part of the header of the scheme module.

Toggle quote (3 lines)
> + (arguments
> + (list
> + #:tests? #f
Please comment why tests are deactivated - are they missing?

Toggle quote (3 lines)
> + #:phases #~(modify-phases %standard-phases
> + (add-after 'unpack 'chdir
> + (lambda _ (chdir "mt32emu"))))))
Not sure if this couldn't be specified in a dedicated argument for the
cmake-build-system. But if it works (and this argument does not exist)
this is ok to me.


Otherwise this patch looks good to me.


Thanks again
gabber
Andrew Wong wrote 1 weeks ago
[PATCH v2 1/2] gnu: Add mt32emu.
(address . 76719@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
a1722c628f15c05b9d2af34cc390275bacdfa32b.1741114063.git.wongandj@icloud.com
* gnu/packages/audio.scm (mt32emu): New variable.

Change-Id: I458e4722ac012935814643a2925e185c46ecaba3
---
gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9f50f7f940..d592f33c5e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -53,6 +53,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
+;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2030,6 +2031,34 @@ (define-public midicomp
(home-page "https://github.com/markc/midicomp")
(license license:agpl3))))
+(define-public mt32emu
+ (package
+ (name "mt32emu")
+ (version "2.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/munt/munt")
+ (commit
+ (string-append "libmt32emu_"
+ (string-replace-substring version "." "_")))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06d3jzx69nwy9jj6jv9q6rhq5399mp51w6d5mijg3fmwr4al13fd"))))
+ (build-system cmake-build-system)
+ (arguments (list
+ #:tests? #f ;no tests.
+ #:configure-flags #~(list "-Dmunt_WITH_MT32EMU_SMF2WAV=FALSE"
+ "-Dmunt_WITH_MT32EMU_QT=FALSE")))
+ (home-page "https://sourceforge.net/projects/munt/")
+ (synopsis "Pre-GM Roland MIDI device emulator")
+ (description
+ "libmt32emu is a C/C++ library which approximately emulates
+the Roland MT-32, CM-32L and LAPC-I synthesizer modules. It is part of the
+Munt project.")
+ (license license:gpl2+)))
+
(define-public clalsadrv
(package
(name "clalsadrv")

base-commit: 5f4c785fc3caa0fd960ebcf9c1ea6ab396b96f25
--
2.48.1
Andrew Wong wrote 1 weeks ago
[PATCH v2 2/2] gnu: dosbox-staging: Update to 0.82.0.
(address . 76719@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
aa84aeb1e34d7de4049cdba2e8c30a10dd4c99cf.1741114063.git.wongandj@icloud.com
* gnu/packages/emulators.scm (dosbox-staging): Update to 0.82.0.
[arguments]: Enable MT-32 emulation.
[inputs]: Add mt32emu, googletest.

Change-Id: Ia8ccdd533be6932e2e4fc3660cb472791194523a
---
gnu/packages/emulators.scm | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 0eafc3df9e..15fdc163ec 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -571,7 +571,7 @@ (define-public dosbox-staging
;; This is not a patch staging area for DOSBox, but an unaffiliated fork.
(package
(name "dosbox-staging")
- (version "0.81.0")
+ (version "0.82.0")
(source
(origin
(method git-fetch)
@@ -580,32 +580,23 @@ (define-public dosbox-staging
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fkshxaq12pd72v8m2f3a6d6jk9gh39hn0846gfkfinvw7yykzrl"))))
+ (base32 "1s4c6fiyjm91dnmkval9fvsqszc6yjq5b6pq895xi606dn29b85d"))))
(build-system meson-build-system)
(arguments
- (list #:configure-flags
- #~(list
- ;; These both try to git clone subprojects.
- "-Dunit_tests=disabled" ; gtest
- "-Duse_mt32emu=false")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-includes
- (lambda _
- ;; This unnecessary file has an encoding error.
- (delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h")
- (substitute* (find-files "." "\\.(cpp|h)")
- (("^(#[[:space:]]*include <)(SDL[_.])" _ include file)
- (string-append include "SDL2/" file))))))))
+ ;; The tests expect a traditional directory layout.
+ ;; TODO: find a way to "pick out" the bad test(s).
+ (list #:tests? #f))
(native-inputs
(list pkg-config))
(inputs
(list alsa-lib
fluidsynth
+ googletest
iir
libpng
libslirp
mesa
+ mt32emu
opusfile
sdl2
sdl2-image
--
2.48.1
宋文武 wrote 7 days ago
(name . Andrew Wong)(address . wongandj@icloud.com)
874j07ly6z.fsf@envs.net
Andrew Wong <wongandj@icloud.com> writes:

Toggle quote (4 lines)
> * gnu/packages/emulators.scm (dosbox-staging): Update to 0.82.0.
> [arguments]: Enable MT-32 emulation.
> [inputs]: Add mt32emu, googletest.

Pushed to master, with skip-failing-tests phase added, thanks.
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 76719@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 76719
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help