Skip to content

Commit

Permalink
media-sound/supercollider: add package
Browse files Browse the repository at this point in the history
Closes: #3280
  • Loading branch information
mrVanDalo authored and SoapGentoo committed Mar 16, 2017
1 parent 143ffd6 commit 4aa8bd9
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 0 deletions.
1 change: 1 addition & 0 deletions media-sound/supercollider/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST SuperCollider-3.8.0-Source-linux.tar.bz2 8866545 SHA256 a6ea1fab694f2247baf5598e1d9dffc0738a238b8607b2e8fe4c872e58176b14 SHA512 305898067cb323682ca3dc65b3f093658192dbad228632d928f2fbd4a635c651f49e2e4f32c338997aafd48a22b739cd80de4296f747c3f1810ddede0aff283a WHIRLPOOL c3516d03bb299274327fa3d5120524ecf20002df34286ae8db29057c8846a3baad5bad7985cc00cb3a70049d017ab7d4cfc935849fdd393dcaccadc5c580cadc
29 changes: 29 additions & 0 deletions media-sound/supercollider/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@ingolf-wagner.de</email>
<description>Primary maintainer</description>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
SuperCollider is a platform for audio synthesis and algorithmic
composition, used by musicians, artists, and researchers
working with sound. It is free and open source software
available for Windows, Mac OS X, and Linux.
</longdescription>
<upstream>
<remote-id type="github">supercollider/supercollider</remote-id>
</upstream>
<use>
<flag name="vim">Enable the SCVIM user interface</flag>
<flag name="emacs">Enable the SCEL user interface</flag>
<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="wiimote">Build sclang with Wii Remote support</flag>
</use>
</pkgmetadata>
95 changes: 95 additions & 0 deletions media-sound/supercollider/supercollider-3.8.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit cmake-utils readme.gentoo-r1

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-linux.tar.bz2"

LICENSE="GPL-2 gpl3? ( GPL-3 )"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="avahi cpu_flags_x86_sse cpu_flags_x86_sse2 debug emacs +fftw gedit +gpl3 jack +portaudio qt5 server +sndfile static-libs vim wiimote"
REQUIRED_USE="^^ ( jack portaudio )"
RESTRICT="mirror"

# Both alsa and readline will be automatically checked in cmake but
# there are no options for these. Thus the functionality cannot be
# controlled through USE flags. Therefore hard-enabled.
RDEPEND="
media-libs/alsa-lib
sys-libs/readline:0=
x11-libs/libXt
avahi? ( net-dns/avahi )
fftw? ( sci-libs/fftw:3.0= )
jack? ( media-sound/jack-audio-connection-kit )
portaudio? ( media-libs/portaudio )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtpositioning:5
dev-qt/qtsensors:5
dev-qt/qtwebkit:5
)
sndfile? ( media-libs/libsndfile )
wiimote? ( app-misc/cwiid )"
DEPEND="${RDEPEND}
dev-libs/icu
virtual/pkgconfig
emacs? ( virtual/emacs )
gedit? ( app-editors/gedit )
vim? ( app-editors/vim )"

S="${WORKDIR}/SuperCollider-Source"

src_configure() {
local mycmakeargs=(
AUDIOAPI=$(usex jack jack portaudio)
-DINSTALL_HELP=ON
-DNATIVE=ON
-DSYSTEM_BOOST=OFF
-DSYSTEM_YAMLCPP=OFF
-DNO_AVAHI=$(usex !avahi)
-DFFT_GREEN=$(usex !fftw)
-DNO_GPL3=$(usex !gpl3)
-DNO_LIBSNDFILE=$(usex !sndfile)
-DSC_QT=$(usex qt5)
-DSCLANG_SERVER=$(usex server)
-DLIBSCSYNTH=$(usex !static-libs)
-DSSE=$(usex cpu_flags_x86_sse)
-DSSE2=$(usex cpu_flags_x86_sse2)
-DSC_IDE=$(usex qt5)
-DSC_ED=$(usex gedit)
-DSC_VIM=$(usex vim)
-DSC_EL=$(usex emacs)
-DSC_WII=$(usex wiimote)
)

use debug && mycmakeargs+=(
-DSC_MEMORY_DEBUGGING=ON
-DSN_MEMORY_DEBUGGING=ON
-DGC_SANITYCHECK=ON
)

cmake-utils_src_configure
}

src_install() {
cmake-utils_src_install

use vim && newdoc editors/scvim/README.md README.vim
use emacs && newdoc editors/scel/README.md README.emacs
use gedit && newdoc editors/sced/README.md README.gedit
}

pkg_postinst() {
einfo
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"
einfo
}

0 comments on commit 4aa8bd9

Please sign in to comment.