diff options
author | Hector Martin <marcan@marcan.st> | 2020-05-30 19:54:27 +0900 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2020-06-22 22:25:06 +0200 |
commit | 317ed887556977a46e475546548e918e39a1b6a3 (patch) | |
tree | 6bbc54e5b57e5ec0769c161e565e5d63b600efa3 /media-sound | |
parent | media-sound/supercollider: sign up marcan@marcan.st for proxy-maint (diff) | |
download | gentoo-317ed887556977a46e475546548e918e39a1b6a3.tar.gz gentoo-317ed887556977a46e475546548e918e39a1b6a3.tar.bz2 gentoo-317ed887556977a46e475546548e918e39a1b6a3.zip |
media-sound/supercollider-3.11.0: version bump
Also adds the webengine USE flag, as that dep is now optional.
Closes: https://bugs.gentoo.org/723178
Closes: https://bugs.gentoo.org/724982
Closes: https://bugs.gentoo.org/728444
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-sound')
6 files changed, 391 insertions, 0 deletions
diff --git a/media-sound/supercollider/Manifest b/media-sound/supercollider/Manifest index d46670a67968..587d93ab6d00 100644 --- a/media-sound/supercollider/Manifest +++ b/media-sound/supercollider/Manifest @@ -1 +1,2 @@ DIST SuperCollider-3.10.2-Source-linux.tar.bz2 11366481 BLAKE2B d01324ed65f7e8977c138709471e7b9000b1d05ce4c1c0ff83c9ca0ae6e3948b4933320c382b64ecd2aebc65597c963c9348dda09a8c2ec7bc2ea5a14473fe44 SHA512 f7d136cb03e32dfd0b72e36047deaa24d5edfac0f7e9eeaac35f8e991cd52b00db0701478e0daefb24bfbbc55b5cf240e3f3429fd46caa8d76daa21c7aebaf46 +DIST SuperCollider-3.11.0-Source.tar.bz2 18125654 BLAKE2B f73f2a75a132a4c3a3010ab093929a7aa6a1b534fe70115acd336a22ac8c6482ab6aef93c01f5d738bdd4504c75b1461dc555af9fdab8de8b16bd68a6854336f SHA512 64fef4d751436337baf40ced068a496d3e9221f751dcde7bfc2857a79c094764dff814d1c0cf519380053ddcfdb2c3f2b8eb787d3cff03e522c19fd95951b1da diff --git a/media-sound/supercollider/files/supercollider-3.11.0-boost-1.72.patch b/media-sound/supercollider/files/supercollider-3.11.0-boost-1.72.patch new file mode 100644 index 000000000000..94329b867915 --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.11.0-boost-1.72.patch @@ -0,0 +1,45 @@ +From 43b2b27c14186a9a3eff917d7598751ed298ae20 Mon Sep 17 00:00:00 2001 +From: Hector Martin <marcan@marcan.st> +Date: Sun, 31 May 2020 21:25:12 +0900 +Subject: [PATCH 2/2] Fix build with Boost 1.72.0 + +--- + .../include/boost/sync/detail/throw_exception.hpp | 4 ---- + external_libraries/oscpack_build.cpp | 6 +++--- + 2 files changed, 3 insertions(+), 7 deletions(-) + +diff --git a/external_libraries/boost_sync/include/boost/sync/detail/throw_exception.hpp b/external_libraries/boost_sync/include/boost/sync/detail/throw_exception.hpp +index b5fdfabf8..a7d7fa7b3 100755 +--- a/external_libraries/boost_sync/include/boost/sync/detail/throw_exception.hpp ++++ b/external_libraries/boost_sync/include/boost/sync/detail/throw_exception.hpp +@@ -164,11 +164,7 @@ BOOST_NOINLINE BOOST_NORETURN void throw_exception(const char* func, const char* + + #endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) + +-#if !defined(BOOST_EXCEPTION_DISABLE) +-#define BOOST_SYNC_DETAIL_HERE BOOST_THROW_EXCEPTION_CURRENT_FUNCTION, __FILE__, __LINE__ +-#else + #define BOOST_SYNC_DETAIL_HERE BOOST_CURRENT_FUNCTION, __FILE__, __LINE__ +-#endif + + #define BOOST_SYNC_DETAIL_THROW_DEFAULT(ex)\ + boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE) +diff --git a/external_libraries/oscpack_build.cpp b/external_libraries/oscpack_build.cpp +index 3a658f3d3..1f6283d1c 100644 +--- a/external_libraries/oscpack_build.cpp ++++ b/external_libraries/oscpack_build.cpp +@@ -1,8 +1,8 @@ +-#include <boost/detail/endian.hpp> ++#include <boost/predef.h> + +-#ifdef BOOST_LITTLE_ENDIAN ++#if BOOST_ENDIAN_LITTLE_BYTE + #define OSC_HOST_LITTLE_ENDIAN +-#elif defined(BOOST_BIG_ENDIAN) ++#elif BOOST_ENDIAN_BIG_BYTE + #define OSC_HOST_BIG_ENDIAN + #else + #error please define endianness +-- +2.26.2 + diff --git a/media-sound/supercollider/files/supercollider-3.11.0-fewer-qt-deps.patch b/media-sound/supercollider/files/supercollider-3.11.0-fewer-qt-deps.patch new file mode 100644 index 000000000000..8b1014d99919 --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.11.0-fewer-qt-deps.patch @@ -0,0 +1,126 @@ +From 5b655fbbf44ff5e67709667242a5feff707e1a51 Mon Sep 17 00:00:00 2001 +From: Hector Martin <marcan@marcan.st> +Date: Mon, 1 Jun 2020 18:43:08 +0900 +Subject: [PATCH] Remove spurious Qt dependencies + +--- + QtCollider/CMakeLists.txt | 10 +++------- + QtCollider/widgets/QcCanvas.h | 2 -- + README_LINUX.md | 6 +++--- + README_RASPBERRY_PI.md | 2 +- + editors/sc-ide/CMakeLists.txt | 13 +++---------- + 5 files changed, 10 insertions(+), 23 deletions(-) + +diff --git a/QtCollider/CMakeLists.txt b/QtCollider/CMakeLists.txt +index de38afb908..6b9437b9c0 100644 +--- a/QtCollider/CMakeLists.txt ++++ b/QtCollider/CMakeLists.txt +@@ -7,19 +7,15 @@ option(SC_USE_QTWEBENGINE "Build with Qt WebEngine." ON) + set( + QT_COMPONENTS + Core +- Widgets ++ Gui + Network + PrintSupport +- OpenGL +- Quick +- Qml +- Sql + Svg ++ Widgets + ) + + set (QT_COLLIDER_LIBS +- Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::PrintSupport +- Qt5::Quick Qt5::Qml Qt5::Sql Qt5::OpenGL Qt5::Svg ++ Qt5::Core Qt5::Gui Qt5::Network Qt5::PrintSupport Qt5::Svg Qt5::Widgets + ${MATH_LIBRARY}) + + if(SC_USE_QTWEBENGINE) +diff --git a/QtCollider/widgets/QcCanvas.h b/QtCollider/widgets/QcCanvas.h +index 3acb00fc23..ff230b8139 100644 +--- a/QtCollider/widgets/QcCanvas.h ++++ b/QtCollider/widgets/QcCanvas.h +@@ -28,9 +28,7 @@ + #include <QBasicTimer> + #include <QTime> + #include <QPalette> +-#include <QGLWidget> + +-// using QcCanvasBase = QGLWidget; + using QcCanvasBase = QWidget; + + class QcCanvas : public QcCanvasBase { +diff --git a/README_LINUX.md b/README_LINUX.md +index d5818e9106..532ad9cc5a 100644 +--- a/README_LINUX.md ++++ b/README_LINUX.md +@@ -75,7 +75,7 @@ Depending on your Debian flavor and version, your distribution's PPA may be stuc + + If this displays version 5.7 or later, installing Qt is easy: + +- sudo apt-get install qt5-default qt5-qmake qttools5-dev qttools5-dev-tools qtdeclarative5-dev qtwebengine5-dev libqt5svg5-dev libqt5websockets5-dev ++ sudo apt-get install qt5-default qt5-qmake qttools5-dev qttools5-dev-tools qtwebengine5-dev libqt5svg5-dev libqt5websockets5-dev + + If you are on Ubuntu 14.04 (Trusty) or 16.04 (Xenial), check the next section. Otherwise, you will have to use the official Qt installer. Sorry. + +@@ -87,13 +87,13 @@ On Xenial: + + sudo apt-add-repository ppa:beineri/opt-qt-5.11.0-xenial + sudo apt-get update +- sudo apt-get install qt511base qt511location qt511declarative qt511tools qt511webchannel qt511xmlpatterns qt511svg qt511webengine qt511websockets ++ sudo apt-get install qt511base qt511location qt511tools qt511webchannel qt511xmlpatterns qt511svg qt511webengine qt511websockets + + On Trusty, only Qt 5.10 and below are available: + + sudo apt-add-repository ppa:beineri/opt-qt-5.10.1-trusty + sudo apt-get update +- sudo apt-get install qt510base qt510location qt510declarative qt510tools qt510webchannel qt510xmlpatterns qt510svg qt510webengine qt510websockets ++ sudo apt-get install qt510base qt510location qt510tools qt510webchannel qt510xmlpatterns qt510svg qt510webengine qt510websockets + + [Stephan Binner's Launchpad PPAs]: https://launchpad.net/~beineri + +diff --git a/README_RASPBERRY_PI.md b/README_RASPBERRY_PI.md +index 974ea1822c..aae8250388 100644 +--- a/README_RASPBERRY_PI.md ++++ b/README_RASPBERRY_PI.md +@@ -42,7 +42,7 @@ Install required libraries: + # For GUI builds: + sudo apt-get install libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev \ + libreadline-dev libfftw3-dev libxt-dev libudev-dev cmake qttools5-dev qttools5-dev-tools \ +- qtdeclarative5-dev libqt5svg5-dev qjackctl ++ qtbase5-dev libqt5svg5-dev qjackctl + # For GUI-less builds: + sudo apt-get install libsamplerate0-dev libsndfile1-dev libasound2-dev libavahi-client-dev \ + libreadline-dev libfftw3-dev libudev-dev cmake git +diff --git a/editors/sc-ide/CMakeLists.txt b/editors/sc-ide/CMakeLists.txt +index 1ee9ae4f43..6248668594 100644 +--- a/editors/sc-ide/CMakeLists.txt ++++ b/editors/sc-ide/CMakeLists.txt +@@ -6,22 +6,15 @@ set(QT_IDE_COMPONENTS + Concurrent + Core + LinguistTools +- # OpenGL +- PrintSupport +- Qml +- Quick +- Sql ++ Network + Widgets + ) + + set(QT_IDE_LIBRARIES + Qt5::Concurrent + Qt5::Core +- # Qt5::OpenGL +- Qt5::PrintSupport +- Qt5::Qml +- Qt5::Quick +- Qt5::Sql ++ Qt5::Network ++ Qt5::Widgets + ) + + if(SC_USE_QTWEBENGINE) diff --git a/media-sound/supercollider/files/supercollider-3.11.0-qt-5.15.patch b/media-sound/supercollider/files/supercollider-3.11.0-qt-5.15.patch new file mode 100644 index 000000000000..37f803312c28 --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.11.0-qt-5.15.patch @@ -0,0 +1,89 @@ +From 244e55632cef86ecd363eb8df3f2352569f804f4 Mon Sep 17 00:00:00 2001 +From: Hector Martin <marcan@marcan.st> +Date: Sun, 31 May 2020 21:24:52 +0900 +Subject: [PATCH 1/2] Fix build with Qt 5.15 + +--- + QtCollider/primitives/prim_QPen.cpp | 1 + + QtCollider/widgets/QcGraph.cpp | 1 + + QtCollider/widgets/QcLevelIndicator.cpp | 1 + + QtCollider/widgets/QcMultiSlider.cpp | 1 + + QtCollider/widgets/QcScopeShm.cpp | 1 + + QtCollider/widgets/soundfileview/view.cpp | 1 + + 6 files changed, 6 insertions(+) + +diff --git a/QtCollider/primitives/prim_QPen.cpp b/QtCollider/primitives/prim_QPen.cpp +index 8d531214d..4ba24519d 100644 +--- a/QtCollider/primitives/prim_QPen.cpp ++++ b/QtCollider/primitives/prim_QPen.cpp +@@ -27,6 +27,7 @@ + #include "PyrKernel.h" + + #include <QPainter> ++#include <QPainterPath> + #include <QVector2D> + #include <QVector3D> + #include <cmath> +diff --git a/QtCollider/widgets/QcGraph.cpp b/QtCollider/widgets/QcGraph.cpp +index 70215ae94..79e71d1ad 100644 +--- a/QtCollider/widgets/QcGraph.cpp ++++ b/QtCollider/widgets/QcGraph.cpp +@@ -24,6 +24,7 @@ + #include "../style/routines.hpp" + + #include <QPainter> ++#include <QPainterPath> + #include <QMouseEvent> + #include <QApplication> + #include <QtCore/qmath.h> +diff --git a/QtCollider/widgets/QcLevelIndicator.cpp b/QtCollider/widgets/QcLevelIndicator.cpp +index 19c7d4874..8a60f354a 100644 +--- a/QtCollider/widgets/QcLevelIndicator.cpp ++++ b/QtCollider/widgets/QcLevelIndicator.cpp +@@ -23,6 +23,7 @@ + #include "../QcWidgetFactory.h" + + #include <QPainter> ++#include <QPainterPath> + + QC_DECLARE_QWIDGET_FACTORY(QcLevelIndicator); + +diff --git a/QtCollider/widgets/QcMultiSlider.cpp b/QtCollider/widgets/QcMultiSlider.cpp +index 046b18739..381ddd404 100644 +--- a/QtCollider/widgets/QcMultiSlider.cpp ++++ b/QtCollider/widgets/QcMultiSlider.cpp +@@ -26,6 +26,7 @@ + #include <QApplication> + #include <QMouseEvent> + #include <QPainter> ++#include <QPainterPath> + + #include <cmath> + +diff --git a/QtCollider/widgets/QcScopeShm.cpp b/QtCollider/widgets/QcScopeShm.cpp +index bb44623f4..edd38ef57 100644 +--- a/QtCollider/widgets/QcScopeShm.cpp ++++ b/QtCollider/widgets/QcScopeShm.cpp +@@ -25,6 +25,7 @@ + #include "../debug.h" + + #include <QPainter> ++#include <QPainterPath> + #include <QTimer> + #include <QResizeEvent> + #include <QWindow> +diff --git a/QtCollider/widgets/soundfileview/view.cpp b/QtCollider/widgets/soundfileview/view.cpp +index a3eca811f..baba0b245 100644 +--- a/QtCollider/widgets/soundfileview/view.cpp ++++ b/QtCollider/widgets/soundfileview/view.cpp +@@ -24,6 +24,7 @@ + + #include <QGridLayout> + #include <QPainter> ++#include <QPainterPath> + #include <QApplication> + #include <QPaintEvent> + #include <QCursor> +-- +2.26.2 + diff --git a/media-sound/supercollider/metadata.xml b/media-sound/supercollider/metadata.xml index 3b6d97f50b9d..4fbc15376707 100644 --- a/media-sound/supercollider/metadata.xml +++ b/media-sound/supercollider/metadata.xml @@ -24,5 +24,6 @@ <flag name="gedit">Enable the SCED user interface</flag> <flag name="gpl3">Build GPL-3 licensed code (recommended)</flag> <flag name="server">Build with internal server</flag> + <flag name="webengine">Enable the internal help system using QtWebengine</flag> </use> </pkgmetadata> diff --git a/media-sound/supercollider/supercollider-3.11.0.ebuild b/media-sound/supercollider/supercollider-3.11.0.ebuild new file mode 100644 index 000000000000..02d351288d8a --- /dev/null +++ b/media-sound/supercollider/supercollider-3.11.0.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake readme.gentoo-r1 xdg-utils + +DESCRIPTION="An environment and a programming language for real time audio synthesis." +HOMEPAGE="https://supercollider.github.io/" +SRC_URI="https://github.com/supercollider/supercollider/releases/download/Version-${PV}/SuperCollider-${PV}-Source.tar.bz2" + +LICENSE="GPL-2 gpl3? ( GPL-3 )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug emacs +fftw gedit +gpl3 jack qt5 server +sndfile static-libs vim webengine X zeroconf" + +REQUIRED_USE=" + qt5? ( X ) + webengine? ( qt5 ) +" + +BDEPEND=" + virtual/pkgconfig + qt5? ( dev-qt/linguist-tools:5 ) +" +RDEPEND=" + dev-cpp/yaml-cpp:= + >=dev-libs/boost-1.70.0:= + media-libs/alsa-lib + sys-libs/readline:0= + virtual/libudev:= + fftw? ( sci-libs/fftw:3.0= ) + jack? ( virtual/jack ) + !jack? ( media-libs/portaudio ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + ) + server? ( !app-admin/supernova ) + sndfile? ( media-libs/libsndfile ) + webengine? ( + dev-qt/qtwebchannel:5 + dev-qt/qtwebengine:5[widgets] + dev-qt/qtwebsockets:5 + ) + X? ( + x11-libs/libX11 + x11-libs/libXt + ) + zeroconf? ( net-dns/avahi ) +" +DEPEND="${RDEPEND} + dev-libs/icu + emacs? ( >=app-editors/emacs-23.1:* ) + gedit? ( app-editors/gedit ) + qt5? ( + dev-qt/qtconcurrent:5 + ) + vim? ( app-editors/vim ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.10.2-no-ccache.patch + "${FILESDIR}"/${P}-boost-1.72.patch # Upstream PR 4990 + "${FILESDIR}"/${P}-qt-5.15.patch # Upstream PR 4986 + "${FILESDIR}"/${P}-fewer-qt-deps.patch # Upstream PR 4991 +) + +S="${WORKDIR}/SuperCollider-${PV}-Source" + +src_configure() { + local mycmakeargs=( + -DINSTALL_HELP=ON + -DSYSTEM_BOOST=ON + -DSYSTEM_YAMLCPP=ON + -DSSE=$(usex cpu_flags_x86_sse) + -DSSE2=$(usex cpu_flags_x86_sse2) + -DSC_EL=$(usex emacs) + -DFFT_GREEN=$(usex !fftw) + -DSC_ED=$(usex gedit) + -DNO_GPL3=$(usex !gpl3) + -DAUDIOAPI=$(usex jack jack portaudio) + -DSC_IDE=$(usex qt5) + -DSC_QT=$(usex qt5) + -DSCLANG_SERVER=$(usex server) + -DSUPERNOVA=$(usex server) + -DNO_LIBSNDFILE=$(usex !sndfile) + -DLIBSCSYNTH=$(usex !static-libs) + -DSC_VIM=$(usex vim) + -DSC_USE_QTWEBENGINE=$(usex webengine) + -DNO_X11=$(usex !X) + -DNO_AVAHI=$(usex !zeroconf) + ) + + use debug && mycmakeargs+=( + -DSC_MEMORY_DEBUGGING=ON + -DSN_MEMORY_DEBUGGING=ON + -DGC_SANITYCHECK=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + use emacs && newdoc editors/scel/README.md README.emacs + use gedit && newdoc editors/sced/README.md README.gedit + use vim && newdoc editors/scvim/README.md README.vim +} + +pkg_postinst() { + einfo "Notice: SuperCollider is not very intuitive to get up and running." + einfo "The best course of action to make sure that the installation was" + einfo "successful and get you started with using SuperCollider is to take" + einfo "a look through ${EROOT}/usr/share/doc/${PF}/README.md.bz2" + + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_mimeinfo_database_update + xdg_desktop_database_update +} |