mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
rtaudio: add recipe (#8962)
This commit is contained in:
79
media-libs/rtaudio/patches/rtaudio-5.2.0.patchset
Normal file
79
media-libs/rtaudio/patches/rtaudio-5.2.0.patchset
Normal file
@@ -0,0 +1,79 @@
|
||||
From dd9aa2e5fe6aeba2217439fa8d5e4de9f32ff0e7 Mon Sep 17 00:00:00 2001
|
||||
From: hfsfox <darkkitsunezx128k2309@gmail.com>
|
||||
Date: Thu, 26 Jan 2023 17:38:20 +0200
|
||||
Subject: Enable build on Haiku
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 21da42a..8b427b6 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,7 +24,7 @@ pkg_check_modules(pulse libpulse-simple)
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
|
||||
message(STATUS "NetBSD detected, using OSS")
|
||||
set(xBSD ON)
|
||||
-elseif(UNIX AND NOT APPLE)
|
||||
+elseif(UNIX AND NOT APPLE AND NOT HAIKU)
|
||||
set(LINUX ON)
|
||||
endif()
|
||||
|
||||
diff --git a/RtAudio.cpp b/RtAudio.cpp
|
||||
index 40fb6a9..0fa1e80 100644
|
||||
--- a/RtAudio.cpp
|
||||
+++ b/RtAudio.cpp
|
||||
@@ -82,7 +82,7 @@ const unsigned int RtApi::SAMPLE_RATES[] = {
|
||||
return s;
|
||||
}
|
||||
|
||||
-#elif defined(__unix__) || defined(__APPLE__)
|
||||
+#elif defined(__unix__) || defined(__APPLE__) || defined (__HAIKU__)
|
||||
// pthread API
|
||||
#define MUTEX_INITIALIZE(A) pthread_mutex_init(A, NULL)
|
||||
#define MUTEX_DESTROY(A) pthread_mutex_destroy(A)
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From ee7f4d66433b1f4c3bcc5a9bdebb5d32396ef19b Mon Sep 17 00:00:00 2001
|
||||
From: hfsfox <darkkitsunezx128k2309@gmail.com>
|
||||
Date: Tue, 4 Jul 2023 12:39:29 +0000
|
||||
Subject: fix cmake files install paths
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8b427b6..48fb1bb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -204,9 +204,13 @@ endif()
|
||||
|
||||
# pthread
|
||||
if (NEED_PTHREAD)
|
||||
- find_package(Threads REQUIRED
|
||||
- CMAKE_THREAD_PREFER_PTHREAD
|
||||
- THREADS_PREFER_PTHREAD_FLAG)
|
||||
+ if (HAIKU)
|
||||
+ find_package(Threads REQUIRED)
|
||||
+ else()
|
||||
+ find_package(Threads REQUIRED
|
||||
+ CMAKE_THREAD_PREFER_PTHREAD
|
||||
+ THREADS_PREFER_PTHREAD_FLAG)
|
||||
+ endif()
|
||||
list(APPEND LINKLIBS Threads::Threads)
|
||||
endif()
|
||||
|
||||
@@ -315,7 +319,11 @@ install(FILES RtAudio.h rtaudio_c.h
|
||||
export(PACKAGE RtAudio)
|
||||
|
||||
# Set installation path for CMake files.
|
||||
-set(RTAUDIO_CMAKE_DESTINATION share/rtaudio)
|
||||
+if (HAIKU)
|
||||
+ set(RTAUDIO_CMAKE_DESTINATION lib/cmake/rtaudio)
|
||||
+else()
|
||||
+ set(RTAUDIO_CMAKE_DESTINATION share/rtaudio)
|
||||
+endif()
|
||||
|
||||
# Create CMake configuration export file.
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "@PACKAGE_INIT@\n")
|
||||
--
|
||||
2.37.3
|
||||
|
||||
69
media-libs/rtaudio/rtaudio-5.2.0.recipe
Normal file
69
media-libs/rtaudio/rtaudio-5.2.0.recipe
Normal file
@@ -0,0 +1,69 @@
|
||||
SUMMARY="A set of C++ classes that provide a common API for realtime audio input/output"
|
||||
DESCRIPTION="RtAudio is a set of C++ classes that provides a common API \
|
||||
(Application Programming Interface) for realtime audio input/output across Linux \
|
||||
(native ALSA, JACK, PulseAudio and OSS), Macintosh OS X and Windows (DirectSound, ASIO and WASAPI) \
|
||||
operating systems. RtAudio significantly simplifies the process of interacting with computer audio \
|
||||
hardware."
|
||||
HOMEPAGE="https://www.music.mcgill.ca/~gary/rtaudio/"
|
||||
COPYRIGHT="Gary P. Scavone, 2001-2022 (and many other developers!)"
|
||||
LICENSE="MIT"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/thestk/rtaudio/archive/refs/tags/$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="a8d9c738addffd485c3f0bab14cbba72600267e3113f274398c67829bbb49332"
|
||||
SOURCE_DIR="rtaudio-$portVersion"
|
||||
PATCHES="rtaudio-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
libVersion="6.0.2"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
rtaudio$secondaryArchSuffix = $portVersion
|
||||
lib:librtaudio$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku${secondaryArchSuffix}
|
||||
"
|
||||
PROVIDES_devel="
|
||||
rtaudio${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:librtaudio$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
rtaudio$secondaryArchSuffix == $portVersion
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cmake -Bbuild -S. $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DRTAUDIO_BUILD_TESTING=0
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
prepareInstalledDevelLib librtaudio
|
||||
fixPkgconfig strict
|
||||
sed -e 's,^includedir=\(.*\)include,includedir=${prefix}/'${relativeIncludeDir}',' \
|
||||
-i $developLibDir/pkgconfig/rtaudio.pc
|
||||
|
||||
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$libDir/cmake
|
||||
}
|
||||
Reference in New Issue
Block a user