Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: dosbox-staging-0.77.0
@ 2021-06-02  9:48 joshuakraemer
  2021-06-02  9:56 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: joshuakraemer @ 2021-06-02  9:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2419 bytes --]

There is a new pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3799 bytes --]

From baa32401fddab63ed40510b6ebba2aa76396efd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..bef13f3f5896
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,14 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=649a428dc368cc03b1cfa608faeae7b5b9290581
+revision=1
+build_style=meson
+hostmakedepends="pkg-config ccache"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel opusfile-devel fluidsynth-devel libmt32emu-devel libatomic-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/${version}.tar.gz"
+checksum=70df4b3544addb825271c4541c0023d405ef8786f496700c3c8b19a3ca40a40b
+conflicts="dosbox"

From 2ca25fbe67c129fd706fa7a4ac1ba5d204374249 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.0

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 2485880dfe80..5d8728a758c9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4006,3 +4006,4 @@ libbasu.so.0 basu-0.2.0_1
 libXcomp.so.3 nx-libs-3.5.99.24_1
 libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
+libmt32emu.so.2 libmt32emu-2.5.0_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..6e1ce27a6e32
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,32 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.0
+revision=1
+wrksrc=munt-libmt32emu_2_5_0
+build_wrksrc=mt32emu
+build_style=cmake
+configure_args="-DCMAKE_BUILD_TYPE:STRING=Release"
+makedepends="$(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate the Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_2_5_0.tar.gz"
+checksum=eb43864c002acedc42b304e1500f682c871ef8dabd8b5cbe492ec314a226f231
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"; fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} $(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
@ 2021-06-02  9:56 ` joshuakraemer
  2021-06-02 11:51 ` joshuakraemer
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-06-02  9:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3795 bytes --]

From baa32401fddab63ed40510b6ebba2aa76396efd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..bef13f3f5896
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,14 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=649a428dc368cc03b1cfa608faeae7b5b9290581
+revision=1
+build_style=meson
+hostmakedepends="pkg-config ccache"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel opusfile-devel fluidsynth-devel libmt32emu-devel libatomic-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/${version}.tar.gz"
+checksum=70df4b3544addb825271c4541c0023d405ef8786f496700c3c8b19a3ca40a40b
+conflicts="dosbox"

From d645be45e30f6f6b8b982c065d00e25658aa1add Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.0

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 2485880dfe80..5d8728a758c9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4006,3 +4006,4 @@ libbasu.so.0 basu-0.2.0_1
 libXcomp.so.3 nx-libs-3.5.99.24_1
 libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
+libmt32emu.so.2 libmt32emu-2.5.0_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..1f6f15571513
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,32 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.0
+revision=1
+wrksrc=munt-libmt32emu_2_5_0
+build_wrksrc=mt32emu
+build_style=cmake
+configure_args="-DCMAKE_BUILD_TYPE:STRING=Release"
+makedepends="$(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_2_5_0.tar.gz"
+checksum=eb43864c002acedc42b304e1500f682c871ef8dabd8b5cbe492ec314a226f231
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"; fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} $(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
  2021-06-02  9:56 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-06-02 11:51 ` joshuakraemer
  2021-06-02 20:03 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-06-02 11:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 298 bytes --]

New comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#issuecomment-852962205

Comment:
Build fails with musl because the wrong strerror_r() variant is used. Upstream bug report: https://github.com/dosbox-staging/dosbox-staging/issues/1047

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
  2021-06-02  9:56 ` [PR PATCH] [Updated] " joshuakraemer
  2021-06-02 11:51 ` joshuakraemer
@ 2021-06-02 20:03 ` joshuakraemer
  2021-06-02 21:21 ` kcgen
                   ` (22 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-06-02 20:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3795 bytes --]

From c2d5e3960664ba13b3bf505ad8d7cb018dbb14a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..c001454d46f9
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,14 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=baa4754b2f0d577057e9182697bce1a6939a6739
+revision=1
+build_style=meson
+hostmakedepends="pkg-config ccache"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel opusfile-devel fluidsynth-devel libmt32emu-devel libatomic-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/${version}.tar.gz"
+checksum=e41e50ec2c3269234204fd3c2355fa9b6f3e4755b76008ce75d6405e9c9f0d1d
+conflicts="dosbox"

From 8c729ee0eea0677dfdc45d7e320d4dd63eb75f5e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.0

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 2485880dfe80..5d8728a758c9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4006,3 +4006,4 @@ libbasu.so.0 basu-0.2.0_1
 libXcomp.so.3 nx-libs-3.5.99.24_1
 libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
+libmt32emu.so.2 libmt32emu-2.5.0_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..1f6f15571513
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,32 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.0
+revision=1
+wrksrc=munt-libmt32emu_2_5_0
+build_wrksrc=mt32emu
+build_style=cmake
+configure_args="-DCMAKE_BUILD_TYPE:STRING=Release"
+makedepends="$(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_2_5_0.tar.gz"
+checksum=eb43864c002acedc42b304e1500f682c871ef8dabd8b5cbe492ec314a226f231
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"; fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} $(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (2 preceding siblings ...)
  2021-06-02 20:03 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-06-02 21:21 ` kcgen
  2021-06-02 21:22 ` kcgen
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: kcgen @ 2021-06-02 21:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1064 bytes --]

New comment by kcgen on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#issuecomment-853391106

Comment:
> The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

I highly recommend it across the board.  Floats are already 32-bits - which gives you 2^16 times finer resolution to quantify an amplitude level versus CD-quality 16-bit sound.

Even 24-bit audio is considered sufficient for professional-grade studio work. Leaving this as a double means samples are a whopping 64-bit; which is.. vastly overkill.   

The other benefit of 32-bit floats (versus full-doubles) is that SIMD'able operations can pack twice the data into a single operation, which can make  difference on CPU limited hardware like the Pi 2 and 3.  I make these two points in another thread and FluidSynth's author was also in agreement -  but can't remember where now. 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (3 preceding siblings ...)
  2021-06-02 21:21 ` kcgen
@ 2021-06-02 21:22 ` kcgen
  2021-07-15 20:56 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: kcgen @ 2021-06-02 21:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1064 bytes --]

New comment by kcgen on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#issuecomment-853391106

Comment:
> The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

I highly recommend it across the board.  Floats are already 32-bits - which gives you 2^16 times finer resolution to quantify an amplitude level versus CD-quality 16-bit sound.

Even 24-bit audio is considered sufficient for professional-grade studio work. Leaving this as a double means samples are a whopping 64-bit; which is.. vastly overkill.   

The other benefit of 32-bit floats (versus full-doubles) is that SIMD'able operations can pack twice the data into a single operation, which can make  difference on CPU limited hardware like the Pi 2 and 3.  I made these two points in another thread and FluidSynth's author was also in agreement -  but can't remember where now. 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (4 preceding siblings ...)
  2021-06-02 21:22 ` kcgen
@ 2021-07-15 20:56 ` joshuakraemer
  2021-07-15 21:05 ` joshuakraemer
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-15 20:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3769 bytes --]

From c1f360dda808f7dc9138e64277bedfe23cca0be3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..9ae75ab63d46
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,14 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config ccache"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel opusfile-devel fluidsynth-devel libmt32emu-devel libatomic-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"

From 8cd2da54ba4750005888cbb91d6a39926c5efe11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 2485880dfe80..909c75f0e121 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4006,3 +4006,4 @@ libbasu.so.0 basu-0.2.0_1
 libXcomp.so.3 nx-libs-3.5.99.24_1
 libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..1b66f2a2fe27
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,32 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"; fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} $(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (5 preceding siblings ...)
  2021-07-15 20:56 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-07-15 21:05 ` joshuakraemer
  2021-07-16 15:28 ` [PR REVIEW] " ericonr
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-15 21:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3769 bytes --]

From e5c1986aa265eeb08daad54f077a90dd37f2db4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..9ae75ab63d46
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,14 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config ccache"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel opusfile-devel fluidsynth-devel libmt32emu-devel libatomic-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"

From e1ad7c8fd1997f1e7e5f7b408ea9b96948b372f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 9df122c0edfe..5c328cc05b25 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4018,3 +4018,4 @@ libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
 librnnoise.so.0 rnnoise-0.4.1_1
 liblhasa.so.0 lhasa-0.3.1_2
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..1b66f2a2fe27
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,32 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"; fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} $(vopt_if libsoxr libsoxr-devel) $(vopt_if libsamplerate libsamplerate-devel)"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (6 preceding siblings ...)
  2021-07-15 21:05 ` joshuakraemer
@ 2021-07-16 15:28 ` ericonr
  2021-07-16 15:28 ` ericonr
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 280 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671341476

Comment:
Please create a new line at ~80 columns.

Is `libatomic` always necessary or only for `XBPS_TARGET_NO_ATOMIC8` archs (like armv6l)?

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (7 preceding siblings ...)
  2021-07-16 15:28 ` [PR REVIEW] " ericonr
@ 2021-07-16 15:28 ` ericonr
  2021-07-16 15:28 ` ericonr
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 212 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671342814

Comment:
Everything after `then` should be a new line, and so should `fi`.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (8 preceding siblings ...)
  2021-07-16 15:28 ` ericonr
@ 2021-07-16 15:28 ` ericonr
  2021-07-16 15:28 ` ericonr
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 214 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671341745

Comment:
`ccache` is always available in the chroot, don't install manually.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (9 preceding siblings ...)
  2021-07-16 15:28 ` ericonr
@ 2021-07-16 15:28 ` ericonr
  2021-07-16 17:00 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 229 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671343017

Comment:
```suggestion
	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
```

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (10 preceding siblings ...)
  2021-07-16 15:28 ` ericonr
@ 2021-07-16 17:00 ` joshuakraemer
  2021-07-16 17:00 ` [PR REVIEW] " joshuakraemer
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 17:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3783 bytes --]

From 30825b2e533a507238373fcda210fc86755f62d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..fc68f8562f37
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,19 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel
+ opusfile-devel fluidsynth-devel libmt32emu-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+fi

From 776851f0924a6631510c8bb963ba36e2796da6c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 9df122c0edfe..5c328cc05b25 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4018,3 +4018,4 @@ libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
 librnnoise.so.0 rnnoise-0.4.1_1
 liblhasa.so.0 lhasa-0.3.1_2
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..9ffe955d78c1
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,37 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel)
+ $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer
+ modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then
+	configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"
+fi
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (11 preceding siblings ...)
  2021-07-16 17:00 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-07-16 17:00 ` joshuakraemer
  2021-07-16 17:01 ` joshuakraemer
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 17:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 203 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671401583

Comment:
Done and check for `XBPS_TARGET_NO_ATOMIC8` added.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (12 preceding siblings ...)
  2021-07-16 17:00 ` [PR REVIEW] " joshuakraemer
@ 2021-07-16 17:01 ` joshuakraemer
  2021-07-16 17:02 ` joshuakraemer
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 17:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671401792

Comment:
Done.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (13 preceding siblings ...)
  2021-07-16 17:01 ` joshuakraemer
@ 2021-07-16 17:02 ` joshuakraemer
  2021-07-16 17:03 ` joshuakraemer
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 17:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671402494

Comment:
Done.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (14 preceding siblings ...)
  2021-07-16 17:02 ` joshuakraemer
@ 2021-07-16 17:03 ` joshuakraemer
  2021-07-16 17:58 ` ericonr
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 17:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671402802

Comment:
Done.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (15 preceding siblings ...)
  2021-07-16 17:03 ` joshuakraemer
@ 2021-07-16 17:58 ` ericonr
  2021-07-16 18:21 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 17:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 594 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#issuecomment-881621357

Comment:
```
Files of libmt32emu:
/usr/lib/libmt32emu.so.2.5.1
/usr/share/doc/munt/libmt32emu/AUTHORS.txt
/usr/share/doc/munt/libmt32emu/COPYING.LESSER.txt
/usr/share/doc/munt/libmt32emu/COPYING.txt
/usr/share/doc/munt/libmt32emu/NEWS.txt
/usr/share/doc/munt/libmt32emu/README.md
/usr/share/doc/munt/libmt32emu/TODO.txt
/usr/lib/libmt32emu.so.2 -> /usr/lib/libmt32emu.so.2.5.1
```

I think the files under `/usr/share/doc` can be removed, can't they?

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (16 preceding siblings ...)
  2021-07-16 17:58 ` ericonr
@ 2021-07-16 18:21 ` joshuakraemer
  2021-07-16 20:15 ` [PR REVIEW] " ericonr
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 18:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3840 bytes --]

From 30825b2e533a507238373fcda210fc86755f62d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..fc68f8562f37
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,19 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel
+ opusfile-devel fluidsynth-devel libmt32emu-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+fi

From 282be11cdf777d527bfab29ecf397763a61b8686 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 41 +++++++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 9df122c0edfe..5c328cc05b25 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4018,3 +4018,4 @@ libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
 librnnoise.so.0 rnnoise-0.4.1_1
 liblhasa.so.0 lhasa-0.3.1_2
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..ee87f6f6d73b
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,41 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel)
+ $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Library to emulate Roland MT-32, CM-32L and LAPC-I synthesizer
+ modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then
+	configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"
+fi
+
+post_install() {
+	rm -rf ${DESTDIR}/usr/share/doc
+}
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (17 preceding siblings ...)
  2021-07-16 18:21 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-07-16 20:15 ` ericonr
  2021-07-16 20:16 ` ericonr
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 20:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 209 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671502592

Comment:
Use `-r` so we get an error if they stop installing the files.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (18 preceding siblings ...)
  2021-07-16 20:15 ` [PR REVIEW] " ericonr
@ 2021-07-16 20:16 ` ericonr
  2021-07-16 20:41 ` [PR PATCH] [Updated] " joshuakraemer
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-16 20:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671502955

Comment:
```suggestion
short_desc="Emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
```

If `short_desc` is big enough to need to be split, it should be cut down instead :)

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (19 preceding siblings ...)
  2021-07-16 20:16 ` ericonr
@ 2021-07-16 20:41 ` joshuakraemer
  2021-07-16 20:42 ` [PR REVIEW] " joshuakraemer
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 20:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2424 bytes --]

There is an updated pull request by joshuakraemer against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3826 bytes --]

From 30825b2e533a507238373fcda210fc86755f62d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 1/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..fc68f8562f37
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,19 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel
+ opusfile-devel fluidsynth-devel libmt32emu-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+fi

From ea3b8202075d72876c23dbf6364cbf55ea3a1448 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 2/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 40 +++++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 9df122c0edfe..5c328cc05b25 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4018,3 +4018,4 @@ libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
 librnnoise.so.0 rnnoise-0.4.1_1
 liblhasa.so.0 lhasa-0.3.1_2
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..12df672189de
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,40 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel)
+ $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then
+	configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"
+fi
+
+post_install() {
+	rm -r ${DESTDIR}/usr/share/doc
+}
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (20 preceding siblings ...)
  2021-07-16 20:41 ` [PR PATCH] [Updated] " joshuakraemer
@ 2021-07-16 20:42 ` joshuakraemer
  2021-07-16 20:42 ` joshuakraemer
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 20:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 157 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671514836

Comment:
Done

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR REVIEW] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (21 preceding siblings ...)
  2021-07-16 20:42 ` [PR REVIEW] " joshuakraemer
@ 2021-07-16 20:42 ` joshuakraemer
  2021-07-17  2:14 ` [PR PATCH] [Updated] " ericonr
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 27+ messages in thread
From: joshuakraemer @ 2021-07-16 20:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 157 bytes --]

New review comment by joshuakraemer on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#discussion_r671514935

Comment:
Done

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Updated] New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (22 preceding siblings ...)
  2021-07-16 20:42 ` joshuakraemer
@ 2021-07-17  2:14 ` ericonr
  2021-07-17  2:15 ` ericonr
  2021-07-17  2:15 ` [PR PATCH] [Merged]: " ericonr
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-17  2:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/joshuakraemer/void-packages dosbox-staging
https://github.com/void-linux/void-packages/pull/31258

New package: dosbox-staging-0.77.0
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

A patch file from https://github.com/void-linux/void-packages/pull/31258.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-dosbox-staging-31258.patch --]
[-- Type: text/x-diff, Size: 3826 bytes --]

From 1902232de8ca96cea6b22e67c745394b14c89408 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 23:04:49 +0200
Subject: [PATCH 1/2] New package: libmt32emu-2.5.1

---
 common/shlibs               |  1 +
 srcpkgs/libmt32emu-devel    |  1 +
 srcpkgs/libmt32emu/template | 40 +++++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 120000 srcpkgs/libmt32emu-devel
 create mode 100644 srcpkgs/libmt32emu/template

diff --git a/common/shlibs b/common/shlibs
index 6377f40613a8..648850623953 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4019,3 +4019,4 @@ libXcompshad.so.3 nx-libs-3.5.99.24_1
 libNX_X11.so.6 nx-libs-3.5.99.24_1
 librnnoise.so.0 rnnoise-0.4.1_1
 liblhasa.so.0 lhasa-0.3.1_2
+libmt32emu.so.2 libmt32emu-2.5.1_1
diff --git a/srcpkgs/libmt32emu-devel b/srcpkgs/libmt32emu-devel
new file mode 120000
index 000000000000..b427be42b324
--- /dev/null
+++ b/srcpkgs/libmt32emu-devel
@@ -0,0 +1 @@
+libmt32emu
\ No newline at end of file
diff --git a/srcpkgs/libmt32emu/template b/srcpkgs/libmt32emu/template
new file mode 100644
index 000000000000..12df672189de
--- /dev/null
+++ b/srcpkgs/libmt32emu/template
@@ -0,0 +1,40 @@
+# Template file for 'libmt32emu'
+pkgname=libmt32emu
+version=2.5.1
+revision=1
+_version_string=${version//./_}
+wrksrc=munt-libmt32emu_${_version_string}
+build_wrksrc=mt32emu
+build_style=cmake
+makedepends="$(vopt_if libsoxr libsoxr-devel)
+ $(vopt_if libsamplerate libsamplerate-devel)"
+short_desc="Emulate Roland MT-32, CM-32L and LAPC-I synthesizer modules"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="LGPL-2.1-or-later"
+homepage="http://munt.sourceforge.net"
+distfiles="https://github.com/munt/munt/archive/libmt32emu_${_version_string}.tar.gz"
+checksum=684988ab4d2b103554d9a38ad556cebc3ebc28d1d8fbb49fb4808ec9c80a2bf4
+
+build_options="libsoxr libsamplerate"
+desc_option_libsoxr="Use libsoxr for sample rate conversion"
+desc_option_libsamplerate="Use libsamplerate for sample rate conversion"
+build_options_default="libsoxr"
+vopt_conflict libsoxr libsamplerate
+
+if [ "$build_option_libsoxr" -o "$build_option_libsamplerate" ]; then
+	configure_args+=" -Dlibmt32emu_WITH_INTERNAL_RESAMPLER=off"
+fi
+
+post_install() {
+	rm -r ${DESTDIR}/usr/share/doc
+}
+
+libmt32emu-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}

From 0c0c8b9dc859b470e2a22694287e8c21dde3e61d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joshua=20Kr=C3=A4mer?= <joshua@kraemer.link>
Date: Thu, 20 May 2021 16:57:20 +0200
Subject: [PATCH 2/2] New package: dosbox-staging-0.77.0

---
 srcpkgs/dosbox-staging/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/dosbox-staging/template

diff --git a/srcpkgs/dosbox-staging/template b/srcpkgs/dosbox-staging/template
new file mode 100644
index 000000000000..fc68f8562f37
--- /dev/null
+++ b/srcpkgs/dosbox-staging/template
@@ -0,0 +1,19 @@
+# Template file for 'dosbox-staging'
+pkgname=dosbox-staging
+version=0.77.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config"
+makedepends="alsa-lib-devel libpng-devel SDL2-devel SDL2_net-devel
+ opusfile-devel fluidsynth-devel libmt32emu-devel"
+short_desc="DOS/x86 emulator focusing on ease of use"
+maintainer="Joshua Krämer <joshua@kraemer.link>"
+license="GPL-2.0-or-later"
+homepage="https://dosbox-staging.github.io"
+distfiles="https://github.com/dosbox-staging/dosbox-staging/archive/v${version}.tar.gz"
+checksum=85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986
+conflicts="dosbox"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+fi

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (23 preceding siblings ...)
  2021-07-17  2:14 ` [PR PATCH] [Updated] " ericonr
@ 2021-07-17  2:15 ` ericonr
  2021-07-17  2:15 ` [PR PATCH] [Merged]: " ericonr
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-17  2:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/31258#issuecomment-881800447

Comment:
Re-ordered commits for logical order (first dependency, then dosbox).

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR PATCH] [Merged]: New package: dosbox-staging-0.77.0
  2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
                   ` (24 preceding siblings ...)
  2021-07-17  2:15 ` ericonr
@ 2021-07-17  2:15 ` ericonr
  25 siblings, 0 replies; 27+ messages in thread
From: ericonr @ 2021-07-17  2:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2249 bytes --]

There's a merged pull request on the void-packages repository

New package: dosbox-staging-0.77.0
https://github.com/void-linux/void-packages/pull/31258

Description:
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

This is a draft based on a current git snapshot, because DOSBox Staging 0.77.0 has not been released yet.

@kcgen wrote (https://github.com/joshuakraemer/void-packages/commit/2d0e6a7ee8328c8210c8ed272dc38dd8317296ff#commitcomment-51084600):
> @joshuakraemer, looks good!
> 
> I realize this is using the `master` branch right now until we can wrap up 0.77. In the meantime, regarding: `-Duse_mt32emu=false`, can you try removing that? Meson should be able to build it internally based on its wrap. There should be no copyright concerns, as users must provide their own ROMs for this feature.

Thank you for your comments. I have added libmt32emu as a separate package, and successfully tested MT-32 emulation.

> Also, there might be more configuration options needed to ensure an optimized binary is built. Here's what I use:
> 
> ```shell
> -Dbuildtype=release \
> -Dc_args=-Ofast \
> -Dcpp_args=-Ofast \
> -Db_asneeded=true -Dstrip=true \
> -Ddefault_library=static \
> -Dfluidsynth:enable-floats=true \
> -Dfluidsynth:try-static-deps=true 
> ```
> 
> Perhaps the static settings could be dropped depending on what void Linux prefers.
> I personally want to ensure that FluidSynth is compiled with the same optimization level (and uses our highly stripped down FluidSynth configuration) to ensure good performance on some of my CPU-limited platforms.

Void's build options for meson packages are specified in https://github.com/void-linux/void-packages/blob/master/common/build-style/meson.sh (using -O2 from the CFLAGS environment variable). The enable-floats option could probably be added to Void's FluidSynth package (https://github.com/void-linux/void-packages/blob/master/srcpkgs/fluidsynth/template), but I do not know if it would be a suitable default outside of DosBox.

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2021-07-17  2:15 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02  9:48 [PR PATCH] New package: dosbox-staging-0.77.0 joshuakraemer
2021-06-02  9:56 ` [PR PATCH] [Updated] " joshuakraemer
2021-06-02 11:51 ` joshuakraemer
2021-06-02 20:03 ` [PR PATCH] [Updated] " joshuakraemer
2021-06-02 21:21 ` kcgen
2021-06-02 21:22 ` kcgen
2021-07-15 20:56 ` [PR PATCH] [Updated] " joshuakraemer
2021-07-15 21:05 ` joshuakraemer
2021-07-16 15:28 ` [PR REVIEW] " ericonr
2021-07-16 15:28 ` ericonr
2021-07-16 15:28 ` ericonr
2021-07-16 15:28 ` ericonr
2021-07-16 17:00 ` [PR PATCH] [Updated] " joshuakraemer
2021-07-16 17:00 ` [PR REVIEW] " joshuakraemer
2021-07-16 17:01 ` joshuakraemer
2021-07-16 17:02 ` joshuakraemer
2021-07-16 17:03 ` joshuakraemer
2021-07-16 17:58 ` ericonr
2021-07-16 18:21 ` [PR PATCH] [Updated] " joshuakraemer
2021-07-16 20:15 ` [PR REVIEW] " ericonr
2021-07-16 20:16 ` ericonr
2021-07-16 20:41 ` [PR PATCH] [Updated] " joshuakraemer
2021-07-16 20:42 ` [PR REVIEW] " joshuakraemer
2021-07-16 20:42 ` joshuakraemer
2021-07-17  2:14 ` [PR PATCH] [Updated] " ericonr
2021-07-17  2:15 ` ericonr
2021-07-17  2:15 ` [PR PATCH] [Merged]: " ericonr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).