aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libmad
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libmad
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libmad')
-rw-r--r--vcpkg/ports/libmad/portfile.cmake44
-rw-r--r--vcpkg/ports/libmad/vcpkg.json29
2 files changed, 73 insertions, 0 deletions
diff --git a/vcpkg/ports/libmad/portfile.cmake b/vcpkg/ports/libmad/portfile.cmake
new file mode 100644
index 0000000..7dcb435
--- /dev/null
+++ b/vcpkg/ports/libmad/portfile.cmake
@@ -0,0 +1,44 @@
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_download_distfile(
+ ARCHIVE
+ URLS "https://codeberg.org/tenacityteam/libmad/releases/download/${VERSION}/libmad-${VERSION}.tar.gz"
+ FILENAME "tenacityteam-libmad-${VERSION}.tar.gz"
+ SHA512 5b0a826408395e8b6b8a33953401355d6c2f1b33ec5085530b4ac8a538c39ffa903ce2e6845e9dcad73936933078959960b2f3fbba11ae091fda5bc5ee310df5
+)
+
+vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}")
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ aso ASO
+)
+
+set(EXTRA_OPTIONS)
+
+# Avoid architecture-specific assembly when targeting WASM. The upstream
+# CMakeLists incorrectly recognizes the CPU as an Intel/64-bit CPU, therefore
+# we have to override these flags:
+# https://codeberg.org/tenacityteam/libmad/src/commit/84ba587793d61caadf6d1f6c0d94c3e165874a50/CMakeLists.txt
+if(VCPKG_TARGET_IS_EMSCRIPTEN)
+ list(APPEND EXTRA_OPTIONS "-DFPM_64BIT=OFF -DFPM_INTEL=OFF -DFPM_DEFAULT=ON")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ ${EXTRA_OPTIONS}
+ -DEXAMPLE=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mad" CONFIG_PATH "lib/cmake/mad")
+vcpkg_fixup_pkgconfig()
+vcpkg_copy_pdbs()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
diff --git a/vcpkg/ports/libmad/vcpkg.json b/vcpkg/ports/libmad/vcpkg.json
new file mode 100644
index 0000000..0a61179
--- /dev/null
+++ b/vcpkg/ports/libmad/vcpkg.json
@@ -0,0 +1,29 @@
+{
+ "name": "libmad",
+ "version": "0.16.4",
+ "port-version": 4,
+ "description": "high-quality MPEG audio decoder",
+ "homepage": "https://codeberg.org/tenacityteam/libmad",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "default-features": [
+ {
+ "name": "aso",
+ "platform": "x86 | x64 | arm"
+ }
+ ],
+ "features": {
+ "aso": {
+ "description": "Enable CPU architecture-specific optimizations (x86, ARM and MIPS only)",
+ "supports": "x86 | x64 | arm"
+ }
+ }
+}