From 660b1f133ed8a1e7369407a6d9091885f8b64eca4e70e8fcadd177006f57acfd Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Sun, 28 Jun 2020 12:38:12 +0000 Subject: [PATCH 1/4] Accepting request 817522 from home:plater - Update to 2.4.2, now uses cmake to build. - Remove audacity-implicit-fortify-decl.patch and audacity-flacversion.patch, fixed upstream - Add two more false positives to audacity-no_return_in_nonvoid.patch OBS-URL: https://build.opensuse.org/request/show/817522 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=145 --- Audacity-2.4.1.tar.gz | 3 -- Audacity-2.4.2.tar.gz | 3 ++ audacity-flacversion.patch | 30 ------------- audacity-implicit-fortify-decl.patch | 17 ------- audacity-no_buildstamp.patch | 16 +++---- audacity-no_return_in_nonvoid.patch | 40 ++++++++++++++--- audacity.changes | 15 +++++++ audacity.spec | 66 ++++++++++++---------------- 8 files changed, 88 insertions(+), 102 deletions(-) delete mode 100644 Audacity-2.4.1.tar.gz create mode 100644 Audacity-2.4.2.tar.gz delete mode 100644 audacity-flacversion.patch delete mode 100644 audacity-implicit-fortify-decl.patch diff --git a/Audacity-2.4.1.tar.gz b/Audacity-2.4.1.tar.gz deleted file mode 100644 index b29c6df..0000000 --- a/Audacity-2.4.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f -size 63935461 diff --git a/Audacity-2.4.2.tar.gz b/Audacity-2.4.2.tar.gz new file mode 100644 index 0000000..8de47e0 --- /dev/null +++ b/Audacity-2.4.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdb4800c8e9d1d4ca19964caf8d24000f80286ebd8a4db566c2622449744c099 +size 61248430 diff --git a/audacity-flacversion.patch b/audacity-flacversion.patch deleted file mode 100644 index 2c0b8a6..0000000 --- a/audacity-flacversion.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: audacity-Audacity-2.3.3/m4/audacity_checklib_libflac.m4 -=================================================================== ---- audacity-Audacity-2.3.3.orig/m4/audacity_checklib_libflac.m4 2019-11-15 13:14:55.000000000 +0200 -+++ audacity-Audacity-2.3.3/m4/audacity_checklib_libflac.m4 2020-02-02 15:41:14.847457491 +0200 -@@ -13,21 +13,21 @@ AC_DEFUN([AUDACITY_CHECKLIB_LIBFLAC], [ - - dnl See if FLAC is installed in the system - -- PKG_CHECK_MODULES([FLAC], [flac >= 1.3.0 flac++ >= 1.3.0], -+ PKG_CHECK_MODULES([FLAC], [flac >= 1.3.1 flac++ >= 1.3.1], - [LIBFLAC_SYSTEM_AVAILABLE="yes"], - [LIBFLAC_SYSTEM_AVAILABLE="no"]) - -- dnl Check for flac < 1.3.0 -+ dnl Check for flac < 1.3.1 - if test "$LIBFLAC_SYSTEM_AVAILABLE" = "no"; then - PKG_CHECK_MODULES([FLAC], [flac flac++], - [LIBFLAC_SYSTEM_AVAILABLE="yes"], - [LIBFLAC_SYSTEM_AVAILABLE="no"]) -- dnl flac < 1.3.0 adds its own FLAC and FLAC++ subdirectories to the search -+ dnl flac < 1.3.1 adds its own FLAC and FLAC++ subdirectories to the search - dnl path and ships a assert.h file there. This assert.h overwrites the - dnl assert.h header from the C standard library. We need to strip /FLAC - dnl and /FLAC++ from the include paths to make the assert.h from the C - dnl standard library available again. -- [FLAC_CFLAGS=$(echo "$FLAC_CFLAGS" | sed 's@-I\([^ ]*\)/FLAC\(++\)\? @-I\1 @g')] -+ [FLAC_CFLAGS=$(echo "$FLAC_CFLAGS" | sed 's|-I\([^ ]*\)/FLAC\(++\)\?[ ]*|-I\1 |g')] - fi - - if test "$LIBFLAC_SYSTEM_AVAILABLE" = "yes"; then diff --git a/audacity-implicit-fortify-decl.patch b/audacity-implicit-fortify-decl.patch deleted file mode 100644 index 9e1a678..0000000 --- a/audacity-implicit-fortify-decl.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: b/lib-src/libnyquist/nyquist/xlisp/security.c -=================================================================== ---- a/lib-src/libnyquist/nyquist/xlisp/security.c 2020-06-15 10:39:50.030730823 +0200 -+++ b/lib-src/libnyquist/nyquist/xlisp/security.c 2020-06-15 10:59:45.779010172 +0200 -@@ -4,12 +4,7 @@ - */ - - #include --#if defined(UNIX) || defined(__APPLE__) - #include --#endif --#ifdef WIN32 --#include --#endif - #include - #include - diff --git a/audacity-no_buildstamp.patch b/audacity-no_buildstamp.patch index 769fa62..003f343 100644 --- a/audacity-no_buildstamp.patch +++ b/audacity-no_buildstamp.patch @@ -1,7 +1,7 @@ -Index: audacity-Audacity-2.4.0/lib-src/portaudio-v19/qa/loopback/src/paqa.c +Index: audacity-Audacity-2.4.2/lib-src/portaudio-v19/qa/loopback/src/paqa.c =================================================================== ---- audacity-Audacity-2.4.0.orig/lib-src/portaudio-v19/qa/loopback/src/paqa.c 2020-05-18 12:54:40.106763016 +0200 -+++ audacity-Audacity-2.4.0/lib-src/portaudio-v19/qa/loopback/src/paqa.c 2020-05-18 12:55:07.291841573 +0200 +--- audacity-Audacity-2.4.2.orig/lib-src/portaudio-v19/qa/loopback/src/paqa.c 2020-06-19 17:16:47.000000000 +0200 ++++ audacity-Audacity-2.4.2/lib-src/portaudio-v19/qa/loopback/src/paqa.c 2020-06-28 09:53:36.618593507 +0200 @@ -1460,7 +1460,7 @@ int main( int argc, char **argv ) int justMath = 0; char *executableName = argv[0]; @@ -11,11 +11,11 @@ Index: audacity-Audacity-2.4.0/lib-src/portaudio-v19/qa/loopback/src/paqa.c if( argc > 1 ){ printf("running with arguments:"); -Index: audacity-Audacity-2.4.0/src/AboutDialog.cpp +Index: audacity-Audacity-2.4.2/src/AboutDialog.cpp =================================================================== ---- audacity-Audacity-2.4.0.orig/src/AboutDialog.cpp 2020-05-18 12:55:07.291841573 +0200 -+++ audacity-Audacity-2.4.0/src/AboutDialog.cpp 2020-05-18 13:03:11.727062253 +0200 -@@ -69,7 +69,7 @@ hold information about one contributor t +--- audacity-Audacity-2.4.2.orig/src/AboutDialog.cpp 2020-06-19 17:16:47.000000000 +0200 ++++ audacity-Audacity-2.4.2/src/AboutDialog.cpp 2020-06-28 09:53:36.618593507 +0200 +@@ -70,7 +70,7 @@ hold information about one contributor t #endif #ifdef REV_LONG @@ -24,7 +24,7 @@ Index: audacity-Audacity-2.4.0/src/AboutDialog.cpp #else #define REV_IDENT (XO("No revision identifier was provided").Translation()) #endif -@@ -701,8 +701,8 @@ void AboutDialog::PopulateInformationPag +@@ -751,8 +751,8 @@ void AboutDialog::PopulateInformationPag << XO("Build Information") << wxT("\n"); diff --git a/audacity-no_return_in_nonvoid.patch b/audacity-no_return_in_nonvoid.patch index ebdf0f5..48c87df 100644 --- a/audacity-no_return_in_nonvoid.patch +++ b/audacity-no_return_in_nonvoid.patch @@ -1,8 +1,8 @@ -Index: audacity-Audacity-2.3.3/src/widgets/NumericTextCtrl.cpp +Index: b/src/widgets/NumericTextCtrl.cpp =================================================================== ---- audacity-Audacity-2.3.3.orig/src/widgets/NumericTextCtrl.cpp 2019-11-15 13:14:55.000000000 +0200 -+++ audacity-Audacity-2.3.3/src/widgets/NumericTextCtrl.cpp 2020-02-02 15:41:21.663740215 +0200 -@@ -637,6 +637,7 @@ static const BuiltinFormatString Bandwid +--- a/src/widgets/NumericTextCtrl.cpp 2020-06-19 17:16:47.000000000 +0200 ++++ b/src/widgets/NumericTextCtrl.cpp 2020-06-28 11:27:53.709676198 +0200 +@@ -654,6 +654,7 @@ static const BuiltinFormatString Bandwid case NumericConverter::BANDWIDTH: return WXSIZEOF(BandwidthConverterFormats_); } @@ -10,10 +10,10 @@ Index: audacity-Audacity-2.3.3/src/widgets/NumericTextCtrl.cpp } } -Index: audacity-Audacity-2.3.3/lib-src/libnyquist/nyquist/xlisp/xlbfun.c +Index: b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c =================================================================== ---- audacity-Audacity-2.3.3.orig/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2019-11-15 13:14:55.000000000 +0200 -+++ audacity-Audacity-2.3.3/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2020-02-02 15:41:21.663740215 +0200 +--- a/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2020-06-19 17:16:47.000000000 +0200 ++++ b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2020-06-28 11:27:53.773678563 +0200 @@ -603,7 +603,10 @@ LVAL xcleanup(void) { xllastarg(); @@ -26,3 +26,29 @@ Index: audacity-Audacity-2.3.3/lib-src/libnyquist/nyquist/xlisp/xlbfun.c } /* xtoplevel - special form 'top-level' */ +Index: b/lib-src/portsmf/allegro.cpp +=================================================================== +--- a/lib-src/portsmf/allegro.cpp 2020-06-19 17:16:47.000000000 +0200 ++++ b/lib-src/portsmf/allegro.cpp 2020-06-28 12:38:54.119640838 +0200 +@@ -2885,6 +2885,9 @@ Alg_event_ptr &Alg_seq::operator[](int i + tr++; + } + assert(false); // out of bounds ++ Alg_event_ptr ab_track; ++ return ab_track; // Fix false positive error: control reaches end of non-void function [-Werror=return-type] ++ // Ignores the assert A gcc bug? + } + #pragma warning(default: 4715) + +Index: b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c +=================================================================== +--- a/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c 2020-06-19 17:16:47.000000000 +0200 ++++ b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c 2020-06-28 11:54:14.043499973 +0200 +@@ -596,6 +596,7 @@ double pv_get_effective_pos(Phase_vocode + return -(pv->ratio * pv->fftsize / 2.0); + } else { // I can't think of any other case. + assert(FALSE); ++ return -(pv->ratio * pv->fftsize / 2.0); //Another false positive ignoring assert as a return value + } + } + diff --git a/audacity.changes b/audacity.changes index b10457a..74af475 100644 --- a/audacity.changes +++ b/audacity.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Sun Jun 28 11:54:42 UTC 2020 - Dave Plater + +- Update to 2.4.2, now uses cmake to build. +- Remove audacity-implicit-fortify-decl.patch and + audacity-flacversion.patch, fixed upstream +- Add two more false positives to + audacity-no_return_in_nonvoid.patch +- Upstream changes: + *Over 30 bugs fixed since 2.4.1 + *A new command has been added to the Tools menu: + Tools > Reset Configuration. + *Audacity now supports LAME's gapless playback info, allowing + MP3s to be exported and imported without additional padding. + ------------------------------------------------------------------- Mon Jun 15 09:28:20 UTC 2020 - Dave Plater diff --git a/audacity.spec b/audacity.spec index a47fc39..e129f1a 100644 --- a/audacity.spec +++ b/audacity.spec @@ -17,7 +17,7 @@ Name: audacity -Version: 2.4.1 +Version: 2.4.2 Release: 0 Summary: A Multi Track Digital Audio Editor License: GPL-2.0-or-later @@ -29,16 +29,10 @@ Source1: audacity-license-nyquist Source2: audacity-rpmlintrc # PATCH-FIX-OPENSUSE audacity-no_buildstamp.patch davejplater@gmail.com -- Remove the buildstamp. Patch0: audacity-no_buildstamp.patch -# PATCH-FIX-OPENSUSE audacity-flacversion.patch davejplater@gmail.com -- Patch to fix build against libflac 1.3.1+. -Patch1: audacity-flacversion.patch Patch2: audacity-misc-errors.patch -# PATCH-FIX-UPSTREAM audacity-no_return_in_nonvoid.patch +# PATCH-FIX-UPSTREAM audacity-no_return_in_nonvoid.patch - Fix false positive errors Two new gcc10 ones ignoring assert Patch3: audacity-no_return_in_nonvoid.patch -# PATCH-FIX-OPENSUSE audacity-implicit-fortify-decl.patch davejplater@gmail.com -- Leap:15.1's build misses "UNIX" definition in nyquist/xlisp/security.c -Patch4: audacity-implicit-fortify-decl.patch -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: cmake +BuildRequires: cmake >= 3.15 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ #!BuildIgnore: gstreamer-0_10-plugins-base @@ -73,11 +67,11 @@ BuildRequires: pkgconfig(vorbisfile) #BuildRequires: portaudio-devel Recommends: %{name}-lang # WARNING Nothing provides libavutil without a suffix -Requires: ffmpeg -Recommends: libmp3lame0 Requires: %{name}-plugins = %{version} -Requires: libFLAC++6 >= 1.3.1 -Requires: libFLAC8 >= 1.3.1 +Requires: ffmpeg +Requires: libmp3lame0 +#Doesn't build for 32 bit anymore +ExcludeArch: i586 %description Audacity is a program that manipulates digital audio wave forms. @@ -104,58 +98,56 @@ This package contains extra plugins for audacity. cp -f %{SOURCE1} LICENSE_NYQUIST.txt # Make sure we use the system versions. rm -rf lib-src/{expat,libvamp,libsoxr,ffmpeg,lame}/ +# Audacity's cmake can't find libmp3lame without a .pc file +# This is a temporary workaround. +echo "prefix=/usr" > lame.pc +echo "libdir=/usr/lib64" >> lame.pc +echo "includedir=/usr/include/lame" >> lame.pc +echo "" >> lame.pc +echo "Name: mp3lame" >> lame.pc +echo "Description: encoder that converts audio to the MP3 file format." >> lame.pc +echo "Requires: " >> lame.pc +echo "Version: 3.100" >> lame.pc +echo "Libs: -L${libdir} -lmp3lame " >> lame.pc +echo "Cflags: -I${includedir} " >> lame.pc + +#Included in src/AboutDialog.cpp but not supplied +touch include/RevisionIdent.h %build +export PKG_CONFIG_PATH="`echo $PWD`:%{_libdir}/pkgconfig" export CFLAGS="%{optflags} -fno-strict-aliasing -ggdb" export CXXFLAGS="$CFLAGS -std=gnu++11" -%if 1 == 1 -aclocal -I m4 -autoconf -%configure \ -%ifnarch %ix86 x86_64 - --disable-sse \ -%endif -%if 0%{?suse_version} > 1501 - --disable-dynamic-loading \ - %endif - --with-ffmpeg=system \ - --with-libmad=system \ - --with-libtwolame=system \ - --with-lame=system \ - --docdir=%{_docdir}/%{name}/ -%else -%cmake -%endif +%cmake \ + -Duse_lame:STRING=system make %{?_smp_mflags} %install -%make_install +%cmake_install # E-mail wrote to feedback@audacityteam.org. mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes/ mv -f %{buildroot}%{_datadir}/pixmaps/gnome-mime-application-x-audacity-project.xpm \ %{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes/application-x-audacity-project.xpm rm -rf %{buildroot}%{_datadir}/pixmaps/ -rm %{buildroot}%{_docdir}/%{name}/LICENSE.txt +rm -rf %{buildroot}%{_datadir}/doc cp -v lib-src/portmixer/LICENSE.txt portmixer.LICENSE.txt %find_lang %{name} %files plugins %license LICENSE.txt %dir %{_libdir}/%{name} -%{_libdir}/%{name}/libsuil*.so +%{_libdir}/%{name}/suil*.so %files %defattr(-,root,root) %doc README.txt %license LICENSE.txt LICENSE_NYQUIST.txt portmixer.LICENSE.txt -%doc %{_docdir}/%{name}/ %{_bindir}/%{name} %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/*/apps/%{name}.* -%{_datadir}/icons/hicolor/*/mimetypes/*%{name}* +%{_datadir}/icons/hicolor/* %{_datadir}/mime/packages/%{name}.xml %{_mandir}/man?/%{name}.?%{?ext_man} %dir %{_datadir}/appdata/ From 305b2afbd83610189db3ffe9b9df2327722371c083686f9be257a104e5b3b3fe Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Sun, 28 Jun 2020 14:13:14 +0000 Subject: [PATCH 2/4] Accepting request 817529 from home:plater - Update to 2.4.2, now uses cmake to build. - Create lame.pc in spec file. - Remove audacity-implicit-fortify-decl.patch and audacity-flacversion.patch, fixed upstream - Add two more false positives to audacity-no_return_in_nonvoid.patch OBS-URL: https://build.opensuse.org/request/show/817529 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=146 --- audacity.changes | 1 + audacity.spec | 3 +++ 2 files changed, 4 insertions(+) diff --git a/audacity.changes b/audacity.changes index 74af475..4c8778e 100644 --- a/audacity.changes +++ b/audacity.changes @@ -2,6 +2,7 @@ Sun Jun 28 11:54:42 UTC 2020 - Dave Plater - Update to 2.4.2, now uses cmake to build. +- Create lame.pc in spec file. - Remove audacity-implicit-fortify-decl.patch and audacity-flacversion.patch, fixed upstream - Add two more false positives to diff --git a/audacity.spec b/audacity.spec index e129f1a..0fe4f8c 100644 --- a/audacity.spec +++ b/audacity.spec @@ -100,6 +100,8 @@ cp -f %{SOURCE1} LICENSE_NYQUIST.txt rm -rf lib-src/{expat,libvamp,libsoxr,ffmpeg,lame}/ # Audacity's cmake can't find libmp3lame without a .pc file # This is a temporary workaround. +if ! test -e %{_libdir}/pkgconfig/lame.pc +then echo "prefix=/usr" > lame.pc echo "libdir=/usr/lib64" >> lame.pc echo "includedir=/usr/include/lame" >> lame.pc @@ -110,6 +112,7 @@ echo "Requires: " >> lame.pc echo "Version: 3.100" >> lame.pc echo "Libs: -L${libdir} -lmp3lame " >> lame.pc echo "Cflags: -I${includedir} " >> lame.pc +fi #Included in src/AboutDialog.cpp but not supplied touch include/RevisionIdent.h From 55746f3e2a182b4a6b6bf4d0a07c9b3a57e8b51de546e553b594c53a4a4c964a Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Mon, 29 Jun 2020 08:08:22 +0000 Subject: [PATCH 3/4] Accepting request 817636 from home:plater Fix .pc file OBS-URL: https://build.opensuse.org/request/show/817636 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=147 --- audacity.spec | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/audacity.spec b/audacity.spec index 0fe4f8c..0ab574d 100644 --- a/audacity.spec +++ b/audacity.spec @@ -70,8 +70,6 @@ Recommends: %{name}-lang Requires: %{name}-plugins = %{version} Requires: ffmpeg Requires: libmp3lame0 -#Doesn't build for 32 bit anymore -ExcludeArch: i586 %description Audacity is a program that manipulates digital audio wave forms. @@ -102,23 +100,28 @@ rm -rf lib-src/{expat,libvamp,libsoxr,ffmpeg,lame}/ # This is a temporary workaround. if ! test -e %{_libdir}/pkgconfig/lame.pc then -echo "prefix=/usr" > lame.pc -echo "libdir=/usr/lib64" >> lame.pc -echo "includedir=/usr/include/lame" >> lame.pc -echo "" >> lame.pc -echo "Name: mp3lame" >> lame.pc -echo "Description: encoder that converts audio to the MP3 file format." >> lame.pc -echo "Requires: " >> lame.pc -echo "Version: 3.100" >> lame.pc -echo "Libs: -L${libdir} -lmp3lame " >> lame.pc -echo "Cflags: -I${includedir} " >> lame.pc +echo "creating lame.pc" +cat << EOF > lame.pc +prefix=%{_prefix} +libdir=%{_libdir} +includedir=%{_includedir}/lame + +Name: mp3lame +Description: encoder that converts audio to the MP3 file format. +Version: 3.100 +Libs: -L${libdir} -lmp3lame +Cflags: -I${includedir} +EOF fi #Included in src/AboutDialog.cpp but not supplied touch include/RevisionIdent.h %build +if ! test -e %{_libdir}/pkgconfig/lame.pc +then export PKG_CONFIG_PATH="`echo $PWD`:%{_libdir}/pkgconfig" +fi export CFLAGS="%{optflags} -fno-strict-aliasing -ggdb" export CXXFLAGS="$CFLAGS -std=gnu++11" %cmake \ From cbce5de7f9710d642876a8eb56db66d0a331a417a165305f45b924225634ed1c Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Mon, 29 Jun 2020 11:23:31 +0000 Subject: [PATCH 4/4] Accepting request 817683 from home:plater Fix generated pc file OBS-URL: https://build.opensuse.org/request/show/817683 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=148 --- audacity.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/audacity.spec b/audacity.spec index 0ab574d..9a3f133 100644 --- a/audacity.spec +++ b/audacity.spec @@ -70,6 +70,8 @@ Recommends: %{name}-lang Requires: %{name}-plugins = %{version} Requires: ffmpeg Requires: libmp3lame0 +#Doesn't build for 32 bit anymore +ExcludeArch: i586 %description Audacity is a program that manipulates digital audio wave forms.