# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit elisp-common eutils toolchain-funcs DESCRIPTION="A real time audio synthesis programming language" HOMEPAGE="http://www.audiosynth.com" SRC_URI="http://dev.gentooexperimental.org/~drac/distfiles/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~ppc ~x86" IUSE="emacs" RDEPEND="media-sound/jack-audio-connection-kit media-libs/alsa-lib media-libs/libsndfile dev-util/pkgconfig dev-util/scons" DEPEND="${RDEPEND} sys-apps/sed emacs? ( virtual/emacs )" SITEFILE=50${PN}-gentoo.el src_unpack() { unpack ${A} cd "${S}" # Change default config file location from /etc to /etc/supercollider sed -i -e "s:/etc/sclang.cfg:/etc/supercollider/sclang.cfg:" Source/lang/LangSource/SC_LanguageClient.cpp sed -i -e "s:/etc/sclang.cfg:/etc/supercollider/sclang.cfg:" linux/examples/sclang.cfg.in # Change the ridiculous default scsynth location on sample ~/.scsynth.sc file sed -i -e "s:/usr/local/music/bin/scsynth:/usr/bin/scsynth:" linux/examples/sclang.sc if ! use emacs; then # Uncommenting a line per linux/examples/sclang.cfg.in sed -i -e \ "s:#-@PKG_DATA_DIR@/Common/GUI/Document.sc:-@PKG_DATA_DIR@/Common/GUI/Document.sc:" \ linux/examples/sclang.cfg.in else # Fixing the elisp installation directory setting sed -i -e \ "s:elisp_dir = os.path.join(INSTALL_PREFIX, 'share', 'emacs', 'site-lisp'):elisp_dir = os.path.join(INSTALL_PREFIX, 'share', 'emacs', 'site-lisp', 'supercollider'):" \ SConstruct fi } src_compile() { local myconf myconf="${myconf} PREFIX=/usr" # Do the main compilation if use emacs; then myconf="${myconf} SCEL=yes" else myconf="${myconf} SCEL=no" fi cd "${S}" scons ${myconf} linux/examples/sclang.cfg || die "configure failed." scons ${MAKEOPTS} CXX="$(tc-getCXX)" || die "scons failed." } src_install() { # Main install scons install DESTDIR="${D}" # Install our config file insinto /etc/supercollider doins linux/examples/sclang.cfg # Documentation mv linux/README linux/README-linux mv linux/scel/README linux/scel/README-scel dodoc linux/README-linux linux/scel/README-scel # Our documentation sed -e "s:@DOCBASE@:/usr/share/doc/${PF}:" \ < ${FILESDIR}/README-gentoo.txt | gzip \ > "${D}"/usr/share/doc/${PF}/README-gentoo.txt.gz # Example files (don't gzip) insinto /usr/share/doc/${PF}/examples doins linux/examples/onetwoonetwo.sc linux/examples/sclang.sc # Help files included with project (again, don't gzip) cp -R "${S}"/build/Help "${D}"/usr/share/doc/${PF} # Emacs installation if use emacs; then elisp-site-file-install "${FILESDIR}/${SITEFILE}" fi } pkg_postinst() { elog elog "Notice: SuperCollider is not very intuitive to get up and running." elog "The best course of action to make sure that the installation was" elog "successful and get you started with using SuperCollider is to take" elog "a look through /usr/share/doc/${PF}/README-gentoo.txt.gz" elog use emacs && elisp-site-regen } pkg_postrm() { use emacs && elisp-site-regen }