From ae64c4ac89c18a44f0240f403b4c290e31a62461 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 26 Nov 2022 23:53:18 +0100 Subject: gnu: audacity: Update to 3.2.1. * gnu/packages/audio.scm (audacity): Update to 3.2.1. [source]: Switch to GIT-FETCH. [inputs]: Remove LIBMAD. Add MPG123 and WAVPACK. [arguments]: Add configure flag to prevent spurious dependency. Adjust fix-cmake-rpath phase. Delete obsolete phases. * gnu/packages/patches/audacity-ffmpeg-fallback.patch: Adjust for 3.2.1. --- gnu/packages/audio.scm | 49 ++++++++++++---------- .../patches/audacity-ffmpeg-fallback.patch | 23 ++++------ 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 086e838f12..4df5fa29bc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018, 2020, 2022 Maxim Cournoyer ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Brett Gilio -;;; Copyright © 2018, 2019 Marius Bakke +;;; Copyright © 2018, 2019, 2022 Marius Bakke ;;; Copyright © 2018, 2021 Thorsten Wilms ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2018 Brendan Tildesley @@ -849,19 +849,26 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "3.1.3") + (version "3.2.1") (source (origin ;; If built from the release tag, Audacity will describe itself ;; as an "Alpha test version" and suggest to users that they use ;; the "latest stable released version". - (method url-fetch) - (uri (string-append "https://github.com/audacity/audacity/releases/download/" - "Audacity-" version "/audacity-" version - "-source.tar.gz")) + ;; XXX: For 3.2.1 we rebelliously use a git tag anyway because the only + ;; "processed" download is a .zip containing a .tar.gz which does not + ;; fare well with the patch and snippet machinery: + ;; https://github.com/audacity/audacity/issues/3811 + ;; TODO: Find a way to control the "alpha" status even when using git + ;; so we're not reliant on preprocessed source code. + (method git-fetch) + (uri (git-reference + (url "https://github.com/audacity/audacity") + (commit (string-append "Audacity-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "189agx11361k9j958s6q5bngnnfx0rwaf0dwbjxy6fwvsb1wv3px")) + "00mal30jxbcacs1ka4yb5s8xq81zm7mv3y8l5hvg77abkyvfvdzf")) (patches (search-patches "audacity-ffmpeg-fallback.patch")) (modules '((guix build utils))) (snippet @@ -896,9 +903,9 @@ engineers, musicians, soundtrack editors and composers.") ffmpeg libid3tag libjpeg-turbo - libmad ;;("libsbsms" ,libsbsms) ;bundled version is modified libsndfile + mpg123 soundtouch soxr ;replaces libsamplerate sqlite @@ -909,7 +916,8 @@ engineers, musicians, soundtrack editors and composers.") lilv ;for lv2 suil ;for lv2 portaudio - portmidi)) + portmidi + wavpack)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -923,6 +931,9 @@ engineers, musicians, soundtrack editors and composers.") (list "-Daudacity_conan_enabled=off" "-Daudacity_lib_preference=system" + ;; Disable support for VST 3 SDK, which is not yet in Guix (and has + ;; a dubious licensing agreement despite GPL code). + "-Daudacity_has_vst3=off" ;; TODO: enable this flag once we've packaged all dependencies ;; "-Daudacity_obey_system_dependencies=on" ;; disable crash reports, updates, ..., anything that phones home @@ -944,24 +955,20 @@ engineers, musicians, soundtrack editors and composers.") "CMAKE_BUILD_WITH_INSTALL_RPATH TRUE") (("CMAKE_INSTALL_RPATH_USE_LINK_PATH [A-Z]*") "CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE")) + (substitute* "libraries/image-compiler/CMakeLists.txt" + (("PROPERTIES") + ;; This scripts needs to run during build, make sure it finds + ;; the required libraries. + "PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE")) (substitute* "src/CMakeLists.txt" + ;; Despite the name, this script breaks rpath. Don't run it. + (("install.*linux/fix_rpath\\.cmake.*") + "") (("-Wl,--disable-new-dtags") "-Wl,--enable-new-dtags")))) - (add-after 'unpack 'comment-out-revision-ident - (lambda _ - (substitute* "src/CMakeLists.txt" - (("file\\( TOUCH \".*RevisionIdent\\.h\" \\)" directive) - (string-append "# " directive))) - (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* '("libraries/lib-files/FileNames.cpp") (("\"/usr/include/linux/magic.h\"") "")))) - (add-after 'install 'delete-gratuitous-script - (lambda* (#:key outputs #:allow-other-keys) - (delete-file (string-append (assoc-ref outputs "out") - "/audacity")))) (add-after 'wrap-program 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))) ;; The test suite is not "well exercised" according to the developers, diff --git a/gnu/packages/patches/audacity-ffmpeg-fallback.patch b/gnu/packages/patches/audacity-ffmpeg-fallback.patch index b78956070a..d18583c9bd 100644 --- a/gnu/packages/patches/audacity-ffmpeg-fallback.patch +++ b/gnu/packages/patches/audacity-ffmpeg-fallback.patch @@ -8,13 +8,11 @@ it. This dynamic loading mechanism fails to properly locate libraries outside of LD_LIBRARY_PATH. See . ---- - libraries/lib-ffmpeg-support/CMakeLists.txt | 8 ++++++++ - libraries/lib-ffmpeg-support/FFmpegFunctions.cpp | 12 ++++++++++++ - 2 files changed, 20 insertions(+) + +Bugs-added-by: Marius Bakke diff --git a/libraries/lib-ffmpeg-support/CMakeLists.txt b/libraries/lib-ffmpeg-support/CMakeLists.txt -index 8c5f06d7c..00810e4d0 100644 +index b8803a1f5..f86559cca 100644 --- a/libraries/lib-ffmpeg-support/CMakeLists.txt +++ b/libraries/lib-ffmpeg-support/CMakeLists.txt @@ -1,5 +1,7 @@ @@ -25,7 +23,7 @@ index 8c5f06d7c..00810e4d0 100644 set( SOURCES FFmpegTypes.h -@@ -100,6 +102,12 @@ if (${_OPT}use_ffmpeg) +@@ -107,6 +109,12 @@ if (${_OPT}use_ffmpeg) list(APPEND DEFINITIONS PRIVATE _DARWIN_C_SOURCE ) endif() @@ -39,10 +37,10 @@ index 8c5f06d7c..00810e4d0 100644 "${DEFINITIONS}" "" ) diff --git a/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp b/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp -index 66d085a0b..4eeb4aed3 100644 +index 55d6f676b..46640ef83 100644 --- a/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp +++ b/libraries/lib-ffmpeg-support/FFmpegFunctions.cpp -@@ -238,6 +238,18 @@ struct FFmpegFunctions::Private final +@@ -246,6 +246,18 @@ struct FFmpegFunctions::Private final if (library->IsLoaded()) return library; @@ -58,9 +56,6 @@ index 66d085a0b..4eeb4aed3 100644 + } +#endif + - // Loading has failed. - // wxLogSysError doesn't report errors correctly on *NIX - #if defined(_WIN32) --- -2.34.0 - + return {}; + } + }; -- cgit v1.2.3