hydrogen: add recipe

This commit is contained in:
hfsfox
2023-10-08 11:25:05 +03:00
committed by Gerasim Troeglazov
parent df687a9a2a
commit eb703969f2
2 changed files with 164 additions and 0 deletions

View File

@@ -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
}

View File

@@ -0,0 +1,65 @@
From 4f1d72e8e66b4f64002abf6fccef98281aa03fa4 Mon Sep 17 00:00:00 2001
From: hfsfox <darkkitsunezx128k2309@gmail.com>
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