annotate dev/git/git.sh @ 1150:e3e1828b8f15

dev/git: initial import, closes #1077
author David Demelier <markand@malikania.fr>
date Fri, 27 Sep 2019 21:05:00 +0200
parents
children 6710613b88b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1150
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 PKGNAME=git
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 PKGVERSION=2.23.0
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 PKGREVISION=1
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 PKGLICENSE="GPLv20+"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 PKGSUMMARY="fast, scalable, distributed revision control system"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 PKGDOWNLOAD="https://mirrors.edge.kernel.org/pub/software/scm/$PKGNAME/$PKGNAME-$PKGVERSION.tar.xz"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 PKGDEPENDS="asciidoc:build"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 PKGOPTIONS="CURL NLS PERL REGEX SSL XML ZLIB"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 : ${CC:=clang}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 : ${CFLAGS:=-O2}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 : ${LDFLAGS:=}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 : ${CURL:=yes}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 : ${NLS:=yes}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 : ${PERL:=yes}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 : ${REGEX:=yes} # Note: regular expression through pcre2.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 : ${SSL:=yes}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 : ${XML:=yes} # Note: HTTP support through expat.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 : ${ZLIB:=yes}
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 if [ "$CURL" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 PKGDEPENDS="curl $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 with_curl="NO_CURL=YesPlease"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 if [ "$NLS" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 PKGDEPENDS="gettext $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 with_nls="NO_GETTEXT=YesPlease"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 if [ "$PERL" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 PKGDEPENDS="perl $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 with_perl="NO_PERL_CPAN_FALLBACKS=1"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 with_perl="NO_PERL=YesPlease NO_PERL_CPAN_FALLBACKS=1"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 if [ "$REGEX" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 PKGDEPENDS="pcre2 $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 with_regex="USE_LIBPCRE=Yes"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 if [ "$SSL" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 PKGDEPENDS="libressl $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 with_ssl="NO_SSL=YesPlease"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 if [ "$XML" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 PKGDEPENDS="expat $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 with_xml="NO_EXPAT=YesPlease"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 if [ "$ZLIB" = "yes" ]; then
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 PKGDEPENDS="zlib $PKGDEPENDS"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 else
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 with_zlib="NO_ZLIB=YesPlease"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 fi
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 perl_config()
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 {
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 perl -e "use Config; print \$Config{$1};"
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 }
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 build()
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 {
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 rm -rf $PKGNAME-$PKGVERSION
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 tar xvf $PKGNAME-$PKGVERSION.tar.xz
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 cd $PKGNAME-$PKGVERSION
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 # NO_PYTHON: only for 2.7 which is deprecated in Vanilla Linux.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 # NO_REGEX: does not build without.
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 make \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 V=1 \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 CC="$CC" \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 CFLAGS="$CFLAGS" \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 LDFLAGS="$LDFLAGS" \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 DESTDIR="$DESTDIR" \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 NO_REGEX=YesPlease \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 prefix= \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 perllibdir=$(perl_config vendorlib) \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 $with_curl \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 $with_nls \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 $with_perl \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 $with_regex \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 $with_ssl \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 $with_xml \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 $with_zlib \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 NO_PYTHON=YesPlease \
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 all man install install-man
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 cd ..
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 rm -rf $PKGNAME-$PKGVERSION
e3e1828b8f15 dev/git: initial import, closes #1077
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 }