summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2010-01-29 15:47:55 +0000
committerSebastian Pipping <sping@gentoo.org>2010-01-29 15:47:55 +0000
commiteccd4ba68aff0bcc67c2d11250834010c4b01490 (patch)
treeea3d6a6ef48ee4a9b5db81694b84fe2b8aa0b888 /media-gfx
parentVersion bump (diff)
downloadgentoo-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/ChangeLog18
-rw-r--r--media-gfx/drqueue/drqueue-0.64.3-r1.ebuild135
-rw-r--r--media-gfx/drqueue/drqueue-9999.ebuild131
-rw-r--r--media-gfx/drqueue/files/drqueue-0.64.3-compile-flags.patch15
-rw-r--r--media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqmd20
-rw-r--r--media-gfx/drqueue/files/drqueue-0.64.3-etc-confd-drqsd20
-rw-r--r--media-gfx/drqueue/files/drqueue-0.64.3-etc-envd-02drqueue5
-rwxr-xr-xmedia-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqmd26
-rwxr-xr-xmedia-gfx/drqueue/files/drqueue-0.64.3-etc-initd-drqsd25
-rw-r--r--media-gfx/drqueue/files/drqueue-0.64.3-sconstruct.patch11
-rw-r--r--media-gfx/drqueue/metadata.xml9
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>