summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHector Martin <marcan@marcan.st>2020-05-30 19:54:27 +0900
committerAndreas Sturmlechner <asturm@gentoo.org>2020-06-22 22:25:06 +0200
commit317ed887556977a46e475546548e918e39a1b6a3 (patch)
tree6bbc54e5b57e5ec0769c161e565e5d63b600efa3 /media-sound
parentmedia-sound/supercollider: sign up marcan@marcan.st for proxy-maint (diff)
downloadgentoo-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')
-rw-r--r--media-sound/supercollider/Manifest1
-rw-r--r--media-sound/supercollider/files/supercollider-3.11.0-boost-1.72.patch45
-rw-r--r--media-sound/supercollider/files/supercollider-3.11.0-fewer-qt-deps.patch126
-rw-r--r--media-sound/supercollider/files/supercollider-3.11.0-qt-5.15.patch89
-rw-r--r--media-sound/supercollider/metadata.xml1
-rw-r--r--media-sound/supercollider/supercollider-3.11.0.ebuild129
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
+}