diff options
author | Sebastian Pipping <sping@gentoo.org> | 2010-01-29 15:47:55 +0000 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2010-01-29 15:47:55 +0000 |
commit | eccd4ba68aff0bcc67c2d11250834010c4b01490 (patch) | |
tree | ea3d6a6ef48ee4a9b5db81694b84fe2b8aa0b888 /media-gfx/drqueue/drqueue-9999.ebuild | |
parent | Version bump (diff) | |
download | gentoo-2-eccd4ba68aff0bcc67c2d11250834010c4b01490.tar.gz gentoo-2-eccd4ba68aff0bcc67c2d11250834010c4b01490.tar.bz2 gentoo-2-eccd4ba68aff0bcc67c2d11250834010c4b01490.zip |
media-gfx/drqueue: New package (fixes bug #69553)
(Portage version: 2.2_rc61/cvs/Linux i686)
Diffstat (limited to 'media-gfx/drqueue/drqueue-9999.ebuild')
-rw-r--r-- | media-gfx/drqueue/drqueue-9999.ebuild | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/media-gfx/drqueue/drqueue-9999.ebuild b/media-gfx/drqueue/drqueue-9999.ebuild new file mode 100644 index 000000000000..69832cf5ca35 --- /dev/null +++ b/media-gfx/drqueue/drqueue-9999.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/drqueue/drqueue-9999.ebuild,v 1.1 2010/01/29 15:47:55 sping Exp $ + +EAPI="2" + +inherit eutils distutils git + +DESCRIPTION="Render farm managing software" +HOMEPAGE="http://www.drqueue.org/" +EGIT_REPO_URI="git://gitorious.org/drqueue-git/drqueue-git.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="X python ruby" + +RDEPEND="X? ( >=x11-libs/gtk+-2 ) + python? ( dev-lang/python ) + ruby? ( dev-lang/ruby ) + app-shells/tcsh" + +DEPEND="${RDEPEND} + python? ( dev-lang/swig ) + ruby? ( dev-lang/swig ) + python? ( >=dev-python/setuptools-0.6_rc6 ) + >=dev-util/scons-0.97" + +pkg_setup() { + enewgroup drqueue + enewuser drqueue -1 /bin/bash /dev/null daemon,drqueue +} + +src_compile() { + if use X; then + scons ${MAKEOPTS} build_drman=yes || die "scons failed" + else + scons ${MAKEOPTS} build_drqman=no || die "scons failed" + fi + + if use python; then + einfo "compiling python bindings" + cd "${S}"/python/ + distutils_src_compile + fi + + if use ruby; then + einfo "compiling ruby bindings" + cd "${S}"/ruby/ + ruby extconf.rb + emake || die "emake failed" + fi +} + +pkg_preinst() { + # stop daemons since script is being updated + [ -n "$(pidof drqsd)" -a -x /etc/init.d/drqsd ] && \ + /etc/init.d/drqsd stop + [ -n "$(pidof drqmd)" -a -x /etc/init.d/drqmd ] && \ + /etc/init.d/drqmd stop +} + +src_install() { + dodir /var/lib + scons PREFIX="${D}"/var/lib install || die "install failed" + + # not really needed + rm -R "${D}"/var/lib/drqueue/bin/viewcmd || die "rm failed" + + # install {conf,init,env}.d files + for i in drqmd drqsd ; do + newinitd "${FILESDIR}"/${PN}-0.64.3-etc-initd-${i} ${i} || die "newinitd failed" + newconfd "${FILESDIR}"/${PN}-0.64.3-etc-confd-${i} ${i} || die "newconfd failed" + done + newenvd "${FILESDIR}"/${PN}-0.64.3-etc-envd-02drqueue 02drqueue || die "newenvd failed" + + # create the drqueue pid directory + dodir /var/run/drqueue + keepdir /var/run/drqueue + + # move logs dir to /var/log + dodir /var/log + mv "${D}"/var/lib/drqueue/logs "${D}"/var/log/drqueue + + # fix bins and make links for /usr/bin + dodir /usr/bin + for cmd in blockhost cjob drqman jobfinfo \ + jobinfo master requeue sendjob slave ; do + dosed 's|SHLIB=\$DRQUEUE_ROOT/bin/shlib|SHLIB=/var/lib/drqueue/bin/shlib|' \ + /var/lib/drqueue/bin/${cmd} || die "dosed failed" + dosym /var/lib/drqueue/bin/${cmd} /usr/bin/ \ + || die "dosym failed" + done + + # install documentation + dodoc AUTHORS ChangeLog INSTALL \ + NEWS README README.mentalray \ + README.python README.shell_variables \ + setenv || die "dodoc failed" + + if use python; then + cd "${S}"/python/ + distutils_src_install + dodir /var/lib/${PN}/python + + # Install DRKeewee web service and example python scripts + insinto /var/lib/${PN}/python + doins -r DrKeewee examples || die "doins failed" + fi + + if use ruby; then + cd "${S}"/ruby/ + emake DESTDIR="${D}" install || die "emake failed" + fi +} + +pkg_postinst() { + einfo "Edit /etc/conf.d/drqsd /etc/env.d/02drqueue" + einfo "and /etc/conf.d/drqmd DRQUEUE_MASTER=\"hostname\"" + einfo "to reflect your master's hostname." + if use python ; then + einfo "" + einfo "DrKeewee can be found in /var/lib/drqueue/python" + + python_mod_optimize "$(python_get_sitedir)"/drqueue + fi +} + +pkg_postrm() { + use python && python_mod_cleanup "$(python_get_sitedir)"/drqueue +} |