public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/musescore/, media-sound/musescore/files/
Date: Tue,  6 Jun 2023 06:45:21 +0000 (UTC)	[thread overview]
Message-ID: <1686033916.fbe6b848d05897ef2bbeeececf22b7be0c33c271.fordfrog@gentoo> (raw)

commit:     fbe6b848d05897ef2bbeeececf22b7be0c33c271
Author:     Adrian Schollmeyer <nex+b-g-o <AT> nexadn <DOT> de>
AuthorDate: Sun Mar 12 19:27:24 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Jun  6 06:45:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbe6b848

media-sound/musescore: add 4.0.2

Closes: https://bugs.gentoo.org/887289
Signed-off-by: Adrian Schollmeyer <nex+b-g-o <AT> nexadn.de>
Closes: https://github.com/gentoo/gentoo/pull/30081
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-sound/musescore/Manifest                     |   1 +
 .../files/musescore-4.0.2-unbundle-deps.patch      | 121 ++++++++++++++++++
 .../musescore-4.0.2-uncompressed-man-pages.patch   |  29 +++++
 media-sound/musescore/metadata.xml                 |   1 +
 media-sound/musescore/musescore-4.0.2.ebuild       | 135 +++++++++++++++++++++
 5 files changed, 287 insertions(+)

diff --git a/media-sound/musescore/Manifest b/media-sound/musescore/Manifest
index 04c98330a4d2..66f132cab519 100644
--- a/media-sound/musescore/Manifest
+++ b/media-sound/musescore/Manifest
@@ -1,2 +1,3 @@
 DIST MuseScore_General-0.2.0.tar.bz2 35122747 BLAKE2B 7f9cafb7912ab8c977842c51df69506d4ad3d1d37498c856978a2d5ab50a1c4fe9145a4807f8c353e6f14138704abb2bbd70c948f1621b494c6e0458c2df0184 SHA512 69eeb22e8c9d1d393a2af857baeb8e49bf2a492651d18190685c74df84a5f6b424e37077e39d9d69c117c4896ea1fbb857eba25a1fbcb6f98d53f384a55713cc
 DIST musescore-3.6.2.tar.gz 69077899 BLAKE2B 4562267b2fd6498b0ba1e503a9117c2680035ccdb66f94bbd9b98ef1c37d4f9eb7d8a84cbac7726b67b9c95e4f076aaaf83087f4ded195150c42ec77462d48e8 SHA512 04ff1ddd82358c070640f81bbaa9c47c5da95aa57c56a5d1b975ad984744e0def17d5581da6bbeda1aae1c68470100d104d4f8a39ba33bf37bf8891ffcbf1d6e
+DIST musescore-4.0.2.tar.gz 123962958 BLAKE2B aa31b5346a4c5cfc44f66cf266724c8439d03b449336c16a960df21201d460c21a9b645654584876cc8f20f96f7e95cc24980cda85544a2338ddb8523874fe5e SHA512 fda63124281c4e19160482dff5472889b8753f2389e3d115b2b8e23f3edb976df0912a4e554334a4fc7cc4f9a6945165a07e781fcc2eec46db373e298d9f3616

diff --git a/media-sound/musescore/files/musescore-4.0.2-unbundle-deps.patch b/media-sound/musescore/files/musescore-4.0.2-unbundle-deps.patch
new file mode 100644
index 000000000000..6c299d90da67
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.0.2-unbundle-deps.patch
@@ -0,0 +1,121 @@
+Unbundling of all dependencies which are currently available as system packages
+and have not been modified (to our knowledge) by MuseScore.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -206,7 +206,7 @@ if (BUILD_UNIT_TESTS)
+         FULL_DOCS "List XML files outputted by google test."
+     )
+ 
+-    add_subdirectory(thirdparty/googletest)
++    find_package(GTest REQUIRED)
+ endif(BUILD_UNIT_TESTS)
+ 
+ add_subdirectory(share)
+--- a/src/framework/audio/CMakeLists.txt
++++ b/src/framework/audio/CMakeLists.txt
+@@ -216,11 +216,18 @@ if (ENABLE_AUDIO_EXPORT)
+         ${CMAKE_CURRENT_LIST_DIR}/internal/soundtracks/soundtrackwriter.h
+         )
+ 
+-    add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/lame lame)
+-    add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/opusenc opusenc)
+-    add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/flac flac)
++    pkg_check_modules(lame REQUIRED IMPORTED_TARGET lame)
++    pkg_check_modules(libopusenc REQUIRED IMPORTED_TARGET libopusenc)
++    pkg_check_modules(flac REQUIRED IMPORTED_TARGET flac)
++    pkg_check_modules(flacpp REQUIRED IMPORTED_TARGET flac++)
+ 
+-    set(MODULE_LINK ${MODULE_LINK} lame opusenc flac)
++    set(MODULE_LINK
++        ${MODULE_LINK}
++        PkgConfig::lame
++        PkgConfig::libopusenc
++        PkgConfig::flac
++        PkgConfig::flacpp
++    )
+ endif()
+ 
+ if (OS_IS_MAC)
+--- a/src/framework/audio/internal/encoders/mp3encoder.cpp
++++ b/src/framework/audio/internal/encoders/mp3encoder.cpp
+@@ -22,7 +22,7 @@
+ 
+ #include "mp3encoder.h"
+ 
+-#include "lame.h"
++#include "lame/lame.h"
+ 
+ using namespace mu;
+ using namespace mu::audio;
+--- a/src/framework/audio/internal/encoders/oggencoder.cpp
++++ b/src/framework/audio/internal/encoders/oggencoder.cpp
+@@ -22,7 +22,7 @@
+ 
+ #include "oggencoder.h"
+ 
+-#include "opusenc.h"
++#include "opus/opusenc.h"
+ 
+ #include "log.h"
+ 
+--- a/src/framework/global/CMakeLists.txt
++++ b/src/framework/global/CMakeLists.txt
+@@ -105,8 +105,6 @@ set(MODULE_SRC
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamreader.h
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamwriter.cpp
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamwriter.h
+-    ${CMAKE_CURRENT_LIST_DIR}/thirdparty//tinyxml/tinyxml2.cpp
+-    ${CMAKE_CURRENT_LIST_DIR}/thirdparty//tinyxml/tinyxml2.h
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/zipreader.cpp
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/zipreader.h
+     ${CMAKE_CURRENT_LIST_DIR}/serialization/zipwriter.cpp
+@@ -124,6 +122,8 @@ set(MODULE_SRC
+     ${CMAKE_CURRENT_LIST_DIR}/concurrency/taskscheduler.h
+ )
+ 
++find_package(tinyxml2 REQUIRED)
++
+ if (GLOBAL_NO_INTERNAL)
+     set(MODULE_DEF ${MODULE_DEF} -DGLOBAL_NO_INTERNAL)
+ else()
+@@ -184,6 +184,7 @@ set(MODULE_INCLUDE
+ set(MODULE_LINK
+     ${FS_LIB}
+     ${Z_LIB}
++    tinyxml2::tinyxml2
+ )
+ 
+ if (OS_IS_MAC)
+--- a/src/framework/global/serialization/xmldom.cpp
++++ b/src/framework/global/serialization/xmldom.cpp
+@@ -21,7 +21,7 @@
+  */
+ #include "xmldom.h"
+ 
+-#include "thirdparty/tinyxml/tinyxml2.h"
++#include <tinyxml2.h>
+ 
+ #include "log.h"
+ 
+--- a/src/framework/global/serialization/xmlstreamreader.cpp
++++ b/src/framework/global/serialization/xmlstreamreader.cpp
+@@ -23,7 +23,7 @@
+ 
+ #include <cstring>
+ 
+-#include "thirdparty/tinyxml/tinyxml2.h"
++#include <tinyxml2.h>
+ 
+ #include "log.h"
+ 
+--- a/src/framework/testing/gtest.cmake
++++ b/src/framework/testing/gtest.cmake
+@@ -60,7 +60,7 @@ find_package(Qt5 COMPONENTS Core Gui REQ
+ target_link_libraries(${MODULE_TEST}
+     Qt5::Core
+     Qt5::Gui
+-    gmock
++    GTest::gmock
+     global
+     ${MODULE_TEST_LINK}
+     )

diff --git a/media-sound/musescore/files/musescore-4.0.2-uncompressed-man-pages.patch b/media-sound/musescore/files/musescore-4.0.2-uncompressed-man-pages.patch
new file mode 100644
index 000000000000..078662a66bdb
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.0.2-uncompressed-man-pages.patch
@@ -0,0 +1,29 @@
+--- a/build/cmake/SetupAppImagePackaging.cmake
++++ b/build/cmake/SetupAppImagePackaging.cmake
+@@ -85,7 +85,7 @@ if (NOT MINGW AND NOT MSVC AND NOT APPLE
+     # Compress man pages if gzip is installed (don't on OpenBSD)
+     # Note: Compressing man pages is normal on Linux but not OpenBSD
+     find_program( GZIP_EXECUTABLE gzip DOC "A tool for compressing manpages (optional)." )
+-    if (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++    if (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+         message(STATUS "Found 'gzip'. Man pages will be compressed.")
+         set(MAN_TARGET ${MAN_BUILD})
+         set(MAN_EXTENSION ${MAN_EXTENSION}.gz)
+@@ -102,7 +102,7 @@ if (NOT MINGW AND NOT MSVC AND NOT APPLE
+             COMMAND echo "Man pages have been compressed ready for installation."
+             VERBATIM
+             )
+-    else (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++    else (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+         if (CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+             message(STATUS "System is OpenBSD: Man pages will not be compressed.")
+         else (CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+@@ -112,7 +112,7 @@ if (NOT MINGW AND NOT MSVC AND NOT APPLE
+             COMMAND echo "Man pages will be installed uncompressed."
+             VERBATIM
+             )
+-    endif (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++    endif (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+     # Install man pages in either compressed or uncompressed form
+     install( FILES ${MAN_BUILD} DESTINATION share/man/man1 COMPONENT doc)
+     # Create symlink alias for man pages so `man musescore` = `man mscore`

diff --git a/media-sound/musescore/metadata.xml b/media-sound/musescore/metadata.xml
index e2ba1fa20224..c17629b67a33 100644
--- a/media-sound/musescore/metadata.xml
+++ b/media-sound/musescore/metadata.xml
@@ -10,6 +10,7 @@
 		<remote-id type="github">musescore/MuseScore</remote-id>
 	</upstream>
 	<use>
+		<flag name="jumbo-build">Combine source files to speed up build process, requires more memory</flag>
 		<flag name="osc">Enable OSC remote control protocol</flag>
 		<flag name="omr">Enable PDF import (OMR - optical music recognition)</flag>
 		<flag name="portmidi">Enable support for building against <pkg>media-libs/portmidi</pkg></flag>

diff --git a/media-sound/musescore/musescore-4.0.2.ebuild b/media-sound/musescore/musescore-4.0.2.ebuild
new file mode 100644
index 000000000000..cd79a319f13f
--- /dev/null
+++ b/media-sound/musescore/musescore-4.0.2.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+#CMAKE_MAKEFILE_GENERATOR="emake"
+CHECKREQS_DISK_BUILD=3500M
+VIRTUALX_REQUIRED="test"
+inherit cmake qmake-utils xdg check-reqs virtualx
+
+if [[ ${PV} == "9999" ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/${PN}/MuseScore.git"
+else
+	SRC_URI="
+		https://github.com/musescore/MuseScore/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+	S="${WORKDIR}/MuseScore-${PV}"
+fi
+
+DESCRIPTION="WYSIWYG Music Score Typesetter"
+HOMEPAGE="https://musescore.org/"
+# MuseScore_General-*.tar.bz2 packaged from https://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/
+# It has to be repackaged because the files are not versioned, current version can be found in VERSION file there.
+SRC_URI+=" https://dev.gentoo.org/~fordfrog/distfiles/MuseScore_General-0.2.0.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug jumbo-build test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	virtual/pkgconfig
+"
+DEPEND="
+	dev-libs/tinyxml2:=
+	dev-qt/designer:5
+	dev-qt/qtconcurrent:5
+	dev-qt/qtcore:5
+	dev-qt/qtdeclarative:5
+	dev-qt/qtgui:5
+	dev-qt/qthelp:5
+	dev-qt/qtnetwork:5
+	dev-qt/qtnetworkauth:5
+	dev-qt/qtopengl:5
+	dev-qt/qtprintsupport:5
+	dev-qt/qtquickcontrols:5
+	dev-qt/qtquickcontrols2:5
+	>=dev-qt/qtsingleapplication-2.6.1_p20171024[X]
+	dev-qt/qtsvg:5
+	dev-qt/qtxml:5
+	dev-qt/qtxmlpatterns:5
+	>=media-libs/alsa-lib-1.0.0
+	media-libs/flac:=
+	>=media-libs/freetype-2.5.2
+	media-libs/libopusenc
+	media-libs/libsndfile
+	media-libs/opus
+	media-sound/lame
+	sys-libs/zlib:=
+
+	test? (
+		dev-cpp/gtest
+	)
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-uncompressed-man-pages.patch"
+	"${FILESDIR}/${P}-unbundle-deps.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} == "9999" ]]; then
+		git-r3_src_unpack
+		unpack ${A}
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	# Move soundfonts to the correct directory
+	mv "${WORKDIR}"/sound/* "${S}"/share/sound/ || die "Failed to move soundfont files"
+
+	# Make sure we don't accidentally use bundled third party deps
+	# for which we want to use system packages instead.
+	rm -r thirdparty/{flac,freetype,googletest,lame,opus,opusenc} \
+		|| die "Failed to remove unused thirdparty directories"
+}
+
+src_configure() {
+	# bug #766111
+	export PATH="$(qt5_get_bindir):${PATH}"
+
+	local mycmakeargs=(
+		-DMUSESCORE_BUILD_CONFIG=release
+
+		-DBUILD_CRASHPAD_CLIENT=OFF
+		-DBUILD_AUTOUPDATE=OFF
+		# Jack support has been dropped in 4.0.0,
+		# but its remnants are still in the build system and cause trouble.
+		# https://github.com/musescore/MuseScore/issues/12775
+		-DBUILD_JACK=OFF
+		-DDOWNLOAD_SOUNDFONT=OFF
+		-DSOUNDFONT3=ON
+		-DBUILD_UNIT_TESTS="$(usex test)"
+		-DCMAKE_SKIP_RPATH=ON
+		-DTRY_USE_CCACHE=OFF
+		-DBUILD_UNITY="$(usex jumbo-build)"
+		-DUSE_SYSTEM_FREETYPE=ON
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	cd "${BUILD_DIR}" || die
+	cmake_build -j1 lrelease manpages
+	cmake_src_compile
+}
+
+src_test() {
+	virtx cmake_src_test
+}
+
+src_install() {
+	cmake_src_install
+
+	# Hack to not install bundled libraries like libogg
+	rm -rf "${ED}/usr/include" "${ED}/usr/$(get_libdir)" || die
+}


             reply	other threads:[~2023-06-06  6:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-06  6:45 Miroslav Šulc [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-07 19:29 [gentoo-commits] repo/gentoo:master commit in: media-sound/musescore/, media-sound/musescore/files/ Miroslav Šulc
2024-11-23 17:43 Andreas Sturmlechner
2024-10-15  7:32 Miroslav Šulc
2024-09-06  9:03 Miroslav Šulc
2024-08-10  7:52 Miroslav Šulc
2024-08-04 11:16 Miroslav Šulc
2024-08-04  9:41 Miroslav Šulc
2024-02-09  8:08 Miroslav Šulc
2024-02-06 19:47 Jason A. Donenfeld
2024-01-21  0:56 Jason A. Donenfeld
2023-01-09 13:02 Sam James
2021-03-02  8:54 Miroslav Šulc
2020-12-11 10:10 Miroslav Šulc
2020-10-17  8:09 Miroslav Šulc
2019-11-28 20:00 Miroslav Šulc
2019-02-02 21:40 Miroslav Šulc
2019-02-01 21:21 Miroslav Šulc
2018-08-21 21:36 Andreas Sturmlechner
2017-01-30 13:20 Johannes Huber
2017-01-30 13:20 Johannes Huber
2016-02-01 21:41 David Seifert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1686033916.fbe6b848d05897ef2bbeeececf22b7be0c33c271.fordfrog@gentoo \
    --to=fordfrog@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox