commit:     96aad93520dfcfdf6b7356434c373bb62f1ab4fc
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Sun Dec 21 10:14:41 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 22 11:30:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96aad935

media-sound/rosegarden: add 25.12

fix redirect for SRC_URI

add missing qt5compat
rm libSM, no longer used
remove superfluous subslot-operators
make lv2 optional and fix automagic
remove pch by default
use offscreen for the testsuite and restore skipped test
waiting for a fix, use static to build test
disable gtk-2 with new USE_GTK2

Bug: https://bugs.gentoo.org/957755
Closes: https://bugs.gentoo.org/951634
Closes: https://bugs.gentoo.org/964467
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45121
Closes: https://github.com/gentoo/gentoo/pull/45121
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/rosegarden/Manifest                    |  1 +
 .../files/rosegarden-25.12-bump_cmake.patch        | 12 ++++
 .../files/rosegarden-25.12-force_static.patch      | 19 ++++++
 .../files/rosegarden-25.12-missing-includes.patch  | 13 ++++
 .../files/rosegarden-25.12-opt_lilv.patch          | 25 ++++++++
 .../files/rosegarden-25.12-opt_pch.patch           | 12 ++++
 media-sound/rosegarden/metadata.xml                |  3 +
 media-sound/rosegarden/rosegarden-25.12.ebuild     | 70 ++++++++++++++++++++++
 8 files changed, 155 insertions(+)

diff --git a/media-sound/rosegarden/Manifest b/media-sound/rosegarden/Manifest
index 87f9a0fbe579..36f4e6707e79 100644
--- a/media-sound/rosegarden/Manifest
+++ b/media-sound/rosegarden/Manifest
@@ -1,2 +1,3 @@
 DIST rosegarden-24.12.1.tar.xz 5738756 BLAKE2B 
5202a511c53bae267c347ff9197acfe4283987bbad3764393a0335bd7dad775a2042430d3f8226e24436ce15c03204312ce6dc123938f2cec33960c3eeba707d
 SHA512 
f732951162e816a2dde4805e519c9b99598edb543fbe01f819248454c23eb70293a74e92ad11a51ecdd4990bca1f111242f838b2e3259ca09cb4f9bf955b9b6a
 DIST rosegarden-25.06.tar.xz 5780672 BLAKE2B 
69f309337b4c0795d41c5afe97bf5129422bda7186484d52501512d8e3abb25b60e6811839ae4819c18c6d8af4a8587b7380f8e8919c3de64123241c9f5aa872
 SHA512 
4ce306c939e26f265e48a9ae90df32869b4530927dba9d1f7d017e089f7ff81a912d283dc80aa58f2ed3eacd4f05565d0a3663ece7795ed7c16b3a6753f04daf
+DIST rosegarden-25.12.tar.xz 5831852 BLAKE2B 
f34b2d2f588b0bc788feeb4692ca687d986ea700c83344eeed8997c5fe2baf1c3c26e7b2e2db50a76bcbce851049e75189c1ef6dddf97374bd54e5ebff01e786
 SHA512 
a16c62cab42d6168e4481c379ff02bb3cce4ef8b312aa7744eac5b5c77936f7e6c075629fd5e6706d9226dec9830aeddf7e78126d3ee394d3363e32bde455d71

diff --git a/media-sound/rosegarden/files/rosegarden-25.12-bump_cmake.patch 
b/media-sound/rosegarden/files/rosegarden-25.12-bump_cmake.patch
new file mode 100644
index 000000000000..7a8ba1e92341
--- /dev/null
+++ b/media-sound/rosegarden/files/rosegarden-25.12-bump_cmake.patch
@@ -0,0 +1,12 @@
+update cmake_min, see https://bugs.gentoo.org/964467
+from upstream 
https://sourceforge.net/p/rosegarden/git/ci/667697c99ed8808d40d3dea1e1b138c425e729bb
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ # CMake version required. This must be the very first line, because it sets
+ # default policies affecting everything else.
+-cmake_minimum_required(VERSION 3.5)
++cmake_minimum_required(VERSION 3.10)
+ 
+ # Project name
+ project(rosegarden)

diff --git a/media-sound/rosegarden/files/rosegarden-25.12-force_static.patch 
b/media-sound/rosegarden/files/rosegarden-25.12-force_static.patch
new file mode 100644
index 000000000000..9cca28660f20
--- /dev/null
+++ b/media-sound/rosegarden/files/rosegarden-25.12-force_static.patch
@@ -0,0 +1,19 @@
+it fails to build with shared libs, force static for now
+see https://bugs.gentoo.org/957755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -237,14 +237,8 @@ feature_summary(WHAT ALL 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ 
+ # Unit tests disabled: use a static lib
+ # Unit tests enabled: use shared libs, to speed up linking
+-if(BUILD_TESTING)
+-    set(RG_LIBRARY_TYPE SHARED)
+-    message(STATUS "Building unit tests, using shared libraries")
+-else()
+     set(RG_LIBRARY_TYPE STATIC)
+     set(ROSEGARDENPRIVATE_STATIC_BUILD TRUE) # for generating 
rosegardenprivate-export.h
+-    message(STATUS "Not building unit tests, using a static library for 
rosegarden")
+-endif()
+ 
+ #########################
+ # target for cppcheck

diff --git 
a/media-sound/rosegarden/files/rosegarden-25.12-missing-includes.patch 
b/media-sound/rosegarden/files/rosegarden-25.12-missing-includes.patch
new file mode 100644
index 000000000000..e00fb0050d23
--- /dev/null
+++ b/media-sound/rosegarden/files/rosegarden-25.12-missing-includes.patch
@@ -0,0 +1,13 @@
+not merged for now by upstream (was for Pitch.h) but definitely required
+see https://sourceforge.net/p/rosegarden/bugs/1746/#a512
+--- a/src/base/Pitch.cpp
++++ b/src/base/Pitch.cpp
+@@ -28,6 +28,8 @@
+ 
+ #include <vector>
+ 
++#include <QObject>
++
+ //dmm This will make everything excruciatingly slow if defined:
+ //#define DEBUG_PITCH
+ 

diff --git a/media-sound/rosegarden/files/rosegarden-25.12-opt_lilv.patch 
b/media-sound/rosegarden/files/rosegarden-25.12-opt_lilv.patch
new file mode 100644
index 000000000000..f43a37cb542b
--- /dev/null
+++ b/media-sound/rosegarden/files/rosegarden-25.12-opt_lilv.patch
@@ -0,0 +1,25 @@
+make lv2 optional
+see https://sourceforge.net/p/rosegarden/patches/84/
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -213,14 +213,15 @@ if(NOT DISABLE_LIRC)
+ endif()
+ add_feature_info(LIRCCLIENT LIRCCLIENT_FOUND "The LIRC client library, for 
remote control support")
+ 
+-# lilv for lv2 plugins
++# Build with lv2 plugins support if lilv/lv2 detected, unless DISABLE_LILV is 
set
+ pkg_check_modules(LILV lilv-0)
+ if(NOT LILV_INCLUDE_DIRS)
+   message(WARNING "Failed to find Lilv header lilv/lilv.h for lv2 plugins")
+ endif()
+ 
+ pkg_check_modules(LV2 lv2)
+-if(LILV_INCLUDE_DIRS AND LILV_LIBRARIES AND LV2_INCLUDE_DIRS)
++set(LILV_FOUND FALSE)
++if(NOT DISABLE_LILV AND LILV_INCLUDE_DIRS AND LILV_LIBRARIES AND 
LV2_INCLUDE_DIRS)
+   set(LILV_FOUND TRUE)
+ endif()
+ add_feature_info(LILV LILV_FOUND "The Lilv library, for lv2 plugins")
+-- 
+2.51.2
+

diff --git a/media-sound/rosegarden/files/rosegarden-25.12-opt_pch.patch 
b/media-sound/rosegarden/files/rosegarden-25.12-opt_pch.patch
new file mode 100644
index 000000000000..490881efe880
--- /dev/null
+++ b/media-sound/rosegarden/files/rosegarden-25.12-opt_pch.patch
@@ -0,0 +1,12 @@
+avoid precompiled-headers by default
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -853,7 +853,7 @@ add_library(rosegardenprivate ${RG_LIBRARY_TYPE}
+ 
+ # If we've got cmake 3.16.0 or greater, use precompiled headers.
+ # Cuts build time almost in half.
+-if(NOT ${CMAKE_VERSION} VERSION_LESS "3.16.0")
++if(NOT ${CMAKE_VERSION} VERSION_LESS "3.16.0" AND NOT DISABLE_PCH)
+   target_precompile_headers(rosegardenprivate
+     PRIVATE
+       # There's definitely a point where gcc slows down with too many

diff --git a/media-sound/rosegarden/metadata.xml 
b/media-sound/rosegarden/metadata.xml
index 4eb60ee9462d..2512a1d335b7 100644
--- a/media-sound/rosegarden/metadata.xml
+++ b/media-sound/rosegarden/metadata.xml
@@ -5,6 +5,9 @@
     <email>[email protected]</email>
     <name>Gentoo ProAudio Project</name>
   </maintainer>
+  <use>
+    <flag name="lv2">Add support for Ladspa V2 plugins</flag>
+  </use>
   <upstream>
     <remote-id type="sourceforge">rosegarden</remote-id>
   </upstream>

diff --git a/media-sound/rosegarden/rosegarden-25.12.ebuild 
b/media-sound/rosegarden/rosegarden-25.12.ebuild
new file mode 100644
index 000000000000..be6eba351dce
--- /dev/null
+++ b/media-sound/rosegarden/rosegarden-25.12.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="MIDI and audio sequencer and notation editor"
+HOMEPAGE="https://www.rosegardenmusic.com/";
+SRC_URI="https://downloads.sourceforge.net/project/rosegarden/${PN}/${PV}/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="lirc lv2 test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       dev-qt/qttools:6[linguist]
+       virtual/pkgconfig
+"
+RDEPEND="
+       dev-qt/qt5compat:6
+       dev-qt/qtbase:6[gui,network,widgets,xml]
+       media-libs/alsa-lib
+       >=media-libs/dssi-1.0.0:=
+       media-libs/ladspa-sdk
+       media-libs/liblo
+       media-libs/liblrdf
+       media-libs/libsamplerate
+       media-libs/libsndfile
+       sci-libs/fftw:3.0=
+       virtual/jack
+       virtual/zlib:=
+       lirc? ( app-misc/lirc )
+       lv2? (
+               media-libs/lilv
+               >=media-libs/lv2-1.18.0
+       )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-24.06-includes.patch"
+       "${FILESDIR}/${PN}-24.12-parameter-declaration.patch"
+       "${FILESDIR}/${PN}-24.12-missing-includes.patch"
+       "${FILESDIR}/${PN}-25.12-missing-includes.patch"
+       "${FILESDIR}/${PN}-25.12-bump_cmake.patch"
+       "${FILESDIR}/${PN}-25.12-opt_lilv.patch"
+       "${FILESDIR}/${PN}-25.12-opt_pch.patch"
+       # there is a linking problem when tests are enabled: 
https://bugs.gentoo.org/957755
+       # force static until it's fixed
+       "${FILESDIR}/${PN}-25.12-force_static.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_TESTING=$(usex test)
+               -DDISABLE_LILV=$(usex !lv2)
+               -DDISABLE_LIRC=$(usex !lirc)
+               -DDISABLE_PCH=ON
+               -DUSE_GTK2=OFF
+               -DUSE_QT6=ON
+       )
+       cmake_src_configure
+}
+
+src_test() {
+       QT_QPA_PLATFORM=offscreen cmake_src_test
+}

Reply via email to