aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/condor/condor-7.5.4.ebuild')
-rw-r--r--sys-cluster/condor/condor-7.5.4.ebuild160
1 files changed, 160 insertions, 0 deletions
diff --git a/sys-cluster/condor/condor-7.5.4.ebuild b/sys-cluster/condor/condor-7.5.4.ebuild
new file mode 100644
index 000000000..daf9d0f73
--- /dev/null
+++ b/sys-cluster/condor/condor-7.5.4.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=2
+
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="Workload management system for compute-intensive jobs"
+HOMEPAGE="http://www.cs.wisc.edu/condor/"
+SRC_URI="${PN}_src-${PV}-all-all.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="classads drmaa examples gcb kbdd kerberos postgres soap ssl static-libs"
+
+CDEPEND="sys-libs/zlib
+ app-emulation/libvirt
+ dev-libs/libpcre
+ classads? ( sys-cluster/classads[pcre] )
+ gcb? ( net-firewall/gcb )
+ kerberos? ( app-crypt/mit-krb5 )
+ kbdd? ( x11-libs/libX11 )
+ postgres? ( dev-db/postgresql-base )
+ soap? ( net-libs/gsoap )
+ ssl? ( dev-libs/openssl )"
+
+RDEPEND="${CDEPEND}
+ mail-client/mailx"
+
+DEPEND="${CDEPEND}
+ x11-misc/imake"
+
+RESTRICT=fetch
+
+S="${WORKDIR}/${P}/src"
+
+pkg_setup() {
+ enewgroup condor
+ enewuser condor -1 "${ROOT}"bin/bash "${ROOT}var/lib/condor" condor
+}
+
+src_prepare() {
+ # these two eauto* are to replicate the build_init script
+ # not so sure they are really needed
+ eautoheader
+ eautoconf
+ # this patch is mostly to use standard fhs
+ cd condor_examples
+ epatch ./condor_config.generic.rpm.patch
+ # the base local file is in /etc, then the condor local file is updated and should reside in /var/lib
+ sed -i \
+ -e 's:\(LOCAL_CONFIG_FILE.*=\).*:\1 /var/lib/condor/condor_config.local:' \
+ condor_config.generic || die
+}
+
+src_configure() {
+ # condor seems to be buggy with -O2 and above with gcc
+ filter-flags "-O[s2-9]" "-O1"
+
+ # set USE_OLD_IMAKE to anything so condor_imake will use the system
+ # installed imake instead of building its own
+ export USE_OLD_IMAKE=YES
+ econf \
+ --with-buildid=Gentoo-${P} \
+ --enable-proper \
+ --disable-full-port \
+ --disable-gcc-version-check \
+ --disable-glibc-version-check \
+ --disable-rpm \
+ --without-zlib \
+ --with-libvirt \
+ $(use_enable kbdd) \
+ $(use_enable postgres quill) \
+ $(use_enable static-libs static) \
+ $(use_with classads) \
+ $(use_with drmaa) \
+ $(use_with gcb) \
+ $(use_with kerberos krb5) \
+ $(use_with postgres postgresql) \
+ $(use_with soap gsoap) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # yet to find a way to parallelize compilation
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake release manpages || die "emake release failed"
+ if use static-libs; then
+ emake static || die "emake static failed"
+ fi
+
+ cd release_dir
+ ## remove a shitload of useless stuff to sync with the rpm package
+ ## comments are from the rpm fedora spec file
+ # used by old MPI universe, not packaged (it's rsh, it should die)
+ rm -rf libexec/rsh
+ # this is distributed as chirp_client.c/h and chirp_protocol.h
+ rm lib/libchirp_client.a include/chirp_client.h
+ # checkpoint, reschedule and vacate live in bin/, don't duplicate
+ rm sbin/condor_{checkpoint,reschedule,vacate}
+ # sbin/condor is a pointless hard links
+ rm sbin/condor
+
+ # binaries
+ dosbin sbin/* || die
+ dobin bin/* || die
+ # headers
+ insinto /usr
+ doins -r include || die
+ # libs
+ dolib.so lib/*so || die
+ use static-libs && dolib.a lib/*a
+ insinto /usr/libexec/condor
+ doins -r libexec/* || die
+
+ # data files
+ insinto /usr/share/${PN}
+ doins lib/*.jar lib/*.class lib/*.pm || die
+ use postgres && doins -r sql
+
+ # examples
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r etc/examples || die
+ fi
+
+ # config files
+ insinto /etc/condor
+ newins etc/examples/condor_config.generic condor_config || die
+ newins etc/examples/condor_config.local.generic condor_config.local || die
+ insinto /var/lib/condor/
+ newins etc/examples/condor_config.local.generic
+
+ dodir /var/log/condor
+ dodir /var/run/condor
+ dodir /var/lock/condor
+
+ fperms 750 /var/lib/condor /var/log/condor
+ fperms 755 /var/run/condor
+ fperms 0775 /var/lock/condor
+ fowners condor:condor /var/lib/condor /var/log/condor /var/run/condor /var/lib/condor/condor_config.local
+
+ newconfd "${FILESDIR}"/condor.confd condor || die
+ newinitd "${FILESDIR}"/condor.initd condor || die
+}
+
+pkg_postinst() {
+ elog "Default configuration files have been installed"
+ elog "You can customize it from there or provide your own"
+ elog "in ${ROOT}etc/${PN}/condor_config*"
+
+ elog "The condor ebuild is still under development."
+ elog "Help us improve the ebuild in participating in:"
+ elog "https://bugs.gentoo.org/show_bug.cgi?id=60281"
+}