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
This commit is contained in:
Dave Plater 2022-04-14 03:57:27 +00:00 committed by Git OBS Bridge
parent 137cef760a
commit c51800a46b
13 changed files with 195 additions and 512 deletions

View File

@ -1,283 +0,0 @@
From 1968e81c79d21dafbc47c07214cac45865c58ac1 Mon Sep 17 00:00:00 2001
From: Dmitry Vedenko <vedenko@gmail.com>
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

View File

@ -1,37 +0,0 @@
From 65886f5c2c568572602f6d82f4717508cb720f10 Mon Sep 17 00:00:00 2001
From: Dmitry Vedenko <vedenko@gmail.com>
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

View File

@ -1,64 +0,0 @@
From eb2df2c0f68f3086085001207ff17a12a2523e9f Mon Sep 17 00:00:00 2001
From: Dmitry Vedenko <vedenko@gmail.com>
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()

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b94dcaf45545ebf0d9a44b71fbdc1251109100b465ff4d71860849b5ffcf525
size 63066756

3
Audacity-3.1.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07aed333a20b8df381d5c0a167840883fff8ef65f5e5f71e654c0925d6c60de8
size 56500219

View File

@ -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 <limits>
---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 <functional>
+#include <limits>
/*
* ArrayOf<X>

View File

@ -1,51 +0,0 @@
From: Dave Plater <plater@opensuse.org>
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 <string.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *read* functions need #include <unistd.h>.
- Implicit *recv* functions need #include <sys/socket.h>.
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
#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)
{

View File

@ -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("</h3>\n<table>"); // 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

View File

@ -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.

View File

@ -1,8 +1,116 @@
-------------------------------------------------------------------
Wed Apr 13 23:35:32 UTC 2022 - Konstantin Voinov <kv@kott.no-ip.biz>
- 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 <davejplater@gmail.com>
- Added conditional %post and %postun for Leap, to fix boo#1194977
-------------------------------------------------------------------
Fri Dec 3 17:09:54 UTC 2021 - Marcus Rueckert <mrueckert@suse.de>
- 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 <mrueckert@suse.de>
- 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 <mrueckert@suse.de>
- 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 <davejplater@gmail.com>

View File

@ -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/*

24
missing-include.patch Normal file
View File

@ -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 <vector>
#include <cstdint>
+#include <cstddef>
#include <type_traits>
/*!
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 <numeric>
+#include <limits>
XMLAttributeValueView::XMLAttributeValueView(bool value) noexcept
: mInteger(value)

25
no-more-strip.patch Normal file
View File

@ -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 $<IF:$<CONFIG:Debug>,echo,strip> -x $<TARGET_FILE:${TARGET}>
- )
- endif()
+ # if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows" )
+ # add_custom_command(
+ # TARGET "${TARGET}"
+ # POST_BUILD
+ # COMMAND $<IF:$<CONFIG:Debug>,echo,strip> -x $<TARGET_FILE:${TARGET}>
+ # )
+ # endif()
if( NOT REAL_LIBTYPE STREQUAL "MODULE" )
if( CMAKE_SYSTEM_NAME MATCHES "Windows" )