source: trunk/dports/devel/git/Portfile @ 144369

Last change on this file since 144369 was 144369, checked in by jeremyhu@…, 3 years ago

git: Remove old perl versions (#48365)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 7.8 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 144369 2016-01-07 05:00:28Z jeremyhu@macports.org $
3
4PortSystem          1.0
5PortGroup           perl5 1.0
6
7name                git
8version             2.7.0
9description         A fast version control system
10long_description    Git is a fast, scalable, distributed open source version \
11                    control system focusing on speed and efficiency.
12maintainers         ciserlohn openmaintainer
13categories          devel
14license             GPL-2 LGPL-2.1+
15platforms           darwin
16homepage            http://git-scm.com/
17master_sites        https://www.kernel.org/pub/software/scm/git/
18distname            git-${version}
19distfiles           git-${version}${extract.suffix} \
20                    git-manpages-${version}${extract.suffix}
21
22checksums           git-${version}${extract.suffix} \
23                    rmd160  ec0cb7220bc24bd8e90e4353418ba9e1456e7090 \
24                    sha256  db9df4435c70a9b25d20a9ee20d65101692dc907a5a4b30e8343c9ae1b913ead \
25                    git-manpages-${version}${extract.suffix} \
26                    rmd160  6bc841213195a7e5ed3eefdc8045968e88a48a31 \
27                    sha256  444703d66d8441c3c67ba12997719d7510b67a6bc51ccd098474c417a334fb61 \
28
29perl5.require_variant   yes
30perl5.conflict_variants yes
31perl5.branches          5.22
32perl5.create_variants   ${perl5.branches}
33perl5.default_branch    5.22
34
35depends_lib-append  port:curl \
36                    port:zlib \
37                    path:lib/libssl.dylib:openssl \
38                    port:expat \
39                    port:libiconv
40
41depends_run-append  port:p${perl5.major}-authen-sasl \
42                    port:p${perl5.major}-error \
43                    port:p${perl5.major}-net-smtp-ssl \
44                    port:p${perl5.major}-term-readkey \
45                    port:p${perl5.major}-cgi \
46                    port:rsync
47
48patchfiles          patch-Makefile.diff git-subtree.1.diff
49patch.pre_args      -p1
50
51extract.only        git-${version}${extract.suffix} \
52                    git-manpages-${version}${extract.suffix}
53
54use_configure       no
55
56variant universal   {}
57
58set CFLAGS          "-I. -Wall -O2 -I${prefix}/include [get_canonical_archflags cc]"
59set LDFLAGS         "-L${prefix}/lib [get_canonical_archflags ld]"
60
61build.args          CFLAGS="${CFLAGS}" \
62                    LDFLAGS="${LDFLAGS}" \
63                    CC=${configure.cc} \
64                    prefix=${prefix} \
65                    CURLDIR=${prefix} \
66                    OPENSSLDIR=${prefix} \
67                    ICONVDIR=${prefix} \
68                    PERL_PATH="${prefix}/bin/perl${perl5.major}" \
69                    NO_FINK=1 \
70                    NO_DARWIN_PORTS=1 \
71                    NO_R_TO_GCC_LINKER=1 \
72                    V=1
73
74test.run            yes
75test.cmd            make
76test.target         test
77test.dir            ${worksrcpath}
78pre-test {
79    eval test.args  ${build.args}
80}
81
82destroot.target     install
83pre-destroot {
84    eval destroot.args  ${build.args}
85    xinstall -m 644 ${worksrcpath}/contrib/subtree/git-subtree.1 ${workpath}/man1
86}
87
88set docdestroot ${destroot}${prefix}/share/doc/git-doc
89
90post-destroot {
91    foreach f {1 5 7} {
92        xinstall -d ${destroot}${prefix}/share/man/man${f}
93        foreach m [glob -directory ${workpath} man${f}/*.${f}] {
94            xinstall ${m} ${destroot}${prefix}/share/man/man${f}
95        }
96    }
97    if {![variant_isset svn]} {
98        system "rm ${destroot}${prefix}/libexec/git-core/git-svn*"
99    }
100
101    xinstall -d ${docdestroot}
102
103    fs-traverse badfile ${destroot} {
104        if {[string last perllocal.pod ${badfile}] != -1} {
105            ui_info "Removing ${badfile}"
106            file delete ${badfile}
107        }
108    }
109
110    set completions_path ${destroot}${prefix}/share/bash-completion/completions
111    xinstall -d ${completions_path}
112    xinstall -m 644 ${worksrcpath}/contrib/completion/git-completion.bash \
113        ${completions_path}/git
114
115    set share_path ${destroot}${prefix}/share/${name}
116    xinstall -d ${share_path}
117    xinstall -m 644 ${worksrcpath}/contrib/completion/git-prompt.sh \
118        ${share_path}/git-prompt.sh
119
120    xinstall -m 755 ${worksrcpath}/contrib/subtree/git-subtree.sh \
121        ${destroot}${prefix}/libexec/git-core/git-subtree
122
123    file delete -force ${share_path}/contrib
124    copy ${worksrcpath}/contrib ${share_path}
125
126    xinstall -m 755 -d ${destroot}${prefix}/share/emacs/site-lisp/
127    eval xinstall -m 644 [glob ${worksrcpath}/contrib/emacs/*.el] \
128        ${destroot}${prefix}/share/emacs/site-lisp/
129
130}
131
132if {![variant_isset python26] && ![variant_isset python27]} {
133    default_variants    +python27
134}
135
136variant python26 conflicts python27 description {Use Python 2.6} {
137    build.args-append       PYTHON_PATH="${prefix}/bin/python2.6"
138    depends_lib-append      port:python26
139}
140
141variant python27 conflicts python26 description {Use Python 2.7} {
142    build.args-append       PYTHON_PATH="${prefix}/bin/python2.7"
143    depends_lib-append      port:python27
144}
145
146variant pcre {
147    build.args-append       LIBPCREDIR=${prefix} USE_LIBPCRE=1
148    depends_lib-append      port:pcre
149}
150
151variant doc description {Install HTML and plaintext documentation} {
152    distfiles-append        git-htmldocs-${version}${extract.suffix}
153    checksums-append        git-htmldocs-${version}${extract.suffix} \
154                            rmd160  a9595a0dfb333a2851d050d9b9f5e7b977471f7e \
155                            sha256  6aaf52ac565b024b7190821f8d5783973a025027e1ed9abbef61bbe7fd652d0c
156
157    patchfiles-append       git-subtree.html.diff
158
159    post-extract {
160        file mkdir ${workpath}/htmldocs
161        system -W ${workpath}/htmldocs "${extract.cmd} ${extract.pre_args} \
162            '${distpath}/git-htmldocs-${version}${extract.suffix}' \
163            ${extract.post_args}"
164    }
165
166    pre-destroot {
167        xinstall -m 644 ${worksrcpath}/contrib/subtree/git-subtree.html ${workpath}/htmldocs
168    }
169
170    post-destroot {
171        foreach f [glob ${workpath}/htmldocs/*] {
172            file delete -force "${docdestroot}/[file tail ${f}]"
173            file attribute ${f} -permissions ugo+r
174            copy ${f} ${docdestroot}
175        }
176
177        fs-traverse f [list ${docdestroot}/howto ${docdestroot}/technical ${docdestroot}/RelNotes] {
178            file attribute ${f} -permissions ugo+r
179        }
180    }
181}
182
183variant gitweb description {Install gitweb.cgi} {
184    depends_run-append  port:lighttpd
185
186    build.target-append gitweb
187
188    post-destroot {
189        xinstall -d ${destroot}${prefix}/share/${name}/gitweb
190        xinstall -W ${worksrcpath}/gitweb \
191            gitweb.cgi \
192            ${destroot}${prefix}/share/${name}/gitweb
193        xinstall -m 444 -W ${worksrcpath}/gitweb/static \
194            gitweb.css \
195            gitweb.js \
196            git-favicon.png \
197            git-logo.png \
198            ${destroot}${prefix}/share/${name}/gitweb
199        xinstall -d ${docdestroot}/gitweb
200        xinstall -m 444 -W ${worksrcpath}/gitweb README INSTALL \
201            ${docdestroot}/gitweb
202    }
203}
204
205variant svn description {Bi-directional subversion repository support} {
206    depends_run-append  port:subversion \
207                        port:p${perl5.major}-libwww-perl \
208                        port:p${perl5.major}-svn-simple
209}
210
211variant bash_completion {
212    depends_run-append  path:etc/bash_completion:bash-completion
213}
214
215
216variant credential_osxkeychain description {Install git credential-osxkeychain utility from contrib} {
217
218    post-build {
219        system -W "${worksrcpath}/contrib/credential/osxkeychain" "make [join ${build.args}]"
220    }
221
222    pre-destroot {
223        xinstall -m 755 "${worksrcpath}/contrib/credential/osxkeychain/git-credential-osxkeychain" \
224            "${destroot}${prefix}/bin/"
225    }
226}
227
228platform darwin 8 {
229    build.args-append   NO_APPLE_COMMON_CRYPTO=1
230}
231
232default_variants    +doc +pcre +credential_osxkeychain
233
234livecheck.type          regexm
235livecheck.regex         {<span class="version">.*?(\d\.\d\.\d).*?</span>}
Note: See TracBrowser for help on using the repository browser.