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

Last change on this file since 153814 was 153814, checked in by jeremyhu@…, 12 months ago

cctools, ld64: Default to +llvm34 on Lion (cf #46897)

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