audacity-gtk3: re-introduce at 3.0.2

wip/little-gl
Peter Hoeg 3 years ago
parent 3531b9c870
commit 0b973eaa94
  1. 52
      pkgs/applications/audio/audacity/default.nix
  2. 4
      pkgs/top-level/all-packages.nix

@ -30,24 +30,26 @@
, soundtouch , soundtouch
, pcre /*, portaudio - given up fighting their portaudio.patch */ , pcre /*, portaudio - given up fighting their portaudio.patch */
, linuxHeaders , linuxHeaders
, at-spi2-core ? null , at-spi2-core
, dbus ? null , dbus
, epoxy ? null , epoxy
, libXdmcp ? null , libXdmcp
, libXtst ? null , libXtst
, libpthreadstubs ? null , libpthreadstubs
, libselinux ? null , libselinux
, libsepol ? null , libsepol
, libxkbcommon ? null , libxkbcommon
, utillinux ? null , util-linux
}: }:
# TODO # TODO
# - as of 3.0.2, GTK2 is still the recommended version ref https://www.audacityteam.org/download/source/ check if that changes in future versions # 1. as of 3.0.2, GTK2 is still the recommended version ref https://www.audacityteam.org/download/source/ check if that changes in future versions
# - detach sbsms # 2. detach sbsms
let let
wxGTK-audacity = wxGTK.overrideAttrs (oldAttrs: rec { inherit (lib) optionals;
wxGTK' = wxGTK.overrideAttrs (oldAttrs: rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "audacity"; owner = "audacity";
repo = "wxWidgets"; repo = "wxWidgets";
@ -56,6 +58,7 @@ let
fetchSubmodules = true; fetchSubmodules = true;
}; };
}); });
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "audacity"; pname = "audacity";
@ -70,28 +73,21 @@ stdenv.mkDerivation rec {
patches = [ patches = [
(fetchpatch { (fetchpatch {
url = "https://github.com/audacity/audacity/commit/007852e51fcbb5f1f359d112f28b8984a604dac6.patch"; url = "https://github.com/audacity/audacity/pull/831/commits/007852e51fcbb5f1f359d112f28b8984a604dac6.patch";
sha256 = "0zp2iydd46analda9cfnbmzdkjphz5m7dynrdj5qdnmq6j3px9fw"; sha256 = "0zp2iydd46analda9cfnbmzdkjphz5m7dynrdj5qdnmq6j3px9fw";
name = "audacity_xdg_paths.patch"; name = "audacity_xdg_paths.patch";
}) })
]; ];
# this file *should* be generated by cmake but as of 2.4.2 isn't yet
postPatch = '' postPatch = ''
touch src/RevisionIdent.h touch src/RevisionIdent.h
'';
preConfigure = '' substituteInPlace src/FileNames.cpp \
substituteInPlace src/FileNames.cpp --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
''; '';
# workaround for a broken cmake. Drop it with a later version to see if it works.
# https://github.com/NixOS/nixpkgs/issues/94905
cmakeFlags = lib.optional stdenv.isLinux "-DCMAKE_OSX_ARCHITECTURES=";
# audacity only looks for ffmpeg at runtime, so we need to link it in manually # audacity only looks for ffmpeg at runtime, so we need to link it in manually
NIX_LDFLAGS = toString [ NIX_LDFLAGS = toString [
# ffmpeg
"-lavcodec" "-lavcodec"
"-lavdevice" "-lavdevice"
"-lavfilter" "-lavfilter"
@ -108,7 +104,7 @@ stdenv.mkDerivation rec {
gettext gettext
pkg-config pkg-config
python3 python3
] ++ lib.optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
linuxHeaders linuxHeaders
]; ];
@ -135,9 +131,9 @@ stdenv.mkDerivation rec {
sratom sratom
suil suil
twolame twolame
wxGTK-audacity wxGTK'
wxGTK-audacity.gtk wxGTK'.gtk
] ++ lib.optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
at-spi2-core at-spi2-core
dbus dbus
epoxy epoxy
@ -147,7 +143,7 @@ stdenv.mkDerivation rec {
libxkbcommon libxkbcommon
libselinux libselinux
libsepol libsepol
utillinux util-linux
]; ];
doCheck = false; # Test fails doCheck = false; # Test fails

@ -22207,7 +22207,9 @@ in
audacious = libsForQt5.callPackage ../applications/audio/audacious { }; audacious = libsForQt5.callPackage ../applications/audio/audacious { };
audaciousQt5 = audacious; audaciousQt5 = audacious;
audacity = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk2; }; audacity-gtk2 = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk2; };
audacity-gtk3 = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk3; };
audacity = audacity-gtk2;
audio-recorder = callPackage ../applications/audio/audio-recorder { }; audio-recorder = callPackage ../applications/audio/audio-recorder { };

Loading…
Cancel
Save