Files
haikuports/media-sound/musikcube/musikcube-3.0.0.recipe
Alexander von Gluck 47ea51f320 cmake/meson: Mass fix packages with broken debuginfo (#12822)
* cmake/debuginfo: Mass fix packages with broken debuginfo

* rtl_sdr: Fix trailing whitespace

* meson/debuginfo: Mass fix packages with broken debuginfo

* clean up conflicts

---------

Co-authored-by: Luc Schrijvers <begasus@gmail.com>
2026-01-07 17:36:21 +01:00

143 lines
4.5 KiB
Bash

SUMMARY="Terminal-based music player, audio engine, metadata indexer, server"
DESCRIPTION="musikcube is a fully functional terminal-based music player, \
library, and streaming audio server that runs natively on Windows, macOS, and \
Linux. it also runs well on a Raspberry Pi with a custom DAC (e.g. IQaudIO \
DAC+, HiFiBerry DAC+ and others), and can output 24bit/192k audio comfortably."
HOMEPAGE="https://musikcube.com/"
COPYRIGHT="2004-2021 musikcube team"
LICENSE="BSD (3-clause)"
REVISION="3"
SOURCE_URI="https://github.com/clangen/musikcube/archive/refs/tags/$portVersion.tar.gz"
CHECKSUM_SHA256="b857980c214f86f17cc288eda4562b51683cd42a843a4a4d8d8e60169cf87345"
srcGitRev_2="f693a3eb7fe72a5f19b975289afc4f437d373d9c"
SOURCE_URI_2="https://github.com/chriskohlhoff/asio/archive/$srcGitRev_2.zip"
CHECKSUM_SHA256_2="e597dec8e485f42bd555e05578bde1928db6596e609110c2220e5a275d94ad11"
SOURCE_DIR_2="asio-$srcGitRev_2"
PATCHES="musikcube-$portVersion.patchset"
ARCHITECTURES="all ?x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
musikcube$secondaryArchSuffix = $portVersion
cmd:musikcube$commandSuffix = $portVersion
cmd:musikcubed$commandSuffix = $portVersion
lib:libmusikcore$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libev$secondaryArchSuffix
lib:libgme$secondaryArchSuffix
lib:libmicrohttpd$secondaryArchSuffix
lib:libmp3lame$secondaryArchSuffix
lib:libmpg123$secondaryArchSuffix
lib:libncursesw$secondaryArchSuffix
lib:libopenmpt$secondaryArchSuffix
lib:libpanelw$secondaryArchSuffix
lib:libportaudio$secondaryArchSuffix
lib:libswresample$secondaryArchSuffix
lib:libtag$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
musikcube${secondaryArchSuffix}_devel = $portVersion
devel:libmusikcore$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
musikcube${secondaryArchSuffix} == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libavcodec$secondaryArchSuffix
devel:libavformat$secondaryArchSuffix
devel:libavutil$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix >= 3
devel:libcurl$secondaryArchSuffix
devel:libev$secondaryArchSuffix
devel:libgme$secondaryArchSuffix
devel:libmicrohttpd$secondaryArchSuffix
devel:libmp3lame$secondaryArchSuffix
devel:libmpg123$secondaryArchSuffix
devel:libncursesw$secondaryArchSuffix
devel:libopenmpt$secondaryArchSuffix
devel:libpanelw$secondaryArchSuffix
devel:libportaudio$secondaryArchSuffix
devel:libswresample$secondaryArchSuffix
devel:libtag$secondaryArchSuffix >= 1.18.0
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage musikcube$secondaryArchSuffix \
"$appsDir/MusikCube"/musikcube \
"$appsDir/MusikCube"/musikcubed \
"$appsDir/MusikCube/plugins"/libffmpegdecoder.so \
"$appsDir/MusikCube/plugins"/libgmedecoder.so \
"$appsDir/MusikCube/plugins"/libhttpdatastream.so \
"$appsDir/MusikCube/plugins"/libnullout.so \
"$appsDir/MusikCube/plugins"/libopenmptdecoder.so \
"$appsDir/MusikCube/plugins"/libportaudioout.so \
"$appsDir/MusikCube/plugins"/libserver.so \
"$appsDir/MusikCube/plugins"/libstockencoders.so \
"$appsDir/MusikCube/plugins"/libsupereqdsp.so \
"$appsDir/MusikCube/plugins"/libtaglibreader.so \
"$libDir"/libmusikcore.so
BUILD()
{
# link submodules
rm -rf $sourceDir/src/3rdparty/{asio,bin}
ln -s $sourceDir2 $sourceDir/src/3rdparty/asio
mkdir -p build
cd build
cmake $cmakeDirArgs .. \
-DCMAKE_CXX_FLAGS="-D_DEFAULT_SOURCE" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DCMAKE_INSTALL_LIBDIR="$libDir" \
-DCMAKE_INSTALL_PLUGINSDIR="$appsDir/MusikCube/plugins" \
-DCMAKE_INSTALL_INCLUDEDIR="$includeDir/musikcube/musikcore/sdk" \
-DCMAKE_INSTALL_THEMESDIR="$appsDir/MusikCube/themes" \
-DCMAKE_INSTALL_LOCALESDIR="$appsDir/MusikCube/locales" \
-DCMAKE_INSTALL_BINDIR="$appsDir/MusikCube"
make $jobArgs
}
INSTALL()
{
cd build
make install
mkdir -p $commandBinDir
ln -s $appsDir/MusikCube/musikcube* $commandBinDir
prepareInstalledDevelLib libmusikcore
packageEntries devel \
$developDir
}