Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/, dev-vcs/git/files/
Date: Thu, 01 Sep 2022 03:11:52
Message-Id: 1662001860.ac54f35d33d333126ee9fd4726f66305062fe8df.sam@gentoo
1 commit: ac54f35d33d333126ee9fd4726f66305062fe8df
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 1 03:10:35 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 1 03:11:00 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac54f35d
7
8 dev-vcs/git: drop versions
9
10 Partial security cleanup.
11
12 Bug: https://bugs.gentoo.org/838127
13 Bug: https://bugs.gentoo.org/857831
14 Signed-off-by: Sam James <sam <AT> gentoo.org>
15
16 dev-vcs/git/Manifest | 30 -
17 .../git/files/git-2.31.0_rc0-optional-cvs.patch | 455 ---------------
18 dev-vcs/git/files/git-2.32.0-r1-test-t5582.patch | 22 -
19 dev-vcs/git/files/git-daemon-r1.initd | 13 -
20 dev-vcs/git/git-2.32.0-r1.ebuild | 644 --------------------
21 dev-vcs/git/git-2.33.1.ebuild | 640 --------------------
22 dev-vcs/git/git-2.34.1-r1.ebuild | 640 --------------------
23 dev-vcs/git/git-2.34.1.ebuild | 640 --------------------
24 dev-vcs/git/git-2.35.2.ebuild | 640 --------------------
25 dev-vcs/git/git-2.35.3.ebuild | 641 --------------------
26 dev-vcs/git/git-2.36.0.ebuild | 641 --------------------
27 dev-vcs/git/git-2.36.1.ebuild | 641 --------------------
28 dev-vcs/git/git-2.37.0.ebuild | 641 --------------------
29 dev-vcs/git/git-2.37.1.ebuild | 641 --------------------
30 dev-vcs/git/git-2.37.2.ebuild | 648 ---------------------
31 15 files changed, 7577 deletions(-)
32
33 diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
34 index 621d0673fa49..1dd56125f2d3 100644
35 --- a/dev-vcs/git/Manifest
36 +++ b/dev-vcs/git/Manifest
37 @@ -1,36 +1,6 @@
38 -DIST git-2.32.0.tar.xz 6551348 BLAKE2B 546203ce3f749ba806866a9e9767bc807794cec435fd0b60306ae6cd2b1b17a0159ef9774c79c4f59d0dba45b36941085b55f103e1820450d560bffa41d1058f SHA512 1ab3e7022ccee411d14a7da5c37d6259ef5c0f85ebed8f49698e25c65cbc7a46f8096919fcb6568360bfe284dd7475b596eee1a167db966096255a405853837c
39 -DIST git-2.33.1.tar.xz 6558636 BLAKE2B f4959d5309f85e063448673a3f06f1d3cdd65ced5f5173cfe5a38df3b5547cae1c08275bda02e48307e8290628735e2ea1ff49222262e7cd29b252a6aa4d4a15 SHA512 16d417183232e1057bea754d59cdf4bbacc5f1527d1de6ee04cdd293a2512bfa7208e20f6130816605528b59cb1bc3188c5bddf1a42c1413095ee74e44dd2f91
40 -DIST git-2.34.1.tar.xz 6623760 BLAKE2B 9b5d7a450ec495898bcc0e1f6ae87c0ad102d039cf7c4106cdfe3ada501d9bfaf22b83c522de383d3c01f7d5a29dbfd7fc44b371efa8fc3a418ab3c609a692c1 SHA512 a1a8e9e6f64b1da25508fbd2f783564dcdbe181fb5ff1ebab3bdac6db6094e18acc334479a1abf22ac17ce4f733cc3e10a664db9ab234cd523735a3f027b42db
41 DIST git-2.35.1.tar.xz 6874520 BLAKE2B 028ff97b47748871da145720d0d258a0dcf4acc60b10c787dee5703fcab5f6e621c5671ee9e7a25009e82a2830400f35fa232d88c62606a6687260c744680025 SHA512 926c6813ef61931e1a1c43dfd7b15e20dc5878c1752876bd08f039249c9ed09f20f096b2f01947de9c9522c942e9fa8c1363d7d31a488bbe3f93c0cff31fcbcb
42 -DIST git-2.35.2.tar.xz 6876028 BLAKE2B 2d59f0ef195770b3bd57ef8160ab24da5e14025316bb0cce30048116c71e9c45f0818a12a95a84f680071454ef80e3071b615c64a165771c1c8720c20ff4dba8 SHA512 fac143daf547f4f1952101bc0006b53ac50c1741394a8c75dc517f595ce58b183c7daabcb23a7f9fc87fe22250e298441b0b7cc7af93820110877d65c036b76a
43 -DIST git-2.35.3.tar.xz 6876328 BLAKE2B f584e9d94d167ba19bd2a00377f04eb4edf69cddbd2993a324178338b2e20e7fd126b51882ac7c7914c5118d0eab1ff9beddeb96a901a18fdfe027e21351ab61 SHA512 c92f8663988c57702bb5ee542ac8f36e8a43d377d16106ee462ce0b0a575b9d51baaafc654bf1821fbea2fe476ffd64d7fb87084c7de4dd8065b01d5083492c5
44 -DIST git-2.36.0.tar.xz 7003024 BLAKE2B 72bb148fc5fded2976554788eaf599d20fe9f200ac1dd1ddd4ed89f7f5c8d6c1025907080620bab477b4efadf41d883e890dff73c80d0ff5f0becd83f13ebd88 SHA512 dce0d7dbe684af070271830a01bf1b9cc289182f5106f6e3303b1b3a0d5dc74bebf6ac0174373db05a28f5acc62acb095bc9385dabeeecc1d6e8567dce29b766
45 -DIST git-2.36.1.tar.xz 7004044 BLAKE2B 99f54efb4ea1d8db0e3afd3dc9780cb37fc853e4757f4b37d68a6badd90eeed3e2943c97393eaed6adf61c82b97b5d01ca8d015784f5425072b1db14d39144ce SHA512 459432bd0c1d5a87c828a6fbf6d3473f14bf6b95783b3f27ea4f3af1ba9fd0e712a96a41276a16c6ebeb7ac3583a5f445eedd0a9e19fe160c2c8e309ec58818e
46 -DIST git-2.37.0.tar.xz 6978796 BLAKE2B 204a06a6d35f4f1960d031c09eeef43273982e95c5825ab813899de3d30018c9e8d88425a51ce9447d4ae6183de1270017c6e0ecc9d601df897281e107def145 SHA512 2ae3c845c9d0e0f5245e47f95c958c86a4aa2c47dfe31bff6fc81b2434d2e9402b7eced18700c04ba7158ed6a72807a81c4cde6a26dd30c969b4267b8fce4d0a
47 -DIST git-2.37.1.tar.xz 6980388 BLAKE2B b5423e4628f8c727aa74b3f7c7da12d46814eb45adfe84bf57e87a33e85a0a793ff690f4c1f7d2da4824bc8dd7d1df1c06cbe96adae857177d3fb204941b53ef SHA512 3c9cad6b4757f425ee53996d8d80db2226b246513cbcec9011022e02e4235d7ec38c7c1aada73bb3c9279a91d1aaf8664633356ce1dce847e0d371f702a5b766
48 -DIST git-2.37.2.tar.xz 6985408 BLAKE2B dcc25fe1691b43e439e11a270d35d17cd5dbf255e11579ef1ebbfcfb46fac65ca9faca6db5713a4d239a02df4e50902dea8eb94720ce0bd83b461f318812af44 SHA512 a26d83f4eeb71d49c427ced9509861f7677e13e806da729f369ca39b795f8417b789a0adec859f44716f7fbc1190f7d1e6e518e774ad95c89e88442ac125b9c2
49 DIST git-2.37.3.tar.xz 6987464 BLAKE2B b672ed0a99532b2e2e69babbea9155e39f05590a76f55791ffed6ce4ef8b68d8e306a0a23819af26f34fcf3d16211c3a10ec58d86d81262f7a1261d0e51b1305 SHA512 9120050b01d8ac8d9f9e85f19cb84dc90c28f3beadc3ea94da94845f2eb5e35aa83eee8447a7ecef5190b8eb5d01be621be2e82bb3020e51e05037cd1fa9b58f
50 -DIST git-htmldocs-2.32.0.tar.xz 1381664 BLAKE2B d1b47aa99d32a252fd20df26eff44a558044f3a389379b161bb43621eb28375eb0621969849a31938ba7fc9fc58b140d27d703559ea5735d0a0ffd2e93cd9692 SHA512 12b84e342f0d19afe385ab8a685ae625e86c3295d1555992e0c427b361aa2cdfc89a679e7dbc468d3568a325dafbf699468aadcdb02f93e372eff3dd96a7cf7f
51 -DIST git-htmldocs-2.33.1.tar.xz 1396744 BLAKE2B cbd65cf08fc7ea466fcd72820ba3e2135ade37f69c436a4ee7276dc71fb62f6270b71e2f46d981f5681a0fd3c30613d61680c2ef2460d0d7d292f7455e114128 SHA512 5b856b919067e1f644539d43a85aab6f602537ea0970b6248b471e3fa6756a8494f0525a69d22ad3795fcf9e106ff8439e0f6716ba0b8c895d7aad8c59e5bd74
52 -DIST git-htmldocs-2.34.1.tar.xz 1406464 BLAKE2B 6ee2f58df3c1622d96ac4b1a70d4dc3d0c973635774dd6bb89fea3e502dd82d99d676e2f9cb33c14c429c3d4680cd6020213154099b3f7fe71ad67602ca9bc6c SHA512 cf9fa952d43e477528deece9f22d1bb63fa50b3a831fae20812c6af31c1dbaf193abe2fed48ac9966bcf1787442ceed19f00c00e524a1911f0ea31952a52fc8f
53 DIST git-htmldocs-2.35.1.tar.xz 1410148 BLAKE2B 68c3d12341271b861f42135bd4bd6e68ebcc6466931d383378b49aac42f77187f3fadc237974349cb0b50e4c5fb7a8ab185114341dd3012d159e420405d9ef91 SHA512 52a40644a7cd38caddecc43182863ca2f456644fff918ed4c8f826cbf269352c73d6bdc9119d25fcf537bc2fa38750791013329e4b0e32c8d14f0769dab85804
54 -DIST git-htmldocs-2.35.2.tar.xz 1411248 BLAKE2B d4f318f6277015bb6aef3a556bbf7a9a6b02a7cf2f1ed696bb730b6a5fb32fe3dbdf01cf1737e2931f182bf451589349de53e7d02a868d40b013018973c5fe89 SHA512 118576bfeafd92b8b0dd92318504d74341a003358d937545c16fefcfde6b956fbaee0601e50b9a21719d2575a5a37585e36628b4ade8e42d9d0fec4ae616eaa0
55 -DIST git-htmldocs-2.35.3.tar.xz 1411664 BLAKE2B c7d849b9573a257de47fc8d654f7f791d21917cf65315b4ae6909ba2ebbe90970bc9e6c9949266913b1e529e662bfc375acee26ebf9304162eeccc87ce3da067 SHA512 52b97dab838fff1a865ae4d449fbb77fbac3c528666d1b936c73bffac856f16583d1b182379bc4e6851f78bccab519c3ea7e5902fc502b2e8ab7bb85043c7eea
56 -DIST git-htmldocs-2.36.0.tar.xz 1426148 BLAKE2B ba121e8f7d6a232f3df2b5a50c0f4a798c80808562c710f306f26fa79c124e5e1580c0626a2fce04f4a17b96d40a2683809550f37028cbc436b359de91100599 SHA512 62ee14c2f1ff34c0fbdf281ea2bb08bf6a24850d1d8dc68ffb12ae15e343c167ac869559395769fb352bd441baa8f2d45d696923a04e2f04bca921c990d75a9d
57 -DIST git-htmldocs-2.36.1.tar.xz 1426284 BLAKE2B 2213f870b7fe35cc76ce8654ed8c50c0e9694c58acac4aa2350f826422db6bf2fc238fbd12075f98e84539fdf6ca5624984e21844d1d1c1ceb90e3b090438a7d SHA512 3aa2ca197a789161571a6961dae8c2723ff5ba05a2d8ce7443f7fd9ef46fe5a3d001364831345f3fc4e028140022d20afefbabdf4a82cdeb311167793b292c1f
58 -DIST git-htmldocs-2.37.0.tar.xz 1444540 BLAKE2B 9249de4b49d0812cf5f3ceb0a062b396ca4f9482232c69c75177201d19c4094ca79acb61d47c9a80f9db8749ac634bb2cc3bb2fa96bd6b4a34798cf1da2dd74c SHA512 8f9ff2bfdb55db41805f4366c6eb6f116e37774b7dbbac193c4a817357c47c44664eb69eb1b55acfaabc513dbbd2393d7a93295b4443630f65bd6791fc742a87
59 -DIST git-htmldocs-2.37.1.tar.xz 1445040 BLAKE2B a2f748787f8008d67ae065b3efb34b04df76d2d96ec933f4e7af8d4d2580bf9d163c52a6bfe81c030af59a61ac8e02edfca30a988f1e24b1044271869e9426df SHA512 0aba312ff889875873f91e86689b7e02f4a9953e2f9339f84a94a41ba185503dbe265547c8b4bb7f128519ae8f9f0a288903e0490af23387a5bf81e7cf3b4ddd
60 -DIST git-htmldocs-2.37.2.tar.xz 1447008 BLAKE2B fc9df5e4af5ca0ec0a085cc0e2d520763eafe7a18fcfcbe9b1b254fc1eb0ee1974145872b2914ccaab67a607c0fc68fe6551d2f0baec9de2ed9cb3e69a394cdf SHA512 d54573a66153db448f1d776f8d855e2471d60733f8ed2ebf84b428a81b4e37417d53e05ca74730e2ab4119cd08844fd4a4e4e5361b5cd8fddb33f45c3f633d59
61 DIST git-htmldocs-2.37.3.tar.xz 1447620 BLAKE2B 4efb86fb5431fd96ec4bcad7ecd9d5ae1d3f81f57f17dab4d8343948758f66b549b2442330b20cdb4ecd96f2029f4e7a376de5561fd9eda70acc46d2cffd7090 SHA512 ecc483a1fecf8c056a57e14a59950dc8a00f7940453dd5e2ccfd8dab966a9fee47178a7bbf8988e2c9a67ea6d84ffc33be790c49f812fb0ba661b57b7ff7b6ef
62 -DIST git-manpages-2.32.0.tar.xz 491868 BLAKE2B 7598a864246aed771371924604ee13d3f51b839b10b254bb1159dd47266513f5cd6484aab200a7b4ed427edc76538a98e39a040a17201483965175f5e1c5f484 SHA512 5c9950bd5d6904972cddf4afad534197d843c0dee8198d14ec5a3448873cab37dac88295b2a4df3658749f048bda4800b54fdc850517be7208906c911832c66e
63 -DIST git-manpages-2.33.1.tar.xz 494288 BLAKE2B 1f8bd4f23de31a285d3f4327e562dddafdf9f28e8b36334e54f5e280c81fc8170e8b153ca42baa642d02d8e6fdfcac9a8fdd3cee1e32c29bcd53f689d1a6c463 SHA512 d465a7b491046b7a5da6ad1fc6c62b351c69905932e0672263de5a1d3abe1113660cff9fe30c7be1d1695c6170ceca5a11b3f65e9b2d1545f35cc653e4c6ad62
64 -DIST git-manpages-2.34.1.tar.xz 497280 BLAKE2B aa3c67cec861eb40eda3e7827d3e380fdfb6f189027fb7e5618258b80ac33918cb3c2ca4d2f8dc5fbee959578766564137e9c4818672f5138304270c486658fe SHA512 8f3b56fa477e5aafec3ef29933234c362a372f59ed95694c4fb82ebb82d2a8ebc0ac17ae36caa9185964eef1700ea8732816e73df4ddd918afc949a8371fa0d8
65 DIST git-manpages-2.35.1.tar.xz 497284 BLAKE2B 2d0d633320982243316575cc278df6c6a9ef181bf45ea9c1c8288e2677e4e71a33af96bada9bd90b03310be7dd33f2762b6b95489e267e2c191dcc7d1a715fe7 SHA512 0f4c46880f0e6d493112dcd4753fbe3702c06aa68be09bcbfc90263a355deba080995a08916b1f2404e4e17d720ee0de46a55e450c6cabeb1c147dcb2cd919d5
66 -DIST git-manpages-2.35.2.tar.xz 497548 BLAKE2B 5e7c9e85879e57e5b157dc8d0a8b836d86e56e91c512079e46869b6e251cfd40d3a7016996cdb2d2323ca47180e50eb5d5f4bc93ce87713d61b34dcf714ba90e SHA512 70d483f2b14f5957c0b71cfc1131b0cfd8038e824ed93dea4b866fa539d582eb531edc284d89b70c188c85d0bd74096c171bbe42f0be550c6c14711b101a4046
67 -DIST git-manpages-2.35.3.tar.xz 497672 BLAKE2B aef5a7c579392f55fa63f1ce36c03579f4fcce443e867ac2a162a3d72344639ee11949748a51547315579b37e0fc6d5915ea203ddc556b2511125781428ce001 SHA512 25ac8f1690ccbc0e36b7d05115aebde1911909307ac29d930158b61ecd68972b8a9c3af018d73f34251d42cabf8d3d392173a448ec948df0a3119c2a2b87bd60
68 -DIST git-manpages-2.36.0.tar.xz 503604 BLAKE2B 438f533dce6628143c0ca348bc372017f049126933bf07a63ce9150114632a048778d8e0876970b406144aa584d512470ae4426be9c5bb8a3a581680ac9443a1 SHA512 67c2fb1c974ffe15aa09b9c36338f3ae9805573b35291e128210fc99c9fd97b1e26be571819d6b073c5adfe4c6f688c15e31790aa9eb62c1effacfb8aa21eb1c
69 -DIST git-manpages-2.36.1.tar.xz 503680 BLAKE2B d43fc90584b2f9e3bae30460f0c545b4fb96a5c70ad03c73d655481e5737b75a8d7a293db5bfdd752aabfc835a4a11e77474a5a0f144c8791b2dd433a3e45b70 SHA512 dd2fd6c5186aac53d7834ccf0cb6c380758624bb4583c6c5703b5b7a24c65d4199403fbcf7033c69bd3dcfbe048baaef3e886b9ba99c8afeb375e18e5b3e6e40
70 -DIST git-manpages-2.37.0.tar.xz 509992 BLAKE2B 67a1bc6e3a92b69d30b5e977b170cf11ac37d85dc318b35e12b728b8e17d6cfaaca7bbd343da8745be2547be8ad3dd9d930a24c0ba716dcb96aaf0610e25b11d SHA512 d739670caa11b70f3ed50665764e78a5b4c3d3d912976898d22d10d45ba3e2599b9e13d2a2502f97076a9d88b5f9e67bb11d204c8c43149b81e8243d28981711
71 -DIST git-manpages-2.37.1.tar.xz 510044 BLAKE2B f1f79dcbb72d05258dd30ccaf76c2726de5400555d189a112786c2cecbe5cdd27879f27335ed48c84315c496bc28aa0f95e7498ee3c2672dea3071e274a1693b SHA512 5dec5aa33e707a3c3520c6391dddc8812c3c5d5f72c13a7a5f194dac08c5b73dd59b3ab777d699fba7ef5088767ee796b12de936f196224fee0ffdc31c8b8f62
72 -DIST git-manpages-2.37.2.tar.xz 510004 BLAKE2B f31cd031bead56a97a9ec9dc42ee3be9873e1df6f60cf00a26944f994d948b05555daf67cf3935b9cff636774dafb638aa07608536360c710f2d6a6a3d5e02f3 SHA512 c53cb4d1629e0d19c7523f9a072fee981cfce40363bf62dc090fcc54471e9e27f6da851b10a90274dcef1790301f402e72640fd21347cde895b051de4909c584
73 DIST git-manpages-2.37.3.tar.xz 510096 BLAKE2B 0bc0b8c1818a06a6c7126119c04d2936bd38e997027bb31be5ad6bea2b43d71c5e9a76a29c576d84bd00c11f09bca7a67aa78a72f0171b41b93f6322c3b23808 SHA512 b25d4925f64e4de220dc9133d6e3ed13a397b160c27550c8700b76226f2b3a1611aec9ee24110ae16ebaceedc6617c6a04aa1b44270c7a0f166dd40d8f2f1132
74
75 diff --git a/dev-vcs/git/files/git-2.31.0_rc0-optional-cvs.patch b/dev-vcs/git/files/git-2.31.0_rc0-optional-cvs.patch
76 deleted file mode 100644
77 index 0999dbeff6b9..000000000000
78 --- a/dev-vcs/git/files/git-2.31.0_rc0-optional-cvs.patch
79 +++ /dev/null
80 @@ -1,455 +0,0 @@
81 -From 0c5ced8704ce69d7c84c2cc7cb26335616464468 Mon Sep 17 00:00:00 2001
82 -From: Robin Johnson <robbat2@g.o>
83 -Date: Tue, 14 May 2019 08:53:06 +0200
84 -Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
85 - utilities
86 -
87 -Forward-ported from 1.7.12 to current git.git v1.8.4
88 -Forward-ported from v1.8.4 to v1.8.5.1
89 -Forward-ported from v1.8.5.3 to v1.9.0_rc3
90 -Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
91 -Forward-ported from v2.0.0_rc0 to v2.0.0
92 -Forward-ported from v2.0.0 to v2.2.2
93 -Forward-ported from v2.2.2 to v2.8.4
94 -Forward-ported from v2.8.4 to v2.10.0
95 -Forward-ported from v2.10.0 to v2.12.0
96 -Forward-ported from v2.12.0 to v2.17.0-rc1
97 -Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
98 -Forward-ported from v2.18.0-rc1 to v2.22.0-rc0
99 -Forward-ported from v2.22.0-rc0 to v2.31.0-rc0
100 -
101 -Signed-off-by: Lars Wendler <polynomial-c@g.o>
102 ----
103 - Makefile | 48 ++++++++++++++++++++++--------
104 - t/t9200-git-cvsexportcommit.sh | 5 ++++
105 - t/t9400-git-cvsserver-server.sh | 8 ++++-
106 - t/t9401-git-cvsserver-crlf.sh | 15 ++++++----
107 - t/t9600-cvsimport.sh | 41 +++++++++++++++----------
108 - t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
109 - t/t9602-cvsimport-branches-tags.sh | 11 +++++++
110 - t/t9603-cvsimport-patchsets.sh | 11 +++++++
111 - t/test-lib.sh | 1 +
112 - 9 files changed, 118 insertions(+), 33 deletions(-)
113 -
114 -diff --git a/Makefile b/Makefile
115 -index 9b1bde2e0e..ae993a07fa 100644
116 ---- a/Makefile
117 -+++ b/Makefile
118 -@@ -305,6 +305,8 @@ all::
119 - # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
120 - # and egrep that are pickier when their input contains non-ASCII data.
121 - #
122 -+# Define NO_CVS if you do not want any CVS interface utilities.
123 -+#
124 - # The TCL_PATH variable governs the location of the Tcl interpreter
125 - # used to optimize git-gui for your system. Only used if NO_TCLTK
126 - # is not set. Defaults to the bare 'tclsh'.
127 -@@ -580,6 +582,7 @@ PROGRAM_OBJS =
128 - PROGRAMS =
129 - EXCLUDED_PROGRAMS =
130 - SCRIPT_PERL =
131 -+SCRIPT_PERL_CVS =
132 - SCRIPT_PYTHON =
133 - SCRIPT_SH =
134 - SCRIPT_LIB =
135 -@@ -612,31 +615,33 @@ SCRIPT_LIB += git-sh-setup
136 -
137 - SCRIPT_PERL += git-add--interactive.perl
138 - SCRIPT_PERL += git-archimport.perl
139 --SCRIPT_PERL += git-cvsexportcommit.perl
140 --SCRIPT_PERL += git-cvsimport.perl
141 --SCRIPT_PERL += git-cvsserver.perl
142 - SCRIPT_PERL += git-send-email.perl
143 - SCRIPT_PERL += git-svn.perl
144 -
145 -+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
146 -+SCRIPT_PERL_CVS += git-cvsimport.perl
147 -+SCRIPT_PERL_CVS += git-cvsserver.perl
148 -+
149 - SCRIPT_PYTHON += git-p4.py
150 -
151 - # Generated files for scripts
152 - SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
153 - SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
154 -+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
155 - SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
156 -
157 - # Individual rules to allow e.g.
158 - # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
159 - # from subdirectories like contrib/*/
160 - .PHONY: build-perl-script build-sh-script build-python-script
161 --build-perl-script: $(SCRIPT_PERL_GEN)
162 -+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
163 - build-sh-script: $(SCRIPT_SH_GEN)
164 - build-python-script: $(SCRIPT_PYTHON_GEN)
165 -
166 - .PHONY: install-perl-script install-sh-script install-python-script
167 - install-sh-script: $(SCRIPT_SH_GEN)
168 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
169 --install-perl-script: $(SCRIPT_PERL_GEN)
170 -+install-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
171 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
172 - install-python-script: $(SCRIPT_PYTHON_GEN)
173 - $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
174 -@@ -645,12 +650,13 @@ install-python-script: $(SCRIPT_PYTHON_GEN)
175 - clean-sh-script:
176 - $(RM) $(SCRIPT_SH_GEN)
177 - clean-perl-script:
178 -- $(RM) $(SCRIPT_PERL_GEN)
179 -+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
180 - clean-python-script:
181 - $(RM) $(SCRIPT_PYTHON_GEN)
182 -
183 - SCRIPTS = $(SCRIPT_SH_GEN) \
184 - $(SCRIPT_PERL_GEN) \
185 -+ $(SCRIPT_PERL_CVS_GEN) \
186 - $(SCRIPT_PYTHON_GEN) \
187 - git-instaweb
188 -
189 -@@ -2233,13 +2239,27 @@ git.res: git.rc GIT-VERSION-FILE GIT-PREFIX
190 - -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
191 -
192 - # This makes sure we depend on the NO_PERL setting itself.
193 --$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
194 -+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
195 -+
196 -+_SCRIPT_PERL_GEN =
197 -+_SCRIPT_PERL_NOGEN =
198 -
199 - # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
200 - # since the locale directory is injected.
201 - perl_localedir_SQ = $(localedir_SQ)
202 -
203 - ifndef NO_PERL
204 -+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
205 -+
206 -+ifndef NO_CVS
207 -+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
208 -+else
209 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
210 -+_REASON = NO_CVS
211 -+_REASON_CONTENT = $(NO_CVS)
212 -+endif # NO_CVS
213 -+
214 -+$(_SCRIPT_PERL_GEN):
215 - PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
216 - PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
217 -
218 -@@ -2260,7 +2280,7 @@ endif
219 -
220 - PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
221 -
222 --$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
223 -+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
224 - $(QUIET_GEN)$(RM) $@ $@+ && \
225 - sed -e '1{' \
226 - -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
227 -@@ -2306,14 +2326,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
228 - chmod +x $@+ && \
229 - mv $@+ $@
230 - else # NO_PERL
231 --$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
232 -+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
233 -+_REASON = NO_PERL
234 -+_REASON_CONTENT = $(NO_PERL)
235 -+endif # NO_PERL
236 -+
237 -+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
238 - $(QUIET_GEN)$(RM) $@ $@+ && \
239 - sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
240 -- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
241 -+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
242 - unimplemented.sh >$@+ && \
243 - chmod +x $@+ && \
244 - mv $@+ $@
245 --endif # NO_PERL
246 -
247 - # This makes sure we depend on the NO_PYTHON setting itself.
248 - $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
249 -@@ -2569,7 +2593,7 @@ LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
250 - LOCALIZED_SH = $(SCRIPT_SH)
251 - LOCALIZED_SH += git-rebase--preserve-merges.sh
252 - LOCALIZED_SH += git-sh-setup.sh
253 --LOCALIZED_PERL = $(SCRIPT_PERL)
254 -+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
255 -
256 - ifdef XGETTEXT_INCLUDE_TESTS
257 - LOCALIZED_C += t/t0200/test.c
258 -diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
259 -index c5946cb0b8..223fd5409b 100755
260 ---- a/t/t9200-git-cvsexportcommit.sh
261 -+++ b/t/t9200-git-cvsexportcommit.sh
262 -@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
263 - test_done
264 - fi
265 -
266 -+if ! test_have_prereq CVS; then
267 -+ skip_all='skipping git cvsexportcommit tests, cvs not available'
268 -+ test_done
269 -+fi
270 -+
271 - cvs >/dev/null 2>&1
272 - if test $? -ne 1
273 - then
274 -diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
275 -index 2d29d486ee..2ca6db10e0 100755
276 ---- a/t/t9400-git-cvsserver-server.sh
277 -+++ b/t/t9400-git-cvsserver-server.sh
278 -@@ -14,9 +14,15 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
279 - . ./test-lib.sh
280 -
281 - if ! test_have_prereq PERL; then
282 -- skip_all='skipping git cvsserver tests, perl not available'
283 -+ skip_all='skipping git-cvsserver tests, perl not available'
284 - test_done
285 - fi
286 -+
287 -+if ! test_have_prereq CVS; then
288 -+ skip_all='skipping git-cvsserver tests, cvs not available'
289 -+ test_done
290 -+fi
291 -+
292 - cvs >/dev/null 2>&1
293 - if test $? -ne 1
294 - then
295 -diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
296 -index a34805acdc..0d7759f73b 100755
297 ---- a/t/t9401-git-cvsserver-crlf.sh
298 -+++ b/t/t9401-git-cvsserver-crlf.sh
299 -@@ -60,15 +60,20 @@ check_status_options() {
300 - return $stat
301 - }
302 -
303 --cvs >/dev/null 2>&1
304 --if test $? -ne 1
305 -+if ! test_have_prereq PERL
306 - then
307 -- skip_all='skipping git-cvsserver tests, cvs not found'
308 -+ skip_all='skipping git-cvsserver tests, perl not available'
309 - test_done
310 - fi
311 --if ! test_have_prereq PERL
312 -+if ! test_have_prereq CVS
313 - then
314 -- skip_all='skipping git-cvsserver tests, perl not available'
315 -+ skip_all='skipping git-cvsserver tests, cvs not available'
316 -+ test_done
317 -+fi
318 -+cvs >/dev/null 2>&1
319 -+if test $? -ne 1
320 -+then
321 -+ skip_all='skipping git-cvsserver tests, cvs not found'
322 - test_done
323 - fi
324 - perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
325 -diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
326 -index 5680849218..7288db820b 100755
327 ---- a/t/t9600-cvsimport.sh
328 -+++ b/t/t9600-cvsimport.sh
329 -@@ -11,14 +11,25 @@ if ! test_have_prereq NOT_ROOT; then
330 - test_done
331 - fi
332 -
333 --test_expect_success PERL 'setup cvsroot environment' '
334 -+if ! test_have_prereq PERL
335 -+then
336 -+ skip_all='skipping git cvsimport tests, perl not available'
337 -+ test_done
338 -+fi
339 -+if ! test_have_prereq CVS
340 -+then
341 -+ skip_all='skipping git cvsimport tests, cvs not available'
342 -+ test_done
343 -+fi
344 -+
345 -+test_expect_success 'setup cvsroot environment' '
346 - CVSROOT=$(pwd)/cvsroot &&
347 - export CVSROOT
348 - '
349 -
350 --test_expect_success PERL 'setup cvsroot' '$CVS init'
351 -+test_expect_success 'setup cvsroot' '$CVS init'
352 -
353 --test_expect_success PERL 'setup a cvs module' '
354 -+test_expect_success 'setup a cvs module' '
355 -
356 - mkdir "$CVSROOT/module" &&
357 - $CVS co -d module-cvs module &&
358 -@@ -50,23 +61,23 @@ EOF
359 - )
360 - '
361 -
362 --test_expect_success PERL 'import a trivial module' '
363 -+test_expect_success 'import a trivial module' '
364 -
365 - git cvsimport -a -R -z 0 -C module-git module &&
366 - test_cmp module-cvs/o_fortuna module-git/o_fortuna
367 -
368 - '
369 -
370 --test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
371 -+test_expect_success 'pack refs' '(cd module-git && git gc)'
372 -
373 --test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
374 -+test_expect_success 'initial import has correct .git/cvs-revisions' '
375 -
376 - (cd module-git &&
377 - git log --format="o_fortuna 1.1 %H" -1) > expected &&
378 - test_cmp expected module-git/.git/cvs-revisions
379 - '
380 -
381 --test_expect_success PERL 'update cvs module' '
382 -+test_expect_success 'update cvs module' '
383 - (cd module-cvs &&
384 - cat <<EOF >o_fortuna &&
385 - O Fortune,
386 -@@ -94,7 +105,7 @@ EOF
387 - )
388 - '
389 -
390 --test_expect_success PERL 'update git module' '
391 -+test_expect_success 'update git module' '
392 -
393 - (cd module-git &&
394 - git config cvsimport.trackRevisions true &&
395 -@@ -105,7 +116,7 @@ test_expect_success PERL 'update git module' '
396 -
397 - '
398 -
399 --test_expect_success PERL 'update has correct .git/cvs-revisions' '
400 -+test_expect_success 'update has correct .git/cvs-revisions' '
401 -
402 - (cd module-git &&
403 - git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
404 -@@ -113,7 +124,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
405 - test_cmp expected module-git/.git/cvs-revisions
406 - '
407 -
408 --test_expect_success PERL 'update cvs module' '
409 -+test_expect_success 'update cvs module' '
410 -
411 - (cd module-cvs &&
412 - echo 1 >tick &&
413 -@@ -122,7 +133,7 @@ test_expect_success PERL 'update cvs module' '
414 - )
415 - '
416 -
417 --test_expect_success PERL 'cvsimport.module config works' '
418 -+test_expect_success 'cvsimport.module config works' '
419 -
420 - (cd module-git &&
421 - git config cvsimport.module module &&
422 -@@ -134,7 +145,7 @@ test_expect_success PERL 'cvsimport.module config works' '
423 -
424 - '
425 -
426 --test_expect_success PERL 'second update has correct .git/cvs-revisions' '
427 -+test_expect_success 'second update has correct .git/cvs-revisions' '
428 -
429 - (cd module-git &&
430 - git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
431 -@@ -143,7 +154,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
432 - test_cmp expected module-git/.git/cvs-revisions
433 - '
434 -
435 --test_expect_success PERL 'import from a CVS working tree' '
436 -+test_expect_success 'import from a CVS working tree' '
437 -
438 - $CVS co -d import-from-wt module &&
439 - (cd import-from-wt &&
440 -@@ -156,12 +167,12 @@ test_expect_success PERL 'import from a CVS working tree' '
441 -
442 - '
443 -
444 --test_expect_success PERL 'no .git/cvs-revisions created by default' '
445 -+test_expect_success 'no .git/cvs-revisions created by default' '
446 -
447 - ! test -e import-from-wt/.git/cvs-revisions
448 -
449 - '
450 -
451 --test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main'
452 -+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree main'
453 -
454 - test_done
455 -diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
456 -index 116cddba3a..a7e7299c81 100755
457 ---- a/t/t9601-cvsimport-vendor-branch.sh
458 -+++ b/t/t9601-cvsimport-vendor-branch.sh
459 -@@ -37,6 +37,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
460 -
461 - . ./lib-cvs.sh
462 -
463 -+if ! test_have_prereq PERL
464 -+then
465 -+ skip_all='skipping git cvsimport tests, perl not available'
466 -+ test_done
467 -+fi
468 -+if ! test_have_prereq CVS
469 -+then
470 -+ skip_all='skipping git cvsimport tests, cvs not available'
471 -+ test_done
472 -+fi
473 -+
474 - setup_cvs_test_repository t9601
475 -
476 - test_expect_success PERL 'import a module with a vendor branch' '
477 -diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
478 -index e5266c9a87..0e1878ffd3 100755
479 ---- a/t/t9602-cvsimport-branches-tags.sh
480 -+++ b/t/t9602-cvsimport-branches-tags.sh
481 -@@ -9,6 +9,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
482 -
483 - . ./lib-cvs.sh
484 -
485 -+if ! test_have_prereq PERL
486 -+then
487 -+ skip_all='skipping git cvsimport tests, perl not available'
488 -+ test_done
489 -+fi
490 -+if ! test_have_prereq CVS
491 -+then
492 -+ skip_all='skipping git cvsimport tests, cvs not available'
493 -+ test_done
494 -+fi
495 -+
496 - setup_cvs_test_repository t9602
497 -
498 - test_expect_success PERL 'import module' '
499 -diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
500 -index 0e9daa5768..598c8595c5 100755
501 ---- a/t/t9603-cvsimport-patchsets.sh
502 -+++ b/t/t9603-cvsimport-patchsets.sh
503 -@@ -17,6 +17,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
504 -
505 - . ./lib-cvs.sh
506 -
507 -+if ! test_have_prereq PERL
508 -+then
509 -+ skip_all='skipping git cvsimport tests, perl not available'
510 -+ test_done
511 -+fi
512 -+if ! test_have_prereq CVS
513 -+then
514 -+ skip_all='skipping git cvsimport tests, cvs not available'
515 -+ test_done
516 -+fi
517 -+
518 - setup_cvs_test_repository t9603
519 -
520 - test_expect_failure PERL 'import with criss cross times on revisions' '
521 -diff --git a/t/test-lib.sh b/t/test-lib.sh
522 -index d3f6af6a65..588067bfd8 100644
523 ---- a/t/test-lib.sh
524 -+++ b/t/test-lib.sh
525 -@@ -1482,6 +1482,7 @@ parisc* | hppa*)
526 - esac
527 -
528 - ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
529 -+test -z "$NO_CVS" && test_set_prereq CVS
530 - test -z "$NO_PERL" && test_set_prereq PERL
531 - test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
532 - test -z "$NO_PYTHON" && test_set_prereq PYTHON
533 ---
534 -2.30.1
535 -
536
537 diff --git a/dev-vcs/git/files/git-2.32.0-r1-test-t5582.patch b/dev-vcs/git/files/git-2.32.0-r1-test-t5582.patch
538 deleted file mode 100644
539 index fc6072bf7334..000000000000
540 --- a/dev-vcs/git/files/git-2.32.0-r1-test-t5582.patch
541 +++ /dev/null
542 @@ -1,22 +0,0 @@
543 -https://www.spinics.net/lists/git/msg417169.html
544 -https://bugs.gentoo.org/751907
545 -
546 -The test fails when ${D} is exported in the environment. It actually _shouldn't_
547 -be exported in src_test anyway, but Portage isn't yet fixed for this because
548 -it'll break misbehaving ebuilds (see e.g. pkgcheck's VariableScope warnings).
549 -
550 -Upstream are currently discussing other patches and work to find other cases
551 -of environment contamination.
552 ---- a/t/t5582-fetch-negative-refspec.sh
553 -+++ b/t/t5582-fetch-negative-refspec.sh
554 -@@ -105,7 +105,6 @@ test_expect_success "fetch with negative pattern refspec does not expand prefix"
555 - '
556 -
557 - test_expect_success "fetch with negative refspec avoids duplicate conflict" '
558 -- cd "$D" &&
559 - (
560 - cd one &&
561 - git branch dups/a &&
562 ---
563 -2.30.2
564 -
565
566 diff --git a/dev-vcs/git/files/git-daemon-r1.initd b/dev-vcs/git/files/git-daemon-r1.initd
567 deleted file mode 100644
568 index 78e5444ed4db..000000000000
569 --- a/dev-vcs/git/files/git-daemon-r1.initd
570 +++ /dev/null
571 @@ -1,13 +0,0 @@
572 -#!/sbin/openrc-run
573 -# Copyright 1999-2016 Gentoo Foundation
574 -# Distributed under the terms of the GNU General Public License v2
575 -
576 -pidfile="/var/run/git-daemon.pid"
577 -command="/usr/bin/git"
578 -command_args="daemon ${GITDAEMON_OPTS}"
579 -command_user="${GIT_USER:-nobody}:${GIT_GROUP:-nobody}"
580 -start_stop_daemon_args="-e HOME= -e XDG_CONFIG_HOME= -b -m"
581 -
582 -depend() {
583 - use logger
584 -}
585
586 diff --git a/dev-vcs/git/git-2.32.0-r1.ebuild b/dev-vcs/git/git-2.32.0-r1.ebuild
587 deleted file mode 100644
588 index af947a55cb83..000000000000
589 --- a/dev-vcs/git/git-2.32.0-r1.ebuild
590 +++ /dev/null
591 @@ -1,644 +0,0 @@
592 -# Copyright 1999-2022 Gentoo Authors
593 -# Distributed under the terms of the GNU General Public License v2
594 -
595 -EAPI=7
596 -
597 -GENTOO_DEPEND_ON_PERL=no
598 -
599 -# bug #329479: git-remote-testgit is not multiple-version aware
600 -PYTHON_COMPAT=( python3_{8..10} )
601 -
602 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
603 -
604 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
605 -if [[ ${PV} == *9999 ]]; then
606 - inherit git-r3
607 - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
608 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
609 - # See https://git-scm.com/docs/gitworkflows#_graduation
610 - # In order of stability:
611 - # 9999-r0: maint
612 - # 9999-r1: master
613 - # 9999-r2: next
614 - # 9999-r3: seen
615 - case "${PVR}" in
616 - 9999) EGIT_BRANCH=maint ;;
617 - 9999-r1) EGIT_BRANCH=master ;;
618 - 9999-r2) EGIT_BRANCH=next;;
619 - 9999-r3) EGIT_BRANCH=seen ;;
620 - esac
621 -fi
622 -
623 -MY_PV="${PV/_rc/.rc}"
624 -MY_P="${PN}-${MY_PV}"
625 -
626 -DOC_VER="${MY_PV}"
627 -
628 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
629 -HOMEPAGE="https://www.git-scm.com/"
630 -if [[ ${PV} != *9999 ]]; then
631 - SRC_URI_SUFFIX="xz"
632 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
633 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
634 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
635 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
636 - doc? (
637 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
638 - )"
639 - [[ "${PV}" == *_rc* ]] || \
640 - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
641 -fi
642 -
643 -LICENSE="GPL-2"
644 -SLOT="0"
645 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
646 -
647 -# Common to both DEPEND and RDEPEND
648 -DEPEND="
649 - gnome-keyring? (
650 - app-crypt/libsecret
651 - dev-libs/glib:2
652 - )
653 - dev-libs/openssl:0=
654 - sys-libs/zlib
655 - pcre? ( dev-libs/libpcre2:= )
656 - perl? ( dev-lang/perl:=[-build(-)] )
657 - tk? ( dev-lang/tk:0= )
658 - curl? (
659 - net-misc/curl
660 - webdav? ( dev-libs/expat )
661 - )
662 - iconv? ( virtual/libiconv )
663 -"
664 -
665 -RDEPEND="${DEPEND}
666 - gpg? ( app-crypt/gnupg )
667 - perl? (
668 - dev-perl/Error
669 - dev-perl/MailTools
670 - dev-perl/Authen-SASL
671 - >=virtual/perl-libnet-3.110.0-r4[ssl]
672 - cgi? (
673 - dev-perl/CGI
674 - highlight? ( app-text/highlight )
675 - )
676 - cvs? (
677 - >=dev-vcs/cvsps-2.1:0
678 - dev-perl/DBI
679 - dev-perl/DBD-SQLite
680 - )
681 - mediawiki? (
682 - dev-perl/DateTime-Format-ISO8601
683 - dev-perl/HTML-Tree
684 - dev-perl/MediaWiki-API
685 - )
686 - subversion? (
687 - dev-vcs/subversion[-dso(-),perl]
688 - dev-perl/libwww-perl
689 - dev-perl/TermReadKey
690 - )
691 - )
692 - perforce? ( ${PYTHON_DEPS} )
693 -"
694 -
695 -# This is how info docs are created with Git:
696 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
697 -# .xml/docbook --(docbook2texi.pl)--> .texi
698 -# .texi --(makeinfo)---------> .info
699 -BDEPEND="
700 - doc? (
701 - app-text/asciidoc
702 - app-text/docbook2X
703 - app-text/xmlto
704 - sys-apps/texinfo
705 - )
706 - gnome-keyring? ( virtual/pkgconfig )
707 - nls? ( sys-devel/gettext )
708 - test? ( app-crypt/gnupg )
709 -"
710 -
711 -# Live ebuild builds man pages and HTML docs, additionally
712 -if [[ ${PV} == *9999 ]]; then
713 - BDEPEND="${BDEPEND}
714 - app-text/asciidoc"
715 -fi
716 -
717 -SITEFILE="50${PN}-gentoo.el"
718 -S="${WORKDIR}/${MY_P}"
719 -
720 -REQUIRED_USE="
721 - cgi? ( perl )
722 - cvs? ( perl )
723 - mediawiki? ( perl )
724 - mediawiki-experimental? ( mediawiki )
725 - perforce? ( ${PYTHON_REQUIRED_USE} )
726 - subversion? ( perl )
727 - webdav? ( curl )
728 -"
729 -
730 -RESTRICT="!test? ( test )"
731 -
732 -PATCHES=(
733 - # bug #350330 - automagic CVS when we don't want it is bad.
734 - "${FILESDIR}"/git-2.31.0_rc0-optional-cvs.patch
735 -
736 - # Make submodule output quiet
737 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
738 -
739 - # See bug #751907
740 - # Test fails due to exported ${D} in src_test
741 - "${FILESDIR}"/git-2.32.0-r1-test-t5582.patch
742 -)
743 -
744 -pkg_setup() {
745 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
746 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
747 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
748 - ewarn "have been warned."
749 - fi
750 -
751 - if use perforce ; then
752 - python-single-r1_pkg_setup
753 - fi
754 -}
755 -
756 -# This is needed because for some obscure reasons future calls to make don't
757 -# pick up these exports if we export them in src_unpack()
758 -exportmakeopts() {
759 - local extlibs myopts
760 -
761 - myopts=(
762 - ASCIIDOC_NO_ROFF=YesPlease
763 - $(usex cvs '' NO_CVS=YesPlease)
764 - $(usex elibc_musl NO_REGEX=YesPlease '')
765 - $(usex iconv '' NO_ICONV=YesPlease)
766 - $(usex nls '' NO_GETTEXT=YesPlease)
767 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
768 - $(usex perforce '' NO_PYTHON=YesPlease)
769 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
770 - $(usex threads '' NO_PTHREADS=YesPlease)
771 - $(usex tk '' NO_TCLTK=YesPlease)
772 - )
773 -
774 - if use blksha1 ; then
775 - myopts+=( BLK_SHA1=YesPlease )
776 - elif use ppcsha1 ; then
777 - myopts+=( PPC_SHA1=YesPlease )
778 - fi
779 -
780 - if use curl ; then
781 - use webdav || myopts+=( NO_EXPAT=YesPlease )
782 - else
783 - myopts+=( NO_CURL=YesPlease )
784 - fi
785 -
786 - # broken assumptions, because of static build system ...
787 - myopts+=(
788 - NO_FINK=YesPlease
789 - NO_DARWIN_PORTS=YesPlease
790 - INSTALL=install
791 - TAR=tar
792 - SHELL_PATH="${EPREFIX}/bin/sh"
793 - SANE_TOOL_PATH=
794 - OLD_ICONV=
795 - NO_EXTERNAL_GREP=
796 - )
797 -
798 - # can't define this to null, since the entire makefile depends on it
799 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
800 -
801 - if use pcre; then
802 - myopts+=( USE_LIBPCRE2=YesPlease )
803 - extlibs+=( -lpcre2-8 )
804 - fi
805 - if [[ ${CHOST} == *-solaris* ]]; then
806 - myopts+=(
807 - NEEDS_LIBICONV=YesPlease
808 - HAVE_CLOCK_MONOTONIC=1
809 - )
810 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
811 - myopts+=( HAVE_GETDELIM=1 )
812 - fi
813 - fi
814 -
815 - if has_version '>=app-text/asciidoc-8.0' ; then
816 - myopts+=( ASCIIDOC8=YesPlease )
817 - fi
818 -
819 - export MY_MAKEOPTS="${myopts[@]}"
820 - export EXTLIBS="${extlibs[@]}"
821 -}
822 -
823 -src_unpack() {
824 - if [[ ${PV} != *9999 ]] ; then
825 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
826 - cd "${S}" || die
827 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
828 - if use doc ; then
829 - pushd "${S}"/Documentation &>/dev/null || die
830 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
831 - popd &>/dev/null || die
832 - fi
833 - else
834 - git-r3_src_unpack
835 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
836 - fi
837 -
838 -}
839 -
840 -src_prepare() {
841 - # add experimental patches to improve mediawiki support
842 - # see patches for origin
843 - if use mediawiki-experimental ; then
844 - PATCHES+=(
845 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
846 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
847 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
848 - )
849 - fi
850 -
851 - default
852 -
853 - if use prefix ; then
854 - # bug #757309
855 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
856 - fi
857 -
858 - sed -i \
859 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
860 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
861 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
862 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
863 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
864 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
865 - Makefile || die
866 -
867 - # Fix docbook2texi command
868 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
869 - Documentation/Makefile || die
870 -}
871 -
872 -git_emake() {
873 - # bug #320647: PYTHON_PATH
874 - local PYTHON_PATH=""
875 - use perforce && PYTHON_PATH="${PYTHON}"
876 - emake ${MY_MAKEOPTS} \
877 - prefix="${EPREFIX}"/usr \
878 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
879 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
880 - sysconfdir="${EPREFIX}"/etc \
881 - GIT_TEST_OPTS="--no-color" \
882 - OPTAR="$(tc-getAR)" \
883 - OPTCC="$(tc-getCC)" \
884 - OPTCFLAGS="${CFLAGS}" \
885 - OPTLDFLAGS="${LDFLAGS}" \
886 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
887 - PERL_MM_OPT="" \
888 - PYTHON_PATH="${PYTHON_PATH}" \
889 - V=1 \
890 - "$@"
891 -}
892 -
893 -src_configure() {
894 - exportmakeopts
895 -}
896 -
897 -src_compile() {
898 - git_emake || die "emake failed"
899 -
900 - if use perl && use cgi ; then
901 - git_emake gitweb || die "emake gitweb (cgi) failed"
902 - fi
903 -
904 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
905 - pushd contrib/credential/osxkeychain &>/dev/null || die
906 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
907 - || die "emake credential-osxkeychain"
908 - popd &>/dev/null || die
909 - fi
910 -
911 - pushd Documentation &>/dev/null || die
912 - if [[ ${PV} == *9999 ]] ; then
913 - git_emake man || die "emake man failed"
914 - if use doc ; then
915 - git_emake info html || die "emake info html failed"
916 - fi
917 - else
918 - if use doc ; then
919 - git_emake info || die "emake info html failed"
920 - fi
921 - fi
922 - popd &>/dev/null || die
923 -
924 - if use gnome-keyring ; then
925 - pushd contrib/credential/libsecret &>/dev/null || die
926 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
927 - popd &>/dev/null || die
928 - fi
929 -
930 - pushd contrib/subtree &>/dev/null || die
931 - git_emake git-subtree || die
932 - # git-subtree.1 requires the full USE=doc dependency stack
933 - use doc && git_emake git-subtree.html git-subtree.1
934 - popd &>/dev/null || die
935 -
936 - pushd contrib/diff-highlight &>/dev/null || die
937 - git_emake || die
938 - popd &>/dev/null || die
939 -
940 - if use mediawiki ; then
941 - pushd contrib/mw-to-git &>/dev/null || die
942 - git_emake || die
943 - popd &>/dev/null || die
944 -
945 - fi
946 -}
947 -
948 -src_install() {
949 - git_emake DESTDIR="${D}" install || die "make install failed"
950 -
951 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
952 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
953 - fi
954 -
955 - # Depending on the tarball and manual rebuild of the documentation, the
956 - # manpages may exist in either OR both of these directories.
957 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
958 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
959 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
960 - use doc && dodir /usr/share/doc/${PF}/html
961 - local d
962 - for d in / /howto/ /technical/ ; do
963 - docinto ${d}
964 - dodoc Documentation${d}*.txt
965 - if use doc ; then
966 - docinto ${d}/html
967 - dodoc Documentation${d}*.html
968 - fi
969 - done
970 - docinto /
971 - # Upstream does not ship this pre-built :-(
972 - use doc && doinfo Documentation/{git,gitman}.info
973 -
974 - newbashcomp contrib/completion/git-completion.bash ${PN}
975 - bashcomp_alias git gitk
976 - # Not really a bash-completion file (bug #477920)
977 - # but still needed uncompressed (bug #507480)
978 - insinto /usr/share/${PN}
979 - doins contrib/completion/git-prompt.sh
980 -
981 - #dobin contrib/fast-import/git-p4 # Moved upstream
982 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
983 - newbin contrib/fast-import/import-tars.perl import-tars
984 - exeinto /usr/libexec/git-core/
985 - newexe contrib/git-resurrect.sh git-resurrect
986 -
987 - # git-subtree
988 - pushd contrib/subtree &>/dev/null || die
989 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
990 - if use doc ; then
991 - # Do not move git subtree install-man outside USE=doc!
992 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
993 - fi
994 - newdoc README README.git-subtree
995 - dodoc git-subtree.txt
996 - popd &>/dev/null || die
997 -
998 - if use mediawiki ; then
999 - pushd contrib/mw-to-git &>/dev/null || die
1000 - git_emake DESTDIR="${D}" install
1001 - popd &>/dev/null || die
1002 - fi
1003 -
1004 - # diff-highlight
1005 - dobin contrib/diff-highlight/diff-highlight
1006 - newdoc contrib/diff-highlight/README README.diff-highlight
1007 -
1008 - # git-jump
1009 - exeinto /usr/libexec/git-core/
1010 - doexe contrib/git-jump/git-jump
1011 - newdoc contrib/git-jump/README git-jump.txt
1012 -
1013 - # git-contacts
1014 - exeinto /usr/libexec/git-core/
1015 - doexe contrib/contacts/git-contacts
1016 - dodoc contrib/contacts/git-contacts.txt
1017 -
1018 - if use gnome-keyring ; then
1019 - pushd contrib/credential/libsecret &>/dev/null || die
1020 - dobin git-credential-libsecret
1021 - popd &>/dev/null || die
1022 - fi
1023 -
1024 - dodir /usr/share/${PN}/contrib
1025 - # The following are excluded:
1026 - # completion - installed above
1027 - # diff-highlight - done above
1028 - # emacs - removed upstream
1029 - # examples - these are stuff that is not used in Git anymore actually
1030 - # git-jump - done above
1031 - # gitview - installed above
1032 - # p4import - excluded because fast-import has a better one
1033 - # patches - stuff the Git guys made to go upstream to other places
1034 - # persistent-https - TODO
1035 - # mw-to-git - TODO
1036 - # subtree - build seperately
1037 - # svnimport - use git-svn
1038 - # thunderbird-patch-inline - fixes thunderbird
1039 - local contrib_objects=(
1040 - buildsystems
1041 - fast-import
1042 - hg-to-git
1043 - hooks
1044 - remotes2config.sh
1045 - rerere-train.sh
1046 - stats
1047 - workdir
1048 - )
1049 - local i
1050 - for i in "${contrib_objects[@]}" ; do
1051 - cp -rf \
1052 - "${S}"/contrib/${i} \
1053 - "${ED}"/usr/share/${PN}/contrib \
1054 - || die "Failed contrib ${i}"
1055 - done
1056 -
1057 - if use perl && use cgi ; then
1058 - # We used to install in /usr/share/${PN}/gitweb
1059 - # but upstream installs in /usr/share/gitweb
1060 - # so we will install a symlink and use their location for compat with other
1061 - # distros
1062 - dosym ../gitweb /usr/share/${PN}/gitweb
1063 -
1064 - # INSTALL discusses configuration issues, not just installation
1065 - docinto /
1066 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
1067 - newdoc "${S}"/gitweb/README README.gitweb
1068 -
1069 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
1070 - if [[ -d "${d}" ]] ; then
1071 - find "${d}" -name .packlist -delete || die
1072 - fi
1073 - done
1074 - else
1075 - rm -rf "${ED}"/usr/share/gitweb
1076 - fi
1077 -
1078 - if ! use subversion ; then
1079 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
1080 - "${ED}"/usr/share/man/man1/git-svn.1*
1081 - fi
1082 -
1083 - if use xinetd ; then
1084 - insinto /etc/xinetd.d
1085 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
1086 - fi
1087 -
1088 - if ! use prefix ; then
1089 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
1090 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
1091 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
1092 - "git-daemon@.service"
1093 - systemd_dounit "${FILESDIR}/git-daemon.socket"
1094 - fi
1095 -
1096 - perl_delete_localpod
1097 -
1098 - # Remove disabled linguas
1099 - # we could remove sources in src_prepare, but install does not
1100 - # handle missing locale dir well
1101 - rm_loc() {
1102 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
1103 - rm -r "${ED}/usr/share/locale/${1}" || die
1104 - fi
1105 - }
1106 - plocale_for_each_disabled_locale rm_loc
1107 -}
1108 -
1109 -src_test() {
1110 - local disabled=()
1111 - local tests_cvs=(
1112 - t9200-git-cvsexportcommit.sh
1113 - t9400-git-cvsserver-server.sh
1114 - t9401-git-cvsserver-crlf.sh
1115 - t9402-git-cvsserver-refs.sh
1116 - t9600-cvsimport.sh
1117 - t9601-cvsimport-vendor-branch.sh
1118 - t9602-cvsimport-branches-tags.sh
1119 - t9603-cvsimport-patchsets.sh
1120 - t9604-cvsimport-timestamps.sh
1121 - )
1122 - local tests_perl=(
1123 - t3701-add-interactive.sh
1124 - t5502-quickfetch.sh
1125 - t5512-ls-remote.sh
1126 - t5520-pull.sh
1127 - t7106-reset-unborn-branch.sh
1128 - t7501-commit.sh
1129 - )
1130 - # Bug #225601 - t0004 is not suitable for root perm
1131 - # Bug #219839 - t1004 is not suitable for root perm
1132 - # t0001-init.sh - check for init notices EPERM* fails
1133 - local tests_nonroot=(
1134 - t0001-init.sh
1135 - t0004-unwritable.sh
1136 - t0070-fundamental.sh
1137 - t1004-read-tree-m-u-wf.sh
1138 - t3700-add.sh
1139 - t7300-clean.sh
1140 - )
1141 - # t9100 still fails with symlinks in SVN 1.7
1142 - local test_svn=( t9100-git-svn-basic.sh )
1143 -
1144 - # Unzip is used only for the testcase code, not by any normal parts of Git.
1145 - if ! has_version app-arch/unzip ; then
1146 - einfo "Disabling tar-tree tests"
1147 - disabled+=( t5000-tar-tree.sh )
1148 - fi
1149 -
1150 - local cvs=0
1151 - use cvs && let cvs=${cvs}+1
1152 - if [[ ${EUID} -eq 0 ]] ; then
1153 - if [[ ${cvs} -eq 1 ]] ; then
1154 - ewarn "Skipping CVS tests because CVS does not work as root!"
1155 - ewarn "You should retest with FEATURES=userpriv!"
1156 - disabled+=( ${tests_cvs[@]} )
1157 - fi
1158 - einfo "Skipping other tests that require being non-root"
1159 - disabled+=( ${tests_nonroot[@]} )
1160 - else
1161 - [[ ${cvs} -gt 0 ]] && \
1162 - has_version dev-vcs/cvs && \
1163 - let cvs=${cvs}+1
1164 - [[ ${cvs} -gt 1 ]] && \
1165 - has_version "dev-vcs/cvs[server]" && \
1166 - let cvs=${cvs}+1
1167 - if [[ ${cvs} -lt 3 ]] ; then
1168 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
1169 - disabled+=( ${tests_cvs[@]} )
1170 - fi
1171 - fi
1172 -
1173 - if ! use perl ; then
1174 - einfo "Disabling tests that need Perl"
1175 - disabled+=( ${tests_perl[@]} )
1176 - fi
1177 -
1178 - einfo "Disabling tests that fail with SVN 1.7"
1179 - disabled+=( ${test_svn[@]} )
1180 -
1181 - # Reset all previously disabled tests
1182 - pushd t &>/dev/null || die
1183 - local i
1184 - for i in *.sh.DISABLED ; do
1185 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
1186 - done
1187 - einfo "Disabled tests:"
1188 - for i in ${disabled[@]} ; do
1189 - if [[ -f "${i}" ]] ; then
1190 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
1191 - fi
1192 - done
1193 -
1194 - # Avoid the test system removing the results because we want them ourselves
1195 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
1196 -
1197 - # Clean old results first, must always run
1198 - nonfatal git_emake clean
1199 - popd &>/dev/null || die
1200 -
1201 - # Now run the tests, keep going if we hit an error, and don't terminate on
1202 - # failure
1203 - local rc
1204 - einfo "Start test run"
1205 - #MAKEOPTS=-j1
1206 - nonfatal git_emake --keep-going test
1207 - rc=$?
1208 -
1209 - # Display nice results, now print the results
1210 - pushd t &>/dev/null || die
1211 - nonfatal git_emake aggregate-results
1212 -
1213 - # And bail if there was a problem
1214 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
1215 -}
1216 -
1217 -showpkgdeps() {
1218 - local pkg=$1
1219 - shift
1220 - elog " $(printf "%-17s:" ${pkg}) ${@}"
1221 -}
1222 -
1223 -pkg_postinst() {
1224 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
1225 - elog "completion."
1226 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
1227 - elog "Note that the prompt bash code is now in that separate script"
1228 - elog "These additional scripts need some dependencies:"
1229 - echo
1230 - showpkgdeps git-quiltimport "dev-util/quilt"
1231 - showpkgdeps git-instaweb \
1232 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
1233 - echo
1234 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
1235 -}
1236
1237 diff --git a/dev-vcs/git/git-2.33.1.ebuild b/dev-vcs/git/git-2.33.1.ebuild
1238 deleted file mode 100644
1239 index edf538fcc61a..000000000000
1240 --- a/dev-vcs/git/git-2.33.1.ebuild
1241 +++ /dev/null
1242 @@ -1,640 +0,0 @@
1243 -# Copyright 1999-2022 Gentoo Authors
1244 -# Distributed under the terms of the GNU General Public License v2
1245 -
1246 -EAPI=8
1247 -
1248 -GENTOO_DEPEND_ON_PERL=no
1249 -
1250 -# bug #329479: git-remote-testgit is not multiple-version aware
1251 -PYTHON_COMPAT=( python3_{8..10} )
1252 -
1253 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
1254 -
1255 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
1256 -if [[ ${PV} == *9999 ]]; then
1257 - inherit git-r3
1258 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
1259 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
1260 - # See https://git-scm.com/docs/gitworkflows#_graduation
1261 - # In order of stability:
1262 - # 9999-r0: maint
1263 - # 9999-r1: master
1264 - # 9999-r2: next
1265 - # 9999-r3: seen
1266 - case "${PVR}" in
1267 - 9999) EGIT_BRANCH=maint ;;
1268 - 9999-r1) EGIT_BRANCH=master ;;
1269 - 9999-r2) EGIT_BRANCH=next;;
1270 - 9999-r3) EGIT_BRANCH=seen ;;
1271 - esac
1272 -fi
1273 -
1274 -MY_PV="${PV/_rc/.rc}"
1275 -MY_P="${PN}-${MY_PV}"
1276 -
1277 -DOC_VER="${MY_PV}"
1278 -
1279 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
1280 -HOMEPAGE="https://www.git-scm.com/"
1281 -if [[ ${PV} != *9999 ]]; then
1282 - SRC_URI_SUFFIX="xz"
1283 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
1284 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
1285 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
1286 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1287 - doc? (
1288 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1289 - )"
1290 - [[ "${PV}" == *_rc* ]] || \
1291 - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
1292 -fi
1293 -
1294 -LICENSE="GPL-2"
1295 -SLOT="0"
1296 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
1297 -
1298 -# Common to both DEPEND and RDEPEND
1299 -DEPEND="
1300 - gnome-keyring? (
1301 - app-crypt/libsecret
1302 - dev-libs/glib:2
1303 - )
1304 - dev-libs/openssl:0=
1305 - sys-libs/zlib
1306 - pcre? ( dev-libs/libpcre2:= )
1307 - perl? ( dev-lang/perl:=[-build(-)] )
1308 - tk? ( dev-lang/tk:0= )
1309 - curl? (
1310 - net-misc/curl
1311 - webdav? ( dev-libs/expat )
1312 - )
1313 - iconv? ( virtual/libiconv )
1314 -"
1315 -
1316 -RDEPEND="${DEPEND}
1317 - gpg? ( app-crypt/gnupg )
1318 - perl? (
1319 - dev-perl/Error
1320 - dev-perl/MailTools
1321 - dev-perl/Authen-SASL
1322 - >=virtual/perl-libnet-3.110.0-r4[ssl]
1323 - cgi? (
1324 - dev-perl/CGI
1325 - highlight? ( app-text/highlight )
1326 - )
1327 - cvs? (
1328 - >=dev-vcs/cvsps-2.1:0
1329 - dev-perl/DBI
1330 - dev-perl/DBD-SQLite
1331 - )
1332 - mediawiki? (
1333 - dev-perl/DateTime-Format-ISO8601
1334 - dev-perl/HTML-Tree
1335 - dev-perl/MediaWiki-API
1336 - )
1337 - subversion? (
1338 - dev-vcs/subversion[-dso(-),perl]
1339 - dev-perl/libwww-perl
1340 - dev-perl/TermReadKey
1341 - )
1342 - )
1343 - perforce? ( ${PYTHON_DEPS} )
1344 -"
1345 -
1346 -# This is how info docs are created with Git:
1347 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
1348 -# .xml/docbook --(docbook2texi.pl)--> .texi
1349 -# .texi --(makeinfo)---------> .info
1350 -BDEPEND="
1351 - doc? (
1352 - app-text/asciidoc
1353 - app-text/docbook2X
1354 - app-text/xmlto
1355 - sys-apps/texinfo
1356 - )
1357 - gnome-keyring? ( virtual/pkgconfig )
1358 - nls? ( sys-devel/gettext )
1359 - test? ( app-crypt/gnupg )
1360 -"
1361 -
1362 -# Live ebuild builds man pages and HTML docs, additionally
1363 -if [[ ${PV} == *9999 ]]; then
1364 - BDEPEND="${BDEPEND}
1365 - app-text/asciidoc"
1366 -fi
1367 -
1368 -SITEFILE="50${PN}-gentoo.el"
1369 -S="${WORKDIR}/${MY_P}"
1370 -
1371 -REQUIRED_USE="
1372 - cgi? ( perl )
1373 - cvs? ( perl )
1374 - mediawiki? ( perl )
1375 - mediawiki-experimental? ( mediawiki )
1376 - perforce? ( ${PYTHON_REQUIRED_USE} )
1377 - subversion? ( perl )
1378 - webdav? ( curl )
1379 -"
1380 -
1381 -RESTRICT="!test? ( test )"
1382 -
1383 -PATCHES=(
1384 - # bug #350330 - automagic CVS when we don't want it is bad.
1385 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
1386 -
1387 - # Make submodule output quiet
1388 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
1389 -)
1390 -
1391 -pkg_setup() {
1392 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
1393 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
1394 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
1395 - ewarn "have been warned."
1396 - fi
1397 -
1398 - if use perforce ; then
1399 - python-single-r1_pkg_setup
1400 - fi
1401 -}
1402 -
1403 -# This is needed because for some obscure reasons future calls to make don't
1404 -# pick up these exports if we export them in src_unpack()
1405 -exportmakeopts() {
1406 - local extlibs myopts
1407 -
1408 - myopts=(
1409 - ASCIIDOC_NO_ROFF=YesPlease
1410 - $(usex cvs '' NO_CVS=YesPlease)
1411 - $(usex elibc_musl NO_REGEX=YesPlease '')
1412 - $(usex iconv '' NO_ICONV=YesPlease)
1413 - $(usex nls '' NO_GETTEXT=YesPlease)
1414 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
1415 - $(usex perforce '' NO_PYTHON=YesPlease)
1416 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
1417 - $(usex threads '' NO_PTHREADS=YesPlease)
1418 - $(usex tk '' NO_TCLTK=YesPlease)
1419 - )
1420 -
1421 - if use blksha1 ; then
1422 - myopts+=( BLK_SHA1=YesPlease )
1423 - elif use ppcsha1 ; then
1424 - myopts+=( PPC_SHA1=YesPlease )
1425 - fi
1426 -
1427 - if use curl ; then
1428 - use webdav || myopts+=( NO_EXPAT=YesPlease )
1429 - else
1430 - myopts+=( NO_CURL=YesPlease )
1431 - fi
1432 -
1433 - # broken assumptions, because of static build system ...
1434 - myopts+=(
1435 - NO_FINK=YesPlease
1436 - NO_DARWIN_PORTS=YesPlease
1437 - INSTALL=install
1438 - TAR=tar
1439 - SHELL_PATH="${EPREFIX}/bin/sh"
1440 - SANE_TOOL_PATH=
1441 - OLD_ICONV=
1442 - NO_EXTERNAL_GREP=
1443 - )
1444 -
1445 - # can't define this to null, since the entire makefile depends on it
1446 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
1447 -
1448 - if use pcre; then
1449 - myopts+=( USE_LIBPCRE2=YesPlease )
1450 - extlibs+=( -lpcre2-8 )
1451 - fi
1452 - if [[ ${CHOST} == *-solaris* ]]; then
1453 - myopts+=(
1454 - NEEDS_LIBICONV=YesPlease
1455 - HAVE_CLOCK_MONOTONIC=1
1456 - )
1457 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
1458 - myopts+=( HAVE_GETDELIM=1 )
1459 - fi
1460 - fi
1461 -
1462 - if has_version '>=app-text/asciidoc-8.0' ; then
1463 - myopts+=( ASCIIDOC8=YesPlease )
1464 - fi
1465 -
1466 - export MY_MAKEOPTS="${myopts[@]}"
1467 - export EXTLIBS="${extlibs[@]}"
1468 -}
1469 -
1470 -src_unpack() {
1471 - if [[ ${PV} != *9999 ]] ; then
1472 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
1473 - cd "${S}" || die
1474 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1475 - if use doc ; then
1476 - pushd "${S}"/Documentation &>/dev/null || die
1477 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1478 - popd &>/dev/null || die
1479 - fi
1480 - else
1481 - git-r3_src_unpack
1482 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
1483 - fi
1484 -
1485 -}
1486 -
1487 -src_prepare() {
1488 - # add experimental patches to improve mediawiki support
1489 - # see patches for origin
1490 - if use mediawiki-experimental ; then
1491 - PATCHES+=(
1492 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
1493 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
1494 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
1495 - )
1496 - fi
1497 -
1498 - default
1499 -
1500 - if use prefix ; then
1501 - # bug #757309
1502 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
1503 - fi
1504 -
1505 - sed -i \
1506 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
1507 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
1508 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
1509 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
1510 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
1511 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
1512 - Makefile || die
1513 -
1514 - # Fix docbook2texi command
1515 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
1516 - Documentation/Makefile || die
1517 -}
1518 -
1519 -git_emake() {
1520 - # bug #320647: PYTHON_PATH
1521 - local PYTHON_PATH=""
1522 - use perforce && PYTHON_PATH="${PYTHON}"
1523 - emake ${MY_MAKEOPTS} \
1524 - prefix="${EPREFIX}"/usr \
1525 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
1526 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
1527 - sysconfdir="${EPREFIX}"/etc \
1528 - GIT_TEST_OPTS="--no-color" \
1529 - OPTAR="$(tc-getAR)" \
1530 - OPTCC="$(tc-getCC)" \
1531 - OPTCFLAGS="${CFLAGS}" \
1532 - OPTLDFLAGS="${LDFLAGS}" \
1533 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
1534 - PERL_MM_OPT="" \
1535 - PYTHON_PATH="${PYTHON_PATH}" \
1536 - V=1 \
1537 - "$@"
1538 -}
1539 -
1540 -src_configure() {
1541 - exportmakeopts
1542 -}
1543 -
1544 -src_compile() {
1545 - git_emake || die "emake failed"
1546 -
1547 - if use perl && use cgi ; then
1548 - git_emake gitweb || die "emake gitweb (cgi) failed"
1549 - fi
1550 -
1551 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
1552 - pushd contrib/credential/osxkeychain &>/dev/null || die
1553 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
1554 - || die "emake credential-osxkeychain"
1555 - popd &>/dev/null || die
1556 - fi
1557 -
1558 - pushd Documentation &>/dev/null || die
1559 - if [[ ${PV} == *9999 ]] ; then
1560 - git_emake man || die "emake man failed"
1561 - if use doc ; then
1562 - git_emake info html || die "emake info html failed"
1563 - fi
1564 - else
1565 - if use doc ; then
1566 - git_emake info || die "emake info html failed"
1567 - fi
1568 - fi
1569 - popd &>/dev/null || die
1570 -
1571 - if use gnome-keyring ; then
1572 - pushd contrib/credential/libsecret &>/dev/null || die
1573 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
1574 - popd &>/dev/null || die
1575 - fi
1576 -
1577 - pushd contrib/subtree &>/dev/null || die
1578 - git_emake git-subtree || die
1579 - # git-subtree.1 requires the full USE=doc dependency stack
1580 - use doc && git_emake git-subtree.html git-subtree.1
1581 - popd &>/dev/null || die
1582 -
1583 - pushd contrib/diff-highlight &>/dev/null || die
1584 - git_emake || die
1585 - popd &>/dev/null || die
1586 -
1587 - if use mediawiki ; then
1588 - pushd contrib/mw-to-git &>/dev/null || die
1589 - git_emake || die
1590 - popd &>/dev/null || die
1591 -
1592 - fi
1593 -}
1594 -
1595 -src_install() {
1596 - git_emake DESTDIR="${D}" install || die "make install failed"
1597 -
1598 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
1599 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
1600 - fi
1601 -
1602 - # Depending on the tarball and manual rebuild of the documentation, the
1603 - # manpages may exist in either OR both of these directories.
1604 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
1605 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
1606 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
1607 - use doc && dodir /usr/share/doc/${PF}/html
1608 - local d
1609 - for d in / /howto/ /technical/ ; do
1610 - docinto ${d}
1611 - dodoc Documentation${d}*.txt
1612 - if use doc ; then
1613 - docinto ${d}/html
1614 - dodoc Documentation${d}*.html
1615 - fi
1616 - done
1617 - docinto /
1618 - # Upstream does not ship this pre-built :-(
1619 - use doc && doinfo Documentation/{git,gitman}.info
1620 -
1621 - newbashcomp contrib/completion/git-completion.bash ${PN}
1622 - bashcomp_alias git gitk
1623 - # Not really a bash-completion file (bug #477920)
1624 - # but still needed uncompressed (bug #507480)
1625 - insinto /usr/share/${PN}
1626 - doins contrib/completion/git-prompt.sh
1627 -
1628 - #dobin contrib/fast-import/git-p4 # Moved upstream
1629 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
1630 - newbin contrib/fast-import/import-tars.perl import-tars
1631 - exeinto /usr/libexec/git-core/
1632 - newexe contrib/git-resurrect.sh git-resurrect
1633 -
1634 - # git-subtree
1635 - pushd contrib/subtree &>/dev/null || die
1636 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
1637 - if use doc ; then
1638 - # Do not move git subtree install-man outside USE=doc!
1639 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
1640 - fi
1641 - newdoc README README.git-subtree
1642 - dodoc git-subtree.txt
1643 - popd &>/dev/null || die
1644 -
1645 - if use mediawiki ; then
1646 - pushd contrib/mw-to-git &>/dev/null || die
1647 - git_emake DESTDIR="${D}" install
1648 - popd &>/dev/null || die
1649 - fi
1650 -
1651 - # diff-highlight
1652 - dobin contrib/diff-highlight/diff-highlight
1653 - newdoc contrib/diff-highlight/README README.diff-highlight
1654 -
1655 - # git-jump
1656 - exeinto /usr/libexec/git-core/
1657 - doexe contrib/git-jump/git-jump
1658 - newdoc contrib/git-jump/README git-jump.txt
1659 -
1660 - # git-contacts
1661 - exeinto /usr/libexec/git-core/
1662 - doexe contrib/contacts/git-contacts
1663 - dodoc contrib/contacts/git-contacts.txt
1664 -
1665 - if use gnome-keyring ; then
1666 - pushd contrib/credential/libsecret &>/dev/null || die
1667 - dobin git-credential-libsecret
1668 - popd &>/dev/null || die
1669 - fi
1670 -
1671 - dodir /usr/share/${PN}/contrib
1672 - # The following are excluded:
1673 - # completion - installed above
1674 - # diff-highlight - done above
1675 - # emacs - removed upstream
1676 - # examples - these are stuff that is not used in Git anymore actually
1677 - # git-jump - done above
1678 - # gitview - installed above
1679 - # p4import - excluded because fast-import has a better one
1680 - # patches - stuff the Git guys made to go upstream to other places
1681 - # persistent-https - TODO
1682 - # mw-to-git - TODO
1683 - # subtree - build seperately
1684 - # svnimport - use git-svn
1685 - # thunderbird-patch-inline - fixes thunderbird
1686 - local contrib_objects=(
1687 - buildsystems
1688 - fast-import
1689 - hg-to-git
1690 - hooks
1691 - remotes2config.sh
1692 - rerere-train.sh
1693 - stats
1694 - workdir
1695 - )
1696 - local i
1697 - for i in "${contrib_objects[@]}" ; do
1698 - cp -rf \
1699 - "${S}"/contrib/${i} \
1700 - "${ED}"/usr/share/${PN}/contrib \
1701 - || die "Failed contrib ${i}"
1702 - done
1703 -
1704 - if use perl && use cgi ; then
1705 - # We used to install in /usr/share/${PN}/gitweb
1706 - # but upstream installs in /usr/share/gitweb
1707 - # so we will install a symlink and use their location for compat with other
1708 - # distros
1709 - dosym ../gitweb /usr/share/${PN}/gitweb
1710 -
1711 - # INSTALL discusses configuration issues, not just installation
1712 - docinto /
1713 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
1714 - newdoc "${S}"/gitweb/README README.gitweb
1715 -
1716 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
1717 - if [[ -d "${d}" ]] ; then
1718 - find "${d}" -name .packlist -delete || die
1719 - fi
1720 - done
1721 - else
1722 - rm -rf "${ED}"/usr/share/gitweb
1723 - fi
1724 -
1725 - if ! use subversion ; then
1726 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
1727 - "${ED}"/usr/share/man/man1/git-svn.1*
1728 - fi
1729 -
1730 - if use xinetd ; then
1731 - insinto /etc/xinetd.d
1732 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
1733 - fi
1734 -
1735 - if ! use prefix ; then
1736 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
1737 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
1738 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
1739 - "git-daemon@.service"
1740 - systemd_dounit "${FILESDIR}/git-daemon.socket"
1741 - fi
1742 -
1743 - perl_delete_localpod
1744 -
1745 - # Remove disabled linguas
1746 - # we could remove sources in src_prepare, but install does not
1747 - # handle missing locale dir well
1748 - rm_loc() {
1749 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
1750 - rm -r "${ED}/usr/share/locale/${1}" || die
1751 - fi
1752 - }
1753 - plocale_for_each_disabled_locale rm_loc
1754 -}
1755 -
1756 -src_test() {
1757 - local disabled=()
1758 - local tests_cvs=(
1759 - t9200-git-cvsexportcommit.sh
1760 - t9400-git-cvsserver-server.sh
1761 - t9401-git-cvsserver-crlf.sh
1762 - t9402-git-cvsserver-refs.sh
1763 - t9600-cvsimport.sh
1764 - t9601-cvsimport-vendor-branch.sh
1765 - t9602-cvsimport-branches-tags.sh
1766 - t9603-cvsimport-patchsets.sh
1767 - t9604-cvsimport-timestamps.sh
1768 - )
1769 - local tests_perl=(
1770 - t3701-add-interactive.sh
1771 - t5502-quickfetch.sh
1772 - t5512-ls-remote.sh
1773 - t5520-pull.sh
1774 - t7106-reset-unborn-branch.sh
1775 - t7501-commit.sh
1776 - )
1777 - # Bug #225601 - t0004 is not suitable for root perm
1778 - # Bug #219839 - t1004 is not suitable for root perm
1779 - # t0001-init.sh - check for init notices EPERM* fails
1780 - local tests_nonroot=(
1781 - t0001-init.sh
1782 - t0004-unwritable.sh
1783 - t0070-fundamental.sh
1784 - t1004-read-tree-m-u-wf.sh
1785 - t3700-add.sh
1786 - t7300-clean.sh
1787 - )
1788 - # t9100 still fails with symlinks in SVN 1.7
1789 - local test_svn=( t9100-git-svn-basic.sh )
1790 -
1791 - # Unzip is used only for the testcase code, not by any normal parts of Git.
1792 - if ! has_version app-arch/unzip ; then
1793 - einfo "Disabling tar-tree tests"
1794 - disabled+=( t5000-tar-tree.sh )
1795 - fi
1796 -
1797 - local cvs=0
1798 - use cvs && let cvs=${cvs}+1
1799 - if [[ ${EUID} -eq 0 ]] ; then
1800 - if [[ ${cvs} -eq 1 ]] ; then
1801 - ewarn "Skipping CVS tests because CVS does not work as root!"
1802 - ewarn "You should retest with FEATURES=userpriv!"
1803 - disabled+=( ${tests_cvs[@]} )
1804 - fi
1805 - einfo "Skipping other tests that require being non-root"
1806 - disabled+=( ${tests_nonroot[@]} )
1807 - else
1808 - [[ ${cvs} -gt 0 ]] && \
1809 - has_version dev-vcs/cvs && \
1810 - let cvs=${cvs}+1
1811 - [[ ${cvs} -gt 1 ]] && \
1812 - has_version "dev-vcs/cvs[server]" && \
1813 - let cvs=${cvs}+1
1814 - if [[ ${cvs} -lt 3 ]] ; then
1815 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
1816 - disabled+=( ${tests_cvs[@]} )
1817 - fi
1818 - fi
1819 -
1820 - if ! use perl ; then
1821 - einfo "Disabling tests that need Perl"
1822 - disabled+=( ${tests_perl[@]} )
1823 - fi
1824 -
1825 - einfo "Disabling tests that fail with SVN 1.7"
1826 - disabled+=( ${test_svn[@]} )
1827 -
1828 - # Reset all previously disabled tests
1829 - pushd t &>/dev/null || die
1830 - local i
1831 - for i in *.sh.DISABLED ; do
1832 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
1833 - done
1834 - einfo "Disabled tests:"
1835 - for i in ${disabled[@]} ; do
1836 - if [[ -f "${i}" ]] ; then
1837 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
1838 - fi
1839 - done
1840 -
1841 - # Avoid the test system removing the results because we want them ourselves
1842 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
1843 -
1844 - # Clean old results first, must always run
1845 - nonfatal git_emake clean
1846 - popd &>/dev/null || die
1847 -
1848 - # Now run the tests, keep going if we hit an error, and don't terminate on
1849 - # failure
1850 - local rc
1851 - einfo "Start test run"
1852 - #MAKEOPTS=-j1
1853 - nonfatal git_emake --keep-going test
1854 - rc=$?
1855 -
1856 - # Display nice results, now print the results
1857 - pushd t &>/dev/null || die
1858 - nonfatal git_emake aggregate-results
1859 -
1860 - # And bail if there was a problem
1861 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
1862 -}
1863 -
1864 -showpkgdeps() {
1865 - local pkg=$1
1866 - shift
1867 - elog " $(printf "%-17s:" ${pkg}) ${@}"
1868 -}
1869 -
1870 -pkg_postinst() {
1871 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
1872 - elog "completion."
1873 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
1874 - elog "Note that the prompt bash code is now in that separate script"
1875 - elog "These additional scripts need some dependencies:"
1876 - echo
1877 - showpkgdeps git-quiltimport "dev-util/quilt"
1878 - showpkgdeps git-instaweb \
1879 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
1880 - echo
1881 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
1882 -}
1883
1884 diff --git a/dev-vcs/git/git-2.34.1-r1.ebuild b/dev-vcs/git/git-2.34.1-r1.ebuild
1885 deleted file mode 100644
1886 index 05833fea5ead..000000000000
1887 --- a/dev-vcs/git/git-2.34.1-r1.ebuild
1888 +++ /dev/null
1889 @@ -1,640 +0,0 @@
1890 -# Copyright 1999-2022 Gentoo Authors
1891 -# Distributed under the terms of the GNU General Public License v2
1892 -
1893 -EAPI=8
1894 -
1895 -GENTOO_DEPEND_ON_PERL=no
1896 -
1897 -# bug #329479: git-remote-testgit is not multiple-version aware
1898 -PYTHON_COMPAT=( python3_{8..10} )
1899 -
1900 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
1901 -
1902 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
1903 -if [[ ${PV} == *9999 ]]; then
1904 - inherit git-r3
1905 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
1906 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
1907 - # See https://git-scm.com/docs/gitworkflows#_graduation
1908 - # In order of stability:
1909 - # 9999-r0: maint
1910 - # 9999-r1: master
1911 - # 9999-r2: next
1912 - # 9999-r3: seen
1913 - case "${PVR}" in
1914 - 9999) EGIT_BRANCH=maint ;;
1915 - 9999-r1) EGIT_BRANCH=master ;;
1916 - 9999-r2) EGIT_BRANCH=next;;
1917 - 9999-r3) EGIT_BRANCH=seen ;;
1918 - esac
1919 -fi
1920 -
1921 -MY_PV="${PV/_rc/.rc}"
1922 -MY_P="${PN}-${MY_PV}"
1923 -
1924 -DOC_VER="${MY_PV}"
1925 -
1926 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
1927 -HOMEPAGE="https://www.git-scm.com/"
1928 -if [[ ${PV} != *9999 ]]; then
1929 - SRC_URI_SUFFIX="xz"
1930 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
1931 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
1932 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
1933 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1934 - doc? (
1935 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
1936 - )"
1937 - [[ "${PV}" == *_rc* ]] || \
1938 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
1939 -fi
1940 -
1941 -LICENSE="GPL-2"
1942 -SLOT="0"
1943 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
1944 -
1945 -# Common to both DEPEND and RDEPEND
1946 -DEPEND="
1947 - gnome-keyring? (
1948 - app-crypt/libsecret
1949 - dev-libs/glib:2
1950 - )
1951 - dev-libs/openssl:0=
1952 - sys-libs/zlib
1953 - pcre? ( dev-libs/libpcre2:= )
1954 - perl? ( dev-lang/perl:=[-build(-)] )
1955 - tk? ( dev-lang/tk:0= )
1956 - curl? (
1957 - net-misc/curl
1958 - webdav? ( dev-libs/expat )
1959 - )
1960 - iconv? ( virtual/libiconv )
1961 -"
1962 -
1963 -RDEPEND="${DEPEND}
1964 - gpg? ( app-crypt/gnupg )
1965 - perl? (
1966 - dev-perl/Error
1967 - dev-perl/MailTools
1968 - dev-perl/Authen-SASL
1969 - >=virtual/perl-libnet-3.110.0-r4[ssl]
1970 - cgi? (
1971 - dev-perl/CGI
1972 - highlight? ( app-text/highlight )
1973 - )
1974 - cvs? (
1975 - >=dev-vcs/cvsps-2.1:0
1976 - dev-perl/DBI
1977 - dev-perl/DBD-SQLite
1978 - )
1979 - mediawiki? (
1980 - dev-perl/DateTime-Format-ISO8601
1981 - dev-perl/HTML-Tree
1982 - dev-perl/MediaWiki-API
1983 - )
1984 - subversion? (
1985 - dev-vcs/subversion[-dso(-),perl]
1986 - dev-perl/libwww-perl
1987 - dev-perl/TermReadKey
1988 - )
1989 - )
1990 - perforce? ( ${PYTHON_DEPS} )
1991 -"
1992 -
1993 -# This is how info docs are created with Git:
1994 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
1995 -# .xml/docbook --(docbook2texi.pl)--> .texi
1996 -# .texi --(makeinfo)---------> .info
1997 -BDEPEND="
1998 - doc? (
1999 - app-text/asciidoc
2000 - app-text/docbook2X
2001 - app-text/xmlto
2002 - sys-apps/texinfo
2003 - )
2004 - gnome-keyring? ( virtual/pkgconfig )
2005 - nls? ( sys-devel/gettext )
2006 - test? ( app-crypt/gnupg )
2007 -"
2008 -
2009 -# Live ebuild builds man pages and HTML docs, additionally
2010 -if [[ ${PV} == *9999 ]]; then
2011 - BDEPEND="${BDEPEND}
2012 - app-text/asciidoc"
2013 -fi
2014 -
2015 -SITEFILE="50${PN}-gentoo.el"
2016 -S="${WORKDIR}/${MY_P}"
2017 -
2018 -REQUIRED_USE="
2019 - cgi? ( perl )
2020 - cvs? ( perl )
2021 - mediawiki? ( perl )
2022 - mediawiki-experimental? ( mediawiki )
2023 - perforce? ( ${PYTHON_REQUIRED_USE} )
2024 - subversion? ( perl )
2025 - webdav? ( curl )
2026 -"
2027 -
2028 -RESTRICT="!test? ( test )"
2029 -
2030 -PATCHES=(
2031 - # bug #350330 - automagic CVS when we don't want it is bad.
2032 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
2033 -
2034 - # Make submodule output quiet
2035 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
2036 -)
2037 -
2038 -pkg_setup() {
2039 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
2040 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
2041 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
2042 - ewarn "have been warned."
2043 - fi
2044 -
2045 - if use perforce ; then
2046 - python-single-r1_pkg_setup
2047 - fi
2048 -}
2049 -
2050 -# This is needed because for some obscure reasons future calls to make don't
2051 -# pick up these exports if we export them in src_unpack()
2052 -exportmakeopts() {
2053 - local extlibs myopts
2054 -
2055 - myopts=(
2056 - ASCIIDOC_NO_ROFF=YesPlease
2057 - $(usex cvs '' NO_CVS=YesPlease)
2058 - $(usex elibc_musl NO_REGEX=YesPlease '')
2059 - $(usex iconv '' NO_ICONV=YesPlease)
2060 - $(usex nls '' NO_GETTEXT=YesPlease)
2061 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
2062 - $(usex perforce '' NO_PYTHON=YesPlease)
2063 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
2064 - $(usex threads '' NO_PTHREADS=YesPlease)
2065 - $(usex tk '' NO_TCLTK=YesPlease)
2066 - )
2067 -
2068 - if use blksha1 ; then
2069 - myopts+=( BLK_SHA1=YesPlease )
2070 - elif use ppcsha1 ; then
2071 - myopts+=( PPC_SHA1=YesPlease )
2072 - fi
2073 -
2074 - if use curl ; then
2075 - use webdav || myopts+=( NO_EXPAT=YesPlease )
2076 - else
2077 - myopts+=( NO_CURL=YesPlease )
2078 - fi
2079 -
2080 - # broken assumptions, because of static build system ...
2081 - myopts+=(
2082 - NO_FINK=YesPlease
2083 - NO_DARWIN_PORTS=YesPlease
2084 - INSTALL=install
2085 - TAR=tar
2086 - SHELL_PATH="${EPREFIX}/bin/sh"
2087 - SANE_TOOL_PATH=
2088 - OLD_ICONV=
2089 - NO_EXTERNAL_GREP=
2090 - )
2091 -
2092 - # can't define this to null, since the entire makefile depends on it
2093 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
2094 -
2095 - if use pcre; then
2096 - myopts+=( USE_LIBPCRE2=YesPlease )
2097 - extlibs+=( -lpcre2-8 )
2098 - fi
2099 - if [[ ${CHOST} == *-solaris* ]]; then
2100 - myopts+=(
2101 - NEEDS_LIBICONV=YesPlease
2102 - HAVE_CLOCK_MONOTONIC=1
2103 - )
2104 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
2105 - myopts+=( HAVE_GETDELIM=1 )
2106 - fi
2107 - fi
2108 -
2109 - if has_version '>=app-text/asciidoc-8.0' ; then
2110 - myopts+=( ASCIIDOC8=YesPlease )
2111 - fi
2112 -
2113 - export MY_MAKEOPTS="${myopts[@]}"
2114 - export EXTLIBS="${extlibs[@]}"
2115 -}
2116 -
2117 -src_unpack() {
2118 - if [[ ${PV} != *9999 ]] ; then
2119 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
2120 - cd "${S}" || die
2121 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2122 - if use doc ; then
2123 - pushd "${S}"/Documentation &>/dev/null || die
2124 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2125 - popd &>/dev/null || die
2126 - fi
2127 - else
2128 - git-r3_src_unpack
2129 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
2130 - fi
2131 -
2132 -}
2133 -
2134 -src_prepare() {
2135 - # add experimental patches to improve mediawiki support
2136 - # see patches for origin
2137 - if use mediawiki-experimental ; then
2138 - PATCHES+=(
2139 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
2140 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
2141 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
2142 - )
2143 - fi
2144 -
2145 - default
2146 -
2147 - if use prefix ; then
2148 - # bug #757309
2149 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
2150 - fi
2151 -
2152 - sed -i \
2153 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
2154 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
2155 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
2156 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
2157 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2158 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2159 - Makefile || die
2160 -
2161 - # Fix docbook2texi command
2162 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
2163 - Documentation/Makefile || die
2164 -}
2165 -
2166 -git_emake() {
2167 - # bug #320647: PYTHON_PATH
2168 - local PYTHON_PATH=""
2169 - use perforce && PYTHON_PATH="${PYTHON}"
2170 - emake ${MY_MAKEOPTS} \
2171 - prefix="${EPREFIX}"/usr \
2172 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
2173 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
2174 - sysconfdir="${EPREFIX}"/etc \
2175 - GIT_TEST_OPTS="--no-color" \
2176 - OPTAR="$(tc-getAR)" \
2177 - OPTCC="$(tc-getCC)" \
2178 - OPTCFLAGS="${CFLAGS}" \
2179 - OPTLDFLAGS="${LDFLAGS}" \
2180 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
2181 - PERL_MM_OPT="" \
2182 - PYTHON_PATH="${PYTHON_PATH}" \
2183 - V=1 \
2184 - "$@"
2185 -}
2186 -
2187 -src_configure() {
2188 - exportmakeopts
2189 -}
2190 -
2191 -src_compile() {
2192 - git_emake || die "emake failed"
2193 -
2194 - if use perl && use cgi ; then
2195 - git_emake gitweb || die "emake gitweb (cgi) failed"
2196 - fi
2197 -
2198 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
2199 - pushd contrib/credential/osxkeychain &>/dev/null || die
2200 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
2201 - || die "emake credential-osxkeychain"
2202 - popd &>/dev/null || die
2203 - fi
2204 -
2205 - pushd Documentation &>/dev/null || die
2206 - if [[ ${PV} == *9999 ]] ; then
2207 - git_emake man || die "emake man failed"
2208 - if use doc ; then
2209 - git_emake info html || die "emake info html failed"
2210 - fi
2211 - else
2212 - if use doc ; then
2213 - git_emake info || die "emake info html failed"
2214 - fi
2215 - fi
2216 - popd &>/dev/null || die
2217 -
2218 - if use gnome-keyring ; then
2219 - pushd contrib/credential/libsecret &>/dev/null || die
2220 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
2221 - popd &>/dev/null || die
2222 - fi
2223 -
2224 - pushd contrib/subtree &>/dev/null || die
2225 - git_emake git-subtree || die
2226 - # git-subtree.1 requires the full USE=doc dependency stack
2227 - use doc && git_emake git-subtree.html git-subtree.1
2228 - popd &>/dev/null || die
2229 -
2230 - pushd contrib/diff-highlight &>/dev/null || die
2231 - git_emake || die
2232 - popd &>/dev/null || die
2233 -
2234 - if use mediawiki ; then
2235 - pushd contrib/mw-to-git &>/dev/null || die
2236 - git_emake || die
2237 - popd &>/dev/null || die
2238 -
2239 - fi
2240 -}
2241 -
2242 -src_install() {
2243 - git_emake DESTDIR="${D}" install || die "make install failed"
2244 -
2245 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
2246 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
2247 - fi
2248 -
2249 - # Depending on the tarball and manual rebuild of the documentation, the
2250 - # manpages may exist in either OR both of these directories.
2251 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
2252 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
2253 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
2254 - use doc && dodir /usr/share/doc/${PF}/html
2255 - local d
2256 - for d in / /howto/ /technical/ ; do
2257 - docinto ${d}
2258 - dodoc Documentation${d}*.txt
2259 - if use doc ; then
2260 - docinto ${d}/html
2261 - dodoc Documentation${d}*.html
2262 - fi
2263 - done
2264 - docinto /
2265 - # Upstream does not ship this pre-built :-(
2266 - use doc && doinfo Documentation/{git,gitman}.info
2267 -
2268 - newbashcomp contrib/completion/git-completion.bash ${PN}
2269 - bashcomp_alias git gitk
2270 - # Not really a bash-completion file (bug #477920)
2271 - # but still needed uncompressed (bug #507480)
2272 - insinto /usr/share/${PN}
2273 - doins contrib/completion/git-prompt.sh
2274 -
2275 - #dobin contrib/fast-import/git-p4 # Moved upstream
2276 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
2277 - newbin contrib/fast-import/import-tars.perl import-tars
2278 - exeinto /usr/libexec/git-core/
2279 - newexe contrib/git-resurrect.sh git-resurrect
2280 -
2281 - # git-subtree
2282 - pushd contrib/subtree &>/dev/null || die
2283 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
2284 - if use doc ; then
2285 - # Do not move git subtree install-man outside USE=doc!
2286 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
2287 - fi
2288 - newdoc README README.git-subtree
2289 - dodoc git-subtree.txt
2290 - popd &>/dev/null || die
2291 -
2292 - if use mediawiki ; then
2293 - pushd contrib/mw-to-git &>/dev/null || die
2294 - git_emake DESTDIR="${D}" install
2295 - popd &>/dev/null || die
2296 - fi
2297 -
2298 - # diff-highlight
2299 - dobin contrib/diff-highlight/diff-highlight
2300 - newdoc contrib/diff-highlight/README README.diff-highlight
2301 -
2302 - # git-jump
2303 - exeinto /usr/libexec/git-core/
2304 - doexe contrib/git-jump/git-jump
2305 - newdoc contrib/git-jump/README git-jump.txt
2306 -
2307 - # git-contacts
2308 - exeinto /usr/libexec/git-core/
2309 - doexe contrib/contacts/git-contacts
2310 - dodoc contrib/contacts/git-contacts.txt
2311 -
2312 - if use gnome-keyring ; then
2313 - pushd contrib/credential/libsecret &>/dev/null || die
2314 - dobin git-credential-libsecret
2315 - popd &>/dev/null || die
2316 - fi
2317 -
2318 - dodir /usr/share/${PN}/contrib
2319 - # The following are excluded:
2320 - # completion - installed above
2321 - # diff-highlight - done above
2322 - # emacs - removed upstream
2323 - # examples - these are stuff that is not used in Git anymore actually
2324 - # git-jump - done above
2325 - # gitview - installed above
2326 - # p4import - excluded because fast-import has a better one
2327 - # patches - stuff the Git guys made to go upstream to other places
2328 - # persistent-https - TODO
2329 - # mw-to-git - TODO
2330 - # subtree - build seperately
2331 - # svnimport - use git-svn
2332 - # thunderbird-patch-inline - fixes thunderbird
2333 - local contrib_objects=(
2334 - buildsystems
2335 - fast-import
2336 - hg-to-git
2337 - hooks
2338 - remotes2config.sh
2339 - rerere-train.sh
2340 - stats
2341 - workdir
2342 - )
2343 - local i
2344 - for i in "${contrib_objects[@]}" ; do
2345 - cp -rf \
2346 - "${S}"/contrib/${i} \
2347 - "${ED}"/usr/share/${PN}/contrib \
2348 - || die "Failed contrib ${i}"
2349 - done
2350 -
2351 - if use perl && use cgi ; then
2352 - # We used to install in /usr/share/${PN}/gitweb
2353 - # but upstream installs in /usr/share/gitweb
2354 - # so we will install a symlink and use their location for compat with other
2355 - # distros
2356 - dosym ../gitweb /usr/share/${PN}/gitweb
2357 -
2358 - # INSTALL discusses configuration issues, not just installation
2359 - docinto /
2360 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
2361 - newdoc "${S}"/gitweb/README README.gitweb
2362 -
2363 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
2364 - if [[ -d "${d}" ]] ; then
2365 - find "${d}" -name .packlist -delete || die
2366 - fi
2367 - done
2368 - else
2369 - rm -rf "${ED}"/usr/share/gitweb
2370 - fi
2371 -
2372 - if ! use subversion ; then
2373 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
2374 - "${ED}"/usr/share/man/man1/git-svn.1*
2375 - fi
2376 -
2377 - if use xinetd ; then
2378 - insinto /etc/xinetd.d
2379 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
2380 - fi
2381 -
2382 - if ! use prefix ; then
2383 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
2384 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
2385 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
2386 - "git-daemon@.service"
2387 - systemd_dounit "${FILESDIR}/git-daemon.socket"
2388 - fi
2389 -
2390 - perl_delete_localpod
2391 -
2392 - # Remove disabled linguas
2393 - # we could remove sources in src_prepare, but install does not
2394 - # handle missing locale dir well
2395 - rm_loc() {
2396 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
2397 - rm -r "${ED}/usr/share/locale/${1}" || die
2398 - fi
2399 - }
2400 - plocale_for_each_disabled_locale rm_loc
2401 -}
2402 -
2403 -src_test() {
2404 - local disabled=()
2405 - local tests_cvs=(
2406 - t9200-git-cvsexportcommit.sh
2407 - t9400-git-cvsserver-server.sh
2408 - t9401-git-cvsserver-crlf.sh
2409 - t9402-git-cvsserver-refs.sh
2410 - t9600-cvsimport.sh
2411 - t9601-cvsimport-vendor-branch.sh
2412 - t9602-cvsimport-branches-tags.sh
2413 - t9603-cvsimport-patchsets.sh
2414 - t9604-cvsimport-timestamps.sh
2415 - )
2416 - local tests_perl=(
2417 - t3701-add-interactive.sh
2418 - t5502-quickfetch.sh
2419 - t5512-ls-remote.sh
2420 - t5520-pull.sh
2421 - t7106-reset-unborn-branch.sh
2422 - t7501-commit.sh
2423 - )
2424 - # Bug #225601 - t0004 is not suitable for root perm
2425 - # Bug #219839 - t1004 is not suitable for root perm
2426 - # t0001-init.sh - check for init notices EPERM* fails
2427 - local tests_nonroot=(
2428 - t0001-init.sh
2429 - t0004-unwritable.sh
2430 - t0070-fundamental.sh
2431 - t1004-read-tree-m-u-wf.sh
2432 - t3700-add.sh
2433 - t7300-clean.sh
2434 - )
2435 - # t9100 still fails with symlinks in SVN 1.7
2436 - local test_svn=( t9100-git-svn-basic.sh )
2437 -
2438 - # Unzip is used only for the testcase code, not by any normal parts of Git.
2439 - if ! has_version app-arch/unzip ; then
2440 - einfo "Disabling tar-tree tests"
2441 - disabled+=( t5000-tar-tree.sh )
2442 - fi
2443 -
2444 - local cvs=0
2445 - use cvs && let cvs=${cvs}+1
2446 - if [[ ${EUID} -eq 0 ]] ; then
2447 - if [[ ${cvs} -eq 1 ]] ; then
2448 - ewarn "Skipping CVS tests because CVS does not work as root!"
2449 - ewarn "You should retest with FEATURES=userpriv!"
2450 - disabled+=( ${tests_cvs[@]} )
2451 - fi
2452 - einfo "Skipping other tests that require being non-root"
2453 - disabled+=( ${tests_nonroot[@]} )
2454 - else
2455 - [[ ${cvs} -gt 0 ]] && \
2456 - has_version dev-vcs/cvs && \
2457 - let cvs=${cvs}+1
2458 - [[ ${cvs} -gt 1 ]] && \
2459 - has_version "dev-vcs/cvs[server]" && \
2460 - let cvs=${cvs}+1
2461 - if [[ ${cvs} -lt 3 ]] ; then
2462 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
2463 - disabled+=( ${tests_cvs[@]} )
2464 - fi
2465 - fi
2466 -
2467 - if ! use perl ; then
2468 - einfo "Disabling tests that need Perl"
2469 - disabled+=( ${tests_perl[@]} )
2470 - fi
2471 -
2472 - einfo "Disabling tests that fail with SVN 1.7"
2473 - disabled+=( ${test_svn[@]} )
2474 -
2475 - # Reset all previously disabled tests
2476 - pushd t &>/dev/null || die
2477 - local i
2478 - for i in *.sh.DISABLED ; do
2479 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
2480 - done
2481 - einfo "Disabled tests:"
2482 - for i in ${disabled[@]} ; do
2483 - if [[ -f "${i}" ]] ; then
2484 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
2485 - fi
2486 - done
2487 -
2488 - # Avoid the test system removing the results because we want them ourselves
2489 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
2490 -
2491 - # Clean old results first, must always run
2492 - nonfatal git_emake clean
2493 - popd &>/dev/null || die
2494 -
2495 - # Now run the tests, keep going if we hit an error, and don't terminate on
2496 - # failure
2497 - local rc
2498 - einfo "Start test run"
2499 - #MAKEOPTS=-j1
2500 - nonfatal git_emake --keep-going test
2501 - rc=$?
2502 -
2503 - # Display nice results, now print the results
2504 - pushd t &>/dev/null || die
2505 - nonfatal git_emake aggregate-results
2506 -
2507 - # And bail if there was a problem
2508 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
2509 -}
2510 -
2511 -showpkgdeps() {
2512 - local pkg=$1
2513 - shift
2514 - elog " $(printf "%-17s:" ${pkg}) ${@}"
2515 -}
2516 -
2517 -pkg_postinst() {
2518 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
2519 - elog "completion."
2520 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
2521 - elog "Note that the prompt bash code is now in that separate script"
2522 - elog "These additional scripts need some dependencies:"
2523 - echo
2524 - showpkgdeps git-quiltimport "dev-util/quilt"
2525 - showpkgdeps git-instaweb \
2526 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
2527 - echo
2528 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
2529 -}
2530
2531 diff --git a/dev-vcs/git/git-2.34.1.ebuild b/dev-vcs/git/git-2.34.1.ebuild
2532 deleted file mode 100644
2533 index 1a7f759e52da..000000000000
2534 --- a/dev-vcs/git/git-2.34.1.ebuild
2535 +++ /dev/null
2536 @@ -1,640 +0,0 @@
2537 -# Copyright 1999-2022 Gentoo Authors
2538 -# Distributed under the terms of the GNU General Public License v2
2539 -
2540 -EAPI=8
2541 -
2542 -GENTOO_DEPEND_ON_PERL=no
2543 -
2544 -# bug #329479: git-remote-testgit is not multiple-version aware
2545 -PYTHON_COMPAT=( python3_{8..10} )
2546 -
2547 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
2548 -
2549 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
2550 -if [[ ${PV} == *9999 ]]; then
2551 - inherit git-r3
2552 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
2553 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
2554 - # See https://git-scm.com/docs/gitworkflows#_graduation
2555 - # In order of stability:
2556 - # 9999-r0: maint
2557 - # 9999-r1: master
2558 - # 9999-r2: next
2559 - # 9999-r3: seen
2560 - case "${PVR}" in
2561 - 9999) EGIT_BRANCH=maint ;;
2562 - 9999-r1) EGIT_BRANCH=master ;;
2563 - 9999-r2) EGIT_BRANCH=next;;
2564 - 9999-r3) EGIT_BRANCH=seen ;;
2565 - esac
2566 -fi
2567 -
2568 -MY_PV="${PV/_rc/.rc}"
2569 -MY_P="${PN}-${MY_PV}"
2570 -
2571 -DOC_VER="${MY_PV}"
2572 -
2573 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
2574 -HOMEPAGE="https://www.git-scm.com/"
2575 -if [[ ${PV} != *9999 ]]; then
2576 - SRC_URI_SUFFIX="xz"
2577 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
2578 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
2579 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
2580 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2581 - doc? (
2582 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2583 - )"
2584 - [[ "${PV}" == *_rc* ]] || \
2585 - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
2586 -fi
2587 -
2588 -LICENSE="GPL-2"
2589 -SLOT="0"
2590 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
2591 -
2592 -# Common to both DEPEND and RDEPEND
2593 -DEPEND="
2594 - gnome-keyring? (
2595 - app-crypt/libsecret
2596 - dev-libs/glib:2
2597 - )
2598 - dev-libs/openssl:0=
2599 - sys-libs/zlib
2600 - pcre? ( dev-libs/libpcre2:= )
2601 - perl? ( dev-lang/perl:=[-build(-)] )
2602 - tk? ( dev-lang/tk:0= )
2603 - curl? (
2604 - net-misc/curl
2605 - webdav? ( dev-libs/expat )
2606 - )
2607 - iconv? ( virtual/libiconv )
2608 -"
2609 -
2610 -RDEPEND="${DEPEND}
2611 - gpg? ( app-crypt/gnupg )
2612 - perl? (
2613 - dev-perl/Error
2614 - dev-perl/MailTools
2615 - dev-perl/Authen-SASL
2616 - >=virtual/perl-libnet-3.110.0-r4[ssl]
2617 - cgi? (
2618 - dev-perl/CGI
2619 - highlight? ( app-text/highlight )
2620 - )
2621 - cvs? (
2622 - >=dev-vcs/cvsps-2.1:0
2623 - dev-perl/DBI
2624 - dev-perl/DBD-SQLite
2625 - )
2626 - mediawiki? (
2627 - dev-perl/DateTime-Format-ISO8601
2628 - dev-perl/HTML-Tree
2629 - dev-perl/MediaWiki-API
2630 - )
2631 - subversion? (
2632 - dev-vcs/subversion[-dso(-),perl]
2633 - dev-perl/libwww-perl
2634 - dev-perl/TermReadKey
2635 - )
2636 - )
2637 - perforce? ( ${PYTHON_DEPS} )
2638 -"
2639 -
2640 -# This is how info docs are created with Git:
2641 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
2642 -# .xml/docbook --(docbook2texi.pl)--> .texi
2643 -# .texi --(makeinfo)---------> .info
2644 -BDEPEND="
2645 - doc? (
2646 - app-text/asciidoc
2647 - app-text/docbook2X
2648 - app-text/xmlto
2649 - sys-apps/texinfo
2650 - )
2651 - gnome-keyring? ( virtual/pkgconfig )
2652 - nls? ( sys-devel/gettext )
2653 - test? ( app-crypt/gnupg )
2654 -"
2655 -
2656 -# Live ebuild builds man pages and HTML docs, additionally
2657 -if [[ ${PV} == *9999 ]]; then
2658 - BDEPEND="${BDEPEND}
2659 - app-text/asciidoc"
2660 -fi
2661 -
2662 -SITEFILE="50${PN}-gentoo.el"
2663 -S="${WORKDIR}/${MY_P}"
2664 -
2665 -REQUIRED_USE="
2666 - cgi? ( perl )
2667 - cvs? ( perl )
2668 - mediawiki? ( perl )
2669 - mediawiki-experimental? ( mediawiki )
2670 - perforce? ( ${PYTHON_REQUIRED_USE} )
2671 - subversion? ( perl )
2672 - webdav? ( curl )
2673 -"
2674 -
2675 -RESTRICT="!test? ( test )"
2676 -
2677 -PATCHES=(
2678 - # bug #350330 - automagic CVS when we don't want it is bad.
2679 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
2680 -
2681 - # Make submodule output quiet
2682 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
2683 -)
2684 -
2685 -pkg_setup() {
2686 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
2687 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
2688 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
2689 - ewarn "have been warned."
2690 - fi
2691 -
2692 - if use perforce ; then
2693 - python-single-r1_pkg_setup
2694 - fi
2695 -}
2696 -
2697 -# This is needed because for some obscure reasons future calls to make don't
2698 -# pick up these exports if we export them in src_unpack()
2699 -exportmakeopts() {
2700 - local extlibs myopts
2701 -
2702 - myopts=(
2703 - ASCIIDOC_NO_ROFF=YesPlease
2704 - $(usex cvs '' NO_CVS=YesPlease)
2705 - $(usex elibc_musl NO_REGEX=YesPlease '')
2706 - $(usex iconv '' NO_ICONV=YesPlease)
2707 - $(usex nls '' NO_GETTEXT=YesPlease)
2708 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
2709 - $(usex perforce '' NO_PYTHON=YesPlease)
2710 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
2711 - $(usex threads '' NO_PTHREADS=YesPlease)
2712 - $(usex tk '' NO_TCLTK=YesPlease)
2713 - )
2714 -
2715 - if use blksha1 ; then
2716 - myopts+=( BLK_SHA1=YesPlease )
2717 - elif use ppcsha1 ; then
2718 - myopts+=( PPC_SHA1=YesPlease )
2719 - fi
2720 -
2721 - if use curl ; then
2722 - use webdav || myopts+=( NO_EXPAT=YesPlease )
2723 - else
2724 - myopts+=( NO_CURL=YesPlease )
2725 - fi
2726 -
2727 - # broken assumptions, because of static build system ...
2728 - myopts+=(
2729 - NO_FINK=YesPlease
2730 - NO_DARWIN_PORTS=YesPlease
2731 - INSTALL=install
2732 - TAR=tar
2733 - SHELL_PATH="${EPREFIX}/bin/sh"
2734 - SANE_TOOL_PATH=
2735 - OLD_ICONV=
2736 - NO_EXTERNAL_GREP=
2737 - )
2738 -
2739 - # can't define this to null, since the entire makefile depends on it
2740 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
2741 -
2742 - if use pcre; then
2743 - myopts+=( USE_LIBPCRE2=YesPlease )
2744 - extlibs+=( -lpcre2-8 )
2745 - fi
2746 - if [[ ${CHOST} == *-solaris* ]]; then
2747 - myopts+=(
2748 - NEEDS_LIBICONV=YesPlease
2749 - HAVE_CLOCK_MONOTONIC=1
2750 - )
2751 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
2752 - myopts+=( HAVE_GETDELIM=1 )
2753 - fi
2754 - fi
2755 -
2756 - if has_version '>=app-text/asciidoc-8.0' ; then
2757 - myopts+=( ASCIIDOC8=YesPlease )
2758 - fi
2759 -
2760 - export MY_MAKEOPTS="${myopts[@]}"
2761 - export EXTLIBS="${extlibs[@]}"
2762 -}
2763 -
2764 -src_unpack() {
2765 - if [[ ${PV} != *9999 ]] ; then
2766 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
2767 - cd "${S}" || die
2768 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2769 - if use doc ; then
2770 - pushd "${S}"/Documentation &>/dev/null || die
2771 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
2772 - popd &>/dev/null || die
2773 - fi
2774 - else
2775 - git-r3_src_unpack
2776 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
2777 - fi
2778 -
2779 -}
2780 -
2781 -src_prepare() {
2782 - # add experimental patches to improve mediawiki support
2783 - # see patches for origin
2784 - if use mediawiki-experimental ; then
2785 - PATCHES+=(
2786 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
2787 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
2788 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
2789 - )
2790 - fi
2791 -
2792 - default
2793 -
2794 - if use prefix ; then
2795 - # bug #757309
2796 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
2797 - fi
2798 -
2799 - sed -i \
2800 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
2801 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
2802 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
2803 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
2804 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2805 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
2806 - Makefile || die
2807 -
2808 - # Fix docbook2texi command
2809 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
2810 - Documentation/Makefile || die
2811 -}
2812 -
2813 -git_emake() {
2814 - # bug #320647: PYTHON_PATH
2815 - local PYTHON_PATH=""
2816 - use perforce && PYTHON_PATH="${PYTHON}"
2817 - emake ${MY_MAKEOPTS} \
2818 - prefix="${EPREFIX}"/usr \
2819 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
2820 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
2821 - sysconfdir="${EPREFIX}"/etc \
2822 - GIT_TEST_OPTS="--no-color" \
2823 - OPTAR="$(tc-getAR)" \
2824 - OPTCC="$(tc-getCC)" \
2825 - OPTCFLAGS="${CFLAGS}" \
2826 - OPTLDFLAGS="${LDFLAGS}" \
2827 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
2828 - PERL_MM_OPT="" \
2829 - PYTHON_PATH="${PYTHON_PATH}" \
2830 - V=1 \
2831 - "$@"
2832 -}
2833 -
2834 -src_configure() {
2835 - exportmakeopts
2836 -}
2837 -
2838 -src_compile() {
2839 - git_emake || die "emake failed"
2840 -
2841 - if use perl && use cgi ; then
2842 - git_emake gitweb || die "emake gitweb (cgi) failed"
2843 - fi
2844 -
2845 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
2846 - pushd contrib/credential/osxkeychain &>/dev/null || die
2847 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
2848 - || die "emake credential-osxkeychain"
2849 - popd &>/dev/null || die
2850 - fi
2851 -
2852 - pushd Documentation &>/dev/null || die
2853 - if [[ ${PV} == *9999 ]] ; then
2854 - git_emake man || die "emake man failed"
2855 - if use doc ; then
2856 - git_emake info html || die "emake info html failed"
2857 - fi
2858 - else
2859 - if use doc ; then
2860 - git_emake info || die "emake info html failed"
2861 - fi
2862 - fi
2863 - popd &>/dev/null || die
2864 -
2865 - if use gnome-keyring ; then
2866 - pushd contrib/credential/libsecret &>/dev/null || die
2867 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
2868 - popd &>/dev/null || die
2869 - fi
2870 -
2871 - pushd contrib/subtree &>/dev/null || die
2872 - git_emake git-subtree || die
2873 - # git-subtree.1 requires the full USE=doc dependency stack
2874 - use doc && git_emake git-subtree.html git-subtree.1
2875 - popd &>/dev/null || die
2876 -
2877 - pushd contrib/diff-highlight &>/dev/null || die
2878 - git_emake || die
2879 - popd &>/dev/null || die
2880 -
2881 - if use mediawiki ; then
2882 - pushd contrib/mw-to-git &>/dev/null || die
2883 - git_emake || die
2884 - popd &>/dev/null || die
2885 -
2886 - fi
2887 -}
2888 -
2889 -src_install() {
2890 - git_emake DESTDIR="${D}" install || die "make install failed"
2891 -
2892 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
2893 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
2894 - fi
2895 -
2896 - # Depending on the tarball and manual rebuild of the documentation, the
2897 - # manpages may exist in either OR both of these directories.
2898 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
2899 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
2900 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
2901 - use doc && dodir /usr/share/doc/${PF}/html
2902 - local d
2903 - for d in / /howto/ /technical/ ; do
2904 - docinto ${d}
2905 - dodoc Documentation${d}*.txt
2906 - if use doc ; then
2907 - docinto ${d}/html
2908 - dodoc Documentation${d}*.html
2909 - fi
2910 - done
2911 - docinto /
2912 - # Upstream does not ship this pre-built :-(
2913 - use doc && doinfo Documentation/{git,gitman}.info
2914 -
2915 - newbashcomp contrib/completion/git-completion.bash ${PN}
2916 - bashcomp_alias git gitk
2917 - # Not really a bash-completion file (bug #477920)
2918 - # but still needed uncompressed (bug #507480)
2919 - insinto /usr/share/${PN}
2920 - doins contrib/completion/git-prompt.sh
2921 -
2922 - #dobin contrib/fast-import/git-p4 # Moved upstream
2923 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
2924 - newbin contrib/fast-import/import-tars.perl import-tars
2925 - exeinto /usr/libexec/git-core/
2926 - newexe contrib/git-resurrect.sh git-resurrect
2927 -
2928 - # git-subtree
2929 - pushd contrib/subtree &>/dev/null || die
2930 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
2931 - if use doc ; then
2932 - # Do not move git subtree install-man outside USE=doc!
2933 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
2934 - fi
2935 - newdoc README README.git-subtree
2936 - dodoc git-subtree.txt
2937 - popd &>/dev/null || die
2938 -
2939 - if use mediawiki ; then
2940 - pushd contrib/mw-to-git &>/dev/null || die
2941 - git_emake DESTDIR="${D}" install
2942 - popd &>/dev/null || die
2943 - fi
2944 -
2945 - # diff-highlight
2946 - dobin contrib/diff-highlight/diff-highlight
2947 - newdoc contrib/diff-highlight/README README.diff-highlight
2948 -
2949 - # git-jump
2950 - exeinto /usr/libexec/git-core/
2951 - doexe contrib/git-jump/git-jump
2952 - newdoc contrib/git-jump/README git-jump.txt
2953 -
2954 - # git-contacts
2955 - exeinto /usr/libexec/git-core/
2956 - doexe contrib/contacts/git-contacts
2957 - dodoc contrib/contacts/git-contacts.txt
2958 -
2959 - if use gnome-keyring ; then
2960 - pushd contrib/credential/libsecret &>/dev/null || die
2961 - dobin git-credential-libsecret
2962 - popd &>/dev/null || die
2963 - fi
2964 -
2965 - dodir /usr/share/${PN}/contrib
2966 - # The following are excluded:
2967 - # completion - installed above
2968 - # diff-highlight - done above
2969 - # emacs - removed upstream
2970 - # examples - these are stuff that is not used in Git anymore actually
2971 - # git-jump - done above
2972 - # gitview - installed above
2973 - # p4import - excluded because fast-import has a better one
2974 - # patches - stuff the Git guys made to go upstream to other places
2975 - # persistent-https - TODO
2976 - # mw-to-git - TODO
2977 - # subtree - build seperately
2978 - # svnimport - use git-svn
2979 - # thunderbird-patch-inline - fixes thunderbird
2980 - local contrib_objects=(
2981 - buildsystems
2982 - fast-import
2983 - hg-to-git
2984 - hooks
2985 - remotes2config.sh
2986 - rerere-train.sh
2987 - stats
2988 - workdir
2989 - )
2990 - local i
2991 - for i in "${contrib_objects[@]}" ; do
2992 - cp -rf \
2993 - "${S}"/contrib/${i} \
2994 - "${ED}"/usr/share/${PN}/contrib \
2995 - || die "Failed contrib ${i}"
2996 - done
2997 -
2998 - if use perl && use cgi ; then
2999 - # We used to install in /usr/share/${PN}/gitweb
3000 - # but upstream installs in /usr/share/gitweb
3001 - # so we will install a symlink and use their location for compat with other
3002 - # distros
3003 - dosym ../gitweb /usr/share/${PN}/gitweb
3004 -
3005 - # INSTALL discusses configuration issues, not just installation
3006 - docinto /
3007 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
3008 - newdoc "${S}"/gitweb/README README.gitweb
3009 -
3010 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
3011 - if [[ -d "${d}" ]] ; then
3012 - find "${d}" -name .packlist -delete || die
3013 - fi
3014 - done
3015 - else
3016 - rm -rf "${ED}"/usr/share/gitweb
3017 - fi
3018 -
3019 - if ! use subversion ; then
3020 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
3021 - "${ED}"/usr/share/man/man1/git-svn.1*
3022 - fi
3023 -
3024 - if use xinetd ; then
3025 - insinto /etc/xinetd.d
3026 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
3027 - fi
3028 -
3029 - if ! use prefix ; then
3030 - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
3031 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
3032 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
3033 - "git-daemon@.service"
3034 - systemd_dounit "${FILESDIR}/git-daemon.socket"
3035 - fi
3036 -
3037 - perl_delete_localpod
3038 -
3039 - # Remove disabled linguas
3040 - # we could remove sources in src_prepare, but install does not
3041 - # handle missing locale dir well
3042 - rm_loc() {
3043 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
3044 - rm -r "${ED}/usr/share/locale/${1}" || die
3045 - fi
3046 - }
3047 - plocale_for_each_disabled_locale rm_loc
3048 -}
3049 -
3050 -src_test() {
3051 - local disabled=()
3052 - local tests_cvs=(
3053 - t9200-git-cvsexportcommit.sh
3054 - t9400-git-cvsserver-server.sh
3055 - t9401-git-cvsserver-crlf.sh
3056 - t9402-git-cvsserver-refs.sh
3057 - t9600-cvsimport.sh
3058 - t9601-cvsimport-vendor-branch.sh
3059 - t9602-cvsimport-branches-tags.sh
3060 - t9603-cvsimport-patchsets.sh
3061 - t9604-cvsimport-timestamps.sh
3062 - )
3063 - local tests_perl=(
3064 - t3701-add-interactive.sh
3065 - t5502-quickfetch.sh
3066 - t5512-ls-remote.sh
3067 - t5520-pull.sh
3068 - t7106-reset-unborn-branch.sh
3069 - t7501-commit.sh
3070 - )
3071 - # Bug #225601 - t0004 is not suitable for root perm
3072 - # Bug #219839 - t1004 is not suitable for root perm
3073 - # t0001-init.sh - check for init notices EPERM* fails
3074 - local tests_nonroot=(
3075 - t0001-init.sh
3076 - t0004-unwritable.sh
3077 - t0070-fundamental.sh
3078 - t1004-read-tree-m-u-wf.sh
3079 - t3700-add.sh
3080 - t7300-clean.sh
3081 - )
3082 - # t9100 still fails with symlinks in SVN 1.7
3083 - local test_svn=( t9100-git-svn-basic.sh )
3084 -
3085 - # Unzip is used only for the testcase code, not by any normal parts of Git.
3086 - if ! has_version app-arch/unzip ; then
3087 - einfo "Disabling tar-tree tests"
3088 - disabled+=( t5000-tar-tree.sh )
3089 - fi
3090 -
3091 - local cvs=0
3092 - use cvs && let cvs=${cvs}+1
3093 - if [[ ${EUID} -eq 0 ]] ; then
3094 - if [[ ${cvs} -eq 1 ]] ; then
3095 - ewarn "Skipping CVS tests because CVS does not work as root!"
3096 - ewarn "You should retest with FEATURES=userpriv!"
3097 - disabled+=( ${tests_cvs[@]} )
3098 - fi
3099 - einfo "Skipping other tests that require being non-root"
3100 - disabled+=( ${tests_nonroot[@]} )
3101 - else
3102 - [[ ${cvs} -gt 0 ]] && \
3103 - has_version dev-vcs/cvs && \
3104 - let cvs=${cvs}+1
3105 - [[ ${cvs} -gt 1 ]] && \
3106 - has_version "dev-vcs/cvs[server]" && \
3107 - let cvs=${cvs}+1
3108 - if [[ ${cvs} -lt 3 ]] ; then
3109 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
3110 - disabled+=( ${tests_cvs[@]} )
3111 - fi
3112 - fi
3113 -
3114 - if ! use perl ; then
3115 - einfo "Disabling tests that need Perl"
3116 - disabled+=( ${tests_perl[@]} )
3117 - fi
3118 -
3119 - einfo "Disabling tests that fail with SVN 1.7"
3120 - disabled+=( ${test_svn[@]} )
3121 -
3122 - # Reset all previously disabled tests
3123 - pushd t &>/dev/null || die
3124 - local i
3125 - for i in *.sh.DISABLED ; do
3126 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
3127 - done
3128 - einfo "Disabled tests:"
3129 - for i in ${disabled[@]} ; do
3130 - if [[ -f "${i}" ]] ; then
3131 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
3132 - fi
3133 - done
3134 -
3135 - # Avoid the test system removing the results because we want them ourselves
3136 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
3137 -
3138 - # Clean old results first, must always run
3139 - nonfatal git_emake clean
3140 - popd &>/dev/null || die
3141 -
3142 - # Now run the tests, keep going if we hit an error, and don't terminate on
3143 - # failure
3144 - local rc
3145 - einfo "Start test run"
3146 - #MAKEOPTS=-j1
3147 - nonfatal git_emake --keep-going test
3148 - rc=$?
3149 -
3150 - # Display nice results, now print the results
3151 - pushd t &>/dev/null || die
3152 - nonfatal git_emake aggregate-results
3153 -
3154 - # And bail if there was a problem
3155 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
3156 -}
3157 -
3158 -showpkgdeps() {
3159 - local pkg=$1
3160 - shift
3161 - elog " $(printf "%-17s:" ${pkg}) ${@}"
3162 -}
3163 -
3164 -pkg_postinst() {
3165 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
3166 - elog "completion."
3167 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
3168 - elog "Note that the prompt bash code is now in that separate script"
3169 - elog "These additional scripts need some dependencies:"
3170 - echo
3171 - showpkgdeps git-quiltimport "dev-util/quilt"
3172 - showpkgdeps git-instaweb \
3173 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
3174 - echo
3175 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
3176 -}
3177
3178 diff --git a/dev-vcs/git/git-2.35.2.ebuild b/dev-vcs/git/git-2.35.2.ebuild
3179 deleted file mode 100644
3180 index 3109246a25e0..000000000000
3181 --- a/dev-vcs/git/git-2.35.2.ebuild
3182 +++ /dev/null
3183 @@ -1,640 +0,0 @@
3184 -# Copyright 1999-2022 Gentoo Authors
3185 -# Distributed under the terms of the GNU General Public License v2
3186 -
3187 -EAPI=8
3188 -
3189 -GENTOO_DEPEND_ON_PERL=no
3190 -
3191 -# bug #329479: git-remote-testgit is not multiple-version aware
3192 -PYTHON_COMPAT=( python3_{8..10} )
3193 -
3194 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
3195 -
3196 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
3197 -if [[ ${PV} == *9999 ]]; then
3198 - inherit git-r3
3199 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
3200 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
3201 - # See https://git-scm.com/docs/gitworkflows#_graduation
3202 - # In order of stability:
3203 - # 9999-r0: maint
3204 - # 9999-r1: master
3205 - # 9999-r2: next
3206 - # 9999-r3: seen
3207 - case "${PVR}" in
3208 - 9999) EGIT_BRANCH=maint ;;
3209 - 9999-r1) EGIT_BRANCH=master ;;
3210 - 9999-r2) EGIT_BRANCH=next;;
3211 - 9999-r3) EGIT_BRANCH=seen ;;
3212 - esac
3213 -fi
3214 -
3215 -MY_PV="${PV/_rc/.rc}"
3216 -MY_P="${PN}-${MY_PV}"
3217 -
3218 -DOC_VER="${MY_PV}"
3219 -
3220 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
3221 -HOMEPAGE="https://www.git-scm.com/"
3222 -if [[ ${PV} != *9999 ]]; then
3223 - SRC_URI_SUFFIX="xz"
3224 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
3225 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
3226 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
3227 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3228 - doc? (
3229 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3230 - )"
3231 - [[ "${PV}" == *_rc* ]] || \
3232 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
3233 -fi
3234 -
3235 -LICENSE="GPL-2"
3236 -SLOT="0"
3237 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
3238 -
3239 -# Common to both DEPEND and RDEPEND
3240 -DEPEND="
3241 - gnome-keyring? (
3242 - app-crypt/libsecret
3243 - dev-libs/glib:2
3244 - )
3245 - dev-libs/openssl:0=
3246 - sys-libs/zlib
3247 - pcre? ( dev-libs/libpcre2:= )
3248 - perl? ( dev-lang/perl:=[-build(-)] )
3249 - tk? ( dev-lang/tk:0= )
3250 - curl? (
3251 - net-misc/curl
3252 - webdav? ( dev-libs/expat )
3253 - )
3254 - iconv? ( virtual/libiconv )
3255 -"
3256 -
3257 -RDEPEND="${DEPEND}
3258 - gpg? ( app-crypt/gnupg )
3259 - perl? (
3260 - dev-perl/Error
3261 - dev-perl/MailTools
3262 - dev-perl/Authen-SASL
3263 - >=virtual/perl-libnet-3.110.0-r4[ssl]
3264 - cgi? (
3265 - dev-perl/CGI
3266 - highlight? ( app-text/highlight )
3267 - )
3268 - cvs? (
3269 - >=dev-vcs/cvsps-2.1:0
3270 - dev-perl/DBI
3271 - dev-perl/DBD-SQLite
3272 - )
3273 - mediawiki? (
3274 - dev-perl/DateTime-Format-ISO8601
3275 - dev-perl/HTML-Tree
3276 - dev-perl/MediaWiki-API
3277 - )
3278 - subversion? (
3279 - dev-vcs/subversion[-dso(-),perl]
3280 - dev-perl/libwww-perl
3281 - dev-perl/TermReadKey
3282 - )
3283 - )
3284 - perforce? ( ${PYTHON_DEPS} )
3285 -"
3286 -
3287 -# This is how info docs are created with Git:
3288 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
3289 -# .xml/docbook --(docbook2texi.pl)--> .texi
3290 -# .texi --(makeinfo)---------> .info
3291 -BDEPEND="
3292 - doc? (
3293 - app-text/asciidoc
3294 - app-text/docbook2X
3295 - app-text/xmlto
3296 - sys-apps/texinfo
3297 - )
3298 - gnome-keyring? ( virtual/pkgconfig )
3299 - nls? ( sys-devel/gettext )
3300 - test? ( app-crypt/gnupg )
3301 -"
3302 -
3303 -# Live ebuild builds man pages and HTML docs, additionally
3304 -if [[ ${PV} == *9999 ]]; then
3305 - BDEPEND="${BDEPEND}
3306 - app-text/asciidoc"
3307 -fi
3308 -
3309 -SITEFILE="50${PN}-gentoo.el"
3310 -S="${WORKDIR}/${MY_P}"
3311 -
3312 -REQUIRED_USE="
3313 - cgi? ( perl )
3314 - cvs? ( perl )
3315 - mediawiki? ( perl )
3316 - mediawiki-experimental? ( mediawiki )
3317 - perforce? ( ${PYTHON_REQUIRED_USE} )
3318 - subversion? ( perl )
3319 - webdav? ( curl )
3320 -"
3321 -
3322 -RESTRICT="!test? ( test )"
3323 -
3324 -PATCHES=(
3325 - # bug #350330 - automagic CVS when we don't want it is bad.
3326 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
3327 -
3328 - # Make submodule output quiet
3329 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
3330 -)
3331 -
3332 -pkg_setup() {
3333 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
3334 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
3335 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
3336 - ewarn "have been warned."
3337 - fi
3338 -
3339 - if use perforce ; then
3340 - python-single-r1_pkg_setup
3341 - fi
3342 -}
3343 -
3344 -# This is needed because for some obscure reasons future calls to make don't
3345 -# pick up these exports if we export them in src_unpack()
3346 -exportmakeopts() {
3347 - local extlibs myopts
3348 -
3349 - myopts=(
3350 - ASCIIDOC_NO_ROFF=YesPlease
3351 - $(usex cvs '' NO_CVS=YesPlease)
3352 - $(usex elibc_musl NO_REGEX=YesPlease '')
3353 - $(usex iconv '' NO_ICONV=YesPlease)
3354 - $(usex nls '' NO_GETTEXT=YesPlease)
3355 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
3356 - $(usex perforce '' NO_PYTHON=YesPlease)
3357 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
3358 - $(usex threads '' NO_PTHREADS=YesPlease)
3359 - $(usex tk '' NO_TCLTK=YesPlease)
3360 - )
3361 -
3362 - if use blksha1 ; then
3363 - myopts+=( BLK_SHA1=YesPlease )
3364 - elif use ppcsha1 ; then
3365 - myopts+=( PPC_SHA1=YesPlease )
3366 - fi
3367 -
3368 - if use curl ; then
3369 - use webdav || myopts+=( NO_EXPAT=YesPlease )
3370 - else
3371 - myopts+=( NO_CURL=YesPlease )
3372 - fi
3373 -
3374 - # broken assumptions, because of static build system ...
3375 - myopts+=(
3376 - NO_FINK=YesPlease
3377 - NO_DARWIN_PORTS=YesPlease
3378 - INSTALL=install
3379 - TAR=tar
3380 - SHELL_PATH="${EPREFIX}/bin/sh"
3381 - SANE_TOOL_PATH=
3382 - OLD_ICONV=
3383 - NO_EXTERNAL_GREP=
3384 - )
3385 -
3386 - # can't define this to null, since the entire makefile depends on it
3387 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
3388 -
3389 - if use pcre; then
3390 - myopts+=( USE_LIBPCRE2=YesPlease )
3391 - extlibs+=( -lpcre2-8 )
3392 - fi
3393 - if [[ ${CHOST} == *-solaris* ]]; then
3394 - myopts+=(
3395 - NEEDS_LIBICONV=YesPlease
3396 - HAVE_CLOCK_MONOTONIC=1
3397 - )
3398 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
3399 - myopts+=( HAVE_GETDELIM=1 )
3400 - fi
3401 - fi
3402 -
3403 - if has_version '>=app-text/asciidoc-8.0' ; then
3404 - myopts+=( ASCIIDOC8=YesPlease )
3405 - fi
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 - if use prefix ; then
3442 - # bug #757309
3443 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
3444 - fi
3445 -
3446 - sed -i \
3447 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
3448 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
3449 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
3450 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
3451 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
3452 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
3453 - Makefile || die
3454 -
3455 - # Fix docbook2texi command
3456 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
3457 - Documentation/Makefile || die
3458 -}
3459 -
3460 -git_emake() {
3461 - # bug #320647: PYTHON_PATH
3462 - local PYTHON_PATH=""
3463 - use perforce && PYTHON_PATH="${PYTHON}"
3464 - emake ${MY_MAKEOPTS} \
3465 - prefix="${EPREFIX}"/usr \
3466 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
3467 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
3468 - sysconfdir="${EPREFIX}"/etc \
3469 - GIT_TEST_OPTS="--no-color" \
3470 - OPTAR="$(tc-getAR)" \
3471 - OPTCC="$(tc-getCC)" \
3472 - OPTCFLAGS="${CFLAGS}" \
3473 - OPTLDFLAGS="${LDFLAGS}" \
3474 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
3475 - PERL_MM_OPT="" \
3476 - PYTHON_PATH="${PYTHON_PATH}" \
3477 - V=1 \
3478 - "$@"
3479 -}
3480 -
3481 -src_configure() {
3482 - exportmakeopts
3483 -}
3484 -
3485 -src_compile() {
3486 - git_emake || die "emake failed"
3487 -
3488 - if use perl && use cgi ; then
3489 - git_emake gitweb || die "emake gitweb (cgi) failed"
3490 - fi
3491 -
3492 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
3493 - pushd contrib/credential/osxkeychain &>/dev/null || die
3494 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
3495 - || die "emake credential-osxkeychain"
3496 - popd &>/dev/null || die
3497 - fi
3498 -
3499 - pushd Documentation &>/dev/null || die
3500 - if [[ ${PV} == *9999 ]] ; then
3501 - git_emake man || die "emake man failed"
3502 - if use doc ; then
3503 - git_emake info html || die "emake info html failed"
3504 - fi
3505 - else
3506 - if use doc ; then
3507 - git_emake info || die "emake info html failed"
3508 - fi
3509 - fi
3510 - popd &>/dev/null || die
3511 -
3512 - if use gnome-keyring ; then
3513 - pushd contrib/credential/libsecret &>/dev/null || die
3514 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
3515 - popd &>/dev/null || die
3516 - fi
3517 -
3518 - pushd contrib/subtree &>/dev/null || die
3519 - git_emake git-subtree || die
3520 - # git-subtree.1 requires the full USE=doc dependency stack
3521 - use doc && git_emake git-subtree.html git-subtree.1
3522 - popd &>/dev/null || die
3523 -
3524 - pushd contrib/diff-highlight &>/dev/null || die
3525 - git_emake || die
3526 - popd &>/dev/null || die
3527 -
3528 - if use mediawiki ; then
3529 - pushd contrib/mw-to-git &>/dev/null || die
3530 - git_emake || die
3531 - popd &>/dev/null || die
3532 -
3533 - fi
3534 -}
3535 -
3536 -src_install() {
3537 - git_emake DESTDIR="${D}" install || die "make install failed"
3538 -
3539 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
3540 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
3541 - fi
3542 -
3543 - # Depending on the tarball and manual rebuild of the documentation, the
3544 - # manpages may exist in either OR both of these directories.
3545 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
3546 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
3547 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
3548 - use doc && dodir /usr/share/doc/${PF}/html
3549 - local d
3550 - for d in / /howto/ /technical/ ; do
3551 - docinto ${d}
3552 - dodoc Documentation${d}*.txt
3553 - if use doc ; then
3554 - docinto ${d}/html
3555 - dodoc Documentation${d}*.html
3556 - fi
3557 - done
3558 - docinto /
3559 - # Upstream does not ship this pre-built :-(
3560 - use doc && doinfo Documentation/{git,gitman}.info
3561 -
3562 - newbashcomp contrib/completion/git-completion.bash ${PN}
3563 - bashcomp_alias git gitk
3564 - # Not really a bash-completion file (bug #477920)
3565 - # but still needed uncompressed (bug #507480)
3566 - insinto /usr/share/${PN}
3567 - doins contrib/completion/git-prompt.sh
3568 -
3569 - #dobin contrib/fast-import/git-p4 # Moved upstream
3570 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
3571 - newbin contrib/fast-import/import-tars.perl import-tars
3572 - exeinto /usr/libexec/git-core/
3573 - newexe contrib/git-resurrect.sh git-resurrect
3574 -
3575 - # git-subtree
3576 - pushd contrib/subtree &>/dev/null || die
3577 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
3578 - if use doc ; then
3579 - # Do not move git subtree install-man outside USE=doc!
3580 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
3581 - fi
3582 - newdoc README README.git-subtree
3583 - dodoc git-subtree.txt
3584 - popd &>/dev/null || die
3585 -
3586 - if use mediawiki ; then
3587 - pushd contrib/mw-to-git &>/dev/null || die
3588 - git_emake DESTDIR="${D}" install
3589 - popd &>/dev/null || die
3590 - fi
3591 -
3592 - # diff-highlight
3593 - dobin contrib/diff-highlight/diff-highlight
3594 - newdoc contrib/diff-highlight/README README.diff-highlight
3595 -
3596 - # git-jump
3597 - exeinto /usr/libexec/git-core/
3598 - doexe contrib/git-jump/git-jump
3599 - newdoc contrib/git-jump/README git-jump.txt
3600 -
3601 - # git-contacts
3602 - exeinto /usr/libexec/git-core/
3603 - doexe contrib/contacts/git-contacts
3604 - dodoc contrib/contacts/git-contacts.txt
3605 -
3606 - if use gnome-keyring ; then
3607 - pushd contrib/credential/libsecret &>/dev/null || die
3608 - dobin git-credential-libsecret
3609 - popd &>/dev/null || die
3610 - fi
3611 -
3612 - dodir /usr/share/${PN}/contrib
3613 - # The following are excluded:
3614 - # completion - installed above
3615 - # diff-highlight - done above
3616 - # emacs - removed upstream
3617 - # examples - these are stuff that is not used in Git anymore actually
3618 - # git-jump - done above
3619 - # gitview - installed above
3620 - # p4import - excluded because fast-import has a better one
3621 - # patches - stuff the Git guys made to go upstream to other places
3622 - # persistent-https - TODO
3623 - # mw-to-git - TODO
3624 - # subtree - build seperately
3625 - # svnimport - use git-svn
3626 - # thunderbird-patch-inline - fixes thunderbird
3627 - local contrib_objects=(
3628 - buildsystems
3629 - fast-import
3630 - hg-to-git
3631 - hooks
3632 - remotes2config.sh
3633 - rerere-train.sh
3634 - stats
3635 - workdir
3636 - )
3637 - local i
3638 - for i in "${contrib_objects[@]}" ; do
3639 - cp -rf \
3640 - "${S}"/contrib/${i} \
3641 - "${ED}"/usr/share/${PN}/contrib \
3642 - || die "Failed contrib ${i}"
3643 - done
3644 -
3645 - if use perl && use cgi ; then
3646 - # We used to install in /usr/share/${PN}/gitweb
3647 - # but upstream installs in /usr/share/gitweb
3648 - # so we will install a symlink and use their location for compat with other
3649 - # distros
3650 - dosym ../gitweb /usr/share/${PN}/gitweb
3651 -
3652 - # INSTALL discusses configuration issues, not just installation
3653 - docinto /
3654 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
3655 - newdoc "${S}"/gitweb/README README.gitweb
3656 -
3657 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
3658 - if [[ -d "${d}" ]] ; then
3659 - find "${d}" -name .packlist -delete || die
3660 - fi
3661 - done
3662 - else
3663 - rm -rf "${ED}"/usr/share/gitweb
3664 - fi
3665 -
3666 - if ! use subversion ; then
3667 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
3668 - "${ED}"/usr/share/man/man1/git-svn.1*
3669 - fi
3670 -
3671 - if use xinetd ; then
3672 - insinto /etc/xinetd.d
3673 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
3674 - fi
3675 -
3676 - if ! use prefix ; then
3677 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
3678 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
3679 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
3680 - "git-daemon@.service"
3681 - systemd_dounit "${FILESDIR}/git-daemon.socket"
3682 - fi
3683 -
3684 - perl_delete_localpod
3685 -
3686 - # Remove disabled linguas
3687 - # we could remove sources in src_prepare, but install does not
3688 - # handle missing locale dir well
3689 - rm_loc() {
3690 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
3691 - rm -r "${ED}/usr/share/locale/${1}" || die
3692 - fi
3693 - }
3694 - plocale_for_each_disabled_locale rm_loc
3695 -}
3696 -
3697 -src_test() {
3698 - local disabled=()
3699 - local tests_cvs=(
3700 - t9200-git-cvsexportcommit.sh
3701 - t9400-git-cvsserver-server.sh
3702 - t9401-git-cvsserver-crlf.sh
3703 - t9402-git-cvsserver-refs.sh
3704 - t9600-cvsimport.sh
3705 - t9601-cvsimport-vendor-branch.sh
3706 - t9602-cvsimport-branches-tags.sh
3707 - t9603-cvsimport-patchsets.sh
3708 - t9604-cvsimport-timestamps.sh
3709 - )
3710 - local tests_perl=(
3711 - t3701-add-interactive.sh
3712 - t5502-quickfetch.sh
3713 - t5512-ls-remote.sh
3714 - t5520-pull.sh
3715 - t7106-reset-unborn-branch.sh
3716 - t7501-commit.sh
3717 - )
3718 - # Bug #225601 - t0004 is not suitable for root perm
3719 - # Bug #219839 - t1004 is not suitable for root perm
3720 - # t0001-init.sh - check for init notices EPERM* fails
3721 - local tests_nonroot=(
3722 - t0001-init.sh
3723 - t0004-unwritable.sh
3724 - t0070-fundamental.sh
3725 - t1004-read-tree-m-u-wf.sh
3726 - t3700-add.sh
3727 - t7300-clean.sh
3728 - )
3729 - # t9100 still fails with symlinks in SVN 1.7
3730 - local test_svn=( t9100-git-svn-basic.sh )
3731 -
3732 - # Unzip is used only for the testcase code, not by any normal parts of Git.
3733 - if ! has_version app-arch/unzip ; then
3734 - einfo "Disabling tar-tree tests"
3735 - disabled+=( t5000-tar-tree.sh )
3736 - fi
3737 -
3738 - local cvs=0
3739 - use cvs && let cvs=${cvs}+1
3740 - if [[ ${EUID} -eq 0 ]] ; then
3741 - if [[ ${cvs} -eq 1 ]] ; then
3742 - ewarn "Skipping CVS tests because CVS does not work as root!"
3743 - ewarn "You should retest with FEATURES=userpriv!"
3744 - disabled+=( ${tests_cvs[@]} )
3745 - fi
3746 - einfo "Skipping other tests that require being non-root"
3747 - disabled+=( ${tests_nonroot[@]} )
3748 - else
3749 - [[ ${cvs} -gt 0 ]] && \
3750 - has_version dev-vcs/cvs && \
3751 - let cvs=${cvs}+1
3752 - [[ ${cvs} -gt 1 ]] && \
3753 - has_version "dev-vcs/cvs[server]" && \
3754 - let cvs=${cvs}+1
3755 - if [[ ${cvs} -lt 3 ]] ; then
3756 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
3757 - disabled+=( ${tests_cvs[@]} )
3758 - fi
3759 - fi
3760 -
3761 - if ! use perl ; then
3762 - einfo "Disabling tests that need Perl"
3763 - disabled+=( ${tests_perl[@]} )
3764 - fi
3765 -
3766 - einfo "Disabling tests that fail with SVN 1.7"
3767 - disabled+=( ${test_svn[@]} )
3768 -
3769 - # Reset all previously disabled tests
3770 - pushd t &>/dev/null || die
3771 - local i
3772 - for i in *.sh.DISABLED ; do
3773 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
3774 - done
3775 - einfo "Disabled tests:"
3776 - for i in ${disabled[@]} ; do
3777 - if [[ -f "${i}" ]] ; then
3778 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
3779 - fi
3780 - done
3781 -
3782 - # Avoid the test system removing the results because we want them ourselves
3783 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
3784 -
3785 - # Clean old results first, must always run
3786 - nonfatal git_emake clean
3787 - popd &>/dev/null || die
3788 -
3789 - # Now run the tests, keep going if we hit an error, and don't terminate on
3790 - # failure
3791 - local rc
3792 - einfo "Start test run"
3793 - #MAKEOPTS=-j1
3794 - nonfatal git_emake --keep-going test
3795 - rc=$?
3796 -
3797 - # Display nice results, now print the results
3798 - pushd t &>/dev/null || die
3799 - nonfatal git_emake aggregate-results
3800 -
3801 - # And bail if there was a problem
3802 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
3803 -}
3804 -
3805 -showpkgdeps() {
3806 - local pkg=$1
3807 - shift
3808 - elog " $(printf "%-17s:" ${pkg}) ${@}"
3809 -}
3810 -
3811 -pkg_postinst() {
3812 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
3813 - elog "completion."
3814 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
3815 - elog "Note that the prompt bash code is now in that separate script"
3816 - elog "These additional scripts need some dependencies:"
3817 - echo
3818 - showpkgdeps git-quiltimport "dev-util/quilt"
3819 - showpkgdeps git-instaweb \
3820 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
3821 - echo
3822 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
3823 -}
3824
3825 diff --git a/dev-vcs/git/git-2.35.3.ebuild b/dev-vcs/git/git-2.35.3.ebuild
3826 deleted file mode 100644
3827 index cf66a5432c9c..000000000000
3828 --- a/dev-vcs/git/git-2.35.3.ebuild
3829 +++ /dev/null
3830 @@ -1,641 +0,0 @@
3831 -# Copyright 1999-2022 Gentoo Authors
3832 -# Distributed under the terms of the GNU General Public License v2
3833 -
3834 -EAPI=8
3835 -
3836 -GENTOO_DEPEND_ON_PERL=no
3837 -
3838 -# bug #329479: git-remote-testgit is not multiple-version aware
3839 -PYTHON_COMPAT=( python3_{8..10} )
3840 -
3841 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
3842 -
3843 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
3844 -if [[ ${PV} == *9999 ]]; then
3845 - inherit git-r3
3846 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
3847 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
3848 - # See https://git-scm.com/docs/gitworkflows#_graduation
3849 - # In order of stability:
3850 - # 9999-r0: maint
3851 - # 9999-r1: master
3852 - # 9999-r2: next
3853 - # 9999-r3: seen
3854 - case "${PVR}" in
3855 - 9999) EGIT_BRANCH=maint ;;
3856 - 9999-r1) EGIT_BRANCH=master ;;
3857 - 9999-r2) EGIT_BRANCH=next;;
3858 - 9999-r3) EGIT_BRANCH=seen ;;
3859 - esac
3860 -fi
3861 -
3862 -MY_PV="${PV/_rc/.rc}"
3863 -MY_P="${PN}-${MY_PV}"
3864 -
3865 -DOC_VER="${MY_PV}"
3866 -
3867 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
3868 -HOMEPAGE="https://www.git-scm.com/"
3869 -if [[ ${PV} != *9999 ]]; then
3870 - SRC_URI_SUFFIX="xz"
3871 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
3872 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
3873 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
3874 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3875 - doc? (
3876 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
3877 - )"
3878 - [[ "${PV}" == *_rc* ]] || \
3879 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
3880 -fi
3881 -
3882 -LICENSE="GPL-2"
3883 -SLOT="0"
3884 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
3885 -
3886 -# Common to both DEPEND and RDEPEND
3887 -DEPEND="
3888 - gnome-keyring? (
3889 - app-crypt/libsecret
3890 - dev-libs/glib:2
3891 - )
3892 - dev-libs/openssl:0=
3893 - sys-libs/zlib
3894 - pcre? ( dev-libs/libpcre2:= )
3895 - perl? ( dev-lang/perl:=[-build(-)] )
3896 - tk? ( dev-lang/tk:0= )
3897 - curl? (
3898 - net-misc/curl
3899 - webdav? ( dev-libs/expat )
3900 - )
3901 - iconv? ( virtual/libiconv )
3902 -"
3903 -
3904 -RDEPEND="${DEPEND}
3905 - gpg? ( app-crypt/gnupg )
3906 - perl? (
3907 - dev-perl/Error
3908 - dev-perl/MailTools
3909 - dev-perl/Authen-SASL
3910 - >=virtual/perl-libnet-3.110.0-r4[ssl]
3911 - cgi? (
3912 - dev-perl/CGI
3913 - highlight? ( app-text/highlight )
3914 - )
3915 - cvs? (
3916 - >=dev-vcs/cvsps-2.1:0
3917 - dev-perl/DBI
3918 - dev-perl/DBD-SQLite
3919 - )
3920 - mediawiki? (
3921 - dev-perl/DateTime-Format-ISO8601
3922 - dev-perl/HTML-Tree
3923 - dev-perl/MediaWiki-API
3924 - )
3925 - subversion? (
3926 - dev-vcs/subversion[-dso(-),perl]
3927 - dev-perl/libwww-perl
3928 - dev-perl/TermReadKey
3929 - )
3930 - )
3931 - perforce? ( ${PYTHON_DEPS} )
3932 - selinux? ( sec-policy/selinux-git )
3933 -"
3934 -
3935 -# This is how info docs are created with Git:
3936 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
3937 -# .xml/docbook --(docbook2texi.pl)--> .texi
3938 -# .texi --(makeinfo)---------> .info
3939 -BDEPEND="
3940 - doc? (
3941 - app-text/asciidoc
3942 - app-text/docbook2X
3943 - app-text/xmlto
3944 - sys-apps/texinfo
3945 - )
3946 - gnome-keyring? ( virtual/pkgconfig )
3947 - nls? ( sys-devel/gettext )
3948 - test? ( app-crypt/gnupg )
3949 -"
3950 -
3951 -# Live ebuild builds man pages and HTML docs, additionally
3952 -if [[ ${PV} == *9999 ]]; then
3953 - BDEPEND="${BDEPEND}
3954 - app-text/asciidoc"
3955 -fi
3956 -
3957 -SITEFILE="50${PN}-gentoo.el"
3958 -S="${WORKDIR}/${MY_P}"
3959 -
3960 -REQUIRED_USE="
3961 - cgi? ( perl )
3962 - cvs? ( perl )
3963 - mediawiki? ( perl )
3964 - mediawiki-experimental? ( mediawiki )
3965 - perforce? ( ${PYTHON_REQUIRED_USE} )
3966 - subversion? ( perl )
3967 - webdav? ( curl )
3968 -"
3969 -
3970 -RESTRICT="!test? ( test )"
3971 -
3972 -PATCHES=(
3973 - # bug #350330 - automagic CVS when we don't want it is bad.
3974 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
3975 -
3976 - # Make submodule output quiet
3977 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
3978 -)
3979 -
3980 -pkg_setup() {
3981 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
3982 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
3983 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
3984 - ewarn "have been warned."
3985 - fi
3986 -
3987 - if use perforce ; then
3988 - python-single-r1_pkg_setup
3989 - fi
3990 -}
3991 -
3992 -# This is needed because for some obscure reasons future calls to make don't
3993 -# pick up these exports if we export them in src_unpack()
3994 -exportmakeopts() {
3995 - local extlibs myopts
3996 -
3997 - myopts=(
3998 - ASCIIDOC_NO_ROFF=YesPlease
3999 - $(usex cvs '' NO_CVS=YesPlease)
4000 - $(usex elibc_musl NO_REGEX=YesPlease '')
4001 - $(usex iconv '' NO_ICONV=YesPlease)
4002 - $(usex nls '' NO_GETTEXT=YesPlease)
4003 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
4004 - $(usex perforce '' NO_PYTHON=YesPlease)
4005 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
4006 - $(usex threads '' NO_PTHREADS=YesPlease)
4007 - $(usex tk '' NO_TCLTK=YesPlease)
4008 - )
4009 -
4010 - if use blksha1 ; then
4011 - myopts+=( BLK_SHA1=YesPlease )
4012 - elif use ppcsha1 ; then
4013 - myopts+=( PPC_SHA1=YesPlease )
4014 - fi
4015 -
4016 - if use curl ; then
4017 - use webdav || myopts+=( NO_EXPAT=YesPlease )
4018 - else
4019 - myopts+=( NO_CURL=YesPlease )
4020 - fi
4021 -
4022 - # broken assumptions, because of static build system ...
4023 - myopts+=(
4024 - NO_FINK=YesPlease
4025 - NO_DARWIN_PORTS=YesPlease
4026 - INSTALL=install
4027 - TAR=tar
4028 - SHELL_PATH="${EPREFIX}/bin/sh"
4029 - SANE_TOOL_PATH=
4030 - OLD_ICONV=
4031 - NO_EXTERNAL_GREP=
4032 - )
4033 -
4034 - # can't define this to null, since the entire makefile depends on it
4035 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
4036 -
4037 - if use pcre; then
4038 - myopts+=( USE_LIBPCRE2=YesPlease )
4039 - extlibs+=( -lpcre2-8 )
4040 - fi
4041 - if [[ ${CHOST} == *-solaris* ]]; then
4042 - myopts+=(
4043 - NEEDS_LIBICONV=YesPlease
4044 - HAVE_CLOCK_MONOTONIC=1
4045 - )
4046 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
4047 - myopts+=( HAVE_GETDELIM=1 )
4048 - fi
4049 - fi
4050 -
4051 - if has_version '>=app-text/asciidoc-8.0' ; then
4052 - myopts+=( ASCIIDOC8=YesPlease )
4053 - fi
4054 -
4055 - export MY_MAKEOPTS="${myopts[@]}"
4056 - export EXTLIBS="${extlibs[@]}"
4057 -}
4058 -
4059 -src_unpack() {
4060 - if [[ ${PV} != *9999 ]] ; then
4061 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
4062 - cd "${S}" || die
4063 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4064 - if use doc ; then
4065 - pushd "${S}"/Documentation &>/dev/null || die
4066 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4067 - popd &>/dev/null || die
4068 - fi
4069 - else
4070 - git-r3_src_unpack
4071 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
4072 - fi
4073 -
4074 -}
4075 -
4076 -src_prepare() {
4077 - # add experimental patches to improve mediawiki support
4078 - # see patches for origin
4079 - if use mediawiki-experimental ; then
4080 - PATCHES+=(
4081 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
4082 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
4083 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
4084 - )
4085 - fi
4086 -
4087 - default
4088 -
4089 - if use prefix ; then
4090 - # bug #757309
4091 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
4092 - fi
4093 -
4094 - sed -i \
4095 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
4096 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
4097 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
4098 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
4099 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
4100 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
4101 - Makefile || die
4102 -
4103 - # Fix docbook2texi command
4104 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
4105 - Documentation/Makefile || die
4106 -}
4107 -
4108 -git_emake() {
4109 - # bug #320647: PYTHON_PATH
4110 - local PYTHON_PATH=""
4111 - use perforce && PYTHON_PATH="${PYTHON}"
4112 - emake ${MY_MAKEOPTS} \
4113 - prefix="${EPREFIX}"/usr \
4114 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
4115 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
4116 - sysconfdir="${EPREFIX}"/etc \
4117 - GIT_TEST_OPTS="--no-color" \
4118 - OPTAR="$(tc-getAR)" \
4119 - OPTCC="$(tc-getCC)" \
4120 - OPTCFLAGS="${CFLAGS}" \
4121 - OPTLDFLAGS="${LDFLAGS}" \
4122 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
4123 - PERL_MM_OPT="" \
4124 - PYTHON_PATH="${PYTHON_PATH}" \
4125 - V=1 \
4126 - "$@"
4127 -}
4128 -
4129 -src_configure() {
4130 - exportmakeopts
4131 -}
4132 -
4133 -src_compile() {
4134 - git_emake || die "emake failed"
4135 -
4136 - if use perl && use cgi ; then
4137 - git_emake gitweb || die "emake gitweb (cgi) failed"
4138 - fi
4139 -
4140 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
4141 - pushd contrib/credential/osxkeychain &>/dev/null || die
4142 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
4143 - || die "emake credential-osxkeychain"
4144 - popd &>/dev/null || die
4145 - fi
4146 -
4147 - pushd Documentation &>/dev/null || die
4148 - if [[ ${PV} == *9999 ]] ; then
4149 - git_emake man || die "emake man failed"
4150 - if use doc ; then
4151 - git_emake info html || die "emake info html failed"
4152 - fi
4153 - else
4154 - if use doc ; then
4155 - git_emake info || die "emake info html failed"
4156 - fi
4157 - fi
4158 - popd &>/dev/null || die
4159 -
4160 - if use gnome-keyring ; then
4161 - pushd contrib/credential/libsecret &>/dev/null || die
4162 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
4163 - popd &>/dev/null || die
4164 - fi
4165 -
4166 - pushd contrib/subtree &>/dev/null || die
4167 - git_emake git-subtree || die
4168 - # git-subtree.1 requires the full USE=doc dependency stack
4169 - use doc && git_emake git-subtree.html git-subtree.1
4170 - popd &>/dev/null || die
4171 -
4172 - pushd contrib/diff-highlight &>/dev/null || die
4173 - git_emake || die
4174 - popd &>/dev/null || die
4175 -
4176 - if use mediawiki ; then
4177 - pushd contrib/mw-to-git &>/dev/null || die
4178 - git_emake || die
4179 - popd &>/dev/null || die
4180 -
4181 - fi
4182 -}
4183 -
4184 -src_install() {
4185 - git_emake DESTDIR="${D}" install || die "make install failed"
4186 -
4187 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
4188 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
4189 - fi
4190 -
4191 - # Depending on the tarball and manual rebuild of the documentation, the
4192 - # manpages may exist in either OR both of these directories.
4193 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
4194 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
4195 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
4196 - use doc && dodir /usr/share/doc/${PF}/html
4197 - local d
4198 - for d in / /howto/ /technical/ ; do
4199 - docinto ${d}
4200 - dodoc Documentation${d}*.txt
4201 - if use doc ; then
4202 - docinto ${d}/html
4203 - dodoc Documentation${d}*.html
4204 - fi
4205 - done
4206 - docinto /
4207 - # Upstream does not ship this pre-built :-(
4208 - use doc && doinfo Documentation/{git,gitman}.info
4209 -
4210 - newbashcomp contrib/completion/git-completion.bash ${PN}
4211 - bashcomp_alias git gitk
4212 - # Not really a bash-completion file (bug #477920)
4213 - # but still needed uncompressed (bug #507480)
4214 - insinto /usr/share/${PN}
4215 - doins contrib/completion/git-prompt.sh
4216 -
4217 - #dobin contrib/fast-import/git-p4 # Moved upstream
4218 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
4219 - newbin contrib/fast-import/import-tars.perl import-tars
4220 - exeinto /usr/libexec/git-core/
4221 - newexe contrib/git-resurrect.sh git-resurrect
4222 -
4223 - # git-subtree
4224 - pushd contrib/subtree &>/dev/null || die
4225 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
4226 - if use doc ; then
4227 - # Do not move git subtree install-man outside USE=doc!
4228 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
4229 - fi
4230 - newdoc README README.git-subtree
4231 - dodoc git-subtree.txt
4232 - popd &>/dev/null || die
4233 -
4234 - if use mediawiki ; then
4235 - pushd contrib/mw-to-git &>/dev/null || die
4236 - git_emake DESTDIR="${D}" install
4237 - popd &>/dev/null || die
4238 - fi
4239 -
4240 - # diff-highlight
4241 - dobin contrib/diff-highlight/diff-highlight
4242 - newdoc contrib/diff-highlight/README README.diff-highlight
4243 -
4244 - # git-jump
4245 - exeinto /usr/libexec/git-core/
4246 - doexe contrib/git-jump/git-jump
4247 - newdoc contrib/git-jump/README git-jump.txt
4248 -
4249 - # git-contacts
4250 - exeinto /usr/libexec/git-core/
4251 - doexe contrib/contacts/git-contacts
4252 - dodoc contrib/contacts/git-contacts.txt
4253 -
4254 - if use gnome-keyring ; then
4255 - pushd contrib/credential/libsecret &>/dev/null || die
4256 - dobin git-credential-libsecret
4257 - popd &>/dev/null || die
4258 - fi
4259 -
4260 - dodir /usr/share/${PN}/contrib
4261 - # The following are excluded:
4262 - # completion - installed above
4263 - # diff-highlight - done above
4264 - # emacs - removed upstream
4265 - # examples - these are stuff that is not used in Git anymore actually
4266 - # git-jump - done above
4267 - # gitview - installed above
4268 - # p4import - excluded because fast-import has a better one
4269 - # patches - stuff the Git guys made to go upstream to other places
4270 - # persistent-https - TODO
4271 - # mw-to-git - TODO
4272 - # subtree - build seperately
4273 - # svnimport - use git-svn
4274 - # thunderbird-patch-inline - fixes thunderbird
4275 - local contrib_objects=(
4276 - buildsystems
4277 - fast-import
4278 - hg-to-git
4279 - hooks
4280 - remotes2config.sh
4281 - rerere-train.sh
4282 - stats
4283 - workdir
4284 - )
4285 - local i
4286 - for i in "${contrib_objects[@]}" ; do
4287 - cp -rf \
4288 - "${S}"/contrib/${i} \
4289 - "${ED}"/usr/share/${PN}/contrib \
4290 - || die "Failed contrib ${i}"
4291 - done
4292 -
4293 - if use perl && use cgi ; then
4294 - # We used to install in /usr/share/${PN}/gitweb
4295 - # but upstream installs in /usr/share/gitweb
4296 - # so we will install a symlink and use their location for compat with other
4297 - # distros
4298 - dosym ../gitweb /usr/share/${PN}/gitweb
4299 -
4300 - # INSTALL discusses configuration issues, not just installation
4301 - docinto /
4302 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
4303 - newdoc "${S}"/gitweb/README README.gitweb
4304 -
4305 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
4306 - if [[ -d "${d}" ]] ; then
4307 - find "${d}" -name .packlist -delete || die
4308 - fi
4309 - done
4310 - else
4311 - rm -rf "${ED}"/usr/share/gitweb
4312 - fi
4313 -
4314 - if ! use subversion ; then
4315 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
4316 - "${ED}"/usr/share/man/man1/git-svn.1*
4317 - fi
4318 -
4319 - if use xinetd ; then
4320 - insinto /etc/xinetd.d
4321 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
4322 - fi
4323 -
4324 - if ! use prefix ; then
4325 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
4326 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
4327 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
4328 - "git-daemon@.service"
4329 - systemd_dounit "${FILESDIR}/git-daemon.socket"
4330 - fi
4331 -
4332 - perl_delete_localpod
4333 -
4334 - # Remove disabled linguas
4335 - # we could remove sources in src_prepare, but install does not
4336 - # handle missing locale dir well
4337 - rm_loc() {
4338 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
4339 - rm -r "${ED}/usr/share/locale/${1}" || die
4340 - fi
4341 - }
4342 - plocale_for_each_disabled_locale rm_loc
4343 -}
4344 -
4345 -src_test() {
4346 - local disabled=()
4347 - local tests_cvs=(
4348 - t9200-git-cvsexportcommit.sh
4349 - t9400-git-cvsserver-server.sh
4350 - t9401-git-cvsserver-crlf.sh
4351 - t9402-git-cvsserver-refs.sh
4352 - t9600-cvsimport.sh
4353 - t9601-cvsimport-vendor-branch.sh
4354 - t9602-cvsimport-branches-tags.sh
4355 - t9603-cvsimport-patchsets.sh
4356 - t9604-cvsimport-timestamps.sh
4357 - )
4358 - local tests_perl=(
4359 - t3701-add-interactive.sh
4360 - t5502-quickfetch.sh
4361 - t5512-ls-remote.sh
4362 - t5520-pull.sh
4363 - t7106-reset-unborn-branch.sh
4364 - t7501-commit.sh
4365 - )
4366 - # Bug #225601 - t0004 is not suitable for root perm
4367 - # Bug #219839 - t1004 is not suitable for root perm
4368 - # t0001-init.sh - check for init notices EPERM* fails
4369 - local tests_nonroot=(
4370 - t0001-init.sh
4371 - t0004-unwritable.sh
4372 - t0070-fundamental.sh
4373 - t1004-read-tree-m-u-wf.sh
4374 - t3700-add.sh
4375 - t7300-clean.sh
4376 - )
4377 - # t9100 still fails with symlinks in SVN 1.7
4378 - local test_svn=( t9100-git-svn-basic.sh )
4379 -
4380 - # Unzip is used only for the testcase code, not by any normal parts of Git.
4381 - if ! has_version app-arch/unzip ; then
4382 - einfo "Disabling tar-tree tests"
4383 - disabled+=( t5000-tar-tree.sh )
4384 - fi
4385 -
4386 - local cvs=0
4387 - use cvs && let cvs=${cvs}+1
4388 - if [[ ${EUID} -eq 0 ]] ; then
4389 - if [[ ${cvs} -eq 1 ]] ; then
4390 - ewarn "Skipping CVS tests because CVS does not work as root!"
4391 - ewarn "You should retest with FEATURES=userpriv!"
4392 - disabled+=( ${tests_cvs[@]} )
4393 - fi
4394 - einfo "Skipping other tests that require being non-root"
4395 - disabled+=( ${tests_nonroot[@]} )
4396 - else
4397 - [[ ${cvs} -gt 0 ]] && \
4398 - has_version dev-vcs/cvs && \
4399 - let cvs=${cvs}+1
4400 - [[ ${cvs} -gt 1 ]] && \
4401 - has_version "dev-vcs/cvs[server]" && \
4402 - let cvs=${cvs}+1
4403 - if [[ ${cvs} -lt 3 ]] ; then
4404 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
4405 - disabled+=( ${tests_cvs[@]} )
4406 - fi
4407 - fi
4408 -
4409 - if ! use perl ; then
4410 - einfo "Disabling tests that need Perl"
4411 - disabled+=( ${tests_perl[@]} )
4412 - fi
4413 -
4414 - einfo "Disabling tests that fail with SVN 1.7"
4415 - disabled+=( ${test_svn[@]} )
4416 -
4417 - # Reset all previously disabled tests
4418 - pushd t &>/dev/null || die
4419 - local i
4420 - for i in *.sh.DISABLED ; do
4421 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
4422 - done
4423 - einfo "Disabled tests:"
4424 - for i in ${disabled[@]} ; do
4425 - if [[ -f "${i}" ]] ; then
4426 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
4427 - fi
4428 - done
4429 -
4430 - # Avoid the test system removing the results because we want them ourselves
4431 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
4432 -
4433 - # Clean old results first, must always run
4434 - nonfatal git_emake clean
4435 - popd &>/dev/null || die
4436 -
4437 - # Now run the tests, keep going if we hit an error, and don't terminate on
4438 - # failure
4439 - local rc
4440 - einfo "Start test run"
4441 - #MAKEOPTS=-j1
4442 - nonfatal git_emake --keep-going test
4443 - rc=$?
4444 -
4445 - # Display nice results, now print the results
4446 - pushd t &>/dev/null || die
4447 - nonfatal git_emake aggregate-results
4448 -
4449 - # And bail if there was a problem
4450 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
4451 -}
4452 -
4453 -showpkgdeps() {
4454 - local pkg=$1
4455 - shift
4456 - elog " $(printf "%-17s:" ${pkg}) ${@}"
4457 -}
4458 -
4459 -pkg_postinst() {
4460 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
4461 - elog "completion."
4462 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
4463 - elog "Note that the prompt bash code is now in that separate script"
4464 - elog "These additional scripts need some dependencies:"
4465 - echo
4466 - showpkgdeps git-quiltimport "dev-util/quilt"
4467 - showpkgdeps git-instaweb \
4468 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
4469 - echo
4470 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
4471 -}
4472
4473 diff --git a/dev-vcs/git/git-2.36.0.ebuild b/dev-vcs/git/git-2.36.0.ebuild
4474 deleted file mode 100644
4475 index cf66a5432c9c..000000000000
4476 --- a/dev-vcs/git/git-2.36.0.ebuild
4477 +++ /dev/null
4478 @@ -1,641 +0,0 @@
4479 -# Copyright 1999-2022 Gentoo Authors
4480 -# Distributed under the terms of the GNU General Public License v2
4481 -
4482 -EAPI=8
4483 -
4484 -GENTOO_DEPEND_ON_PERL=no
4485 -
4486 -# bug #329479: git-remote-testgit is not multiple-version aware
4487 -PYTHON_COMPAT=( python3_{8..10} )
4488 -
4489 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
4490 -
4491 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
4492 -if [[ ${PV} == *9999 ]]; then
4493 - inherit git-r3
4494 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
4495 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
4496 - # See https://git-scm.com/docs/gitworkflows#_graduation
4497 - # In order of stability:
4498 - # 9999-r0: maint
4499 - # 9999-r1: master
4500 - # 9999-r2: next
4501 - # 9999-r3: seen
4502 - case "${PVR}" in
4503 - 9999) EGIT_BRANCH=maint ;;
4504 - 9999-r1) EGIT_BRANCH=master ;;
4505 - 9999-r2) EGIT_BRANCH=next;;
4506 - 9999-r3) EGIT_BRANCH=seen ;;
4507 - esac
4508 -fi
4509 -
4510 -MY_PV="${PV/_rc/.rc}"
4511 -MY_P="${PN}-${MY_PV}"
4512 -
4513 -DOC_VER="${MY_PV}"
4514 -
4515 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
4516 -HOMEPAGE="https://www.git-scm.com/"
4517 -if [[ ${PV} != *9999 ]]; then
4518 - SRC_URI_SUFFIX="xz"
4519 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
4520 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
4521 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
4522 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4523 - doc? (
4524 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4525 - )"
4526 - [[ "${PV}" == *_rc* ]] || \
4527 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
4528 -fi
4529 -
4530 -LICENSE="GPL-2"
4531 -SLOT="0"
4532 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
4533 -
4534 -# Common to both DEPEND and RDEPEND
4535 -DEPEND="
4536 - gnome-keyring? (
4537 - app-crypt/libsecret
4538 - dev-libs/glib:2
4539 - )
4540 - dev-libs/openssl:0=
4541 - sys-libs/zlib
4542 - pcre? ( dev-libs/libpcre2:= )
4543 - perl? ( dev-lang/perl:=[-build(-)] )
4544 - tk? ( dev-lang/tk:0= )
4545 - curl? (
4546 - net-misc/curl
4547 - webdav? ( dev-libs/expat )
4548 - )
4549 - iconv? ( virtual/libiconv )
4550 -"
4551 -
4552 -RDEPEND="${DEPEND}
4553 - gpg? ( app-crypt/gnupg )
4554 - perl? (
4555 - dev-perl/Error
4556 - dev-perl/MailTools
4557 - dev-perl/Authen-SASL
4558 - >=virtual/perl-libnet-3.110.0-r4[ssl]
4559 - cgi? (
4560 - dev-perl/CGI
4561 - highlight? ( app-text/highlight )
4562 - )
4563 - cvs? (
4564 - >=dev-vcs/cvsps-2.1:0
4565 - dev-perl/DBI
4566 - dev-perl/DBD-SQLite
4567 - )
4568 - mediawiki? (
4569 - dev-perl/DateTime-Format-ISO8601
4570 - dev-perl/HTML-Tree
4571 - dev-perl/MediaWiki-API
4572 - )
4573 - subversion? (
4574 - dev-vcs/subversion[-dso(-),perl]
4575 - dev-perl/libwww-perl
4576 - dev-perl/TermReadKey
4577 - )
4578 - )
4579 - perforce? ( ${PYTHON_DEPS} )
4580 - selinux? ( sec-policy/selinux-git )
4581 -"
4582 -
4583 -# This is how info docs are created with Git:
4584 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
4585 -# .xml/docbook --(docbook2texi.pl)--> .texi
4586 -# .texi --(makeinfo)---------> .info
4587 -BDEPEND="
4588 - doc? (
4589 - app-text/asciidoc
4590 - app-text/docbook2X
4591 - app-text/xmlto
4592 - sys-apps/texinfo
4593 - )
4594 - gnome-keyring? ( virtual/pkgconfig )
4595 - nls? ( sys-devel/gettext )
4596 - test? ( app-crypt/gnupg )
4597 -"
4598 -
4599 -# Live ebuild builds man pages and HTML docs, additionally
4600 -if [[ ${PV} == *9999 ]]; then
4601 - BDEPEND="${BDEPEND}
4602 - app-text/asciidoc"
4603 -fi
4604 -
4605 -SITEFILE="50${PN}-gentoo.el"
4606 -S="${WORKDIR}/${MY_P}"
4607 -
4608 -REQUIRED_USE="
4609 - cgi? ( perl )
4610 - cvs? ( perl )
4611 - mediawiki? ( perl )
4612 - mediawiki-experimental? ( mediawiki )
4613 - perforce? ( ${PYTHON_REQUIRED_USE} )
4614 - subversion? ( perl )
4615 - webdav? ( curl )
4616 -"
4617 -
4618 -RESTRICT="!test? ( test )"
4619 -
4620 -PATCHES=(
4621 - # bug #350330 - automagic CVS when we don't want it is bad.
4622 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
4623 -
4624 - # Make submodule output quiet
4625 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
4626 -)
4627 -
4628 -pkg_setup() {
4629 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
4630 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
4631 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
4632 - ewarn "have been warned."
4633 - fi
4634 -
4635 - if use perforce ; then
4636 - python-single-r1_pkg_setup
4637 - fi
4638 -}
4639 -
4640 -# This is needed because for some obscure reasons future calls to make don't
4641 -# pick up these exports if we export them in src_unpack()
4642 -exportmakeopts() {
4643 - local extlibs myopts
4644 -
4645 - myopts=(
4646 - ASCIIDOC_NO_ROFF=YesPlease
4647 - $(usex cvs '' NO_CVS=YesPlease)
4648 - $(usex elibc_musl NO_REGEX=YesPlease '')
4649 - $(usex iconv '' NO_ICONV=YesPlease)
4650 - $(usex nls '' NO_GETTEXT=YesPlease)
4651 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
4652 - $(usex perforce '' NO_PYTHON=YesPlease)
4653 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
4654 - $(usex threads '' NO_PTHREADS=YesPlease)
4655 - $(usex tk '' NO_TCLTK=YesPlease)
4656 - )
4657 -
4658 - if use blksha1 ; then
4659 - myopts+=( BLK_SHA1=YesPlease )
4660 - elif use ppcsha1 ; then
4661 - myopts+=( PPC_SHA1=YesPlease )
4662 - fi
4663 -
4664 - if use curl ; then
4665 - use webdav || myopts+=( NO_EXPAT=YesPlease )
4666 - else
4667 - myopts+=( NO_CURL=YesPlease )
4668 - fi
4669 -
4670 - # broken assumptions, because of static build system ...
4671 - myopts+=(
4672 - NO_FINK=YesPlease
4673 - NO_DARWIN_PORTS=YesPlease
4674 - INSTALL=install
4675 - TAR=tar
4676 - SHELL_PATH="${EPREFIX}/bin/sh"
4677 - SANE_TOOL_PATH=
4678 - OLD_ICONV=
4679 - NO_EXTERNAL_GREP=
4680 - )
4681 -
4682 - # can't define this to null, since the entire makefile depends on it
4683 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
4684 -
4685 - if use pcre; then
4686 - myopts+=( USE_LIBPCRE2=YesPlease )
4687 - extlibs+=( -lpcre2-8 )
4688 - fi
4689 - if [[ ${CHOST} == *-solaris* ]]; then
4690 - myopts+=(
4691 - NEEDS_LIBICONV=YesPlease
4692 - HAVE_CLOCK_MONOTONIC=1
4693 - )
4694 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
4695 - myopts+=( HAVE_GETDELIM=1 )
4696 - fi
4697 - fi
4698 -
4699 - if has_version '>=app-text/asciidoc-8.0' ; then
4700 - myopts+=( ASCIIDOC8=YesPlease )
4701 - fi
4702 -
4703 - export MY_MAKEOPTS="${myopts[@]}"
4704 - export EXTLIBS="${extlibs[@]}"
4705 -}
4706 -
4707 -src_unpack() {
4708 - if [[ ${PV} != *9999 ]] ; then
4709 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
4710 - cd "${S}" || die
4711 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4712 - if use doc ; then
4713 - pushd "${S}"/Documentation &>/dev/null || die
4714 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
4715 - popd &>/dev/null || die
4716 - fi
4717 - else
4718 - git-r3_src_unpack
4719 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
4720 - fi
4721 -
4722 -}
4723 -
4724 -src_prepare() {
4725 - # add experimental patches to improve mediawiki support
4726 - # see patches for origin
4727 - if use mediawiki-experimental ; then
4728 - PATCHES+=(
4729 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
4730 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
4731 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
4732 - )
4733 - fi
4734 -
4735 - default
4736 -
4737 - if use prefix ; then
4738 - # bug #757309
4739 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
4740 - fi
4741 -
4742 - sed -i \
4743 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
4744 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
4745 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
4746 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
4747 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
4748 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
4749 - Makefile || die
4750 -
4751 - # Fix docbook2texi command
4752 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
4753 - Documentation/Makefile || die
4754 -}
4755 -
4756 -git_emake() {
4757 - # bug #320647: PYTHON_PATH
4758 - local PYTHON_PATH=""
4759 - use perforce && PYTHON_PATH="${PYTHON}"
4760 - emake ${MY_MAKEOPTS} \
4761 - prefix="${EPREFIX}"/usr \
4762 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
4763 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
4764 - sysconfdir="${EPREFIX}"/etc \
4765 - GIT_TEST_OPTS="--no-color" \
4766 - OPTAR="$(tc-getAR)" \
4767 - OPTCC="$(tc-getCC)" \
4768 - OPTCFLAGS="${CFLAGS}" \
4769 - OPTLDFLAGS="${LDFLAGS}" \
4770 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
4771 - PERL_MM_OPT="" \
4772 - PYTHON_PATH="${PYTHON_PATH}" \
4773 - V=1 \
4774 - "$@"
4775 -}
4776 -
4777 -src_configure() {
4778 - exportmakeopts
4779 -}
4780 -
4781 -src_compile() {
4782 - git_emake || die "emake failed"
4783 -
4784 - if use perl && use cgi ; then
4785 - git_emake gitweb || die "emake gitweb (cgi) failed"
4786 - fi
4787 -
4788 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
4789 - pushd contrib/credential/osxkeychain &>/dev/null || die
4790 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
4791 - || die "emake credential-osxkeychain"
4792 - popd &>/dev/null || die
4793 - fi
4794 -
4795 - pushd Documentation &>/dev/null || die
4796 - if [[ ${PV} == *9999 ]] ; then
4797 - git_emake man || die "emake man failed"
4798 - if use doc ; then
4799 - git_emake info html || die "emake info html failed"
4800 - fi
4801 - else
4802 - if use doc ; then
4803 - git_emake info || die "emake info html failed"
4804 - fi
4805 - fi
4806 - popd &>/dev/null || die
4807 -
4808 - if use gnome-keyring ; then
4809 - pushd contrib/credential/libsecret &>/dev/null || die
4810 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
4811 - popd &>/dev/null || die
4812 - fi
4813 -
4814 - pushd contrib/subtree &>/dev/null || die
4815 - git_emake git-subtree || die
4816 - # git-subtree.1 requires the full USE=doc dependency stack
4817 - use doc && git_emake git-subtree.html git-subtree.1
4818 - popd &>/dev/null || die
4819 -
4820 - pushd contrib/diff-highlight &>/dev/null || die
4821 - git_emake || die
4822 - popd &>/dev/null || die
4823 -
4824 - if use mediawiki ; then
4825 - pushd contrib/mw-to-git &>/dev/null || die
4826 - git_emake || die
4827 - popd &>/dev/null || die
4828 -
4829 - fi
4830 -}
4831 -
4832 -src_install() {
4833 - git_emake DESTDIR="${D}" install || die "make install failed"
4834 -
4835 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
4836 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
4837 - fi
4838 -
4839 - # Depending on the tarball and manual rebuild of the documentation, the
4840 - # manpages may exist in either OR both of these directories.
4841 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
4842 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
4843 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
4844 - use doc && dodir /usr/share/doc/${PF}/html
4845 - local d
4846 - for d in / /howto/ /technical/ ; do
4847 - docinto ${d}
4848 - dodoc Documentation${d}*.txt
4849 - if use doc ; then
4850 - docinto ${d}/html
4851 - dodoc Documentation${d}*.html
4852 - fi
4853 - done
4854 - docinto /
4855 - # Upstream does not ship this pre-built :-(
4856 - use doc && doinfo Documentation/{git,gitman}.info
4857 -
4858 - newbashcomp contrib/completion/git-completion.bash ${PN}
4859 - bashcomp_alias git gitk
4860 - # Not really a bash-completion file (bug #477920)
4861 - # but still needed uncompressed (bug #507480)
4862 - insinto /usr/share/${PN}
4863 - doins contrib/completion/git-prompt.sh
4864 -
4865 - #dobin contrib/fast-import/git-p4 # Moved upstream
4866 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
4867 - newbin contrib/fast-import/import-tars.perl import-tars
4868 - exeinto /usr/libexec/git-core/
4869 - newexe contrib/git-resurrect.sh git-resurrect
4870 -
4871 - # git-subtree
4872 - pushd contrib/subtree &>/dev/null || die
4873 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
4874 - if use doc ; then
4875 - # Do not move git subtree install-man outside USE=doc!
4876 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
4877 - fi
4878 - newdoc README README.git-subtree
4879 - dodoc git-subtree.txt
4880 - popd &>/dev/null || die
4881 -
4882 - if use mediawiki ; then
4883 - pushd contrib/mw-to-git &>/dev/null || die
4884 - git_emake DESTDIR="${D}" install
4885 - popd &>/dev/null || die
4886 - fi
4887 -
4888 - # diff-highlight
4889 - dobin contrib/diff-highlight/diff-highlight
4890 - newdoc contrib/diff-highlight/README README.diff-highlight
4891 -
4892 - # git-jump
4893 - exeinto /usr/libexec/git-core/
4894 - doexe contrib/git-jump/git-jump
4895 - newdoc contrib/git-jump/README git-jump.txt
4896 -
4897 - # git-contacts
4898 - exeinto /usr/libexec/git-core/
4899 - doexe contrib/contacts/git-contacts
4900 - dodoc contrib/contacts/git-contacts.txt
4901 -
4902 - if use gnome-keyring ; then
4903 - pushd contrib/credential/libsecret &>/dev/null || die
4904 - dobin git-credential-libsecret
4905 - popd &>/dev/null || die
4906 - fi
4907 -
4908 - dodir /usr/share/${PN}/contrib
4909 - # The following are excluded:
4910 - # completion - installed above
4911 - # diff-highlight - done above
4912 - # emacs - removed upstream
4913 - # examples - these are stuff that is not used in Git anymore actually
4914 - # git-jump - done above
4915 - # gitview - installed above
4916 - # p4import - excluded because fast-import has a better one
4917 - # patches - stuff the Git guys made to go upstream to other places
4918 - # persistent-https - TODO
4919 - # mw-to-git - TODO
4920 - # subtree - build seperately
4921 - # svnimport - use git-svn
4922 - # thunderbird-patch-inline - fixes thunderbird
4923 - local contrib_objects=(
4924 - buildsystems
4925 - fast-import
4926 - hg-to-git
4927 - hooks
4928 - remotes2config.sh
4929 - rerere-train.sh
4930 - stats
4931 - workdir
4932 - )
4933 - local i
4934 - for i in "${contrib_objects[@]}" ; do
4935 - cp -rf \
4936 - "${S}"/contrib/${i} \
4937 - "${ED}"/usr/share/${PN}/contrib \
4938 - || die "Failed contrib ${i}"
4939 - done
4940 -
4941 - if use perl && use cgi ; then
4942 - # We used to install in /usr/share/${PN}/gitweb
4943 - # but upstream installs in /usr/share/gitweb
4944 - # so we will install a symlink and use their location for compat with other
4945 - # distros
4946 - dosym ../gitweb /usr/share/${PN}/gitweb
4947 -
4948 - # INSTALL discusses configuration issues, not just installation
4949 - docinto /
4950 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
4951 - newdoc "${S}"/gitweb/README README.gitweb
4952 -
4953 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
4954 - if [[ -d "${d}" ]] ; then
4955 - find "${d}" -name .packlist -delete || die
4956 - fi
4957 - done
4958 - else
4959 - rm -rf "${ED}"/usr/share/gitweb
4960 - fi
4961 -
4962 - if ! use subversion ; then
4963 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
4964 - "${ED}"/usr/share/man/man1/git-svn.1*
4965 - fi
4966 -
4967 - if use xinetd ; then
4968 - insinto /etc/xinetd.d
4969 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
4970 - fi
4971 -
4972 - if ! use prefix ; then
4973 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
4974 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
4975 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
4976 - "git-daemon@.service"
4977 - systemd_dounit "${FILESDIR}/git-daemon.socket"
4978 - fi
4979 -
4980 - perl_delete_localpod
4981 -
4982 - # Remove disabled linguas
4983 - # we could remove sources in src_prepare, but install does not
4984 - # handle missing locale dir well
4985 - rm_loc() {
4986 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
4987 - rm -r "${ED}/usr/share/locale/${1}" || die
4988 - fi
4989 - }
4990 - plocale_for_each_disabled_locale rm_loc
4991 -}
4992 -
4993 -src_test() {
4994 - local disabled=()
4995 - local tests_cvs=(
4996 - t9200-git-cvsexportcommit.sh
4997 - t9400-git-cvsserver-server.sh
4998 - t9401-git-cvsserver-crlf.sh
4999 - t9402-git-cvsserver-refs.sh
5000 - t9600-cvsimport.sh
5001 - t9601-cvsimport-vendor-branch.sh
5002 - t9602-cvsimport-branches-tags.sh
5003 - t9603-cvsimport-patchsets.sh
5004 - t9604-cvsimport-timestamps.sh
5005 - )
5006 - local tests_perl=(
5007 - t3701-add-interactive.sh
5008 - t5502-quickfetch.sh
5009 - t5512-ls-remote.sh
5010 - t5520-pull.sh
5011 - t7106-reset-unborn-branch.sh
5012 - t7501-commit.sh
5013 - )
5014 - # Bug #225601 - t0004 is not suitable for root perm
5015 - # Bug #219839 - t1004 is not suitable for root perm
5016 - # t0001-init.sh - check for init notices EPERM* fails
5017 - local tests_nonroot=(
5018 - t0001-init.sh
5019 - t0004-unwritable.sh
5020 - t0070-fundamental.sh
5021 - t1004-read-tree-m-u-wf.sh
5022 - t3700-add.sh
5023 - t7300-clean.sh
5024 - )
5025 - # t9100 still fails with symlinks in SVN 1.7
5026 - local test_svn=( t9100-git-svn-basic.sh )
5027 -
5028 - # Unzip is used only for the testcase code, not by any normal parts of Git.
5029 - if ! has_version app-arch/unzip ; then
5030 - einfo "Disabling tar-tree tests"
5031 - disabled+=( t5000-tar-tree.sh )
5032 - fi
5033 -
5034 - local cvs=0
5035 - use cvs && let cvs=${cvs}+1
5036 - if [[ ${EUID} -eq 0 ]] ; then
5037 - if [[ ${cvs} -eq 1 ]] ; then
5038 - ewarn "Skipping CVS tests because CVS does not work as root!"
5039 - ewarn "You should retest with FEATURES=userpriv!"
5040 - disabled+=( ${tests_cvs[@]} )
5041 - fi
5042 - einfo "Skipping other tests that require being non-root"
5043 - disabled+=( ${tests_nonroot[@]} )
5044 - else
5045 - [[ ${cvs} -gt 0 ]] && \
5046 - has_version dev-vcs/cvs && \
5047 - let cvs=${cvs}+1
5048 - [[ ${cvs} -gt 1 ]] && \
5049 - has_version "dev-vcs/cvs[server]" && \
5050 - let cvs=${cvs}+1
5051 - if [[ ${cvs} -lt 3 ]] ; then
5052 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
5053 - disabled+=( ${tests_cvs[@]} )
5054 - fi
5055 - fi
5056 -
5057 - if ! use perl ; then
5058 - einfo "Disabling tests that need Perl"
5059 - disabled+=( ${tests_perl[@]} )
5060 - fi
5061 -
5062 - einfo "Disabling tests that fail with SVN 1.7"
5063 - disabled+=( ${test_svn[@]} )
5064 -
5065 - # Reset all previously disabled tests
5066 - pushd t &>/dev/null || die
5067 - local i
5068 - for i in *.sh.DISABLED ; do
5069 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
5070 - done
5071 - einfo "Disabled tests:"
5072 - for i in ${disabled[@]} ; do
5073 - if [[ -f "${i}" ]] ; then
5074 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
5075 - fi
5076 - done
5077 -
5078 - # Avoid the test system removing the results because we want them ourselves
5079 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
5080 -
5081 - # Clean old results first, must always run
5082 - nonfatal git_emake clean
5083 - popd &>/dev/null || die
5084 -
5085 - # Now run the tests, keep going if we hit an error, and don't terminate on
5086 - # failure
5087 - local rc
5088 - einfo "Start test run"
5089 - #MAKEOPTS=-j1
5090 - nonfatal git_emake --keep-going test
5091 - rc=$?
5092 -
5093 - # Display nice results, now print the results
5094 - pushd t &>/dev/null || die
5095 - nonfatal git_emake aggregate-results
5096 -
5097 - # And bail if there was a problem
5098 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
5099 -}
5100 -
5101 -showpkgdeps() {
5102 - local pkg=$1
5103 - shift
5104 - elog " $(printf "%-17s:" ${pkg}) ${@}"
5105 -}
5106 -
5107 -pkg_postinst() {
5108 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
5109 - elog "completion."
5110 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
5111 - elog "Note that the prompt bash code is now in that separate script"
5112 - elog "These additional scripts need some dependencies:"
5113 - echo
5114 - showpkgdeps git-quiltimport "dev-util/quilt"
5115 - showpkgdeps git-instaweb \
5116 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
5117 - echo
5118 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
5119 -}
5120
5121 diff --git a/dev-vcs/git/git-2.36.1.ebuild b/dev-vcs/git/git-2.36.1.ebuild
5122 deleted file mode 100644
5123 index cf66a5432c9c..000000000000
5124 --- a/dev-vcs/git/git-2.36.1.ebuild
5125 +++ /dev/null
5126 @@ -1,641 +0,0 @@
5127 -# Copyright 1999-2022 Gentoo Authors
5128 -# Distributed under the terms of the GNU General Public License v2
5129 -
5130 -EAPI=8
5131 -
5132 -GENTOO_DEPEND_ON_PERL=no
5133 -
5134 -# bug #329479: git-remote-testgit is not multiple-version aware
5135 -PYTHON_COMPAT=( python3_{8..10} )
5136 -
5137 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
5138 -
5139 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
5140 -if [[ ${PV} == *9999 ]]; then
5141 - inherit git-r3
5142 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
5143 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
5144 - # See https://git-scm.com/docs/gitworkflows#_graduation
5145 - # In order of stability:
5146 - # 9999-r0: maint
5147 - # 9999-r1: master
5148 - # 9999-r2: next
5149 - # 9999-r3: seen
5150 - case "${PVR}" in
5151 - 9999) EGIT_BRANCH=maint ;;
5152 - 9999-r1) EGIT_BRANCH=master ;;
5153 - 9999-r2) EGIT_BRANCH=next;;
5154 - 9999-r3) EGIT_BRANCH=seen ;;
5155 - esac
5156 -fi
5157 -
5158 -MY_PV="${PV/_rc/.rc}"
5159 -MY_P="${PN}-${MY_PV}"
5160 -
5161 -DOC_VER="${MY_PV}"
5162 -
5163 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
5164 -HOMEPAGE="https://www.git-scm.com/"
5165 -if [[ ${PV} != *9999 ]]; then
5166 - SRC_URI_SUFFIX="xz"
5167 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
5168 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
5169 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
5170 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5171 - doc? (
5172 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5173 - )"
5174 - [[ "${PV}" == *_rc* ]] || \
5175 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
5176 -fi
5177 -
5178 -LICENSE="GPL-2"
5179 -SLOT="0"
5180 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
5181 -
5182 -# Common to both DEPEND and RDEPEND
5183 -DEPEND="
5184 - gnome-keyring? (
5185 - app-crypt/libsecret
5186 - dev-libs/glib:2
5187 - )
5188 - dev-libs/openssl:0=
5189 - sys-libs/zlib
5190 - pcre? ( dev-libs/libpcre2:= )
5191 - perl? ( dev-lang/perl:=[-build(-)] )
5192 - tk? ( dev-lang/tk:0= )
5193 - curl? (
5194 - net-misc/curl
5195 - webdav? ( dev-libs/expat )
5196 - )
5197 - iconv? ( virtual/libiconv )
5198 -"
5199 -
5200 -RDEPEND="${DEPEND}
5201 - gpg? ( app-crypt/gnupg )
5202 - perl? (
5203 - dev-perl/Error
5204 - dev-perl/MailTools
5205 - dev-perl/Authen-SASL
5206 - >=virtual/perl-libnet-3.110.0-r4[ssl]
5207 - cgi? (
5208 - dev-perl/CGI
5209 - highlight? ( app-text/highlight )
5210 - )
5211 - cvs? (
5212 - >=dev-vcs/cvsps-2.1:0
5213 - dev-perl/DBI
5214 - dev-perl/DBD-SQLite
5215 - )
5216 - mediawiki? (
5217 - dev-perl/DateTime-Format-ISO8601
5218 - dev-perl/HTML-Tree
5219 - dev-perl/MediaWiki-API
5220 - )
5221 - subversion? (
5222 - dev-vcs/subversion[-dso(-),perl]
5223 - dev-perl/libwww-perl
5224 - dev-perl/TermReadKey
5225 - )
5226 - )
5227 - perforce? ( ${PYTHON_DEPS} )
5228 - selinux? ( sec-policy/selinux-git )
5229 -"
5230 -
5231 -# This is how info docs are created with Git:
5232 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
5233 -# .xml/docbook --(docbook2texi.pl)--> .texi
5234 -# .texi --(makeinfo)---------> .info
5235 -BDEPEND="
5236 - doc? (
5237 - app-text/asciidoc
5238 - app-text/docbook2X
5239 - app-text/xmlto
5240 - sys-apps/texinfo
5241 - )
5242 - gnome-keyring? ( virtual/pkgconfig )
5243 - nls? ( sys-devel/gettext )
5244 - test? ( app-crypt/gnupg )
5245 -"
5246 -
5247 -# Live ebuild builds man pages and HTML docs, additionally
5248 -if [[ ${PV} == *9999 ]]; then
5249 - BDEPEND="${BDEPEND}
5250 - app-text/asciidoc"
5251 -fi
5252 -
5253 -SITEFILE="50${PN}-gentoo.el"
5254 -S="${WORKDIR}/${MY_P}"
5255 -
5256 -REQUIRED_USE="
5257 - cgi? ( perl )
5258 - cvs? ( perl )
5259 - mediawiki? ( perl )
5260 - mediawiki-experimental? ( mediawiki )
5261 - perforce? ( ${PYTHON_REQUIRED_USE} )
5262 - subversion? ( perl )
5263 - webdav? ( curl )
5264 -"
5265 -
5266 -RESTRICT="!test? ( test )"
5267 -
5268 -PATCHES=(
5269 - # bug #350330 - automagic CVS when we don't want it is bad.
5270 - "${FILESDIR}"/git-2.33.0_rc0-optional-cvs.patch
5271 -
5272 - # Make submodule output quiet
5273 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
5274 -)
5275 -
5276 -pkg_setup() {
5277 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
5278 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
5279 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
5280 - ewarn "have been warned."
5281 - fi
5282 -
5283 - if use perforce ; then
5284 - python-single-r1_pkg_setup
5285 - fi
5286 -}
5287 -
5288 -# This is needed because for some obscure reasons future calls to make don't
5289 -# pick up these exports if we export them in src_unpack()
5290 -exportmakeopts() {
5291 - local extlibs myopts
5292 -
5293 - myopts=(
5294 - ASCIIDOC_NO_ROFF=YesPlease
5295 - $(usex cvs '' NO_CVS=YesPlease)
5296 - $(usex elibc_musl NO_REGEX=YesPlease '')
5297 - $(usex iconv '' NO_ICONV=YesPlease)
5298 - $(usex nls '' NO_GETTEXT=YesPlease)
5299 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
5300 - $(usex perforce '' NO_PYTHON=YesPlease)
5301 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
5302 - $(usex threads '' NO_PTHREADS=YesPlease)
5303 - $(usex tk '' NO_TCLTK=YesPlease)
5304 - )
5305 -
5306 - if use blksha1 ; then
5307 - myopts+=( BLK_SHA1=YesPlease )
5308 - elif use ppcsha1 ; then
5309 - myopts+=( PPC_SHA1=YesPlease )
5310 - fi
5311 -
5312 - if use curl ; then
5313 - use webdav || myopts+=( NO_EXPAT=YesPlease )
5314 - else
5315 - myopts+=( NO_CURL=YesPlease )
5316 - fi
5317 -
5318 - # broken assumptions, because of static build system ...
5319 - myopts+=(
5320 - NO_FINK=YesPlease
5321 - NO_DARWIN_PORTS=YesPlease
5322 - INSTALL=install
5323 - TAR=tar
5324 - SHELL_PATH="${EPREFIX}/bin/sh"
5325 - SANE_TOOL_PATH=
5326 - OLD_ICONV=
5327 - NO_EXTERNAL_GREP=
5328 - )
5329 -
5330 - # can't define this to null, since the entire makefile depends on it
5331 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
5332 -
5333 - if use pcre; then
5334 - myopts+=( USE_LIBPCRE2=YesPlease )
5335 - extlibs+=( -lpcre2-8 )
5336 - fi
5337 - if [[ ${CHOST} == *-solaris* ]]; then
5338 - myopts+=(
5339 - NEEDS_LIBICONV=YesPlease
5340 - HAVE_CLOCK_MONOTONIC=1
5341 - )
5342 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
5343 - myopts+=( HAVE_GETDELIM=1 )
5344 - fi
5345 - fi
5346 -
5347 - if has_version '>=app-text/asciidoc-8.0' ; then
5348 - myopts+=( ASCIIDOC8=YesPlease )
5349 - fi
5350 -
5351 - export MY_MAKEOPTS="${myopts[@]}"
5352 - export EXTLIBS="${extlibs[@]}"
5353 -}
5354 -
5355 -src_unpack() {
5356 - if [[ ${PV} != *9999 ]] ; then
5357 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
5358 - cd "${S}" || die
5359 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5360 - if use doc ; then
5361 - pushd "${S}"/Documentation &>/dev/null || die
5362 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5363 - popd &>/dev/null || die
5364 - fi
5365 - else
5366 - git-r3_src_unpack
5367 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
5368 - fi
5369 -
5370 -}
5371 -
5372 -src_prepare() {
5373 - # add experimental patches to improve mediawiki support
5374 - # see patches for origin
5375 - if use mediawiki-experimental ; then
5376 - PATCHES+=(
5377 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
5378 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
5379 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
5380 - )
5381 - fi
5382 -
5383 - default
5384 -
5385 - if use prefix ; then
5386 - # bug #757309
5387 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
5388 - fi
5389 -
5390 - sed -i \
5391 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
5392 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
5393 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
5394 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
5395 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
5396 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
5397 - Makefile || die
5398 -
5399 - # Fix docbook2texi command
5400 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
5401 - Documentation/Makefile || die
5402 -}
5403 -
5404 -git_emake() {
5405 - # bug #320647: PYTHON_PATH
5406 - local PYTHON_PATH=""
5407 - use perforce && PYTHON_PATH="${PYTHON}"
5408 - emake ${MY_MAKEOPTS} \
5409 - prefix="${EPREFIX}"/usr \
5410 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
5411 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
5412 - sysconfdir="${EPREFIX}"/etc \
5413 - GIT_TEST_OPTS="--no-color" \
5414 - OPTAR="$(tc-getAR)" \
5415 - OPTCC="$(tc-getCC)" \
5416 - OPTCFLAGS="${CFLAGS}" \
5417 - OPTLDFLAGS="${LDFLAGS}" \
5418 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
5419 - PERL_MM_OPT="" \
5420 - PYTHON_PATH="${PYTHON_PATH}" \
5421 - V=1 \
5422 - "$@"
5423 -}
5424 -
5425 -src_configure() {
5426 - exportmakeopts
5427 -}
5428 -
5429 -src_compile() {
5430 - git_emake || die "emake failed"
5431 -
5432 - if use perl && use cgi ; then
5433 - git_emake gitweb || die "emake gitweb (cgi) failed"
5434 - fi
5435 -
5436 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
5437 - pushd contrib/credential/osxkeychain &>/dev/null || die
5438 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
5439 - || die "emake credential-osxkeychain"
5440 - popd &>/dev/null || die
5441 - fi
5442 -
5443 - pushd Documentation &>/dev/null || die
5444 - if [[ ${PV} == *9999 ]] ; then
5445 - git_emake man || die "emake man failed"
5446 - if use doc ; then
5447 - git_emake info html || die "emake info html failed"
5448 - fi
5449 - else
5450 - if use doc ; then
5451 - git_emake info || die "emake info html failed"
5452 - fi
5453 - fi
5454 - popd &>/dev/null || die
5455 -
5456 - if use gnome-keyring ; then
5457 - pushd contrib/credential/libsecret &>/dev/null || die
5458 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
5459 - popd &>/dev/null || die
5460 - fi
5461 -
5462 - pushd contrib/subtree &>/dev/null || die
5463 - git_emake git-subtree || die
5464 - # git-subtree.1 requires the full USE=doc dependency stack
5465 - use doc && git_emake git-subtree.html git-subtree.1
5466 - popd &>/dev/null || die
5467 -
5468 - pushd contrib/diff-highlight &>/dev/null || die
5469 - git_emake || die
5470 - popd &>/dev/null || die
5471 -
5472 - if use mediawiki ; then
5473 - pushd contrib/mw-to-git &>/dev/null || die
5474 - git_emake || die
5475 - popd &>/dev/null || die
5476 -
5477 - fi
5478 -}
5479 -
5480 -src_install() {
5481 - git_emake DESTDIR="${D}" install || die "make install failed"
5482 -
5483 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
5484 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
5485 - fi
5486 -
5487 - # Depending on the tarball and manual rebuild of the documentation, the
5488 - # manpages may exist in either OR both of these directories.
5489 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
5490 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
5491 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
5492 - use doc && dodir /usr/share/doc/${PF}/html
5493 - local d
5494 - for d in / /howto/ /technical/ ; do
5495 - docinto ${d}
5496 - dodoc Documentation${d}*.txt
5497 - if use doc ; then
5498 - docinto ${d}/html
5499 - dodoc Documentation${d}*.html
5500 - fi
5501 - done
5502 - docinto /
5503 - # Upstream does not ship this pre-built :-(
5504 - use doc && doinfo Documentation/{git,gitman}.info
5505 -
5506 - newbashcomp contrib/completion/git-completion.bash ${PN}
5507 - bashcomp_alias git gitk
5508 - # Not really a bash-completion file (bug #477920)
5509 - # but still needed uncompressed (bug #507480)
5510 - insinto /usr/share/${PN}
5511 - doins contrib/completion/git-prompt.sh
5512 -
5513 - #dobin contrib/fast-import/git-p4 # Moved upstream
5514 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
5515 - newbin contrib/fast-import/import-tars.perl import-tars
5516 - exeinto /usr/libexec/git-core/
5517 - newexe contrib/git-resurrect.sh git-resurrect
5518 -
5519 - # git-subtree
5520 - pushd contrib/subtree &>/dev/null || die
5521 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
5522 - if use doc ; then
5523 - # Do not move git subtree install-man outside USE=doc!
5524 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
5525 - fi
5526 - newdoc README README.git-subtree
5527 - dodoc git-subtree.txt
5528 - popd &>/dev/null || die
5529 -
5530 - if use mediawiki ; then
5531 - pushd contrib/mw-to-git &>/dev/null || die
5532 - git_emake DESTDIR="${D}" install
5533 - popd &>/dev/null || die
5534 - fi
5535 -
5536 - # diff-highlight
5537 - dobin contrib/diff-highlight/diff-highlight
5538 - newdoc contrib/diff-highlight/README README.diff-highlight
5539 -
5540 - # git-jump
5541 - exeinto /usr/libexec/git-core/
5542 - doexe contrib/git-jump/git-jump
5543 - newdoc contrib/git-jump/README git-jump.txt
5544 -
5545 - # git-contacts
5546 - exeinto /usr/libexec/git-core/
5547 - doexe contrib/contacts/git-contacts
5548 - dodoc contrib/contacts/git-contacts.txt
5549 -
5550 - if use gnome-keyring ; then
5551 - pushd contrib/credential/libsecret &>/dev/null || die
5552 - dobin git-credential-libsecret
5553 - popd &>/dev/null || die
5554 - fi
5555 -
5556 - dodir /usr/share/${PN}/contrib
5557 - # The following are excluded:
5558 - # completion - installed above
5559 - # diff-highlight - done above
5560 - # emacs - removed upstream
5561 - # examples - these are stuff that is not used in Git anymore actually
5562 - # git-jump - done above
5563 - # gitview - installed above
5564 - # p4import - excluded because fast-import has a better one
5565 - # patches - stuff the Git guys made to go upstream to other places
5566 - # persistent-https - TODO
5567 - # mw-to-git - TODO
5568 - # subtree - build seperately
5569 - # svnimport - use git-svn
5570 - # thunderbird-patch-inline - fixes thunderbird
5571 - local contrib_objects=(
5572 - buildsystems
5573 - fast-import
5574 - hg-to-git
5575 - hooks
5576 - remotes2config.sh
5577 - rerere-train.sh
5578 - stats
5579 - workdir
5580 - )
5581 - local i
5582 - for i in "${contrib_objects[@]}" ; do
5583 - cp -rf \
5584 - "${S}"/contrib/${i} \
5585 - "${ED}"/usr/share/${PN}/contrib \
5586 - || die "Failed contrib ${i}"
5587 - done
5588 -
5589 - if use perl && use cgi ; then
5590 - # We used to install in /usr/share/${PN}/gitweb
5591 - # but upstream installs in /usr/share/gitweb
5592 - # so we will install a symlink and use their location for compat with other
5593 - # distros
5594 - dosym ../gitweb /usr/share/${PN}/gitweb
5595 -
5596 - # INSTALL discusses configuration issues, not just installation
5597 - docinto /
5598 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
5599 - newdoc "${S}"/gitweb/README README.gitweb
5600 -
5601 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
5602 - if [[ -d "${d}" ]] ; then
5603 - find "${d}" -name .packlist -delete || die
5604 - fi
5605 - done
5606 - else
5607 - rm -rf "${ED}"/usr/share/gitweb
5608 - fi
5609 -
5610 - if ! use subversion ; then
5611 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
5612 - "${ED}"/usr/share/man/man1/git-svn.1*
5613 - fi
5614 -
5615 - if use xinetd ; then
5616 - insinto /etc/xinetd.d
5617 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
5618 - fi
5619 -
5620 - if ! use prefix ; then
5621 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
5622 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
5623 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
5624 - "git-daemon@.service"
5625 - systemd_dounit "${FILESDIR}/git-daemon.socket"
5626 - fi
5627 -
5628 - perl_delete_localpod
5629 -
5630 - # Remove disabled linguas
5631 - # we could remove sources in src_prepare, but install does not
5632 - # handle missing locale dir well
5633 - rm_loc() {
5634 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
5635 - rm -r "${ED}/usr/share/locale/${1}" || die
5636 - fi
5637 - }
5638 - plocale_for_each_disabled_locale rm_loc
5639 -}
5640 -
5641 -src_test() {
5642 - local disabled=()
5643 - local tests_cvs=(
5644 - t9200-git-cvsexportcommit.sh
5645 - t9400-git-cvsserver-server.sh
5646 - t9401-git-cvsserver-crlf.sh
5647 - t9402-git-cvsserver-refs.sh
5648 - t9600-cvsimport.sh
5649 - t9601-cvsimport-vendor-branch.sh
5650 - t9602-cvsimport-branches-tags.sh
5651 - t9603-cvsimport-patchsets.sh
5652 - t9604-cvsimport-timestamps.sh
5653 - )
5654 - local tests_perl=(
5655 - t3701-add-interactive.sh
5656 - t5502-quickfetch.sh
5657 - t5512-ls-remote.sh
5658 - t5520-pull.sh
5659 - t7106-reset-unborn-branch.sh
5660 - t7501-commit.sh
5661 - )
5662 - # Bug #225601 - t0004 is not suitable for root perm
5663 - # Bug #219839 - t1004 is not suitable for root perm
5664 - # t0001-init.sh - check for init notices EPERM* fails
5665 - local tests_nonroot=(
5666 - t0001-init.sh
5667 - t0004-unwritable.sh
5668 - t0070-fundamental.sh
5669 - t1004-read-tree-m-u-wf.sh
5670 - t3700-add.sh
5671 - t7300-clean.sh
5672 - )
5673 - # t9100 still fails with symlinks in SVN 1.7
5674 - local test_svn=( t9100-git-svn-basic.sh )
5675 -
5676 - # Unzip is used only for the testcase code, not by any normal parts of Git.
5677 - if ! has_version app-arch/unzip ; then
5678 - einfo "Disabling tar-tree tests"
5679 - disabled+=( t5000-tar-tree.sh )
5680 - fi
5681 -
5682 - local cvs=0
5683 - use cvs && let cvs=${cvs}+1
5684 - if [[ ${EUID} -eq 0 ]] ; then
5685 - if [[ ${cvs} -eq 1 ]] ; then
5686 - ewarn "Skipping CVS tests because CVS does not work as root!"
5687 - ewarn "You should retest with FEATURES=userpriv!"
5688 - disabled+=( ${tests_cvs[@]} )
5689 - fi
5690 - einfo "Skipping other tests that require being non-root"
5691 - disabled+=( ${tests_nonroot[@]} )
5692 - else
5693 - [[ ${cvs} -gt 0 ]] && \
5694 - has_version dev-vcs/cvs && \
5695 - let cvs=${cvs}+1
5696 - [[ ${cvs} -gt 1 ]] && \
5697 - has_version "dev-vcs/cvs[server]" && \
5698 - let cvs=${cvs}+1
5699 - if [[ ${cvs} -lt 3 ]] ; then
5700 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
5701 - disabled+=( ${tests_cvs[@]} )
5702 - fi
5703 - fi
5704 -
5705 - if ! use perl ; then
5706 - einfo "Disabling tests that need Perl"
5707 - disabled+=( ${tests_perl[@]} )
5708 - fi
5709 -
5710 - einfo "Disabling tests that fail with SVN 1.7"
5711 - disabled+=( ${test_svn[@]} )
5712 -
5713 - # Reset all previously disabled tests
5714 - pushd t &>/dev/null || die
5715 - local i
5716 - for i in *.sh.DISABLED ; do
5717 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
5718 - done
5719 - einfo "Disabled tests:"
5720 - for i in ${disabled[@]} ; do
5721 - if [[ -f "${i}" ]] ; then
5722 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
5723 - fi
5724 - done
5725 -
5726 - # Avoid the test system removing the results because we want them ourselves
5727 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
5728 -
5729 - # Clean old results first, must always run
5730 - nonfatal git_emake clean
5731 - popd &>/dev/null || die
5732 -
5733 - # Now run the tests, keep going if we hit an error, and don't terminate on
5734 - # failure
5735 - local rc
5736 - einfo "Start test run"
5737 - #MAKEOPTS=-j1
5738 - nonfatal git_emake --keep-going test
5739 - rc=$?
5740 -
5741 - # Display nice results, now print the results
5742 - pushd t &>/dev/null || die
5743 - nonfatal git_emake aggregate-results
5744 -
5745 - # And bail if there was a problem
5746 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
5747 -}
5748 -
5749 -showpkgdeps() {
5750 - local pkg=$1
5751 - shift
5752 - elog " $(printf "%-17s:" ${pkg}) ${@}"
5753 -}
5754 -
5755 -pkg_postinst() {
5756 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
5757 - elog "completion."
5758 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
5759 - elog "Note that the prompt bash code is now in that separate script"
5760 - elog "These additional scripts need some dependencies:"
5761 - echo
5762 - showpkgdeps git-quiltimport "dev-util/quilt"
5763 - showpkgdeps git-instaweb \
5764 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
5765 - echo
5766 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
5767 -}
5768
5769 diff --git a/dev-vcs/git/git-2.37.0.ebuild b/dev-vcs/git/git-2.37.0.ebuild
5770 deleted file mode 100644
5771 index 6b4a3f2ff057..000000000000
5772 --- a/dev-vcs/git/git-2.37.0.ebuild
5773 +++ /dev/null
5774 @@ -1,641 +0,0 @@
5775 -# Copyright 1999-2022 Gentoo Authors
5776 -# Distributed under the terms of the GNU General Public License v2
5777 -
5778 -EAPI=8
5779 -
5780 -GENTOO_DEPEND_ON_PERL=no
5781 -
5782 -# bug #329479: git-remote-testgit is not multiple-version aware
5783 -PYTHON_COMPAT=( python3_{8..10} )
5784 -
5785 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
5786 -
5787 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
5788 -if [[ ${PV} == *9999 ]]; then
5789 - inherit git-r3
5790 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
5791 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
5792 - # See https://git-scm.com/docs/gitworkflows#_graduation
5793 - # In order of stability:
5794 - # 9999-r0: maint
5795 - # 9999-r1: master
5796 - # 9999-r2: next
5797 - # 9999-r3: seen
5798 - case "${PVR}" in
5799 - 9999) EGIT_BRANCH=maint ;;
5800 - 9999-r1) EGIT_BRANCH=master ;;
5801 - 9999-r2) EGIT_BRANCH=next;;
5802 - 9999-r3) EGIT_BRANCH=seen ;;
5803 - esac
5804 -fi
5805 -
5806 -MY_PV="${PV/_rc/.rc}"
5807 -MY_P="${PN}-${MY_PV}"
5808 -
5809 -DOC_VER="${MY_PV}"
5810 -
5811 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
5812 -HOMEPAGE="https://www.git-scm.com/"
5813 -if [[ ${PV} != *9999 ]]; then
5814 - SRC_URI_SUFFIX="xz"
5815 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
5816 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
5817 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
5818 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5819 - doc? (
5820 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
5821 - )"
5822 - [[ "${PV}" == *_rc* ]] || \
5823 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
5824 -fi
5825 -
5826 -LICENSE="GPL-2"
5827 -SLOT="0"
5828 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
5829 -
5830 -# Common to both DEPEND and RDEPEND
5831 -DEPEND="
5832 - gnome-keyring? (
5833 - app-crypt/libsecret
5834 - dev-libs/glib:2
5835 - )
5836 - dev-libs/openssl:0=
5837 - sys-libs/zlib
5838 - pcre? ( dev-libs/libpcre2:= )
5839 - perl? ( dev-lang/perl:=[-build(-)] )
5840 - tk? ( dev-lang/tk:0= )
5841 - curl? (
5842 - net-misc/curl
5843 - webdav? ( dev-libs/expat )
5844 - )
5845 - iconv? ( virtual/libiconv )
5846 -"
5847 -
5848 -RDEPEND="${DEPEND}
5849 - gpg? ( app-crypt/gnupg )
5850 - perl? (
5851 - dev-perl/Error
5852 - dev-perl/MailTools
5853 - dev-perl/Authen-SASL
5854 - >=virtual/perl-libnet-3.110.0-r4[ssl]
5855 - cgi? (
5856 - dev-perl/CGI
5857 - highlight? ( app-text/highlight )
5858 - )
5859 - cvs? (
5860 - >=dev-vcs/cvsps-2.1:0
5861 - dev-perl/DBI
5862 - dev-perl/DBD-SQLite
5863 - )
5864 - mediawiki? (
5865 - dev-perl/DateTime-Format-ISO8601
5866 - dev-perl/HTML-Tree
5867 - dev-perl/MediaWiki-API
5868 - )
5869 - subversion? (
5870 - dev-vcs/subversion[-dso(-),perl]
5871 - dev-perl/libwww-perl
5872 - dev-perl/TermReadKey
5873 - )
5874 - )
5875 - perforce? ( ${PYTHON_DEPS} )
5876 - selinux? ( sec-policy/selinux-git )
5877 -"
5878 -
5879 -# This is how info docs are created with Git:
5880 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
5881 -# .xml/docbook --(docbook2texi.pl)--> .texi
5882 -# .texi --(makeinfo)---------> .info
5883 -BDEPEND="
5884 - doc? (
5885 - app-text/asciidoc
5886 - app-text/docbook2X
5887 - app-text/xmlto
5888 - sys-apps/texinfo
5889 - )
5890 - gnome-keyring? ( virtual/pkgconfig )
5891 - nls? ( sys-devel/gettext )
5892 - test? ( app-crypt/gnupg )
5893 -"
5894 -
5895 -# Live ebuild builds man pages and HTML docs, additionally
5896 -if [[ ${PV} == *9999 ]]; then
5897 - BDEPEND="${BDEPEND}
5898 - app-text/asciidoc"
5899 -fi
5900 -
5901 -SITEFILE="50${PN}-gentoo.el"
5902 -S="${WORKDIR}/${MY_P}"
5903 -
5904 -REQUIRED_USE="
5905 - cgi? ( perl )
5906 - cvs? ( perl )
5907 - mediawiki? ( perl )
5908 - mediawiki-experimental? ( mediawiki )
5909 - perforce? ( ${PYTHON_REQUIRED_USE} )
5910 - subversion? ( perl )
5911 - webdav? ( curl )
5912 -"
5913 -
5914 -RESTRICT="!test? ( test )"
5915 -
5916 -PATCHES=(
5917 - # bug #350330 - automagic CVS when we don't want it is bad.
5918 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
5919 -
5920 - # Make submodule output quiet
5921 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
5922 -)
5923 -
5924 -pkg_setup() {
5925 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
5926 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
5927 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
5928 - ewarn "have been warned."
5929 - fi
5930 -
5931 - if use perforce ; then
5932 - python-single-r1_pkg_setup
5933 - fi
5934 -}
5935 -
5936 -# This is needed because for some obscure reasons future calls to make don't
5937 -# pick up these exports if we export them in src_unpack()
5938 -exportmakeopts() {
5939 - local extlibs myopts
5940 -
5941 - myopts=(
5942 - ASCIIDOC_NO_ROFF=YesPlease
5943 - $(usex cvs '' NO_CVS=YesPlease)
5944 - $(usex elibc_musl NO_REGEX=YesPlease '')
5945 - $(usex iconv '' NO_ICONV=YesPlease)
5946 - $(usex nls '' NO_GETTEXT=YesPlease)
5947 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
5948 - $(usex perforce '' NO_PYTHON=YesPlease)
5949 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
5950 - $(usex threads '' NO_PTHREADS=YesPlease)
5951 - $(usex tk '' NO_TCLTK=YesPlease)
5952 - )
5953 -
5954 - if use blksha1 ; then
5955 - myopts+=( BLK_SHA1=YesPlease )
5956 - elif use ppcsha1 ; then
5957 - myopts+=( PPC_SHA1=YesPlease )
5958 - fi
5959 -
5960 - if use curl ; then
5961 - use webdav || myopts+=( NO_EXPAT=YesPlease )
5962 - else
5963 - myopts+=( NO_CURL=YesPlease )
5964 - fi
5965 -
5966 - # broken assumptions, because of static build system ...
5967 - myopts+=(
5968 - NO_FINK=YesPlease
5969 - NO_DARWIN_PORTS=YesPlease
5970 - INSTALL=install
5971 - TAR=tar
5972 - SHELL_PATH="${EPREFIX}/bin/sh"
5973 - SANE_TOOL_PATH=
5974 - OLD_ICONV=
5975 - NO_EXTERNAL_GREP=
5976 - )
5977 -
5978 - # can't define this to null, since the entire makefile depends on it
5979 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
5980 -
5981 - if use pcre; then
5982 - myopts+=( USE_LIBPCRE2=YesPlease )
5983 - extlibs+=( -lpcre2-8 )
5984 - fi
5985 - if [[ ${CHOST} == *-solaris* ]]; then
5986 - myopts+=(
5987 - NEEDS_LIBICONV=YesPlease
5988 - HAVE_CLOCK_MONOTONIC=1
5989 - )
5990 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
5991 - myopts+=( HAVE_GETDELIM=1 )
5992 - fi
5993 - fi
5994 -
5995 - if has_version '>=app-text/asciidoc-8.0' ; then
5996 - myopts+=( ASCIIDOC8=YesPlease )
5997 - fi
5998 -
5999 - export MY_MAKEOPTS="${myopts[@]}"
6000 - export EXTLIBS="${extlibs[@]}"
6001 -}
6002 -
6003 -src_unpack() {
6004 - if [[ ${PV} != *9999 ]] ; then
6005 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
6006 - cd "${S}" || die
6007 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6008 - if use doc ; then
6009 - pushd "${S}"/Documentation &>/dev/null || die
6010 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6011 - popd &>/dev/null || die
6012 - fi
6013 - else
6014 - git-r3_src_unpack
6015 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
6016 - fi
6017 -
6018 -}
6019 -
6020 -src_prepare() {
6021 - # add experimental patches to improve mediawiki support
6022 - # see patches for origin
6023 - if use mediawiki-experimental ; then
6024 - PATCHES+=(
6025 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
6026 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
6027 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
6028 - )
6029 - fi
6030 -
6031 - default
6032 -
6033 - if use prefix ; then
6034 - # bug #757309
6035 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
6036 - fi
6037 -
6038 - sed -i \
6039 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
6040 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
6041 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
6042 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
6043 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
6044 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
6045 - Makefile || die
6046 -
6047 - # Fix docbook2texi command
6048 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
6049 - Documentation/Makefile || die
6050 -}
6051 -
6052 -git_emake() {
6053 - # bug #320647: PYTHON_PATH
6054 - local PYTHON_PATH=""
6055 - use perforce && PYTHON_PATH="${PYTHON}"
6056 - emake ${MY_MAKEOPTS} \
6057 - prefix="${EPREFIX}"/usr \
6058 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
6059 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
6060 - sysconfdir="${EPREFIX}"/etc \
6061 - GIT_TEST_OPTS="--no-color" \
6062 - OPTAR="$(tc-getAR)" \
6063 - OPTCC="$(tc-getCC)" \
6064 - OPTCFLAGS="${CFLAGS}" \
6065 - OPTLDFLAGS="${LDFLAGS}" \
6066 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
6067 - PERL_MM_OPT="" \
6068 - PYTHON_PATH="${PYTHON_PATH}" \
6069 - V=1 \
6070 - "$@"
6071 -}
6072 -
6073 -src_configure() {
6074 - exportmakeopts
6075 -}
6076 -
6077 -src_compile() {
6078 - git_emake || die "emake failed"
6079 -
6080 - if use perl && use cgi ; then
6081 - git_emake gitweb || die "emake gitweb (cgi) failed"
6082 - fi
6083 -
6084 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
6085 - pushd contrib/credential/osxkeychain &>/dev/null || die
6086 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
6087 - || die "emake credential-osxkeychain"
6088 - popd &>/dev/null || die
6089 - fi
6090 -
6091 - pushd Documentation &>/dev/null || die
6092 - if [[ ${PV} == *9999 ]] ; then
6093 - git_emake man || die "emake man failed"
6094 - if use doc ; then
6095 - git_emake info html || die "emake info html failed"
6096 - fi
6097 - else
6098 - if use doc ; then
6099 - git_emake info || die "emake info html failed"
6100 - fi
6101 - fi
6102 - popd &>/dev/null || die
6103 -
6104 - if use gnome-keyring ; then
6105 - pushd contrib/credential/libsecret &>/dev/null || die
6106 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
6107 - popd &>/dev/null || die
6108 - fi
6109 -
6110 - pushd contrib/subtree &>/dev/null || die
6111 - git_emake git-subtree || die
6112 - # git-subtree.1 requires the full USE=doc dependency stack
6113 - use doc && git_emake git-subtree.html git-subtree.1
6114 - popd &>/dev/null || die
6115 -
6116 - pushd contrib/diff-highlight &>/dev/null || die
6117 - git_emake || die
6118 - popd &>/dev/null || die
6119 -
6120 - if use mediawiki ; then
6121 - pushd contrib/mw-to-git &>/dev/null || die
6122 - git_emake || die
6123 - popd &>/dev/null || die
6124 -
6125 - fi
6126 -}
6127 -
6128 -src_install() {
6129 - git_emake DESTDIR="${D}" install || die "make install failed"
6130 -
6131 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
6132 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
6133 - fi
6134 -
6135 - # Depending on the tarball and manual rebuild of the documentation, the
6136 - # manpages may exist in either OR both of these directories.
6137 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
6138 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
6139 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
6140 - use doc && dodir /usr/share/doc/${PF}/html
6141 - local d
6142 - for d in / /howto/ /technical/ ; do
6143 - docinto ${d}
6144 - dodoc Documentation${d}*.txt
6145 - if use doc ; then
6146 - docinto ${d}/html
6147 - dodoc Documentation${d}*.html
6148 - fi
6149 - done
6150 - docinto /
6151 - # Upstream does not ship this pre-built :-(
6152 - use doc && doinfo Documentation/{git,gitman}.info
6153 -
6154 - newbashcomp contrib/completion/git-completion.bash ${PN}
6155 - bashcomp_alias git gitk
6156 - # Not really a bash-completion file (bug #477920)
6157 - # but still needed uncompressed (bug #507480)
6158 - insinto /usr/share/${PN}
6159 - doins contrib/completion/git-prompt.sh
6160 -
6161 - #dobin contrib/fast-import/git-p4 # Moved upstream
6162 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
6163 - newbin contrib/fast-import/import-tars.perl import-tars
6164 - exeinto /usr/libexec/git-core/
6165 - newexe contrib/git-resurrect.sh git-resurrect
6166 -
6167 - # git-subtree
6168 - pushd contrib/subtree &>/dev/null || die
6169 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
6170 - if use doc ; then
6171 - # Do not move git subtree install-man outside USE=doc!
6172 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
6173 - fi
6174 - newdoc README README.git-subtree
6175 - dodoc git-subtree.txt
6176 - popd &>/dev/null || die
6177 -
6178 - if use mediawiki ; then
6179 - pushd contrib/mw-to-git &>/dev/null || die
6180 - git_emake DESTDIR="${D}" install
6181 - popd &>/dev/null || die
6182 - fi
6183 -
6184 - # diff-highlight
6185 - dobin contrib/diff-highlight/diff-highlight
6186 - newdoc contrib/diff-highlight/README README.diff-highlight
6187 -
6188 - # git-jump
6189 - exeinto /usr/libexec/git-core/
6190 - doexe contrib/git-jump/git-jump
6191 - newdoc contrib/git-jump/README git-jump.txt
6192 -
6193 - # git-contacts
6194 - exeinto /usr/libexec/git-core/
6195 - doexe contrib/contacts/git-contacts
6196 - dodoc contrib/contacts/git-contacts.txt
6197 -
6198 - if use gnome-keyring ; then
6199 - pushd contrib/credential/libsecret &>/dev/null || die
6200 - dobin git-credential-libsecret
6201 - popd &>/dev/null || die
6202 - fi
6203 -
6204 - dodir /usr/share/${PN}/contrib
6205 - # The following are excluded:
6206 - # completion - installed above
6207 - # diff-highlight - done above
6208 - # emacs - removed upstream
6209 - # examples - these are stuff that is not used in Git anymore actually
6210 - # git-jump - done above
6211 - # gitview - installed above
6212 - # p4import - excluded because fast-import has a better one
6213 - # patches - stuff the Git guys made to go upstream to other places
6214 - # persistent-https - TODO
6215 - # mw-to-git - TODO
6216 - # subtree - build seperately
6217 - # svnimport - use git-svn
6218 - # thunderbird-patch-inline - fixes thunderbird
6219 - local contrib_objects=(
6220 - buildsystems
6221 - fast-import
6222 - hg-to-git
6223 - hooks
6224 - remotes2config.sh
6225 - rerere-train.sh
6226 - stats
6227 - workdir
6228 - )
6229 - local i
6230 - for i in "${contrib_objects[@]}" ; do
6231 - cp -rf \
6232 - "${S}"/contrib/${i} \
6233 - "${ED}"/usr/share/${PN}/contrib \
6234 - || die "Failed contrib ${i}"
6235 - done
6236 -
6237 - if use perl && use cgi ; then
6238 - # We used to install in /usr/share/${PN}/gitweb
6239 - # but upstream installs in /usr/share/gitweb
6240 - # so we will install a symlink and use their location for compat with other
6241 - # distros
6242 - dosym ../gitweb /usr/share/${PN}/gitweb
6243 -
6244 - # INSTALL discusses configuration issues, not just installation
6245 - docinto /
6246 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
6247 - newdoc "${S}"/gitweb/README README.gitweb
6248 -
6249 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
6250 - if [[ -d "${d}" ]] ; then
6251 - find "${d}" -name .packlist -delete || die
6252 - fi
6253 - done
6254 - else
6255 - rm -rf "${ED}"/usr/share/gitweb
6256 - fi
6257 -
6258 - if ! use subversion ; then
6259 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
6260 - "${ED}"/usr/share/man/man1/git-svn.1*
6261 - fi
6262 -
6263 - if use xinetd ; then
6264 - insinto /etc/xinetd.d
6265 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
6266 - fi
6267 -
6268 - if ! use prefix ; then
6269 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
6270 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
6271 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
6272 - "git-daemon@.service"
6273 - systemd_dounit "${FILESDIR}/git-daemon.socket"
6274 - fi
6275 -
6276 - perl_delete_localpod
6277 -
6278 - # Remove disabled linguas
6279 - # we could remove sources in src_prepare, but install does not
6280 - # handle missing locale dir well
6281 - rm_loc() {
6282 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
6283 - rm -r "${ED}/usr/share/locale/${1}" || die
6284 - fi
6285 - }
6286 - plocale_for_each_disabled_locale rm_loc
6287 -}
6288 -
6289 -src_test() {
6290 - local disabled=()
6291 - local tests_cvs=(
6292 - t9200-git-cvsexportcommit.sh
6293 - t9400-git-cvsserver-server.sh
6294 - t9401-git-cvsserver-crlf.sh
6295 - t9402-git-cvsserver-refs.sh
6296 - t9600-cvsimport.sh
6297 - t9601-cvsimport-vendor-branch.sh
6298 - t9602-cvsimport-branches-tags.sh
6299 - t9603-cvsimport-patchsets.sh
6300 - t9604-cvsimport-timestamps.sh
6301 - )
6302 - local tests_perl=(
6303 - t3701-add-interactive.sh
6304 - t5502-quickfetch.sh
6305 - t5512-ls-remote.sh
6306 - t5520-pull.sh
6307 - t7106-reset-unborn-branch.sh
6308 - t7501-commit.sh
6309 - )
6310 - # Bug #225601 - t0004 is not suitable for root perm
6311 - # Bug #219839 - t1004 is not suitable for root perm
6312 - # t0001-init.sh - check for init notices EPERM* fails
6313 - local tests_nonroot=(
6314 - t0001-init.sh
6315 - t0004-unwritable.sh
6316 - t0070-fundamental.sh
6317 - t1004-read-tree-m-u-wf.sh
6318 - t3700-add.sh
6319 - t7300-clean.sh
6320 - )
6321 - # t9100 still fails with symlinks in SVN 1.7
6322 - local test_svn=( t9100-git-svn-basic.sh )
6323 -
6324 - # Unzip is used only for the testcase code, not by any normal parts of Git.
6325 - if ! has_version app-arch/unzip ; then
6326 - einfo "Disabling tar-tree tests"
6327 - disabled+=( t5000-tar-tree.sh )
6328 - fi
6329 -
6330 - local cvs=0
6331 - use cvs && let cvs=${cvs}+1
6332 - if [[ ${EUID} -eq 0 ]] ; then
6333 - if [[ ${cvs} -eq 1 ]] ; then
6334 - ewarn "Skipping CVS tests because CVS does not work as root!"
6335 - ewarn "You should retest with FEATURES=userpriv!"
6336 - disabled+=( ${tests_cvs[@]} )
6337 - fi
6338 - einfo "Skipping other tests that require being non-root"
6339 - disabled+=( ${tests_nonroot[@]} )
6340 - else
6341 - [[ ${cvs} -gt 0 ]] && \
6342 - has_version dev-vcs/cvs && \
6343 - let cvs=${cvs}+1
6344 - [[ ${cvs} -gt 1 ]] && \
6345 - has_version "dev-vcs/cvs[server]" && \
6346 - let cvs=${cvs}+1
6347 - if [[ ${cvs} -lt 3 ]] ; then
6348 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
6349 - disabled+=( ${tests_cvs[@]} )
6350 - fi
6351 - fi
6352 -
6353 - if ! use perl ; then
6354 - einfo "Disabling tests that need Perl"
6355 - disabled+=( ${tests_perl[@]} )
6356 - fi
6357 -
6358 - einfo "Disabling tests that fail with SVN 1.7"
6359 - disabled+=( ${test_svn[@]} )
6360 -
6361 - # Reset all previously disabled tests
6362 - pushd t &>/dev/null || die
6363 - local i
6364 - for i in *.sh.DISABLED ; do
6365 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
6366 - done
6367 - einfo "Disabled tests:"
6368 - for i in ${disabled[@]} ; do
6369 - if [[ -f "${i}" ]] ; then
6370 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
6371 - fi
6372 - done
6373 -
6374 - # Avoid the test system removing the results because we want them ourselves
6375 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
6376 -
6377 - # Clean old results first, must always run
6378 - nonfatal git_emake clean
6379 - popd &>/dev/null || die
6380 -
6381 - # Now run the tests, keep going if we hit an error, and don't terminate on
6382 - # failure
6383 - local rc
6384 - einfo "Start test run"
6385 - #MAKEOPTS=-j1
6386 - nonfatal git_emake --keep-going test
6387 - rc=$?
6388 -
6389 - # Display nice results, now print the results
6390 - pushd t &>/dev/null || die
6391 - nonfatal git_emake aggregate-results
6392 -
6393 - # And bail if there was a problem
6394 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
6395 -}
6396 -
6397 -showpkgdeps() {
6398 - local pkg=$1
6399 - shift
6400 - elog " $(printf "%-17s:" ${pkg}) ${@}"
6401 -}
6402 -
6403 -pkg_postinst() {
6404 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
6405 - elog "completion."
6406 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
6407 - elog "Note that the prompt bash code is now in that separate script"
6408 - elog "These additional scripts need some dependencies:"
6409 - echo
6410 - showpkgdeps git-quiltimport "dev-util/quilt"
6411 - showpkgdeps git-instaweb \
6412 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
6413 - echo
6414 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
6415 -}
6416
6417 diff --git a/dev-vcs/git/git-2.37.1.ebuild b/dev-vcs/git/git-2.37.1.ebuild
6418 deleted file mode 100644
6419 index 6b4a3f2ff057..000000000000
6420 --- a/dev-vcs/git/git-2.37.1.ebuild
6421 +++ /dev/null
6422 @@ -1,641 +0,0 @@
6423 -# Copyright 1999-2022 Gentoo Authors
6424 -# Distributed under the terms of the GNU General Public License v2
6425 -
6426 -EAPI=8
6427 -
6428 -GENTOO_DEPEND_ON_PERL=no
6429 -
6430 -# bug #329479: git-remote-testgit is not multiple-version aware
6431 -PYTHON_COMPAT=( python3_{8..10} )
6432 -
6433 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
6434 -
6435 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
6436 -if [[ ${PV} == *9999 ]]; then
6437 - inherit git-r3
6438 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
6439 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
6440 - # See https://git-scm.com/docs/gitworkflows#_graduation
6441 - # In order of stability:
6442 - # 9999-r0: maint
6443 - # 9999-r1: master
6444 - # 9999-r2: next
6445 - # 9999-r3: seen
6446 - case "${PVR}" in
6447 - 9999) EGIT_BRANCH=maint ;;
6448 - 9999-r1) EGIT_BRANCH=master ;;
6449 - 9999-r2) EGIT_BRANCH=next;;
6450 - 9999-r3) EGIT_BRANCH=seen ;;
6451 - esac
6452 -fi
6453 -
6454 -MY_PV="${PV/_rc/.rc}"
6455 -MY_P="${PN}-${MY_PV}"
6456 -
6457 -DOC_VER="${MY_PV}"
6458 -
6459 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
6460 -HOMEPAGE="https://www.git-scm.com/"
6461 -if [[ ${PV} != *9999 ]]; then
6462 - SRC_URI_SUFFIX="xz"
6463 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
6464 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
6465 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
6466 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6467 - doc? (
6468 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6469 - )"
6470 - [[ "${PV}" == *_rc* ]] || \
6471 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
6472 -fi
6473 -
6474 -LICENSE="GPL-2"
6475 -SLOT="0"
6476 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
6477 -
6478 -# Common to both DEPEND and RDEPEND
6479 -DEPEND="
6480 - gnome-keyring? (
6481 - app-crypt/libsecret
6482 - dev-libs/glib:2
6483 - )
6484 - dev-libs/openssl:0=
6485 - sys-libs/zlib
6486 - pcre? ( dev-libs/libpcre2:= )
6487 - perl? ( dev-lang/perl:=[-build(-)] )
6488 - tk? ( dev-lang/tk:0= )
6489 - curl? (
6490 - net-misc/curl
6491 - webdav? ( dev-libs/expat )
6492 - )
6493 - iconv? ( virtual/libiconv )
6494 -"
6495 -
6496 -RDEPEND="${DEPEND}
6497 - gpg? ( app-crypt/gnupg )
6498 - perl? (
6499 - dev-perl/Error
6500 - dev-perl/MailTools
6501 - dev-perl/Authen-SASL
6502 - >=virtual/perl-libnet-3.110.0-r4[ssl]
6503 - cgi? (
6504 - dev-perl/CGI
6505 - highlight? ( app-text/highlight )
6506 - )
6507 - cvs? (
6508 - >=dev-vcs/cvsps-2.1:0
6509 - dev-perl/DBI
6510 - dev-perl/DBD-SQLite
6511 - )
6512 - mediawiki? (
6513 - dev-perl/DateTime-Format-ISO8601
6514 - dev-perl/HTML-Tree
6515 - dev-perl/MediaWiki-API
6516 - )
6517 - subversion? (
6518 - dev-vcs/subversion[-dso(-),perl]
6519 - dev-perl/libwww-perl
6520 - dev-perl/TermReadKey
6521 - )
6522 - )
6523 - perforce? ( ${PYTHON_DEPS} )
6524 - selinux? ( sec-policy/selinux-git )
6525 -"
6526 -
6527 -# This is how info docs are created with Git:
6528 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
6529 -# .xml/docbook --(docbook2texi.pl)--> .texi
6530 -# .texi --(makeinfo)---------> .info
6531 -BDEPEND="
6532 - doc? (
6533 - app-text/asciidoc
6534 - app-text/docbook2X
6535 - app-text/xmlto
6536 - sys-apps/texinfo
6537 - )
6538 - gnome-keyring? ( virtual/pkgconfig )
6539 - nls? ( sys-devel/gettext )
6540 - test? ( app-crypt/gnupg )
6541 -"
6542 -
6543 -# Live ebuild builds man pages and HTML docs, additionally
6544 -if [[ ${PV} == *9999 ]]; then
6545 - BDEPEND="${BDEPEND}
6546 - app-text/asciidoc"
6547 -fi
6548 -
6549 -SITEFILE="50${PN}-gentoo.el"
6550 -S="${WORKDIR}/${MY_P}"
6551 -
6552 -REQUIRED_USE="
6553 - cgi? ( perl )
6554 - cvs? ( perl )
6555 - mediawiki? ( perl )
6556 - mediawiki-experimental? ( mediawiki )
6557 - perforce? ( ${PYTHON_REQUIRED_USE} )
6558 - subversion? ( perl )
6559 - webdav? ( curl )
6560 -"
6561 -
6562 -RESTRICT="!test? ( test )"
6563 -
6564 -PATCHES=(
6565 - # bug #350330 - automagic CVS when we don't want it is bad.
6566 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
6567 -
6568 - # Make submodule output quiet
6569 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
6570 -)
6571 -
6572 -pkg_setup() {
6573 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
6574 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
6575 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
6576 - ewarn "have been warned."
6577 - fi
6578 -
6579 - if use perforce ; then
6580 - python-single-r1_pkg_setup
6581 - fi
6582 -}
6583 -
6584 -# This is needed because for some obscure reasons future calls to make don't
6585 -# pick up these exports if we export them in src_unpack()
6586 -exportmakeopts() {
6587 - local extlibs myopts
6588 -
6589 - myopts=(
6590 - ASCIIDOC_NO_ROFF=YesPlease
6591 - $(usex cvs '' NO_CVS=YesPlease)
6592 - $(usex elibc_musl NO_REGEX=YesPlease '')
6593 - $(usex iconv '' NO_ICONV=YesPlease)
6594 - $(usex nls '' NO_GETTEXT=YesPlease)
6595 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
6596 - $(usex perforce '' NO_PYTHON=YesPlease)
6597 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
6598 - $(usex threads '' NO_PTHREADS=YesPlease)
6599 - $(usex tk '' NO_TCLTK=YesPlease)
6600 - )
6601 -
6602 - if use blksha1 ; then
6603 - myopts+=( BLK_SHA1=YesPlease )
6604 - elif use ppcsha1 ; then
6605 - myopts+=( PPC_SHA1=YesPlease )
6606 - fi
6607 -
6608 - if use curl ; then
6609 - use webdav || myopts+=( NO_EXPAT=YesPlease )
6610 - else
6611 - myopts+=( NO_CURL=YesPlease )
6612 - fi
6613 -
6614 - # broken assumptions, because of static build system ...
6615 - myopts+=(
6616 - NO_FINK=YesPlease
6617 - NO_DARWIN_PORTS=YesPlease
6618 - INSTALL=install
6619 - TAR=tar
6620 - SHELL_PATH="${EPREFIX}/bin/sh"
6621 - SANE_TOOL_PATH=
6622 - OLD_ICONV=
6623 - NO_EXTERNAL_GREP=
6624 - )
6625 -
6626 - # can't define this to null, since the entire makefile depends on it
6627 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
6628 -
6629 - if use pcre; then
6630 - myopts+=( USE_LIBPCRE2=YesPlease )
6631 - extlibs+=( -lpcre2-8 )
6632 - fi
6633 - if [[ ${CHOST} == *-solaris* ]]; then
6634 - myopts+=(
6635 - NEEDS_LIBICONV=YesPlease
6636 - HAVE_CLOCK_MONOTONIC=1
6637 - )
6638 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
6639 - myopts+=( HAVE_GETDELIM=1 )
6640 - fi
6641 - fi
6642 -
6643 - if has_version '>=app-text/asciidoc-8.0' ; then
6644 - myopts+=( ASCIIDOC8=YesPlease )
6645 - fi
6646 -
6647 - export MY_MAKEOPTS="${myopts[@]}"
6648 - export EXTLIBS="${extlibs[@]}"
6649 -}
6650 -
6651 -src_unpack() {
6652 - if [[ ${PV} != *9999 ]] ; then
6653 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
6654 - cd "${S}" || die
6655 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6656 - if use doc ; then
6657 - pushd "${S}"/Documentation &>/dev/null || die
6658 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
6659 - popd &>/dev/null || die
6660 - fi
6661 - else
6662 - git-r3_src_unpack
6663 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
6664 - fi
6665 -
6666 -}
6667 -
6668 -src_prepare() {
6669 - # add experimental patches to improve mediawiki support
6670 - # see patches for origin
6671 - if use mediawiki-experimental ; then
6672 - PATCHES+=(
6673 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
6674 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
6675 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
6676 - )
6677 - fi
6678 -
6679 - default
6680 -
6681 - if use prefix ; then
6682 - # bug #757309
6683 - eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
6684 - fi
6685 -
6686 - sed -i \
6687 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
6688 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
6689 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
6690 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
6691 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
6692 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
6693 - Makefile || die
6694 -
6695 - # Fix docbook2texi command
6696 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
6697 - Documentation/Makefile || die
6698 -}
6699 -
6700 -git_emake() {
6701 - # bug #320647: PYTHON_PATH
6702 - local PYTHON_PATH=""
6703 - use perforce && PYTHON_PATH="${PYTHON}"
6704 - emake ${MY_MAKEOPTS} \
6705 - prefix="${EPREFIX}"/usr \
6706 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
6707 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
6708 - sysconfdir="${EPREFIX}"/etc \
6709 - GIT_TEST_OPTS="--no-color" \
6710 - OPTAR="$(tc-getAR)" \
6711 - OPTCC="$(tc-getCC)" \
6712 - OPTCFLAGS="${CFLAGS}" \
6713 - OPTLDFLAGS="${LDFLAGS}" \
6714 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
6715 - PERL_MM_OPT="" \
6716 - PYTHON_PATH="${PYTHON_PATH}" \
6717 - V=1 \
6718 - "$@"
6719 -}
6720 -
6721 -src_configure() {
6722 - exportmakeopts
6723 -}
6724 -
6725 -src_compile() {
6726 - git_emake || die "emake failed"
6727 -
6728 - if use perl && use cgi ; then
6729 - git_emake gitweb || die "emake gitweb (cgi) failed"
6730 - fi
6731 -
6732 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
6733 - pushd contrib/credential/osxkeychain &>/dev/null || die
6734 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
6735 - || die "emake credential-osxkeychain"
6736 - popd &>/dev/null || die
6737 - fi
6738 -
6739 - pushd Documentation &>/dev/null || die
6740 - if [[ ${PV} == *9999 ]] ; then
6741 - git_emake man || die "emake man failed"
6742 - if use doc ; then
6743 - git_emake info html || die "emake info html failed"
6744 - fi
6745 - else
6746 - if use doc ; then
6747 - git_emake info || die "emake info html failed"
6748 - fi
6749 - fi
6750 - popd &>/dev/null || die
6751 -
6752 - if use gnome-keyring ; then
6753 - pushd contrib/credential/libsecret &>/dev/null || die
6754 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
6755 - popd &>/dev/null || die
6756 - fi
6757 -
6758 - pushd contrib/subtree &>/dev/null || die
6759 - git_emake git-subtree || die
6760 - # git-subtree.1 requires the full USE=doc dependency stack
6761 - use doc && git_emake git-subtree.html git-subtree.1
6762 - popd &>/dev/null || die
6763 -
6764 - pushd contrib/diff-highlight &>/dev/null || die
6765 - git_emake || die
6766 - popd &>/dev/null || die
6767 -
6768 - if use mediawiki ; then
6769 - pushd contrib/mw-to-git &>/dev/null || die
6770 - git_emake || die
6771 - popd &>/dev/null || die
6772 -
6773 - fi
6774 -}
6775 -
6776 -src_install() {
6777 - git_emake DESTDIR="${D}" install || die "make install failed"
6778 -
6779 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
6780 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
6781 - fi
6782 -
6783 - # Depending on the tarball and manual rebuild of the documentation, the
6784 - # manpages may exist in either OR both of these directories.
6785 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
6786 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
6787 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
6788 - use doc && dodir /usr/share/doc/${PF}/html
6789 - local d
6790 - for d in / /howto/ /technical/ ; do
6791 - docinto ${d}
6792 - dodoc Documentation${d}*.txt
6793 - if use doc ; then
6794 - docinto ${d}/html
6795 - dodoc Documentation${d}*.html
6796 - fi
6797 - done
6798 - docinto /
6799 - # Upstream does not ship this pre-built :-(
6800 - use doc && doinfo Documentation/{git,gitman}.info
6801 -
6802 - newbashcomp contrib/completion/git-completion.bash ${PN}
6803 - bashcomp_alias git gitk
6804 - # Not really a bash-completion file (bug #477920)
6805 - # but still needed uncompressed (bug #507480)
6806 - insinto /usr/share/${PN}
6807 - doins contrib/completion/git-prompt.sh
6808 -
6809 - #dobin contrib/fast-import/git-p4 # Moved upstream
6810 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
6811 - newbin contrib/fast-import/import-tars.perl import-tars
6812 - exeinto /usr/libexec/git-core/
6813 - newexe contrib/git-resurrect.sh git-resurrect
6814 -
6815 - # git-subtree
6816 - pushd contrib/subtree &>/dev/null || die
6817 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
6818 - if use doc ; then
6819 - # Do not move git subtree install-man outside USE=doc!
6820 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
6821 - fi
6822 - newdoc README README.git-subtree
6823 - dodoc git-subtree.txt
6824 - popd &>/dev/null || die
6825 -
6826 - if use mediawiki ; then
6827 - pushd contrib/mw-to-git &>/dev/null || die
6828 - git_emake DESTDIR="${D}" install
6829 - popd &>/dev/null || die
6830 - fi
6831 -
6832 - # diff-highlight
6833 - dobin contrib/diff-highlight/diff-highlight
6834 - newdoc contrib/diff-highlight/README README.diff-highlight
6835 -
6836 - # git-jump
6837 - exeinto /usr/libexec/git-core/
6838 - doexe contrib/git-jump/git-jump
6839 - newdoc contrib/git-jump/README git-jump.txt
6840 -
6841 - # git-contacts
6842 - exeinto /usr/libexec/git-core/
6843 - doexe contrib/contacts/git-contacts
6844 - dodoc contrib/contacts/git-contacts.txt
6845 -
6846 - if use gnome-keyring ; then
6847 - pushd contrib/credential/libsecret &>/dev/null || die
6848 - dobin git-credential-libsecret
6849 - popd &>/dev/null || die
6850 - fi
6851 -
6852 - dodir /usr/share/${PN}/contrib
6853 - # The following are excluded:
6854 - # completion - installed above
6855 - # diff-highlight - done above
6856 - # emacs - removed upstream
6857 - # examples - these are stuff that is not used in Git anymore actually
6858 - # git-jump - done above
6859 - # gitview - installed above
6860 - # p4import - excluded because fast-import has a better one
6861 - # patches - stuff the Git guys made to go upstream to other places
6862 - # persistent-https - TODO
6863 - # mw-to-git - TODO
6864 - # subtree - build seperately
6865 - # svnimport - use git-svn
6866 - # thunderbird-patch-inline - fixes thunderbird
6867 - local contrib_objects=(
6868 - buildsystems
6869 - fast-import
6870 - hg-to-git
6871 - hooks
6872 - remotes2config.sh
6873 - rerere-train.sh
6874 - stats
6875 - workdir
6876 - )
6877 - local i
6878 - for i in "${contrib_objects[@]}" ; do
6879 - cp -rf \
6880 - "${S}"/contrib/${i} \
6881 - "${ED}"/usr/share/${PN}/contrib \
6882 - || die "Failed contrib ${i}"
6883 - done
6884 -
6885 - if use perl && use cgi ; then
6886 - # We used to install in /usr/share/${PN}/gitweb
6887 - # but upstream installs in /usr/share/gitweb
6888 - # so we will install a symlink and use their location for compat with other
6889 - # distros
6890 - dosym ../gitweb /usr/share/${PN}/gitweb
6891 -
6892 - # INSTALL discusses configuration issues, not just installation
6893 - docinto /
6894 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
6895 - newdoc "${S}"/gitweb/README README.gitweb
6896 -
6897 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
6898 - if [[ -d "${d}" ]] ; then
6899 - find "${d}" -name .packlist -delete || die
6900 - fi
6901 - done
6902 - else
6903 - rm -rf "${ED}"/usr/share/gitweb
6904 - fi
6905 -
6906 - if ! use subversion ; then
6907 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
6908 - "${ED}"/usr/share/man/man1/git-svn.1*
6909 - fi
6910 -
6911 - if use xinetd ; then
6912 - insinto /etc/xinetd.d
6913 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
6914 - fi
6915 -
6916 - if ! use prefix ; then
6917 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
6918 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
6919 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
6920 - "git-daemon@.service"
6921 - systemd_dounit "${FILESDIR}/git-daemon.socket"
6922 - fi
6923 -
6924 - perl_delete_localpod
6925 -
6926 - # Remove disabled linguas
6927 - # we could remove sources in src_prepare, but install does not
6928 - # handle missing locale dir well
6929 - rm_loc() {
6930 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
6931 - rm -r "${ED}/usr/share/locale/${1}" || die
6932 - fi
6933 - }
6934 - plocale_for_each_disabled_locale rm_loc
6935 -}
6936 -
6937 -src_test() {
6938 - local disabled=()
6939 - local tests_cvs=(
6940 - t9200-git-cvsexportcommit.sh
6941 - t9400-git-cvsserver-server.sh
6942 - t9401-git-cvsserver-crlf.sh
6943 - t9402-git-cvsserver-refs.sh
6944 - t9600-cvsimport.sh
6945 - t9601-cvsimport-vendor-branch.sh
6946 - t9602-cvsimport-branches-tags.sh
6947 - t9603-cvsimport-patchsets.sh
6948 - t9604-cvsimport-timestamps.sh
6949 - )
6950 - local tests_perl=(
6951 - t3701-add-interactive.sh
6952 - t5502-quickfetch.sh
6953 - t5512-ls-remote.sh
6954 - t5520-pull.sh
6955 - t7106-reset-unborn-branch.sh
6956 - t7501-commit.sh
6957 - )
6958 - # Bug #225601 - t0004 is not suitable for root perm
6959 - # Bug #219839 - t1004 is not suitable for root perm
6960 - # t0001-init.sh - check for init notices EPERM* fails
6961 - local tests_nonroot=(
6962 - t0001-init.sh
6963 - t0004-unwritable.sh
6964 - t0070-fundamental.sh
6965 - t1004-read-tree-m-u-wf.sh
6966 - t3700-add.sh
6967 - t7300-clean.sh
6968 - )
6969 - # t9100 still fails with symlinks in SVN 1.7
6970 - local test_svn=( t9100-git-svn-basic.sh )
6971 -
6972 - # Unzip is used only for the testcase code, not by any normal parts of Git.
6973 - if ! has_version app-arch/unzip ; then
6974 - einfo "Disabling tar-tree tests"
6975 - disabled+=( t5000-tar-tree.sh )
6976 - fi
6977 -
6978 - local cvs=0
6979 - use cvs && let cvs=${cvs}+1
6980 - if [[ ${EUID} -eq 0 ]] ; then
6981 - if [[ ${cvs} -eq 1 ]] ; then
6982 - ewarn "Skipping CVS tests because CVS does not work as root!"
6983 - ewarn "You should retest with FEATURES=userpriv!"
6984 - disabled+=( ${tests_cvs[@]} )
6985 - fi
6986 - einfo "Skipping other tests that require being non-root"
6987 - disabled+=( ${tests_nonroot[@]} )
6988 - else
6989 - [[ ${cvs} -gt 0 ]] && \
6990 - has_version dev-vcs/cvs && \
6991 - let cvs=${cvs}+1
6992 - [[ ${cvs} -gt 1 ]] && \
6993 - has_version "dev-vcs/cvs[server]" && \
6994 - let cvs=${cvs}+1
6995 - if [[ ${cvs} -lt 3 ]] ; then
6996 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
6997 - disabled+=( ${tests_cvs[@]} )
6998 - fi
6999 - fi
7000 -
7001 - if ! use perl ; then
7002 - einfo "Disabling tests that need Perl"
7003 - disabled+=( ${tests_perl[@]} )
7004 - fi
7005 -
7006 - einfo "Disabling tests that fail with SVN 1.7"
7007 - disabled+=( ${test_svn[@]} )
7008 -
7009 - # Reset all previously disabled tests
7010 - pushd t &>/dev/null || die
7011 - local i
7012 - for i in *.sh.DISABLED ; do
7013 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
7014 - done
7015 - einfo "Disabled tests:"
7016 - for i in ${disabled[@]} ; do
7017 - if [[ -f "${i}" ]] ; then
7018 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
7019 - fi
7020 - done
7021 -
7022 - # Avoid the test system removing the results because we want them ourselves
7023 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
7024 -
7025 - # Clean old results first, must always run
7026 - nonfatal git_emake clean
7027 - popd &>/dev/null || die
7028 -
7029 - # Now run the tests, keep going if we hit an error, and don't terminate on
7030 - # failure
7031 - local rc
7032 - einfo "Start test run"
7033 - #MAKEOPTS=-j1
7034 - nonfatal git_emake --keep-going test
7035 - rc=$?
7036 -
7037 - # Display nice results, now print the results
7038 - pushd t &>/dev/null || die
7039 - nonfatal git_emake aggregate-results
7040 -
7041 - # And bail if there was a problem
7042 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
7043 -}
7044 -
7045 -showpkgdeps() {
7046 - local pkg=$1
7047 - shift
7048 - elog " $(printf "%-17s:" ${pkg}) ${@}"
7049 -}
7050 -
7051 -pkg_postinst() {
7052 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
7053 - elog "completion."
7054 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
7055 - elog "Note that the prompt bash code is now in that separate script"
7056 - elog "These additional scripts need some dependencies:"
7057 - echo
7058 - showpkgdeps git-quiltimport "dev-util/quilt"
7059 - showpkgdeps git-instaweb \
7060 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
7061 - echo
7062 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
7063 -}
7064
7065 diff --git a/dev-vcs/git/git-2.37.2.ebuild b/dev-vcs/git/git-2.37.2.ebuild
7066 deleted file mode 100644
7067 index cdfdd0b66a85..000000000000
7068 --- a/dev-vcs/git/git-2.37.2.ebuild
7069 +++ /dev/null
7070 @@ -1,648 +0,0 @@
7071 -# Copyright 1999-2022 Gentoo Authors
7072 -# Distributed under the terms of the GNU General Public License v2
7073 -
7074 -EAPI=8
7075 -
7076 -GENTOO_DEPEND_ON_PERL=no
7077 -
7078 -# bug #329479: git-remote-testgit is not multiple-version aware
7079 -PYTHON_COMPAT=( python3_{8..10} )
7080 -
7081 -inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
7082 -
7083 -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
7084 -if [[ ${PV} == *9999 ]]; then
7085 - inherit git-r3
7086 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
7087 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
7088 - # See https://git-scm.com/docs/gitworkflows#_graduation
7089 - # In order of stability:
7090 - # 9999-r0: maint
7091 - # 9999-r1: master
7092 - # 9999-r2: next
7093 - # 9999-r3: seen
7094 - case "${PVR}" in
7095 - 9999) EGIT_BRANCH=maint ;;
7096 - 9999-r1) EGIT_BRANCH=master ;;
7097 - 9999-r2) EGIT_BRANCH=next;;
7098 - 9999-r3) EGIT_BRANCH=seen ;;
7099 - esac
7100 -fi
7101 -
7102 -MY_PV="${PV/_rc/.rc}"
7103 -MY_P="${PN}-${MY_PV}"
7104 -
7105 -DOC_VER="${MY_PV}"
7106 -
7107 -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
7108 -HOMEPAGE="https://www.git-scm.com/"
7109 -if [[ ${PV} != *9999 ]]; then
7110 - SRC_URI_SUFFIX="xz"
7111 - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
7112 - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
7113 - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
7114 - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
7115 - doc? (
7116 - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
7117 - )"
7118 - [[ "${PV}" == *_rc* ]] || \
7119 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
7120 -fi
7121 -
7122 -LICENSE="GPL-2"
7123 -SLOT="0"
7124 -IUSE="+blksha1 +curl cgi doc gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 +safe-directory selinux subversion tk +threads +webdav xinetd cvs test"
7125 -
7126 -# Common to both DEPEND and RDEPEND
7127 -DEPEND="
7128 - gnome-keyring? (
7129 - app-crypt/libsecret
7130 - dev-libs/glib:2
7131 - )
7132 - dev-libs/openssl:0=
7133 - sys-libs/zlib
7134 - pcre? ( dev-libs/libpcre2:= )
7135 - perl? ( dev-lang/perl:=[-build(-)] )
7136 - tk? ( dev-lang/tk:0= )
7137 - curl? (
7138 - net-misc/curl
7139 - webdav? ( dev-libs/expat )
7140 - )
7141 - iconv? ( virtual/libiconv )
7142 -"
7143 -
7144 -RDEPEND="${DEPEND}
7145 - gpg? ( app-crypt/gnupg )
7146 - perl? (
7147 - dev-perl/Error
7148 - dev-perl/MailTools
7149 - dev-perl/Authen-SASL
7150 - >=virtual/perl-libnet-3.110.0-r4[ssl]
7151 - cgi? (
7152 - dev-perl/CGI
7153 - highlight? ( app-text/highlight )
7154 - )
7155 - cvs? (
7156 - >=dev-vcs/cvsps-2.1:0
7157 - dev-perl/DBI
7158 - dev-perl/DBD-SQLite
7159 - )
7160 - mediawiki? (
7161 - dev-perl/DateTime-Format-ISO8601
7162 - dev-perl/HTML-Tree
7163 - dev-perl/MediaWiki-API
7164 - )
7165 - subversion? (
7166 - dev-vcs/subversion[-dso(-),perl]
7167 - dev-perl/libwww-perl
7168 - dev-perl/TermReadKey
7169 - )
7170 - )
7171 - perforce? ( ${PYTHON_DEPS} )
7172 - selinux? ( sec-policy/selinux-git )
7173 -"
7174 -
7175 -# This is how info docs are created with Git:
7176 -# .txt/asciidoc --(asciidoc)---------> .xml/docbook
7177 -# .xml/docbook --(docbook2texi.pl)--> .texi
7178 -# .texi --(makeinfo)---------> .info
7179 -BDEPEND="
7180 - doc? (
7181 - app-text/asciidoc
7182 - app-text/docbook2X
7183 - app-text/xmlto
7184 - sys-apps/texinfo
7185 - )
7186 - gnome-keyring? ( virtual/pkgconfig )
7187 - nls? ( sys-devel/gettext )
7188 - test? ( app-crypt/gnupg )
7189 -"
7190 -
7191 -# Live ebuild builds man pages and HTML docs, additionally
7192 -if [[ ${PV} == *9999 ]]; then
7193 - BDEPEND="${BDEPEND}
7194 - app-text/asciidoc"
7195 -fi
7196 -
7197 -SITEFILE="50${PN}-gentoo.el"
7198 -S="${WORKDIR}/${MY_P}"
7199 -
7200 -REQUIRED_USE="
7201 - cgi? ( perl )
7202 - cvs? ( perl )
7203 - mediawiki? ( perl )
7204 - mediawiki-experimental? ( mediawiki )
7205 - perforce? ( ${PYTHON_REQUIRED_USE} )
7206 - subversion? ( perl )
7207 - webdav? ( curl )
7208 -"
7209 -
7210 -RESTRICT="!test? ( test )"
7211 -
7212 -PATCHES=(
7213 - # bug #350330 - automagic CVS when we don't want it is bad.
7214 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
7215 -
7216 - # Make submodule output quiet
7217 - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
7218 -)
7219 -
7220 -pkg_setup() {
7221 - if use subversion && has_version "dev-vcs/subversion[dso]" ; then
7222 - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
7223 - ewarn "with USE=dso, there may be weird crashes in git-svn. You"
7224 - ewarn "have been warned."
7225 - fi
7226 -
7227 - if use perforce ; then
7228 - python-single-r1_pkg_setup
7229 - fi
7230 -}
7231 -
7232 -# This is needed because for some obscure reasons future calls to make don't
7233 -# pick up these exports if we export them in src_unpack()
7234 -exportmakeopts() {
7235 - local extlibs myopts
7236 -
7237 - myopts=(
7238 - ASCIIDOC_NO_ROFF=YesPlease
7239 - $(usex cvs '' NO_CVS=YesPlease)
7240 - $(usex elibc_musl NO_REGEX=YesPlease '')
7241 - $(usex iconv '' NO_ICONV=YesPlease)
7242 - $(usex nls '' NO_GETTEXT=YesPlease)
7243 - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
7244 - $(usex perforce '' NO_PYTHON=YesPlease)
7245 - $(usex subversion '' NO_SVN_TESTS=YesPlease)
7246 - $(usex threads '' NO_PTHREADS=YesPlease)
7247 - $(usex tk '' NO_TCLTK=YesPlease)
7248 - )
7249 -
7250 - if use blksha1 ; then
7251 - myopts+=( BLK_SHA1=YesPlease )
7252 - elif use ppcsha1 ; then
7253 - myopts+=( PPC_SHA1=YesPlease )
7254 - fi
7255 -
7256 - if use curl ; then
7257 - use webdav || myopts+=( NO_EXPAT=YesPlease )
7258 - else
7259 - myopts+=( NO_CURL=YesPlease )
7260 - fi
7261 -
7262 - # broken assumptions, because of static build system ...
7263 - myopts+=(
7264 - NO_FINK=YesPlease
7265 - NO_DARWIN_PORTS=YesPlease
7266 - INSTALL=install
7267 - TAR=tar
7268 - SHELL_PATH="${EPREFIX}/bin/sh"
7269 - SANE_TOOL_PATH=
7270 - OLD_ICONV=
7271 - NO_EXTERNAL_GREP=
7272 - )
7273 -
7274 - # can't define this to null, since the entire makefile depends on it
7275 - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
7276 -
7277 - if use pcre; then
7278 - myopts+=( USE_LIBPCRE2=YesPlease )
7279 - extlibs+=( -lpcre2-8 )
7280 - fi
7281 - if [[ ${CHOST} == *-solaris* ]]; then
7282 - myopts+=(
7283 - NEEDS_LIBICONV=YesPlease
7284 - HAVE_CLOCK_MONOTONIC=1
7285 - )
7286 - if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
7287 - myopts+=( HAVE_GETDELIM=1 )
7288 - fi
7289 - fi
7290 -
7291 - if has_version '>=app-text/asciidoc-8.0' ; then
7292 - myopts+=( ASCIIDOC8=YesPlease )
7293 - fi
7294 -
7295 - export MY_MAKEOPTS="${myopts[@]}"
7296 - export EXTLIBS="${extlibs[@]}"
7297 -}
7298 -
7299 -src_unpack() {
7300 - if [[ ${PV} != *9999 ]] ; then
7301 - unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
7302 - cd "${S}" || die
7303 - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
7304 - if use doc ; then
7305 - pushd "${S}"/Documentation &>/dev/null || die
7306 - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
7307 - popd &>/dev/null || die
7308 - fi
7309 - else
7310 - git-r3_src_unpack
7311 - #cp "${FILESDIR}"/GIT-VERSION-GEN .
7312 - fi
7313 -
7314 -}
7315 -
7316 -src_prepare() {
7317 - # add experimental patches to improve mediawiki support
7318 - # see patches for origin
7319 - if use mediawiki-experimental ; then
7320 - PATCHES+=(
7321 - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
7322 - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
7323 - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
7324 - )
7325 - fi
7326 - if ! use safe-directory ; then
7327 - # This patch neuters the "safe directory" detection.
7328 - # bugs #838271, #838223
7329 - PATCHES+=(
7330 - "${FILESDIR}"/git-2.37.2-unsafe-directory.patch
7331 - )
7332 - fi
7333 -
7334 - default
7335 -
7336 - if use prefix ; then
7337 - # bug #757309
7338 - eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
7339 - fi
7340 -
7341 - sed -i \
7342 - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
7343 - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
7344 - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
7345 - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
7346 - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
7347 - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
7348 - Makefile || die
7349 -
7350 - # Fix docbook2texi command
7351 - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
7352 - Documentation/Makefile || die
7353 -}
7354 -
7355 -git_emake() {
7356 - # bug #320647: PYTHON_PATH
7357 - local PYTHON_PATH=""
7358 - use perforce && PYTHON_PATH="${PYTHON}"
7359 - emake ${MY_MAKEOPTS} \
7360 - prefix="${EPREFIX}"/usr \
7361 - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
7362 - perllibdir="$(use perl && perl_get_raw_vendorlib)" \
7363 - sysconfdir="${EPREFIX}"/etc \
7364 - GIT_TEST_OPTS="--no-color" \
7365 - OPTAR="$(tc-getAR)" \
7366 - OPTCC="$(tc-getCC)" \
7367 - OPTCFLAGS="${CFLAGS}" \
7368 - OPTLDFLAGS="${LDFLAGS}" \
7369 - PERL_PATH="${EPREFIX}/usr/bin/perl" \
7370 - PERL_MM_OPT="" \
7371 - PYTHON_PATH="${PYTHON_PATH}" \
7372 - V=1 \
7373 - "$@"
7374 -}
7375 -
7376 -src_configure() {
7377 - exportmakeopts
7378 -}
7379 -
7380 -src_compile() {
7381 - git_emake || die "emake failed"
7382 -
7383 - if use perl && use cgi ; then
7384 - git_emake gitweb || die "emake gitweb (cgi) failed"
7385 - fi
7386 -
7387 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
7388 - pushd contrib/credential/osxkeychain &>/dev/null || die
7389 - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
7390 - || die "emake credential-osxkeychain"
7391 - popd &>/dev/null || die
7392 - fi
7393 -
7394 - pushd Documentation &>/dev/null || die
7395 - if [[ ${PV} == *9999 ]] ; then
7396 - git_emake man || die "emake man failed"
7397 - if use doc ; then
7398 - git_emake info html || die "emake info html failed"
7399 - fi
7400 - else
7401 - if use doc ; then
7402 - git_emake info || die "emake info html failed"
7403 - fi
7404 - fi
7405 - popd &>/dev/null || die
7406 -
7407 - if use gnome-keyring ; then
7408 - pushd contrib/credential/libsecret &>/dev/null || die
7409 - git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
7410 - popd &>/dev/null || die
7411 - fi
7412 -
7413 - pushd contrib/subtree &>/dev/null || die
7414 - git_emake git-subtree || die
7415 - # git-subtree.1 requires the full USE=doc dependency stack
7416 - use doc && git_emake git-subtree.html git-subtree.1
7417 - popd &>/dev/null || die
7418 -
7419 - pushd contrib/diff-highlight &>/dev/null || die
7420 - git_emake || die
7421 - popd &>/dev/null || die
7422 -
7423 - if use mediawiki ; then
7424 - pushd contrib/mw-to-git &>/dev/null || die
7425 - git_emake || die
7426 - popd &>/dev/null || die
7427 -
7428 - fi
7429 -}
7430 -
7431 -src_install() {
7432 - git_emake DESTDIR="${D}" install || die "make install failed"
7433 -
7434 - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
7435 - dobin contrib/credential/osxkeychain/git-credential-osxkeychain
7436 - fi
7437 -
7438 - # Depending on the tarball and manual rebuild of the documentation, the
7439 - # manpages may exist in either OR both of these directories.
7440 - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
7441 - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
7442 - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
7443 - use doc && dodir /usr/share/doc/${PF}/html
7444 - local d
7445 - for d in / /howto/ /technical/ ; do
7446 - docinto ${d}
7447 - dodoc Documentation${d}*.txt
7448 - if use doc ; then
7449 - docinto ${d}/html
7450 - dodoc Documentation${d}*.html
7451 - fi
7452 - done
7453 - docinto /
7454 - # Upstream does not ship this pre-built :-(
7455 - use doc && doinfo Documentation/{git,gitman}.info
7456 -
7457 - newbashcomp contrib/completion/git-completion.bash ${PN}
7458 - bashcomp_alias git gitk
7459 - # Not really a bash-completion file (bug #477920)
7460 - # but still needed uncompressed (bug #507480)
7461 - insinto /usr/share/${PN}
7462 - doins contrib/completion/git-prompt.sh
7463 -
7464 - #dobin contrib/fast-import/git-p4 # Moved upstream
7465 - #dodoc contrib/fast-import/git-p4.txt # Moved upstream
7466 - newbin contrib/fast-import/import-tars.perl import-tars
7467 - exeinto /usr/libexec/git-core/
7468 - newexe contrib/git-resurrect.sh git-resurrect
7469 -
7470 - # git-subtree
7471 - pushd contrib/subtree &>/dev/null || die
7472 - git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
7473 - if use doc ; then
7474 - # Do not move git subtree install-man outside USE=doc!
7475 - git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
7476 - fi
7477 - newdoc README README.git-subtree
7478 - dodoc git-subtree.txt
7479 - popd &>/dev/null || die
7480 -
7481 - if use mediawiki ; then
7482 - pushd contrib/mw-to-git &>/dev/null || die
7483 - git_emake DESTDIR="${D}" install
7484 - popd &>/dev/null || die
7485 - fi
7486 -
7487 - # diff-highlight
7488 - dobin contrib/diff-highlight/diff-highlight
7489 - newdoc contrib/diff-highlight/README README.diff-highlight
7490 -
7491 - # git-jump
7492 - exeinto /usr/libexec/git-core/
7493 - doexe contrib/git-jump/git-jump
7494 - newdoc contrib/git-jump/README git-jump.txt
7495 -
7496 - # git-contacts
7497 - exeinto /usr/libexec/git-core/
7498 - doexe contrib/contacts/git-contacts
7499 - dodoc contrib/contacts/git-contacts.txt
7500 -
7501 - if use gnome-keyring ; then
7502 - pushd contrib/credential/libsecret &>/dev/null || die
7503 - dobin git-credential-libsecret
7504 - popd &>/dev/null || die
7505 - fi
7506 -
7507 - dodir /usr/share/${PN}/contrib
7508 - # The following are excluded:
7509 - # completion - installed above
7510 - # diff-highlight - done above
7511 - # emacs - removed upstream
7512 - # examples - these are stuff that is not used in Git anymore actually
7513 - # git-jump - done above
7514 - # gitview - installed above
7515 - # p4import - excluded because fast-import has a better one
7516 - # patches - stuff the Git guys made to go upstream to other places
7517 - # persistent-https - TODO
7518 - # mw-to-git - TODO
7519 - # subtree - build seperately
7520 - # svnimport - use git-svn
7521 - # thunderbird-patch-inline - fixes thunderbird
7522 - local contrib_objects=(
7523 - buildsystems
7524 - fast-import
7525 - hg-to-git
7526 - hooks
7527 - remotes2config.sh
7528 - rerere-train.sh
7529 - stats
7530 - workdir
7531 - )
7532 - local i
7533 - for i in "${contrib_objects[@]}" ; do
7534 - cp -rf \
7535 - "${S}"/contrib/${i} \
7536 - "${ED}"/usr/share/${PN}/contrib \
7537 - || die "Failed contrib ${i}"
7538 - done
7539 -
7540 - if use perl && use cgi ; then
7541 - # We used to install in /usr/share/${PN}/gitweb
7542 - # but upstream installs in /usr/share/gitweb
7543 - # so we will install a symlink and use their location for compat with other
7544 - # distros
7545 - dosym ../gitweb /usr/share/${PN}/gitweb
7546 -
7547 - # INSTALL discusses configuration issues, not just installation
7548 - docinto /
7549 - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
7550 - newdoc "${S}"/gitweb/README README.gitweb
7551 -
7552 - for d in "${ED}"/usr/lib{,64}/perl5/ ; do
7553 - if [[ -d "${d}" ]] ; then
7554 - find "${d}" -name .packlist -delete || die
7555 - fi
7556 - done
7557 - else
7558 - rm -rf "${ED}"/usr/share/gitweb
7559 - fi
7560 -
7561 - if ! use subversion ; then
7562 - rm -f "${ED}"/usr/libexec/git-core/git-svn \
7563 - "${ED}"/usr/share/man/man1/git-svn.1*
7564 - fi
7565 -
7566 - if use xinetd ; then
7567 - insinto /etc/xinetd.d
7568 - newins "${FILESDIR}"/git-daemon.xinetd git-daemon
7569 - fi
7570 -
7571 - if ! use prefix ; then
7572 - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
7573 - newconfd "${FILESDIR}"/git-daemon.confd git-daemon
7574 - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
7575 - "git-daemon@.service"
7576 - systemd_dounit "${FILESDIR}/git-daemon.socket"
7577 - fi
7578 -
7579 - perl_delete_localpod
7580 -
7581 - # Remove disabled linguas
7582 - # we could remove sources in src_prepare, but install does not
7583 - # handle missing locale dir well
7584 - rm_loc() {
7585 - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
7586 - rm -r "${ED}/usr/share/locale/${1}" || die
7587 - fi
7588 - }
7589 - plocale_for_each_disabled_locale rm_loc
7590 -}
7591 -
7592 -src_test() {
7593 - local disabled=()
7594 - local tests_cvs=(
7595 - t9200-git-cvsexportcommit.sh
7596 - t9400-git-cvsserver-server.sh
7597 - t9401-git-cvsserver-crlf.sh
7598 - t9402-git-cvsserver-refs.sh
7599 - t9600-cvsimport.sh
7600 - t9601-cvsimport-vendor-branch.sh
7601 - t9602-cvsimport-branches-tags.sh
7602 - t9603-cvsimport-patchsets.sh
7603 - t9604-cvsimport-timestamps.sh
7604 - )
7605 - local tests_perl=(
7606 - t3701-add-interactive.sh
7607 - t5502-quickfetch.sh
7608 - t5512-ls-remote.sh
7609 - t5520-pull.sh
7610 - t7106-reset-unborn-branch.sh
7611 - t7501-commit.sh
7612 - )
7613 - # Bug #225601 - t0004 is not suitable for root perm
7614 - # Bug #219839 - t1004 is not suitable for root perm
7615 - # t0001-init.sh - check for init notices EPERM* fails
7616 - local tests_nonroot=(
7617 - t0001-init.sh
7618 - t0004-unwritable.sh
7619 - t0070-fundamental.sh
7620 - t1004-read-tree-m-u-wf.sh
7621 - t3700-add.sh
7622 - t7300-clean.sh
7623 - )
7624 - # t9100 still fails with symlinks in SVN 1.7
7625 - local test_svn=( t9100-git-svn-basic.sh )
7626 -
7627 - # Unzip is used only for the testcase code, not by any normal parts of Git.
7628 - if ! has_version app-arch/unzip ; then
7629 - einfo "Disabling tar-tree tests"
7630 - disabled+=( t5000-tar-tree.sh )
7631 - fi
7632 -
7633 - local cvs=0
7634 - use cvs && let cvs=${cvs}+1
7635 - if [[ ${EUID} -eq 0 ]] ; then
7636 - if [[ ${cvs} -eq 1 ]] ; then
7637 - ewarn "Skipping CVS tests because CVS does not work as root!"
7638 - ewarn "You should retest with FEATURES=userpriv!"
7639 - disabled+=( ${tests_cvs[@]} )
7640 - fi
7641 - einfo "Skipping other tests that require being non-root"
7642 - disabled+=( ${tests_nonroot[@]} )
7643 - else
7644 - [[ ${cvs} -gt 0 ]] && \
7645 - has_version dev-vcs/cvs && \
7646 - let cvs=${cvs}+1
7647 - [[ ${cvs} -gt 1 ]] && \
7648 - has_version "dev-vcs/cvs[server]" && \
7649 - let cvs=${cvs}+1
7650 - if [[ ${cvs} -lt 3 ]] ; then
7651 - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
7652 - disabled+=( ${tests_cvs[@]} )
7653 - fi
7654 - fi
7655 -
7656 - if ! use perl ; then
7657 - einfo "Disabling tests that need Perl"
7658 - disabled+=( ${tests_perl[@]} )
7659 - fi
7660 -
7661 - einfo "Disabling tests that fail with SVN 1.7"
7662 - disabled+=( ${test_svn[@]} )
7663 -
7664 - # Reset all previously disabled tests
7665 - pushd t &>/dev/null || die
7666 - local i
7667 - for i in *.sh.DISABLED ; do
7668 - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
7669 - done
7670 - einfo "Disabled tests:"
7671 - for i in ${disabled[@]} ; do
7672 - if [[ -f "${i}" ]] ; then
7673 - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
7674 - fi
7675 - done
7676 -
7677 - # Avoid the test system removing the results because we want them ourselves
7678 - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
7679 -
7680 - # Clean old results first, must always run
7681 - nonfatal git_emake clean
7682 - popd &>/dev/null || die
7683 -
7684 - # Now run the tests, keep going if we hit an error, and don't terminate on
7685 - # failure
7686 - local rc
7687 - einfo "Start test run"
7688 - #MAKEOPTS=-j1
7689 - nonfatal git_emake --keep-going test
7690 - rc=$?
7691 -
7692 - # Display nice results, now print the results
7693 - pushd t &>/dev/null || die
7694 - nonfatal git_emake aggregate-results
7695 -
7696 - # And bail if there was a problem
7697 - [[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
7698 -}
7699 -
7700 -showpkgdeps() {
7701 - local pkg=$1
7702 - shift
7703 - elog " $(printf "%-17s:" ${pkg}) ${@}"
7704 -}
7705 -
7706 -pkg_postinst() {
7707 - elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
7708 - elog "completion."
7709 - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
7710 - elog "Note that the prompt bash code is now in that separate script"
7711 - elog "These additional scripts need some dependencies:"
7712 - echo
7713 - showpkgdeps git-quiltimport "dev-util/quilt"
7714 - showpkgdeps git-instaweb \
7715 - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
7716 - echo
7717 - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
7718 -}