source: trunk/dports/science/htcondor/Portfile @ 105270

Last change on this file since 105270 was 105270, checked in by aronnax@…, 7 years ago

htcondor: new port, specialized workload management system for compute-intensive jobs

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.5 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
2# $Id: Portfile 105270 2013-04-15 16:57:14Z aronnax@macports.org $
3
4PortSystem              1.0
5PortGroup               github 1.0
6PortGroup               cmake 1.0
7PortGroup               active_variants 1.1
8
9github.setup            htcondor htcondor 7_8_8 V
10version                 [strsed ${github.version} g/_/\./]
11maintainers             aronnax
12
13categories              science parallel net
14license                 apache
15platforms               darwin
16description \
17  specialized workload management system for compute-intensive jobs
18long_description \
19  HTCondor is a specialized workload management system for compute-intensive \
20  jobs. Like other full-featured batch systems, HTCondor provides a job \
21  queueing mechanism, scheduling policy, priority scheme, resource monitoring, \
22  and resource management. Users submit their serial or parallel jobs to \
23  HTCondor, HTCondor places them into a queue, chooses when and where to run \
24  the jobs based upon a policy, carefully monitors their progress, and \
25  ultimately informs the user upon completion.
26homepage                http://research.cs.wisc.edu/htcondor
27
28default_variants        +personal
29
30variant personal \
31  description "configure your computer as a one-node personal Condor pool" {
32
33    add_users           condor group=condor
34
35    startupitem.create  yes
36    startupitem.name    ${name}
37    startupitem.start   "${prefix}/sbin/condor_master -f"
38    startupitem.stop    "${prefix}/sbin/condor_off -all -master"
39}
40
41checksums               rmd160  05bf7ab149aef9590776efe3f48c83a7038f346d \
42                        sha256  2077dcc0e74d84f45793b50dde84854519931649fad9c6a33550a5fa715a6f21
43
44depends_build-append    port:latex2html
45
46depends_lib-append      port:boost \
47                        port:expat \
48                        port:kerberos5 \
49                        port:openssl \
50                        port:pcre
51
52# FIXME: For some reason, Condor uses install_name_tool to have dynamic links
53# point to @executable_path/../lib/condor/libexpat.1.dylib, etc, instead of
54# @executable_path/../lib/libexpat.1.dylib, etc. Why?
55patchfiles              patch-src-condor_scripts-macosx_rewrite_libs.diff \
56                        patch-src-condor_utils-condor_config.cpp.diff
57
58post-patch {
59    reinplace "s|@prefix@|${prefix}|g" ${worksrcpath}/src/condor_utils/condor_config.cpp
60}
61
62compiler.blacklist      clang
63
64# FIXME: Globus support is disabled because Globus is not available in MacPorts.
65configure.args-append   -DWITH_GLOBUS:BOOL="0"
66
67post-build {
68    system -W ${worksrcpath}/doc "make just-man-pages"
69}
70
71destroot.keepdirs       ${destroot}${prefix}/etc/condor/config.d \
72                        ${destroot}${prefix}/var/lib/condor/execute \
73                        ${destroot}${prefix}/var/lib/condor/spool \
74                        ${destroot}${prefix}/var/log/condor
75
76# Condor installs some documentation into ${prefix}. Move them into
77# ${prefix}/share/doc/${name}.
78post-destroot {
79    eval xinstall [glob ${worksrcpath}/doc/man/man1/*] \
80        ${destroot}${prefix}/share/man/man1
81
82    file delete ${destroot}${prefix}/sbin/condor_configure
83    file delete ${destroot}${prefix}/sbin/condor_install
84    file mkdir ${destroot}${prefix}/share/doc/${name}
85    move \
86      ${destroot}${prefix}/DOC \
87      ${destroot}${prefix}/examples \
88      ${destroot}${prefix}/INSTALL \
89      ${destroot}${prefix}/LICENSE-2.0.txt \
90      ${destroot}${prefix}/README \
91      ${destroot}${prefix}/share/doc/${name}
92
93    if {[variant_isset personal]} {
94        xinstall -d ${destroot}${prefix}/etc/condor/config.d
95        xinstall ${filespath}/condor_config ${destroot}${prefix}/etc/condor
96        reinplace "s|@prefix@|${prefix}|g" ${destroot}${prefix}/etc/condor/condor_config
97        xinstall ${filespath}/condor_config.local ${destroot}${prefix}/etc/condor
98
99        xinstall -d ${destroot}${prefix}/var/lib
100        xinstall -d -o condor -g condor ${destroot}${prefix}/var/lib/condor/execute
101        xinstall -d -o condor -g condor ${destroot}${prefix}/var/lib/condor/spool
102        xinstall -d ${destroot}${prefix}/var/log
103        xinstall -d -o condor -g condor ${destroot}${prefix}/var/log/condor
104    }
105}
106
107# Override default GitHub livecheck because the HTCondor git repository has
108# thousands of tags, and GitHub has to paginate the tags.
109livecheck.type          regexm
110livecheck.url           ${homepage}/downloads/
111livecheck.version       ${version}
112livecheck.regex         {Current Stable Release</td>\s*<td [^>]*>([0-9]+(\.[0-9]+)+)}
Note: See TracBrowser for help on using the repository browser.