Date: Friday, December 16, 2022 @ 23:01:58
  Author: dvzrv
Revision: 1359695

upgpkg: rosegarden 22.12-1: Upgrade to 22.12.

Add upstream patch to fix a segfault: 
https://sourceforge.net/p/rosegarden/bugs/1647/

Added:
  rosegarden/trunk/rosegarden-22.12-fix_static_init_order.patch
Modified:
  rosegarden/trunk/PKGBUILD

----------------------------------------------+
 PKGBUILD                                     |   31 +++++-
 rosegarden-22.12-fix_static_init_order.patch |  118 +++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-12-16 22:46:07 UTC (rev 1359694)
+++ PKGBUILD    2022-12-16 23:01:58 UTC (rev 1359695)
@@ -5,7 +5,7 @@
 # Contributor: Robert Emil Berge <[email protected]>
 
 pkgname=rosegarden
-pkgver=22.06
+pkgver=22.12
 pkgrel=1
 pkgdesc="MIDI/audio sequencer and notation editor"
 arch=(x86_64)
@@ -28,10 +28,20 @@
 )
 provides=(dssi-host ladspa-host)
 options=(debug)
-source=(https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
-sha512sums=('42ce03a65f9c9401cb3f641c0ae80a827e18d6f47420add382f63273f4644eac5997befe70cac972380441a43d74153a4e37a276fc3dc8d9889eb8671759ab5a')
-b2sums=('d4ba13ac6b4cba6d0b5bc555933737d696d380737e56a3e4e1dd782aff641dcbd49af50aade75550b8a0e22a45f491585ffb4166b21cb9889eca1a2e546c585a')
+source=(
+  https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
+  $pkgname-22.12-fix_static_init_order.patch
+)
+sha512sums=('b9397ddd51bc2a2efa249377a61b8c14e902c495ebf52eb72f5083d10a5fc7136e249e8570f7110efb8acf3fbaae1b424e6bf33758168571ec407804ae8acdfe'
+            
'11c256cc18805f6d392486e26ed654d75104d1b53857bba263b9c442a604221ffacb7141ff64c7fc872e29f48f14bdc05b507003d13d893faaa5d1705027cd79')
+b2sums=('589863458b94876659ba64e65ff2e148aa7865c2d468bb7567fabf27af15f4026511bf6a2c06c103e73d0c94c7840146382261cb4952ae068605bdec05feaa6a'
+        
'803e4f3d80d3137c2198d4cbe5d9a62313925f7cc1b60bdaefb9c92f3ae29c5f27a2527b40331fcdd3616e4567aa52049b77838605e4f7cb4687f64616903c2e')
 
+prepare() {
+  # fix issue with static init ordering: 
https://sourceforge.net/p/rosegarden/bugs/1647/
+  patch -Np1 -d $pkgname-$pkgver -i 
../$pkgname-22.12-fix_static_init_order.patch
+}
+
 build() {
   cmake -DCMAKE_INSTALL_PREFIX=/usr \
         -DCMAKE_BUILD_TYPE=None \
@@ -51,10 +61,17 @@
 }
 
 package() {
-  depends+=(libasound.so libfftw3f.so libjack.so liblrdf.so liblo.so
-  libsamplerate.so libsndfile.so)
+  depends+=(
+    alsa-lib libasound.so
+    fftw libfftw3f.so
+    jack libjack.so
+    liblrdf liblrdf.so
+    liblo liblo.so
+    libsamplerate libsamplerate.so
+    libsndfile libsndfile.so
+  )
 
   DESTDIR="$pkgdir" cmake --install build
-  install -vDm 644 $pkgname-$pkgver/{AUTHORS,CHANGELOG,README} -t 
"$pkgdir/usr/share/doc/$pkgname/"
+  install -vDm 644 $pkgname-$pkgver/{AUTHORS,CHANGELOG,README.md} -t 
"$pkgdir/usr/share/doc/$pkgname/"
 }
 # vim:set ts=2 sw=2 et:

Added: rosegarden-22.12-fix_static_init_order.patch
===================================================================
--- rosegarden-22.12-fix_static_init_order.patch                                
(rev 0)
+++ rosegarden-22.12-fix_static_init_order.patch        2022-12-16 23:01:58 UTC 
(rev 1359695)
@@ -0,0 +1,118 @@
+From 3e34166965a2e9da4e755ef317741dae24cd4254 Mon Sep 17 00:00:00 2001
+From: Ted Felix <[email protected]>
+Date: Sat, 10 Dec 2022 17:28:42 -0500
+Subject: [PATCH] Fix static init order fiasco.
+
+---
+ src/misc/ConfigGroups.cpp | 13 ++++++++-----
+ src/misc/ConfigGroups.h   | 13 ++++++++-----
+ src/misc/Preferences.cpp  |  2 +-
+ src/sound/AlsaDriver.cpp  |  4 ++--
+ 4 files changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/src/misc/ConfigGroups.cpp b/src/misc/ConfigGroups.cpp
+index 1cd03089c..feac5fd40 100644
+--- a/src/misc/ConfigGroups.cpp
++++ b/src/misc/ConfigGroups.cpp
+@@ -17,12 +17,15 @@
+ 
+ namespace Rosegarden
+ {
++
+     //
+     // QSettings group names
+     //
++    // Note: Use const char * instead of QString to avoid static
++    //       init order fiasco.
+     const char* const GeneralOptionsConfigGroup = "General_Options";
+     const char* const LatencyOptionsConfigGroup = "Latency_Options";
+-    const QString SequencerOptionsConfigGroup = "Sequencer_Options";
++    const char* const SequencerOptionsConfigGroup = "Sequencer_Options";
+     const char* const NotationViewConfigGroup = "Notation_Options";
+     const char* const PitchTrackerConfigGroup = "Pitch_Tracker_Options";
+     const char* const AudioManagerDialogConfigGroup = "AudioManagerDialog";
+@@ -60,9 +63,9 @@ namespace Rosegarden
+     const char* const GridQuantizeConfigGroup = 
"Grid_Quantize_Parameters_Memory";
+     const char* const NotationQuantizeConfigGroup = 
"Notation_Quantize_Parameters_Memory";
+     const char* const TextEventDialogConfigGroup = "TextEvent_Dialog";
+-    const QString RecentFilesConfigGroup = "RecentFiles";
+-    const QString UserShortcutsConfigGroup = "UserShortcuts";
+-    const QString ShortcutKeyboardConfigGroup = "ShortcutKeyboard";
+-    const QString ExperimentalConfigGroup = "Experimental";
++    const char* const RecentFilesConfigGroup = "RecentFiles";
++    const char* const UserShortcutsConfigGroup = "UserShortcuts";
++    const char* const ShortcutKeyboardConfigGroup = "ShortcutKeyboard";
++    const char* const ExperimentalConfigGroup = "Experimental";
+ 
+ }
+diff --git a/src/misc/ConfigGroups.h b/src/misc/ConfigGroups.h
+index f93a05b0c..48afc5315 100644
+--- a/src/misc/ConfigGroups.h
++++ b/src/misc/ConfigGroups.h
+@@ -27,9 +27,12 @@
+ 
+ namespace Rosegarden
+ {
++
++    // Note: Use const char * instead of QString to avoid static
++    //       init order fiasco.
+     extern ROSEGARDENPRIVATE_EXPORT const char* const 
GeneralOptionsConfigGroup;
+     extern const char* const LatencyOptionsConfigGroup;
+-    extern ROSEGARDENPRIVATE_EXPORT const QString SequencerOptionsConfigGroup;
++    extern ROSEGARDENPRIVATE_EXPORT const char* const 
SequencerOptionsConfigGroup;
+     extern const char* const NotationViewConfigGroup;
+     extern const char* const PitchTrackerConfigGroup;
+     extern const char* const AudioManagerDialogConfigGroup;
+@@ -67,10 +70,10 @@ namespace Rosegarden
+     extern const char* const GridQuantizeConfigGroup;
+     extern const char* const NotationQuantizeConfigGroup;
+     extern const char* const TextEventDialogConfigGroup;
+-    extern const QString RecentFilesConfigGroup;
+-    extern const QString UserShortcutsConfigGroup;
+-    extern const QString ShortcutKeyboardConfigGroup;
+-    extern const QString ExperimentalConfigGroup;
++    extern const char* const RecentFilesConfigGroup;
++    extern const char* const UserShortcutsConfigGroup;
++    extern const char* const ShortcutKeyboardConfigGroup;
++    extern const char* const ExperimentalConfigGroup;
+ 
+ }
+ 
+diff --git a/src/misc/Preferences.cpp b/src/misc/Preferences.cpp
+index 2489cdc19..5b6a5d17c 100644
+--- a/src/misc/Preferences.cpp
++++ b/src/misc/Preferences.cpp
+@@ -157,7 +157,7 @@ bool Preferences::getAdvancedLooping()
+ 
+ namespace
+ {
+-    const QString AudioFileLocationDialogGroup = "AudioFileLocationDialog";
++    const char *AudioFileLocationDialogGroup = "AudioFileLocationDialog";
+ }
+ 
+ PreferenceBool afldDontShow(AudioFileLocationDialogGroup, "dontShow", false);
+diff --git a/src/sound/AlsaDriver.cpp b/src/sound/AlsaDriver.cpp
+index 0bd3e017f..ae76f074f 100644
+--- a/src/sound/AlsaDriver.cpp
++++ b/src/sound/AlsaDriver.cpp
+@@ -1582,7 +1582,7 @@ AlsaDriver::setCurrentTimer(QString timer)
+         return;
+ 
+     m_currentTimer = timer;
+-    settings.setValue(SequencerOptionsConfigGroup + "/" + "timer",
++    settings.setValue(QString(SequencerOptionsConfigGroup) + "/" + "timer",
+                       m_currentTimer);
+ 
+     RG_DEBUG << "setCurrentTimer(" << timer << ")";
+@@ -1886,7 +1886,7 @@ AlsaDriver::initialiseMidi()
+ 
+     QSettings settings;
+     const QString timer = settings.value(
+-            SequencerOptionsConfigGroup + "/" + "timer",
++            QString(SequencerOptionsConfigGroup) + "/" + "timer",
+             AUTO_TIMER_NAME).toString();
+ 
+     setCurrentTimer(timer);
+-- 
+2.39.0
+

Reply via email to