commit:     133931458f869a1b0e5282262d4526c096e561ec
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 07:41:28 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 07:43:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13393145

media-sound/supercollider: fix build w/ boost-1.85

Thanks-to: Ron Widler <ron <AT> einfach.org>
Closes: https://bugs.gentoo.org/932793
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/supercollider/Manifest                 |   1 +
 .../supercollider/supercollider-3.13.0-r1.ebuild   | 146 +++++++++++++++++++++
 2 files changed, 147 insertions(+)

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
+}

Reply via email to