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

Last change on this file since 120912 was 120912, checked in by ciserlohn@…, 6 years ago

git, git-core: update to version 2.0.0; rename to git (closes #37279) and update all dependent ports

  • 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 120912 2014-06-11 13:10:52Z ciserlohn@macports.org $
3
4PortSystem          1.0
5
6name                git
7version             2.0.0
8description         A fast version control system
9long_description    Git is a fast, scalable, distributed open source version \
10                    control system focusing on speed and efficiency.
11maintainers         ciserlohn
12categories          devel
13license             GPL-2 LGPL-2.1+
14platforms           darwin
15homepage            http://git-scm.com/
16master_sites        https://www.kernel.org/pub/software/scm/git/
17distname            git-${version}
18distfiles           git-${version}${extract.suffix} \
19                    git-manpages-${version}${extract.suffix}
20
21checksums           git-${version}${extract.suffix} \
22                    rmd160  151248c8823d868e61c9c87cc55561977f586dcd \
23                    sha256  c6a370e95326701037dfe32f8e66f39cdd28557ca84ffdb282d6042c37a98b68 \
24                    git-manpages-${version}${extract.suffix} \
25                    rmd160  864c701d441afe3277917d3e0633b9b769abac70 \
26                    sha256  12523fe1c8de8b88997b5483313e143c96c0a116c19a498ddbbfe573ed98bded \
27
28depends_run         port:rsync
29
30depends_lib         port:curl \
31                    port:zlib \
32                    port:openssl \
33                    port:expat \
34                    port:libiconv
35
36if {[variant_isset perl5_12]} {
37    set perl_version 5.12
38} elseif {[variant_isset perl5_14]} {
39    set perl_version 5.14
40} else {
41    set perl_version 5.16
42    default_variants +perl5_16
43}
44
45
46depends_run-append  port:p${perl_version}-error \
47                    port:p${perl_version}-net-smtp-ssl \
48                    port:p${perl_version}-term-readkey
49
50depends_lib-append  port:perl${perl_version}
51
52patchfiles          patch-Makefile.diff git-subtree.1.diff
53patch.pre_args      -p1
54
55extract.only        git-${version}${extract.suffix} \
56                    git-manpages-${version}${extract.suffix}
57
58use_configure       no
59
60variant universal   {}
61
62set CFLAGS          "-I. -Wall -O2 -I${prefix}/include [get_canonical_archflags cc]"
63set LDFLAGS         "-L${prefix}/lib [get_canonical_archflags ld]"
64
65build.args          CFLAGS="${CFLAGS}" \
66                    LDFLAGS="${LDFLAGS}" \
67                    CC=${configure.cc} \
68                    prefix=${prefix} \
69                    CURLDIR=${prefix} \
70                    OPENSSLDIR=${prefix} \
71                    ICONVDIR=${prefix} \
72                    PERL_PATH="${prefix}/bin/perl${perl_version}" \
73                    NO_FINK=1 \
74                    NO_DARWIN_PORTS=1 \
75                    NO_R_TO_GCC_LINKER=1 \
76                    V=1
77
78test.run            yes
79test.cmd            make
80test.target         test
81test.dir            ${worksrcpath}
82pre-test {
83    eval test.args  ${build.args}
84}
85
86destroot.target     install
87pre-destroot {
88    eval destroot.args  ${build.args}
89    xinstall -m 644 ${worksrcpath}/contrib/subtree/git-subtree.1 ${workpath}/man1
90}
91
92set docdestroot ${destroot}${prefix}/share/doc/${name}
93
94post-destroot {
95    foreach f {1 5 7} {
96        xinstall -d ${destroot}${prefix}/share/man/man${f}
97        foreach m [glob -directory ${workpath} man${f}/*.${f}] {
98            xinstall ${m} ${destroot}${prefix}/share/man/man${f}
99        }
100    }
101    if {![variant_isset svn]} {
102        system "rm ${destroot}${prefix}/libexec/git-core/git-svn*"
103    }
104    xinstall -d ${docdestroot}
105
106    fs-traverse badfile ${destroot} {
107        if {[string last perllocal.pod ${badfile}] != -1} {
108            ui_info "Removing ${badfile}"
109            file delete ${badfile}
110        }
111    }
112
113    set completions_path ${destroot}${prefix}/share/bash-completion/completions
114    xinstall -d ${completions_path}
115    xinstall -m 644 ${worksrcpath}/contrib/completion/git-completion.bash \
116        ${completions_path}/git
117   
118    set share_path ${destroot}${prefix}/share/${name}
119    xinstall -d ${share_path}
120    xinstall -m 644 ${worksrcpath}/contrib/completion/git-prompt.sh \
121        ${share_path}/git-prompt.sh
122
123    xinstall -m 755 ${worksrcpath}/contrib/subtree/git-subtree.sh \
124        ${destroot}${prefix}/libexec/git-core/git-subtree
125
126    file delete -force ${share_path}/contrib
127    copy ${worksrcpath}/contrib ${share_path}
128
129    xinstall -m 755 -d ${destroot}${prefix}/share/emacs/site-lisp/
130    eval xinstall -m 644 [glob ${worksrcpath}/contrib/emacs/*.el] \
131        ${destroot}${prefix}/share/emacs/site-lisp/
132
133}
134
135if {![variant_isset python26] && ![variant_isset python27]} {
136    default_variants    +python27
137}
138
139variant python26 conflicts python27 description {Use Python 2.6} {
140    build.args-append       PYTHON_PATH="${prefix}/bin/python2.6"
141    depends_lib-append      port:python26
142}
143
144variant python27 conflicts python26 description {Use Python 2.7} {
145    build.args-append       PYTHON_PATH="${prefix}/bin/python2.7"
146    depends_lib-append      port:python27
147}
148
149variant perl5_16 conflicts perl5_14 perl5_12 description {use perl 5.16} {}
150variant perl5_14 conflicts perl5_16 perl5_12 description {use perl 5.14} {}
151variant perl5_12 conflicts perl5_16 perl5_14 description {use perl 5.12} {}
152
153variant pcre {
154    build.args-append       LIBPCREDIR=${prefix} USE_LIBPCRE=1
155    depends_lib-append      port:pcre
156}
157
158variant doc description {Install HTML and plaintext documentation} {
159    distfiles-append        git-htmldocs-${version}${extract.suffix}
160    checksums-append        git-htmldocs-${version}${extract.suffix} \
161                            rmd160  422a3764a328e5123c21a720689fc3bce8118932 \
162                            sha256  19d34736cc50e3a4b5641e0998191d67d89d3146b8652e7abd88780ca475dbcb
163
164    patchfiles-append       git-subtree.html.diff
165
166    post-extract {
167        file mkdir ${workpath}/htmldocs
168        system -W ${workpath}/htmldocs "${extract.cmd} ${extract.pre_args} \
169            ${distpath}/git-htmldocs-${version}${extract.suffix} \
170            ${extract.post_args}"
171    }
172
173    pre-destroot {
174        xinstall -m 644 ${worksrcpath}/contrib/subtree/git-subtree.html ${workpath}/htmldocs
175    }
176
177    post-destroot {
178        foreach f [glob ${workpath}/htmldocs/*] {
179            file delete -force "${docdestroot}/[file tail ${f}]"
180            file attribute ${f} -permissions ugo+r
181            copy ${f} ${docdestroot}
182        }
183    }
184}
185
186variant gitweb description {Install gitweb.cgi} {
187    build.target-append     gitweb/gitweb.cgi
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${perl_version}-libwww-perl \
209                        port:p${perl_version}-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.