From 3e6c114241725a22e4d190c3f9ee15c3c701461a Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 9 Dec 2020 16:54:26 -0500 Subject: gnu: audacity: Update to 2.4.2. * gnu/packages/audio.scm (audacity): Update to 2.4.2. [source]: Add patch. Don't delete portaudio-v19, since only the bundled copy can be built. [build-system]: Switch to cmake-build-system. [inputs]: Remove portaudio. [arguments]: Adjust configure flags for CMake. Remove 'fix-sbsms-check phase. Add 'comment-out-revision-ident phase. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/patches/audacity-add-include.patch: New file. --- gnu/local.mk | 1 + gnu/packages/audio.scm | 75 +++++++------------------ gnu/packages/patches/audacity-add-include.patch | 15 +++++ 3 files changed, 36 insertions(+), 55 deletions(-) create mode 100644 gnu/packages/patches/audacity-add-include.patch diff --git a/gnu/local.mk b/gnu/local.mk index f0a07bf6ed..204850c4e6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -803,6 +803,7 @@ dist_patch_DATA = \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ %D%/packages/patches/audacity-build-with-system-portaudio.patch \ + %D%/packages/patches/audacity-add-include.patch \ %D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \ %D%/packages/patches/audiofile-fix-sign-conversion.patch \ %D%/packages/patches/audiofile-CVE-2015-7747.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 1d2943fb41..4ac70d7b24 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -676,7 +676,7 @@ (define-public ardour (define-public audacity (package (name "audacity") - (version "2.4.1") + (version "2.4.2") (source (origin (method git-fetch) @@ -686,8 +686,9 @@ (define-public audacity (file-name (git-file-name name version)) (sha256 (base32 - "1xk0piv72d2xd3p7igr916fhcbrm76fhjr418k1rlqdzzg1hfljn")) - (patches (search-patches "audacity-build-with-system-portaudio.patch")) + "0lklcvqkxrr2gkb9gh3422iadzl2rv9v0a8s76rwq43lj2im7546")) + (patches (search-patches "audacity-build-with-system-portaudio.patch" + "audacity-add-include.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -697,7 +698,7 @@ (define-public audacity (delete-file-recursively (string-append "lib-src/" dir))) '("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg" "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2" - "portaudio-v19" "portmidi" "soundtouch" "twolame" + "portmidi" "soundtouch" "twolame" ;; FIXME: these libraries have not been packaged yet: ;; "libnyquist" ;; "libscorealign" @@ -711,7 +712,7 @@ (define-public audacity ;; "sbsms" )) #t)))) - (build-system glib-or-gtk-build-system) + (build-system cmake-build-system) (inputs `(("wxwidgets" ,wxwidgets) ("gtk+" ,gtk+) @@ -733,7 +734,6 @@ (define-public audacity ("lv2" ,lv2) ("lilv" ,lilv) ;for lv2 ("suil" ,suil) ;for lv2 - ("portaudio" ,portaudio) ("portmidi" ,portmidi))) (native-inputs `(("autoconf" ,autoconf) @@ -745,52 +745,18 @@ (define-public audacity ("which" ,which))) (arguments `(#:configure-flags - (let ((libid3tag (assoc-ref %build-inputs "libid3tag")) - (libmad (assoc-ref %build-inputs "libmad")) - (portmidi (assoc-ref %build-inputs "portmidi"))) - (list - ;; Loading FFmpeg dynamically is problematic. - "--disable-dynamic-loading" - ;; SSE instructions are available on Intel systems only. - ,@(if (any (cute string-prefix? <> (or (%current-target-system) - (%current-system))) - '("x86_64" "i686")) - '() - '("--enable-sse=no")) - ;; portmidi, libid3tag and libmad provide no .pc files, so - ;; pkg-config fails to find them. Force their inclusion. - (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include") - (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz") - (string-append "LIBMAD_CFLAGS=-I" libmad "/include") - (string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad") - (string-append "PORTMIDI_CFLAGS=-I" portmidi "/include") - (string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi") - "EXPAT_USE_SYSTEM=yes" - "FFMPEG_USE_SYSTEM=yes" - "LAME_USE_SYSTEM=yes" - "LIBFLAC_USE_SYSTEM=yes" - "LIBID3TAG_USE_SYSTEM=yes" - "LIBMAD_USE_SYSTEM=yes" - "USE_LOCAL_LIBNYQUIST=" ;not packaged yet - ;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched - "LIBSNDFILE_USE_SYSTEM=yes" - "LIBSOUNDTOUCH_USE_SYSTEM=yes" - "LIBSOXR_USE_SYSTEM=yes" - "LIBTWOLAME_USE_SYSTEM=yes" - "LIBVAMP_USE_SYSTEM=yes" - "LIBVORBIS_USE_SYSTEM=yes" - "LV2_USE_SYSTEM=yes" - "PORTAUDIO_USE_SYSTEM=yes")) + (list + ;; Loading FFmpeg dynamically is problematic. + "-Daudacity_use_ffmpeg=linked" + "-Daudacity_use_lame=system" + "-Daudacity_use_portsmf=system") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-sbsms-check + (add-after 'unpack 'comment-out-revision-ident (lambda _ - ;; This check is wrong: there is no 2.2.0 release; not even the - ;; bundled sources match this release string. - (substitute* '("m4/audacity_checklib_libsbsms.m4" - "configure") - (("sbsms >= 2.2.0") "sbsms >= 2.0.0")) - #t)) + (substitute* "src/AboutDialog.cpp" + (("(.*RevisionIdent\\.h.*)" include-line) + (string-append "// " include-line))))) (add-after 'unpack 'use-upstream-headers (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/NoteTrack.cpp" @@ -800,12 +766,11 @@ (define-public audacity (("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" - (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")) - #t))) - ;; The test suite is not "well exercised" according to the developers, - ;; and fails with various errors. See - ;; . - #:tests? #f)) + (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))))) + ;; The test suite is not "well exercised" according to the developers, + ;; and fails with various errors. See + ;; . + #:tests? #f)) (home-page "https://www.audacityteam.org/") (synopsis "Software for recording and editing sounds") (description diff --git a/gnu/packages/patches/audacity-add-include.patch b/gnu/packages/patches/audacity-add-include.patch new file mode 100644 index 0000000000..a7f27918e7 --- /dev/null +++ b/gnu/packages/patches/audacity-add-include.patch @@ -0,0 +1,15 @@ +Without , gettimeofday is undefined. + +diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp +index 0187e3962..e15d55f4c 100644 +--- a/src/AudioIO.cpp ++++ b/src/AudioIO.cpp +@@ -479,6 +479,8 @@ time warp info and AudioIOListener and whether the playback is looped. + #include "../lib-src/portmidi/porttime/porttime.h" + #include "../lib-src/header-substitutes/allegro.h" + ++#include ++ + #define MIDI_SLEEP 10 /* milliseconds */ + // how long do we think the thread that fills MIDI buffers, + // if it is separate from the portaudio thread, -- cgit v1.2.3