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

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

ports with perl5 variants: increment revision to rebuild after removal of support for perl5 < 5.22.

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