From e23ca4cb78c0530e504946a41b6a83f0da44532eb11dd0579f1d5dfafcf6ce89 Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Thu, 21 Apr 2022 09:14:48 +0000 Subject: [PATCH] Accepting request 971355 from home:plater - Add ldconfig post and postun for audacity's own libs to solve boo#1198551 - Fix audacity's build against wxWidgets 3.1.6 with two patches from git: 0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch and 0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch OBS-URL: https://build.opensuse.org/request/show/971355 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=177 --- ...er-wxBitmap-constructor-for-XPM-data.patch | 31 +++++++++++++ ...stom-languages-in-wx-3.1.6-and-above.patch | 44 +++++++++++++++++++ audacity.changes | 10 +++++ audacity.spec | 5 +-- 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch create mode 100644 0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch diff --git a/0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch b/0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch new file mode 100644 index 0000000..9fe92c8 --- /dev/null +++ b/0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch @@ -0,0 +1,31 @@ +From 342c4b588f2f069a2df2157ac166237a54277b3a Mon Sep 17 00:00:00 2001 +From: Ian McInerney +Date: Fri, 8 Apr 2022 01:27:52 +0100 +Subject: [PATCH] Call the proper wxBitmap constructor for XPM data + +wxBitmap back to at least 3.0.0 did not have a constructor for an XPM +image that took a size parameter, it would only take the XPM data +itself. + +I don't know how this compiled until now, but it doesn't anymore when +the size is included and built against wx 3.1.6 in Fedora. +--- + src/MixerBoard.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp +index 54b5f146c..7fe816154 100644 +--- a/src/MixerBoard.cpp ++++ b/src/MixerBoard.cpp +@@ -1307,7 +1307,7 @@ void MixerBoard::LoadMusicalInstruments() + wxMemoryDC dc; + + for (const auto &data : table) { +- auto bmp = std::make_unique(data.bitmap,24); ++ auto bmp = std::make_unique(data.bitmap); + dc.SelectObject(*bmp); + AColor::Bevel(dc, false, bev); + mMusicalInstruments.push_back(std::make_unique( +-- +2.34.1 + diff --git a/0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch b/0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch new file mode 100644 index 0000000..84afacb --- /dev/null +++ b/0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch @@ -0,0 +1,44 @@ +From efc11c4ac50ac51cd71d4dcfa84e63b11000c3f5 Mon Sep 17 00:00:00 2001 +From: Ian McInerney +Date: Fri, 8 Apr 2022 01:08:12 +0100 +Subject: [PATCH] Remove custom languages in wx 3.1.6 and above + +Basque was added as a language with identifier "eu" into wx 3.1.6, so +there is no more need to provide custom languages. Additionally, this +struct changed formatting in 3.1.6, meaning it threw a compile error +when included (so it would have to be fixed if still needed). +--- + src/AudacityApp.cpp | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp +index d6e2576bf..e3979249c 100644 +--- a/src/AudacityApp.cpp ++++ b/src/AudacityApp.cpp +@@ -992,12 +992,10 @@ void AudacityApp::OnTimer(wxTimerEvent& WXUNUSED(event)) + #define WL(lang,sublang) + #endif + +-#if wxCHECK_VERSION(3, 0, 1) ++#if wxCHECK_VERSION(3, 0, 1) && !wxCHECK_VERSION(3, 1, 6) + wxLanguageInfo userLangs[] = + { +- // Bosnian is defined in wxWidgets already +-// { wxLANGUAGE_USER_DEFINED, wxT("bs"), WL(0, SUBLANG_DEFAULT) wxT("Bosnian"), wxLayout_LeftToRight }, +- ++ // Included upstream in version 3.1.6 + { wxLANGUAGE_USER_DEFINED, wxT("eu"), WL(0, SUBLANG_DEFAULT) wxT("Basque"), wxLayout_LeftToRight }, + }; + #endif +@@ -1332,7 +1330,7 @@ bool AudacityApp::OnInit() + // + // TODO: The whole Language initialization really need to be reworked. + // It's all over the place. +-#if wxCHECK_VERSION(3, 0, 1) ++#if wxCHECK_VERSION(3, 0, 1) && !wxCHECK_VERSION(3, 1, 6) + for (size_t i = 0, cnt = WXSIZEOF(userLangs); i < cnt; i++) + { + wxLocale::AddLanguage(userLangs[i]); +-- +2.34.1 + diff --git a/audacity.changes b/audacity.changes index dc28779..48fd7a1 100644 --- a/audacity.changes +++ b/audacity.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Apr 21 09:00:40 UTC 2022 - Dave Plater + +- Add ldconfig post and postun for audacity's own libs to solve + boo#1198551 +- Fix audacity's build against wxWidgets 3.1.6 with two patches + from git: + 0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch and + 0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch + ------------------------------------------------------------------- Thu Apr 14 07:44:51 UTC 2022 - Dave Plater diff --git a/audacity.spec b/audacity.spec index 59779af..4448e33 100644 --- a/audacity.spec +++ b/audacity.spec @@ -35,6 +35,8 @@ Patch0: audacity-no_buildstamp.patch Patch1: audacity-no_return_in_nonvoid.patch Patch2: missing-include.patch Patch3: no-more-strip.patch +Patch4: 0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch +Patch5: 0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch BuildRequires: cmake >= 3.16 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ @@ -173,7 +175,6 @@ rm -f %{buildroot}%{_libdir}/audacity/libwx_gtk3u_qa-suse-nostl.so.* rm -f %{buildroot}%{_prefix}/%{name} %find_lang %{name} -%if 0%{?suse_version} == 1500 %post ldconfig %{_libdir}/%{name} %end @@ -182,8 +183,6 @@ ldconfig %{_libdir}/%{name} ldconfig %{_libdir}/%{name} %end -%endif - %files %defattr(-,root,root) %doc README.txt