commit 7430368468124b9cf87d923d277ffbda6ef0dedb
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Sun Aug 7 08:56:07 2022 +0100
Fix wx build issue
audacity-freeworld.spec | 4 ++++
wx316_bitmaps.patch | 31 +++++++++++++++++++++++++++++++
wx316_customLanguages.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+)
---
diff --git a/audacity-freeworld.spec b/audacity-freeworld.spec
index 8fdb6f4..5d4e295 100644
--- a/audacity-freeworld.spec
+++ b/audacity-freeworld.spec
@@ -22,6 +22,10 @@ Source0:
https://github.com/audacity/audacity/archive/Audacity-%{version}.tar.gz
Patch0: audacity-2.4.2-fix-portmidi-as-system.patch
# Fix libmp3lame detection from cmake
Patch1: audacity-2.4.2-fix-libmp3lame-as-system.patch
+# Patches needed to compile against wxWidgets 3.1.6.
+# Sent upstream in
https://github.com/audacity/audacity/pull/2776
+Patch2: wx316_bitmaps.patch
+Patch3: wx316_customLanguages.patch
BuildRequires: cmake
BuildRequires: gettext-devel
diff --git a/wx316_bitmaps.patch b/wx316_bitmaps.patch
new file mode 100644
index 0000000..53e51d5
--- /dev/null
+++ b/wx316_bitmaps.patch
@@ -0,0 +1,31 @@
+From 342c4b588f2f069a2df2157ac166237a54277b3a Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney(a)ieee.org>
+Date: Fri, 8 Apr 2022 01:27:52 +0100
+Subject: [PATCH 2/2] 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<wxBitmap>(data.bitmap,24);
++ auto bmp = std::make_unique<wxBitmap>(data.bitmap);
+ dc.SelectObject(*bmp);
+ AColor::Bevel(dc, false, bev);
+ mMusicalInstruments.push_back(std::make_unique<MusicalInstrument>(
+--
+2.35.1
+
diff --git a/wx316_customLanguages.patch b/wx316_customLanguages.patch
new file mode 100644
index 0000000..ddbae98
--- /dev/null
+++ b/wx316_customLanguages.patch
@@ -0,0 +1,44 @@
+From efc11c4ac50ac51cd71d4dcfa84e63b11000c3f5 Mon Sep 17 00:00:00 2001
+From: Ian McInerney <ian.s.mcinerney(a)ieee.org>
+Date: Fri, 8 Apr 2022 01:08:12 +0100
+Subject: [PATCH 1/2] 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.35.1
+