git.iko.soy/typeable/nixpkgs
on master help sign in
rtaudio: refactor
commit6c22ff06548b1f4100141ab2aa6941e4705921b0 authorOPNA2608 <christoph.neidahl@gmail.com> dateTue 2 Feb 2021, 22:39 (6 years ago) parentd8262fc
3 files changed+47−16
pkgs/development/libraries/audio/rtaudio/default.nix+43−10 pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch−5 pkgs/top-level/all-packages.nix+4−1
pkgs/development/libraries/audio/rtaudio/default.nix+43−10
@@ -1,4 +1,19 @@
1−{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pulseaudio, rtmidi }:
1+{ stdenv
2+, lib
3+, config
4+, fetchFromGitHub
5+, fetchpatch
6+, cmake
7+, pkg-config
8+, alsaSupport ? stdenv.hostPlatform.isLinux
9+, alsaLib
10+, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux
11+, libpulseaudio
12+, jackSupport ? true
13+, jack
14+, coreaudioSupport ? stdenv.hostPlatform.isDarwin
15+, CoreAudio
16+}:
217
318stdenv.mkDerivation rec {
419 version = "5.1.0";
@@ -11,22 +26,40 @@ stdenv.mkDerivation rec {
1126 sha256 = "1pglnjz907ajlhnlnig3p0sx7hdkpggr8ss7b3wzf1lykzgv9l52";
1227 };
1328
14− patches = [ ./rtaudio-pkgconfig.patch ];
29+ patches = [
30+ # Fixes missing headers & install location
31+ # Drop with version > 5.1.0
32+ (fetchpatch {
33+ name = "RtAudio-Adjust-CMake-public-header-installs-to-match-autotools.patch";
34+ url = "https://github.com/thestk/rtaudio/commit/4273cf7572b8f51b5996cf6b42e3699cc6b165da.patch";
35+ sha256 = "1p0idll0xsfk3jwjg83jkxkaf20gk0wqa7l982ni389rn6i4n26p";
36+ })
37+ ];
1538
16− enableParallelBuilding = true;
39+ postPatch = ''
40+ substituteInPlace rtaudio.pc.in \
41+ --replace 'Requires:' 'Requires.private:'
42+ '';
1743
18− buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];
44+ nativeBuildInputs = [ cmake pkg-config ];
1945
20− preConfigure = ''
21− ./autogen.sh --no-configure
22− ./configure
23− '';
46+ buildInputs = lib.optional alsaSupport alsaLib
47+ ++ lib.optional pulseaudioSupport libpulseaudio
48+ ++ lib.optional jackSupport jack
49+ ++ lib.optional coreaudioSupport CoreAudio;
50+
51+ cmakeFlags = [
52+ "-DRTAUDIO_API_ALSA=${if alsaSupport then "ON" else "OFF"}"
53+ "-DRTAUDIO_API_PULSE=${if pulseaudioSupport then "ON" else "OFF"}"
54+ "-DRTAUDIO_API_JACK=${if jackSupport then "ON" else "OFF"}"
55+ "-DRTAUDIO_API_CORE=${if coreaudioSupport then "ON" else "OFF"}"
56+ ];
2457
2558 meta = with lib; {
2659 description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
27− homepage = "http://www.music.mcgill.ca/~gary/rtaudio/";
60+ homepage = "https://www.music.mcgill.ca/~gary/rtaudio/";
2861 license = licenses.mit;
29− maintainers = [ maintainers.magnetophon ];
62+ maintainers = with maintainers; [ magnetophon ];
3063 platforms = platforms.unix;
3164 };
3265}
pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patchdeleted−5
@@ -1,5 +0,0 @@
1−--- a/rtaudio.pc.in
2−+++ b/rtaudio.pc.in
3−@@ -9 +9 @@ Version: @PACKAGE_VERSION@
4−-Requires: @req@
5−+Requires.private: @req@
pkgs/top-level/all-packages.nix+4−1
@@ -7277,7 +7277,10 @@ in
72777277
72787278 rocket = libsForQt5.callPackage ../tools/graphics/rocket { };
72797279
7280− rtaudio = callPackage ../development/libraries/audio/rtaudio { };
7280+ rtaudio = callPackage ../development/libraries/audio/rtaudio {
7281+ jack = libjack2;
7282+ inherit (darwin.apple_sdk.frameworks) CoreAudio;
7283+ };
72817284
72827285 rtmidi = callPackage ../development/libraries/audio/rtmidi {
72837286 jack = libjack2;