git: 24e43fc03c92 - main - devel/libmt32emu: New port: Emulate Roland MT-32, CM-32L and LAPC-I synthesiser modules
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 06 May 2026 21:12:02 UTC
The branch main has been updated by makc:
URL: https://cgit.FreeBSD.org/ports/commit/?id=24e43fc03c927b6ca4bc0f0b6da2ef77373ef68a
commit 24e43fc03c927b6ca4bc0f0b6da2ef77373ef68a
Author: Stefan Schlosser <bsdcode@disroot.org>
AuthorDate: 2026-05-06 20:30:06 +0000
Commit: Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2026-05-06 21:09:47 +0000
devel/libmt32emu: New port: Emulate Roland MT-32, CM-32L and LAPC-I synthesiser modules
mt32emu is part of the Munt project. It represents a C/C++ library named
libmt32emu which allows to emulate (approximately) the Roland MT-32, CM-32L and
LAPC-I synthesiser modules.
WWW: https://munt.sourceforge.net
PR: 284634
Co-authored-by: Max Brazhnikov <makc@FreeBSD.org>
---
emulators/Makefile | 1 +
emulators/libmt32emu/Makefile | 45 ++++++++++++++++++++++
emulators/libmt32emu/distinfo | 3 ++
emulators/libmt32emu/files/patch-CMakeLists.txt | 11 ++++++
.../files/patch-cmake_project__data.cmake | 9 +++++
emulators/libmt32emu/pkg-descr | 3 ++
emulators/libmt32emu/pkg-plist | 29 ++++++++++++++
7 files changed, 101 insertions(+)
diff --git a/emulators/Makefile b/emulators/Makefile
index 33ea84db8440..52250ab31c97 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -62,6 +62,7 @@
SUBDIR += lib765
SUBDIR += libc6-shim
SUBDIR += libdsk
+ SUBDIR += libmt32emu
SUBDIR += libretro-bsnes
SUBDIR += libretro-flycast
SUBDIR += libretro-kronos
diff --git a/emulators/libmt32emu/Makefile b/emulators/libmt32emu/Makefile
new file mode 100644
index 000000000000..a3b2cd6a24e1
--- /dev/null
+++ b/emulators/libmt32emu/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= libmt32emu
+DISTVERSION= 2_7_3
+CATEGORIES= emulators
+
+MAINTAINER= bsdcode@disroot.org
+COMMENT= Emulate Roland MT-32, CM-32L and LAPC-I synthesiser modules
+WWW= https://munt.sourceforge.net
+
+LICENSE= LGPL21+
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER.txt
+
+USES= cmake pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= munt
+GH_PROJECT= munt
+GH_TAGNAME= ${PORTNAME}_${DISTVERSION}
+
+USE_LDCONFIG= yes
+
+EXTRACT_AFTER_ARGS= --include ${GH_PROJECT}-${GH_TAGNAME}/mt32emu \
+ --no-same-owner --no-same-permissions
+
+WRKSRC_SUBDIR= mt32emu
+
+PLIST_SUB= SOVERSION=${PORTVERSION}
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_DEFAULT= LIBSOXR
+OPTIONS_RADIO= RESAMPLER
+OPTIONS_RADIO_RESAMPLER= INTERNAL LIBSAMPLERATE LIBSOXR
+
+INTERNAL_DESC= Built-in samplerate conversion
+LIBSAMPLERATE_DESC= Build with libsamplerate support
+LIBSOXR_DESC= Build with libsoxr support
+
+INTERNAL_CMAKE_BOOL= libmt32emu_WITH_INTERNAL_RESAMPLER
+
+LIBSAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
+LIBSAMPLERATE_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_SampleRate
+
+LIBSOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
+LIBSOXR_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_SOXR
+
+.include <bsd.port.mk>
diff --git a/emulators/libmt32emu/distinfo b/emulators/libmt32emu/distinfo
new file mode 100644
index 000000000000..8dbe24755a5e
--- /dev/null
+++ b/emulators/libmt32emu/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1774724704
+SHA256 (munt-munt-2_7_3-libmt32emu_2_7_3_GH0.tar.gz) = e51f3475771c9d07116e6cb5ae2e095ef3b11b3107d92c01d3a1dc03be13ff98
+SIZE (munt-munt-2_7_3-libmt32emu_2_7_3_GH0.tar.gz) = 583979
diff --git a/emulators/libmt32emu/files/patch-CMakeLists.txt b/emulators/libmt32emu/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..dfbaa79d5af3
--- /dev/null
+++ b/emulators/libmt32emu/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2025-12-26 14:07:56 UTC
++++ CMakeLists.txt
+@@ -378,7 +378,7 @@ install(FILES
+
+ install(FILES
+ AUTHORS.txt COPYING.txt COPYING.LESSER.txt NEWS.txt README.md TODO.txt
+- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/munt/${PROJECT_NAME}
++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}
+ )
+
+ # Facilitates usage of the library in another project either through
diff --git a/emulators/libmt32emu/files/patch-cmake_project__data.cmake b/emulators/libmt32emu/files/patch-cmake_project__data.cmake
new file mode 100644
index 000000000000..5b7082bf0be0
--- /dev/null
+++ b/emulators/libmt32emu/files/patch-cmake_project__data.cmake
@@ -0,0 +1,9 @@
+--- cmake/project_data.cmake.orig 2025-12-26 14:07:56 UTC
++++ cmake/project_data.cmake
+@@ -4,5 +4,5 @@ set(libmt32emu_VERSION_MINOR 7)
+
+ set(libmt32emu_VERSION_MAJOR 2)
+ set(libmt32emu_VERSION_MINOR 7)
+-set(libmt32emu_VERSION_PATCH 2)
++set(libmt32emu_VERSION_PATCH 3)
+ set(libmt32emu_VERSION "${libmt32emu_VERSION_MAJOR}.${libmt32emu_VERSION_MINOR}.${libmt32emu_VERSION_PATCH}")
diff --git a/emulators/libmt32emu/pkg-descr b/emulators/libmt32emu/pkg-descr
new file mode 100644
index 000000000000..56444aece72e
--- /dev/null
+++ b/emulators/libmt32emu/pkg-descr
@@ -0,0 +1,3 @@
+mt32emu is part of the Munt project. It represents a C/C++ library named
+libmt32emu which allows to emulate (approximately) the Roland MT-32, CM-32L and
+LAPC-I synthesiser modules.
diff --git a/emulators/libmt32emu/pkg-plist b/emulators/libmt32emu/pkg-plist
new file mode 100644
index 000000000000..d98704fd8913
--- /dev/null
+++ b/emulators/libmt32emu/pkg-plist
@@ -0,0 +1,29 @@
+include/mt32emu.h
+include/mt32emu/Enumerations.h
+include/mt32emu/File.h
+include/mt32emu/FileStream.h
+include/mt32emu/MidiStreamParser.h
+include/mt32emu/ROMInfo.h
+include/mt32emu/SampleRateConverter.h
+include/mt32emu/Synth.h
+include/mt32emu/Types.h
+include/mt32emu/c_interface/c_interface.h
+include/mt32emu/c_interface/c_types.h
+include/mt32emu/c_interface/cpp_interface.h
+include/mt32emu/config.h
+include/mt32emu/globals.h
+include/mt32emu/mt32emu.h
+lib/cmake/MT32Emu/MT32EmuConfig.cmake
+lib/cmake/MT32Emu/MT32EmuConfigVersion.cmake
+lib/cmake/MT32Emu/MT32EmuTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/MT32Emu/MT32EmuTargets.cmake
+lib/libmt32emu.so
+lib/libmt32emu.so.2
+lib/libmt32emu.so.%%SOVERSION%%
+libdata/pkgconfig/mt32emu.pc
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS.txt
+%%PORTDOCS%%%%DOCSDIR%%/COPYING.LESSER.txt
+%%PORTDOCS%%%%DOCSDIR%%/COPYING.txt
+%%PORTDOCS%%%%DOCSDIR%%/NEWS.txt
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/TODO.txt