From c51800a46b52022a1dd6db850774a6698d97777a89ab75aa03b3c5758611a567 Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Thu, 14 Apr 2022 03:57:27 +0000 Subject: [PATCH] Accepting request 970013 from multimedia:proaudio OBS-URL: https://build.opensuse.org/request/show/970013 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=173 --- 0001-Adds-an-option-to-disable-Conan.patch | 283 ------------------ 0001-Fixes-wxwidgets-fixup-script.patch | 37 --- ...es-required-by-the-optional-features.patch | 64 ---- Audacity-3.0.5.tar.gz | 3 - Audacity-3.1.3.tar.gz | 3 + Fixes-GCC11-compatibility.patch | 16 - audacity-misc-errors.patch | 51 ---- audacity-no_buildstamp.patch | 34 +-- audacity-no_return_in_nonvoid.patch | 26 +- audacity.changes | 108 +++++++ audacity.spec | 33 +- missing-include.patch | 24 ++ no-more-strip.patch | 25 ++ 13 files changed, 195 insertions(+), 512 deletions(-) delete mode 100644 0001-Adds-an-option-to-disable-Conan.patch delete mode 100644 0001-Fixes-wxwidgets-fixup-script.patch delete mode 100644 0001-Scope-libraries-required-by-the-optional-features.patch delete mode 100644 Audacity-3.0.5.tar.gz create mode 100644 Audacity-3.1.3.tar.gz delete mode 100644 Fixes-GCC11-compatibility.patch delete mode 100644 audacity-misc-errors.patch create mode 100644 missing-include.patch create mode 100644 no-more-strip.patch diff --git a/0001-Adds-an-option-to-disable-Conan.patch b/0001-Adds-an-option-to-disable-Conan.patch deleted file mode 100644 index 0829df2..0000000 --- a/0001-Adds-an-option-to-disable-Conan.patch +++ /dev/null @@ -1,283 +0,0 @@ -From 1968e81c79d21dafbc47c07214cac45865c58ac1 Mon Sep 17 00:00:00 2001 -From: Dmitry Vedenko -Date: Fri, 18 Jun 2021 20:26:26 +0300 -Subject: [PATCH] Adds an option to disable Conan - ---- - BUILDING.md | 5 + - CMakeLists.txt | 8 +- - .../cmake-modules/AudacityDependencies.cmake | 156 ++++++++++-------- - 3 files changed, 102 insertions(+), 67 deletions(-) - -diff --git a/BUILDING.md b/BUILDING.md -index 62f6a0d62..7acd4ebec 100644 ---- a/BUILDING.md -+++ b/BUILDING.md -@@ -187,3 +187,8 @@ $ docker run --rm -v ${pwd}:/audacity/audacity/ -v ${pwd}/../build/linux-system: - ``` - - To find system packages, we rely on `pkg-config`. There are several packages that have broken `*.pc` or do not use `pkg-config` at all. For the docker image - we handle this issue by installing the correct [`pc` files](linux/build-environment/pkgconfig/). -+ -+### Disabling Conan -+ -+Conan can be disabled completely using `-Daudacity_conan_enabled=Off` during the configuration. -+This option implies `-Daudacity_obey_system_dependencies=On` and disables `local` for packages that are managed with Conan. -\ No newline at end of file -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f6f52118b..014c3dfcb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -138,6 +138,12 @@ include( AudacityFunctions ) - - set_from_env(AUDACITY_ARCH_LABEL) # e.g. x86_64 - -+# Allow user to globally set the library preference -+cmd_option( ${_OPT}conan_enabled -+ "Use Conan package manager for 3d party dependencies" -+ On -+) -+ - # Allow user to globally set the library preference - cmd_option( ${_OPT}lib_preference - "Library preference [system (if available), local]" -@@ -510,7 +516,7 @@ resolve_conan_dependencies() - - add_subdirectory( "help" ) - if(${_OPT}has_crashreports) --add_subdirectory( "crashreports" ) -+ add_subdirectory( "crashreports" ) - endif() - add_subdirectory( "images" ) - add_subdirectory( "libraries" ) -diff --git a/cmake-proxies/cmake-modules/AudacityDependencies.cmake b/cmake-proxies/cmake-modules/AudacityDependencies.cmake -index 8fad83465..8d0cbb05c 100644 ---- a/cmake-proxies/cmake-modules/AudacityDependencies.cmake -+++ b/cmake-proxies/cmake-modules/AudacityDependencies.cmake -@@ -1,10 +1,13 @@ - # Load Conan --include( conan ) - --conan_add_remote(NAME audacity -- URL https://artifactory.audacityteam.org/artifactory/api/conan/conan-local -- VERIFY_SSL True --) -+if( ${_OPT}conan_enabled ) -+ include( conan ) -+ -+ conan_add_remote(NAME audacity -+ URL https://artifactory.audacityteam.org/artifactory/api/conan/conan-local -+ VERIFY_SSL True -+ ) -+endif() - - set( CONAN_BUILD_REQUIRES ) - set( CONAN_REQUIRES ) -@@ -13,23 +16,29 @@ set( CONAN_ONLY_DEBUG_RELEASE ) - set( CONAN_CONFIG_OPTIONS ) - set( CONAN_RESOLVE_LIST ) - --# Add a Conan dependency --# Example usage: --# add_conan_lib( --# wxWdidget --# wxwidgets/3.1.3-audacity --# OPTION_NAME wxwidgets --# SYMBOL WXWIDGET --# REQUIRED --# ALWAYS_ALLOW_CONAN_FALLBACK --# PKG_CONFIG "wxwidgets >= 3.1.3" --# FIND_PACKAGE_OPTIONS COMPONENTS adv base core html qa xml --# INTERFACE_NAME wxwidgets::wxwidgets --# HAS_ONLY_DEBUG_RELEASE --# CONAN_OPTIONS --# wxwidgets:shared=True --# ) -+#[[ -+Add a Conan dependency -+ -+Example usage: -+ -+add_conan_lib( -+ wxWdidget -+ wxwidgets/3.1.3-audacity -+ OPTION_NAME wxwidgets -+ SYMBOL WXWIDGET -+ REQUIRED -+ ALWAYS_ALLOW_CONAN_FALLBACK -+ PKG_CONFIG "wxwidgets >= 3.1.3" -+ FIND_PACKAGE_OPTIONS COMPONENTS adv base core html qa xml -+ INTERFACE_NAME wxwidgets::wxwidgets -+ HAS_ONLY_DEBUG_RELEASE -+ CONAN_OPTIONS -+ wxwidgets:shared=True -+) - -+PKG_CONFIG accepts a list of possible package configurations. -+add_conan_lib will iterate over it one by one until the library is found. -+]] - - function (add_conan_lib package conan_package_name ) - # Extract the list of packages from the function args -@@ -54,6 +63,8 @@ function (add_conan_lib package conan_package_name ) - set( list_mode on ) - set( allow_find_package on ) - set( current_var "find_package_options" ) -+ elseif ( opt STREQUAL "ALLOW_FIND_PACKAGE" ) -+ set ( allow_find_package on ) - elseif ( opt STREQUAL "CONAN_OPTIONS" ) - set( list_mode on ) - set( current_var "conan_package_options" ) -@@ -93,14 +104,23 @@ function (add_conan_lib package conan_package_name ) - - set( option_desc "local" ) - -- if( pkg_config_options OR allow_find_package ) -+ if( pkg_config_options OR allow_find_package OR NOT ${_OPT}conan_enabled ) - set( sysopt "system" ) - string( PREPEND option_desc "system (if available), " ) -- set( default "${${_OPT}lib_preference}" ) -+ -+ if( ${_OPT}conan_enabled ) -+ set( default "${${_OPT}lib_preference}" ) -+ else() -+ set( default "system" ) -+ endif() - else() - set( default "local" ) - endif() - -+ if( ${_OPT}conan_enabled ) -+ set( localopt "local" ) -+ endif() -+ - if( NOT required ) - set( reqopt "off" ) - string( APPEND option_desc ", off" ) -@@ -109,7 +129,7 @@ function (add_conan_lib package conan_package_name ) - cmd_option( ${option_name} - "Use ${option_name_base} library [${option_desc}]" - "${default}" -- STRINGS ${sysopt} "local" ${reqopt} -+ STRINGS ${sysopt} ${localopt} ${reqopt} - ) - - # Early bail out -@@ -129,26 +149,28 @@ function (add_conan_lib package conan_package_name ) - return() - endif() - -- if( ${option_name} STREQUAL "system" ) -+ if( ${option_name} STREQUAL "system" OR NOT ${_OPT}conan_enabled ) - if( pkg_config_options ) -- pkg_check_modules( PKG_${package} ${pkg_config_options} ) -+ foreach(variant ${pkg_config_options}) -+ pkg_check_modules( PKG_${package} ${variant} ) - -- if( PKG_${package}_FOUND ) -- message( STATUS "Using '${package}' system library" ) -- -- # Create the target interface library -- add_library( ${interface_name} INTERFACE IMPORTED GLOBAL) -- -- # Retrieve the package information -- get_package_interface( PKG_${package} ) -+ if( PKG_${package}_FOUND ) -+ message( STATUS "Using '${package}' system library" ) - -- # And add it to our target -- target_include_directories( ${interface_name} INTERFACE ${INCLUDES} ) -- target_link_libraries( ${interface_name} INTERFACE ${LIBRARIES} ) -- -- message(STATUS "Added inteface ${interface_name} ${INCLUDES} ${LIBRARIES}") -- return() -- endif() -+ # Create the target interface library -+ add_library( ${interface_name} INTERFACE IMPORTED GLOBAL) -+ -+ # Retrieve the package information -+ get_package_interface( PKG_${package} ) -+ -+ # And add it to our target -+ target_include_directories( ${interface_name} INTERFACE ${INCLUDES} ) -+ target_link_libraries( ${interface_name} INTERFACE ${LIBRARIES} ) -+ -+ message(STATUS "Added inteface ${interface_name} ${INCLUDES} ${LIBRARIES}") -+ return() -+ endif() -+ endforeach() - endif() - - if( allow_find_package ) -@@ -160,7 +182,7 @@ function (add_conan_lib package conan_package_name ) - endif() - endif() - -- if( system_only ) -+ if( system_only OR NOT ${_OPT}conan_enabled ) - message( FATAL_ERROR "Failed to find the system package ${package}" ) - else() - set( ${option_name} "local" ) -@@ -237,34 +259,36 @@ function ( _conan_install build_type ) - endfunction() - - macro( resolve_conan_dependencies ) -- message(STATUS -- "Executing Conan: \ -- REQUIRES ${CONAN_REQUIRES} -- GENERATORS cmake_find_package_multi -- BUILD_REQUIRES ${CONAN_BUILD_REQUIRES} -- ${CONAN_CONFIG_OPTIONS} -- OPTIONS ${CONAN_PACKAGE_OPTIONS} -- ") -- -- if(MSVC OR XCODE) -- foreach(TYPE ${CMAKE_CONFIGURATION_TYPES}) -- _conan_install(${TYPE}) -- endforeach() -- else() -- _conan_install(${CMAKE_BUILD_TYPE}) -- endif() -+ if( ${_OPT}conan_enabled ) -+ message(STATUS -+ "Executing Conan: \ -+ REQUIRES ${CONAN_REQUIRES} -+ GENERATORS cmake_find_package_multi -+ BUILD_REQUIRES ${CONAN_BUILD_REQUIRES} -+ ${CONAN_CONFIG_OPTIONS} -+ OPTIONS ${CONAN_PACKAGE_OPTIONS} -+ ") -+ -+ if(MSVC OR XCODE) -+ foreach(TYPE ${CMAKE_CONFIGURATION_TYPES}) -+ _conan_install(${TYPE}) -+ endforeach() -+ else() -+ _conan_install(${CMAKE_BUILD_TYPE}) -+ endif() - -- list( REMOVE_DUPLICATES CONAN_REQUIRES ) -+ list( REMOVE_DUPLICATES CONAN_REQUIRES ) - -- foreach( package ${CONAN_RESOLVE_LIST} ) -- message(STATUS "Resolving Conan library ${package}") -+ foreach( package ${CONAN_RESOLVE_LIST} ) -+ message(STATUS "Resolving Conan library ${package}") - -- find_package(${package} CONFIG) -+ find_package(${package} CONFIG) - -- if (NOT ${package}_FOUND) -- message( FATAL_ERROR "Failed to find the conan package ${package}" ) -- endif() -- endforeach() -+ if (NOT ${package}_FOUND) -+ message( FATAL_ERROR "Failed to find the conan package ${package}" ) -+ endif() -+ endforeach() -+ endif() - - file(GLOB dependency_helpers "${AUDACITY_MODULE_PATH}/dependencies/*.cmake") - --- -2.26.2 - diff --git a/0001-Fixes-wxwidgets-fixup-script.patch b/0001-Fixes-wxwidgets-fixup-script.patch deleted file mode 100644 index 868b2cd..0000000 --- a/0001-Fixes-wxwidgets-fixup-script.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 65886f5c2c568572602f6d82f4717508cb720f10 Mon Sep 17 00:00:00 2001 -From: Dmitry Vedenko -Date: Fri, 18 Jun 2021 20:29:22 +0300 -Subject: [PATCH] Fixes wxwidgets fixup script - ---- - .../cmake-modules/dependencies/wxwidgets.cmake | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake b/cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake -index 2def9ae85..4b35e8947 100644 ---- a/cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake -+++ b/cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake -@@ -1,4 +1,10 @@ --if( ${_OPT}use_wxwidgets STREQUAL "system" ) -+if( ${_OPT}use_wxwidgets STREQUAL "system" OR NOT ${_OPT}conan_enabled ) -+ # DV: find_package will be scoped, as FindwxWidgets.cmake is rather outdated. -+ # Still - let's perform the sanity check first. -+ if( NOT wxWidgets_FOUND ) -+ find_package( wxWidgets REQUIRED COMPONENTS adv base core html qa xml net ) -+ endif() -+ - if( NOT TARGET wxwidgets::wxwidgets ) - add_library( wxwidgets::wxwidgets INTERFACE IMPORTED GLOBAL) - endif() -@@ -74,6 +80,8 @@ if( ${_OPT}use_wxwidgets STREQUAL "system" ) - - set( toolkit "${wxWidgets_LIBRARIES}" ) - -+ message(STATUS "Trying to retrieve GTK version from ${toolkit}") -+ - if( "${toolkit}" MATCHES ".*gtk2.*" ) - set( gtk gtk+-2.0 ) - set( glib glib-2.0 ) --- -2.26.2 - diff --git a/0001-Scope-libraries-required-by-the-optional-features.patch b/0001-Scope-libraries-required-by-the-optional-features.patch deleted file mode 100644 index 42105f7..0000000 --- a/0001-Scope-libraries-required-by-the-optional-features.patch +++ /dev/null @@ -1,64 +0,0 @@ -From eb2df2c0f68f3086085001207ff17a12a2523e9f Mon Sep 17 00:00:00 2001 -From: Dmitry Vedenko -Date: Fri, 18 Jun 2021 20:26:58 +0300 -Subject: [PATCH] Scope libraries, required by the optional features - ---- - cmake-proxies/CMakeLists.txt | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - -Index: b/cmake-proxies/CMakeLists.txt -=================================================================== ---- a/cmake-proxies/CMakeLists.txt 2021-08-18 12:21:37.000000000 +0200 -+++ b/cmake-proxies/CMakeLists.txt 2021-08-26 08:14:23.274727098 +0200 -@@ -87,6 +87,7 @@ add_conan_lib( - REQUIRED - INTERFACE_NAME libmp3lame::libmp3lame - PKG_CONFIG "lame >= 3.100" -+ ALLOW_FIND_PACKAGE - ) - - add_conan_lib( -@@ -113,16 +114,16 @@ else() - set ( curl_ssl "openssl" ) - endif () - --add_conan_lib( -- ThreadPool -- threadpool/20140926 -- REQUIRED -- ALWAYS_ALLOW_CONAN_FALLBACK --) -- - if( ${_OPT}has_networking ) - - add_conan_lib( -+ ThreadPool -+ threadpool/20140926 -+ REQUIRED -+ ALWAYS_ALLOW_CONAN_FALLBACK -+ ) -+ -+ add_conan_lib( - CURL - libcurl/7.75.0 - REQUIRED -@@ -148,11 +149,13 @@ if( NOT CMAKE_SYSTEM_NAME MATCHES "Darwi - ) - endif() - --add_conan_lib( -- RapidJSON -- rapidjson/1.1.0 -- REQUIRED --) -+if( ${_OPT}has_sentry_reporting ) -+ add_conan_lib( -+ RapidJSON -+ rapidjson/1.1.0 -+ REQUIRED -+ ) -+endif() - - set_conan_vars_to_parent() - diff --git a/Audacity-3.0.5.tar.gz b/Audacity-3.0.5.tar.gz deleted file mode 100644 index c8582ee..0000000 --- a/Audacity-3.0.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b94dcaf45545ebf0d9a44b71fbdc1251109100b465ff4d71860849b5ffcf525 -size 63066756 diff --git a/Audacity-3.1.3.tar.gz b/Audacity-3.1.3.tar.gz new file mode 100644 index 0000000..bbbc48c --- /dev/null +++ b/Audacity-3.1.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07aed333a20b8df381d5c0a167840883fff8ef65f5e5f71e654c0925d6c60de8 +size 56500219 diff --git a/Fixes-GCC11-compatibility.patch b/Fixes-GCC11-compatibility.patch deleted file mode 100644 index 9e65b21..0000000 --- a/Fixes-GCC11-compatibility.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: Dave Plater davejplater@gmail.com - Date: Fri 27 Aug 15:03:07 SAST 2021 - Subject: [PATCH] Fix build by adding #include - - ---Index: b/libraries/lib-utility/MemoryX.h -=================================================================== ---- a/libraries/lib-utility/MemoryX.h 2021-08-18 12:21:37.000000000 +0200 -+++ b/libraries/lib-utility/MemoryX.h 2021-08-27 07:52:26.723479327 +0200 -@@ -10,6 +10,7 @@ - #endif - - #include -+#include - - /* - * ArrayOf diff --git a/audacity-misc-errors.patch b/audacity-misc-errors.patch deleted file mode 100644 index 697fa6e..0000000 --- a/audacity-misc-errors.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Dave Plater -Date: Thu 22 Feb 12:11:43 SAST 2018 -Subject: Fix various build errors found by rpmlint -References: -Upstream: reported to audacity devel list. - -I: Program is using implicit definitions of functions getting - pointers or implemented by macros. These functions need to use their - correct prototypes to allow correct argument passing on e.g. x86_64 . - - Implicit memory/string functions need #include . - - Implicit *printf functions need #include . - - Implicit *printf functions need #include . - - Implicit *read* functions need #include . - - Implicit *recv* functions need #include . -W: audacity implicit-pointer-decl pm_linux/finddefault.c:16 - -I: Program is using uninitialized variables. - Note the difference between "is used" and "may be used" -W: audacity uninitialized-variable ../include/audacity/EffectAutomationParameters.h:122 -W: audacity uninitialized-variable sse.h:19 - -I: Program uses operation a <= b <= c, which is not well defined. -E: audacity mathmeaning SplashDialog.cpp:148 - - -Index: b/lib-src/portmidi/pm_linux/finddefault.c -=================================================================== ---- a/lib-src/portmidi/pm_linux/finddefault.c 2021-03-09 12:19:38.000000000 +0200 -+++ b/lib-src/portmidi/pm_linux/finddefault.c 2021-03-23 08:53:08.077749524 +0200 -@@ -5,6 +5,8 @@ - #include - #include - #include -+#include -+#include - #include "portmidi.h" - - #define STRING_MAX 256 -Index: b/include/audacity/EffectAutomationParameters.h -=================================================================== ---- a/include/audacity/EffectAutomationParameters.h 2021-03-09 12:19:38.000000000 +0200 -+++ b/include/audacity/EffectAutomationParameters.h 2021-03-23 08:53:08.077749524 +0200 -@@ -135,7 +135,7 @@ public: - - bool ReadFloat(const wxString & key, float *pf) const - { -- double d = *pf; -+ double d = (float) *pf; - bool success = Read(key, &d); - if (success) - { diff --git a/audacity-no_buildstamp.patch b/audacity-no_buildstamp.patch index b4988b2..29b1847 100644 --- a/audacity-no_buildstamp.patch +++ b/audacity-no_buildstamp.patch @@ -1,20 +1,7 @@ -Index: b/lib-src/portaudio-v19/qa/loopback/src/paqa.c +Index: audacity-Audacity-3.1.3-beta-1/src/AboutDialog.cpp =================================================================== ---- a/lib-src/portaudio-v19/qa/loopback/src/paqa.c -+++ b/lib-src/portaudio-v19/qa/loopback/src/paqa.c -@@ -1460,7 +1460,7 @@ int main( int argc, char **argv ) - int justMath = 0; - char *executableName = argv[0]; - -- printf("PortAudio LoopBack Test built " __DATE__ " at " __TIME__ "\n"); -+ printf("PortAudio LoopBack Test built " "17 March 2017" " at " "23:15" "\n"); - - if( argc > 1 ){ - printf("running with arguments:"); -Index: b/src/AboutDialog.cpp -=================================================================== ---- a/src/AboutDialog.cpp -+++ b/src/AboutDialog.cpp +--- audacity-Audacity-3.1.3-beta-1.orig/src/AboutDialog.cpp ++++ audacity-Audacity-3.1.3-beta-1/src/AboutDialog.cpp @@ -71,7 +71,7 @@ hold information about one contributor t #endif @@ -24,7 +11,7 @@ Index: b/src/AboutDialog.cpp #else #define REV_IDENT (XO("No revision identifier was provided").Translation()) #endif -@@ -597,8 +597,8 @@ void AboutDialog::PopulateInformationPag +@@ -598,8 +598,8 @@ void AboutDialog::PopulateInformationPag << XO("The Build") << wxT("\n"); // start build info table @@ -35,16 +22,3 @@ Index: b/src/AboutDialog.cpp AddBuildinfoRow(&informationStr, XO("Commit Id:"), REV_IDENT ); auto buildType = -Index: b/CMakeLists.txt -=================================================================== ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -19,7 +19,7 @@ endif () - # still link to the alpha manual online. - - # Set this value to 0 for alpha, 1 for beta, 2 for release builds --set( AUDACITY_BUILD_LEVEL 0 CACHE STRING "0 for alpha, 1 for beta, 2 for release builds" ) -+set( AUDACITY_BUILD_LEVEL 2 CACHE STRING "0 for alpha, 1 for beta, 2 for release builds" ) - - # The Audacity version - # Increment as appropriate after release of a new version, and set back diff --git a/audacity-no_return_in_nonvoid.patch b/audacity-no_return_in_nonvoid.patch index 85384d3..377c7ca 100644 --- a/audacity-no_return_in_nonvoid.patch +++ b/audacity-no_return_in_nonvoid.patch @@ -1,8 +1,8 @@ -Index: b/src/widgets/NumericTextCtrl.cpp +Index: audacity-Audacity-3.1.3-beta-1/src/widgets/NumericTextCtrl.cpp =================================================================== ---- a/src/widgets/NumericTextCtrl.cpp 2021-08-26 08:15:19.157002365 +0200 -+++ b/src/widgets/NumericTextCtrl.cpp 2021-08-26 08:15:38.545784197 +0200 -@@ -677,6 +677,7 @@ static const BuiltinFormatString Bandwid +--- audacity-Audacity-3.1.3-beta-1.orig/src/widgets/NumericTextCtrl.cpp ++++ audacity-Audacity-3.1.3-beta-1/src/widgets/NumericTextCtrl.cpp +@@ -679,6 +679,7 @@ static const BuiltinFormatString Bandwid case NumericConverter::BANDWIDTH: return WXSIZEOF(BandwidthConverterFormats_); } @@ -10,10 +10,10 @@ Index: b/src/widgets/NumericTextCtrl.cpp } } -Index: b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c +Index: audacity-Audacity-3.1.3-beta-1/lib-src/libnyquist/nyquist/xlisp/xlbfun.c =================================================================== ---- a/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2021-08-26 08:15:19.157002365 +0200 -+++ b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c 2021-08-26 08:15:38.545784197 +0200 +--- audacity-Audacity-3.1.3-beta-1.orig/lib-src/libnyquist/nyquist/xlisp/xlbfun.c ++++ audacity-Audacity-3.1.3-beta-1/lib-src/libnyquist/nyquist/xlisp/xlbfun.c @@ -603,7 +603,10 @@ LVAL xcleanup(void) { xllastarg(); @@ -26,10 +26,10 @@ Index: b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c } /* xtoplevel - special form 'top-level' */ -Index: b/lib-src/portsmf/allegro.cpp +Index: audacity-Audacity-3.1.3-beta-1/lib-src/portsmf/allegro.cpp =================================================================== ---- a/lib-src/portsmf/allegro.cpp 2021-08-26 08:15:19.157002365 +0200 -+++ b/lib-src/portsmf/allegro.cpp 2021-08-26 08:15:38.545784197 +0200 +--- audacity-Audacity-3.1.3-beta-1.orig/lib-src/portsmf/allegro.cpp ++++ audacity-Audacity-3.1.3-beta-1/lib-src/portsmf/allegro.cpp @@ -2905,6 +2905,9 @@ Alg_event_ptr &Alg_seq::operator[](int i tr++; } @@ -40,10 +40,10 @@ Index: b/lib-src/portsmf/allegro.cpp } #pragma warning(default: 4715) -Index: b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c +Index: audacity-Audacity-3.1.3-beta-1/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c =================================================================== ---- a/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c 2021-08-26 08:15:19.157002365 +0200 -+++ b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c 2021-08-26 08:15:38.545784197 +0200 +--- audacity-Audacity-3.1.3-beta-1.orig/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c ++++ audacity-Audacity-3.1.3-beta-1/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c @@ -600,6 +600,7 @@ double pv_get_effective_pos(Phase_vocode return -(pv->ratio * pv->fftsize / 2.0); } // I can't think of any other case. diff --git a/audacity.changes b/audacity.changes index 3c861e2..aa8df58 100644 --- a/audacity.changes +++ b/audacity.changes @@ -1,8 +1,116 @@ +------------------------------------------------------------------- +Wed Apr 13 23:35:32 UTC 2022 - Konstantin Voinov + +- Update to 3.1.3 + * remove patches, now upstream: + 0001-Adds-an-option-to-disable-Conan.patch + 0001-Fixes-wxwidgets-fixup-script.patch + 0001-Scope-libraries-required-by-the-optional-features.patch + ------------------------------------------------------------------- Mon Jan 31 08:17:38 UTC 2022 - Dave Plater - Added conditional %post and %postun for Leap, to fix boo#1194977 +------------------------------------------------------------------- +Fri Dec 3 17:09:54 UTC 2021 - Marcus Rueckert + +- prefer more system packages + - sqlite3 + - portmidi + - portaudio +- add some missing includes: missing-include.patch +- make sure we no longer strip the binaries: added + no-more-strip.patch +- audacity_use_ffmpeg=linked no longer works. switch to loaded. +- bump from c++11 to c++17 (as the package now requires a c++17 + compiler) +- drop patches: + 0001-Adds-an-option-to-disable-Conan.patch + 0001-Fixes-wxwidgets-fixup-script.patch + 0001-Scope-libraries-required-by-the-optional-features.patch + Fixes-GCC11-compatibility.patch + audacity-misc-errors.patch +- refresh patches: + audacity-no_buildstamp.patch + audacity-no_return_in_nonvoid.patch + +------------------------------------------------------------------- +Fri Dec 3 17:08:54 UTC 2021 - Marcus Rueckert + +- Update to 3.1.3~beta1 + This is a hotfix release. It improves project performance + significantly (up to 50x) compared to 3.1.0, and fixes the + following bugs: + - Fixes a crash when releasing a clip handle #2147 + +------------------------------------------------------------------- +Fri Dec 3 17:04:17 UTC 2021 - Marcus Rueckert + +- Update to 3.1.2 + This is a hotfix release. It fixes the following bugs: + - Fixed UTF8 support in clip titles #2135 + - Fixed data loss when joining clips #2123 + - Fixed a crash with exporting resampled tracks #2136 + - Fixed a crash when opening projects with very small double + values #2128 +- Update to 3.1.1 + This is a hotfix release. It fixes the following bugs: + Other than that, this release is identical to Audacity 3.1.0 + - Fixed FFMPEG imports only importing the left channel #2046 + - Improved Audacity's performance when many clips are present + - Fixed a crash with detach at silences #2072 + - Fixed clip name corruption when applying effects to adjacent + clips #1889 + - Fixed a crash with the time shift commands #2061 + - Fixed custom themes not working #2043 +- Update to 3.1.0 + This release introduces clip handles, smart clips and playback + looping as its major new features. + Smaller changes: + - Context menus have been added in more places. + - In the preferences, Tracks > Track behaviors > Editing a clip + can move other clips is now disabled by default + - The spectrogram defaults have been changed: scale type to Mel + (was Linear), top of scale to 20000 Hz (was 8000 Hz), window + size to 2048 (was 1024), and zero padding to 2 (was 1). + - The main volume controls no longer change the system volume. + - Raw Import now will remember the previously used settings. + Automatic detection of the format now is a button. + - A journaling feature has been added for QA purposes. + - Generate > Tone now supports triangle waves. + - There now exist "What's new" screens for the update and welcome + dialogs. + - Timeline Quick Play for regions and locked regions have been + replaced by playback looping. + - The shortcut to rename labels and clip names has temporarily + been hardcoded to Ctrl+F2. + - This conflicts with the default xfce shortcut to change + workspaces. Library changes: + - FFMPEG now supports avformat 55, 57 and 58. + - PortAudio has been updated to version 19.7 and devendored (so + it can be built against 19.6). + - Several libraries (expat, libsndfile, ...) have been + devendored. The CMakeLists.txt lists which versions we build + against. Fixed Bugs: There are some 50 issues closed labeled as + bug. Among them: + - AppImages support localization. #1382 + - Progress bars for Nyquist generators have been made more + accurate. #1856 + - Rhythm tracks can no longer drift off-time by 2ms over 9 + minutes; they're now sample-accurate. #1853 + - The play button has regained a pixel or two to become a + triangle once more. #1792 + - Auto Duck has been made way more accurate and should no longer + miss sections above the threshold. #1389 + - The manual now only is included in the executable once #1917 + - Shift-clicking a menu item no longer opens the settings menu + #1358 + - FFMPEG no longer segfaults ALSA #1170 + - Audacity no longer crashes when macros output directory is set + to C:\ #1174 + - A bouncing ball of death problem has been fixed #1312 + ------------------------------------------------------------------- Tue Nov 30 06:17:14 UTC 2021 - Dave Plater diff --git a/audacity.spec b/audacity.spec index 0b8d382..78befbb 100644 --- a/audacity.spec +++ b/audacity.spec @@ -17,32 +17,31 @@ Name: audacity -Version: 3.0.5 +Version: 3.1.3 Release: 0 +%define pkg_version 3.1.3 Summary: A Multi Track Digital Audio Editor License: GPL-2.0-or-later Group: Productivity/Multimedia/Sound/Utilities URL: http://audacityteam.org/ # https://github.com/audacity/audacity/archive/refs/tags/Audacity-3.0.4.tar.gz -Source: https://github.com/audacity/audacity/archive/Audacity-%{version}.tar.gz +Source: https://github.com/audacity/audacity/archive/Audacity-%{pkg_version}.tar.gz #Source: https://www.fosshub.com/Audacity.html/%%{name}-minsrc-%%{version}.tar.xz 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 -Patch1: audacity-misc-errors.patch # PATCH-FIX-UPSTREAM audacity-no_return_in_nonvoid.patch - Fix false positive errors Two new gcc10 ones ignoring assert -Patch2: audacity-no_return_in_nonvoid.patch -Patch3: 0001-Adds-an-option-to-disable-Conan.patch -Patch4: 0001-Scope-libraries-required-by-the-optional-features.patch -Patch5: 0001-Fixes-wxwidgets-fixup-script.patch -Patch6: Fixes-GCC11-compatibility.patch -BuildRequires: cmake >= 3.15 +Patch1: audacity-no_return_in_nonvoid.patch +#Patch2: missing-include.patch +Patch3: no-more-strip.patch +BuildRequires: cmake >= 3.16 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ #!BuildIgnore: gstreamer-0_10-plugins-base BuildRequires: hicolor-icon-theme BuildRequires: libmp3lame-devel +BuildRequires: portmidi-devel BuildRequires: wxWidgets-3_2-nostl-devel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(expat) @@ -59,12 +58,14 @@ BuildRequires: pkgconfig(lilv-0) >= 0.24.6 BuildRequires: pkgconfig(lv2) >= 1.16.0 BuildRequires: pkgconfig(mad) BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(serd-0) >= 0.30.2 BuildRequires: pkgconfig(shared-mime-info) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(sord-0) >= 0.16.4 BuildRequires: pkgconfig(soundtouch) BuildRequires: pkgconfig(soxr) +BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(sratom-0) >= 0.6.4 BuildRequires: pkgconfig(suil-0) >= 0.10.6 BuildRequires: pkgconfig(twolame) @@ -100,7 +101,7 @@ physical memory size can be edited. %lang_package %prep -%setup -q -n %{name}-Audacity-%{version} +%setup -q -n %{name}-Audacity-%{pkg_version} %autopatch -p1 cp -f %{SOURCE1} LICENSE_NYQUIST.txt @@ -133,15 +134,18 @@ then export PKG_CONFIG_PATH="`echo $PWD`:%{_libdir}/pkgconfig" fi export CFLAGS="%{optflags} -fno-strict-aliasing -ggdb $(wx-config --cflags)" -export CXXFLAGS="$CFLAGS -std=gnu++11" +export CXXFLAGS="$CFLAGS -std=gnu++17" %cmake \ + -DAUDACITY_REV_TIME=$(date -u -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%dT%H:%M:%SZ") \ + -DAUDACITY_REV_LONG=STRING:%{version} \ + -DAUDACITY_BUILD_LEVEL=1 \ -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(wx-config --libs)" \ -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(wx-config --libs)" \ -Daudacity_conan_enabled=Off \ -Daudacity_has_networking:BOOL=Off \ -Daudacity_lib_preference:STRING=system \ -Duse_lame:STRING=system \ - -Daudacity_use_ffmpeg:STRING=linked + -Daudacity_use_ffmpeg:STRING=loaded make %{?_smp_mflags} @@ -156,7 +160,6 @@ mv -f %{buildroot}%{_datadir}/pixmaps/gnome-mime-application-x-audacity-project. %{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes/application-x-audacity-project.xpm rm -rf %{buildroot}%{_datadir}/pixmaps/ rm -rf %{buildroot}%{_datadir}/doc -cp -v lib-src/portmixer/LICENSE.txt portmixer.LICENSE.txt # Why make install installs these is a mystery rm -f %{buildroot}%{_libdir}/audacity/libwx_baseu-suse-nostl.so.* @@ -182,10 +185,10 @@ ldconfig %{_libdir}/%{name} %files %defattr(-,root,root) %doc README.txt -%license LICENSE.txt LICENSE_NYQUIST.txt portmixer.LICENSE.txt +%license LICENSE.txt LICENSE_NYQUIST.txt %{_bindir}/%{name} %{_libdir}/%{name} -#%%{_libdir}/%%{name}/modules/mod-script-pipe.so +%{_libdir}/%%{name}/modules/mod-script-pipe.so %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/* diff --git a/missing-include.patch b/missing-include.patch new file mode 100644 index 0000000..d144739 --- /dev/null +++ b/missing-include.patch @@ -0,0 +1,24 @@ +Index: audacity-Audacity-3.1.3-beta-1/libraries/lib-utility/BufferedStreamReader.h +=================================================================== +--- audacity-Audacity-3.1.3-beta-1.orig/libraries/lib-utility/BufferedStreamReader.h ++++ audacity-Audacity-3.1.3-beta-1/libraries/lib-utility/BufferedStreamReader.h +@@ -12,6 +12,7 @@ + + #include + #include ++#include + #include + + /*! +Index: audacity-Audacity-3.1.3-beta-1/libraries/lib-xml/XMLAttributeValueView.cpp +=================================================================== +--- audacity-Audacity-3.1.3-beta-1.orig/libraries/lib-xml/XMLAttributeValueView.cpp ++++ audacity-Audacity-3.1.3-beta-1/libraries/lib-xml/XMLAttributeValueView.cpp +@@ -12,6 +12,7 @@ + #include "FromChars.h" + + #include ++#include + + XMLAttributeValueView::XMLAttributeValueView(bool value) noexcept + : mInteger(value) diff --git a/no-more-strip.patch b/no-more-strip.patch new file mode 100644 index 0000000..c10fdb6 --- /dev/null +++ b/no-more-strip.patch @@ -0,0 +1,25 @@ +Index: audacity-Audacity-3.1.3-beta-1/cmake-proxies/cmake-modules/AudacityFunctions.cmake +=================================================================== +--- audacity-Audacity-3.1.3-beta-1.orig/cmake-proxies/cmake-modules/AudacityFunctions.cmake ++++ audacity-Audacity-3.1.3-beta-1/cmake-proxies/cmake-modules/AudacityFunctions.cmake +@@ -440,13 +440,13 @@ function( audacity_module_fn NAME SOURCE + target_link_options( ${TARGET} PRIVATE ${LOPTS} ) + target_link_libraries( ${TARGET} PUBLIC ${LIBRARIES} ) + +- if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) +- add_custom_command( +- TARGET "${TARGET}" +- POST_BUILD +- COMMAND $,echo,strip> -x $ +- ) +- endif() ++ # if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) ++ # add_custom_command( ++ # TARGET "${TARGET}" ++ # POST_BUILD ++ # COMMAND $,echo,strip> -x $ ++ # ) ++ # endif() + + if( NOT REAL_LIBTYPE STREQUAL "MODULE" ) + if( CMAKE_SYSTEM_NAME MATCHES "Windows" )