Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
Date: Thu, 22 Nov 2018 00:12:09
Message-Id: 1542845519.0457f1c1640291e2c9bac069071989e7ccbe3a20.polynomial-c@gentoo
1 commit: 0457f1c1640291e2c9bac069071989e7ccbe3a20
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 22 00:07:04 2018 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 22 00:11:59 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0457f1c1
7
8 dev-vcs/git: Removed old.
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 dev-vcs/git/Manifest | 12 -
14 dev-vcs/git/files/git-1.8.5-mw-vendor.patch | 39 --
15 dev-vcs/git/files/git-2.12.0-optional-cvs.patch | 456 -------------
16 .../git/files/git-2.17.0_rc1-optional-cvs.patch | 451 -------------
17 dev-vcs/git/git-2.16.4.ebuild | 699 --------------------
18 dev-vcs/git/git-2.16.5.ebuild | 699 --------------------
19 dev-vcs/git/git-2.18.0.ebuild | 715 ---------------------
20 dev-vcs/git/git-2.19.0.ebuild | 706 --------------------
21 8 files changed, 3777 deletions(-)
22
23 diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
24 index 915161c0386..b612851c732 100644
25 --- a/dev-vcs/git/Manifest
26 +++ b/dev-vcs/git/Manifest
27 @@ -1,24 +1,12 @@
28 -DIST git-2.16.4.tar.xz 4968252 BLAKE2B 77f76408bde02bfacdb99d22baca05893f63c96d1fb7508c7e92541f8f7ec9ced0dad650be788fd28a1e03b5d88b88708652d07a47bedaae60a9cbd4e2eec858 SHA512 f54e431e78289349dcb927ec34873dfb801c49a41cbb3d0138346d603af26bd7d86f9ac95e7a61a4831017f3503f33374510ccf68b0e62b0691fc5a43283f1ac
29 -DIST git-2.16.5.tar.xz 4968780 BLAKE2B 9987e15152cce334fdfe2f56705fb2d9d246652010e58879fefc79cb20c05f177f2ed0c4ef8955889684466d2d3fbf9a246351751d6c6d6c3c8b4adeb48fbf06 SHA512 96770035f370808b7b7f3752c938394522fcb699355ed821591a1ef5756903ad0e8830441d230cbead7718b42066ad4e33fedf8b8c948fbacc89c18f3d486e26
30 -DIST git-2.18.0.tar.xz 5102264 BLAKE2B 94a8469a0e489d517136233301f1af622a3e612967316620800a771721f4e558dfb9159f158ddd07d294fce3ceb256038483f5a8c1fe6a84f661710857945dce SHA512 db19363c9c2042248322d49874a27c0614acfb912183725e5d4f0331d6b44cef66a9a7da6a49bd4a17e5d86d30c5fed6bef7527f386494184595a433c4060e46
31 DIST git-2.18.1.tar.xz 5102812 BLAKE2B 43ec86d9aebc73a582f2117ef1c26a6dc820f81ff389a6239ed6e3ea5fd2be0bac54766c3ab8ad1cc9730978e5b73997bb20b24b9f3f43d6eef06bea8a9174c3 SHA512 06bdc54c4ff78b77667b917f2aa46a803bd6561236f4177f41b8730785b5f90f8ca705f028131f9365fb0aae2e51cd92c97380141e97c026c96a020e00b992e1
32 -DIST git-2.19.0.tar.xz 5227124 BLAKE2B f917b9ca8325ffbdec7d8614fec3874a09b5d3c421a0179f6c77def7e11f5853d821933b13687087b05791531e194178e1e63f51739ece91e32dddb07a127a0b SHA512 305e51f8e22d96847fcdf4169340795aacaf5f4c5b8052cda860a668059d9ef35bb2840c278b7207f3b9f0e1c32915719649edc20bd3cd33b53e97a06159ceac
33 DIST git-2.19.1.tar.xz 5227908 BLAKE2B 1702662d7eea2ea5fa9d697eece19bee8a451abb1e85b1c7b111b4126e97340ee0c5691faf37c2d9fbe13bdf4ea894d8a3e0e2f7208e7bce111e53d1da81ef5f SHA512 a1bc1032b1de9eb9ea8b7c385cd009f64247e13066e0a91e9682e35400ded05f88c23b523cca4782f57544060d6ba0f9d3bec944399cda5771a4945c38bb9b98
34 DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96
35 DIST git-2.20.0.rc1.tar.xz 5318308 BLAKE2B 0297ab2c439ede2098da02a96886c0db67017dc0e18f39e1ffd857cd49d23c54920b478bd2feb03ab8c3fce3eae5ce07e49a8ce3c3dd80868c37070a6f0ed22d SHA512 e00eb0c33dfff8c63170915693032346e52bc6b8410c528b43372d9aef16287e0c2891214d64ce21cab9d393524bda3037961e2f6f07a09532451ef8fa2a63d2
36 -DIST git-htmldocs-2.16.4.tar.xz 1164256 BLAKE2B 88a7ab5b094f15bc2b6c0f4d4c3eae185f6e6c0f00f4aca75492f0cc964428d1bf53002e0e43468b60b62058af5f13b061231061247e19b32bc70c2c8adb04eb SHA512 8f4a8c51656559af81296fb064ecf0f88444952c7f8ee91b85e5a61b20d200267d7432f720ded12046bab986361cff48cf7a2f5d21e05c1ac7648cc3168a0049
37 -DIST git-htmldocs-2.16.5.tar.xz 1164600 BLAKE2B 303f5543a420a78b7731aee7b9977361130edfdcffbf67e3ad652ac1243a22aa13d883337466e95a186977e34a2989f5639af7acd7c0187219b200cf966a83ef SHA512 00ed040e665e817a0543768bb290c47dd553581a18b136a59ca37e656c538f49716e79a533c5063c2a00f16f7ad021a5836f71b805200df07bb8a3923aacddfb
38 -DIST git-htmldocs-2.18.0.tar.xz 1201076 BLAKE2B f5d592cadf1eb9a24b6d6fb3c68c1ead385a350e4bfc97eee775f1921c7bf47f8790d1eea803d69cde8e381d7aa0ae4c53aebeda464c32cdd7a6558a46a9c8e7 SHA512 e227673216b67cf0e5d0abacc305a3b2a30844a6fe31aab18e37643f27c0fce7d3628366732f1518784d095eb33c1bb60b4eb00024d9ccc662deca2962db5324
39 DIST git-htmldocs-2.18.1.tar.xz 1201604 BLAKE2B ae33ac1ec8d2c95f95dbc5965d191f093628633c047c7d52371b7a3142807a4b878be5abcd13a934a453a5b35abb4a7e0ea49823e98c4a682040afc8d7c0817d SHA512 5310a846091bfa66609ce896bdce163bd84f40c14400a53eab662f0c28037b98fef4a8766a716694a5bf9549793a85b57cb665194dff5612277c6603452ea512
40 -DIST git-htmldocs-2.19.0.tar.xz 1221804 BLAKE2B c3c1e91b05bb5fc777f97973941c97b8c093a94d4dc308527bc6bea7b6cc787bb939d4a5a978a69f1476da8e334f17393bf56a8de64b7e5bd88544d32f858f40 SHA512 61c6c1d64affa2f910c0c01a14f19f49ef496e1a09c223f7fb454031a6388dcd96c69c362e0da167a2e4bf1347d4c30e55d9c476076f1ab8e278f9af07053745
41 DIST git-htmldocs-2.19.1.tar.xz 1222052 BLAKE2B 6d63364e0c5c700011ab0b7bc9c207560bc89e6d58e5f8025f30a188b7c90fa1ca58822e0ee129ff531c0702fc0a64e1612b8ff7b41102e5db21eadd0fd01ab9 SHA512 40417e80b291a935be78f143f070c68a9a865b6825f85cddd57cf926c25649630dd6612e7e52edb3ab4d1433aca31d38e3b9c95ff5d52827452d03c96e50e344
42 DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634
43 DIST git-htmldocs-2.20.0.rc1.tar.xz 1226408 BLAKE2B 8d3d868acb6b5bb1d6aecbf64ef05d481147c926f9a89052cebf1b44f7e4d387442d252ccbdb8bbb4f1311bd2699d24f0524e78b0e5e948682c01846055b2439 SHA512 db2b5d628fa1347a1295680e4d5c525614cbcba1f16fa231b5935f8ad287ee738d95d799d84209b8b14f0141a22719eecc67104fda62303723433a85a16aee14
44 -DIST git-manpages-2.16.4.tar.xz 417136 BLAKE2B 9a75913dae62fa2eb31cf48e77e266aa8d91c67b8a753c1740283b1d626dea1e9aa8d7cea06d9b97887f801b4d1f1b927014851105cefd3241ca7ab7330bfc8b SHA512 8029e9fac1eca542e809da1247f4eec3a2c81c0eb12d03aa816dcf120677011d3e409b06c28c8e7dbf41cbbcca873ec93846dc317bc73e57f4d4701ce7abf73d
45 -DIST git-manpages-2.16.5.tar.xz 417140 BLAKE2B f7b3255fe0ac7ea82273e0718d96e045854b7d3c7ad100befac47cd005139415e56b8e0dd85293bca26f2e1ff12f729c46bfd27ede5ecdda08a1533ed43a8b2f SHA512 38ec66e43055f7121bace4655350e9b617b5586271c4ae73d15966e52e56ac38bec2f5f7f128410d004a2a0db3db9954fcfec1d78eb49579a74a46b404b67396
46 -DIST git-manpages-2.18.0.tar.xz 425516 BLAKE2B ff979aa0c99716da279cd4001d5907cec95e93ac93f1f2dc5dd79d456a185e0d8610a121b08b07c3c886132e94334114932881d78c7307ff287c256f993938e5 SHA512 8ae353083288e58752e6e6ff505cde6f4fa0be20465443c0517a87af28867d748eb29fc9d3dcb805b29c4e422cf4eae124b7fec5c339888ab4ebaff6360ada15
47 DIST git-manpages-2.18.1.tar.xz 425568 BLAKE2B fc0f8aee3d80cba0f84c4ff4cfa342ea3c1ae155f3434b6d1771e03bb14956d5ffd78a5cadfee378534f6cf85265c37eeb1be27eb7801ae798cede249640c478 SHA512 6e6e663d985ef267d556539a43c192138b31dbbc80ffaa4331b8494f6e3e74b5cd4d958c2ae963143946eaa99bfce485ee3726b510b10eaab3599b5284b5fbc1
48 -DIST git-manpages-2.19.0.tar.xz 431832 BLAKE2B b1493e88b3836cfdbd4f709058f7b287764df52237f2dee054668ce5cd9a547553fb36f2f474debd9bc2a511e73a9967307d8a3d174651d261ddd4176a8ec766 SHA512 463cacfc58dc16d69dc9e374fb840cd2859d69e2a74575437be72159e05cc85ad6c9e89dfe2c20963fce962b9add4ad9694e84ab5792b2c30034f68d52648117
49 DIST git-manpages-2.19.1.tar.xz 431852 BLAKE2B e15be2e1680a28c3c57e7b6e022173ef4b006cf21b5464a32f7f7668ea2b8af2ac7ff7466d98ab627320895b92583840159e2fca613be95817656def2654edaa SHA512 1b42c39e39653906b44fbca65991da04493f08479e2162da5f593bee68dbfd3f3b8180f5a2721f1971e3218b0dc842a8a34918fc7724c032597f4fe4b2f506dc
50 DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1
51 DIST git-manpages-2.20.0.rc1.tar.xz 438948 BLAKE2B d2ce985f35fa5626cf306ef049a79fc09c5c2411887d28c27da35c16cba11844e3b89c143fc45308944aaa93b12c7c4dc50575a4581ce2a70351ca53b123b05f SHA512 73a3654b1deab4481fd07615659df2f92ee56a8267a7c24a4733e0a5f57881de4ffb9e593a6104ff4bf6efb55223adada8c4bb09ae9427acfbfdbb63b24e4edd
52
53 diff --git a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch b/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
54 deleted file mode 100644
55 index 54302ef26c9..00000000000
56 --- a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
57 +++ /dev/null
58 @@ -1,39 +0,0 @@
59 -diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
60 -index a4b6f7a..d83df2c 100644
61 ---- a/contrib/mw-to-git/Makefile
62 -+++ b/contrib/mw-to-git/Makefile
63 -@@ -22,7 +22,7 @@ INSTALL = install
64 -
65 - SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
66 - INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
67 -- -s --no-print-directory instlibdir)
68 -+ -s --no-print-directory instvendorlibdir)
69 - DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
70 - INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
71 -
72 -diff --git a/perl/Makefile b/perl/Makefile
73 -index 15d96fc..91348c6 100644
74 ---- a/perl/Makefile
75 -+++ b/perl/Makefile
76 -@@ -12,7 +12,7 @@ ifndef V
77 - QUIET = @
78 - endif
79 -
80 --all install instlibdir: $(makfile)
81 -+all install instlibdir instvendorlibdir: $(makfile)
82 - $(QUIET)$(MAKE) -f $(makfile) $@
83 -
84 - clean:
85 -diff --git a/perl/Makefile.PL b/perl/Makefile.PL
86 -index 3f29ba9..c0b3508 100644
87 ---- a/perl/Makefile.PL
88 -+++ b/perl/Makefile.PL
89 -@@ -17,6 +17,8 @@ sub MY::postamble {
90 - return <<'MAKE_FRAG';
91 - instlibdir:
92 - @echo '$(INSTALLSITELIB)'
93 -+instvendorlibdir:
94 -+ @echo '$(INSTALLVENDORLIB)'
95 -
96 - ifneq (,$(DESTDIR))
97 - ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))
98
99 diff --git a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch b/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
100 deleted file mode 100644
101 index d158b65d30a..00000000000
102 --- a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
103 +++ /dev/null
104 @@ -1,456 +0,0 @@
105 -From 1e1bacf32568cc24dbd24444ed4025fc80a96ff3 Mon Sep 17 00:00:00 2001
106 -From: Robin Johnson <robbat2@g.o>
107 -Date: Sat, 25 Feb 2017 20:48:14 +0100
108 -Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
109 - utilities
110 -
111 -Forward-ported from 1.7.12 to current git.git v1.8.4
112 -Forward-ported from v1.8.4 to v1.8.5.1
113 -Forward-ported from v1.8.5.3 to v1.9.0_rc3
114 -Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
115 -Forward-ported from v2.0.0_rc0 to v2.0.0
116 -Forward-ported from v2.0.0 to v2.2.2
117 -Forward-ported from v2.2.2 to v2.8.4
118 -Forward-ported from v2.8.4 to v2.10.0
119 -Forward-ported from v2.10.0 to v2.12.0
120 -
121 -Signed-off-by: Lars Wendler <polynomial-c@g.o>
122 ----
123 - Makefile | 51 ++++++++++++++++++++++++++++----------
124 - t/t9200-git-cvsexportcommit.sh | 5 ++++
125 - t/t9400-git-cvsserver-server.sh | 8 +++++-
126 - t/t9401-git-cvsserver-crlf.sh | 15 +++++++----
127 - t/t9600-cvsimport.sh | 41 +++++++++++++++++++-----------
128 - t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
129 - t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
130 - t/t9603-cvsimport-patchsets.sh | 11 ++++++++
131 - t/test-lib.sh | 1 +
132 - 9 files changed, 120 insertions(+), 34 deletions(-)
133 -
134 -diff --git a/Makefile b/Makefile
135 -index 8e4081e06..f14a4ad37 100644
136 ---- a/Makefile
137 -+++ b/Makefile
138 -@@ -273,6 +273,8 @@ all::
139 - # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
140 - # and egrep that are pickier when their input contains non-ASCII data.
141 - #
142 -+# Define NO_CVS if you do not want any CVS interface utilities.
143 -+#
144 - # The TCL_PATH variable governs the location of the Tcl interpreter
145 - # used to optimize git-gui for your system. Only used if NO_TCLTK
146 - # is not set. Defaults to the bare 'tclsh'.
147 -@@ -496,6 +498,7 @@ LIB_OBJS =
148 - PROGRAM_OBJS =
149 - PROGRAMS =
150 - SCRIPT_PERL =
151 -+SCRIPT_PERL_CVS =
152 - SCRIPT_PYTHON =
153 - SCRIPT_SH =
154 - SCRIPT_LIB =
155 -@@ -532,12 +535,13 @@ SCRIPT_LIB += git-sh-i18n
156 -
157 - SCRIPT_PERL += git-add--interactive.perl
158 - SCRIPT_PERL += git-archimport.perl
159 --SCRIPT_PERL += git-cvsexportcommit.perl
160 --SCRIPT_PERL += git-cvsimport.perl
161 --SCRIPT_PERL += git-cvsserver.perl
162 - SCRIPT_PERL += git-send-email.perl
163 - SCRIPT_PERL += git-svn.perl
164 -
165 -+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
166 -+SCRIPT_PERL_CVS += git-cvsimport.perl
167 -+SCRIPT_PERL_CVS += git-cvsserver.perl
168 -+
169 - SCRIPT_PYTHON += git-p4.py
170 -
171 - NO_INSTALL += git-remote-testgit
172 -@@ -545,24 +549,26 @@ NO_INSTALL += git-remote-testgit
173 - # Generated files for scripts
174 - SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
175 - SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
176 -+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
177 - SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
178 -
179 - SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
180 - SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
181 -+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
182 - SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
183 -
184 - # Individual rules to allow e.g.
185 - # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
186 - # from subdirectories like contrib/*/
187 - .PHONY: build-perl-script build-sh-script build-python-script
188 --build-perl-script: $(SCRIPT_PERL_GEN)
189 -+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
190 - build-sh-script: $(SCRIPT_SH_GEN)
191 - build-python-script: $(SCRIPT_PYTHON_GEN)
192 -
193 - .PHONY: install-perl-script install-sh-script install-python-script
194 - install-sh-script: $(SCRIPT_SH_INS)
195 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
196 --install-perl-script: $(SCRIPT_PERL_INS)
197 -+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
198 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
199 - install-python-script: $(SCRIPT_PYTHON_INS)
200 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
201 -@@ -571,12 +577,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
202 - clean-sh-script:
203 - $(RM) $(SCRIPT_SH_GEN)
204 - clean-perl-script:
205 -- $(RM) $(SCRIPT_PERL_GEN)
206 -+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
207 - clean-python-script:
208 - $(RM) $(SCRIPT_PYTHON_GEN)
209 -
210 - SCRIPTS = $(SCRIPT_SH_INS) \
211 - $(SCRIPT_PERL_INS) \
212 -+ $(SCRIPT_PERL_CVS_INS) \
213 - $(SCRIPT_PYTHON_INS) \
214 - git-instaweb
215 -
216 -@@ -1832,10 +1839,24 @@ git.res: git.rc GIT-VERSION-FILE
217 - -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
218 -
219 - # This makes sure we depend on the NO_PERL setting itself.
220 --$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
221 -+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
222 -+
223 -+_SCRIPT_PERL_GEN =
224 -+_SCRIPT_PERL_NOGEN =
225 -
226 - ifndef NO_PERL
227 --$(SCRIPT_PERL_GEN): perl/perl.mak
228 -+
229 -+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
230 -+
231 -+ifndef NO_CVS
232 -+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
233 -+else
234 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
235 -+_REASON = NO_CVS
236 -+_REASON_CONTENT = $(NO_CVS)
237 -+endif # NO_CVS
238 -+
239 -+$(_SCRIPT_PERL_GEN): perl/perl.mak
240 -
241 - perl/perl.mak: perl/PM.stamp
242 -
243 -@@ -1848,7 +1869,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
244 - $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
245 -
246 - PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
247 --$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
248 -+$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
249 - $(QUIET_GEN)$(RM) $@ $@+ && \
250 - INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
251 - INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
252 -@@ -1882,14 +1903,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
253 - chmod +x $@+ && \
254 - mv $@+ $@
255 - else # NO_PERL
256 --$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
257 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
258 -+_REASON = NO_PERL
259 -+_REASON_CONTENT = $(NO_PERL)
260 -+endif # NO_PERL
261 -+
262 -+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
263 - $(QUIET_GEN)$(RM) $@ $@+ && \
264 - sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
265 -- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
266 -+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
267 - unimplemented.sh >$@+ && \
268 - chmod +x $@+ && \
269 - mv $@+ $@
270 --endif # NO_PERL
271 -
272 - # This makes sure we depend on the NO_PYTHON setting itself.
273 - $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
274 -@@ -2125,7 +2150,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
275 - LOCALIZED_SH += git-parse-remote.sh
276 - LOCALIZED_SH += git-rebase--interactive.sh
277 - LOCALIZED_SH += git-sh-setup.sh
278 --LOCALIZED_PERL = $(SCRIPT_PERL)
279 -+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
280 -
281 - ifdef XGETTEXT_INCLUDE_TESTS
282 - LOCALIZED_C += t/t0200/test.c
283 -diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
284 -index bb879a527..17be19729 100755
285 ---- a/t/t9200-git-cvsexportcommit.sh
286 -+++ b/t/t9200-git-cvsexportcommit.sh
287 -@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
288 - test_done
289 - fi
290 -
291 -+if ! test_have_prereq CVS; then
292 -+ skip_all='skipping git cvsexportcommit tests, cvs not available'
293 -+ test_done
294 -+fi
295 -+
296 - cvs >/dev/null 2>&1
297 - if test $? -ne 1
298 - then
299 -diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
300 -index 432c61d24..6907b3f52 100755
301 ---- a/t/t9400-git-cvsserver-server.sh
302 -+++ b/t/t9400-git-cvsserver-server.sh
303 -@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
304 - . ./test-lib.sh
305 -
306 - if ! test_have_prereq PERL; then
307 -- skip_all='skipping git cvsserver tests, perl not available'
308 -+ skip_all='skipping git-cvsserver tests, perl not available'
309 - test_done
310 - fi
311 -+
312 -+if ! test_have_prereq CVS; then
313 -+ skip_all='skipping git-cvsserver tests, cvs not available'
314 -+ test_done
315 -+fi
316 -+
317 - cvs >/dev/null 2>&1
318 - if test $? -ne 1
319 - then
320 -diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
321 -index 84787eee9..eecba8852 100755
322 ---- a/t/t9401-git-cvsserver-crlf.sh
323 -+++ b/t/t9401-git-cvsserver-crlf.sh
324 -@@ -57,15 +57,20 @@ check_status_options() {
325 - return $stat
326 - }
327 -
328 --cvs >/dev/null 2>&1
329 --if test $? -ne 1
330 -+if ! test_have_prereq PERL
331 - then
332 -- skip_all='skipping git-cvsserver tests, cvs not found'
333 -+ skip_all='skipping git-cvsserver tests, perl not available'
334 - test_done
335 - fi
336 --if ! test_have_prereq PERL
337 -+if ! test_have_prereq CVS
338 - then
339 -- skip_all='skipping git-cvsserver tests, perl not available'
340 -+ skip_all='skipping git-cvsserver tests, cvs not available'
341 -+ test_done
342 -+fi
343 -+cvs >/dev/null 2>&1
344 -+if test $? -ne 1
345 -+then
346 -+ skip_all='skipping git-cvsserver tests, cvs not found'
347 - test_done
348 - fi
349 - perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
350 -diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
351 -index 4c384ff02..d601f32c5 100755
352 ---- a/t/t9600-cvsimport.sh
353 -+++ b/t/t9600-cvsimport.sh
354 -@@ -3,14 +3,25 @@
355 - test_description='git cvsimport basic tests'
356 - . ./lib-cvs.sh
357 -
358 --test_expect_success PERL 'setup cvsroot environment' '
359 -+if ! test_have_prereq PERL
360 -+then
361 -+ skip_all='skipping git cvsimport tests, perl not available'
362 -+ test_done
363 -+fi
364 -+if ! test_have_prereq CVS
365 -+then
366 -+ skip_all='skipping git cvsimport tests, cvs not available'
367 -+ test_done
368 -+fi
369 -+
370 -+test_expect_success 'setup cvsroot environment' '
371 - CVSROOT=$(pwd)/cvsroot &&
372 - export CVSROOT
373 - '
374 -
375 --test_expect_success PERL 'setup cvsroot' '$CVS init'
376 -+test_expect_success 'setup cvsroot' '$CVS init'
377 -
378 --test_expect_success PERL 'setup a cvs module' '
379 -+test_expect_success 'setup a cvs module' '
380 -
381 - mkdir "$CVSROOT/module" &&
382 - $CVS co -d module-cvs module &&
383 -@@ -42,23 +53,23 @@ EOF
384 - )
385 - '
386 -
387 --test_expect_success PERL 'import a trivial module' '
388 -+test_expect_success 'import a trivial module' '
389 -
390 - git cvsimport -a -R -z 0 -C module-git module &&
391 - test_cmp module-cvs/o_fortuna module-git/o_fortuna
392 -
393 - '
394 -
395 --test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
396 -+test_expect_success 'pack refs' '(cd module-git && git gc)'
397 -
398 --test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
399 -+test_expect_success 'initial import has correct .git/cvs-revisions' '
400 -
401 - (cd module-git &&
402 - git log --format="o_fortuna 1.1 %H" -1) > expected &&
403 - test_cmp expected module-git/.git/cvs-revisions
404 - '
405 -
406 --test_expect_success PERL 'update cvs module' '
407 -+test_expect_success 'update cvs module' '
408 - (cd module-cvs &&
409 - cat <<EOF >o_fortuna &&
410 - O Fortune,
411 -@@ -86,7 +97,7 @@ EOF
412 - )
413 - '
414 -
415 --test_expect_success PERL 'update git module' '
416 -+test_expect_success 'update git module' '
417 -
418 - (cd module-git &&
419 - git config cvsimport.trackRevisions true &&
420 -@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
421 -
422 - '
423 -
424 --test_expect_success PERL 'update has correct .git/cvs-revisions' '
425 -+test_expect_success 'update has correct .git/cvs-revisions' '
426 -
427 - (cd module-git &&
428 - git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
429 -@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
430 - test_cmp expected module-git/.git/cvs-revisions
431 - '
432 -
433 --test_expect_success PERL 'update cvs module' '
434 -+test_expect_success 'update cvs module' '
435 -
436 - (cd module-cvs &&
437 - echo 1 >tick &&
438 -@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
439 - )
440 - '
441 -
442 --test_expect_success PERL 'cvsimport.module config works' '
443 -+test_expect_success 'cvsimport.module config works' '
444 -
445 - (cd module-git &&
446 - git config cvsimport.module module &&
447 -@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
448 -
449 - '
450 -
451 --test_expect_success PERL 'second update has correct .git/cvs-revisions' '
452 -+test_expect_success 'second update has correct .git/cvs-revisions' '
453 -
454 - (cd module-git &&
455 - git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
456 -@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
457 - test_cmp expected module-git/.git/cvs-revisions
458 - '
459 -
460 --test_expect_success PERL 'import from a CVS working tree' '
461 -+test_expect_success 'import from a CVS working tree' '
462 -
463 - $CVS co -d import-from-wt module &&
464 - (cd import-from-wt &&
465 -@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
466 -
467 - '
468 -
469 --test_expect_success PERL 'no .git/cvs-revisions created by default' '
470 -+test_expect_success 'no .git/cvs-revisions created by default' '
471 -
472 - ! test -e import-from-wt/.git/cvs-revisions
473 -
474 - '
475 -
476 --test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
477 -+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
478 -
479 - test_done
480 -diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
481 -index 827d39f5b..d730a41f6 100755
482 ---- a/t/t9601-cvsimport-vendor-branch.sh
483 -+++ b/t/t9601-cvsimport-vendor-branch.sh
484 -@@ -34,6 +34,17 @@
485 - test_description='git cvsimport handling of vendor branches'
486 - . ./lib-cvs.sh
487 -
488 -+if ! test_have_prereq PERL
489 -+then
490 -+ skip_all='skipping git cvsimport tests, perl not available'
491 -+ test_done
492 -+fi
493 -+if ! test_have_prereq CVS
494 -+then
495 -+ skip_all='skipping git cvsimport tests, cvs not available'
496 -+ test_done
497 -+fi
498 -+
499 - setup_cvs_test_repository t9601
500 -
501 - test_expect_success PERL 'import a module with a vendor branch' '
502 -diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
503 -index e1db323f5..68f097401 100755
504 ---- a/t/t9602-cvsimport-branches-tags.sh
505 -+++ b/t/t9602-cvsimport-branches-tags.sh
506 -@@ -6,6 +6,17 @@
507 - test_description='git cvsimport handling of branches and tags'
508 - . ./lib-cvs.sh
509 -
510 -+if ! test_have_prereq PERL
511 -+then
512 -+ skip_all='skipping git cvsimport tests, perl not available'
513 -+ test_done
514 -+fi
515 -+if ! test_have_prereq CVS
516 -+then
517 -+ skip_all='skipping git cvsimport tests, cvs not available'
518 -+ test_done
519 -+fi
520 -+
521 - setup_cvs_test_repository t9602
522 -
523 - test_expect_success PERL 'import module' '
524 -diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
525 -index c4c3c4954..9b2957d4f 100755
526 ---- a/t/t9603-cvsimport-patchsets.sh
527 -+++ b/t/t9603-cvsimport-patchsets.sh
528 -@@ -14,6 +14,17 @@
529 - test_description='git cvsimport testing for correct patchset estimation'
530 - . ./lib-cvs.sh
531 -
532 -+if ! test_have_prereq PERL
533 -+then
534 -+ skip_all='skipping git cvsimport tests, perl not available'
535 -+ test_done
536 -+fi
537 -+if ! test_have_prereq CVS
538 -+then
539 -+ skip_all='skipping git cvsimport tests, cvs not available'
540 -+ test_done
541 -+fi
542 -+
543 - setup_cvs_test_repository t9603
544 -
545 - test_expect_failure PERL 'import with criss cross times on revisions' '
546 -diff --git a/t/test-lib.sh b/t/test-lib.sh
547 -index 86d77c16d..1fb51f149 100644
548 ---- a/t/test-lib.sh
549 -+++ b/t/test-lib.sh
550 -@@ -1007,6 +1007,7 @@ case $uname_s in
551 - esac
552 -
553 - ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
554 -+test -z "$NO_CVS" && test_set_prereq CVS
555 - test -z "$NO_PERL" && test_set_prereq PERL
556 - test -z "$NO_PYTHON" && test_set_prereq PYTHON
557 - test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
558 ---
559 -2.11.1
560 -
561
562 diff --git a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
563 deleted file mode 100644
564 index 60cebcbb4d6..00000000000
565 --- a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
566 +++ /dev/null
567 @@ -1,451 +0,0 @@
568 -From 3baea661143aaddb285f1ac7c50f6e4af76c8aed Mon Sep 17 00:00:00 2001
569 -From: Robin Johnson <robbat2@g.o>
570 -Date: Fri, 23 Mar 2018 10:05:05 +0100
571 -Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
572 - utilities
573 -
574 -Forward-ported from 1.7.12 to current git.git v1.8.4
575 -Forward-ported from v1.8.4 to v1.8.5.1
576 -Forward-ported from v1.8.5.3 to v1.9.0_rc3
577 -Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
578 -Forward-ported from v2.0.0_rc0 to v2.0.0
579 -Forward-ported from v2.0.0 to v2.2.2
580 -Forward-ported from v2.2.2 to v2.8.4
581 -Forward-ported from v2.8.4 to v2.10.0
582 -Forward-ported from v2.10.0 to v2.12.0
583 -Forward-ported from v2.12.0 to v2.17.0-rc1
584 -
585 -Signed-off-by: Lars Wendler <polynomial-c@g.o>
586 ----
587 - Makefile | 50 ++++++++++++++++++++++++++++----------
588 - t/t9200-git-cvsexportcommit.sh | 5 ++++
589 - t/t9400-git-cvsserver-server.sh | 8 +++++-
590 - t/t9401-git-cvsserver-crlf.sh | 15 ++++++++----
591 - t/t9600-cvsimport.sh | 41 +++++++++++++++++++------------
592 - t/t9601-cvsimport-vendor-branch.sh | 11 +++++++++
593 - t/t9602-cvsimport-branches-tags.sh | 11 +++++++++
594 - t/t9603-cvsimport-patchsets.sh | 11 +++++++++
595 - t/test-lib.sh | 1 +
596 - 9 files changed, 119 insertions(+), 34 deletions(-)
597 -
598 -diff --git a/Makefile b/Makefile
599 -index a1d8775adb..4264475ad1 100644
600 ---- a/Makefile
601 -+++ b/Makefile
602 -@@ -312,6 +312,8 @@ all::
603 - # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
604 - # and egrep that are pickier when their input contains non-ASCII data.
605 - #
606 -+# Define NO_CVS if you do not want any CVS interface utilities.
607 -+#
608 - # The TCL_PATH variable governs the location of the Tcl interpreter
609 - # used to optimize git-gui for your system. Only used if NO_TCLTK
610 - # is not set. Defaults to the bare 'tclsh'.
611 -@@ -543,6 +545,7 @@ LIB_OBJS =
612 - PROGRAM_OBJS =
613 - PROGRAMS =
614 - SCRIPT_PERL =
615 -+SCRIPT_PERL_CVS =
616 - SCRIPT_PYTHON =
617 - SCRIPT_SH =
618 - SCRIPT_LIB =
619 -@@ -579,12 +582,13 @@ SCRIPT_LIB += git-sh-i18n
620 -
621 - SCRIPT_PERL += git-add--interactive.perl
622 - SCRIPT_PERL += git-archimport.perl
623 --SCRIPT_PERL += git-cvsexportcommit.perl
624 --SCRIPT_PERL += git-cvsimport.perl
625 --SCRIPT_PERL += git-cvsserver.perl
626 - SCRIPT_PERL += git-send-email.perl
627 - SCRIPT_PERL += git-svn.perl
628 -
629 -+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
630 -+SCRIPT_PERL_CVS += git-cvsimport.perl
631 -+SCRIPT_PERL_CVS += git-cvsserver.perl
632 -+
633 - SCRIPT_PYTHON += git-p4.py
634 -
635 - NO_INSTALL += git-remote-testgit
636 -@@ -592,24 +596,26 @@ NO_INSTALL += git-remote-testgit
637 - # Generated files for scripts
638 - SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
639 - SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
640 -+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
641 - SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
642 -
643 - SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
644 - SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
645 -+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
646 - SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
647 -
648 - # Individual rules to allow e.g.
649 - # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
650 - # from subdirectories like contrib/*/
651 - .PHONY: build-perl-script build-sh-script build-python-script
652 --build-perl-script: $(SCRIPT_PERL_GEN)
653 -+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
654 - build-sh-script: $(SCRIPT_SH_GEN)
655 - build-python-script: $(SCRIPT_PYTHON_GEN)
656 -
657 - .PHONY: install-perl-script install-sh-script install-python-script
658 - install-sh-script: $(SCRIPT_SH_INS)
659 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
660 --install-perl-script: $(SCRIPT_PERL_INS)
661 -+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
662 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
663 - install-python-script: $(SCRIPT_PYTHON_INS)
664 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
665 -@@ -618,12 +624,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
666 - clean-sh-script:
667 - $(RM) $(SCRIPT_SH_GEN)
668 - clean-perl-script:
669 -- $(RM) $(SCRIPT_PERL_GEN)
670 -+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
671 - clean-python-script:
672 - $(RM) $(SCRIPT_PYTHON_GEN)
673 -
674 - SCRIPTS = $(SCRIPT_SH_INS) \
675 - $(SCRIPT_PERL_INS) \
676 -+ $(SCRIPT_PERL_CVS_INS) \
677 - $(SCRIPT_PYTHON_INS) \
678 - git-instaweb
679 -
680 -@@ -1972,13 +1979,26 @@ git.res: git.rc GIT-VERSION-FILE
681 - -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
682 -
683 - # This makes sure we depend on the NO_PERL setting itself.
684 --$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
685 -+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
686 -+
687 -+_SCRIPT_PERL_GEN =
688 -+_SCRIPT_PERL_NOGEN =
689 -
690 - ifndef NO_PERL
691 --$(SCRIPT_PERL_GEN):
692 -+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
693 -+
694 -+ifndef NO_CVS
695 -+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
696 -+else
697 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
698 -+_REASON = NO_CVS
699 -+_REASON_CONTENT = $(NO_CVS)
700 -+endif # NO_CVS
701 -+
702 -+$(_SCRIPT_PERL_GEN):
703 -
704 - PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
705 --$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
706 -+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
707 - $(QUIET_GEN)$(RM) $@ $@+ && \
708 - INSTLIBDIR='$(perllibdir_SQ)' && \
709 - INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
710 -@@ -2012,14 +2032,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
711 - chmod +x $@+ && \
712 - mv $@+ $@
713 - else # NO_PERL
714 --$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
715 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
716 -+_REASON = NO_PERL
717 -+_REASON_CONTENT = $(NO_PERL)
718 -+endif # NO_PERL
719 -+
720 -+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
721 - $(QUIET_GEN)$(RM) $@ $@+ && \
722 - sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
723 -- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
724 -+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
725 - unimplemented.sh >$@+ && \
726 - chmod +x $@+ && \
727 - mv $@+ $@
728 --endif # NO_PERL
729 -
730 - # This makes sure we depend on the NO_PYTHON setting itself.
731 - $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
732 -@@ -2258,7 +2282,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
733 - LOCALIZED_SH += git-parse-remote.sh
734 - LOCALIZED_SH += git-rebase--interactive.sh
735 - LOCALIZED_SH += git-sh-setup.sh
736 --LOCALIZED_PERL = $(SCRIPT_PERL)
737 -+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
738 -
739 - ifdef XGETTEXT_INCLUDE_TESTS
740 - LOCALIZED_C += t/t0200/test.c
741 -diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
742 -index 1319415ba8..34ac8e28e2 100755
743 ---- a/t/t9200-git-cvsexportcommit.sh
744 -+++ b/t/t9200-git-cvsexportcommit.sh
745 -@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
746 - test_done
747 - fi
748 -
749 -+if ! test_have_prereq CVS; then
750 -+ skip_all='skipping git cvsexportcommit tests, cvs not available'
751 -+ test_done
752 -+fi
753 -+
754 - cvs >/dev/null 2>&1
755 - if test $? -ne 1
756 - then
757 -diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
758 -index 06742748e9..51d474d94b 100755
759 ---- a/t/t9400-git-cvsserver-server.sh
760 -+++ b/t/t9400-git-cvsserver-server.sh
761 -@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
762 - . ./test-lib.sh
763 -
764 - if ! test_have_prereq PERL; then
765 -- skip_all='skipping git cvsserver tests, perl not available'
766 -+ skip_all='skipping git-cvsserver tests, perl not available'
767 - test_done
768 - fi
769 -+
770 -+if ! test_have_prereq CVS; then
771 -+ skip_all='skipping git-cvsserver tests, cvs not available'
772 -+ test_done
773 -+fi
774 -+
775 - cvs >/dev/null 2>&1
776 - if test $? -ne 1
777 - then
778 -diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
779 -index 84787eee9a..eecba88527 100755
780 ---- a/t/t9401-git-cvsserver-crlf.sh
781 -+++ b/t/t9401-git-cvsserver-crlf.sh
782 -@@ -57,15 +57,20 @@ check_status_options() {
783 - return $stat
784 - }
785 -
786 --cvs >/dev/null 2>&1
787 --if test $? -ne 1
788 -+if ! test_have_prereq PERL
789 - then
790 -- skip_all='skipping git-cvsserver tests, cvs not found'
791 -+ skip_all='skipping git-cvsserver tests, perl not available'
792 - test_done
793 - fi
794 --if ! test_have_prereq PERL
795 -+if ! test_have_prereq CVS
796 - then
797 -- skip_all='skipping git-cvsserver tests, perl not available'
798 -+ skip_all='skipping git-cvsserver tests, cvs not available'
799 -+ test_done
800 -+fi
801 -+cvs >/dev/null 2>&1
802 -+if test $? -ne 1
803 -+then
804 -+ skip_all='skipping git-cvsserver tests, cvs not found'
805 - test_done
806 - fi
807 - perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
808 -diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
809 -index 804ce3850f..c53c50e432 100755
810 ---- a/t/t9600-cvsimport.sh
811 -+++ b/t/t9600-cvsimport.sh
812 -@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
813 - test_done
814 - fi
815 -
816 --test_expect_success PERL 'setup cvsroot environment' '
817 -+if ! test_have_prereq PERL
818 -+then
819 -+ skip_all='skipping git cvsimport tests, perl not available'
820 -+ test_done
821 -+fi
822 -+if ! test_have_prereq CVS
823 -+then
824 -+ skip_all='skipping git cvsimport tests, cvs not available'
825 -+ test_done
826 -+fi
827 -+
828 -+test_expect_success 'setup cvsroot environment' '
829 - CVSROOT=$(pwd)/cvsroot &&
830 - export CVSROOT
831 - '
832 -
833 --test_expect_success PERL 'setup cvsroot' '$CVS init'
834 -+test_expect_success 'setup cvsroot' '$CVS init'
835 -
836 --test_expect_success PERL 'setup a cvs module' '
837 -+test_expect_success 'setup a cvs module' '
838 -
839 - mkdir "$CVSROOT/module" &&
840 - $CVS co -d module-cvs module &&
841 -@@ -47,23 +58,23 @@ EOF
842 - )
843 - '
844 -
845 --test_expect_success PERL 'import a trivial module' '
846 -+test_expect_success 'import a trivial module' '
847 -
848 - git cvsimport -a -R -z 0 -C module-git module &&
849 - test_cmp module-cvs/o_fortuna module-git/o_fortuna
850 -
851 - '
852 -
853 --test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
854 -+test_expect_success 'pack refs' '(cd module-git && git gc)'
855 -
856 --test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
857 -+test_expect_success 'initial import has correct .git/cvs-revisions' '
858 -
859 - (cd module-git &&
860 - git log --format="o_fortuna 1.1 %H" -1) > expected &&
861 - test_cmp expected module-git/.git/cvs-revisions
862 - '
863 -
864 --test_expect_success PERL 'update cvs module' '
865 -+test_expect_success 'update cvs module' '
866 - (cd module-cvs &&
867 - cat <<EOF >o_fortuna &&
868 - O Fortune,
869 -@@ -91,7 +102,7 @@ EOF
870 - )
871 - '
872 -
873 --test_expect_success PERL 'update git module' '
874 -+test_expect_success 'update git module' '
875 -
876 - (cd module-git &&
877 - git config cvsimport.trackRevisions true &&
878 -@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
879 -
880 - '
881 -
882 --test_expect_success PERL 'update has correct .git/cvs-revisions' '
883 -+test_expect_success 'update has correct .git/cvs-revisions' '
884 -
885 - (cd module-git &&
886 - git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
887 -@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
888 - test_cmp expected module-git/.git/cvs-revisions
889 - '
890 -
891 --test_expect_success PERL 'update cvs module' '
892 -+test_expect_success 'update cvs module' '
893 -
894 - (cd module-cvs &&
895 - echo 1 >tick &&
896 -@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
897 - )
898 - '
899 -
900 --test_expect_success PERL 'cvsimport.module config works' '
901 -+test_expect_success 'cvsimport.module config works' '
902 -
903 - (cd module-git &&
904 - git config cvsimport.module module &&
905 -@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
906 -
907 - '
908 -
909 --test_expect_success PERL 'second update has correct .git/cvs-revisions' '
910 -+test_expect_success 'second update has correct .git/cvs-revisions' '
911 -
912 - (cd module-git &&
913 - git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
914 -@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
915 - test_cmp expected module-git/.git/cvs-revisions
916 - '
917 -
918 --test_expect_success PERL 'import from a CVS working tree' '
919 -+test_expect_success 'import from a CVS working tree' '
920 -
921 - $CVS co -d import-from-wt module &&
922 - (cd import-from-wt &&
923 -@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
924 -
925 - '
926 -
927 --test_expect_success PERL 'no .git/cvs-revisions created by default' '
928 -+test_expect_success 'no .git/cvs-revisions created by default' '
929 -
930 - ! test -e import-from-wt/.git/cvs-revisions
931 -
932 - '
933 -
934 --test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
935 -+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
936 -
937 - test_done
938 -diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
939 -index 827d39f5bf..d730a41f67 100755
940 ---- a/t/t9601-cvsimport-vendor-branch.sh
941 -+++ b/t/t9601-cvsimport-vendor-branch.sh
942 -@@ -34,6 +34,17 @@
943 - test_description='git cvsimport handling of vendor branches'
944 - . ./lib-cvs.sh
945 -
946 -+if ! test_have_prereq PERL
947 -+then
948 -+ skip_all='skipping git cvsimport tests, perl not available'
949 -+ test_done
950 -+fi
951 -+if ! test_have_prereq CVS
952 -+then
953 -+ skip_all='skipping git cvsimport tests, cvs not available'
954 -+ test_done
955 -+fi
956 -+
957 - setup_cvs_test_repository t9601
958 -
959 - test_expect_success PERL 'import a module with a vendor branch' '
960 -diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
961 -index e1db323f54..68f097401f 100755
962 ---- a/t/t9602-cvsimport-branches-tags.sh
963 -+++ b/t/t9602-cvsimport-branches-tags.sh
964 -@@ -6,6 +6,17 @@
965 - test_description='git cvsimport handling of branches and tags'
966 - . ./lib-cvs.sh
967 -
968 -+if ! test_have_prereq PERL
969 -+then
970 -+ skip_all='skipping git cvsimport tests, perl not available'
971 -+ test_done
972 -+fi
973 -+if ! test_have_prereq CVS
974 -+then
975 -+ skip_all='skipping git cvsimport tests, cvs not available'
976 -+ test_done
977 -+fi
978 -+
979 - setup_cvs_test_repository t9602
980 -
981 - test_expect_success PERL 'import module' '
982 -diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
983 -index c4c3c49546..9b2957d4f0 100755
984 ---- a/t/t9603-cvsimport-patchsets.sh
985 -+++ b/t/t9603-cvsimport-patchsets.sh
986 -@@ -14,6 +14,17 @@
987 - test_description='git cvsimport testing for correct patchset estimation'
988 - . ./lib-cvs.sh
989 -
990 -+if ! test_have_prereq PERL
991 -+then
992 -+ skip_all='skipping git cvsimport tests, perl not available'
993 -+ test_done
994 -+fi
995 -+if ! test_have_prereq CVS
996 -+then
997 -+ skip_all='skipping git cvsimport tests, cvs not available'
998 -+ test_done
999 -+fi
1000 -+
1001 - setup_cvs_test_repository t9603
1002 -
1003 - test_expect_failure PERL 'import with criss cross times on revisions' '
1004 -diff --git a/t/test-lib.sh b/t/test-lib.sh
1005 -index 7740d511d2..9b26b78359 100644
1006 ---- a/t/test-lib.sh
1007 -+++ b/t/test-lib.sh
1008 -@@ -1062,6 +1062,7 @@ case $uname_s in
1009 - esac
1010 -
1011 - ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
1012 -+test -z "$NO_CVS" && test_set_prereq CVS
1013 - test -z "$NO_PERL" && test_set_prereq PERL
1014 - test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
1015 - test -z "$NO_PYTHON" && test_set_prereq PYTHON
1016 ---
1017 -2.16.3
1018 -
1019
1020 diff --git a/dev-vcs/git/git-2.16.4.ebuild b/dev-vcs/git/git-2.16.4.ebuild
1021 deleted file mode 100644
1022 index 87acf90bc20..00000000000
1023 --- a/dev-vcs/git/git-2.16.4.ebuild
1024 +++ /dev/null
1025 @@ -1,699 +0,0 @@
1026 -# Copyright 1999-2018 Gentoo Foundation
1027 -# Distributed under the terms of the GNU General Public License v2
1028 -
1029 -EAPI=6
1030 -
1031 -GENTOO_DEPEND_ON_PERL=no
1032 -
1033 -# bug #329479: git-remote-testgit is not multiple-version aware
1034 -PYTHON_COMPAT=( python2_7 )
1035 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
1036 -if [[ ${PV} == *9999 ]]; then
1037 - SCM="git-r3"
1038 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
1039 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
1040 - # See https://git-scm.com/docs/gitworkflows#_graduation
1041 - # In order of stability:
1042 - # 9999-r0: maint
1043 - # 9999-r1: master
1044 - # 9999-r2: next
1045 - # 9999-r3: pu
1046 - case "${PVR}" in
1047 - 9999) EGIT_BRANCH=maint ;;
1048 - 9999-r1) EGIT_BRANCH=master ;;
1049 - 9999-r2) EGIT_BRANCH=next;;
1050 - 9999-r3) EGIT_BRANCH=pu ;;
1051 - esac
1052 -fi
1053 -
1054 -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
1055 -
1056 -MY_PV="${PV/_rc/.rc}"
1057 -MY_P="${PN}-${MY_PV}"
1058 -
1059 -DOC_VER=${MY_PV}
1060 -
1061 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
1062 -HOMEPAGE="https://www.git-scm.com/"
1063 -if [[ ${PV} != *9999 ]]; then
1064 - SRC_URI_SUFFIX="xz"
1065 - SRC_URI_KORG="mirror://kernel/software/scm/git"
1066 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
1067 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
1068 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1069 - doc? (
1070 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1071 - )"
1072 - [[ "${PV}" = *_rc* ]] || \
1073 - KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
1074 -fi
1075 -
1076 -LICENSE="GPL-2"
1077 -SLOT="0"
1078 -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
1079 -
1080 -# Common to both DEPEND and RDEPEND
1081 -CDEPEND="
1082 - gnome-keyring? ( app-crypt/libsecret )
1083 - !libressl? ( dev-libs/openssl:0= )
1084 - libressl? ( dev-libs/libressl:= )
1085 - sys-libs/zlib
1086 - pcre? (
1087 - pcre-jit? ( dev-libs/libpcre2[jit(+)] )
1088 - !pcre-jit? ( dev-libs/libpcre )
1089 - )
1090 - perl? ( dev-lang/perl:=[-build(-)] )
1091 - tk? ( dev-lang/tk:0= )
1092 - curl? (
1093 - net-misc/curl
1094 - webdav? ( dev-libs/expat )
1095 - )
1096 - emacs? ( virtual/emacs )
1097 -"
1098 -
1099 -RDEPEND="${CDEPEND}
1100 - gpg? ( app-crypt/gnupg )
1101 - mediawiki? (
1102 - dev-perl/DateTime-Format-ISO8601
1103 - dev-perl/HTML-Tree
1104 - dev-perl/MediaWiki-API
1105 - )
1106 - perl? ( dev-perl/Error
1107 - dev-perl/Net-SMTP-SSL
1108 - dev-perl/Authen-SASL
1109 - cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
1110 - cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
1111 - subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
1112 - )
1113 - python? ( ${PYTHON_DEPS} )
1114 -"
1115 -
1116 -# This is how info docs are created with Git:
1117 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
1118 -# .xml/docbook --(docbook2texi.pl)--> .texi
1119 -# .texi --(makeinfo)---------> .info
1120 -DEPEND="${CDEPEND}
1121 - doc? (
1122 - app-text/asciidoc
1123 - app-text/docbook2X
1124 - sys-apps/texinfo
1125 - app-text/xmlto
1126 - )
1127 - nls? ( sys-devel/gettext )
1128 - test? ( app-crypt/gnupg )"
1129 -
1130 -# Live ebuild builds man pages and HTML docs, additionally
1131 -if [[ ${PV} == *9999 ]]; then
1132 - DEPEND="${DEPEND}
1133 - app-text/asciidoc"
1134 -fi
1135 -
1136 -SITEFILE=50${PN}-gentoo.el
1137 -S="${WORKDIR}/${MY_P}"
1138 -
1139 -REQUIRED_USE="
1140 - cgi? ( perl )
1141 - cvs? ( perl )
1142 - mediawiki? ( perl )
1143 - mediawiki-experimental? ( mediawiki )
1144 - subversion? ( perl )
1145 - webdav? ( curl )
1146 - pcre-jit? ( pcre )
1147 - python? ( ${PYTHON_REQUIRED_USE} )
1148 -"
1149 -
1150 -PATCHES=(
1151 - # bug #350330 - automagic CVS when we don't want it is bad.
1152 - "${FILESDIR}"/git-2.12.0-optional-cvs.patch
1153 -
1154 - # install mediawiki perl modules also in vendor_dir
1155 - # hack, needs better upstream solution
1156 - "${FILESDIR}"/git-1.8.5-mw-vendor.patch
1157 -
1158 - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
1159 -
1160 - # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
1161 - "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
1162 -)
1163 -
1164 -pkg_setup() {
1165 - if use subversion && has_version "dev-vcs/subversion[dso]"; then
1166 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
1167 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
1168 - ewarn "have been warned."
1169 - fi
1170 - if use python ; then
1171 - python-single-r1_pkg_setup
1172 - fi
1173 -}
1174 -
1175 -# This is needed because for some obscure reasons future calls to make don't
1176 -# pick up these exports if we export them in src_unpack()
1177 -exportmakeopts() {
1178 - local myopts
1179 -
1180 - if use blksha1 ; then
1181 - myopts+=" BLK_SHA1=YesPlease"
1182 - elif use ppcsha1 ; then
1183 - myopts+=" PPC_SHA1=YesPlease"
1184 - fi
1185 -
1186 - if use curl ; then
1187 - use webdav || myopts+=" NO_EXPAT=YesPlease"
1188 - else
1189 - myopts+=" NO_CURL=YesPlease"
1190 - fi
1191 -
1192 - # broken assumptions, because of static build system ...
1193 - myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
1194 - myopts+=" INSTALL=install TAR=tar"
1195 - myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
1196 - myopts+=" SANE_TOOL_PATH="
1197 - myopts+=" OLD_ICONV="
1198 - myopts+=" NO_EXTERNAL_GREP="
1199 -
1200 - # For svn-fe
1201 - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
1202 -
1203 - # can't define this to null, since the entire makefile depends on it
1204 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
1205 -
1206 - use iconv \
1207 - || myopts+=" NO_ICONV=YesPlease"
1208 - use nls \
1209 - || myopts+=" NO_GETTEXT=YesPlease"
1210 - use tk \
1211 - || myopts+=" NO_TCLTK=YesPlease"
1212 - if use pcre; then
1213 - if use pcre-jit; then
1214 - myopts+=" USE_LIBPCRE2=YesPlease"
1215 - extlibs+=" -lpcre2-8"
1216 - else
1217 - myopts+=" USE_LIBPCRE1=YesPlease"
1218 - myopts+=" NO_LIBPCRE1_JIT=YesPlease"
1219 - extlibs+=" -lpcre"
1220 - fi
1221 - fi
1222 - use perl \
1223 - && myopts+=" INSTALLDIRS=vendor" \
1224 - || myopts+=" NO_PERL=YesPlease"
1225 - use python \
1226 - || myopts+=" NO_PYTHON=YesPlease"
1227 - use subversion \
1228 - || myopts+=" NO_SVN_TESTS=YesPlease"
1229 - use threads \
1230 - && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
1231 - || myopts+=" NO_PTHREADS=YesPlease"
1232 - use cvs \
1233 - || myopts+=" NO_CVS=YesPlease"
1234 - use elibc_musl \
1235 - && myopts+=" NO_REGEX=YesPlease"
1236 -# Disabled until ~m68k-mint can be keyworded again
1237 -# if [[ ${CHOST} == *-mint* ]] ; then
1238 -# myopts+=" NO_MMAP=YesPlease"
1239 -# myopts+=" NO_IPV6=YesPlease"
1240 -# myopts+=" NO_STRLCPY=YesPlease"
1241 -# myopts+=" NO_MEMMEM=YesPlease"
1242 -# myopts+=" NO_MKDTEMP=YesPlease"
1243 -# myopts+=" NO_MKSTEMPS=YesPlease"
1244 -# fi
1245 - if [[ ${CHOST} == ia64-*-hpux* ]]; then
1246 - myopts+=" NO_NSEC=YesPlease"
1247 - fi
1248 - if [[ ${CHOST} == *-*-aix* ]]; then
1249 - myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
1250 - fi
1251 - if [[ ${CHOST} == *-solaris* ]]; then
1252 - myopts+=" NEEDS_LIBICONV=YesPlease"
1253 - myopts+=" HAVE_CLOCK_MONOTONIC=1"
1254 - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
1255 - myopts+=" HAVE_GETDELIM=1"
1256 - fi
1257 -
1258 - has_version '>=app-text/asciidoc-8.0' \
1259 - && myopts+=" ASCIIDOC8=YesPlease"
1260 - myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
1261 -
1262 - # Bug 290465:
1263 - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
1264 - [[ "${CHOST}" == *-uclibc* ]] && \
1265 - myopts+=" NO_NSEC=YesPlease"
1266 -
1267 - export MY_MAKEOPTS="${myopts}"
1268 - export EXTLIBS="${extlibs}"
1269 -}
1270 -
1271 -src_unpack() {
1272 - if [[ ${PV} != *9999 ]]; then
1273 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
1274 - cd "${S}"
1275 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1276 - use doc && \
1277 - cd "${S}"/Documentation && \
1278 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1279 - cd "${S}"
1280 - else
1281 - git-r3_src_unpack
1282 - cd "${S}"
1283 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
1284 - fi
1285 -
1286 -}
1287 -
1288 -src_prepare() {
1289 - # add experimental patches to improve mediawiki support
1290 - # see patches for origin
1291 - if use mediawiki-experimental ; then
1292 - PATCHES+=(
1293 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
1294 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
1295 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
1296 - )
1297 - fi
1298 -
1299 - default
1300 -
1301 - sed -i \
1302 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
1303 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
1304 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
1305 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
1306 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
1307 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
1308 - Makefile contrib/svn-fe/Makefile || die "sed failed"
1309 -
1310 - # Never install the private copy of Error.pm (bug #296310)
1311 - sed -i \
1312 - -e '/private-Error.pm/s,^,#,' \
1313 - perl/Makefile.PL
1314 -
1315 - # Fix docbook2texi command
1316 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
1317 - Documentation/Makefile || die "sed failed"
1318 -
1319 - # Fix git-subtree missing DESTDIR
1320 - sed -i \
1321 - -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
1322 - -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
1323 - contrib/subtree/Makefile
1324 -}
1325 -
1326 -git_emake() {
1327 - # bug #320647: PYTHON_PATH
1328 - PYTHON_PATH=""
1329 - use python && PYTHON_PATH="${PYTHON}"
1330 - emake ${MY_MAKEOPTS} \
1331 - DESTDIR="${D}" \
1332 - OPTCFLAGS="${CFLAGS}" \
1333 - OPTLDFLAGS="${LDFLAGS}" \
1334 - OPTCC="$(tc-getCC)" \
1335 - OPTAR="$(tc-getAR)" \
1336 - prefix="${EPREFIX}"/usr \
1337 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
1338 - sysconfdir="${EPREFIX}"/etc \
1339 - PYTHON_PATH="${PYTHON_PATH}" \
1340 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
1341 - PERL_MM_OPT="" \
1342 - GIT_TEST_OPTS="--no-color" \
1343 - V=1 \
1344 - "$@"
1345 -}
1346 -
1347 -src_configure() {
1348 - exportmakeopts
1349 -}
1350 -
1351 -src_compile() {
1352 - if use perl ; then
1353 - git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
1354 - git_emake perl/perl.mak || die "emake perl/perl.mak failed"
1355 - fi
1356 - git_emake || die "emake failed"
1357 -
1358 - if use emacs ; then
1359 - elisp-compile contrib/emacs/git{,-blame}.el
1360 - fi
1361 -
1362 - if use perl && use cgi ; then
1363 - git_emake \
1364 - gitweb \
1365 - || die "emake gitweb (cgi) failed"
1366 - fi
1367 -
1368 - if [[ ${CHOST} == *-darwin* ]]; then
1369 - cd "${S}"/contrib/credential/osxkeychain || die
1370 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
1371 - || die "emake credential-osxkeychain"
1372 - fi
1373 -
1374 - cd "${S}"/Documentation
1375 - if [[ ${PV} == *9999 ]] ; then
1376 - git_emake man \
1377 - || die "emake man failed"
1378 - if use doc ; then
1379 - git_emake info html \
1380 - || die "emake info html failed"
1381 - fi
1382 - else
1383 - if use doc ; then
1384 - git_emake info \
1385 - || die "emake info html failed"
1386 - fi
1387 - fi
1388 -
1389 - if use subversion ; then
1390 - cd "${S}"/contrib/svn-fe
1391 - # by defining EXTLIBS we override the detection for libintl and
1392 - # libiconv, bug #516168
1393 - local nlsiconv=
1394 - use nls && use !elibc_glibc && nlsiconv+=" -lintl"
1395 - use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
1396 - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
1397 - if use doc ; then
1398 - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
1399 - fi
1400 - cd "${S}"
1401 - fi
1402 -
1403 - if use gnome-keyring ; then
1404 - cd "${S}"/contrib/credential/libsecret
1405 - git_emake || die "emake git-credential-libsecret failed"
1406 - fi
1407 -
1408 - cd "${S}"/contrib/subtree || die
1409 - git_emake
1410 - use doc && git_emake doc
1411 -
1412 - cd "${S}"/contrib/diff-highlight || die
1413 - git_emake
1414 -
1415 - if use mediawiki ; then
1416 - cd "${S}"/contrib/mw-to-git
1417 - git_emake
1418 - fi
1419 -}
1420 -
1421 -src_install() {
1422 - git_emake \
1423 - install || \
1424 - die "make install failed"
1425 -
1426 - if [[ ${CHOST} == *-darwin* ]]; then
1427 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
1428 - fi
1429 -
1430 - # Depending on the tarball and manual rebuild of the documentation, the
1431 - # manpages may exist in either OR both of these directories.
1432 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
1433 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
1434 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
1435 - use doc && dodir /usr/share/doc/${PF}/html
1436 - for d in / /howto/ /technical/ ; do
1437 - docinto ${d}
1438 - dodoc Documentation${d}*.txt
1439 - if use doc ; then
1440 - docinto ${d}/html
1441 - dodoc Documentation${d}*.html
1442 - fi
1443 - done
1444 - docinto /
1445 - # Upstream does not ship this pre-built :-(
1446 - use doc && doinfo Documentation/{git,gitman}.info
1447 -
1448 - newbashcomp contrib/completion/git-completion.bash ${PN}
1449 - bashcomp_alias git gitk
1450 - # Not really a bash-completion file (bug #477920)
1451 - # but still needed uncompressed (bug #507480)
1452 - insinto /usr/share/${PN}
1453 - doins contrib/completion/git-prompt.sh
1454 -
1455 - if use emacs ; then
1456 - elisp-install ${PN} contrib/emacs/git.{el,elc}
1457 - elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
1458 - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
1459 - # don't add automatically to the load-path, so the sitefile
1460 - # can do a conditional loading
1461 - touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
1462 - elisp-site-file-install "${FILESDIR}"/${SITEFILE}
1463 - fi
1464 -
1465 - #dobin contrib/fast-import/git-p4 # Moved upstream
1466 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
1467 - newbin contrib/fast-import/import-tars.perl import-tars
1468 - exeinto /usr/libexec/git-core/
1469 - newexe contrib/git-resurrect.sh git-resurrect
1470 -
1471 - # git-subtree
1472 - cd "${S}"/contrib/subtree
1473 - git_emake install || die "Failed to emake install git-subtree"
1474 - if use doc ; then
1475 - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
1476 - fi
1477 - newdoc README README.git-subtree
1478 - dodoc git-subtree.txt
1479 - cd "${S}"
1480 -
1481 - if use mediawiki ; then
1482 - cd "${S}"/contrib/mw-to-git
1483 - git_emake install
1484 - cd "${S}"
1485 - fi
1486 -
1487 - # diff-highlight
1488 - dobin contrib/diff-highlight/diff-highlight
1489 - newdoc contrib/diff-highlight/README README.diff-highlight
1490 -
1491 - # git-jump
1492 - exeinto /usr/libexec/git-core/
1493 - doexe contrib/git-jump/git-jump
1494 - newdoc contrib/git-jump/README git-jump.txt
1495 -
1496 - # git-contacts
1497 - exeinto /usr/libexec/git-core/
1498 - doexe contrib/contacts/git-contacts
1499 - dodoc contrib/contacts/git-contacts.txt
1500 -
1501 - if use gnome-keyring ; then
1502 - cd "${S}"/contrib/credential/libsecret
1503 - dobin git-credential-libsecret
1504 - fi
1505 -
1506 - if use subversion ; then
1507 - cd "${S}"/contrib/svn-fe
1508 - dobin svn-fe
1509 - dodoc svn-fe.txt
1510 - if use doc ; then
1511 - doman svn-fe.1
1512 - docinto html
1513 - dodoc svn-fe.html
1514 - fi
1515 - cd "${S}"
1516 - fi
1517 -
1518 - dodir /usr/share/${PN}/contrib
1519 - # The following are excluded:
1520 - # completion - installed above
1521 - # diff-highlight - done above
1522 - # emacs - installed above
1523 - # examples - these are stuff that is not used in Git anymore actually
1524 - # git-jump - done above
1525 - # gitview - installed above
1526 - # p4import - excluded because fast-import has a better one
1527 - # patches - stuff the Git guys made to go upstream to other places
1528 - # persistent-https - TODO
1529 - # mw-to-git - TODO
1530 - # subtree - build seperately
1531 - # svnimport - use git-svn
1532 - # thunderbird-patch-inline - fixes thunderbird
1533 - local contrib_objects=(
1534 - buildsystems
1535 - fast-import
1536 - hg-to-git
1537 - hooks
1538 - remotes2config.sh
1539 - rerere-train.sh
1540 - stats
1541 - workdir
1542 - )
1543 - for i in "${contrib_objects[@]}" ; do
1544 - cp -rf \
1545 - "${S}"/contrib/${i} \
1546 - "${ED}"/usr/share/${PN}/contrib \
1547 - || die "Failed contrib ${i}"
1548 - done
1549 -
1550 - if use perl && use cgi ; then
1551 - # We used to install in /usr/share/${PN}/gitweb
1552 - # but upstream installs in /usr/share/gitweb
1553 - # so we will install a symlink and use their location for compat with other
1554 - # distros
1555 - dosym /usr/share/gitweb /usr/share/${PN}/gitweb
1556 -
1557 - # INSTALL discusses configuration issues, not just installation
1558 - docinto /
1559 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
1560 - newdoc "${S}"/gitweb/README README.gitweb
1561 -
1562 - for d in "${ED}"/usr/lib{64,}/perl5/ ; do
1563 - if test -d "$d" ; then find "$d" \
1564 - -name .packlist \
1565 - -delete || die
1566 - fi
1567 - done
1568 - else
1569 - rm -rf "${ED}"/usr/share/gitweb
1570 - fi
1571 -
1572 - if ! use subversion ; then
1573 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
1574 - "${ED}"/usr/share/man/man1/git-svn.1*
1575 - fi
1576 -
1577 - if use xinetd ; then
1578 - insinto /etc/xinetd.d
1579 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
1580 - fi
1581 -
1582 - if use !prefix ; then
1583 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
1584 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
1585 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
1586 - systemd_dounit "${FILESDIR}/git-daemon.socket"
1587 - fi
1588 -
1589 - perl_delete_localpod
1590 -
1591 - # Remove disabled linguas
1592 - # we could remove sources in src_prepare, but install does not
1593 - # handle missing locale dir well
1594 - rm_loc() {
1595 - if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
1596 - rm -r "${ED}/usr/share/locale/${1}" || die
1597 - fi
1598 - }
1599 - l10n_for_each_disabled_locale_do rm_loc
1600 -}
1601 -
1602 -src_test() {
1603 - local disabled=""
1604 - local tests_cvs="t9200-git-cvsexportcommit.sh \
1605 - t9400-git-cvsserver-server.sh \
1606 - t9401-git-cvsserver-crlf.sh \
1607 - t9402-git-cvsserver-refs.sh \
1608 - t9600-cvsimport.sh \
1609 - t9601-cvsimport-vendor-branch.sh \
1610 - t9602-cvsimport-branches-tags.sh \
1611 - t9603-cvsimport-patchsets.sh \
1612 - t9604-cvsimport-timestamps.sh"
1613 - local tests_perl="t3701-add-interactive.sh \
1614 - t5502-quickfetch.sh \
1615 - t5512-ls-remote.sh \
1616 - t5520-pull.sh \
1617 - t7106-reset-unborn-branch.sh \
1618 - t7501-commit.sh"
1619 - # Bug #225601 - t0004 is not suitable for root perm
1620 - # Bug #219839 - t1004 is not suitable for root perm
1621 - # t0001-init.sh - check for init notices EPERM* fails
1622 - local tests_nonroot="t0001-init.sh \
1623 - t0004-unwritable.sh \
1624 - t0070-fundamental.sh \
1625 - t1004-read-tree-m-u-wf.sh \
1626 - t3700-add.sh \
1627 - t7300-clean.sh"
1628 - # t9100 still fails with symlinks in SVN 1.7
1629 - local test_svn="t9100-git-svn-basic.sh"
1630 -
1631 - # Unzip is used only for the testcase code, not by any normal parts of Git.
1632 - if ! has_version app-arch/unzip ; then
1633 - einfo "Disabling tar-tree tests"
1634 - disabled+=" t5000-tar-tree.sh"
1635 - fi
1636 -
1637 - cvs=0
1638 - use cvs && let cvs=$cvs+1
1639 - if [[ ${EUID} -eq 0 ]]; then
1640 - if [[ $cvs -eq 1 ]]; then
1641 - ewarn "Skipping CVS tests because CVS does not work as root!"
1642 - ewarn "You should retest with FEATURES=userpriv!"
1643 - disabled+=" ${tests_cvs}"
1644 - fi
1645 - einfo "Skipping other tests that require being non-root"
1646 - disabled+=" ${tests_nonroot}"
1647 - else
1648 - [[ $cvs -gt 0 ]] && \
1649 - has_version dev-vcs/cvs && \
1650 - let cvs=$cvs+1
1651 - [[ $cvs -gt 1 ]] && \
1652 - has_version "dev-vcs/cvs[server]" && \
1653 - let cvs=$cvs+1
1654 - if [[ $cvs -lt 3 ]]; then
1655 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
1656 - disabled+=" ${tests_cvs}"
1657 - fi
1658 - fi
1659 -
1660 - if ! use perl ; then
1661 - einfo "Disabling tests that need Perl"
1662 - disabled+=" ${tests_perl}"
1663 - fi
1664 -
1665 - einfo "Disabling tests that fail with SVN 1.7"
1666 - disabled+=" ${test_svn}"
1667 -
1668 - # Reset all previously disabled tests
1669 - cd "${S}/t"
1670 - for i in *.sh.DISABLED ; do
1671 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
1672 - done
1673 - einfo "Disabled tests:"
1674 - for i in ${disabled} ; do
1675 - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
1676 - done
1677 -
1678 - # Avoid the test system removing the results because we want them ourselves
1679 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
1680 - -i "${S}"/t/Makefile
1681 -
1682 - # Clean old results first, must always run
1683 - cd "${S}/t"
1684 - nonfatal git_emake clean
1685 -
1686 - # Now run the tests, keep going if we hit an error, and don't terminate on
1687 - # failure
1688 - cd "${S}"
1689 - einfo "Start test run"
1690 - #MAKEOPTS=-j1
1691 - nonfatal git_emake --keep-going test
1692 - rc=$?
1693 -
1694 - # Display nice results, now print the results
1695 - cd "${S}/t"
1696 - nonfatal git_emake aggregate-results
1697 -
1698 - # And bail if there was a problem
1699 - [ $rc -eq 0 ] || die "tests failed. Please file a bug."
1700 -}
1701 -
1702 -showpkgdeps() {
1703 - local pkg=$1
1704 - shift
1705 - elog " $(printf "%-17s:" ${pkg}) ${@}"
1706 -}
1707 -
1708 -pkg_postinst() {
1709 - use emacs && elisp-site-regen
1710 - elog "Please read /usr/share/bash-completion/git for Git bash command completion"
1711 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
1712 - elog "Note that the prompt bash code is now in that separate script"
1713 - elog "These additional scripts need some dependencies:"
1714 - echo
1715 - showpkgdeps git-quiltimport "dev-util/quilt"
1716 - showpkgdeps git-instaweb \
1717 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
1718 - echo
1719 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
1720 -}
1721 -
1722 -pkg_postrm() {
1723 - use emacs && elisp-site-regen
1724 -}
1725
1726 diff --git a/dev-vcs/git/git-2.16.5.ebuild b/dev-vcs/git/git-2.16.5.ebuild
1727 deleted file mode 100644
1728 index b51710380b0..00000000000
1729 --- a/dev-vcs/git/git-2.16.5.ebuild
1730 +++ /dev/null
1731 @@ -1,699 +0,0 @@
1732 -# Copyright 1999-2018 Gentoo Foundation
1733 -# Distributed under the terms of the GNU General Public License v2
1734 -
1735 -EAPI=6
1736 -
1737 -GENTOO_DEPEND_ON_PERL=no
1738 -
1739 -# bug #329479: git-remote-testgit is not multiple-version aware
1740 -PYTHON_COMPAT=( python2_7 )
1741 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
1742 -if [[ ${PV} == *9999 ]]; then
1743 - SCM="git-r3"
1744 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
1745 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
1746 - # See https://git-scm.com/docs/gitworkflows#_graduation
1747 - # In order of stability:
1748 - # 9999-r0: maint
1749 - # 9999-r1: master
1750 - # 9999-r2: next
1751 - # 9999-r3: pu
1752 - case "${PVR}" in
1753 - 9999) EGIT_BRANCH=maint ;;
1754 - 9999-r1) EGIT_BRANCH=master ;;
1755 - 9999-r2) EGIT_BRANCH=next;;
1756 - 9999-r3) EGIT_BRANCH=pu ;;
1757 - esac
1758 -fi
1759 -
1760 -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
1761 -
1762 -MY_PV="${PV/_rc/.rc}"
1763 -MY_P="${PN}-${MY_PV}"
1764 -
1765 -DOC_VER=${MY_PV}
1766 -
1767 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
1768 -HOMEPAGE="https://www.git-scm.com/"
1769 -if [[ ${PV} != *9999 ]]; then
1770 - SRC_URI_SUFFIX="xz"
1771 - SRC_URI_KORG="mirror://kernel/software/scm/git"
1772 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
1773 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
1774 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1775 - doc? (
1776 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1777 - )"
1778 - [[ "${PV}" = *_rc* ]] || \
1779 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
1780 -fi
1781 -
1782 -LICENSE="GPL-2"
1783 -SLOT="0"
1784 -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
1785 -
1786 -# Common to both DEPEND and RDEPEND
1787 -CDEPEND="
1788 - gnome-keyring? ( app-crypt/libsecret )
1789 - !libressl? ( dev-libs/openssl:0= )
1790 - libressl? ( dev-libs/libressl:= )
1791 - sys-libs/zlib
1792 - pcre? (
1793 - pcre-jit? ( dev-libs/libpcre2[jit(+)] )
1794 - !pcre-jit? ( dev-libs/libpcre )
1795 - )
1796 - perl? ( dev-lang/perl:=[-build(-)] )
1797 - tk? ( dev-lang/tk:0= )
1798 - curl? (
1799 - net-misc/curl
1800 - webdav? ( dev-libs/expat )
1801 - )
1802 - emacs? ( virtual/emacs )
1803 -"
1804 -
1805 -RDEPEND="${CDEPEND}
1806 - gpg? ( app-crypt/gnupg )
1807 - mediawiki? (
1808 - dev-perl/DateTime-Format-ISO8601
1809 - dev-perl/HTML-Tree
1810 - dev-perl/MediaWiki-API
1811 - )
1812 - perl? ( dev-perl/Error
1813 - dev-perl/Net-SMTP-SSL
1814 - dev-perl/Authen-SASL
1815 - cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
1816 - cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
1817 - subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
1818 - )
1819 - python? ( ${PYTHON_DEPS} )
1820 -"
1821 -
1822 -# This is how info docs are created with Git:
1823 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
1824 -# .xml/docbook --(docbook2texi.pl)--> .texi
1825 -# .texi --(makeinfo)---------> .info
1826 -DEPEND="${CDEPEND}
1827 - doc? (
1828 - app-text/asciidoc
1829 - app-text/docbook2X
1830 - sys-apps/texinfo
1831 - app-text/xmlto
1832 - )
1833 - nls? ( sys-devel/gettext )
1834 - test? ( app-crypt/gnupg )"
1835 -
1836 -# Live ebuild builds man pages and HTML docs, additionally
1837 -if [[ ${PV} == *9999 ]]; then
1838 - DEPEND="${DEPEND}
1839 - app-text/asciidoc"
1840 -fi
1841 -
1842 -SITEFILE=50${PN}-gentoo.el
1843 -S="${WORKDIR}/${MY_P}"
1844 -
1845 -REQUIRED_USE="
1846 - cgi? ( perl )
1847 - cvs? ( perl )
1848 - mediawiki? ( perl )
1849 - mediawiki-experimental? ( mediawiki )
1850 - subversion? ( perl )
1851 - webdav? ( curl )
1852 - pcre-jit? ( pcre )
1853 - python? ( ${PYTHON_REQUIRED_USE} )
1854 -"
1855 -
1856 -PATCHES=(
1857 - # bug #350330 - automagic CVS when we don't want it is bad.
1858 - "${FILESDIR}"/git-2.12.0-optional-cvs.patch
1859 -
1860 - # install mediawiki perl modules also in vendor_dir
1861 - # hack, needs better upstream solution
1862 - "${FILESDIR}"/git-1.8.5-mw-vendor.patch
1863 -
1864 - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
1865 -
1866 - # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
1867 - "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
1868 -)
1869 -
1870 -pkg_setup() {
1871 - if use subversion && has_version "dev-vcs/subversion[dso]"; then
1872 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
1873 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
1874 - ewarn "have been warned."
1875 - fi
1876 - if use python ; then
1877 - python-single-r1_pkg_setup
1878 - fi
1879 -}
1880 -
1881 -# This is needed because for some obscure reasons future calls to make don't
1882 -# pick up these exports if we export them in src_unpack()
1883 -exportmakeopts() {
1884 - local myopts
1885 -
1886 - if use blksha1 ; then
1887 - myopts+=" BLK_SHA1=YesPlease"
1888 - elif use ppcsha1 ; then
1889 - myopts+=" PPC_SHA1=YesPlease"
1890 - fi
1891 -
1892 - if use curl ; then
1893 - use webdav || myopts+=" NO_EXPAT=YesPlease"
1894 - else
1895 - myopts+=" NO_CURL=YesPlease"
1896 - fi
1897 -
1898 - # broken assumptions, because of static build system ...
1899 - myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
1900 - myopts+=" INSTALL=install TAR=tar"
1901 - myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
1902 - myopts+=" SANE_TOOL_PATH="
1903 - myopts+=" OLD_ICONV="
1904 - myopts+=" NO_EXTERNAL_GREP="
1905 -
1906 - # For svn-fe
1907 - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
1908 -
1909 - # can't define this to null, since the entire makefile depends on it
1910 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
1911 -
1912 - use iconv \
1913 - || myopts+=" NO_ICONV=YesPlease"
1914 - use nls \
1915 - || myopts+=" NO_GETTEXT=YesPlease"
1916 - use tk \
1917 - || myopts+=" NO_TCLTK=YesPlease"
1918 - if use pcre; then
1919 - if use pcre-jit; then
1920 - myopts+=" USE_LIBPCRE2=YesPlease"
1921 - extlibs+=" -lpcre2-8"
1922 - else
1923 - myopts+=" USE_LIBPCRE1=YesPlease"
1924 - myopts+=" NO_LIBPCRE1_JIT=YesPlease"
1925 - extlibs+=" -lpcre"
1926 - fi
1927 - fi
1928 - use perl \
1929 - && myopts+=" INSTALLDIRS=vendor" \
1930 - || myopts+=" NO_PERL=YesPlease"
1931 - use python \
1932 - || myopts+=" NO_PYTHON=YesPlease"
1933 - use subversion \
1934 - || myopts+=" NO_SVN_TESTS=YesPlease"
1935 - use threads \
1936 - && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
1937 - || myopts+=" NO_PTHREADS=YesPlease"
1938 - use cvs \
1939 - || myopts+=" NO_CVS=YesPlease"
1940 - use elibc_musl \
1941 - && myopts+=" NO_REGEX=YesPlease"
1942 -# Disabled until ~m68k-mint can be keyworded again
1943 -# if [[ ${CHOST} == *-mint* ]] ; then
1944 -# myopts+=" NO_MMAP=YesPlease"
1945 -# myopts+=" NO_IPV6=YesPlease"
1946 -# myopts+=" NO_STRLCPY=YesPlease"
1947 -# myopts+=" NO_MEMMEM=YesPlease"
1948 -# myopts+=" NO_MKDTEMP=YesPlease"
1949 -# myopts+=" NO_MKSTEMPS=YesPlease"
1950 -# fi
1951 - if [[ ${CHOST} == ia64-*-hpux* ]]; then
1952 - myopts+=" NO_NSEC=YesPlease"
1953 - fi
1954 - if [[ ${CHOST} == *-*-aix* ]]; then
1955 - myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
1956 - fi
1957 - if [[ ${CHOST} == *-solaris* ]]; then
1958 - myopts+=" NEEDS_LIBICONV=YesPlease"
1959 - myopts+=" HAVE_CLOCK_MONOTONIC=1"
1960 - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
1961 - myopts+=" HAVE_GETDELIM=1"
1962 - fi
1963 -
1964 - has_version '>=app-text/asciidoc-8.0' \
1965 - && myopts+=" ASCIIDOC8=YesPlease"
1966 - myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
1967 -
1968 - # Bug 290465:
1969 - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
1970 - [[ "${CHOST}" == *-uclibc* ]] && \
1971 - myopts+=" NO_NSEC=YesPlease"
1972 -
1973 - export MY_MAKEOPTS="${myopts}"
1974 - export EXTLIBS="${extlibs}"
1975 -}
1976 -
1977 -src_unpack() {
1978 - if [[ ${PV} != *9999 ]]; then
1979 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
1980 - cd "${S}"
1981 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1982 - use doc && \
1983 - cd "${S}"/Documentation && \
1984 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1985 - cd "${S}"
1986 - else
1987 - git-r3_src_unpack
1988 - cd "${S}"
1989 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
1990 - fi
1991 -
1992 -}
1993 -
1994 -src_prepare() {
1995 - # add experimental patches to improve mediawiki support
1996 - # see patches for origin
1997 - if use mediawiki-experimental ; then
1998 - PATCHES+=(
1999 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
2000 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
2001 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
2002 - )
2003 - fi
2004 -
2005 - default
2006 -
2007 - sed -i \
2008 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
2009 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
2010 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
2011 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
2012 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2013 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2014 - Makefile contrib/svn-fe/Makefile || die "sed failed"
2015 -
2016 - # Never install the private copy of Error.pm (bug #296310)
2017 - sed -i \
2018 - -e '/private-Error.pm/s,^,#,' \
2019 - perl/Makefile.PL
2020 -
2021 - # Fix docbook2texi command
2022 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
2023 - Documentation/Makefile || die "sed failed"
2024 -
2025 - # Fix git-subtree missing DESTDIR
2026 - sed -i \
2027 - -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
2028 - -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
2029 - contrib/subtree/Makefile
2030 -}
2031 -
2032 -git_emake() {
2033 - # bug #320647: PYTHON_PATH
2034 - PYTHON_PATH=""
2035 - use python && PYTHON_PATH="${PYTHON}"
2036 - emake ${MY_MAKEOPTS} \
2037 - DESTDIR="${D}" \
2038 - OPTCFLAGS="${CFLAGS}" \
2039 - OPTLDFLAGS="${LDFLAGS}" \
2040 - OPTCC="$(tc-getCC)" \
2041 - OPTAR="$(tc-getAR)" \
2042 - prefix="${EPREFIX}"/usr \
2043 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
2044 - sysconfdir="${EPREFIX}"/etc \
2045 - PYTHON_PATH="${PYTHON_PATH}" \
2046 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
2047 - PERL_MM_OPT="" \
2048 - GIT_TEST_OPTS="--no-color" \
2049 - V=1 \
2050 - "$@"
2051 -}
2052 -
2053 -src_configure() {
2054 - exportmakeopts
2055 -}
2056 -
2057 -src_compile() {
2058 - if use perl ; then
2059 - git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
2060 - git_emake perl/perl.mak || die "emake perl/perl.mak failed"
2061 - fi
2062 - git_emake || die "emake failed"
2063 -
2064 - if use emacs ; then
2065 - elisp-compile contrib/emacs/git{,-blame}.el
2066 - fi
2067 -
2068 - if use perl && use cgi ; then
2069 - git_emake \
2070 - gitweb \
2071 - || die "emake gitweb (cgi) failed"
2072 - fi
2073 -
2074 - if [[ ${CHOST} == *-darwin* ]]; then
2075 - cd "${S}"/contrib/credential/osxkeychain || die
2076 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
2077 - || die "emake credential-osxkeychain"
2078 - fi
2079 -
2080 - cd "${S}"/Documentation
2081 - if [[ ${PV} == *9999 ]] ; then
2082 - git_emake man \
2083 - || die "emake man failed"
2084 - if use doc ; then
2085 - git_emake info html \
2086 - || die "emake info html failed"
2087 - fi
2088 - else
2089 - if use doc ; then
2090 - git_emake info \
2091 - || die "emake info html failed"
2092 - fi
2093 - fi
2094 -
2095 - if use subversion ; then
2096 - cd "${S}"/contrib/svn-fe
2097 - # by defining EXTLIBS we override the detection for libintl and
2098 - # libiconv, bug #516168
2099 - local nlsiconv=
2100 - use nls && use !elibc_glibc && nlsiconv+=" -lintl"
2101 - use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
2102 - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
2103 - if use doc ; then
2104 - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
2105 - fi
2106 - cd "${S}"
2107 - fi
2108 -
2109 - if use gnome-keyring ; then
2110 - cd "${S}"/contrib/credential/libsecret
2111 - git_emake || die "emake git-credential-libsecret failed"
2112 - fi
2113 -
2114 - cd "${S}"/contrib/subtree || die
2115 - git_emake
2116 - use doc && git_emake doc
2117 -
2118 - cd "${S}"/contrib/diff-highlight || die
2119 - git_emake
2120 -
2121 - if use mediawiki ; then
2122 - cd "${S}"/contrib/mw-to-git
2123 - git_emake
2124 - fi
2125 -}
2126 -
2127 -src_install() {
2128 - git_emake \
2129 - install || \
2130 - die "make install failed"
2131 -
2132 - if [[ ${CHOST} == *-darwin* ]]; then
2133 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
2134 - fi
2135 -
2136 - # Depending on the tarball and manual rebuild of the documentation, the
2137 - # manpages may exist in either OR both of these directories.
2138 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
2139 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
2140 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
2141 - use doc && dodir /usr/share/doc/${PF}/html
2142 - for d in / /howto/ /technical/ ; do
2143 - docinto ${d}
2144 - dodoc Documentation${d}*.txt
2145 - if use doc ; then
2146 - docinto ${d}/html
2147 - dodoc Documentation${d}*.html
2148 - fi
2149 - done
2150 - docinto /
2151 - # Upstream does not ship this pre-built :-(
2152 - use doc && doinfo Documentation/{git,gitman}.info
2153 -
2154 - newbashcomp contrib/completion/git-completion.bash ${PN}
2155 - bashcomp_alias git gitk
2156 - # Not really a bash-completion file (bug #477920)
2157 - # but still needed uncompressed (bug #507480)
2158 - insinto /usr/share/${PN}
2159 - doins contrib/completion/git-prompt.sh
2160 -
2161 - if use emacs ; then
2162 - elisp-install ${PN} contrib/emacs/git.{el,elc}
2163 - elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
2164 - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
2165 - # don't add automatically to the load-path, so the sitefile
2166 - # can do a conditional loading
2167 - touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
2168 - elisp-site-file-install "${FILESDIR}"/${SITEFILE}
2169 - fi
2170 -
2171 - #dobin contrib/fast-import/git-p4 # Moved upstream
2172 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
2173 - newbin contrib/fast-import/import-tars.perl import-tars
2174 - exeinto /usr/libexec/git-core/
2175 - newexe contrib/git-resurrect.sh git-resurrect
2176 -
2177 - # git-subtree
2178 - cd "${S}"/contrib/subtree
2179 - git_emake install || die "Failed to emake install git-subtree"
2180 - if use doc ; then
2181 - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
2182 - fi
2183 - newdoc README README.git-subtree
2184 - dodoc git-subtree.txt
2185 - cd "${S}"
2186 -
2187 - if use mediawiki ; then
2188 - cd "${S}"/contrib/mw-to-git
2189 - git_emake install
2190 - cd "${S}"
2191 - fi
2192 -
2193 - # diff-highlight
2194 - dobin contrib/diff-highlight/diff-highlight
2195 - newdoc contrib/diff-highlight/README README.diff-highlight
2196 -
2197 - # git-jump
2198 - exeinto /usr/libexec/git-core/
2199 - doexe contrib/git-jump/git-jump
2200 - newdoc contrib/git-jump/README git-jump.txt
2201 -
2202 - # git-contacts
2203 - exeinto /usr/libexec/git-core/
2204 - doexe contrib/contacts/git-contacts
2205 - dodoc contrib/contacts/git-contacts.txt
2206 -
2207 - if use gnome-keyring ; then
2208 - cd "${S}"/contrib/credential/libsecret
2209 - dobin git-credential-libsecret
2210 - fi
2211 -
2212 - if use subversion ; then
2213 - cd "${S}"/contrib/svn-fe
2214 - dobin svn-fe
2215 - dodoc svn-fe.txt
2216 - if use doc ; then
2217 - doman svn-fe.1
2218 - docinto html
2219 - dodoc svn-fe.html
2220 - fi
2221 - cd "${S}"
2222 - fi
2223 -
2224 - dodir /usr/share/${PN}/contrib
2225 - # The following are excluded:
2226 - # completion - installed above
2227 - # diff-highlight - done above
2228 - # emacs - installed above
2229 - # examples - these are stuff that is not used in Git anymore actually
2230 - # git-jump - done above
2231 - # gitview - installed above
2232 - # p4import - excluded because fast-import has a better one
2233 - # patches - stuff the Git guys made to go upstream to other places
2234 - # persistent-https - TODO
2235 - # mw-to-git - TODO
2236 - # subtree - build seperately
2237 - # svnimport - use git-svn
2238 - # thunderbird-patch-inline - fixes thunderbird
2239 - local contrib_objects=(
2240 - buildsystems
2241 - fast-import
2242 - hg-to-git
2243 - hooks
2244 - remotes2config.sh
2245 - rerere-train.sh
2246 - stats
2247 - workdir
2248 - )
2249 - for i in "${contrib_objects[@]}" ; do
2250 - cp -rf \
2251 - "${S}"/contrib/${i} \
2252 - "${ED}"/usr/share/${PN}/contrib \
2253 - || die "Failed contrib ${i}"
2254 - done
2255 -
2256 - if use perl && use cgi ; then
2257 - # We used to install in /usr/share/${PN}/gitweb
2258 - # but upstream installs in /usr/share/gitweb
2259 - # so we will install a symlink and use their location for compat with other
2260 - # distros
2261 - dosym /usr/share/gitweb /usr/share/${PN}/gitweb
2262 -
2263 - # INSTALL discusses configuration issues, not just installation
2264 - docinto /
2265 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
2266 - newdoc "${S}"/gitweb/README README.gitweb
2267 -
2268 - for d in "${ED}"/usr/lib{64,}/perl5/ ; do
2269 - if test -d "$d" ; then find "$d" \
2270 - -name .packlist \
2271 - -delete || die
2272 - fi
2273 - done
2274 - else
2275 - rm -rf "${ED}"/usr/share/gitweb
2276 - fi
2277 -
2278 - if ! use subversion ; then
2279 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
2280 - "${ED}"/usr/share/man/man1/git-svn.1*
2281 - fi
2282 -
2283 - if use xinetd ; then
2284 - insinto /etc/xinetd.d
2285 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
2286 - fi
2287 -
2288 - if use !prefix ; then
2289 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
2290 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
2291 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
2292 - systemd_dounit "${FILESDIR}/git-daemon.socket"
2293 - fi
2294 -
2295 - perl_delete_localpod
2296 -
2297 - # Remove disabled linguas
2298 - # we could remove sources in src_prepare, but install does not
2299 - # handle missing locale dir well
2300 - rm_loc() {
2301 - if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
2302 - rm -r "${ED}/usr/share/locale/${1}" || die
2303 - fi
2304 - }
2305 - l10n_for_each_disabled_locale_do rm_loc
2306 -}
2307 -
2308 -src_test() {
2309 - local disabled=""
2310 - local tests_cvs="t9200-git-cvsexportcommit.sh \
2311 - t9400-git-cvsserver-server.sh \
2312 - t9401-git-cvsserver-crlf.sh \
2313 - t9402-git-cvsserver-refs.sh \
2314 - t9600-cvsimport.sh \
2315 - t9601-cvsimport-vendor-branch.sh \
2316 - t9602-cvsimport-branches-tags.sh \
2317 - t9603-cvsimport-patchsets.sh \
2318 - t9604-cvsimport-timestamps.sh"
2319 - local tests_perl="t3701-add-interactive.sh \
2320 - t5502-quickfetch.sh \
2321 - t5512-ls-remote.sh \
2322 - t5520-pull.sh \
2323 - t7106-reset-unborn-branch.sh \
2324 - t7501-commit.sh"
2325 - # Bug #225601 - t0004 is not suitable for root perm
2326 - # Bug #219839 - t1004 is not suitable for root perm
2327 - # t0001-init.sh - check for init notices EPERM* fails
2328 - local tests_nonroot="t0001-init.sh \
2329 - t0004-unwritable.sh \
2330 - t0070-fundamental.sh \
2331 - t1004-read-tree-m-u-wf.sh \
2332 - t3700-add.sh \
2333 - t7300-clean.sh"
2334 - # t9100 still fails with symlinks in SVN 1.7
2335 - local test_svn="t9100-git-svn-basic.sh"
2336 -
2337 - # Unzip is used only for the testcase code, not by any normal parts of Git.
2338 - if ! has_version app-arch/unzip ; then
2339 - einfo "Disabling tar-tree tests"
2340 - disabled+=" t5000-tar-tree.sh"
2341 - fi
2342 -
2343 - cvs=0
2344 - use cvs && let cvs=$cvs+1
2345 - if [[ ${EUID} -eq 0 ]]; then
2346 - if [[ $cvs -eq 1 ]]; then
2347 - ewarn "Skipping CVS tests because CVS does not work as root!"
2348 - ewarn "You should retest with FEATURES=userpriv!"
2349 - disabled+=" ${tests_cvs}"
2350 - fi
2351 - einfo "Skipping other tests that require being non-root"
2352 - disabled+=" ${tests_nonroot}"
2353 - else
2354 - [[ $cvs -gt 0 ]] && \
2355 - has_version dev-vcs/cvs && \
2356 - let cvs=$cvs+1
2357 - [[ $cvs -gt 1 ]] && \
2358 - has_version "dev-vcs/cvs[server]" && \
2359 - let cvs=$cvs+1
2360 - if [[ $cvs -lt 3 ]]; then
2361 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
2362 - disabled+=" ${tests_cvs}"
2363 - fi
2364 - fi
2365 -
2366 - if ! use perl ; then
2367 - einfo "Disabling tests that need Perl"
2368 - disabled+=" ${tests_perl}"
2369 - fi
2370 -
2371 - einfo "Disabling tests that fail with SVN 1.7"
2372 - disabled+=" ${test_svn}"
2373 -
2374 - # Reset all previously disabled tests
2375 - cd "${S}/t"
2376 - for i in *.sh.DISABLED ; do
2377 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
2378 - done
2379 - einfo "Disabled tests:"
2380 - for i in ${disabled} ; do
2381 - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
2382 - done
2383 -
2384 - # Avoid the test system removing the results because we want them ourselves
2385 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
2386 - -i "${S}"/t/Makefile
2387 -
2388 - # Clean old results first, must always run
2389 - cd "${S}/t"
2390 - nonfatal git_emake clean
2391 -
2392 - # Now run the tests, keep going if we hit an error, and don't terminate on
2393 - # failure
2394 - cd "${S}"
2395 - einfo "Start test run"
2396 - #MAKEOPTS=-j1
2397 - nonfatal git_emake --keep-going test
2398 - rc=$?
2399 -
2400 - # Display nice results, now print the results
2401 - cd "${S}/t"
2402 - nonfatal git_emake aggregate-results
2403 -
2404 - # And bail if there was a problem
2405 - [ $rc -eq 0 ] || die "tests failed. Please file a bug."
2406 -}
2407 -
2408 -showpkgdeps() {
2409 - local pkg=$1
2410 - shift
2411 - elog " $(printf "%-17s:" ${pkg}) ${@}"
2412 -}
2413 -
2414 -pkg_postinst() {
2415 - use emacs && elisp-site-regen
2416 - elog "Please read /usr/share/bash-completion/git for Git bash command completion"
2417 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
2418 - elog "Note that the prompt bash code is now in that separate script"
2419 - elog "These additional scripts need some dependencies:"
2420 - echo
2421 - showpkgdeps git-quiltimport "dev-util/quilt"
2422 - showpkgdeps git-instaweb \
2423 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
2424 - echo
2425 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
2426 -}
2427 -
2428 -pkg_postrm() {
2429 - use emacs && elisp-site-regen
2430 -}
2431
2432 diff --git a/dev-vcs/git/git-2.18.0.ebuild b/dev-vcs/git/git-2.18.0.ebuild
2433 deleted file mode 100644
2434 index 2ed7063c51c..00000000000
2435 --- a/dev-vcs/git/git-2.18.0.ebuild
2436 +++ /dev/null
2437 @@ -1,715 +0,0 @@
2438 -# Copyright 1999-2018 Gentoo Authors
2439 -# Distributed under the terms of the GNU General Public License v2
2440 -
2441 -EAPI=6
2442 -
2443 -GENTOO_DEPEND_ON_PERL=no
2444 -
2445 -# bug #329479: git-remote-testgit is not multiple-version aware
2446 -PYTHON_COMPAT=( python2_7 )
2447 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
2448 -if [[ ${PV} == *9999 ]]; then
2449 - SCM="git-r3"
2450 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
2451 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
2452 - # See https://git-scm.com/docs/gitworkflows#_graduation
2453 - # In order of stability:
2454 - # 9999-r0: maint
2455 - # 9999-r1: master
2456 - # 9999-r2: next
2457 - # 9999-r3: pu
2458 - case "${PVR}" in
2459 - 9999) EGIT_BRANCH=maint ;;
2460 - 9999-r1) EGIT_BRANCH=master ;;
2461 - 9999-r2) EGIT_BRANCH=next;;
2462 - 9999-r3) EGIT_BRANCH=pu ;;
2463 - esac
2464 -fi
2465 -
2466 -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
2467 -
2468 -MY_PV="${PV/_rc/.rc}"
2469 -MY_P="${PN}-${MY_PV}"
2470 -
2471 -DOC_VER=${MY_PV}
2472 -
2473 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
2474 -HOMEPAGE="https://www.git-scm.com/"
2475 -if [[ ${PV} != *9999 ]]; then
2476 - SRC_URI_SUFFIX="xz"
2477 - SRC_URI_KORG="mirror://kernel/software/scm/git"
2478 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
2479 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
2480 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2481 - doc? (
2482 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2483 - )"
2484 - [[ "${PV}" = *_rc* ]] || \
2485 - KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
2486 -fi
2487 -
2488 -LICENSE="GPL-2"
2489 -SLOT="0"
2490 -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
2491 -
2492 -# Common to both DEPEND and RDEPEND
2493 -CDEPEND="
2494 - gnome-keyring? ( app-crypt/libsecret )
2495 - !libressl? ( dev-libs/openssl:0= )
2496 - libressl? ( dev-libs/libressl:= )
2497 - sys-libs/zlib
2498 - pcre? (
2499 - pcre-jit? ( dev-libs/libpcre2[jit(+)] )
2500 - !pcre-jit? ( dev-libs/libpcre )
2501 - )
2502 - perl? ( dev-lang/perl:=[-build(-)] )
2503 - tk? ( dev-lang/tk:0= )
2504 - curl? (
2505 - net-misc/curl
2506 - webdav? ( dev-libs/expat )
2507 - )
2508 - emacs? ( virtual/emacs )
2509 -"
2510 -
2511 -RDEPEND="${CDEPEND}
2512 - gpg? ( app-crypt/gnupg )
2513 - perl? (
2514 - dev-perl/Error
2515 - dev-perl/MailTools
2516 - dev-perl/Net-SMTP-SSL
2517 - dev-perl/Authen-SASL
2518 - cgi? (
2519 - dev-perl/CGI
2520 - highlight? ( app-text/highlight )
2521 - )
2522 - cvs? (
2523 - >=dev-vcs/cvsps-2.1:0
2524 - dev-perl/DBI
2525 - dev-perl/DBD-SQLite
2526 - )
2527 - mediawiki? (
2528 - dev-perl/DateTime-Format-ISO8601
2529 - dev-perl/HTML-Tree
2530 - dev-perl/MediaWiki-API
2531 - )
2532 - subversion? (
2533 - dev-vcs/subversion[-dso,perl]
2534 - dev-perl/libwww-perl
2535 - dev-perl/TermReadKey
2536 - )
2537 - )
2538 - python? ( ${PYTHON_DEPS} )
2539 -"
2540 -
2541 -# This is how info docs are created with Git:
2542 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
2543 -# .xml/docbook --(docbook2texi.pl)--> .texi
2544 -# .texi --(makeinfo)---------> .info
2545 -DEPEND="${CDEPEND}
2546 - doc? (
2547 - app-text/asciidoc
2548 - app-text/docbook2X
2549 - sys-apps/texinfo
2550 - app-text/xmlto
2551 - )
2552 - nls? ( sys-devel/gettext )
2553 - test? ( app-crypt/gnupg )"
2554 -
2555 -# Live ebuild builds man pages and HTML docs, additionally
2556 -if [[ ${PV} == *9999 ]]; then
2557 - DEPEND="${DEPEND}
2558 - app-text/asciidoc"
2559 -fi
2560 -
2561 -SITEFILE="50${PN}-gentoo.el"
2562 -S="${WORKDIR}/${MY_P}"
2563 -
2564 -REQUIRED_USE="
2565 - cgi? ( perl )
2566 - cvs? ( perl )
2567 - mediawiki? ( perl )
2568 - mediawiki-experimental? ( mediawiki )
2569 - subversion? ( perl )
2570 - webdav? ( curl )
2571 - pcre-jit? ( pcre )
2572 - python? ( ${PYTHON_REQUIRED_USE} )
2573 -"
2574 -
2575 -PATCHES=(
2576 - # bug #350330 - automagic CVS when we don't want it is bad.
2577 - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
2578 -
2579 - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
2580 -
2581 - # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
2582 - "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
2583 -)
2584 -
2585 -pkg_setup() {
2586 - if use subversion && has_version "dev-vcs/subversion[dso]"; then
2587 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
2588 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
2589 - ewarn "have been warned."
2590 - fi
2591 - if use python ; then
2592 - python-single-r1_pkg_setup
2593 - fi
2594 -}
2595 -
2596 -# This is needed because for some obscure reasons future calls to make don't
2597 -# pick up these exports if we export them in src_unpack()
2598 -exportmakeopts() {
2599 - local myopts=(
2600 - ASCIIDOC_NO_ROFF=YesPlease
2601 - $(usex cvs '' NO_CVS=YesPlease)
2602 - $(usex elibc_musl NO_REGEX=YesPlease '')
2603 - $(usex iconv '' NO_ICONV=YesPlease)
2604 - $(usex nls '' NO_GETTEXT=YesPlease)
2605 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
2606 - $(usex python '' NO_PYTHON=YesPlease)
2607 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
2608 - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
2609 - $(usex tk '' NO_TCLTK=YesPlease)
2610 - )
2611 -
2612 - if use blksha1 ; then
2613 - myopts+=( BLK_SHA1=YesPlease )
2614 - elif use ppcsha1 ; then
2615 - myopts+=( PPC_SHA1=YesPlease )
2616 - fi
2617 -
2618 - if use curl ; then
2619 - use webdav || myopts+=( NO_EXPAT=YesPlease )
2620 - else
2621 - myopts+=( NO_CURL=YesPlease )
2622 - fi
2623 -
2624 - # broken assumptions, because of static build system ...
2625 - myopts+=(
2626 - NO_FINK=YesPlease
2627 - NO_DARWIN_PORTS=YesPlease
2628 - INSTALL=install
2629 - TAR=tar
2630 - SHELL_PATH="${EPREFIX}/bin/sh"
2631 - SANE_TOOL_PATH=
2632 - OLD_ICONV=
2633 - NO_EXTERNAL_GREP=
2634 - )
2635 -
2636 - # For svn-fe
2637 - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
2638 -
2639 - # can't define this to null, since the entire makefile depends on it
2640 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
2641 -
2642 - if use pcre; then
2643 - if use pcre-jit; then
2644 - myopts+=( USE_LIBPCRE2=YesPlease )
2645 - extlibs+=" -lpcre2-8"
2646 - else
2647 - myopts+=(
2648 - USE_LIBPCRE1=YesPlease
2649 - NO_LIBPCRE1_JIT=YesPlease
2650 - )
2651 - extlibs+=" -lpcre"
2652 - fi
2653 - fi
2654 -# Disabled until ~m68k-mint can be keyworded again
2655 -# if [[ ${CHOST} == *-mint* ]] ; then
2656 -# myopts+=(
2657 -# NO_MMAP=YesPlease
2658 -# NO_IPV6=YesPlease
2659 -# NO_STRLCPY=YesPlease
2660 -# NO_MEMMEM=YesPlease
2661 -# NO_MKDTEMP=YesPlease
2662 -# NO_MKSTEMPS=YesPlease
2663 -# )
2664 -# fi
2665 - if [[ ${CHOST} == ia64-*-hpux* ]]; then
2666 - myopts+=( NO_NSEC=YesPlease )
2667 - fi
2668 - if [[ ${CHOST} == *-*-aix* ]]; then
2669 - myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
2670 - fi
2671 - if [[ ${CHOST} == *-solaris* ]]; then
2672 - myopts+=(
2673 - NEEDS_LIBICONV=YesPlease
2674 - HAVE_CLOCK_MONOTONIC=1
2675 - )
2676 - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
2677 - myopts+=( HAVE_GETDELIM=1 )
2678 - fi
2679 -
2680 - has_version '>=app-text/asciidoc-8.0' \
2681 - && myopts+=( ASCIIDOC8=YesPlease )
2682 -
2683 - # Bug 290465:
2684 - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
2685 - [[ "${CHOST}" == *-uclibc* ]] && \
2686 - myopts+=( NO_NSEC=YesPlease )
2687 -
2688 - export MY_MAKEOPTS="${myopts[@]}"
2689 - export EXTLIBS="${extlibs}"
2690 -}
2691 -
2692 -src_unpack() {
2693 - if [[ ${PV} != *9999 ]]; then
2694 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
2695 - cd "${S}" || die
2696 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2697 - if use doc ; then
2698 - pushd "${S}"/Documentation &>/dev/null || die
2699 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2700 - popd &>/dev/null || die
2701 - fi
2702 - else
2703 - git-r3_src_unpack
2704 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
2705 - fi
2706 -
2707 -}
2708 -
2709 -src_prepare() {
2710 - # add experimental patches to improve mediawiki support
2711 - # see patches for origin
2712 - if use mediawiki-experimental ; then
2713 - PATCHES+=(
2714 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
2715 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
2716 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
2717 - )
2718 - fi
2719 -
2720 - default
2721 -
2722 - sed -i \
2723 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
2724 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
2725 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
2726 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
2727 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2728 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2729 - Makefile contrib/svn-fe/Makefile || die
2730 -
2731 - # Fix docbook2texi command
2732 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
2733 - Documentation/Makefile || die
2734 -
2735 - # Fix git-subtree missing DESTDIR
2736 - sed -i \
2737 - -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
2738 - -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
2739 - contrib/subtree/Makefile || die
2740 -}
2741 -
2742 -git_emake() {
2743 - # bug #320647: PYTHON_PATH
2744 - local PYTHON_PATH=""
2745 - use python && PYTHON_PATH="${PYTHON}"
2746 - emake ${MY_MAKEOPTS} \
2747 - prefix="${EPREFIX}"/usr \
2748 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
2749 - perllibdir="$(perl_get_raw_vendorlib)" \
2750 - sysconfdir="${EPREFIX}"/etc \
2751 - DESTDIR="${D}" \
2752 - GIT_TEST_OPTS="--no-color" \
2753 - OPTAR="$(tc-getAR)" \
2754 - OPTCC="$(tc-getCC)" \
2755 - OPTCFLAGS="${CFLAGS}" \
2756 - OPTLDFLAGS="${LDFLAGS}" \
2757 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
2758 - PERL_MM_OPT="" \
2759 - PYTHON_PATH="${PYTHON_PATH}" \
2760 - V=1 \
2761 - "$@"
2762 -}
2763 -
2764 -src_configure() {
2765 - exportmakeopts
2766 -}
2767 -
2768 -src_compile() {
2769 - git_emake || die "emake failed"
2770 -
2771 - if use emacs ; then
2772 - elisp-compile contrib/emacs/git{,-blame}.el
2773 - fi
2774 -
2775 - if use perl && use cgi ; then
2776 - git_emake \
2777 - gitweb \
2778 - || die "emake gitweb (cgi) failed"
2779 - fi
2780 -
2781 - if [[ ${CHOST} == *-darwin* ]]; then
2782 - pushd contrib/credential/osxkeychain &>/dev/null || die
2783 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
2784 - || die "emake credential-osxkeychain"
2785 - popd &>/dev/null || die
2786 - fi
2787 -
2788 - pushd Documentation &>/dev/null || die
2789 - if [[ ${PV} == *9999 ]] ; then
2790 - git_emake man \
2791 - || die "emake man failed"
2792 - if use doc ; then
2793 - git_emake info html \
2794 - || die "emake info html failed"
2795 - fi
2796 - else
2797 - if use doc ; then
2798 - git_emake info \
2799 - || die "emake info html failed"
2800 - fi
2801 - fi
2802 - popd &>/dev/null || die
2803 -
2804 - if use subversion ; then
2805 - pushd contrib/svn-fe &>/dev/null || die
2806 - # by defining EXTLIBS we override the detection for libintl and
2807 - # libiconv, bug #516168
2808 - local nlsiconv=
2809 - use nls && use !elibc_glibc && nlsiconv+=" -lintl"
2810 - use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
2811 - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
2812 - if use doc ; then
2813 - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
2814 - fi
2815 - popd &>/dev/null || die
2816 - fi
2817 -
2818 - if use gnome-keyring ; then
2819 - pushd contrib/credential/libsecret &>/dev/null || die
2820 - git_emake || die "emake git-credential-libsecret failed"
2821 - popd &>/dev/null || die
2822 - fi
2823 -
2824 - pushd contrib/subtree &>/dev/null || die
2825 - git_emake
2826 - use doc && git_emake doc
2827 - popd &>/dev/null || die
2828 -
2829 - pushd contrib/diff-highlight &>/dev/null || die
2830 - git_emake
2831 - popd &>/dev/null || die
2832 -
2833 - if use mediawiki ; then
2834 - pushd contrib/mw-to-git &>/dev/null || die
2835 - git_emake
2836 - popd &>/dev/null || die
2837 -
2838 - fi
2839 -}
2840 -
2841 -src_install() {
2842 - git_emake \
2843 - install || \
2844 - die "make install failed"
2845 -
2846 - if [[ ${CHOST} == *-darwin* ]]; then
2847 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
2848 - fi
2849 -
2850 - # Depending on the tarball and manual rebuild of the documentation, the
2851 - # manpages may exist in either OR both of these directories.
2852 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
2853 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
2854 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
2855 - use doc && dodir /usr/share/doc/${PF}/html
2856 - for d in / /howto/ /technical/ ; do
2857 - docinto ${d}
2858 - dodoc Documentation${d}*.txt
2859 - if use doc ; then
2860 - docinto ${d}/html
2861 - dodoc Documentation${d}*.html
2862 - fi
2863 - done
2864 - docinto /
2865 - # Upstream does not ship this pre-built :-(
2866 - use doc && doinfo Documentation/{git,gitman}.info
2867 -
2868 - newbashcomp contrib/completion/git-completion.bash ${PN}
2869 - bashcomp_alias git gitk
2870 - # Not really a bash-completion file (bug #477920)
2871 - # but still needed uncompressed (bug #507480)
2872 - insinto /usr/share/${PN}
2873 - doins contrib/completion/git-prompt.sh
2874 -
2875 - if use emacs ; then
2876 - elisp-install ${PN} contrib/emacs/git.{el,elc}
2877 - elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
2878 - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
2879 - # don't add automatically to the load-path, so the sitefile
2880 - # can do a conditional loading
2881 - touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
2882 - elisp-site-file-install "${FILESDIR}"/${SITEFILE}
2883 - fi
2884 -
2885 - #dobin contrib/fast-import/git-p4 # Moved upstream
2886 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
2887 - newbin contrib/fast-import/import-tars.perl import-tars
2888 - exeinto /usr/libexec/git-core/
2889 - newexe contrib/git-resurrect.sh git-resurrect
2890 -
2891 - # git-subtree
2892 - pushd contrib/subtree &>/dev/null || die
2893 - git_emake install || die "Failed to emake install git-subtree"
2894 - if use doc ; then
2895 - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
2896 - fi
2897 - newdoc README README.git-subtree
2898 - dodoc git-subtree.txt
2899 - popd &>/dev/null || die
2900 -
2901 - if use mediawiki ; then
2902 - pushd contrib/mw-to-git &>/dev/null || die
2903 - git_emake install
2904 - popd &>/dev/null || die
2905 - fi
2906 -
2907 - # diff-highlight
2908 - dobin contrib/diff-highlight/diff-highlight
2909 - newdoc contrib/diff-highlight/README README.diff-highlight
2910 -
2911 - # git-jump
2912 - exeinto /usr/libexec/git-core/
2913 - doexe contrib/git-jump/git-jump
2914 - newdoc contrib/git-jump/README git-jump.txt
2915 -
2916 - # git-contacts
2917 - exeinto /usr/libexec/git-core/
2918 - doexe contrib/contacts/git-contacts
2919 - dodoc contrib/contacts/git-contacts.txt
2920 -
2921 - if use gnome-keyring ; then
2922 - pushd contrib/credential/libsecret &>/dev/null || die
2923 - dobin git-credential-libsecret
2924 - popd &>/dev/null || die
2925 - fi
2926 -
2927 - if use subversion ; then
2928 - pushd contrib/svn-fe &>/dev/null || die
2929 - dobin svn-fe
2930 - dodoc svn-fe.txt
2931 - if use doc ; then
2932 - doman svn-fe.1
2933 - docinto html
2934 - dodoc svn-fe.html
2935 - fi
2936 - popd &>/dev/null || die
2937 - fi
2938 -
2939 - dodir /usr/share/${PN}/contrib
2940 - # The following are excluded:
2941 - # completion - installed above
2942 - # diff-highlight - done above
2943 - # emacs - installed above
2944 - # examples - these are stuff that is not used in Git anymore actually
2945 - # git-jump - done above
2946 - # gitview - installed above
2947 - # p4import - excluded because fast-import has a better one
2948 - # patches - stuff the Git guys made to go upstream to other places
2949 - # persistent-https - TODO
2950 - # mw-to-git - TODO
2951 - # subtree - build seperately
2952 - # svnimport - use git-svn
2953 - # thunderbird-patch-inline - fixes thunderbird
2954 - local contrib_objects=(
2955 - buildsystems
2956 - fast-import
2957 - hg-to-git
2958 - hooks
2959 - remotes2config.sh
2960 - rerere-train.sh
2961 - stats
2962 - workdir
2963 - )
2964 - for i in "${contrib_objects[@]}" ; do
2965 - cp -rf \
2966 - "${S}"/contrib/${i} \
2967 - "${ED%/}"/usr/share/${PN}/contrib \
2968 - || die "Failed contrib ${i}"
2969 - done
2970 -
2971 - if use perl && use cgi ; then
2972 - # We used to install in /usr/share/${PN}/gitweb
2973 - # but upstream installs in /usr/share/gitweb
2974 - # so we will install a symlink and use their location for compat with other
2975 - # distros
2976 - dosym /usr/share/gitweb /usr/share/${PN}/gitweb
2977 -
2978 - # INSTALL discusses configuration issues, not just installation
2979 - docinto /
2980 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
2981 - newdoc "${S}"/gitweb/README README.gitweb
2982 -
2983 - for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
2984 - if test -d "$d" ; then find "$d" \
2985 - -name .packlist \
2986 - -delete || die
2987 - fi
2988 - done
2989 - else
2990 - rm -rf "${ED%/}"/usr/share/gitweb
2991 - fi
2992 -
2993 - if ! use subversion ; then
2994 - rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
2995 - "${ED%/}"/usr/share/man/man1/git-svn.1*
2996 - fi
2997 -
2998 - if use xinetd ; then
2999 - insinto /etc/xinetd.d
3000 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
3001 - fi
3002 -
3003 - if use !prefix ; then
3004 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
3005 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
3006 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
3007 - systemd_dounit "${FILESDIR}/git-daemon.socket"
3008 - fi
3009 -
3010 - perl_delete_localpod
3011 -
3012 - # Remove disabled linguas
3013 - # we could remove sources in src_prepare, but install does not
3014 - # handle missing locale dir well
3015 - rm_loc() {
3016 - if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
3017 - rm -r "${ED%/}/usr/share/locale/${1}" || die
3018 - fi
3019 - }
3020 - l10n_for_each_disabled_locale_do rm_loc
3021 -}
3022 -
3023 -src_test() {
3024 - local disabled=()
3025 - local tests_cvs=(
3026 - t9200-git-cvsexportcommit.sh
3027 - t9400-git-cvsserver-server.sh
3028 - t9401-git-cvsserver-crlf.sh
3029 - t9402-git-cvsserver-refs.sh
3030 - t9600-cvsimport.sh
3031 - t9601-cvsimport-vendor-branch.sh
3032 - t9602-cvsimport-branches-tags.sh
3033 - t9603-cvsimport-patchsets.sh
3034 - t9604-cvsimport-timestamps.sh
3035 - )
3036 - local tests_perl=(
3037 - t3701-add-interactive.sh
3038 - t5502-quickfetch.sh
3039 - t5512-ls-remote.sh
3040 - t5520-pull.sh
3041 - t7106-reset-unborn-branch.sh
3042 - t7501-commit.sh
3043 - )
3044 - # Bug #225601 - t0004 is not suitable for root perm
3045 - # Bug #219839 - t1004 is not suitable for root perm
3046 - # t0001-init.sh - check for init notices EPERM* fails
3047 - local tests_nonroot=(
3048 - t0001-init.sh
3049 - t0004-unwritable.sh
3050 - t0070-fundamental.sh
3051 - t1004-read-tree-m-u-wf.sh
3052 - t3700-add.sh
3053 - t7300-clean.sh
3054 - )
3055 - # t9100 still fails with symlinks in SVN 1.7
3056 - local test_svn=( t9100-git-svn-basic.sh )
3057 -
3058 - # Unzip is used only for the testcase code, not by any normal parts of Git.
3059 - if ! has_version app-arch/unzip ; then
3060 - einfo "Disabling tar-tree tests"
3061 - disabled+=( t5000-tar-tree.sh )
3062 - fi
3063 -
3064 - local cvs=0
3065 - use cvs && let cvs=${cvs}+1
3066 - if [[ ${EUID} -eq 0 ]]; then
3067 - if [[ ${cvs} -eq 1 ]]; then
3068 - ewarn "Skipping CVS tests because CVS does not work as root!"
3069 - ewarn "You should retest with FEATURES=userpriv!"
3070 - disabled+=( ${tests_cvs[@]} )
3071 - fi
3072 - einfo "Skipping other tests that require being non-root"
3073 - disabled+=( ${tests_nonroot[@]} )
3074 - else
3075 - [[ ${cvs} -gt 0 ]] && \
3076 - has_version dev-vcs/cvs && \
3077 - let cvs=${cvs}+1
3078 - [[ ${cvs} -gt 1 ]] && \
3079 - has_version "dev-vcs/cvs[server]" && \
3080 - let cvs=${cvs}+1
3081 - if [[ ${cvs} -lt 3 ]]; then
3082 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
3083 - disabled+=( ${tests_cvs[@]} )
3084 - fi
3085 - fi
3086 -
3087 - if ! use perl ; then
3088 - einfo "Disabling tests that need Perl"
3089 - disabled+=( ${tests_perl[@]} )
3090 - fi
3091 -
3092 - einfo "Disabling tests that fail with SVN 1.7"
3093 - disabled+=( ${test_svn[@]} )
3094 -
3095 - # Reset all previously disabled tests
3096 - pushd t &>/dev/null || die
3097 - local i
3098 - for i in *.sh.DISABLED ; do
3099 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
3100 - done
3101 - einfo "Disabled tests:"
3102 - for i in ${disabled[@]} ; do
3103 - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
3104 - done
3105 -
3106 - # Avoid the test system removing the results because we want them ourselves
3107 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
3108 - -i Makefile || die
3109 -
3110 - # Clean old results first, must always run
3111 - nonfatal git_emake clean
3112 - popd &>/dev/null || die
3113 -
3114 - # Now run the tests, keep going if we hit an error, and don't terminate on
3115 - # failure
3116 - local rc
3117 - einfo "Start test run"
3118 - #MAKEOPTS=-j1
3119 - nonfatal git_emake --keep-going test
3120 - rc=$?
3121 -
3122 - # Display nice results, now print the results
3123 - pushd t &>/dev/null || die
3124 - nonfatal git_emake aggregate-results
3125 -
3126 - # And bail if there was a problem
3127 - [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
3128 -}
3129 -
3130 -showpkgdeps() {
3131 - local pkg=$1
3132 - shift
3133 - elog " $(printf "%-17s:" ${pkg}) ${@}"
3134 -}
3135 -
3136 -pkg_postinst() {
3137 - use emacs && elisp-site-regen
3138 - elog "Please read /usr/share/bash-completion/git for Git bash command completion"
3139 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
3140 - elog "Note that the prompt bash code is now in that separate script"
3141 - elog "These additional scripts need some dependencies:"
3142 - echo
3143 - showpkgdeps git-quiltimport "dev-util/quilt"
3144 - showpkgdeps git-instaweb \
3145 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
3146 - echo
3147 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
3148 -}
3149 -
3150 -pkg_postrm() {
3151 - use emacs && elisp-site-regen
3152 -}
3153
3154 diff --git a/dev-vcs/git/git-2.19.0.ebuild b/dev-vcs/git/git-2.19.0.ebuild
3155 deleted file mode 100644
3156 index f26b6776b94..00000000000
3157 --- a/dev-vcs/git/git-2.19.0.ebuild
3158 +++ /dev/null
3159 @@ -1,706 +0,0 @@
3160 -# Copyright 1999-2018 Gentoo Foundation
3161 -# Distributed under the terms of the GNU General Public License v2
3162 -
3163 -EAPI=6
3164 -
3165 -GENTOO_DEPEND_ON_PERL=no
3166 -
3167 -# bug #329479: git-remote-testgit is not multiple-version aware
3168 -PYTHON_COMPAT=( python2_7 )
3169 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
3170 -if [[ ${PV} == *9999 ]]; then
3171 - SCM="git-r3"
3172 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
3173 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
3174 - # See https://git-scm.com/docs/gitworkflows#_graduation
3175 - # In order of stability:
3176 - # 9999-r0: maint
3177 - # 9999-r1: master
3178 - # 9999-r2: next
3179 - # 9999-r3: pu
3180 - case "${PVR}" in
3181 - 9999) EGIT_BRANCH=maint ;;
3182 - 9999-r1) EGIT_BRANCH=master ;;
3183 - 9999-r2) EGIT_BRANCH=next;;
3184 - 9999-r3) EGIT_BRANCH=pu ;;
3185 - esac
3186 -fi
3187 -
3188 -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
3189 -
3190 -MY_PV="${PV/_rc/.rc}"
3191 -MY_P="${PN}-${MY_PV}"
3192 -
3193 -DOC_VER=${MY_PV}
3194 -
3195 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
3196 -HOMEPAGE="https://www.git-scm.com/"
3197 -if [[ ${PV} != *9999 ]]; then
3198 - SRC_URI_SUFFIX="xz"
3199 - SRC_URI_KORG="mirror://kernel/software/scm/git"
3200 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
3201 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
3202 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3203 - doc? (
3204 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3205 - )"
3206 - [[ "${PV}" = *_rc* ]] || \
3207 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
3208 -fi
3209 -
3210 -LICENSE="GPL-2"
3211 -SLOT="0"
3212 -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
3213 -
3214 -# Common to both DEPEND and RDEPEND
3215 -CDEPEND="
3216 - gnome-keyring? ( app-crypt/libsecret )
3217 - !libressl? ( dev-libs/openssl:0= )
3218 - libressl? ( dev-libs/libressl:= )
3219 - sys-libs/zlib
3220 - pcre? (
3221 - pcre-jit? ( dev-libs/libpcre2[jit(+)] )
3222 - !pcre-jit? ( dev-libs/libpcre )
3223 - )
3224 - perl? ( dev-lang/perl:=[-build(-)] )
3225 - tk? ( dev-lang/tk:0= )
3226 - curl? (
3227 - net-misc/curl
3228 - webdav? ( dev-libs/expat )
3229 - )
3230 - emacs? ( virtual/emacs )
3231 -"
3232 -
3233 -RDEPEND="${CDEPEND}
3234 - gpg? ( app-crypt/gnupg )
3235 - perl? (
3236 - dev-perl/Error
3237 - dev-perl/MailTools
3238 - dev-perl/Net-SMTP-SSL
3239 - dev-perl/Authen-SASL
3240 - cgi? (
3241 - dev-perl/CGI
3242 - highlight? ( app-text/highlight )
3243 - )
3244 - cvs? (
3245 - >=dev-vcs/cvsps-2.1:0
3246 - dev-perl/DBI
3247 - dev-perl/DBD-SQLite
3248 - )
3249 - mediawiki? (
3250 - dev-perl/DateTime-Format-ISO8601
3251 - dev-perl/HTML-Tree
3252 - dev-perl/MediaWiki-API
3253 - )
3254 - subversion? (
3255 - dev-vcs/subversion[-dso,perl]
3256 - dev-perl/libwww-perl
3257 - dev-perl/TermReadKey
3258 - )
3259 - )
3260 - python? ( ${PYTHON_DEPS} )
3261 -"
3262 -
3263 -# This is how info docs are created with Git:
3264 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
3265 -# .xml/docbook --(docbook2texi.pl)--> .texi
3266 -# .texi --(makeinfo)---------> .info
3267 -DEPEND="${CDEPEND}
3268 - doc? (
3269 - app-text/asciidoc
3270 - app-text/docbook2X
3271 - sys-apps/texinfo
3272 - app-text/xmlto
3273 - )
3274 - nls? ( sys-devel/gettext )
3275 - test? ( app-crypt/gnupg )"
3276 -
3277 -# Live ebuild builds man pages and HTML docs, additionally
3278 -if [[ ${PV} == *9999 ]]; then
3279 - DEPEND="${DEPEND}
3280 - app-text/asciidoc"
3281 -fi
3282 -
3283 -SITEFILE="50${PN}-gentoo.el"
3284 -S="${WORKDIR}/${MY_P}"
3285 -
3286 -REQUIRED_USE="
3287 - cgi? ( perl )
3288 - cvs? ( perl )
3289 - mediawiki? ( perl )
3290 - mediawiki-experimental? ( mediawiki )
3291 - subversion? ( perl )
3292 - webdav? ( curl )
3293 - pcre-jit? ( pcre )
3294 - python? ( ${PYTHON_REQUIRED_USE} )
3295 -"
3296 -
3297 -PATCHES=(
3298 - # bug #350330 - automagic CVS when we don't want it is bad.
3299 - "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
3300 -
3301 - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
3302 -)
3303 -
3304 -pkg_setup() {
3305 - if use subversion && has_version "dev-vcs/subversion[dso]"; then
3306 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
3307 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
3308 - ewarn "have been warned."
3309 - fi
3310 - if use python ; then
3311 - python-single-r1_pkg_setup
3312 - fi
3313 -}
3314 -
3315 -# This is needed because for some obscure reasons future calls to make don't
3316 -# pick up these exports if we export them in src_unpack()
3317 -exportmakeopts() {
3318 - local myopts=(
3319 - ASCIIDOC_NO_ROFF=YesPlease
3320 - $(usex cvs '' NO_CVS=YesPlease)
3321 - $(usex elibc_musl NO_REGEX=YesPlease '')
3322 - $(usex iconv '' NO_ICONV=YesPlease)
3323 - $(usex nls '' NO_GETTEXT=YesPlease)
3324 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
3325 - $(usex python '' NO_PYTHON=YesPlease)
3326 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
3327 - $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
3328 - $(usex tk '' NO_TCLTK=YesPlease)
3329 - )
3330 -
3331 - if use blksha1 ; then
3332 - myopts+=( BLK_SHA1=YesPlease )
3333 - elif use ppcsha1 ; then
3334 - myopts+=( PPC_SHA1=YesPlease )
3335 - fi
3336 -
3337 - if use curl ; then
3338 - use webdav || myopts+=( NO_EXPAT=YesPlease )
3339 - else
3340 - myopts+=( NO_CURL=YesPlease )
3341 - fi
3342 -
3343 - # broken assumptions, because of static build system ...
3344 - myopts+=(
3345 - NO_FINK=YesPlease
3346 - NO_DARWIN_PORTS=YesPlease
3347 - INSTALL=install
3348 - TAR=tar
3349 - SHELL_PATH="${EPREFIX}/bin/sh"
3350 - SANE_TOOL_PATH=
3351 - OLD_ICONV=
3352 - NO_EXTERNAL_GREP=
3353 - )
3354 -
3355 - # For svn-fe
3356 - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
3357 -
3358 - # can't define this to null, since the entire makefile depends on it
3359 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
3360 -
3361 - if use pcre; then
3362 - if use pcre-jit; then
3363 - myopts+=( USE_LIBPCRE2=YesPlease )
3364 - extlibs+=" -lpcre2-8"
3365 - else
3366 - myopts+=(
3367 - USE_LIBPCRE1=YesPlease
3368 - NO_LIBPCRE1_JIT=YesPlease
3369 - )
3370 - extlibs+=" -lpcre"
3371 - fi
3372 - fi
3373 -# Disabled until ~m68k-mint can be keyworded again
3374 -# if [[ ${CHOST} == *-mint* ]] ; then
3375 -# myopts+=(
3376 -# NO_MMAP=YesPlease
3377 -# NO_IPV6=YesPlease
3378 -# NO_STRLCPY=YesPlease
3379 -# NO_MEMMEM=YesPlease
3380 -# NO_MKDTEMP=YesPlease
3381 -# NO_MKSTEMPS=YesPlease
3382 -# )
3383 -# fi
3384 - if [[ ${CHOST} == ia64-*-hpux* ]]; then
3385 - myopts+=( NO_NSEC=YesPlease )
3386 - fi
3387 - if [[ ${CHOST} == *-*-aix* ]]; then
3388 - myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
3389 - fi
3390 - if [[ ${CHOST} == *-solaris* ]]; then
3391 - myopts+=(
3392 - NEEDS_LIBICONV=YesPlease
3393 - HAVE_CLOCK_MONOTONIC=1
3394 - )
3395 - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
3396 - myopts+=( HAVE_GETDELIM=1 )
3397 - fi
3398 -
3399 - has_version '>=app-text/asciidoc-8.0' \
3400 - && myopts+=( ASCIIDOC8=YesPlease )
3401 -
3402 - # Bug 290465:
3403 - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
3404 - [[ "${CHOST}" == *-uclibc* ]] && \
3405 - myopts+=( NO_NSEC=YesPlease )
3406 -
3407 - export MY_MAKEOPTS="${myopts[@]}"
3408 - export EXTLIBS="${extlibs}"
3409 -}
3410 -
3411 -src_unpack() {
3412 - if [[ ${PV} != *9999 ]]; then
3413 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
3414 - cd "${S}" || die
3415 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3416 - if use doc ; then
3417 - pushd "${S}"/Documentation &>/dev/null || die
3418 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3419 - popd &>/dev/null || die
3420 - fi
3421 - else
3422 - git-r3_src_unpack
3423 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
3424 - fi
3425 -
3426 -}
3427 -
3428 -src_prepare() {
3429 - # add experimental patches to improve mediawiki support
3430 - # see patches for origin
3431 - if use mediawiki-experimental ; then
3432 - PATCHES+=(
3433 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
3434 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
3435 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
3436 - )
3437 - fi
3438 -
3439 - default
3440 -
3441 - sed -i \
3442 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
3443 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
3444 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
3445 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
3446 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
3447 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
3448 - Makefile contrib/svn-fe/Makefile || die
3449 -
3450 - # Fix docbook2texi command
3451 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
3452 - Documentation/Makefile || die
3453 -}
3454 -
3455 -git_emake() {
3456 - # bug #320647: PYTHON_PATH
3457 - local PYTHON_PATH=""
3458 - use python && PYTHON_PATH="${PYTHON}"
3459 - emake ${MY_MAKEOPTS} \
3460 - prefix="${EPREFIX}"/usr \
3461 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
3462 - perllibdir="$(perl_get_raw_vendorlib)" \
3463 - sysconfdir="${EPREFIX}"/etc \
3464 - DESTDIR="${D}" \
3465 - GIT_TEST_OPTS="--no-color" \
3466 - OPTAR="$(tc-getAR)" \
3467 - OPTCC="$(tc-getCC)" \
3468 - OPTCFLAGS="${CFLAGS}" \
3469 - OPTLDFLAGS="${LDFLAGS}" \
3470 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
3471 - PERL_MM_OPT="" \
3472 - PYTHON_PATH="${PYTHON_PATH}" \
3473 - V=1 \
3474 - "$@"
3475 -}
3476 -
3477 -src_configure() {
3478 - exportmakeopts
3479 -}
3480 -
3481 -src_compile() {
3482 - git_emake || die "emake failed"
3483 -
3484 - if use emacs ; then
3485 - elisp-compile contrib/emacs/git{,-blame}.el
3486 - fi
3487 -
3488 - if use perl && use cgi ; then
3489 - git_emake \
3490 - gitweb \
3491 - || die "emake gitweb (cgi) failed"
3492 - fi
3493 -
3494 - if [[ ${CHOST} == *-darwin* ]]; then
3495 - pushd contrib/credential/osxkeychain &>/dev/null || die
3496 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
3497 - || die "emake credential-osxkeychain"
3498 - popd &>/dev/null || die
3499 - fi
3500 -
3501 - pushd Documentation &>/dev/null || die
3502 - if [[ ${PV} == *9999 ]] ; then
3503 - git_emake man \
3504 - || die "emake man failed"
3505 - if use doc ; then
3506 - git_emake info html \
3507 - || die "emake info html failed"
3508 - fi
3509 - else
3510 - if use doc ; then
3511 - git_emake info \
3512 - || die "emake info html failed"
3513 - fi
3514 - fi
3515 - popd &>/dev/null || die
3516 -
3517 - if use subversion ; then
3518 - pushd contrib/svn-fe &>/dev/null || die
3519 - # by defining EXTLIBS we override the detection for libintl and
3520 - # libiconv, bug #516168
3521 - local nlsiconv=
3522 - use nls && use !elibc_glibc && nlsiconv+=" -lintl"
3523 - use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
3524 - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
3525 - if use doc ; then
3526 - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
3527 - fi
3528 - popd &>/dev/null || die
3529 - fi
3530 -
3531 - if use gnome-keyring ; then
3532 - pushd contrib/credential/libsecret &>/dev/null || die
3533 - git_emake || die "emake git-credential-libsecret failed"
3534 - popd &>/dev/null || die
3535 - fi
3536 -
3537 - pushd contrib/subtree &>/dev/null || die
3538 - git_emake
3539 - use doc && git_emake doc
3540 - popd &>/dev/null || die
3541 -
3542 - pushd contrib/diff-highlight &>/dev/null || die
3543 - git_emake
3544 - popd &>/dev/null || die
3545 -
3546 - if use mediawiki ; then
3547 - pushd contrib/mw-to-git &>/dev/null || die
3548 - git_emake
3549 - popd &>/dev/null || die
3550 -
3551 - fi
3552 -}
3553 -
3554 -src_install() {
3555 - git_emake \
3556 - install || \
3557 - die "make install failed"
3558 -
3559 - if [[ ${CHOST} == *-darwin* ]]; then
3560 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
3561 - fi
3562 -
3563 - # Depending on the tarball and manual rebuild of the documentation, the
3564 - # manpages may exist in either OR both of these directories.
3565 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
3566 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
3567 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
3568 - use doc && dodir /usr/share/doc/${PF}/html
3569 - for d in / /howto/ /technical/ ; do
3570 - docinto ${d}
3571 - dodoc Documentation${d}*.txt
3572 - if use doc ; then
3573 - docinto ${d}/html
3574 - dodoc Documentation${d}*.html
3575 - fi
3576 - done
3577 - docinto /
3578 - # Upstream does not ship this pre-built :-(
3579 - use doc && doinfo Documentation/{git,gitman}.info
3580 -
3581 - newbashcomp contrib/completion/git-completion.bash ${PN}
3582 - bashcomp_alias git gitk
3583 - # Not really a bash-completion file (bug #477920)
3584 - # but still needed uncompressed (bug #507480)
3585 - insinto /usr/share/${PN}
3586 - doins contrib/completion/git-prompt.sh
3587 -
3588 - if use emacs ; then
3589 - elisp-install ${PN} contrib/emacs/git.{el,elc}
3590 - elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
3591 - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
3592 - # don't add automatically to the load-path, so the sitefile
3593 - # can do a conditional loading
3594 - touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
3595 - elisp-site-file-install "${FILESDIR}"/${SITEFILE}
3596 - fi
3597 -
3598 - #dobin contrib/fast-import/git-p4 # Moved upstream
3599 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
3600 - newbin contrib/fast-import/import-tars.perl import-tars
3601 - exeinto /usr/libexec/git-core/
3602 - newexe contrib/git-resurrect.sh git-resurrect
3603 -
3604 - # git-subtree
3605 - pushd contrib/subtree &>/dev/null || die
3606 - git_emake install || die "Failed to emake install git-subtree"
3607 - if use doc ; then
3608 - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
3609 - fi
3610 - newdoc README README.git-subtree
3611 - dodoc git-subtree.txt
3612 - popd &>/dev/null || die
3613 -
3614 - if use mediawiki ; then
3615 - pushd contrib/mw-to-git &>/dev/null || die
3616 - git_emake install
3617 - popd &>/dev/null || die
3618 - fi
3619 -
3620 - # diff-highlight
3621 - dobin contrib/diff-highlight/diff-highlight
3622 - newdoc contrib/diff-highlight/README README.diff-highlight
3623 -
3624 - # git-jump
3625 - exeinto /usr/libexec/git-core/
3626 - doexe contrib/git-jump/git-jump
3627 - newdoc contrib/git-jump/README git-jump.txt
3628 -
3629 - # git-contacts
3630 - exeinto /usr/libexec/git-core/
3631 - doexe contrib/contacts/git-contacts
3632 - dodoc contrib/contacts/git-contacts.txt
3633 -
3634 - if use gnome-keyring ; then
3635 - pushd contrib/credential/libsecret &>/dev/null || die
3636 - dobin git-credential-libsecret
3637 - popd &>/dev/null || die
3638 - fi
3639 -
3640 - if use subversion ; then
3641 - pushd contrib/svn-fe &>/dev/null || die
3642 - dobin svn-fe
3643 - dodoc svn-fe.txt
3644 - if use doc ; then
3645 - doman svn-fe.1
3646 - docinto html
3647 - dodoc svn-fe.html
3648 - fi
3649 - popd &>/dev/null || die
3650 - fi
3651 -
3652 - dodir /usr/share/${PN}/contrib
3653 - # The following are excluded:
3654 - # completion - installed above
3655 - # diff-highlight - done above
3656 - # emacs - installed above
3657 - # examples - these are stuff that is not used in Git anymore actually
3658 - # git-jump - done above
3659 - # gitview - installed above
3660 - # p4import - excluded because fast-import has a better one
3661 - # patches - stuff the Git guys made to go upstream to other places
3662 - # persistent-https - TODO
3663 - # mw-to-git - TODO
3664 - # subtree - build seperately
3665 - # svnimport - use git-svn
3666 - # thunderbird-patch-inline - fixes thunderbird
3667 - local contrib_objects=(
3668 - buildsystems
3669 - fast-import
3670 - hg-to-git
3671 - hooks
3672 - remotes2config.sh
3673 - rerere-train.sh
3674 - stats
3675 - workdir
3676 - )
3677 - for i in "${contrib_objects[@]}" ; do
3678 - cp -rf \
3679 - "${S}"/contrib/${i} \
3680 - "${ED%/}"/usr/share/${PN}/contrib \
3681 - || die "Failed contrib ${i}"
3682 - done
3683 -
3684 - if use perl && use cgi ; then
3685 - # We used to install in /usr/share/${PN}/gitweb
3686 - # but upstream installs in /usr/share/gitweb
3687 - # so we will install a symlink and use their location for compat with other
3688 - # distros
3689 - dosym /usr/share/gitweb /usr/share/${PN}/gitweb
3690 -
3691 - # INSTALL discusses configuration issues, not just installation
3692 - docinto /
3693 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
3694 - newdoc "${S}"/gitweb/README README.gitweb
3695 -
3696 - for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
3697 - if test -d "$d" ; then find "$d" \
3698 - -name .packlist \
3699 - -delete || die
3700 - fi
3701 - done
3702 - else
3703 - rm -rf "${ED%/}"/usr/share/gitweb
3704 - fi
3705 -
3706 - if ! use subversion ; then
3707 - rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
3708 - "${ED%/}"/usr/share/man/man1/git-svn.1*
3709 - fi
3710 -
3711 - if use xinetd ; then
3712 - insinto /etc/xinetd.d
3713 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
3714 - fi
3715 -
3716 - if use !prefix ; then
3717 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
3718 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
3719 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
3720 - systemd_dounit "${FILESDIR}/git-daemon.socket"
3721 - fi
3722 -
3723 - perl_delete_localpod
3724 -
3725 - # Remove disabled linguas
3726 - # we could remove sources in src_prepare, but install does not
3727 - # handle missing locale dir well
3728 - rm_loc() {
3729 - if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
3730 - rm -r "${ED%/}/usr/share/locale/${1}" || die
3731 - fi
3732 - }
3733 - l10n_for_each_disabled_locale_do rm_loc
3734 -}
3735 -
3736 -src_test() {
3737 - local disabled=()
3738 - local tests_cvs=(
3739 - t9200-git-cvsexportcommit.sh
3740 - t9400-git-cvsserver-server.sh
3741 - t9401-git-cvsserver-crlf.sh
3742 - t9402-git-cvsserver-refs.sh
3743 - t9600-cvsimport.sh
3744 - t9601-cvsimport-vendor-branch.sh
3745 - t9602-cvsimport-branches-tags.sh
3746 - t9603-cvsimport-patchsets.sh
3747 - t9604-cvsimport-timestamps.sh
3748 - )
3749 - local tests_perl=(
3750 - t3701-add-interactive.sh
3751 - t5502-quickfetch.sh
3752 - t5512-ls-remote.sh
3753 - t5520-pull.sh
3754 - t7106-reset-unborn-branch.sh
3755 - t7501-commit.sh
3756 - )
3757 - # Bug #225601 - t0004 is not suitable for root perm
3758 - # Bug #219839 - t1004 is not suitable for root perm
3759 - # t0001-init.sh - check for init notices EPERM* fails
3760 - local tests_nonroot=(
3761 - t0001-init.sh
3762 - t0004-unwritable.sh
3763 - t0070-fundamental.sh
3764 - t1004-read-tree-m-u-wf.sh
3765 - t3700-add.sh
3766 - t7300-clean.sh
3767 - )
3768 - # t9100 still fails with symlinks in SVN 1.7
3769 - local test_svn=( t9100-git-svn-basic.sh )
3770 -
3771 - # Unzip is used only for the testcase code, not by any normal parts of Git.
3772 - if ! has_version app-arch/unzip ; then
3773 - einfo "Disabling tar-tree tests"
3774 - disabled+=( t5000-tar-tree.sh )
3775 - fi
3776 -
3777 - local cvs=0
3778 - use cvs && let cvs=${cvs}+1
3779 - if [[ ${EUID} -eq 0 ]]; then
3780 - if [[ ${cvs} -eq 1 ]]; then
3781 - ewarn "Skipping CVS tests because CVS does not work as root!"
3782 - ewarn "You should retest with FEATURES=userpriv!"
3783 - disabled+=( ${tests_cvs[@]} )
3784 - fi
3785 - einfo "Skipping other tests that require being non-root"
3786 - disabled+=( ${tests_nonroot[@]} )
3787 - else
3788 - [[ ${cvs} -gt 0 ]] && \
3789 - has_version dev-vcs/cvs && \
3790 - let cvs=${cvs}+1
3791 - [[ ${cvs} -gt 1 ]] && \
3792 - has_version "dev-vcs/cvs[server]" && \
3793 - let cvs=${cvs}+1
3794 - if [[ ${cvs} -lt 3 ]]; then
3795 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
3796 - disabled+=( ${tests_cvs[@]} )
3797 - fi
3798 - fi
3799 -
3800 - if ! use perl ; then
3801 - einfo "Disabling tests that need Perl"
3802 - disabled+=( ${tests_perl[@]} )
3803 - fi
3804 -
3805 - einfo "Disabling tests that fail with SVN 1.7"
3806 - disabled+=( ${test_svn[@]} )
3807 -
3808 - # Reset all previously disabled tests
3809 - pushd t &>/dev/null || die
3810 - local i
3811 - for i in *.sh.DISABLED ; do
3812 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
3813 - done
3814 - einfo "Disabled tests:"
3815 - for i in ${disabled[@]} ; do
3816 - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
3817 - done
3818 -
3819 - # Avoid the test system removing the results because we want them ourselves
3820 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
3821 - -i Makefile || die
3822 -
3823 - # Clean old results first, must always run
3824 - nonfatal git_emake clean
3825 - popd &>/dev/null || die
3826 -
3827 - # Now run the tests, keep going if we hit an error, and don't terminate on
3828 - # failure
3829 - local rc
3830 - einfo "Start test run"
3831 - #MAKEOPTS=-j1
3832 - nonfatal git_emake --keep-going test
3833 - rc=$?
3834 -
3835 - # Display nice results, now print the results
3836 - pushd t &>/dev/null || die
3837 - nonfatal git_emake aggregate-results
3838 -
3839 - # And bail if there was a problem
3840 - [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
3841 -}
3842 -
3843 -showpkgdeps() {
3844 - local pkg=$1
3845 - shift
3846 - elog " $(printf "%-17s:" ${pkg}) ${@}"
3847 -}
3848 -
3849 -pkg_postinst() {
3850 - use emacs && elisp-site-regen
3851 - elog "Please read /usr/share/bash-completion/git for Git bash command completion"
3852 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
3853 - elog "Note that the prompt bash code is now in that separate script"
3854 - elog "These additional scripts need some dependencies:"
3855 - echo
3856 - showpkgdeps git-quiltimport "dev-util/quilt"
3857 - showpkgdeps git-instaweb \
3858 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
3859 - echo
3860 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
3861 -}
3862 -
3863 -pkg_postrm() {
3864 - use emacs && elisp-site-regen
3865 -}