diff --git a/media-sound/hydrogen/hydrogen-1.2.2.recipe b/media-sound/hydrogen/hydrogen-1.2.2.recipe new file mode 100644 index 000000000..a87c086ce --- /dev/null +++ b/media-sound/hydrogen/hydrogen-1.2.2.recipe @@ -0,0 +1,99 @@ +SUMMARY="The advanced drum machime for Linux, macOS and Windows" +DESCRIPTION="Advanced drum machime for Linux, macOS and Windows with full audio and MIDI \ +support" +HOMEPAGE="https://hydrogen-music.org/" +COPYRIGHT="2023 Hydrogen developers" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://github.com/hydrogen-music/hydrogen/archive/refs/tags/$portVersion.tar.gz" +CHECKSUM_SHA256="b38173b28cc260e5e02a7300f171cf7fefafd8c3763f31f6f8b2aafccb4bc7b5" +SOURCE_DIR="hydrogen-$portVersion" +PATCHES="hydrogen-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + hydrogen + cmd:h2cli + cmd:h2player + cmd:hydrogen + " + +REQUIRES=" + haiku$secondaryArchSuffix + ladspa_sdk$secondaryArchSuffix + lib:libarchive$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libcppunit$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:liblo$secondaryArchSuffix + lib:liblrdf$secondaryArchSuffix + lib:libportaudio$secondaryArchSuffix + lib:libportmidi$secondaryArchSuffix + lib:librubberband$secondaryArchSuffix + lib:libsndfile$secondaryArchSuffix + lib:libtar$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + ladspa_sdk${secondaryArchSuffix}_devel + devel:libarchive$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libcppunit$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + devel:liblo$secondaryArchSuffix + devel:liblrdf$secondaryArchSuffix + devel:libportaudio$secondaryArchSuffix + devel:libportmidi$secondaryArchSuffix + devel:librubberband$secondaryArchSuffix + devel:libsndfile$secondaryArchSuffix + devel:libtar$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5Svg$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libQt5Xml$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:cmake + cmd:doxygen + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:clang_tidy >= 12 + cmd:linguist$secondaryArchSuffix >= 5 + cmd:lrelease$secondaryArchSuffix >= 5 + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:rubberband$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DWANT_PORTAUDIO=ON \ + -DWANT_PORTMIDI=ON \ + -DCMAKE_INSTALL_PREFIX=$prefix + make -C build $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/Hydrogen + make -C build install + rm $prefix/lib/libhydrogen-core-$portVersion.a + mv $prefix/bin/hydrogen $appsDir/Hydrogen/Hydrogen + addAppDeskbarSymlink $appsDir/Hydrogen/Hydrogen +} diff --git a/media-sound/hydrogen/patches/hydrogen-1.2.2.patchset b/media-sound/hydrogen/patches/hydrogen-1.2.2.patchset new file mode 100644 index 000000000..7b7f9fde8 --- /dev/null +++ b/media-sound/hydrogen/patches/hydrogen-1.2.2.patchset @@ -0,0 +1,65 @@ +From 4f1d72e8e66b4f64002abf6fccef98281aa03fa4 Mon Sep 17 00:00:00 2001 +From: hfsfox +Date: Fri, 6 Oct 2023 06:43:28 +0300 +Subject: fix data paths + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1fe4013..3097589 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,6 +51,9 @@ OPTION(WANT_DEBUG "Build with debug information" ON) + IF(APPLE) + OPTION(WANT_SHARED "Build the core library shared." OFF) + OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" OFF) ++ELSEIF(HAIKU) ++ OPTION(WANT_SHARED "Build the core library shared." OFF) ++ OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON) + ELSE() + OPTION(WANT_SHARED "Build the core library shared." ON) + OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON) +@@ -202,13 +205,23 @@ IF(WIN32) + SET(H2_LIB_PATH ".") + SET(H2_DATA_PATH ".") + SET(H2_SYS_PATH "hydrogen") ++ELSEIF(HAIKU) ++ SET(H2_BIN_PATH ${CMAKE_INSTALL_BINDIR}) ++ SET(H2_LIB_PATH ${CMAKE_INSTALL_LIBDIR}) ++ SET(H2_DATA_PATH "data/Hydrogen") ++ SET(H2_SYS_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/Hydrogen") + ELSE() + SET(H2_BIN_PATH ${CMAKE_INSTALL_BINDIR}) + SET(H2_LIB_PATH ${CMAKE_INSTALL_LIBDIR}) + SET(H2_DATA_PATH "${CMAKE_INSTALL_DATADIR}/hydrogen") + SET(H2_SYS_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/hydrogen") + ENDIF() ++ ++IF(HAIKU) ++SET(H2_USR_PATH "config/settings/hydrogen") ++ELSE() + SET(H2_USR_PATH ".hydrogen") ++ENDIF() + + SET(MAX_INSTRUMENTS 1000 CACHE STRING "Maximum number of instruments") + SET(MAX_COMPONENTS 32 CACHE STRING "Maximum number of components") +diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt +index ae513e1..91be7c2 100644 +--- a/src/gui/CMakeLists.txt ++++ b/src/gui/CMakeLists.txt +@@ -81,6 +81,13 @@ TARGET_LINK_LIBRARIES(hydrogen + Qt5::Svg + ) + ++IF(HAIKU) ++TARGET_LINK_LIBRARIES(hydrogen ++ network ++ bsd ++) ++ENDIF() ++ + IF(Backtrace_FOUND) + TARGET_LINK_LIBRARIES(hydrogen + ${Backtrace_LIBRARIES} +-- +2.37.3 +