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 | |
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')
-rw-r--r-- | media-gfx/drqueue/ChangeLog | 18 | ||||
-rw-r--r-- | media-gfx/drqueue/drqueue-0.64.3-r1.ebuild | 135 | ||||
-rw-r--r-- | media-gfx/drqueue/drqueue-9999.ebuild | 131 | ||||
-rw-r--r-- | media-gfx/drqueue/files/drqueue-0.64.3-compile-flags.patch | 15 | ||||
-rw-r--r-- | media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqmd | 20 | ||||
-rw-r--r-- | media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqsd | 20 | ||||
-rw-r--r-- | media-gfx/drqueue/files/drqueue-0.64.3-etc-envd-02drqueue | 5 | ||||
-rwxr-xr-x | media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqmd | 26 | ||||
-rwxr-xr-x | media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqsd | 25 | ||||
-rw-r--r-- | media-gfx/drqueue/files/drqueue-0.64.3-sconstruct.patch | 11 | ||||
-rw-r--r-- | media-gfx/drqueue/metadata.xml | 9 |
11 files changed, 415 insertions, 0 deletions
diff --git a/media-gfx/drqueue/ChangeLog b/media-gfx/drqueue/ChangeLog new file mode 100644 index 000000000000..132ce2b966f6 --- /dev/null +++ b/media-gfx/drqueue/ChangeLog @@ -0,0 +1,18 @@ +# ChangeLog for media-gfx/drqueue +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/drqueue/ChangeLog,v 1.1 2010/01/29 15:47:55 sping Exp $ + +*drqueue-9999 (29 Jan 2010) +*drqueue-0.64.3-r1 (29 Jan 2010) + + 29 Jan 2010; Sebastian Pipping <sping@gentoo.org> + +drqueue-0.64.3-r1.ebuild, +files/drqueue-0.64.3-compile-flags.patch, + +files/drqueue-0.64.3-etc-confd-drqmd, + +files/drqueue-0.64.3-etc-confd-drqsd, + +files/drqueue-0.64.3-etc-envd-02drqueue, + +files/drqueue-0.64.3-etc-initd-drqmd, + +files/drqueue-0.64.3-etc-initd-drqsd, + +files/drqueue-0.64.3-sconstruct.patch, +drqueue-9999.ebuild, + +metadata.xml: + New package (fixes bug #69553) + diff --git a/media-gfx/drqueue/drqueue-0.64.3-r1.ebuild b/media-gfx/drqueue/drqueue-0.64.3-r1.ebuild new file mode 100644 index 000000000000..94af71009119 --- /dev/null +++ b/media-gfx/drqueue/drqueue-0.64.3-r1.ebuild @@ -0,0 +1,135 @@ +# 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-0.64.3-r1.ebuild,v 1.1 2010/01/29 15:47:55 sping Exp $ + +EAPI="2" + +inherit eutils distutils + +DESCRIPTION="Render farm managing software" +HOMEPAGE="http://www.drqueue.org/" +SRC_URI="http://drqueue.org/files/1-Sources_all_platforms/${PN}.${PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +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_prepare() { + epatch "${FILESDIR}"/${P}-compile-flags.patch \ + "${FILESDIR}"/${P}-sconstruct.patch +} + +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 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 +} 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 +} diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-compile-flags.patch b/media-gfx/drqueue/files/drqueue-0.64.3-compile-flags.patch new file mode 100644 index 000000000000..eeee2a67f752 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-compile-flags.patch @@ -0,0 +1,15 @@ +--- SConstruct_BACKUP 2009-12-31 22:53:23.000000000 +0100 ++++ SConstruct 2009-12-31 22:57:48.000000000 +0100 +@@ -102,9 +102,10 @@ + env_lib.Append (CPPPATH=['.','libdrqueue']) + env_lib.Append (CPPDEFINES = Split ('-DCOMM_REPORT -D_GNU_SOURCE ' \ + + '-D_NO_COMPUTER_POOL_SEMAPHORES -D_NO_COMPUTER_SEMAPHORES'), +- CPPFLAGS = Split ('-g -O0'), ++ CFLAGS = Split(os.environ.get('CFLAGS', '')), + CXXFLAGS = ['-D__CPLUSPLUS',Split(env_lib.subst('$CCFLAGS')), +- Split(env_lib.subst('$CPPDEFINES'))]) ++ Split(env_lib.subst('$CPPDEFINES')), ++ Split(os.environ.get('CXXFLAGS', ''))]) + + print "Platform is: ",sys.platform + if sys.platform == "linux2": diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqmd b/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqmd new file mode 100644 index 000000000000..c6580b279b08 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqmd @@ -0,0 +1,20 @@ +# /etc/conf.d/drqmd config file for /etc/init.d/drqmd + +# enter your master hostname here +DRQUEUE_MASTER="127.0.0.1" + +# this is the drqueue root dir, do not change below here unless you know what you're doing +DRQUEUE_ROOT="/var/lib/drqueue" +DRQUEUE_LOGS="/var/log/drqueue" + +# set the environmental variables for drqueue +ENV="env DRQUEUE_ROOT=${DRQUEUE_ROOT} DRQUEUE_MASTER=${DRQUEUE_MASTER} DRQUEUE_LOGS=${DRQUEUE_LOGS}" + +# this is the drqueue master executable +DRQUEUEMASTER_EXEC="/usr/bin/master" + +# this is where drqueue master will store its pid file +DRQUEUEMASTER_PIDFILE="/var/run/drqueue/drqmd.pid" + + + diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqsd b/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqsd new file mode 100644 index 000000000000..d65b05555786 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqsd @@ -0,0 +1,20 @@ +# /etc/conf.d/drqsd config file for /etc/init.d/drqsd + +# enter your master hostname here +DRQUEUE_MASTER="127.0.0.1" + +# this is the drqueue root dir, do not change below here unless you know what you're doing +DRQUEUE_ROOT="/var/lib/drqueue" +DRQUEUE_LOGS="/var/log/drqueue" + +# list of pools the slave is belonging to ("blender:mentalray:bla123") +DRQUEUE_POOL="" + +# set the environmental variables for drqueue +ENV="env DRQUEUE_ROOT=${DRQUEUE_ROOT} DRQUEUE_MASTER=${DRQUEUE_MASTER} DRQUEUE_LOGS=${DRQUEUE_LOGS} DRQUEUE_POOL=${DRQUEUE_POOL}" + +# this is the drqueue slave executable +DRQUEUESLAVE_EXEC="/usr/bin/slave" + +# this is where drqueue slave will store its pid file +DRQUEUESLAVE_PIDFILE="/var/run/drqueue/drqsd.pid" diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-etc-envd-02drqueue b/media-gfx/drqueue/files/drqueue-0.64.3-etc-envd-02drqueue new file mode 100644 index 000000000000..cb368bf79cf3 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-etc-envd-02drqueue @@ -0,0 +1,5 @@ +# environment variable for DrQueue +DRQUEUE_MASTER="127.0.0.1" +DRQUEUE_ROOT="/var/lib/drqueue" +DRQUEUE_LOGS="/var/log/drqueue" + diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqmd b/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqmd new file mode 100755 index 000000000000..ff4ae9250b54 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqmd @@ -0,0 +1,26 @@ +#!/sbin/runscript + +depend() { + need net +} + +start() { + [ -e "${DRQUEUEMASTER_PIDFILE}" ] && rm -f ${DRQUEUEMASTER_PIDFILE} &>/dev/null + ebegin "Starting drqmd" + + chown drqueue `dirname ${DRQUEUEMASTER_PIDFILE}` &>/dev/null + ${ENV} /sbin/start-stop-daemon -b --start --quiet --startas /usr/bin/master \ + --pidfile ${DRQUEUEMASTER_PIDFILE} --make-pidfile + + eend $? +} + +stop() { + ebegin "Stopping drqmd" + pkill -u root,drqueue master + start-stop-daemon --stop --quiet --pidfile "${DRQUEUEMASTER_PIDFILE}" + rm -f "${DRQUEUEMASTER_PIDFILE}" + eend $? +} + + diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqsd b/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqsd new file mode 100755 index 000000000000..65b3ced86374 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqsd @@ -0,0 +1,25 @@ +#!/sbin/runscript + +depend() { + need net +} + +start() { + [ -e "${DRQUEUESLAVE_PIDFILE}" ] && rm -f ${DRQUEUESLAVE_PIDFILE} &>/dev/null + + ebegin "Starting drqsd" + chown drqueue `dirname ${DRQUEUESLAVE_PIDFILE}` &>/dev/null + ${ENV} /sbin/start-stop-daemon -b --start --quiet --startas /usr/bin/slave \ + --pidfile ${DRQUEUESLAVE_PIDFILE} --make-pidfile + + eend $? +} + +stop() { + ebegin "Stopping drqsd" + pkill -u root,drqueue slave + start-stop-daemon --stop --quiet --pidfile "${DRQUEUESLAVE_PIDFILE}" + rm -f "${DRQUEUESLAVE_PIDFILE}" + eend $? +} + diff --git a/media-gfx/drqueue/files/drqueue-0.64.3-sconstruct.patch b/media-gfx/drqueue/files/drqueue-0.64.3-sconstruct.patch new file mode 100644 index 000000000000..87b4608300b1 --- /dev/null +++ b/media-gfx/drqueue/files/drqueue-0.64.3-sconstruct.patch @@ -0,0 +1,11 @@ +--- drqueue-0.64.3/SConstruct 2007-07-22 07:34:40.000000000 +0100 ++++ drqueue-0.64.3/SConstruct.patched 2007-08-15 18:59:54.000000000 +0100 +@@ -108,7 +108,7 @@ env_lib.Append (CPPDEFINES = Split ('-DC + + print "Platform is: ",sys.platform + if sys.platform == "linux2": +- env_lib.Append (CPPDEFINES = Split ('-D__LINUX')) ++ env_lib.Append (CPPDEFINES = Split ('-D__LINUX'),CFLAGS = Split ('-fPIC')) + elif sys.platform == "darwin": + env_lib.Append (CPPDEFINES = Split ('-D__OSX')) + if env_lib.get('universal_binary'): diff --git a/media-gfx/drqueue/metadata.xml b/media-gfx/drqueue/metadata.xml new file mode 100644 index 000000000000..328fbd146a56 --- /dev/null +++ b/media-gfx/drqueue/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>sping@gentoo.org</email> + <name>Sebastian Pipping</name> + </maintainer> +</pkgmetadata> |