From 7095591d7e79e5f80fedbe07cedce4e5ce611b64 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Wed, 15 Dec 2021 17:51:50 -0500 Subject: audacity: fix for darwin --- pkgs/applications/audio/audacity/default.nix | 52 ++++++++++++++++------- pkgs/development/libraries/audio/suil/default.nix | 2 +- pkgs/top-level/all-packages.nix | 9 +++- 3 files changed, 46 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 0832bb1dd96..a8ab856ed67 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , fetchpatch , cmake -, wxGTK , pkg-config , python3 , gettext @@ -18,7 +17,6 @@ , sqlite , sratom , suil -, alsa-lib , libsndfile , soxr , flac @@ -28,8 +26,10 @@ , libopus , ffmpeg , soundtouch -, pcre /*, portaudio - given up fighting their portaudio.patch */ +, pcre +/*, portaudio - given up fighting their portaudio.patch */ , linuxHeaders +, alsa-lib , at-spi2-core , dbus , libepoxy @@ -40,6 +40,16 @@ , libsepol , libxkbcommon , util-linux +, wxGTK +, AppKit ? null +, AudioToolbox ? null +, AudioUnit ? null +, Carbon ? null +, Cocoa ? null +, CoreAudio ? null +, CoreAudioKit ? null +, CoreServices ? null +, wxmac }: # TODO @@ -49,14 +59,20 @@ let inherit (lib) optionals; + wxWidgets_src = fetchFromGitHub { + owner = "audacity"; + repo = "wxWidgets"; + rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; + sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; + fetchSubmodules = true; + }; + wxGTK' = wxGTK.overrideAttrs (oldAttrs: rec { - src = fetchFromGitHub { - owner = "audacity"; - repo = "wxWidgets"; - rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; - sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; - fetchSubmodules = true; - }; + src = wxWidgets_src; + }); + + wxmac' = wxmac.overrideAttrs (oldAttrs: rec { + src = wxWidgets_src; }); in @@ -88,7 +104,7 @@ stdenv.mkDerivation rec { postPatch = '' touch src/RevisionIdent.h - + '' + lib.optionalString stdenv.isLinux '' substituteInPlace src/FileNames.cpp \ --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h ''; @@ -116,7 +132,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - alsa-lib expat ffmpeg file @@ -138,9 +153,8 @@ stdenv.mkDerivation rec { sratom suil twolame - wxGTK' - wxGTK'.gtk ] ++ optionals stdenv.isLinux [ + alsa-lib # for portaudio at-spi2-core dbus libepoxy @@ -151,6 +165,14 @@ stdenv.mkDerivation rec { libselinux libsepol util-linux + wxGTK' + wxGTK'.gtk + ] ++ optionals stdenv.isDarwin [ + wxmac' + AppKit + Cocoa + CoreAudioKit + AudioUnit AudioToolbox CoreAudio CoreServices Carbon # for portaudio ]; doCheck = false; # Test fails @@ -160,6 +182,6 @@ stdenv.mkDerivation rec { homepage = "https://www.audacityteam.org/"; license = licenses.gpl2Plus; maintainers = with maintainers; [ lheckemann ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 1c978a18f8f..ac10472e014 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for loading and wrapping LV2 plugin UIs"; license = licenses.mit; maintainers = with maintainers; [ goibhniu ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b9471a61f9b..2232d82573e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24179,7 +24179,14 @@ with pkgs; audacity-gtk2 = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk2; }; audacity-gtk3 = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk3; }; - audacity = audacity-gtk2; + audacity = + if stdenv.isDarwin then + callPackage ../applications/audio/audacity { + inherit (darwin.apple_sdk.frameworks) AppKit AudioToolbox AudioUnit Carbon Cocoa CoreAudio CoreAudioKit CoreServices; + suil = suil-qt5; + } + else + audacity-gtk2; audio-recorder = callPackage ../applications/audio/audio-recorder { }; -- cgit 1.4.1