summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-07-16 08:41:28 +0100
committerSam James <sam@gentoo.org>2024-07-16 08:43:34 +0100
commit133931458f869a1b0e5282262d4526c096e561ec (patch)
treee169a45d2616f150f0ec9d3e3a81dcfc0580ab8b /media-sound
parentapp-i18n/librime: fix build w/ boost-1.85 (diff)
downloadgentoo-133931458f869a1b0e5282262d4526c096e561ec.tar.gz
gentoo-133931458f869a1b0e5282262d4526c096e561ec.tar.bz2
gentoo-133931458f869a1b0e5282262d4526c096e561ec.zip
media-sound/supercollider: fix build w/ boost-1.85
Thanks-to: Ron Widler <ron@einfach.org> Closes: https://bugs.gentoo.org/932793 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/supercollider/Manifest1
-rw-r--r--media-sound/supercollider/supercollider-3.13.0-r1.ebuild146
2 files changed, 147 insertions, 0 deletions
diff --git a/media-sound/supercollider/Manifest b/media-sound/supercollider/Manifest
index 4436653080aa..4d43e11d351e 100644
--- a/media-sound/supercollider/Manifest
+++ b/media-sound/supercollider/Manifest
@@ -1 +1,2 @@
DIST SuperCollider-3.13.0-Source.tar.bz2 18685091 BLAKE2B a5e57a17f93e40848b2044ee0791179f857d144eabb7f4d74580b2eebd49a31d6ec671a0526236c5b906aadeb455e5a7ad18cacb79ed214076d6bceca39ea2ae SHA512 a60a128f7646f077f91adae666fa4014529aa9df78cf0dfe5d68c9bd6447f008af7da2970b8736f3f29d0adbaf67bce680a8201fcbe7e1aba29c3499a57f89cd
+DIST supercollider-3.13.0-boost-1.85.patch.xz 11500 BLAKE2B 51a5210927df9199790ea64bbcdfe68aa233fb5777b57576295e2be7f7abd48baa9091e4139eef9ae23cbbc22613961ebd2ab60f26f0e02a8a62d68baa712af6 SHA512 dacd6fa4686a11ad06f2257155ee434173e343279170a3173a8173563309337f9a58075125acfaa53620e2a0a8fb445b5698f295ce53ac9f188e1502cebcb14f
diff --git a/media-sound/supercollider/supercollider-3.13.0-r1.ebuild b/media-sound/supercollider/supercollider-3.13.0-r1.ebuild
new file mode 100644
index 000000000000..9849a2115bba
--- /dev/null
+++ b/media-sound/supercollider/supercollider-3.13.0-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+DESCRIPTION="Environment and 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"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.13.0-boost-1.85.patch.xz"
+S="${WORKDIR}/SuperCollider-${PV}-Source"
+
+LICENSE="GPL-2 gpl3? ( GPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ableton-link 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:=
+ 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
+ )
+ 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}/${P}-boost-1.84.patch" # bug 921595
+ "${FILESDIR}/${P}-gcc-13.patch" # bug 905127
+ "${FILESDIR}/${P}-no-ccache.patch" # bug 922095
+ "${WORKDIR}/${PN}-3.13.0-boost-1.85.patch" # bug 932793
+)
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/927071
+ # https://github.com/supercollider/supercollider/issues/6245
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local mycmakeargs=(
+ -DSC_CLANG_USES_LIBSTDCPP=ON
+ -DINSTALL_HELP=ON
+ -DSYSTEM_BOOST=ON
+ -DSYSTEM_YAMLCPP=ON
+ -DUSE_CCACHE=OFF
+ -DSC_ABLETON_LINK=$(usex ableton-link)
+ -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)
+ -DNO_X11=$(usex !X)
+ -DNO_AVAHI=$(usex !zeroconf)
+ )
+
+ use qt5 && mycmakeargs+=(
+ -DSC_USE_QTWEBENGINE=$(usex webengine)
+ )
+
+ use debug && mycmakeargs+=(
+ -DSC_MEMORY_DEBUGGING=ON
+ -DSN_MEMORY_DEBUGGING=ON
+ -DGC_SANITYCHECK=ON
+ )
+
+ append-flags $(usex debug '' -DNDEBUG)
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use emacs && newdoc editors/sc-el/README.md README.emacs
+ use gedit && newdoc editors/sced/README.md README.gedit
+ use vim && newdoc editors/scvim/README.md README.vim
+}
+
+src_test() {
+ export QT_QPA_PLATFORM=offscreen
+ cmake_src_test
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+}
+
+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_pkg_postinst
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}