public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2015-10-06  8:55 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2015-10-06  8:55 UTC (permalink / raw
  To: gentoo-commits

commit:     c93af671949619e8737270347acd5823c2ca89cf
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  6 08:52:18 2015 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Oct  6 08:55:08 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c93af671

dev-vcs/git: Bump to versions 2.3.10, 2.4.10 and 2.5.4

Revbumped version 2.6.1 to add a fix for bug #561796

Package-Manager: portage-2.2.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |  9 ++++
 .../git-2.6.0-am_configure_gpg_at_startup.patch    | 52 ++++++++++++++++++++++
 .../git/{git-2.6.1.ebuild => git-2.3.10.ebuild}    | 14 ++----
 .../git/{git-2.6.1.ebuild => git-2.4.10.ebuild}    | 10 +----
 dev-vcs/git/{git-2.6.1.ebuild => git-2.5.4.ebuild} |  2 -
 .../git/{git-2.6.1.ebuild => git-2.6.1-r1.ebuild}  |  1 +
 6 files changed, 68 insertions(+), 20 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index b393aa2..71dafc0 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -3,11 +3,14 @@ DIST git-1.9.5.tar.gz 4851532 SHA256 44efbc76edb50103e0d1b549dac006ee6f275fbd624
 DIST git-2.0.5.tar.xz 3437996 SHA256 f5a63f5073c7f10d0676d0dabb46df48f2af77624fe24e1c6047b0e047af8ca1 SHA512 a2de101462cb7cf79ae596a5c7a77746fca430d6ae819731eb025a784b38b48b98964aca3db251e1a598ff17ff26b3711b044bd9c579d01346a8e1e77f7aa6de WHIRLPOOL b317f7b57a8a568b8a63ddbb44d6734dce01034c1b50491e3aedbb8a4ad2dc0f781b9edfad07e73ff050684f05734ee5f8b5483646967cbcd0a3cf7c600394eb
 DIST git-2.1.4.tar.xz 3544804 SHA256 a04968b9b10cbcb31a7054aa3a0d11ac47c83556ecd270ddef1987df5d3d053e SHA512 17333eda9600287be1f366271f314619354f6bc9b7f867d59a9493441e71a963340cedf728b5954ac6311f5426a928a2beacfa7775e1a4d439b58e0dcf310a0b WHIRLPOOL fc20c64e0d494a13834c71ffa5c727018fc3940f4dc65ae4eda6ba14af2faf2864d779e706b503c69a16858ca051878e27bcfe1883c3c206dda6129a1bc5aceb
 DIST git-2.2.3.tar.xz 3592292 SHA256 d56ba6a2b9ef51ec165b98b1894a36fbb635c6abb22674fd61ffc80603b967d9 SHA512 772466ccbbe06d83a03b244dd157c30f51e0fb06995a55070b262f8dd67ced454013fdc86690210c54db914252439be0bfccabbbfffddebb6bc047db946e9b92 WHIRLPOOL 2b60036db65cbcb1c2c2db68ec1747f6c309f9368c4f879c8b91964e16708c641e5a8b7d7b79431193b8d78d1c73e8e694ffe5f407701d7d7719f2d568bff180
+DIST git-2.3.10.tar.xz 3625052 SHA256 8d1eba6e4ad4ef57f87d25535956b5752c341f222407329025f8704537219ed8 SHA512 23cd192bf19be648377767c0b45e895e5284b5fc7558be566ce5f59516d94921212f4944daad5ab650c99c10a58628626bd3d8f23d3b4c9d0d3fa4ce17a8eb9f WHIRLPOOL f6ff0675e75ac0dad5af264f9bcb18d29b6e615d73b68ad97caf1efce353ddb96c51c8e3c6bb633e00a961b757e3bbf55a7a5e130f707696f81324ee8b16ba44
 DIST git-2.3.8.tar.xz 3622512 SHA256 cb4d9228f63b7a9500d55383878bb4bbb60b80deb7ae1a5858c7103ba14de5a6 SHA512 bf693fbe7fc16a240470501af2a7736ebfdbf027c0cc8adbd601d2b1c98ec7d968959e06dd8a3d0e206dc351e83a161475191d59d76f9e2da3e13b4de8716fb4 WHIRLPOOL 93aa2d832e57181de25035952a566c9d3330105e277930f088eb10e2073120c296b6dd87375437c9e9b7880c9b56e2c0de0fda5f77f0da9d2f96840c2fe8eda8
 DIST git-2.3.9.tar.xz 3622952 SHA256 90c2b4bc8cb081115d34269b2d061fb8c7961cf08406c345b278c43d7dcd25f7 SHA512 e02565b9b0176158418358a811735dde0e630adae1cc8401a3a578fdce69efb6d8893815ee749820ade8b8aa0f3b8b42ff85322bf98dad55de77298eeca50510 WHIRLPOOL 451717d03304ba38f964801be909f0265b03adef8cacd62dd1bb1af34e1c6cc4caef064f784e34984cdb9f1f8f7e3f9b93ab67c116f63a1c9486b96a5bde3e91
+DIST git-2.4.10.tar.xz 3695176 SHA256 b631b2b26f5593833a29cd833b8071b4eaf7b212fba180e587b526f51c2331df SHA512 08f7f63fd4820f155aec08373fd4f5abbe5a4c8f98a73a824897ba68901fb274b4cf47b8751cd2bea358cbb9c09934f7857aa440de69b46ee88a4bba852f5ced WHIRLPOOL 3ec53b7355f1895c95b91e1fa85f185801acdb0317384099e4d7914208c3d762d536ed83e099c96a168d696e37e3f8a491459de59c7dd59dce9c49fb75af836b
 DIST git-2.4.6.tar.xz 3690432 SHA256 bdd944571c03474517b6c9941d6f1fd735eccbb164e59fd133d38644b69453b6 SHA512 2c95a00af81d6fbd8f4984e89d7cb23396caacadd684466aeb5a11f1b3acfbc625f832060cbef5aee0748e36c1fddcd88b3b9c26c4d7aec1d185e5f7311346ef WHIRLPOOL 1ae191666bf27a7e18686b910cbe610f85b5b7a43266232359615fa2a22b80bc659277b71b21394eab53df0c912d9ad911c7793c2a041cd6c7d768a5f0416f5b
 DIST git-2.4.9.tar.xz 3692824 SHA256 0f5fba41639d3224fee02f40393e2053ee9468fa7b88d64c5b97f7e65667bd2b SHA512 d5df1f725d5af8449e091ee50f6c4371c2b1699d80d499321a751ecf6c61d75c6c3a286ea60661ae1608bf92c94e2c8977ad08731e153830bd5c5b4587d8ba82 WHIRLPOOL a670eeb5abbcf844324b2444d87ecc9eb8c2899d6f37da6aef9f27edbe53d90086907642aac14536396b61d4520cd4e7b77124f4d54cc7f9f9e5a769741e4d03
 DIST git-2.5.3.tar.xz 3745096 SHA256 124d29d857a1282fd2111cf4a021f156e8bae917f455b4551b2aea87f0453a1a SHA512 ab73d67f76ec8a6350995c692eefa7ab60ae13590d5d7c2fbd3ec1105a8d435ec1b156106fd6c3d6b51080a27f3ebd66bbf0a85042b697bc835143d9f625474e WHIRLPOOL e0c0fde0b263fd4847c21353ec81449baf6f1d5631aed4fdaa41dab2665159b528d7c477dacaef4efb2786ecaf3c0bd44ef3a589765543eee9726e70c5207d66
+DIST git-2.5.4.tar.xz 3747552 SHA256 e08d2d384e1c8c474d336c3583ed5cd396c76455155a4e65bfa97699fc38472a SHA512 25964bc59301b11994c94bab618613bc87ef788d356af55a26c77861a939f2b67cf37be98199e81d5c2a63e8d9c043b4fc6fb481316cc4d8bb6a1f382eddf33e WHIRLPOOL e62efd86c5e0d1b040816978cc28a41d00a7c095513482b0df1d4addc87bd89ce20dbb1b77e3ec3d9bd0722de3237e451b05f687fdb6419fa419708921049222
 DIST git-2.6.0.tar.xz 3808872 SHA256 211beb96ff41a83727e39704431ac388ecb1cebb5219cda067999bce4e1e15a6 SHA512 efcde5fa3ac56d577e25259e74f19026438ccf8888b79429eec2f141bb2a63bb83e73f65b1ea96bcc1f9f894fb90ec1b5ea81b9f0c1806d25352f6b266e7202a WHIRLPOOL de703ba5d4024a6205bb795330b1ed06c70b01fad311739c59d837e7b2c7cad27bfbcd7cae0ac18378a8baa9d0fc0a5341665c312d7749cbb488b14456745ad1
 DIST git-2.6.1.tar.xz 3811268 SHA256 fc7c727745d5eb0d796a16dc7c4b999c184830110e0aeb592c788597cc8e9ccd SHA512 55516aeaa73baf180135a0812bfcb35e26699db034688049a11b4ec98faa6c23582e78a1a72a87332116bb88a2d7e9565ccc7891de883b82ad7524ee2809a25e WHIRLPOOL d25217692cd428fa1d436fa16e8b7d8996377fe4af1a0b4ea29faf8ed85115c7a3fcfe359949ebfbfdac1630f5af43cb894d26d31f7e0984dfab422d6651a2ae
 DIST git-htmldocs-1.8.5.6.tar.gz 2242475 SHA256 7c8e955d0798686fa030ba7b7b384a2eab2b74d5bd695d82faecac2e247bd211 SHA512 c9b2752bcdd7f8f817b14e99ab2743d153e3e7549bffb2aa98999e46d1e965d045850ec6a3e9f6bc83e6e4820ce20f281c33f946ebd2be16d275b85a5ddaee36 WHIRLPOOL 7db3fb74e6b51618890acfef8fb89ab09adf653d3196e82624671194bdb2b564b903429ffecf68b28faf96ce3ebb83b534459738d48ace048d873c158621d31c
@@ -15,11 +18,14 @@ DIST git-htmldocs-1.9.5.tar.gz 2262251 SHA256 4fa289e259d6b922a51d11a687203612aa
 DIST git-htmldocs-2.0.5.tar.xz 944792 SHA256 90eaf745d6ee197718fdde9c98919918ad1e4e3576608e4522b84c612cd9ef2a SHA512 e9b3d92d466762c9c7e164e9c30ff0046b262bf4707ea057e3a682f7b15a4f8149a9aaf2630f117dc3b508744cd688c6c0087cc94ff3477e7f3b85513160d7f3 WHIRLPOOL 35970d099304a5ab174fc93f8496a0c651a259dcaa3d23a2dd0233f8db214ae94a26e28044a87460d4654e61440427d331ceeac290335d6ae3fcf0423175bba9
 DIST git-htmldocs-2.1.4.tar.xz 959144 SHA256 7665daecd77c2f9be8b316eb69a1fda3f383f759e71d346a137c8cf39501d886 SHA512 7734d671ab6ca8374f54546b0987821d0c66d136d50f9cbb1ff7c06da25330e46a10ede41d10a60c80847afa68999298c2f90dfe99d51bd862590f02344e1cbd WHIRLPOOL 97326a00a1f613cf95dbeaf8938842855299d21e6963e2040b3bf9ee02a745c8156ea552e2b87248a98d5f0ecd6560a546a4a49b6635ca034ff2e92504bbb00a
 DIST git-htmldocs-2.2.3.tar.xz 976124 SHA256 1e979c86d5447a4a4965de6a1a532e30ae6337e886a2d8fc61749806b2bf024d SHA512 3fe7f70b1ea4bbd60d64928802de1ea4eb35a305cbd243933876d89dfe05901cea71e3811bedb28e8ac0f0f1409afbf31884a78a8be0648b3666a0c7fcee8212 WHIRLPOOL b5348b121b9e3a11fe120ed8a379b99bba42711ea185aaf956c58d92fe3cb96969e0b60cb7c483cc5e39711a965b6a7eaa0b931477229faffff8e3326d5bf0aa
+DIST git-htmldocs-2.3.10.tar.xz 988072 SHA256 628ef79383039db857aab6ad4cb627573104e618461c2c6ee58fa39a3512d115 SHA512 cd8b050979cc13aab6e9b74d7a8042f33decaea639a1fc57ea4a5839563202fecfda95295e38404a825c05d393458aebf592bfd9b0c75eae44638a2bc9e33535 WHIRLPOOL a21430705753b533ba03696b80fb210fec4b8869821cbd940d3881c080f12816d161c05d8e483764d79c337ce7fe93f741b6a3b35afe2cc69bd9e4d7a1c8de51
 DIST git-htmldocs-2.3.8.tar.xz 987840 SHA256 54b8d98e34bceeac906ffa8b7c93e8a2cd2cf3c7f4d0c0334e9d5e0c704ca23f SHA512 7aa72d55a6a2687a3ecb26f9db76f69e4003c87864b8239068b029a9d63f99a023bf76ec3ea60952ecf11608d2d684f4ad1b2ac76942cd44ec67bdf8f497330f WHIRLPOOL 60145b5a48a6780b0edb3a7ef50b3649193818e3aa8199de94dd9bf1cca110d7411902c8e7e3df881eec77aa59208780b60b946aeb5f13960de954af6fd88fbe
 DIST git-htmldocs-2.3.9.tar.xz 987824 SHA256 bd2921280fafca0ef051baf407aa561f80c2bf51c69115aa3cfd48d4b50ef9f9 SHA512 c239cfbd1601ec38bc37a95834d5840fdb83362ea6ca2f8c0f48a5b3f0beed73aef47736e1b5e65a77a4fe1aec3e1b48807437a600fb36c7b2553194f4824daa WHIRLPOOL fef5ce4447d10d6f116bb425d678af53f9e8c8a3238153d241afd6109647f04045c0bc4782afda63e3d43df89cc864dc3d7d01cddbf9a71de566d7cbc1508e7e
+DIST git-htmldocs-2.4.10.tar.xz 996588 SHA256 f2c523ea114caac7c5cf51a20a420a215411762fabff2da9febfc2917af835ef SHA512 60fc5a2b6665ec7fc10680608b5689a24fa211fe7393f010a8099c6fb0a9582f20cebc7cad0653b62750677d79a80fcd6e8e96fb440acb3fc7c7c0ffc00779d3 WHIRLPOOL 30585753a7b08dfa812c74832d35168d3615d8bf71c3c853efb125348538b5fb7cc4b3f1cfef725082ade144b5362394991186967f6026cee8c91dd41e30290e
 DIST git-htmldocs-2.4.6.tar.xz 994712 SHA256 5213e8b882293ec3cda247dabbc75c6ee5243b9d330a8fafec004952fae91a88 SHA512 782fbc38a611380c0af2631bd6123d568b02159fb46159c763d97d75bd84debe43105d83ac3f321cd8383e1334806857bce1a48563fd0c19b43f527fe18615a8 WHIRLPOOL 170e4ecc8255e6d5d562274e6e3fb75c2fc62e415586d61498b680a076c74248664fca35bb7c532009f7f22be4ad14d1fe047e14791991fa32373bd7053e0396
 DIST git-htmldocs-2.4.9.tar.xz 995724 SHA256 6000eb00fee2adc4d5a8fd8ace857049e6fb623aa7ec9087d983c29953319cd6 SHA512 42905ae5383e5f0444ec868a1d742bada31cf25eac582b95ab6e6334a3dfefd05d2e08a1c2f7c0354a841703cbac2c6dc25437ca9f681a5bb0a121dc94d2d938 WHIRLPOOL 9791ab122cf680f060d274c6a7bcdd1aaf0660f83ed4e91073fed1dd2f2b16e96e938fcbf04e03373768b8036e3f8dd0be54639f8d24bce59501c970e4225d73
 DIST git-htmldocs-2.5.3.tar.xz 1009248 SHA256 f87465b5f6d01ceccb314b3e0a3749d642bea1007b0bc78afba868d75413d85e SHA512 7e5bcb85c270c740aa619d3cedd81e4f9bab989a8785512faab70cbd5029c021972b0574083272bed85324bf9372bf52f7b52827030133e09618731bf927f36f WHIRLPOOL f17c063c5b6e2a3cb7d25810b26f909bd09e281963e56029290c754b8f38bf7dba446405e96e4c49244db0bb60176b34852ac3f9a5b1d61c886eb90c2391efd8
+DIST git-htmldocs-2.5.4.tar.xz 1009820 SHA256 cb36b3b7198a3fa49f2677bba83f1e57a1a40250a181d9e86232cb8febcc8053 SHA512 af833635632ba5c65524bfef00f291a41fd37ba7bd9ca4b65b4c0eb9329b888d2e8757fe29f33bd25a75e1841d67a20dff49f43d35a502ef3b29599d073dcd6a WHIRLPOOL e5f55c3dbdf69d946295c5c19b95a79168d34645ced8e6a837ec8b5dd948008487288159f63a2f81a36fbdf3f413d3fdefd008b0157785df37431ccb9127284e
 DIST git-htmldocs-2.6.0.tar.xz 1016192 SHA256 0ba5d5d630e3235b74bcfb4ea2e9bbda8a3e619aaaf9e1f56e12dec5d8dc1d87 SHA512 11d17ee8fe6537efba323887ccb64fe9c905b293d3d06f4c0f0b3da4283a7ac5b5bf840055bb9f96d28121aecce074d86feebaa2a407291ec812246308aefa1e WHIRLPOOL 7e08864790a3e5c584e85acd6aca15bfddea846df9ca423c2dfe1332da2283b8fb9ee462639733f35e4842d27a895b59db0e29e3e4636d525131b47c2851b139
 DIST git-htmldocs-2.6.1.tar.xz 1016516 SHA256 791487ebd5a25456d41d8825ef450fdf3214898a328028d01acdb21a668052da SHA512 da0500da633deb185c59c45296ca9ffa631f0e1fc2e8bb5163b4c1913cc21610dc723aa415706e7433246b2604fa2e84222a25f97987f55a9d544d9c2ddac300 WHIRLPOOL 3f31ed5b0d7b78851fdc21c3e885ac34d2901381a9d845f534708b94040b3728ad58c47dae24d1a9ce8a5778d6cd9983815746f4a9c5eaca0ee4f2279da37cd6
 DIST git-manpages-1.8.5.6.tar.gz 569061 SHA256 58ef7cb3121639b8d78e2e4c4f7f886bab57af9e9e137b10f372dfad573872c1 SHA512 a524a1c7e8bdc73ffe04bebb5c7050a18c8649b98714bf255c8e3c32a2443d8d5abf33e3ca2eb108d601f01e0bda50fed1e134ffdae87bcf6f551cbbd250c4ba WHIRLPOOL 2db62b96e972dbcbec1ac59d7244bf2c2ff7140c941d1d3c6b9062bd79b80541d7fa3982c5a3bc55a18fc9112ab3fa648966be5c3e1135ab7b5c89080bee82b6
@@ -27,10 +33,13 @@ DIST git-manpages-1.9.5.tar.gz 571625 SHA256 37cc735c4ced6574e8e93349d52d30372fc
 DIST git-manpages-2.0.5.tar.xz 359000 SHA256 3cf1581da2a19c0651df445ee5f801e108619befe8965e01d61faa46ca57b642 SHA512 b3981565a34a203283801b86717386971ef53c2f5c47bdde290aa0df4d62045ecbcab1ff1b4d1d8ddf7d489e74d65b0208d87ace7ca8c8be9525be548e445425 WHIRLPOOL e8c78eb38cb3192455ccb991a4ce5cd3988d06f1f06cdf0722e4ce6fb1d4e57f618058cf07d312bcab4f5821a1b1dfc016c03626d4f3429d3e5ef089607a2801
 DIST git-manpages-2.1.4.tar.xz 361252 SHA256 01070bc96e88231f6f279b031fed2919efea8b442fe724f37349ad951d010b04 SHA512 35fe0dd9e0fe9547362abc0e9c5b066abc13a4137b4ea62569fa5b1ae93831da0686e8783be946a9b87274fbc2322ef93425b9d3fc1257023176c772b21b79b2 WHIRLPOOL 9f199eb94657149b51cb20fb55878cb1cf83fa3741906ce37a66b0157df9ca4dae66754fe264019e6bd8e7d286040fec718b89ca4b40b803c059c46521a5cc61
 DIST git-manpages-2.2.3.tar.xz 369884 SHA256 bf6a4b5ae1267a252b93079e9b7fec2dc6f0a179ac05b9d7f351d183d354164c SHA512 499493956b2a0634e3d5b4f3904a37b6dda1985ceb388eead4701365081605df6cc0c3db79e0aa0bf32d2fa201fd94201d66d5ee487fceaaa0fa4409a17eb6ad WHIRLPOOL 0abf61527dcf71ed0e6dfbccf67d77ecc674122765adca584e38aa70ba7103b8d6ac6173c0383c4c964acbd603391e687809457320640461bc29a336c4fe7932
+DIST git-manpages-2.3.10.tar.xz 371884 SHA256 dd7f92d9f23f6293c18a0859208b7f236e71e6fe09f041c98f8b4b9ee7f913ed SHA512 324d5541d331708f9e0407becc378f955a44423e526502b04ba665596c1803e966a65d60bad21ae43320fb5b9616d8150c3b23095f1f47dfaf94e8ce0e2ad31e WHIRLPOOL 41d6427b39b7c6e3c7e2d6d9997285806059ea746b81047083d3610ba661fbb51ebd100b68cb5ff2015b245a723a3f070e52ffb4bb38e2b9a132cee80ccebd3a
 DIST git-manpages-2.3.8.tar.xz 371528 SHA256 4d38de9decf80864480fcd5cc58783e3bff4e22383b281193acd82ffa3751fe2 SHA512 8c6aaf60e4b6505ae6789fa658ff15534cf5dfa51c03fdf47a624723b75a8448d71faa9f4ee61c5c243b775c4047dd2ffffc664b37e7f38b60c90fc56252ed93 WHIRLPOOL c6068de21f53e20ec17cd724059d91781e81abf617c2169c1099997afdeac371a59927d9db0b98c1f64c66b3de016b351b08a2f37a43038a924137f6f139a72e
 DIST git-manpages-2.3.9.tar.xz 371580 SHA256 132cd914bf57ab66d75a72001b6defa514181fab3f4555f8d6933a7efe987530 SHA512 76100ba16f2fb5dc2e85a49d46ba420c52920f38f7f1feb2589c2bdc76100929badd147324a0f563d0280724f06a95929caa8e85336987783493d3a02db0ed28 WHIRLPOOL 24f5279122b74da69f366e5aec35029b6322891b5c670067b2cfc76696257d1c9bc2e6d674f2b2d740d4a27a439b89c3186e8bc41cdc8912e29635c4b3575929
+DIST git-manpages-2.4.10.tar.xz 373968 SHA256 da712c07d84bb3da10be9fb56c15289c77828d3011179ab71f090e77e52a03d9 SHA512 d5a978109db70f3d50d02ad17c93229206f2d5a2dd3dd7e9fb266ca7b76b85ad92f63120df885b88b5a33fe1dce0686ae92fc50749cb3b6275cb48812eb031a9 WHIRLPOOL decb0b5bf81b25e4562f639e03c2b60b0c470338be0ac298f3d62deb54538de0961a81c6a8ced17ef5877df6de5c17b49fe96e77f00dd2038d2d1189c8f48e7c
 DIST git-manpages-2.4.6.tar.xz 373408 SHA256 f32d267bdaab75812dbd116d2b329d6dc7287a974e929e380e8cbf96e3822b8e SHA512 fa0562b8cc3e0421f7b45940f8cd4b58a5e58a1eb8571e2de85babf8ffd932fd210baa82aefe3c6090cb7dc51f64f299143be51beaacb37be97832b4a8e2a869 WHIRLPOOL 595beed93c621ffd9b7e0b507fc2941156975190eca8b638826ac32b6ea761bbb08f05e152dc88a7a3dbd168ab083a0128d61e72fae51cd0e94a8c91a1adb3ee
 DIST git-manpages-2.4.9.tar.xz 373644 SHA256 0adc425adb13d669fcc90fa28d5fff3e64d8c9feb49d0565ec031b7bddcc4e02 SHA512 0df6359b8119b023b2d375bba08539cad4c0718184c5027b99827490fc17bbcff5da227a9b13bbdb5a82a45567cb83984dab050faafea1b7939532397f6688a0 WHIRLPOOL 20b8e34bfa4c5c20cf92368676f3a98949ed8c12a9c5b90f7cd052387492afb0e1521bf328e4bff43c4e8aeff8784d88b79498e47bffd093bc751e49046034e9
 DIST git-manpages-2.5.3.tar.xz 378000 SHA256 c5d8e9036be741924cf2614f0178a10f0c7d7b1d3efef96c1a08c751596cae3a SHA512 ed5a736b6ad22469ff7677434d046f331b0b4f7bbab8d14baa7a376bf44b384ffcc37ce1a99278d0fa69d8a058df21de1f8300a72cb2ad4b781543aac5100752 WHIRLPOOL f914d116e8aafd76a5decbfc945a6a3826814cda04d471716aeede4923eda79da61e809d888890b545b78811afd9b85c354540d9af06206e9402f1815c19e914
+DIST git-manpages-2.5.4.tar.xz 378296 SHA256 bdd8db3b8cd35d01b2631d1f3c1174e5bc1b62b3e0177ae1954d83743aa93ea9 SHA512 ccd675d8d9c117042083800fa4ae7a876a7873cf13844c92f731e46553d316a949d445c80e4b57824792a6b369623085053d25baeb4f8b79801b5849f06eb084 WHIRLPOOL a2149da3217826c1c4951aa0fa0900e388ea806511559d0e01c4e17a565470048e55e988b12e6da3d7b52b11d410d27b4da0cac4d2d88e3f6860f22664cd8ac9
 DIST git-manpages-2.6.0.tar.xz 380940 SHA256 94c45cf2353f8e1bbb6b56b6f54289203319db4cc38d94f53fcfb8dc3b669615 SHA512 3173f77da6fab0f5ac5d46a206b18fe69083ee74288326af63bc3938fb359e16a0cf5490f71ea8b11ba54117871caff7b4022e698ecd328c028b27eebc711724 WHIRLPOOL c76454026f747a5e68c3a195b99471b2f012013ccd6b305a7ac4c396dd463476a8fff68017dc631198e2fc309c3f28a2373883b6b376166168e57ceff624dba5
 DIST git-manpages-2.6.1.tar.xz 381288 SHA256 e4cf64edcecd284d9ef4e6ca7fa0e8556d2414b5d9881a9abfe477f95b416391 SHA512 513a0692ef2b7db12c8eddcd69e6cb465d39138a5d7a6703458f262c8623fdf6324da64f434fef6f1bb7cf3705c9e17ed4555394a609aa4f8ae24c205dadc3a6 WHIRLPOOL 4a4058d6e0c6d0ccdf256b0e9faa31d49579a97f6268f7ae0cfcd0559152eb665e2d827295b3160f8e08c2a3240c3a0b2e51f6350a393a74ed64d3a4ebd473c8

diff --git a/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch b/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch
new file mode 100644
index 0000000..bc60708
--- /dev/null
+++ b/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch
@@ -0,0 +1,52 @@
+From: Renee Margaret McConahy <nepella <at> gmail.com>
+Subject: [PATCH v2] am: configure gpg at startup
+Newsgroups: gmane.comp.version-control.git
+Date: 2015-09-30 17:49:44 GMT (5 days, 14 hours and 45 minutes ago)
+The new builtin am ignores the user.signingkey variable: gpg is being
+called with the committer details as the key ID, which may not be
+correct. git_gpg_config is responsible for handling that variable and is
+expected to be called on initialization by any modules that use gpg.
+
+Perhaps git_gpg_config's functionality ought to be merged into
+git_default_config, but this is simpler and in keeping with the current
+practice.
+
+Signed-off-by: Renee Margaret McConahy <nepella <at> gmail.com>
+---
+
+ builtin/am.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/builtin/am.c b/builtin/am.c
+index 4f77e07..3bd4fd7 100644
+--- a/builtin/am.c
++++ b/builtin/am.c
+ <at>  <at>  -2208,6 +2208,17  <at>  <at>  enum resume_mode {
+ 	RESUME_ABORT
+ };
+
++static int git_am_config(const char *k, const char *v, void *cb)
++{
++	int status;
++
++	status = git_gpg_config(k, v, NULL);
++	if (status)
++		return status;
++
++	return git_default_config(k, v, NULL);
++}
++
+ int cmd_am(int argc, const char **argv, const char *prefix)
+ {
+ 	struct am_state state;
+ <at>  <at>  -2308,7 +2319,7  <at>  <at>  int cmd_am(int argc, const char **argv, const char *prefix)
+ 		OPT_END()
+ 	};
+
+-	git_config(git_default_config, NULL);
++	git_config(git_am_config, NULL);
+
+ 	am_state_init(&state, git_path("rebase-apply"));
+
+-- 
+2.5.3

diff --git a/dev-vcs/git/git-2.6.1.ebuild b/dev-vcs/git/git-2.3.10.ebuild
similarity index 97%
copy from dev-vcs/git/git-2.6.1.ebuild
copy to dev-vcs/git/git-2.3.10.ebuild
index fa75f1e..552e959 100644
--- a/dev-vcs/git/git-2.6.1.ebuild
+++ b/dev-vcs/git/git-2.3.10.ebuild
@@ -38,12 +38,11 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
+	dev-libs/openssl:0=
 	sys-libs/zlib
 	pcre? ( dev-libs/libpcre )
 	perl? ( dev-lang/perl:=[-build(-)] )
@@ -230,11 +229,6 @@ src_prepare() {
 
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
 
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-
-	epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
-
 	epatch_user
 
 	sed -i \
@@ -303,8 +297,8 @@ src_compile() {
 
 	if use perl && use cgi ; then
 		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
+			gitweb/gitweb.cgi \
+			|| die "emake gitweb/gitweb.cgi failed"
 	fi
 
 	if [[ ${CHOST} == *-darwin* ]]; then

diff --git a/dev-vcs/git/git-2.6.1.ebuild b/dev-vcs/git/git-2.4.10.ebuild
similarity index 97%
copy from dev-vcs/git/git-2.6.1.ebuild
copy to dev-vcs/git/git-2.4.10.ebuild
index fa75f1e..352b93a 100644
--- a/dev-vcs/git/git-2.6.1.ebuild
+++ b/dev-vcs/git/git-2.4.10.ebuild
@@ -38,12 +38,11 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
+	dev-libs/openssl:0=
 	sys-libs/zlib
 	pcre? ( dev-libs/libpcre )
 	perl? ( dev-lang/perl:=[-build(-)] )
@@ -230,11 +229,6 @@ src_prepare() {
 
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
 
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-
-	epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
-
 	epatch_user
 
 	sed -i \

diff --git a/dev-vcs/git/git-2.6.1.ebuild b/dev-vcs/git/git-2.5.4.ebuild
similarity index 99%
copy from dev-vcs/git/git-2.6.1.ebuild
copy to dev-vcs/git/git-2.5.4.ebuild
index fa75f1e..c38a8ea 100644
--- a/dev-vcs/git/git-2.6.1.ebuild
+++ b/dev-vcs/git/git-2.5.4.ebuild
@@ -233,8 +233,6 @@ src_prepare() {
 	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
 	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
 
-	epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
-
 	epatch_user
 
 	sed -i \

diff --git a/dev-vcs/git/git-2.6.1.ebuild b/dev-vcs/git/git-2.6.1-r1.ebuild
similarity index 99%
rename from dev-vcs/git/git-2.6.1.ebuild
rename to dev-vcs/git/git-2.6.1-r1.ebuild
index fa75f1e..b7cc65b 100644
--- a/dev-vcs/git/git-2.6.1.ebuild
+++ b/dev-vcs/git/git-2.6.1-r1.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
 	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
 
 	epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
+	epatch "${FILESDIR}"/${PN}-2.6.0-am_configure_gpg_at_startup.patch #561796
 
 	epatch_user
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2015-11-06  8:48 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2015-11-06  8:48 UTC (permalink / raw
  To: gentoo-commits

commit:     1b9f8eda887fc51aafeab4c45911bc0797696bf5
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  6 08:48:08 2015 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Nov  6 08:48:29 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b9f8eda

dev-vcs/git: Removed old.

Package-Manager: portage-2.2.24
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |   3 -
 .../git-2.6.0-am_configure_gpg_at_startup.patch    |  52 --
 dev-vcs/git/git-2.6.1-r2.ebuild                    | 643 ---------------------
 3 files changed, 698 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index bb996de..036c119 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -8,7 +8,6 @@ DIST git-2.3.9.tar.xz 3622952 SHA256 90c2b4bc8cb081115d34269b2d061fb8c7961cf0840
 DIST git-2.4.10.tar.xz 3695176 SHA256 b631b2b26f5593833a29cd833b8071b4eaf7b212fba180e587b526f51c2331df SHA512 08f7f63fd4820f155aec08373fd4f5abbe5a4c8f98a73a824897ba68901fb274b4cf47b8751cd2bea358cbb9c09934f7857aa440de69b46ee88a4bba852f5ced WHIRLPOOL 3ec53b7355f1895c95b91e1fa85f185801acdb0317384099e4d7914208c3d762d536ed83e099c96a168d696e37e3f8a491459de59c7dd59dce9c49fb75af836b
 DIST git-2.4.9.tar.xz 3692824 SHA256 0f5fba41639d3224fee02f40393e2053ee9468fa7b88d64c5b97f7e65667bd2b SHA512 d5df1f725d5af8449e091ee50f6c4371c2b1699d80d499321a751ecf6c61d75c6c3a286ea60661ae1608bf92c94e2c8977ad08731e153830bd5c5b4587d8ba82 WHIRLPOOL a670eeb5abbcf844324b2444d87ecc9eb8c2899d6f37da6aef9f27edbe53d90086907642aac14536396b61d4520cd4e7b77124f4d54cc7f9f9e5a769741e4d03
 DIST git-2.5.4.tar.xz 3747552 SHA256 e08d2d384e1c8c474d336c3583ed5cd396c76455155a4e65bfa97699fc38472a SHA512 25964bc59301b11994c94bab618613bc87ef788d356af55a26c77861a939f2b67cf37be98199e81d5c2a63e8d9c043b4fc6fb481316cc4d8bb6a1f382eddf33e WHIRLPOOL e62efd86c5e0d1b040816978cc28a41d00a7c095513482b0df1d4addc87bd89ce20dbb1b77e3ec3d9bd0722de3237e451b05f687fdb6419fa419708921049222
-DIST git-2.6.1.tar.xz 3811268 SHA256 fc7c727745d5eb0d796a16dc7c4b999c184830110e0aeb592c788597cc8e9ccd SHA512 55516aeaa73baf180135a0812bfcb35e26699db034688049a11b4ec98faa6c23582e78a1a72a87332116bb88a2d7e9565ccc7891de883b82ad7524ee2809a25e WHIRLPOOL d25217692cd428fa1d436fa16e8b7d8996377fe4af1a0b4ea29faf8ed85115c7a3fcfe359949ebfbfdac1630f5af43cb894d26d31f7e0984dfab422d6651a2ae
 DIST git-2.6.2.tar.xz 3812636 SHA256 646e37abbc69d5c1b153e30c82ec3346d176e2b499b44281d08565ad8e00a670 SHA512 b112c792442d2d6905c6d9ac4598b7f7ae7caf12ab353b2dc6cc7e72a162dd7225cd4cfd8cb4abb29ddddc68b0473e6f872a08240ab6e0a43c92e6c4cf63289e WHIRLPOOL 167ad95aba0d56c77f972f41001853af87a84fbdc0fc8462dac455a0a20c7306a846eedea0a4f3ec0663e32ae2f683abe2fe8fa8300e3ff9d6f55e80d43af51a
 DIST git-2.6.3.tar.xz 3819080 SHA256 d697e4d3d76830996c05bfc2a1d88aa726415b276a884a40d137575e5d597da3 SHA512 c388235806c5cc67e6ee4ba56225b91f27c09305cbc4f988199a45897c0bf065b9e44f18bd671bb0483133598e5bfa08382742caaca8a77ca117b039bf59d024 WHIRLPOOL 8fb5f88e3fa6ae6c9ef6c0ec79d433989b89ed0557ac80c815861841942d1675535ffcb5d5f2fe8069af45554f6c66db0ef715bd844da1e028b41be561ba5b8f
 DIST git-htmldocs-1.8.5.6.tar.gz 2242475 SHA256 7c8e955d0798686fa030ba7b7b384a2eab2b74d5bd695d82faecac2e247bd211 SHA512 c9b2752bcdd7f8f817b14e99ab2743d153e3e7549bffb2aa98999e46d1e965d045850ec6a3e9f6bc83e6e4820ce20f281c33f946ebd2be16d275b85a5ddaee36 WHIRLPOOL 7db3fb74e6b51618890acfef8fb89ab09adf653d3196e82624671194bdb2b564b903429ffecf68b28faf96ce3ebb83b534459738d48ace048d873c158621d31c
@@ -21,7 +20,6 @@ DIST git-htmldocs-2.3.9.tar.xz 987824 SHA256 bd2921280fafca0ef051baf407aa561f80c
 DIST git-htmldocs-2.4.10.tar.xz 996588 SHA256 f2c523ea114caac7c5cf51a20a420a215411762fabff2da9febfc2917af835ef SHA512 60fc5a2b6665ec7fc10680608b5689a24fa211fe7393f010a8099c6fb0a9582f20cebc7cad0653b62750677d79a80fcd6e8e96fb440acb3fc7c7c0ffc00779d3 WHIRLPOOL 30585753a7b08dfa812c74832d35168d3615d8bf71c3c853efb125348538b5fb7cc4b3f1cfef725082ade144b5362394991186967f6026cee8c91dd41e30290e
 DIST git-htmldocs-2.4.9.tar.xz 995724 SHA256 6000eb00fee2adc4d5a8fd8ace857049e6fb623aa7ec9087d983c29953319cd6 SHA512 42905ae5383e5f0444ec868a1d742bada31cf25eac582b95ab6e6334a3dfefd05d2e08a1c2f7c0354a841703cbac2c6dc25437ca9f681a5bb0a121dc94d2d938 WHIRLPOOL 9791ab122cf680f060d274c6a7bcdd1aaf0660f83ed4e91073fed1dd2f2b16e96e938fcbf04e03373768b8036e3f8dd0be54639f8d24bce59501c970e4225d73
 DIST git-htmldocs-2.5.4.tar.xz 1009820 SHA256 cb36b3b7198a3fa49f2677bba83f1e57a1a40250a181d9e86232cb8febcc8053 SHA512 af833635632ba5c65524bfef00f291a41fd37ba7bd9ca4b65b4c0eb9329b888d2e8757fe29f33bd25a75e1841d67a20dff49f43d35a502ef3b29599d073dcd6a WHIRLPOOL e5f55c3dbdf69d946295c5c19b95a79168d34645ced8e6a837ec8b5dd948008487288159f63a2f81a36fbdf3f413d3fdefd008b0157785df37431ccb9127284e
-DIST git-htmldocs-2.6.1.tar.xz 1016516 SHA256 791487ebd5a25456d41d8825ef450fdf3214898a328028d01acdb21a668052da SHA512 da0500da633deb185c59c45296ca9ffa631f0e1fc2e8bb5163b4c1913cc21610dc723aa415706e7433246b2604fa2e84222a25f97987f55a9d544d9c2ddac300 WHIRLPOOL 3f31ed5b0d7b78851fdc21c3e885ac34d2901381a9d845f534708b94040b3728ad58c47dae24d1a9ce8a5778d6cd9983815746f4a9c5eaca0ee4f2279da37cd6
 DIST git-htmldocs-2.6.2.tar.xz 1017776 SHA256 7cd13ccbe397dc742920b403957a7c769728dfe3eacc7bb91aa230ca8ab1e1c8 SHA512 d6173b5425fc0e8a9cf386b769ad67fd423fa5c426a75790130baa82ba157d53b4b226ddf119cf5311014c7dce1d71b540ddf7bb2e295e7650edd67617b1cb43 WHIRLPOOL 71b66548fb47d4c543c6a36072dce795444bd4a72a1bd01080404e6284c4044f386240b077b19ed89eea921686ce8e7d1dcdc19b476f36c6d767ac4a6d7f2d23
 DIST git-htmldocs-2.6.3.tar.xz 1020504 SHA256 1e08dac903f06f9739e22ae700ff811c79bd7742775060d630c1e53236bbd9a0 SHA512 82c9b09065b9b9db6a064e8507a5a386e7f6748f3c5b7302172805b30714174e0c75226089418514ae78fedbedd921556c4c27d1fa5f3d70124a1aa30c43fc65 WHIRLPOOL 31fc4c91a15fc24a160418153471eaf82e49fc2ee9e22b7a8df60e5fd3877faeb01049503fd66f59970dc89ec8f65785447dd6eba1a2de1c67df32e85302a187
 DIST git-manpages-1.8.5.6.tar.gz 569061 SHA256 58ef7cb3121639b8d78e2e4c4f7f886bab57af9e9e137b10f372dfad573872c1 SHA512 a524a1c7e8bdc73ffe04bebb5c7050a18c8649b98714bf255c8e3c32a2443d8d5abf33e3ca2eb108d601f01e0bda50fed1e134ffdae87bcf6f551cbbd250c4ba WHIRLPOOL 2db62b96e972dbcbec1ac59d7244bf2c2ff7140c941d1d3c6b9062bd79b80541d7fa3982c5a3bc55a18fc9112ab3fa648966be5c3e1135ab7b5c89080bee82b6
@@ -34,6 +32,5 @@ DIST git-manpages-2.3.9.tar.xz 371580 SHA256 132cd914bf57ab66d75a72001b6defa5141
 DIST git-manpages-2.4.10.tar.xz 373968 SHA256 da712c07d84bb3da10be9fb56c15289c77828d3011179ab71f090e77e52a03d9 SHA512 d5a978109db70f3d50d02ad17c93229206f2d5a2dd3dd7e9fb266ca7b76b85ad92f63120df885b88b5a33fe1dce0686ae92fc50749cb3b6275cb48812eb031a9 WHIRLPOOL decb0b5bf81b25e4562f639e03c2b60b0c470338be0ac298f3d62deb54538de0961a81c6a8ced17ef5877df6de5c17b49fe96e77f00dd2038d2d1189c8f48e7c
 DIST git-manpages-2.4.9.tar.xz 373644 SHA256 0adc425adb13d669fcc90fa28d5fff3e64d8c9feb49d0565ec031b7bddcc4e02 SHA512 0df6359b8119b023b2d375bba08539cad4c0718184c5027b99827490fc17bbcff5da227a9b13bbdb5a82a45567cb83984dab050faafea1b7939532397f6688a0 WHIRLPOOL 20b8e34bfa4c5c20cf92368676f3a98949ed8c12a9c5b90f7cd052387492afb0e1521bf328e4bff43c4e8aeff8784d88b79498e47bffd093bc751e49046034e9
 DIST git-manpages-2.5.4.tar.xz 378296 SHA256 bdd8db3b8cd35d01b2631d1f3c1174e5bc1b62b3e0177ae1954d83743aa93ea9 SHA512 ccd675d8d9c117042083800fa4ae7a876a7873cf13844c92f731e46553d316a949d445c80e4b57824792a6b369623085053d25baeb4f8b79801b5849f06eb084 WHIRLPOOL a2149da3217826c1c4951aa0fa0900e388ea806511559d0e01c4e17a565470048e55e988b12e6da3d7b52b11d410d27b4da0cac4d2d88e3f6860f22664cd8ac9
-DIST git-manpages-2.6.1.tar.xz 381288 SHA256 e4cf64edcecd284d9ef4e6ca7fa0e8556d2414b5d9881a9abfe477f95b416391 SHA512 513a0692ef2b7db12c8eddcd69e6cb465d39138a5d7a6703458f262c8623fdf6324da64f434fef6f1bb7cf3705c9e17ed4555394a609aa4f8ae24c205dadc3a6 WHIRLPOOL 4a4058d6e0c6d0ccdf256b0e9faa31d49579a97f6268f7ae0cfcd0559152eb665e2d827295b3160f8e08c2a3240c3a0b2e51f6350a393a74ed64d3a4ebd473c8
 DIST git-manpages-2.6.2.tar.xz 381332 SHA256 1041b6f32eed0a04255bec22ada3bad3c212bee9986a99f3782248780d32fc3a SHA512 d0ffdd721417a64f6136fd0de601096c1a07bb069630e23ba99b6a37eb94a6a12e1d17cf5af03af880dca328275720d306126a2aa235737be04b06c34ef35f50 WHIRLPOOL 61d9c17d095664ac781c479a189028fdd7a8eec043d3ca992f9c898905cea1044df8efa06ec19c543c7688f9f2e4bd176db377080e1f31b6b917278efa3e087b
 DIST git-manpages-2.6.3.tar.xz 381588 SHA256 ae23f90a097437c896d6ab7becf597faa96ca8f0d1cd7efbcb1758ea2f59f2b4 SHA512 e39c93fde14d69188e2a82cd35ef413f37de5d98e071c248b4ebbd4ee8c2796b88cf5a12da3a3f12bbe414e3fc370f22ad926c45c78466988274639476431447 WHIRLPOOL 8ed12bd9a853a43a4f8c17470f87d61ca38075beeb34ec9b87fc22fe734e03dbfd6edebc451542562134fafdc2c471ae3bc956c5b61ab0e5475f318027a0b543

diff --git a/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch b/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch
deleted file mode 100644
index b5e3af1..0000000
--- a/dev-vcs/git/files/git-2.6.0-am_configure_gpg_at_startup.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Renee Margaret McConahy <nepella@gmail.com>
-Subject: [PATCH v2] am: configure gpg at startup
-Newsgroups: gmane.comp.version-control.git
-Date: 2015-09-30 17:49:44 GMT (5 days, 14 hours and 45 minutes ago)
-The new builtin am ignores the user.signingkey variable: gpg is being
-called with the committer details as the key ID, which may not be
-correct. git_gpg_config is responsible for handling that variable and is
-expected to be called on initialization by any modules that use gpg.
-
-Perhaps git_gpg_config's functionality ought to be merged into
-git_default_config, but this is simpler and in keeping with the current
-practice.
-
-Signed-off-by: Renee Margaret McConahy <nepella@gmail.com>
----
-
- builtin/am.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/builtin/am.c b/builtin/am.c
-index 4f77e07..3bd4fd7 100644
---- a/builtin/am.c
-+++ b/builtin/am.c
-@@ -2208,6 +2208,17 @@ enum resume_mode {
- 	RESUME_ABORT
- };
-
-+static int git_am_config(const char *k, const char *v, void *cb)
-+{
-+	int status;
-+
-+	status = git_gpg_config(k, v, NULL);
-+	if (status)
-+		return status;
-+
-+	return git_default_config(k, v, NULL);
-+}
-+
- int cmd_am(int argc, const char **argv, const char *prefix)
- {
- 	struct am_state state;
-@@ -2308,7 +2319,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)
- 		OPT_END()
- 	};
-
--	git_config(git_default_config, NULL);
-+	git_config(git_am_config, NULL);
-
- 	am_state_init(&state, git_path("rebase-apply"));
-
--- 
-2.5.3

diff --git a/dev-vcs/git/git-2.6.1-r2.ebuild b/dev-vcs/git/git-2.6.1-r2.ebuild
deleted file mode 100644
index b7cc65b..0000000
--- a/dev-vcs/git/git-2.6.1-r2.ebuild
+++ /dev/null
@@ -1,643 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-2"
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_MASTER=pu
-
-inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_GOOG="https://git-core.googlecode.com/files"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-2_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	epatch "${FILESDIR}"/git-2.2.2-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-
-	epatch "${FILESDIR}"/${PN}-2.6.0-send-email_connection_closed_fix.patch
-	epatch "${FILESDIR}"/${PN}-2.6.0-am_configure_gpg_at_startup.patch #561796
-
-	epatch_user
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
-		git_emake || die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-
-	dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		use doc && dohtml -p ${d} Documentation${d}*.html
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		use doc && doman svn-fe.1 && dohtml svn-fe.html
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-}
-
-src_test() {
-	local disabled="" #t7004-tag.sh" #520270
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2016-01-16 23:16 Andreas Hüttel
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Hüttel @ 2016-01-16 23:16 UTC (permalink / raw
  To: gentoo-commits

commit:     e97050ff8c5fc45e15b899a3f7445594f9daeba9
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 16 23:16:06 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Jan 16 23:16:46 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e97050ff

dev-vcs/git: Conditionally add patches that improve MediaWiki cloning

Package-Manager: portage-2.2.26

 .../git/files/git-2.7.0-mediawiki-namespaces.patch | 97 +++++++++++++++++++++
 .../git/files/git-2.7.0-mediawiki-subpages.patch   | 48 +++++++++++
 .../{git-9999-r3.ebuild => git-2.7.0-r1.ebuild}    | 99 ++++++++++++----------
 dev-vcs/git/git-9999-r1.ebuild                     | 13 ++-
 dev-vcs/git/git-9999-r2.ebuild                     | 13 ++-
 dev-vcs/git/git-9999-r3.ebuild                     | 13 ++-
 dev-vcs/git/git-9999.ebuild                        | 13 ++-
 dev-vcs/git/metadata.xml                           |  1 +
 8 files changed, 244 insertions(+), 53 deletions(-)

diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
new file mode 100644
index 0000000..72ab212
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
@@ -0,0 +1,97 @@
+source:
+https://gist.github.com/anarcat/f821fa285c6b8b6b16a5
+https://github.com/moy/Git-Mediawiki/issues/10
+
+
+From 147224cfe6143c44b16aec0bb6d6a506a6b96ced Mon Sep 17 00:00:00 2001
+From: Kevin <kevin@ki-ai.org>
+Date: Fri, 28 Aug 2015 15:53:37 -0500
+Subject: [PATCH] Add namespace support to git-mediawiki
+
+Signed-off-by: Kevin <kevin@ki-ai.org>
+---
+ contrib/mw-to-git/git-remote-mediawiki.perl | 34 +++++++++++++++++++++++++++--
+ 1 file changed, 32 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..662a5b5 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -17,6 +17,7 @@ use Git;
+ use Git::Mediawiki qw(clean_filename smudge_filename connect_maybe
+ 					EMPTY HTTP_CODE_OK);
+ use DateTime::Format::ISO8601;
++use Scalar::Util;
+ use warnings;
+ 
+ # By default, use UTF-8 to communicate with Git and the user
+@@ -63,6 +64,10 @@ chomp(@tracked_pages);
+ my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
+ chomp(@tracked_categories);
+ 
++# Just like @tracked_categories, but for MediaWiki namespaces.
++my @tracked_namespaces = split(/[ \n]/, run_git("config --get-all remote.${remotename}.namespaces"));
++chomp(@tracked_namespaces);
++
+ # Import media files on pull
+ my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
+ chomp($import_media);
+@@ -256,6 +261,23 @@ sub get_mw_tracked_categories {
+ 	return;
+ }
+ 
++sub get_mw_tracked_namespaces {
++    my $pages = shift;
++    foreach my $local_namespace (@tracked_namespaces) {
++        my $mw_pages = $mediawiki->list( {
++            action => 'query',
++            list => 'allpages',
++            apnamespace => get_mw_namespace_id($local_namespace),
++            aplimit => 'max' } )
++            || die $mediawiki->{error}->{code} . ': '
++                . $mediawiki->{error}->{details} . "\n";
++        foreach my $page (@{$mw_pages}) {
++            $pages->{$page->{title}} = $page;
++        }
++    }
++    return;
++}
++
+ sub get_mw_all_pages {
+ 	my $pages = shift;
+ 	# No user-provided list, get the list of pages from the API.
+@@ -319,6 +341,10 @@ sub get_mw_pages {
+ 		$user_defined = 1;
+ 		get_mw_tracked_categories(\%pages);
+ 	}
++    if (@tracked_namespaces) {
++        $user_defined = 1;
++        get_mw_tracked_namespaces(\%pages);
++    }
+ 	if (!$user_defined) {
+ 		get_mw_all_pages(\%pages);
+ 	}
+@@ -1263,7 +1289,6 @@ my %cached_mw_namespace_id;
+ sub get_mw_namespace_id {
+ 	$mediawiki = connect_maybe($mediawiki, $remotename, $url);
+ 	my $name = shift;
+-
+ 	if (!exists $namespace_id{$name}) {
+ 		# Look at configuration file, if the record for that namespace is
+ 		# already cached. Namespaces are stored in form:
+@@ -1331,7 +1356,12 @@ sub get_mw_namespace_id {
+ sub get_mw_namespace_id_for_page {
+ 	my $namespace = shift;
+ 	if ($namespace =~ /^([^:]*):/) {
+-		return get_mw_namespace_id($namespace);
++		my ($ns, $id) = split(/:/, $namespace);
++		if (Scalar::Util::looks_like_number($id)) {
++			return get_mw_namespace_id($ns);
++		} else{
++			return
++		}
+ 	} else {
+ 		return;
+ 	}
+-- 
+2.5.0

diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
new file mode 100644
index 0000000..c798a89
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
@@ -0,0 +1,48 @@
+From 2593304723c6def159c10b9060dafa78a775a057 Mon Sep 17 00:00:00 2001
+From: Lyubomyr Shaydariv <lyubomyr-shaydariv@users.noreply.github.com>
+Date: Fri, 11 Sep 2015 00:41:17 +0300
+Subject: [PATCH] git-remote-mediawiki: support subpages as subdirectories
+
+This is a fix for https://github.com/moy/Git-Mediawiki/issues/22
+The subdirectories option is enabled using -c remote.origin.subpageDirs=true
+during the cloning and it is not recommended to be modified in or
+removed from .git/config after the cloning.
+---
+ contrib/mw-to-git/git-remote-mediawiki.perl | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..f3624be 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -63,6 +63,11 @@
+ my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
+ chomp(@tracked_categories);
+ 
++# Use subdirectories for subpages
++my $use_subpage_dirs = run_git("config --get --bool remote.${remotename}.subpageDirs");
++chomp($use_subpage_dirs);
++$use_subpage_dirs = ($use_subpage_dirs eq 'true');
++
+ # Import media files on pull
+ my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
+ chomp($import_media);
+@@ -689,6 +694,9 @@ sub fe_escape_path {
+     $path =~ s/\\/\\\\/g;
+     $path =~ s/"/\\"/g;
+     $path =~ s/\n/\\n/g;
++    if ($use_subpage_dirs) {
++        $path =~ s/%2F/\//g;
++    }
+     return qq("${path}");
+ }
+ 
+@@ -927,7 +935,7 @@ sub mw_import_revids {
+ 		# If this is a revision of the media page for new version
+ 		# of a file do one common commit for both file and media page.
+ 		# Else do commit only for that page.
+-		print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of $commit{title}\n";
++		print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of ", fe_escape_path($commit{title}), "\n";
+ 		import_file_revision(\%commit, ($fetch_from == 1), $n_actual, \%mediafile);
+ 	}
+ 

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-2.7.0-r1.ebuild
similarity index 88%
copy from dev-vcs/git/git-9999-r3.ebuild
copy to dev-vcs/git/git-2.7.0-r1.ebuild
index a9feb91..4148ae4 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-2.7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -38,16 +38,16 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
-	!libressl? ( dev-libs/openssl:0 )
-	libressl? ( dev-libs/libressl )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
 	sys-libs/zlib
 	pcre? ( dev-libs/libpcre )
 	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0 )
+	tk? ( dev-lang/tk:0= )
 	curl? (
 		net-misc/curl
 		webdav? ( dev-libs/expat )
@@ -80,7 +80,6 @@ RDEPEND="${CDEPEND}
 #   .xml/docbook  --(docbook2texi.pl)--> .texi
 #   .texi         --(makeinfo)---------> .info
 DEPEND="${CDEPEND}
-	app-arch/cpio
 	doc? (
 		app-text/asciidoc
 		app-text/docbook2X
@@ -103,6 +102,7 @@ REQUIRED_USE="
 	cgi? ( perl )
 	cvs? ( perl )
 	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
 	subversion? ( perl )
 	webdav? ( curl )
 	gtk? ( python )
@@ -126,24 +126,24 @@ exportmakeopts() {
 	local myopts
 
 	if use blksha1 ; then
-		myopts="${myopts} BLK_SHA1=YesPlease"
+		myopts+=" BLK_SHA1=YesPlease"
 	elif use ppcsha1 ; then
-		myopts="${myopts} PPC_SHA1=YesPlease"
+		myopts+=" PPC_SHA1=YesPlease"
 	fi
 
 	if use curl ; then
-		use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
+		use webdav || myopts+=" NO_EXPAT=YesPlease"
 	else
-		myopts="${myopts} NO_CURL=YesPlease"
+		myopts+=" NO_CURL=YesPlease"
 	fi
 
 	# broken assumptions, because of broken build system ...
-	myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts="${myopts} INSTALL=install TAR=tar"
-	myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts="${myopts} SANE_TOOL_PATH="
-	myopts="${myopts} OLD_ICONV="
-	myopts="${myopts} NO_EXTERNAL_GREP="
+	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
+	myopts+=" INSTALL=install TAR=tar"
+	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
+	myopts+=" SANE_TOOL_PATH="
+	myopts+=" OLD_ICONV="
+	myopts+=" NO_EXTERNAL_GREP="
 
 	# For svn-fe
 	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
@@ -152,55 +152,53 @@ exportmakeopts() {
 	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
 
 	use iconv \
-		|| myopts="${myopts} NO_ICONV=YesPlease"
+		|| myopts+=" NO_ICONV=YesPlease"
 	use nls \
-		|| myopts="${myopts} NO_GETTEXT=YesPlease"
+		|| myopts+=" NO_GETTEXT=YesPlease"
 	use tk \
-		|| myopts="${myopts} NO_TCLTK=YesPlease"
+		|| myopts+=" NO_TCLTK=YesPlease"
 	use pcre \
-		&& myopts="${myopts} USE_LIBPCRE=yes" \
-		&& extlibs="${extlibs} -lpcre"
+		&& myopts+=" USE_LIBPCRE=yes" \
+		&& extlibs+=" -lpcre"
 	use perl \
-		&& myopts="${myopts} INSTALLDIRS=vendor" \
-		|| myopts="${myopts} NO_PERL=YesPlease"
+		&& myopts+=" INSTALLDIRS=vendor" \
+		|| myopts+=" NO_PERL=YesPlease"
 	use python \
-		|| myopts="${myopts} NO_PYTHON=YesPlease"
+		|| myopts+=" NO_PYTHON=YesPlease"
 	use subversion \
-		|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
+		|| myopts+=" NO_SVN_TESTS=YesPlease"
 	use threads \
-		&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts="${myopts} NO_PTHREADS=YesPlease"
+		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
+		|| myopts+=" NO_PTHREADS=YesPlease"
 	use cvs \
-		|| myopts="${myopts} NO_CVS=YesPlease"
+		|| myopts+=" NO_CVS=YesPlease"
 # Disabled until ~m68k-mint can be keyworded again
 #	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts="${myopts} NO_MMAP=YesPlease"
-#		myopts="${myopts} NO_IPV6=YesPlease"
-#		myopts="${myopts} NO_STRLCPY=YesPlease"
-#		myopts="${myopts} NO_MEMMEM=YesPlease"
-#		myopts="${myopts} NO_MKDTEMP=YesPlease"
-#		myopts="${myopts} NO_MKSTEMPS=YesPlease"
+#		myopts+=" NO_MMAP=YesPlease"
+#		myopts+=" NO_IPV6=YesPlease"
+#		myopts+=" NO_STRLCPY=YesPlease"
+#		myopts+=" NO_MEMMEM=YesPlease"
+#		myopts+=" NO_MKDTEMP=YesPlease"
+#		myopts+=" NO_MKSTEMPS=YesPlease"
 #	fi
 	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts="${myopts} NO_NSEC=YesPlease"
+		myopts+=" NO_NSEC=YesPlease"
 	fi
 	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
+		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
 	fi
 	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts="${myopts} NEEDS_LIBICONV=YesPlease"
-		myopts="${myopts} HAVE_CLOCK_MONOTONIC=1"
-		myopts="${myopts} HAVE_GETDELIM=1"
+		myopts+=" NEEDS_LIBICONV=YesPlease"
 	fi
 
 	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts="${myopts} ASCIIDOC8=YesPlease"
-	myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
+		&& myopts+=" ASCIIDOC8=YesPlease"
+	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
 
 	# Bug 290465:
 	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
 	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts="${myopts} NO_NSEC=YesPlease"
+		myopts+=" NO_NSEC=YesPlease"
 
 	export MY_MAKEOPTS="${myopts}"
 	export EXTLIBS="${extlibs}"
@@ -231,8 +229,18 @@ src_prepare() {
 	# hack, needs better upstream solution
 	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
 
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+	fi
+
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
 
+	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+	epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+
 	epatch_user
 
 	sed -i \
@@ -301,8 +309,8 @@ src_compile() {
 
 	if use perl && use cgi ; then
 		git_emake \
-			gitweb/gitweb.cgi \
-			|| die "emake gitweb/gitweb.cgi failed"
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
 	fi
 
 	if [[ ${CHOST} == *-darwin* ]]; then
@@ -517,7 +525,7 @@ src_install() {
 }
 
 src_test() {
-	local disabled=""
+	local disabled="" #t7004-tag.sh" #520270
 	local tests_cvs="t9200-git-cvsexportcommit.sh \
 					t9400-git-cvsserver-server.sh \
 					t9401-git-cvsserver-crlf.sh \
@@ -633,6 +641,7 @@ pkg_postinst() {
 	showpkgdeps git-instaweb \
 		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
 	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
 
 pkg_postrm() {

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 460140c..b414783 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -38,7 +38,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
@@ -102,6 +102,7 @@ REQUIRED_USE="
 	cgi? ( perl )
 	cvs? ( perl )
 	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
 	subversion? ( perl )
 	webdav? ( curl )
 	gtk? ( python )
@@ -228,6 +229,13 @@ src_prepare() {
 	# hack, needs better upstream solution
 	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
 
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+	fi
+
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
 
 	epatch_user
@@ -630,6 +638,7 @@ pkg_postinst() {
 	showpkgdeps git-instaweb \
 		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
 	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
 
 pkg_postrm() {

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 7172768..91378e1 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -38,7 +38,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
@@ -102,6 +102,7 @@ REQUIRED_USE="
 	cgi? ( perl )
 	cvs? ( perl )
 	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
 	subversion? ( perl )
 	webdav? ( curl )
 	gtk? ( python )
@@ -228,6 +229,13 @@ src_prepare() {
 	# hack, needs better upstream solution
 	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
 
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+	fi
+
 	epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch
 
 	epatch_user
@@ -630,6 +638,7 @@ pkg_postinst() {
 	showpkgdeps git-instaweb \
 		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
 	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
 
 pkg_postrm() {

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index a9feb91..b9b4d5a 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -38,7 +38,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
@@ -103,6 +103,7 @@ REQUIRED_USE="
 	cgi? ( perl )
 	cvs? ( perl )
 	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
 	subversion? ( perl )
 	webdav? ( curl )
 	gtk? ( python )
@@ -231,6 +232,13 @@ src_prepare() {
 	# hack, needs better upstream solution
 	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
 
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+	fi
+
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
 
 	epatch_user
@@ -633,6 +641,7 @@ pkg_postinst() {
 	showpkgdeps git-instaweb \
 		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
 	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
 
 pkg_postrm() {

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 7a5cc55..18fa619 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -38,7 +38,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
 
 # Common to both DEPEND and RDEPEND
 CDEPEND="
@@ -102,6 +102,7 @@ REQUIRED_USE="
 	cgi? ( perl )
 	cvs? ( perl )
 	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
 	subversion? ( perl )
 	webdav? ( curl )
 	gtk? ( python )
@@ -228,6 +229,13 @@ src_prepare() {
 	# hack, needs better upstream solution
 	epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
 
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+	fi
+
 	epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch
 
 	epatch_user
@@ -630,6 +638,7 @@ pkg_postinst() {
 	showpkgdeps git-instaweb \
 		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
 	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
 
 pkg_postrm() {

diff --git a/dev-vcs/git/metadata.xml b/dev-vcs/git/metadata.xml
index dc1473f..f80c7dd 100644
--- a/dev-vcs/git/metadata.xml
+++ b/dev-vcs/git/metadata.xml
@@ -31,6 +31,7 @@
     <flag name="gtk">Include the gitview contrib tool</flag>
     <flag name="highlight">GitWeb support for app-text/highlight</flag>
     <flag name="mediawiki">Support pulling and pushing from MediaWiki</flag>
+    <flag name="mediawiki-experimental">Add experimental patches for improved MediaWiki support</flag>
     <flag name="ppcsha1">Make use of a bundled routine that is optimized for the PPC arch</flag>
     <flag name="subversion">Include git-svn for <pkg>dev-vcs/subversion</pkg> support</flag>
     <flag name="tk">Include the 'gitk' and 'git gui' tools</flag>


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2016-01-17 15:34 Andreas Hüttel
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Hüttel @ 2016-01-17 15:34 UTC (permalink / raw
  To: gentoo-commits

commit:     438523a27ff5f43abb14bc5c784038e25333aae2
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 17 15:34:14 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 15:34:39 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=438523a2

dev-vcs/git: Add yet another needed MediaWiki patch

Package-Manager: portage-2.2.26

 .../git/files/git-2.7.0-mediawiki-500pages.patch   | 46 ++++++++++++++++++++++
 .../{git-2.7.0-r1.ebuild => git-2.7.0-r2.ebuild}   |  1 +
 dev-vcs/git/git-9999-r1.ebuild                     |  1 +
 dev-vcs/git/git-9999-r2.ebuild                     |  1 +
 dev-vcs/git/git-9999-r3.ebuild                     |  1 +
 dev-vcs/git/git-9999.ebuild                        |  1 +
 6 files changed, 51 insertions(+)

diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
new file mode 100644
index 0000000..0ce706d
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
@@ -0,0 +1,46 @@
+Searching for pages using the MediaWiki API returns at most 500 results
+(hi Patrick). To get a list of all pages in a larger wiki, we need to run
+repeated searches...
+
+Source: https://github.com/moy/Git-Mediawiki/issues/32
+Author: anarcat https://github.com/anarcat
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..f2ce311 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -259,16 +259,29 @@ sub get_mw_tracked_categories {
+ sub get_mw_all_pages {
+ 	my $pages = shift;
+ 	# No user-provided list, get the list of pages from the API.
+-	my $mw_pages = $mediawiki->list({
++	my $query = {
+ 		action => 'query',
+ 		list => 'allpages',
+ 		aplimit => 'max'
+-	});
+-	if (!defined($mw_pages)) {
++	};
++	my $curpage;
++	my $oldpage = '';
++	while (1) {
++	if (defined($curpage)) {
++		if ($oldpage eq $curpage) {
++		    last;
++		}
++		$query->{apfrom} = $curpage;
++		$oldpage = $curpage;
++	    }
++	    my $mw_pages = $mediawiki->list($query);
++	    if (!defined($mw_pages)) {
+ 		fatal_mw_error("get the list of wiki pages");
+-	}
+-	foreach my $page (@{$mw_pages}) {
++	    }
++	    foreach my $page (@{$mw_pages}) {
+ 		$pages->{$page->{title}} = $page;
++		$curpage = $page->{title};
++	    }
+ 	}
+ 	return;
+ }

diff --git a/dev-vcs/git/git-2.7.0-r1.ebuild b/dev-vcs/git/git-2.7.0-r2.ebuild
similarity index 99%
rename from dev-vcs/git/git-2.7.0-r1.ebuild
rename to dev-vcs/git/git-2.7.0-r2.ebuild
index 4148ae4..a8c159b 100644
--- a/dev-vcs/git/git-2.7.0-r1.ebuild
+++ b/dev-vcs/git/git-2.7.0-r2.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
 	if use mediawiki-experimental ; then
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
 	fi
 
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index b414783..cceeaee 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
 	if use mediawiki-experimental ; then
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
 	fi
 
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 91378e1..992280b 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
 	if use mediawiki-experimental ; then
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
 	fi
 
 	epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index b9b4d5a..3aea20c 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -237,6 +237,7 @@ src_prepare() {
 	if use mediawiki-experimental ; then
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
 	fi
 
 	epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 18fa619..d3344ac 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
 	if use mediawiki-experimental ; then
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
 		epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+		epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
 	fi
 
 	epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2016-09-03 19:19 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2016-09-03 19:19 UTC (permalink / raw
  To: gentoo-commits

commit:     d1a70e2b1e6972e6ad713a3bf28036daa67f30ec
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  3 19:18:37 2016 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Sep  3 19:18:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1a70e2b

dev-vcs/git: Bump to version 2.10.0

Package-Manager: portage-2.3.0
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                            |   3 +
 dev-vcs/git/files/git-2.10.0-optional-cvs.patch | 456 ++++++++++++++++
 dev-vcs/git/git-2.10.0.ebuild                   | 682 ++++++++++++++++++++++++
 3 files changed, 1141 insertions(+)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 73858de..1535d0b 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,3 +1,4 @@
+DIST git-2.10.0.tar.xz 4096264 SHA256 c73364ac00ae85ffc6cfb12ca2700bb0edf30f63262be97be4039be594ff29e7 SHA512 69d031f55141c2cb2cfce69ac808d1765c1502e10867e8f6e8fb2d9ac5e2fa5773f3ba4a8f4b59e313c715e757c97b3cd3f1b13da45c7bc3958bf53026f0718e WHIRLPOOL 7d5aaa0cef6df32941ed05959816dd66613ec100f534dbc877d4a9000813d2c9880634922bf1b4ace3a7a0e1ad09337fc7612caa8b582f75474eb79b4d4d9127
 DIST git-2.4.11.tar.xz 3695028 SHA256 ebca2cf93b7200d6d7b9982e3e9857f0b433a05e51338a600c799e97919118e3 SHA512 34c60fa67e336a4c807a5f49e26083442acc52781b0adbd3f9d96b9594c0688686b30ca3a152621047489d59beb65ad99089a2f02cc589d6e3b36a79db1388fe WHIRLPOOL 75e6b3090560e7aef4fcb382413a7432ecb63880a4139466a64dd06d4777441afd34c208a59dba9a01144f0c2f3a3763a267672f9f7155867b462b4c0bf09cba
 DIST git-2.5.5.tar.xz 3747448 SHA256 82976a05dd85d44405ec9758040dd190507494fa2af322bd2c97163024ce1e82 SHA512 edf223df92298a3d25865140b4a2c2194840b21f96c13e07ac35940d6afa759f766e4d36ad2e2428ba913c4949b4f76283475a6b7aa1cc774523c793cb5794f1 WHIRLPOOL 3ab15f8a0bc54d3865537bc70c9a0d6e3d8f30b9ba8c68c2dadbd77575f892f55e0e010b9ac89af03ca228f034abbccac53a619865c1e8044f61dedef8713501
 DIST git-2.6.6.tar.xz 3822260 SHA256 8d53410d60f9c36b0f34c125076634d068c8d812f4143fa10b7130cd7acf7ec2 SHA512 5c77f83f34296f85d1b1f1bf00a59664bced9db7ad222606471d8400772441775b82fdbfae637aa11006164c4fc9912b8218aa2f6f7812112048902ecf5f0000 WHIRLPOOL ffc6d10b166b3d0ff1e51fe44a6809877b2d4a9679fc519b7648897621ea02616e330ae46693a2f306286b40c0b41589b20bc93e240b87d535ac5b9b84b28738
@@ -7,6 +8,7 @@ DIST git-2.7.4.tar.xz 3909636 SHA256 dee574defbe05ec7356a0842ddbda51315926f2fa7e
 DIST git-2.8.4.tar.xz 3982836 SHA256 120e9a32a1858871dea34165622ec7a63f27887b93093c8d72a18bcf89fe1657 SHA512 92c3b4437d1160cc23612b4df62646b80a1245d4ed482c3543ba19511f754a34d0185d5dd5d16f2a42bc3097bebc47ece0670c45a1c53ca38cbfbff7d43de87b WHIRLPOOL 8be86b1cba51ef549d56014c090dd5844019c2c5ccf15865dce86ed7f28f5628621450d784f23ba03f79282bc87e5a8ee0fad161a157785cf6c5716f8aa1e767
 DIST git-2.9.2.tar.xz 4019916 SHA256 f8f546648f77f246f1302e3ec4037c81db25af1f02931597148c5bf61fac2db5 SHA512 4a6e2ac7680b8896dc9c58a3fabad2201c800dbca26f0c117892b9d6149b02ff0335d313037f50771932cea4971913e3d9b9e79f22e075b3ed77a1a69ddc11ac WHIRLPOOL ebd538f1877a362c7bbd0eb98e3c3d9d96b81e75cdb4f587d9aa5be09d66fd61e7b2e400465f64d238fd912a2a3b4be1829a95ba21ec09115be5362347d30878
 DIST git-2.9.3.tar.xz 4025288 SHA256 9f1473350c1792310b51af03a9cb5cce841f68202f835b20d46312a30232fa63 SHA512 7152d075b705c92c813e977558b1a6d8d1c9e6ac01b41ee052bcd40c056f08c6fdb030ef0995822c6d22ce44b739935d89026aeae35f8b93fb569773c4b005bb WHIRLPOOL 0117dad19c4a74dcc7a7963dd2ffa60f5a1e10890e4f233b1c92cce87c07e3da270a65464ed152fc20ffbea34f074342a9153f7a328cae2d850b763b3a196c3e
+DIST git-htmldocs-2.10.0.tar.xz 1064292 SHA256 b51b7c51c9c50450b233c6461f1987424e8096f05261fc1284bc3c0a8f8da559 SHA512 035de46a751641e5c533d506905951d162b6170c4b0a6361ead49b106c40190520539ed64e44d98236ee70b464b2bfa0239af9fc3c6c75c92b5f287c9d932308 WHIRLPOOL fa2f516504ae79dbbc7fbe962877bbbf5dea8d2ab846dc5d06bd1e6f13fc8ea09d6d523f80c340e164207eaaf7d52f926330be6ac723323311a6fc638f91e53e
 DIST git-htmldocs-2.4.11.tar.xz 997132 SHA256 2764af41b319f4d11b29832de4bd05392f2887d9a1d3c56c864fb081920eac97 SHA512 d5d2abae9cc303fe8ebeb72ae7078d44db94610d549ca03afffcbbef8b611efda662677423d9ff97a0c7a2384bbd4c3468b01a2ecd7b68f4fdc89e62ad688eb4 WHIRLPOOL 66cd4fc754be7c103ca58a030d4799ba988792419a426e85a39805172e6329ec617b3561696dc74be36801cca0b17a26102a194a1a58d6c7b9ee1ab17752c4a6
 DIST git-htmldocs-2.5.5.tar.xz 1010216 SHA256 15de2f234cf419496399f7ad396709544d62537488a8e5200e6e34b0f1a685e7 SHA512 265ddf3835352f85eb2e2ee983eb8aaf37bc7b151968866bdb8b9bb6782cdb72dbd1fefe5d7f694a6825954d49bcf4c799e8bcb4e3b25e3f228f6f97f041fd9b WHIRLPOOL 90da44c0bdb6f9ff428d1673289e612936ed5f26110cd13d155c8cbef8433b13bd8b15cea88f967224a699e4c3a6ac41d70b67be1b25c4d35989879626eb10ad
 DIST git-htmldocs-2.6.6.tar.xz 1021856 SHA256 897fb0bc7e2eb67a4b582c963f337fda3a6ad2b23bca55e27f23f7d15bad7c5d SHA512 85dcd8514e1ba2cb591512a0003aedf25eafbf185ba1eed01f8adfd9eb467d29b17108e6b087183004004ab17301316d403cd6762619ac2a030a565ea5c776b3 WHIRLPOOL 3cd964f1d0164db98e97e0097813a620911adadd9c50837e23a5ca79eb0f2d988aa68317b5b79fa7b052900564657c36d050e75841a1018d5ff12e1299c01dc6
@@ -15,6 +17,7 @@ DIST git-htmldocs-2.7.4.tar.xz 1032428 SHA256 3fae21e2e68104621ea1405be73192b46b
 DIST git-htmldocs-2.8.4.tar.xz 1042260 SHA256 78135be591e3a68d1030a76e343d59622e5e40f6990667f4385a01d9dafe9bbd SHA512 5da40db4421f94a969b83bfa0ea6e5ccf3fce8c2085ea2271a2eb3e1b4fc496c36ae8790207cd1814ff747b7633bb27fd53bb9c012f866ea1e7f1cc8065379dd WHIRLPOOL 4f80041ad4ef8b178a6b91313680433a7e07b0ecb15354304436d70880063b2f9cdd875fcd95684a817272d05a57485e1863e9e06c3788eddf0e5f031279ea9a
 DIST git-htmldocs-2.9.2.tar.xz 1053284 SHA256 6dddb003184f2ab68aa6b54e02e1e55c82c774fe6e74602e9dbefdf06826fb1c SHA512 ab13c3d8339de894084aab1a3db08f4571c22b052f7792235dfcb4ed55ff98ecad84125ec2a083bb0a3df9b8eca0e40fb7085951fbdf10d888eebc0bfbf91a17 WHIRLPOOL 6350a8867aa7f14c0ea70c71c099d8880fc3494152a9bb708a608dd969cb526e1ce015a197a5bc9f27604ad4da7ed035ca9a80381e2c9bfda932ac42c49585dd
 DIST git-htmldocs-2.9.3.tar.xz 1055980 SHA256 abfa0e160c062a36956beaa5e8bf4d6e2db93f235c892f94681bd6f1feb71865 SHA512 4ce1c00767d485ca4ebec9ea5a3d001d4395eb44c2c82caec36b18dd1df26cbbd5d458d9c2b83b54d572d830eb0bccf2916f28863a96384cd3d6fcb741f1b97f WHIRLPOOL b3c16dd25da7309c4c8302008eda147e113e025081dfa447c6de629ae68fe5369e391c402fe3cdbfba2187040559609082edae5469238af68a1e17bd805acddf
+DIST git-manpages-2.10.0.tar.xz 394924 SHA256 3e17997d10ba18f4ad4dcddf58f7175ee78da1514b5afca3a6f198d957d822f9 SHA512 76529a4e14d92f3e80072af38335d7304a57ae42367bd99dc807231538ea67cef242546025176b3174e5b6a5e29a0da6fd598e6ec0f1c35a52b44ef0f296045e WHIRLPOOL 1da8c6fbfa801e280c0d7cb45055ed8a41619d102155d503565a9ed75249cfb18274f94c26e0992433a01b37d6e77873ab006b7ca4727401e89b2dca3f2831b0
 DIST git-manpages-2.4.11.tar.xz 373956 SHA256 0a1fff7650e635339f92985a47198f5f6664eda1c233c3cf48e92f22c3735db2 SHA512 78226baf1c8be28c456a84b06f403af9b918cd3e46218917cce18b3b9ce494600bf00014b818ca0dff9f675aca8b17cd9f7893c7063e218d719a9567e81d9040 WHIRLPOOL f8883ca7d327c378937f62287cbb515b5271cb8aeda18d32135f1c7ea71c9f39282fe55b191476f046de4815a994e4f6f98696d9353f0bfcca7994101398786c
 DIST git-manpages-2.5.5.tar.xz 378304 SHA256 41b66002436add0781618764c3f0c8222bac7d8a636f1d7e2994480b22369930 SHA512 bebcc04fa54080316d01f1bd1ba7b91a1712e6c6a6f95306d9f079cf5858cf0fb2ccea24c606153e9adb99e956c5dbae5a5c7a7a0ed8c643efdf5a5db599cda1 WHIRLPOOL e72873d3f1a404a311e643d89cf65996d884e794e468417272cdda494ef621f0ebf875faa17433e443fcece54608c59a3c094372101bf4342fadcf8395dabce8
 DIST git-manpages-2.6.6.tar.xz 381588 SHA256 0f64c1db015e3c74e56eef646a9fdd456cf043cae54714f404ad9b35ddb537a0 SHA512 bd8573f58bd988f78978041b88643e6d0af99ae0df4be6ec80db7de6e042970a23d9a153e84ddb8ffc538724b1482ff6dac7594462e28073067f54d040fdddfd WHIRLPOOL 3e8af6df1b96e3211c5799ace846dab331f30c1133c1d093e344b4576d8f588631e29187909b600112a9f7b42a0de63f56cec953e0d162cc49c2b6efeef0db53

diff --git a/dev-vcs/git/files/git-2.10.0-optional-cvs.patch b/dev-vcs/git/files/git-2.10.0-optional-cvs.patch
new file mode 100644
index 00000000..d14aeff
--- /dev/null
+++ b/dev-vcs/git/files/git-2.10.0-optional-cvs.patch
@@ -0,0 +1,456 @@
+From ef6d24be825b2d1d9666c1fc64ce5351d572b3f4 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Sat, 3 Sep 2016 21:02:10 +0200
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile                           | 51 ++++++++++++++++++++++++++++----------
+ t/t9200-git-cvsexportcommit.sh     |  5 ++++
+ t/t9400-git-cvsserver-server.sh    |  8 +++++-
+ t/t9401-git-cvsserver-crlf.sh      | 15 +++++++----
+ t/t9600-cvsimport.sh               | 41 +++++++++++++++++++-----------
+ t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
+ t/t9603-cvsimport-patchsets.sh     | 11 ++++++++
+ t/test-lib.sh                      |  1 +
+ 9 files changed, 120 insertions(+), 34 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index d96ecb7..ced6b12 100644
+--- a/Makefile
++++ b/Makefile
+@@ -267,6 +267,8 @@ all::
+ # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+ # and egrep that are pickier when their input contains non-ASCII data.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system.  Only used if NO_TCLTK
+ # is not set.  Defaults to the bare 'tclsh'.
+@@ -484,6 +486,7 @@ LIB_OBJS =
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -521,13 +524,14 @@ SCRIPT_LIB += git-sh-i18n
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-difftool.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-relink.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+ 
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+ 
+ NO_INSTALL += git-remote-testgit
+@@ -535,24 +539,26 @@ NO_INSTALL += git-remote-testgit
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+ 
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+ SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
++SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
+ SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
+ 
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+ 
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_INS)
++install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -561,12 +567,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
+ clean-sh-script:
+ 	$(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+-	$(RM) $(SCRIPT_PERL_GEN)
++	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ 	$(RM) $(SCRIPT_PYTHON_GEN)
+ 
+ SCRIPTS = $(SCRIPT_SH_INS) \
+ 	  $(SCRIPT_PERL_INS) \
++	  $(SCRIPT_PERL_CVS_INS) \
+ 	  $(SCRIPT_PYTHON_INS) \
+ 	  git-instaweb
+ 
+@@ -1811,10 +1818,24 @@ git.res: git.rc GIT-VERSION-FILE
+ 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
+ 
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+ 
+ ifndef NO_PERL
+-$(SCRIPT_PERL_GEN): perl/perl.mak
++
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN): perl/perl.mak
+ 
+ perl/perl.mak: perl/PM.stamp
+ 
+@@ -1827,7 +1848,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
+ 	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+ 
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
+-$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
+ 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
+@@ -1861,14 +1882,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+-	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ 	    unimplemented.sh >$@+ && \
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+-endif # NO_PERL
+ 
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2103,7 +2128,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_SH += git-parse-remote.sh
+ LOCALIZED_SH += git-rebase--interactive.sh
+ LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
+ 
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index bb879a5..17be197 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ 	test_done
+ fi
+ 
++if ! test_have_prereq CVS; then
++	skip_all='skipping git cvsexportcommit tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 432c61d..6907b3f 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
+ . ./test-lib.sh
+ 
+ if ! test_have_prereq PERL; then
+-	skip_all='skipping git cvsserver tests, perl not available'
++	skip_all='skipping git-cvsserver tests, perl not available'
+ 	test_done
+ fi
++
++if ! test_have_prereq CVS; then
++	skip_all='skipping git-cvsserver tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index 84787ee..eecba88 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -57,15 +57,20 @@ check_status_options() {
+     return $stat
+ }
+ 
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+-    skip_all='skipping git-cvsserver tests, cvs not found'
++    skip_all='skipping git-cvsserver tests, perl not available'
+     test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+-    skip_all='skipping git-cvsserver tests, perl not available'
++    skip_all='skipping git-cvsserver tests, cvs not available'
++    test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++    skip_all='skipping git-cvsserver tests, cvs not found'
+     test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 4c384ff..d601f32 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -3,14 +3,25 @@
+ test_description='git cvsimport basic tests'
+ . ./lib-cvs.sh
+ 
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ 	CVSROOT=$(pwd)/cvsroot &&
+ 	export CVSROOT
+ '
+ 
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+ 
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+ 
+ 	mkdir "$CVSROOT/module" &&
+ 	$CVS co -d module-cvs module &&
+@@ -42,23 +53,23 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+ 
+ 	git cvsimport -a -R -z 0 -C module-git module &&
+ 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
+ 
+ '
+ 
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+ 
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 	(cd module-cvs &&
+ 	cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -86,7 +97,7 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+ 
+ 	(cd module-git &&
+ 	git config cvsimport.trackRevisions true &&
+@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
+ 
+ '
+ 
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 
+ 	(cd module-cvs &&
+ 		echo 1 >tick &&
+@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
+ 	)
+ '
+ 
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+ 
+ 	(cd module-git &&
+ 		git config cvsimport.module module &&
+@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+ 
+ '
+ 
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+ 
+ 	$CVS co -d import-from-wt module &&
+ 	(cd import-from-wt &&
+@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+ 
+ '
+ 
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+ 
+ 	! test -e import-from-wt/.git/cvs-revisions
+ 
+ '
+ 
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
+ 
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 827d39f..d730a41 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -34,6 +34,17 @@
+ test_description='git cvsimport handling of vendor branches'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9601
+ 
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e1db323..68f0974 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -6,6 +6,17 @@
+ test_description='git cvsimport handling of branches and tags'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9602
+ 
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index c4c3c49..9b2957d 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -14,6 +14,17 @@
+ test_description='git cvsimport testing for correct patchset estimation'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9603
+ 
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index d731d66..fcee67a 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -972,6 +972,7 @@ case $(uname -s) in
+ esac
+ 
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+ test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
+-- 
+2.9.3
+

diff --git a/dev-vcs/git/git-2.10.0.ebuild b/dev-vcs/git/git-2.10.0.ebuild
new file mode 100644
index 00000000..2d9fd8a
--- /dev/null
+++ b/dev-vcs/git/git-2.10.0.ebuild
@@ -0,0 +1,682 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+# See https://git-scm.com/docs/gitworkflows#_graduation
+# In order of stability:
+# 9999-r0: maint
+# 9999-r1: master
+# 9999-r2: next
+# 9999-r3: pu
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+EGIT_BRANCH=pu
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+
+inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER=${MY_PV}
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_GOOG="https://git-core.googlecode.com/files"
+	SRC_URI_KORG="mirror://kernel/software/scm/git"
+	SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	sys-libs/zlib
+	pcre? ( dev-libs/libpcre )
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	emacs? ( virtual/emacs )
+	gnome-keyring? ( gnome-base/libgnome-keyring )"
+
+RDEPEND="${CDEPEND}
+	gpg? ( app-crypt/gnupg )
+	mediawiki? (
+		dev-perl/DateTime-Format-ISO8601
+		dev-perl/HTML-Tree
+		dev-perl/MediaWiki-API
+	)
+	perl? ( dev-perl/Error
+			dev-perl/Net-SMTP-SSL
+			dev-perl/Authen-SASL
+			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
+			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
+			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
+			)
+	python? ( gtk?
+	(
+		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
+		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
+	)
+		${PYTHON_DEPS} )"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		sys-apps/texinfo
+		app-text/xmlto
+	)
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	DEPEND="${DEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE=50${PN}-gentoo.el
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	subversion? ( perl )
+	webdav? ( curl )
+	gtk? ( python )
+	python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.10.0-optional-cvs.patch
+
+	# install mediawiki perl modules also in vendor_dir
+	# hack, needs better upstream solution
+	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]"; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+	if use python ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local myopts
+
+	if use blksha1 ; then
+		myopts+=" BLK_SHA1=YesPlease"
+	elif use ppcsha1 ; then
+		myopts+=" PPC_SHA1=YesPlease"
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=" NO_EXPAT=YesPlease"
+	else
+		myopts+=" NO_CURL=YesPlease"
+	fi
+
+	# broken assumptions, because of broken build system ...
+	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
+	myopts+=" INSTALL=install TAR=tar"
+	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
+	myopts+=" SANE_TOOL_PATH="
+	myopts+=" OLD_ICONV="
+	myopts+=" NO_EXTERNAL_GREP="
+
+	# For svn-fe
+	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
+
+	use iconv \
+		|| myopts+=" NO_ICONV=YesPlease"
+	use nls \
+		|| myopts+=" NO_GETTEXT=YesPlease"
+	use tk \
+		|| myopts+=" NO_TCLTK=YesPlease"
+	use pcre \
+		&& myopts+=" USE_LIBPCRE=yes" \
+		&& extlibs+=" -lpcre"
+	use perl \
+		&& myopts+=" INSTALLDIRS=vendor" \
+		|| myopts+=" NO_PERL=YesPlease"
+	use python \
+		|| myopts+=" NO_PYTHON=YesPlease"
+	use subversion \
+		|| myopts+=" NO_SVN_TESTS=YesPlease"
+	use threads \
+		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
+		|| myopts+=" NO_PTHREADS=YesPlease"
+	use cvs \
+		|| myopts+=" NO_CVS=YesPlease"
+# Disabled until ~m68k-mint can be keyworded again
+#	if [[ ${CHOST} == *-mint* ]] ; then
+#		myopts+=" NO_MMAP=YesPlease"
+#		myopts+=" NO_IPV6=YesPlease"
+#		myopts+=" NO_STRLCPY=YesPlease"
+#		myopts+=" NO_MEMMEM=YesPlease"
+#		myopts+=" NO_MKDTEMP=YesPlease"
+#		myopts+=" NO_MKSTEMPS=YesPlease"
+#	fi
+	if [[ ${CHOST} == ia64-*-hpux* ]]; then
+		myopts+=" NO_NSEC=YesPlease"
+	fi
+	if [[ ${CHOST} == *-*-aix* ]]; then
+		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=" NEEDS_LIBICONV=YesPlease"
+		myopts+=" HAVE_CLOCK_MONOTONIC=1"
+		myopts+=" HAVE_GETDELIM=1"
+	fi
+
+	has_version '>=app-text/asciidoc-8.0' \
+		&& myopts+=" ASCIIDOC8=YesPlease"
+	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
+
+	# Bug 290465:
+	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+	[[ "${CHOST}" == *-uclibc* ]] && \
+		myopts+=" NO_NSEC=YesPlease"
+
+	export MY_MAKEOPTS="${myopts}"
+	export EXTLIBS="${extlibs}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]]; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		cd "${S}"
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		use doc && \
+			cd "${S}"/Documentation && \
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		cd "${S}"
+	else
+		git-r3_src_unpack
+		cd "${S}"
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile contrib/svn-fe/Makefile || die "sed failed"
+
+	# Never install the private copy of Error.pm (bug #296310)
+	sed -i \
+		-e '/private-Error.pm/s,^,#,' \
+		perl/Makefile.PL
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die "sed failed"
+
+	# Fix git-subtree missing DESTDIR
+	sed -i \
+		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
+		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
+		contrib/subtree/Makefile
+}
+
+git_emake() {
+	# bug #326625: PERL_PATH, PERL_MM_OPT
+	# bug #320647: PYTHON_PATH
+	PYTHON_PATH=""
+	use python && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		DESTDIR="${D}" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		OPTCC="$(tc-getCC)" \
+		OPTAR="$(tc-getAR)" \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		sysconfdir="${EPREFIX}"/etc \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		PERL_MM_OPT="" \
+		GIT_TEST_OPTS="--no-color" \
+		V=1 \
+		"$@"
+	# This is the fix for bug #326625, but it also causes breakage, see bug
+	# #352693.
+	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	if use perl ; then
+	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
+	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
+	fi
+	git_emake || die "emake failed"
+
+	if use emacs ; then
+		elisp-compile contrib/emacs/git{,-blame}.el
+	fi
+
+	if use perl && use cgi ; then
+		git_emake \
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		cd "${S}"/contrib/credential/osxkeychain || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+	fi
+
+	cd "${S}"/Documentation
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man \
+			|| die "emake man failed"
+		if use doc ; then
+			git_emake info html \
+				|| die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info \
+				|| die "emake info html failed"
+		fi
+	fi
+
+	if use subversion ; then
+		cd "${S}"/contrib/svn-fe
+		# by defining EXTLIBS we override the detection for libintl and
+		# libiconv, bug #516168
+		local nlsiconv=
+		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
+		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
+		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
+		if use doc ; then
+			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
+		fi
+		cd "${S}"
+	fi
+
+	if use gnome-keyring ; then
+		cd "${S}"/contrib/credential/gnome-keyring
+		git_emake || die "emake git-credential-gnome-keyring failed"
+	fi
+
+	cd "${S}"/contrib/subtree
+	git_emake
+	use doc && git_emake doc
+
+	if use mediawiki ; then
+		cd "${S}"/contrib/mw-to-git
+		git_emake
+	fi
+}
+
+src_install() {
+	git_emake \
+		install || \
+		die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	if use emacs ; then
+		elisp-install ${PN} contrib/emacs/git.{el,elc}
+		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+		# don't add automatically to the load-path, so the sitefile
+		# can do a conditional loading
+		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
+		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+	fi
+
+	if use python && use gtk ; then
+		python_doscript "${S}"/contrib/gitview/gitview
+		dodoc "${S}"/contrib/gitview/gitview.txt
+	fi
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	cd "${S}"/contrib/subtree
+	git_emake install || die "Failed to emake install git-subtree"
+	if use doc ; then
+		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	cd "${S}"
+
+	if use mediawiki ; then
+		cd "${S}"/contrib/mw-to-git
+		git_emake install
+		cd "${S}"
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		cd "${S}"/contrib/credential/gnome-keyring
+		dobin git-credential-gnome-keyring
+	fi
+
+	if use subversion ; then
+		cd "${S}"/contrib/svn-fe
+		dobin svn-fe
+		dodoc svn-fe.txt
+		if use doc ; then
+			doman svn-fe.1
+			docinto html
+			dodoc svn-fe.html
+		fi
+		cd "${S}"
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# credential/gnome-keyring TODO
+	# diff-highlight - done above
+	# emacs - installed above
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	for i in \
+		buildsystems convert-objects fast-import \
+		hg-to-git hooks remotes2config.sh rerere-train.sh \
+		stats workdir \
+		; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		find "${ED}"/usr/lib64/perl5/ \
+			-name .packlist \
+			-exec rm \{\} \;
+	else
+		rm -rf "${ED}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED}"/usr/libexec/git-core/git-svn \
+			"${ED}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if use !prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+			rm -r "${ED}/usr/share/locale/${1}" || die
+		fi
+	}
+	l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+	local disabled=""
+	local tests_cvs="t9200-git-cvsexportcommit.sh \
+					t9400-git-cvsserver-server.sh \
+					t9401-git-cvsserver-crlf.sh \
+					t9402-git-cvsserver-refs.sh \
+					t9600-cvsimport.sh \
+					t9601-cvsimport-vendor-branch.sh \
+					t9602-cvsimport-branches-tags.sh \
+					t9603-cvsimport-patchsets.sh \
+					t9604-cvsimport-timestamps.sh"
+	local tests_perl="t3701-add-interactive.sh \
+					t5502-quickfetch.sh \
+					t5512-ls-remote.sh \
+					t5520-pull.sh \
+					t7106-reset-unborn-branch.sh \
+					t7501-commit.sh"
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot="t0001-init.sh \
+		t0004-unwritable.sh \
+		t0070-fundamental.sh \
+		t1004-read-tree-m-u-wf.sh \
+		t3700-add.sh \
+		t7300-clean.sh"
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn="t9100-git-svn-basic.sh"
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled="${disabled} t5000-tar-tree.sh"
+	fi
+
+	cvs=0
+	use cvs && let cvs=$cvs+1
+	if [[ ${EUID} -eq 0 ]]; then
+		if [[ $cvs -eq 1 ]]; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled="${disabled} ${tests_cvs}"
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled="${disabled} ${tests_nonroot}"
+	else
+		[[ $cvs -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=$cvs+1
+		[[ $cvs -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=$cvs+1
+		if [[ $cvs -lt 3 ]]; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled="${disabled} ${tests_cvs}"
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled="${disabled} ${tests_perl}"
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled="${disabled} ${test_svn}"
+
+	# Reset all previously disabled tests
+	cd "${S}/t"
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled} ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
+		-i "${S}"/t/Makefile
+
+	# Clean old results first, must always run
+	cd "${S}/t"
+	nonfatal git_emake clean
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	cd "${S}"
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	cd "${S}/t"
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
+	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	einfo "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2017-03-21  9:29 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2017-03-21  9:29 UTC (permalink / raw
  To: gentoo-commits

commit:     2616406d9de58991fe448546e15783e1a385e9ca
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 21 09:28:54 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Mar 21 09:29:24 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2616406d

dev-vcs/git: Removed old.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 dev-vcs/git/Manifest                           |  19 -
 dev-vcs/git/files/git-2.2.2-optional-cvs.patch | 454 -----------------
 dev-vcs/git/files/git-2.8.4-optional-cvs.patch | 455 -----------------
 dev-vcs/git/files/git-daemon_at.service        |  13 -
 dev-vcs/git/git-2.10.1.ebuild                  | 679 ------------------------
 dev-vcs/git/git-2.11.0.ebuild                  | 680 -------------------------
 dev-vcs/git/git-2.7.3-r1.ebuild                | 661 ------------------------
 dev-vcs/git/git-2.7.4.ebuild                   | 667 ------------------------
 dev-vcs/git/git-2.8.4.ebuild                   | 677 ------------------------
 dev-vcs/git/git-2.9.3.ebuild                   | 677 ------------------------
 10 files changed, 4982 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 49f965154c0..b473e615a89 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,31 +1,12 @@
-DIST git-2.10.1.tar.xz 4102452 SHA256 a9c32df9061cfc2c194ecaa0357ba273c1f24a0dbf0d856b03dcedafcd0a4dc6 SHA512 976c62b530405388f77b01abb9dd40929831e0fdb83574c5c56ea309af462805659a20685221cf011db67635cebfe550853d1ba3764118bb53df41cf480f216a WHIRLPOOL e4c077c09ffdbe960450f48cf089836f12fe64e3b919a5e744a8644511d958f08f77f5066c189a9616e649fb20d05104dcd3fd0b345f3eff6c3f860945231bf6
 DIST git-2.10.2.tar.xz 4106108 SHA256 94802903dd707d85ca3b9a2be35e936a54ce86375f52c6a789efe7ce7e238671 SHA512 0ab09de481dbb31c3304382afaa5d3fc9f861115c9954c65b11a8a1c34b939118c7ed3ff60ac329145888596388e3e4d2b2fb677fe109d33a57206d531b5ee6a WHIRLPOOL 808404fa13f908d149028f64aaf5b73400448fff6393dabfaa874d750065e86ff5dae4903724cbca4e59fb74b3ff30b8b8f0a0f1435a0a90c18267c7a0550de6
-DIST git-2.11.0.tar.xz 4197984 SHA256 7e7e8d69d494892373b87007674be5820a4bc1ef596a0117d03ea3169119fd0b SHA512 f9588dfcb4ae38adc46300b8ef65ee51343fc4685f9e43bffff10839a492e6a54c7f7a774687fef3ebb8a30108775aa472cda2378aa202905f8555bfb9d4ede2 WHIRLPOOL 73ce3c2cb083906b1e55245935a01b27881be48d2c4c3cace8353a4c2baf87fe3ce338553f66407cb629fa9c8c63d396ef09f4d6aa18803d487af4dd3fef8f10
 DIST git-2.11.1.tar.xz 4208132 SHA256 c0a779cae325d48a1d5ba08b6ee1febcc31d0657a6da01fd1dec1c6e10976415 SHA512 c9d4196ad9c4f656b5a25fe688c06248bfce4fadac38e9bc835e5e9063ab95e3d4b3db4174acea0b3b64c5455adc93d39870f2b6009d2dd6aa0edb5a5f5bda40 WHIRLPOOL c91d7d096348cacd5a691d12406acb98d7fd703ac06e4d4fc31d85eead29c87860a96d43df06c1e3610837b4eb34adccb5b7b259531e064d495347fd2b14914e
 DIST git-2.12.0.tar.xz 4269944 SHA256 1821766479062d052cc1897d0ded95212e81e5c7f1039786bc4aec2225a32027 SHA512 8696de600f6800748096de9ccb54a0ba59a9128617fc6c9a5bc48857798a775209b99ad484aef777d5d6b5c3ac172e5e5071740d073e0ac8d52c54561a9bed0b WHIRLPOOL 58b31af59bd63ee0bed3c65815822eb86cee515d5ca34ee83e7d4096b2b199259933c8051abc27bd978cbc7c3d669503bc6b491a82dd696ee7d8b567b003755a
 DIST git-2.12.1.tar.xz 4271828 SHA256 db11674364b764e101966d829a2e271c9b9d2a8bd4d8ecb4221a1dcdc9a3ada2 SHA512 4f7203782f018e74c7ff273bb4290887524d67f34e794b26ef8f2d4cb98e57d6c95e29e2da7dd92a626228aad3d02befed9a0b5c9f97f43fe1ba52dad6ff5adb WHIRLPOOL be2d67d925c05bb50b610b4e5eed24b317e95400d0ed3d0c362116da2a2e5c768b7973d66e57cab6cd1e96da00a4f6e526d0d71dcc1b03e7c7195da7ae53c58e
-DIST git-2.7.3-00-9831e92bfa833ee9c0ce464bbc2f941ae6c2698d-lose-name-path.patch 28198 SHA256 b6bf7d67b9cc4d34550a10933af63b665b136b869dbbe23ad3ece0d463f027f9 SHA512 3fd64b0d6b53d5b08b791195e6edc162db682fc8a1bafc04aab7a7a4e61e2db4b3b84d9f769e0d7756da2739bdd900e30a233c228706c39817e42e309c36684c WHIRLPOOL 7e1d9337d46222ea4ae2164429a6a220adb0f763bdde6722c0f2adf79789e092f5cfb74b932597b8d3971af4fc27dede1fea51b9cb72b44ec8e30bd78bdaaa8d
-DIST git-2.7.3.tar.xz 3909636 SHA256 89c467912d4740da2b40288f956251f0a1e276e28eecd28a6d776067103629b6 SHA512 f7acbf52d12f39d323bd90a82c7135aa2aacf2661f7087c71b41dbfbec688342e0a2fc061fc0f216848a538a0dbc4fce68e24ea2a26e747f5eb92f763fa5bc72 WHIRLPOOL 5cc261749f91c2e0b0509d2fac1bc7426b3ddcc37e859d4f524838e1dd471071ad430886751933bae57aafc20bdcf3f9a43f4c018cc9c89610134a5203b22447
-DIST git-2.7.4.tar.xz 3909636 SHA256 dee574defbe05ec7356a0842ddbda51315926f2fa7e39c2539f2c3dcc52e457b SHA512 82a646140834e909bf1748a017e86f37f0711c759fe0a6ad03529beb57c79742cb7bf77c2dba29ccd84fcf3d5f18ad9c85c00f002d3b257be42e058750423da7 WHIRLPOOL 74532038b6ba95a5354f43ebad00a9c159c495d46e7dc1b8a2a59f5a86e149538190d9800144a719dcc00e28cfea1039cd5dbfb67fd5aac5e7d0998d3231bae3
-DIST git-2.8.4.tar.xz 3982836 SHA256 120e9a32a1858871dea34165622ec7a63f27887b93093c8d72a18bcf89fe1657 SHA512 92c3b4437d1160cc23612b4df62646b80a1245d4ed482c3543ba19511f754a34d0185d5dd5d16f2a42bc3097bebc47ece0670c45a1c53ca38cbfbff7d43de87b WHIRLPOOL 8be86b1cba51ef549d56014c090dd5844019c2c5ccf15865dce86ed7f28f5628621450d784f23ba03f79282bc87e5a8ee0fad161a157785cf6c5716f8aa1e767
-DIST git-2.9.3.tar.xz 4025288 SHA256 9f1473350c1792310b51af03a9cb5cce841f68202f835b20d46312a30232fa63 SHA512 7152d075b705c92c813e977558b1a6d8d1c9e6ac01b41ee052bcd40c056f08c6fdb030ef0995822c6d22ce44b739935d89026aeae35f8b93fb569773c4b005bb WHIRLPOOL 0117dad19c4a74dcc7a7963dd2ffa60f5a1e10890e4f233b1c92cce87c07e3da270a65464ed152fc20ffbea34f074342a9153f7a328cae2d850b763b3a196c3e
-DIST git-htmldocs-2.10.1.tar.xz 1067144 SHA256 40f9ce980f91c0391438e5d04a1bb11b128c6b6bf272eac44d6fca80f2dacfcb SHA512 530c0b76263cfc4f4147fb6b8b485494f1c1bafd5e92bd5c5e16de914ab5f13eb0c358f4b36aba8471d70ffb087925598ea39116c254564c86f8c10061c3dd90 WHIRLPOOL 7d10f8e46419e38f31bdd9eef4a9aa5f8773b7f50394ba7ea8fb03fd5a224401a8abd781d2f4b41b6768331fb68177059d773ba326d624d376049dfb211036dc
 DIST git-htmldocs-2.10.2.tar.xz 1068436 SHA256 dd43111c3518a92a7fe64ac5cd32a5d4d77d49c67f7d89dce3e8293bc3d6b491 SHA512 8ef57218d7eef285ac427414d92bd5e8eba5c85c2a2a9ec0e423705ee2cb6f26dd33ad780d1b4237e7534dbe5cc3b4d8eea5780d0acc49066d78fc1893df2525 WHIRLPOOL 160fe3446d959d0f2315c9b2be182925619a4d89343602038e92283abdb393805eb5252799c502b83641d9e23a157332033baaa1ef2f1d9401cbbf372d8e86d7
-DIST git-htmldocs-2.11.0.tar.xz 1080584 SHA256 3975399f1be3d959edf0fded03eab8fbf94787bfd0318b7644c77cf61e4a7b48 SHA512 50250028030b1b277c17f27bc8bc0aa35938e7ae690d59bfff0a2d1f91c60564b254ce5b242f9ca081bfae60a9fb70cef538586abc0878bab6105e904748ee63 WHIRLPOOL 0839629b8f2fa08e22b69fe3638d67ae08d78dceaa008d8f35932ff361a1c1d8dbcd1262d4e469b5cd511a5dfb1848061d8e3491051188d0f90a6f0f98fa8003
 DIST git-htmldocs-2.11.1.tar.xz 1083264 SHA256 1a5f1e4a5eadad89b0783efa08bb1f7e3802d4a4d0a135bf5f61fd672ea3846e SHA512 dee37cfa0870f7289c66c3c58bb86d01324bfd30f4d4a05dedebef98ddb38339c7937bb2caee0e1d35ef579de414e5f280d5fd9f48fb427f497fe2f7d62f7d2a WHIRLPOOL 0ec4856405dbbc89547ab6d7236a787516fb7b8a8d2a3ff190b310c6b83cccfd080a5e9bac0523c99b34849b14a0eb96ffc16348643f65b38ebcdc3c8d8cd17e
 DIST git-htmldocs-2.12.0.tar.xz 1091612 SHA256 bd548faa2c9e63403e528ce4f4e87561e78949a0349a9e2a27e0d6e581d3a8bd SHA512 818e9ea13195aaa61768b5f3257591a178b4bc4eb25cf9b426b2b2ce6a1b97956eef5f1d4a99fbd5b730f7cf813d29b0a8a019793b9ff1383b607179eaf3089f WHIRLPOOL d49d17177477e9e4fb3e5e4f4526dec86903b150626f67cc50e25c86870b7d7fec91cc9b61d5e2def0fbb26d9b39f129363eb2d9fc48bc9659dc5d65c315cce7
 DIST git-htmldocs-2.12.1.tar.xz 1091792 SHA256 10598f2f2693e066b58e8d269c3d682595a99340f29e8e7a66dda5e226fd181e SHA512 76c830360692cff09b36da2ac81572cd660a84f06f3b12360022a268bbd88c48c0f4d29b6b097b6b7459548012d419f53418dfd0cbebc0c7b23db78dc135d208 WHIRLPOOL 967bb04ea942cc94206403aad4e98ea092bfc215a70f435ea0cc3b78cea9c9c178f5b509976f861c1b7f2ef69414e376e98b82b45e73fc136861412494324134
-DIST git-htmldocs-2.7.3.tar.xz 1031848 SHA256 f71f5e8e1a6103e83ea794f367bc419a1d14ba0f79ebacdc81b3b9430714adea SHA512 50de5d9d3c0f6d874a6a4bc3b247a1795b1bcf154a276b546f88c3b5f5fb2eb27212d207a4bb50c04cba36d8537853afd25816addfb87c9a50e18528d93586fe WHIRLPOOL 057d9bebfe51c29a0a7f689baa9873cb6a54feb1d2869c541396902b160379c9220c5de79a4cb59c6e804e5c7557c0fd141b89621b97d3b495dc6e0a77c67a9f
-DIST git-htmldocs-2.7.4.tar.xz 1032428 SHA256 3fae21e2e68104621ea1405be73192b46bf3ef29bbc248a81b1e7e6fcf5acfad SHA512 f05b7b8a4dd4abe23f7e51982e9c33026aa31610ac8640028aeae6b310b70b764aee9a81fa702ed0712ccf1b7ad897e06163eb5c5246c14f6cce7c5f4e462682 WHIRLPOOL 87fc486d182a4b72fd906105fefcc53b722c4ae6832b290cd6f759ac1eca7ebfbbe7c0e72c1d7b5ef3581d19d7576f1d0387d6e5b0a33d960d57f59ee61a7869
-DIST git-htmldocs-2.8.4.tar.xz 1042260 SHA256 78135be591e3a68d1030a76e343d59622e5e40f6990667f4385a01d9dafe9bbd SHA512 5da40db4421f94a969b83bfa0ea6e5ccf3fce8c2085ea2271a2eb3e1b4fc496c36ae8790207cd1814ff747b7633bb27fd53bb9c012f866ea1e7f1cc8065379dd WHIRLPOOL 4f80041ad4ef8b178a6b91313680433a7e07b0ecb15354304436d70880063b2f9cdd875fcd95684a817272d05a57485e1863e9e06c3788eddf0e5f031279ea9a
-DIST git-htmldocs-2.9.3.tar.xz 1055980 SHA256 abfa0e160c062a36956beaa5e8bf4d6e2db93f235c892f94681bd6f1feb71865 SHA512 4ce1c00767d485ca4ebec9ea5a3d001d4395eb44c2c82caec36b18dd1df26cbbd5d458d9c2b83b54d572d830eb0bccf2916f28863a96384cd3d6fcb741f1b97f WHIRLPOOL b3c16dd25da7309c4c8302008eda147e113e025081dfa447c6de629ae68fe5369e391c402fe3cdbfba2187040559609082edae5469238af68a1e17bd805acddf
-DIST git-manpages-2.10.1.tar.xz 395560 SHA256 89ff7aae275252d6b01cac6479e10e1be2e0208181ff14decf200606b5223611 SHA512 648c8f1705137459728d24610888bbcadd31bcd082984e9eddc045011852b1d696204f2d69b0d441989e44e78d6b73c240164f0f0e3d8fb451e30376094ef845 WHIRLPOOL 8fdea82f3c79206f5c10544641b623cabf340780c4ed29c8d60f74ecf17e30f31108bd5d1aed0e66556b071a640748a6904df166a7a61934d2649311d7e68679
 DIST git-manpages-2.10.2.tar.xz 395556 SHA256 83b0a317f6039ad95ef6af6a182cf659c2d053eed5d8f70b06710eb787f8aa6f SHA512 0dc5df8441601865511983b85762102396cbf7c704fd831eb6666ef7b7639252b971f6b4080b8a57226a86124edcdd77acf24374da22047bd315769a09109bef WHIRLPOOL e1d6b9cb4479b584c16a25a4f3b0528d96d483307e768efea3d7bd8156d74e1c59b61a641dfe5671f4cb01a02f10322262d133cb76f85194ac97ee74c6195d0e
-DIST git-manpages-2.11.0.tar.xz 399992 SHA256 b3d3e78829c0b69b727aaca407ecfe239a46db3f354f16189f7a7c10af9528d8 SHA512 5b72b2dd7e151bde0fdc5ca5044391ebd9943ee8313133fdea1e0cb13b90ddd9164ee46f9c49ca2a70f636da7bcb54651a6389ed1c0a8693cf8eb31bfea49079 WHIRLPOOL 93fd5b6819ab0942421368d9c0e4723d6f5d2650e94ad8cab225499bb616f162e754a5e08a8f7f0ec74e378069cec0109047c72b67fa9d5c2d244399127b942a
 DIST git-manpages-2.11.1.tar.xz 400812 SHA256 69486ed339ee0591001ae83d43c888aa26351b9680b6ceb59e06b593051bca31 SHA512 ffa197ed163031f14882f85124399a7de3b1cadee089cb3d85a6b936215b23243102fd99fdf877f0a8b9d660711e994022cce8893ae27c0295a12dceb41c7f6b WHIRLPOOL 072416db28149c4531f05183ad515bc030611d68c1e7975dcf3f173aeedfb96607262ed120fcf8bea74a1c95b18ec98580cc2ae5e825b8f359e9b24021de7218
 DIST git-manpages-2.12.0.tar.xz 403112 SHA256 8b8356f8d50eff6499c5d05e87c106a7b1b48bd16de1742fa022631909804773 SHA512 07e7e85bc165b8c128d9a0192f3a75b36346dd45e0f2d17604e0df83dece79f300141d8c798059a15da441f62cb535d3e2da7c15a975c34d3557542e6f608298 WHIRLPOOL cc66c9a62ef682b8d249061697287cacb0a96f89eca87c8053f78c5616d436a0ecfd2f2e2ab5daad282e1b0c27ce36c097b7681cfe2458bd22684a4d15e6a0f5
 DIST git-manpages-2.12.1.tar.xz 402644 SHA256 fbf5c34dde4385b04a0266444cda6834a97e6a589fc0a510c220da87f3d2a0ce SHA512 d06ad96aa368d2dadf9aeafaa50cefcf8015dcfb2aa0f356c5d70233470aee6aa1e831427e4a05ec8b1646ec8e1b9940d5f70cc331caecbda67e4811c79e1e94 WHIRLPOOL af2600e4157569c4a103a93811d6c7b320063f0d946620849ca55a2ce6f85447add6d065cee234afe9143f8612c3d593c7547a311795e2977054848af2136126
-DIST git-manpages-2.7.3.tar.xz 384544 SHA256 9f088427c61a9e0a840007c7f50fc6f7caba36ac8c403460c49210983090496d SHA512 883441df049bfaf0f22cf9d17041125dc9c8f0e7d94efa7a4188a68c2242d1b4c3d34fd3bd3ecdd2af905ee2f8fb5fefd0ce6328dd76c665f7ec20e3b9c87d1b WHIRLPOOL 7ee013444665366ecb8f3df507a3c5af8a9f48d3185783a94db827b192c32ac6998157eb42bcbfe397f96d452451b2416c32e2dffbabc71062422e7c5e25c184
-DIST git-manpages-2.7.4.tar.xz 384460 SHA256 d04fd81ab8aa32efbe54acd27ab5c88ef4ab615313e4cdfa793dd0065899ce25 SHA512 1af6f0d9fc3945a5a215092caabd0963f3eaa35c5f3b0270861b625bf7bd88e4fdea9b3e50ce1b10c79a12ee2b06b203fab4aa9d566560535c1decf7b2d987cd WHIRLPOOL 38306b6e198336dd3c75a9fd032b636e0e43a3b75eba2746d2d42c3752cf7405b1f8572199748509974d68bfc77c74fbea52626884f9b509d8b593cefce4aad5
-DIST git-manpages-2.8.4.tar.xz 387168 SHA256 d2ddfc302e5b3c0ad182916b27c28d95bc667ea8b9db8dc099bf3d8d62b8b7f5 SHA512 d4ffca6ad8ff0b6bfab984eb06ad5c6c0cf73cfb4beaff4e924b2bd117a4a369e928faa2ca09f11903ebc52249ad24e2b68e7b571965a2ef48f5731ad94b9bef WHIRLPOOL a22d7ad38ccfb399325e321cecc7255fdf4ca05f14e92acfe94e74b816199d2e057a559f6e3eede2df768d762457eb2a43f1e9c76e8b6e76c7498dc9547dcf25
-DIST git-manpages-2.9.3.tar.xz 392648 SHA256 14e0e84af19b8d6b4f0b006b6e33486a0c40bca01e604e77f004efe564d54b4d SHA512 bc6ea4f517be4ff76b8f4b420173c9ba826095be3f6313e0dd2041198ee5b5af7ad07c10b9727aca992c7c4353272826408c42c5e7aeb6e75c6691a080eb9a77 WHIRLPOOL 1eb8f19cb7ac6dc6b90bc430b678512387727088933befef254a88704f0aa0057f8cac25fa574d1b7f6fa091401d62c70751a8b0b71e3ea85be619c936243d50

diff --git a/dev-vcs/git/files/git-2.2.2-optional-cvs.patch b/dev-vcs/git/files/git-2.2.2-optional-cvs.patch
deleted file mode 100644
index af815e23948..00000000000
--- a/dev-vcs/git/files/git-2.2.2-optional-cvs.patch
+++ /dev/null
@@ -1,454 +0,0 @@
-From 12b82e03b971da618f19d0194dcf19a77b273766 Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Wed, 21 Jan 2015 20:48:03 +0100
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile                           | 51 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh     |  5 ++++
- t/t9400-git-cvsserver-server.sh    |  8 +++++-
- t/t9401-git-cvsserver-crlf.sh      | 15 +++++++----
- t/t9600-cvsimport.sh               | 41 +++++++++++++++++++-----------
- t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
- t/t9603-cvsimport-patchsets.sh     | 11 ++++++++
- t/test-lib.sh                      |  1 +
- 9 files changed, 120 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 7482a4d..a644c8d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -254,6 +254,8 @@ all::
- #
- # Define NO_TCLTK if you do not want Tcl/Tk GUI.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system.  Only used if NO_TCLTK
- # is not set.  Defaults to the bare 'tclsh'.
-@@ -433,6 +435,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -472,13 +475,14 @@ SCRIPT_LIB += git-sh-i18n
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-difftool.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-relink.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
- 
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
- 
- NO_INSTALL += git-remote-testgit
-@@ -486,24 +490,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
- 
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
- 
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
- 
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -512,12 +518,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- 	$(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
--	$(RM) $(SCRIPT_PERL_GEN)
-+	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- 	$(RM) $(SCRIPT_PYTHON_GEN)
- 
- SCRIPTS = $(SCRIPT_SH_INS) \
- 	  $(SCRIPT_PERL_INS) \
-+	  $(SCRIPT_PERL_CVS_INS) \
- 	  $(SCRIPT_PYTHON_INS) \
- 	  git-instaweb
- 
-@@ -1677,10 +1684,24 @@ git.res: git.rc GIT-VERSION-FILE
- 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
- 
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
- 
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN): perl/perl.mak
-+
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN) 
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN): perl/perl.mak
- 
- perl/perl.mak: perl/PM.stamp
- 
-@@ -1693,7 +1714,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
- 	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
- 
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
- 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -1727,14 +1748,18 @@ git-instaweb: git-instaweb.sh gitweb GIT-SCRIPT-DEFINES
- 	chmod +x $@+ && \
- 	mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
--	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- 	    unimplemented.sh >$@+ && \
- 	chmod +x $@+ && \
- 	mv $@+ $@
--endif # NO_PERL
- 
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -1964,7 +1989,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
- XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
- LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
- LOCALIZED_SH = $(SCRIPT_SH)
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
- 
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index 812c9cd..906532a 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- 	test_done
- fi
- 
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git cvsexportcommit tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 6146c3f..2a675e3 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
- 
- if ! test_have_prereq PERL; then
--	skip_all='skipping git cvsserver tests, perl not available'
-+	skip_all='skipping git-cvsserver tests, perl not available'
- 	test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git-cvsserver tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 5a4ed28..04814cb 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
-     return $stat
- }
- 
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
--    skip_all='skipping git-cvsserver tests, cvs not found'
-+    skip_all='skipping git-cvsserver tests, perl not available'
-     test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
--    skip_all='skipping git-cvsserver tests, perl not available'
-+    skip_all='skipping git-cvsserver tests, cvs not available'
-+    test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+    skip_all='skipping git-cvsserver tests, cvs not found'
-     test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 4c384ff..d601f32 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -3,14 +3,25 @@
- test_description='git cvsimport basic tests'
- . ./lib-cvs.sh
- 
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- 	CVSROOT=$(pwd)/cvsroot &&
- 	export CVSROOT
- '
- 
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
- 
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
- 
- 	mkdir "$CVSROOT/module" &&
- 	$CVS co -d module-cvs module &&
-@@ -42,23 +53,23 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
- 
- 	git cvsimport -a -R -z 0 -C module-git module &&
- 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
- 
- '
- 
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
- 
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 	(cd module-cvs &&
- 	cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -86,7 +97,7 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
- 
- 	(cd module-git &&
- 	git config cvsimport.trackRevisions true &&
-@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
- 
- '
- 
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 
- 	(cd module-cvs &&
- 		echo 1 >tick &&
-@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
- 	)
- '
- 
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
- 
- 	(cd module-git &&
- 		git config cvsimport.module module &&
-@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
- 
- '
- 
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
- 
- 	$CVS co -d import-from-wt module &&
- 	(cd import-from-wt &&
-@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
- 
- '
- 
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
- 
- 	! test -e import-from-wt/.git/cvs-revisions
- 
- '
- 
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
- 
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f..d730a41 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9601
- 
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323..68f0974 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9602
- 
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c49..9b2957d 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9603
- 
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 79e8a33..c7c4b48 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -929,6 +929,7 @@ case $(uname -s) in
- esac
- 
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
- test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
--- 
-2.2.1
-

diff --git a/dev-vcs/git/files/git-2.8.4-optional-cvs.patch b/dev-vcs/git/files/git-2.8.4-optional-cvs.patch
deleted file mode 100644
index 284aedf9f0c..00000000000
--- a/dev-vcs/git/files/git-2.8.4-optional-cvs.patch
+++ /dev/null
@@ -1,455 +0,0 @@
-From 4db842b8215a904e434f0f6265204129d64387b1 Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Tue, 7 Jun 2016 13:52:22 +0200
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile                           | 51 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh     |  5 ++++
- t/t9400-git-cvsserver-server.sh    |  8 +++++-
- t/t9401-git-cvsserver-crlf.sh      | 15 +++++++----
- t/t9600-cvsimport.sh               | 41 +++++++++++++++++++-----------
- t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
- t/t9603-cvsimport-patchsets.sh     | 11 ++++++++
- t/test-lib.sh                      |  1 +
- 9 files changed, 120 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index de5a030..16ab4cd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -267,6 +267,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system.  Only used if NO_TCLTK
- # is not set.  Defaults to the bare 'tclsh'.
-@@ -473,6 +475,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -510,13 +513,14 @@ SCRIPT_LIB += git-sh-i18n
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-difftool.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-relink.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
- 
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
- 
- NO_INSTALL += git-remote-testgit
-@@ -524,24 +528,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
- 
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
- 
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
- 
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -550,12 +556,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- 	$(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
--	$(RM) $(SCRIPT_PERL_GEN)
-+	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- 	$(RM) $(SCRIPT_PYTHON_GEN)
- 
- SCRIPTS = $(SCRIPT_SH_INS) \
- 	  $(SCRIPT_PERL_INS) \
-+	  $(SCRIPT_PERL_CVS_INS) \
- 	  $(SCRIPT_PYTHON_INS) \
- 	  git-instaweb
- 
-@@ -1776,10 +1783,24 @@ git.res: git.rc GIT-VERSION-FILE
- 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
- 
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
- 
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN): perl/perl.mak
-+
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN): perl/perl.mak
- 
- perl/perl.mak: perl/PM.stamp
- 
-@@ -1792,7 +1813,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
- 	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
- 
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
- 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -1826,14 +1847,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- 	chmod +x $@+ && \
- 	mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
--	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- 	    unimplemented.sh >$@+ && \
- 	chmod +x $@+ && \
- 	mv $@+ $@
--endif # NO_PERL
- 
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2064,7 +2089,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
- XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
- LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
- LOCALIZED_SH = $(SCRIPT_SH) git-parse-remote.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
- 
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index bb879a5..17be197 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- 	test_done
- fi
- 
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git cvsexportcommit tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 432c61d..6907b3f 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
- 
- if ! test_have_prereq PERL; then
--	skip_all='skipping git cvsserver tests, perl not available'
-+	skip_all='skipping git-cvsserver tests, perl not available'
- 	test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git-cvsserver tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index f324b9f..e1eed50 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
-     return $stat
- }
- 
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
--    skip_all='skipping git-cvsserver tests, cvs not found'
-+    skip_all='skipping git-cvsserver tests, perl not available'
-     test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
--    skip_all='skipping git-cvsserver tests, perl not available'
-+    skip_all='skipping git-cvsserver tests, cvs not available'
-+    test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+    skip_all='skipping git-cvsserver tests, cvs not found'
-     test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 4c384ff..d601f32 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -3,14 +3,25 @@
- test_description='git cvsimport basic tests'
- . ./lib-cvs.sh
- 
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- 	CVSROOT=$(pwd)/cvsroot &&
- 	export CVSROOT
- '
- 
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
- 
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
- 
- 	mkdir "$CVSROOT/module" &&
- 	$CVS co -d module-cvs module &&
-@@ -42,23 +53,23 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
- 
- 	git cvsimport -a -R -z 0 -C module-git module &&
- 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
- 
- '
- 
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
- 
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 	(cd module-cvs &&
- 	cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -86,7 +97,7 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
- 
- 	(cd module-git &&
- 	git config cvsimport.trackRevisions true &&
-@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
- 
- '
- 
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 
- 	(cd module-cvs &&
- 		echo 1 >tick &&
-@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
- 	)
- '
- 
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
- 
- 	(cd module-git &&
- 		git config cvsimport.module module &&
-@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
- 
- '
- 
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
- 
- 	$CVS co -d import-from-wt module &&
- 	(cd import-from-wt &&
-@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
- 
- '
- 
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
- 
- 	! test -e import-from-wt/.git/cvs-revisions
- 
- '
- 
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
- 
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f..d730a41 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9601
- 
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323..68f0974 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9602
- 
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c49..9b2957d 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9603
- 
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 0055ebb..5b9bd2e 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -969,6 +969,7 @@ case $(uname -s) in
- esac
- 
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
- test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
--- 
-2.8.3
-

diff --git a/dev-vcs/git/files/git-daemon_at.service b/dev-vcs/git/files/git-daemon_at.service
deleted file mode 100644
index 2a080d4e7d8..00000000000
--- a/dev-vcs/git/files/git-daemon_at.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Git Repositories Server Daemon
-Documentation=man:git-daemon(1)
-
-[Service]
-User=nobody
-Group=nobody
-EnvironmentFile=/etc/conf.d/git-daemon
-# Ignore non-zero exit status, access error makes git-daemon return them
-ExecStart=-/usr/libexec/git-core/git-daemon --inetd --base-path=/var/git --verbose $GITDAEMON_OPTS
-StandardInput=socket
-StandardOutput=inherit
-StandardError=journal

diff --git a/dev-vcs/git/git-2.10.1.ebuild b/dev-vcs/git/git-2.10.1.ebuild
deleted file mode 100644
index 9373b282043..00000000000
--- a/dev-vcs/git/git-2.10.1.ebuild
+++ /dev/null
@@ -1,679 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-# See https://git-scm.com/docs/gitworkflows#_graduation
-# In order of stability:
-# 9999-r0: maint
-# 9999-r1: master
-# 9999-r2: next
-# 9999-r3: pu
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_BRANCH=maint
-PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.10.0-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-	use elibc_musl \
-		&& myopts+=" NO_REGEX=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.11.0.ebuild b/dev-vcs/git/git-2.11.0.ebuild
deleted file mode 100644
index 3119a297ab5..00000000000
--- a/dev-vcs/git/git-2.11.0.ebuild
+++ /dev/null
@@ -1,680 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-# See https://git-scm.com/docs/gitworkflows#_graduation
-# In order of stability:
-# 9999-r0: maint
-# 9999-r1: master
-# 9999-r2: next
-# 9999-r3: pu
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_BRANCH=maint
-PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.10.0-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-	use elibc_musl \
-		&& myopts+=" NO_REGEX=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.7.3-r1.ebuild b/dev-vcs/git/git-2.7.3-r1.ebuild
deleted file mode 100644
index c7fb34cba06..00000000000
--- a/dev-vcs/git/git-2.7.3-r1.ebuild
+++ /dev/null
@@ -1,661 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-2"
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_MASTER=pu
-
-inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			https://dev.gentoo.org/~robbat2/distfiles/git-2.7.3-00-9831e92bfa833ee9c0ce464bbc2f941ae6c2698d-lose-name-path.patch
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.2.2-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-
-	# http://www.openwall.com/lists/oss-security/2016/03/16/9
-	# 2.7.3 did not actually contain the fix, it only went into master.
-	"${DISTDIR}"/git-2.7.3-00-9831e92bfa833ee9c0ce464bbc2f941ae6c2698d-lose-name-path.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-2_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
-		git_emake || die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-}
-
-src_test() {
-	local disabled="t8005-blame-i18n.sh" #520270
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.7.4.ebuild b/dev-vcs/git/git-2.7.4.ebuild
deleted file mode 100644
index 4c41a189272..00000000000
--- a/dev-vcs/git/git-2.7.4.ebuild
+++ /dev/null
@@ -1,667 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-2"
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_MASTER=pu
-PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.2.2-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-2_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
-		git_emake || die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled="t8005-blame-i18n.sh" #520270
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.8.4.ebuild b/dev-vcs/git/git-2.8.4.ebuild
deleted file mode 100644
index fa65c4b101e..00000000000
--- a/dev-vcs/git/git-2.8.4.ebuild
+++ /dev/null
@@ -1,677 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-# See https://git-scm.com/docs/gitworkflows#_graduation
-# In order of stability:
-# 9999-r0: maint
-# 9999-r1: master
-# 9999-r2: next
-# 9999-r3: pu
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_BRANCH=maint
-PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.8.4-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.9.3.ebuild b/dev-vcs/git/git-2.9.3.ebuild
deleted file mode 100644
index fa65c4b101e..00000000000
--- a/dev-vcs/git/git-2.9.3.ebuild
+++ /dev/null
@@ -1,677 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-# See https://git-scm.com/docs/gitworkflows#_graduation
-# In order of stability:
-# 9999-r0: maint
-# 9999-r1: master
-# 9999-r2: next
-# 9999-r3: pu
-EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-EGIT_BRANCH=maint
-PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="http://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? ( dev-libs/libpcre )
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	gnome-keyring? ( gnome-base/libgnome-keyring )"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( gtk?
-	(
-		>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
-		>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
-	)
-		${PYTHON_DEPS} )"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	gtk? ( python )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.8.4-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of broken build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	use pcre \
-		&& myopts+=" USE_LIBPCRE=yes" \
-		&& extlibs+=" -lpcre"
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #326625: PERL_PATH, PERL_MM_OPT
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-	# This is the fix for bug #326625, but it also causes breakage, see bug
-	# #352693.
-	# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		git_emake || die "emake git-credential-gnome-keyring failed"
-	fi
-
-	cd "${S}"/contrib/subtree
-	git_emake
-	use doc && git_emake doc
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	if use python && use gtk ; then
-		python_doscript "${S}"/contrib/gitview/gitview
-		dodoc "${S}"/contrib/gitview/gitview.txt
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/gnome-keyring
-		dobin git-credential-gnome-keyring
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# credential/gnome-keyring TODO
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	for i in \
-		buildsystems convert-objects fast-import \
-		hg-to-git hooks remotes2config.sh rerere-train.sh \
-		stats workdir \
-		; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		find "${ED}"/usr/lib64/perl5/ \
-			-name .packlist \
-			-exec rm \{\} \;
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled="${disabled} t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled="${disabled} ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled="${disabled} ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled="${disabled} ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled="${disabled} ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
-	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	einfo "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2018-03-23 11:23 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2018-03-23 11:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ca89ea025d5dd3a54ae910a4f9fe0eaf5202fb06
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 23 09:26:58 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Mar 23 11:23:50 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca89ea02

dev-vcs/git: Bump to version 2.17.0_rc1

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-vcs/git/Manifest                               |   3 +
 .../git/files/git-2.17.0_rc1-optional-cvs.patch    | 451 +++++++++++++
 dev-vcs/git/git-2.17.0_rc1.ebuild                  | 711 +++++++++++++++++++++
 3 files changed, 1165 insertions(+)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index da30cf6fc66..ac19aac37a1 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,9 +1,12 @@
 DIST git-2.16.1.tar.xz 4961656 BLAKE2B d94328da5d027cb82f1f23804a12dfc5df1577bf2c28cc376d4bb5c9e34d317886437f7eee2ac4503b8e2639d2e24c35660ab82a50207f500b7ed6fb104d3624 SHA512 09e30ada7bcf41f78f15784908062c10162d58d2fd7a68ad27e42fd49dc37eb0e82c19ad21db31034a189a8cdd009013a29f943e1ae5d5ab5688c913d2a4d42a
 DIST git-2.16.2.tar.xz 4963204 BLAKE2B 346405b765bb542f0e51e539163c18c47dbd2ce1d4ccd98cdc4ddd226ec14a4895f7b82168fdca90e1828813421d24d5436fb01e9e9a57eb98a80984bab13bda SHA512 ff1bf4b94c09de26acf85b97003582002c232e5861a896d8c2d8dc011cb3d4966b1eb0e74ef94f80426d50bb465bf6c9b6edda13b1e4143f0eb38ee01f4890e4
 DIST git-2.16.3.tar.xz 4966248 BLAKE2B cd4d2573afd02a23766c4dd0da8397ac36193f68e18c162fc85d60d7595a50da7707f592ccc3a9f00a22fdcb8a8cada82139fe30f97af193fb367a4e392cbaa8 SHA512 73520cf3500b2d13b77eb1e5ec0d60263aad07732d25631732f0d986abd023f97b8a6db4abff64d342cb053018289b5f7a3e32f10b86bd9092a37ee0585adc8a
+DIST git-2.17.0.rc1.tar.xz 4998084 BLAKE2B 35ddaf63ee4d19bb8023148359791a844261215617e057156066826cf0322500b4485e7864dbe472c3fab553696709ff622f16466b4df874e60e7307f20c0337 SHA512 9ee9f917ff9a8398ae08cc7767be63605f9edc6a86ccdcd1a2238703b170e14a358e27d43d126317461bdb0f4ba9ad67fdcd77fcae69bf1d82f5341ce59d1bf5
 DIST git-htmldocs-2.16.1.tar.xz 1160372 BLAKE2B d426fbc85772e5f04550071dea50a75e6d581fd040e8b37b3b342a8d6569d0dcf456445bab1dec3d84e254e82468c900afff7c6be1ebd6771e7fad5884b92515 SHA512 f2bb8b88ab5aa3d6204874aae583249d5137193c5fe3925df7ae1bcdaec0564b496df9a648c180bebb0c8ff4573f27e330802020d3c9207c2738ddd5c52d99c9
 DIST git-htmldocs-2.16.2.tar.xz 1162556 BLAKE2B 71b71b914b438cb3eee417c5bbcb30faa10b0a154efa378e8e3b5521a4902f26a038ab884ffdac1756d07e3afcaeafe915d6c64f9503ff65f1fa58bbbd7fffde SHA512 adc7a95fc7a7a46c92c8735ad5b89f236905b770fa66682e0234addc2107f46de65724c577c8fc512e13cd8d306fff992ad7c6c495100cb645674604836e0768
 DIST git-htmldocs-2.16.3.tar.xz 1164252 BLAKE2B 43d5b0317d3cb181c24347933b6ee3ce586f7be7e38ae30555bc732b369287f080879ff0408601db125a4104b665956f6bcef3f243496008d3ec1601110b06df SHA512 6271ff7780053347ceba47754db00fa8a0a39ff622c490e273ed286faa6ade3f7d6580fa396c913b4485a942b2ad0cdd898de467fde497de1d850fb6d3debd1e
+DIST git-htmldocs-2.17.0.rc1.tar.xz 1172580 BLAKE2B d2c27d893faafe92ade9aa0d8bd77b4ff336c9ee8b678feed4e8f3323fcf6daea72a62af556a2f3556d5e21d4107f52d4090a5f5477c03bca50c6ef81656eaaf SHA512 56f47203c1240a82c28d9de47d8d1b5a73b11c9529fd2ddeff303c03d828b738423035803ebcccc4c49459d7056d0b8f3924698ac9966f4083687221d11ae4a3
 DIST git-manpages-2.16.1.tar.xz 417188 BLAKE2B 239fb33967d17c8b10efb2e0d1963f7be3404b7f262b49f89b3f4a538135d80268fbe7fe0e561c9cb2d86840eb46b61653ed363d8da27d1169c435d8e1d5e851 SHA512 20c7646b5f1e3c633ce6aae5ee5fcbe4ca1e59fc9253ec9a9e45c7cd8a8ac7a5e71e36258eb747e3bd6d51b3b7971137315dcdbdff493e0f8774ecd3e309735a
 DIST git-manpages-2.16.2.tar.xz 416500 BLAKE2B af9ccf18280c23e54e11cf76f891d5613db8c8f9ef84394266ad9c614ddb2181acab4cbb3998b4d5d01aa7b0d8f8cfbe090e77bb5b0297e4a7ed341a8d1fb3de SHA512 38d560955a025761f256e598f87c6b1122b474cc7bfeeee8fffb48b353ab3d8d969f6cd55da326daa61a4079dfd68f931b2e0eae11d6e8d5549e69de17c7f537
 DIST git-manpages-2.16.3.tar.xz 417152 BLAKE2B 2719a9a603dc49db1a61a2cec42427bdcdc96fab9d21d16c5a8c70d7dba271a1e5b29f4f83f32c525c4866e3497352017af3777a769893c9543e65d625972375 SHA512 b34a3658412a144fed6f818acc05c0b4be2453ae63f9430dcd53cda750f737bd3da50390bd3f4266e69befa521eddd222985fd531acca1ebd4ca62c6c5b2a85c
+DIST git-manpages-2.17.0.rc1.tar.xz 419416 BLAKE2B 5437e60951a552f271e7a3b0d45178a02cec29495ef83cada860e2aa66af9ba40b3a55cebbfc65c0dfafb837610d5984cd0b65cb894301684e29a03584605513 SHA512 456321ca2eabdef08359f22e775729d408843c1f1647dd37f6e1603ba2a6785321b12fb3fbfd320c02743a499ed8bc76fee3da6d53c858e0dabd0855a57ef491

diff --git a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
new file mode 100644
index 00000000000..60cebcbb4d6
--- /dev/null
+++ b/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
@@ -0,0 +1,451 @@
+From 3baea661143aaddb285f1ac7c50f6e4af76c8aed Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Fri, 23 Mar 2018 10:05:05 +0100
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+Forward-ported from v2.10.0 to v2.12.0
+Forward-ported from v2.12.0 to v2.17.0-rc1
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile                           | 50 ++++++++++++++++++++++++++++----------
+ t/t9200-git-cvsexportcommit.sh     |  5 ++++
+ t/t9400-git-cvsserver-server.sh    |  8 +++++-
+ t/t9401-git-cvsserver-crlf.sh      | 15 ++++++++----
+ t/t9600-cvsimport.sh               | 41 +++++++++++++++++++------------
+ t/t9601-cvsimport-vendor-branch.sh | 11 +++++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 +++++++++
+ t/t9603-cvsimport-patchsets.sh     | 11 +++++++++
+ t/test-lib.sh                      |  1 +
+ 9 files changed, 119 insertions(+), 34 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a1d8775adb..4264475ad1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -312,6 +312,8 @@ all::
+ # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+ # and egrep that are pickier when their input contains non-ASCII data.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system.  Only used if NO_TCLTK
+ # is not set.  Defaults to the bare 'tclsh'.
+@@ -543,6 +545,7 @@ LIB_OBJS =
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -579,12 +582,13 @@ SCRIPT_LIB += git-sh-i18n
+ 
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+ 
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+ 
+ NO_INSTALL += git-remote-testgit
+@@ -592,24 +596,26 @@ NO_INSTALL += git-remote-testgit
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+ 
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+ SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
++SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
+ SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
+ 
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+ 
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_INS)
++install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -618,12 +624,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
+ clean-sh-script:
+ 	$(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+-	$(RM) $(SCRIPT_PERL_GEN)
++	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ 	$(RM) $(SCRIPT_PYTHON_GEN)
+ 
+ SCRIPTS = $(SCRIPT_SH_INS) \
+ 	  $(SCRIPT_PERL_INS) \
++	  $(SCRIPT_PERL_CVS_INS) \
+ 	  $(SCRIPT_PYTHON_INS) \
+ 	  git-instaweb
+ 
+@@ -1972,13 +1979,26 @@ git.res: git.rc GIT-VERSION-FILE
+ 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
+ 
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+ 
+ ifndef NO_PERL
+-$(SCRIPT_PERL_GEN):
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN):
+ 
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
+-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	INSTLIBDIR='$(perllibdir_SQ)' && \
+ 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
+@@ -2012,14 +2032,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+-	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ 	    unimplemented.sh >$@+ && \
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+-endif # NO_PERL
+ 
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2258,7 +2282,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_SH += git-parse-remote.sh
+ LOCALIZED_SH += git-rebase--interactive.sh
+ LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
+ 
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index 1319415ba8..34ac8e28e2 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ 	test_done
+ fi
+ 
++if ! test_have_prereq CVS; then
++	skip_all='skipping git cvsexportcommit tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 06742748e9..51d474d94b 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
+ . ./test-lib.sh
+ 
+ if ! test_have_prereq PERL; then
+-	skip_all='skipping git cvsserver tests, perl not available'
++	skip_all='skipping git-cvsserver tests, perl not available'
+ 	test_done
+ fi
++
++if ! test_have_prereq CVS; then
++	skip_all='skipping git-cvsserver tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index 84787eee9a..eecba88527 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -57,15 +57,20 @@ check_status_options() {
+     return $stat
+ }
+ 
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+-    skip_all='skipping git-cvsserver tests, cvs not found'
++    skip_all='skipping git-cvsserver tests, perl not available'
+     test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+-    skip_all='skipping git-cvsserver tests, perl not available'
++    skip_all='skipping git-cvsserver tests, cvs not available'
++    test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++    skip_all='skipping git-cvsserver tests, cvs not found'
+     test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 804ce3850f..c53c50e432 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
+ 	test_done
+ fi
+ 
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ 	CVSROOT=$(pwd)/cvsroot &&
+ 	export CVSROOT
+ '
+ 
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+ 
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+ 
+ 	mkdir "$CVSROOT/module" &&
+ 	$CVS co -d module-cvs module &&
+@@ -47,23 +58,23 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+ 
+ 	git cvsimport -a -R -z 0 -C module-git module &&
+ 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
+ 
+ '
+ 
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+ 
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 	(cd module-cvs &&
+ 	cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -91,7 +102,7 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+ 
+ 	(cd module-git &&
+ 	git config cvsimport.trackRevisions true &&
+@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
+ 
+ '
+ 
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 
+ 	(cd module-cvs &&
+ 		echo 1 >tick &&
+@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
+ 	)
+ '
+ 
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+ 
+ 	(cd module-git &&
+ 		git config cvsimport.module module &&
+@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+ 
+ '
+ 
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+ 
+ 	$CVS co -d import-from-wt module &&
+ 	(cd import-from-wt &&
+@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+ 
+ '
+ 
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+ 
+ 	! test -e import-from-wt/.git/cvs-revisions
+ 
+ '
+ 
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
+ 
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 827d39f5bf..d730a41f67 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -34,6 +34,17 @@
+ test_description='git cvsimport handling of vendor branches'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9601
+ 
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e1db323f54..68f097401f 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -6,6 +6,17 @@
+ test_description='git cvsimport handling of branches and tags'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9602
+ 
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index c4c3c49546..9b2957d4f0 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -14,6 +14,17 @@
+ test_description='git cvsimport testing for correct patchset estimation'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9603
+ 
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index 7740d511d2..9b26b78359 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -1062,6 +1062,7 @@ case $uname_s in
+ esac
+ 
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+-- 
+2.16.3
+

diff --git a/dev-vcs/git/git-2.17.0_rc1.ebuild b/dev-vcs/git/git-2.17.0_rc1.ebuild
new file mode 100644
index 00000000000..29ff3e4669d
--- /dev/null
+++ b/dev-vcs/git/git-2.17.0_rc1.ebuild
@@ -0,0 +1,711 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+	SCM="git-r3"
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: pu
+	case "${PVR}" in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=pu ;;
+	esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER=${MY_PV}
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="mirror://kernel/software/scm/git"
+	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	[[ "${PV}" = *_rc* ]] || \
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+	gnome-keyring? ( app-crypt/libsecret )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	sys-libs/zlib
+	pcre? (
+		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+		!pcre-jit? ( dev-libs/libpcre )
+	)
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/Net-SMTP-SSL
+		dev-perl/Authen-SASL
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso,perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		sys-apps/texinfo
+		app-text/xmlto
+	)
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	DEPEND="${DEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	subversion? ( perl )
+	webdav? ( curl )
+	pcre-jit? ( pcre )
+	python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.17.0_rc1-optional-cvs.patch
+
+	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]"; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+	if use python ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+		$(usex cvs '' NO_CVS=YesPlease)
+		$(usex elibc_musl NO_REGEX=YesPlease '')
+		$(usex iconv '' NO_ICONV=YesPlease)
+		$(usex nls '' NO_GETTEXT=YesPlease)
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+		$(usex python '' NO_PYTHON=YesPlease)
+		$(usex subversion '' NO_SVN_TESTS=YesPlease)
+		$(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
+		$(usex tk '' NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	elif use ppcsha1 ; then
+		myopts+=( PPC_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# broken assumptions, because of static build system ...
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# For svn-fe
+	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		if use pcre-jit; then
+			myopts+=( USE_LIBPCRE2=YesPlease )
+			extlibs+=" -lpcre2-8"
+		else
+			myopts+=(
+				USE_LIBPCRE1=YesPlease
+				NO_LIBPCRE1_JIT=YesPlease
+			)
+			extlibs+=" -lpcre"
+		fi
+	fi
+# Disabled until ~m68k-mint can be keyworded again
+#	if [[ ${CHOST} == *-mint* ]] ; then
+#		myopts+=(
+#			NO_MMAP=YesPlease
+#			NO_IPV6=YesPlease
+#			NO_STRLCPY=YesPlease
+#			NO_MEMMEM=YesPlease
+#			NO_MKDTEMP=YesPlease
+#			NO_MKSTEMPS=YesPlease
+#		)
+#	fi
+	if [[ ${CHOST} == ia64-*-hpux* ]]; then
+		myopts+=( NO_NSEC=YesPlease )
+	fi
+	if [[ ${CHOST} == *-*-aix* ]]; then
+		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+			myopts+=( HAVE_GETDELIM=1 )
+	fi
+
+	has_version '>=app-text/asciidoc-8.0' \
+		&& myopts+=( ASCIIDOC8=YesPlease )
+
+	# Bug 290465:
+	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+	[[ "${CHOST}" == *-uclibc* ]] && \
+		myopts+=( NO_NSEC=YesPlease )
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]]; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile contrib/svn-fe/Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+
+	# Fix git-subtree missing DESTDIR
+	sed -i \
+		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
+		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
+		contrib/subtree/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use python && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		perllibdir="$(perl_get_raw_vendorlib)" \
+		sysconfdir="${EPREFIX}"/etc \
+		DESTDIR="${D}" \
+		GIT_TEST_OPTS="--no-color" \
+		OPTAR="$(tc-getAR)" \
+		OPTCC="$(tc-getCC)" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		PERL_PATH="${EPREFIX}/usr/bin/perl" \
+		PERL_MM_OPT="" \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		V=1 \
+		"$@"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake || die "emake failed"
+
+	if use emacs ; then
+		elisp-compile contrib/emacs/git{,-blame}.el
+	fi
+
+	if use perl && use cgi ; then
+		git_emake \
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		pushd contrib/credential/osxkeychain &>/dev/null || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+		popd &>/dev/null || die
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man \
+			|| die "emake man failed"
+		if use doc ; then
+			git_emake info html \
+				|| die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info \
+				|| die "emake info html failed"
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		# by defining EXTLIBS we override the detection for libintl and
+		# libiconv, bug #516168
+		local nlsiconv=
+		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
+		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
+		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
+		if use doc ; then
+			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
+		fi
+		popd &>/dev/null || die
+	fi
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		git_emake || die "emake git-credential-libsecret failed"
+		popd &>/dev/null || die
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake
+	use doc && git_emake doc
+	popd &>/dev/null || die
+
+	pushd contrib/diff-highlight &>/dev/null || die
+	git_emake
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake
+		popd &>/dev/null || die
+
+	fi
+}
+
+src_install() {
+	git_emake \
+		install || \
+		die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	if use emacs ; then
+		elisp-install ${PN} contrib/emacs/git.{el,elc}
+		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+		# don't add automatically to the load-path, so the sitefile
+		# can do a conditional loading
+		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
+		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+	fi
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake install || die "Failed to emake install git-subtree"
+	if use doc ; then
+		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake install
+		popd &>/dev/null || die
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		dobin svn-fe
+		dodoc svn-fe.txt
+		if use doc ; then
+			doman svn-fe.1
+			docinto html
+			dodoc svn-fe.html
+		fi
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - installed above
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hg-to-git
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED%/}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		find "${ED%/}"/usr/lib64/perl5/ \
+			-name .packlist \
+			-delete \
+			|| die
+	else
+		rm -rf "${ED%/}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
+			"${ED%/}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if use !prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
+			rm -r "${ED%/}/usr/share/locale/${1}" || die
+		fi
+	}
+	l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+	local disabled=()
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]]; then
+		if [[ ${cvs} -eq 1 ]]; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		[[ ${cvs} -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=${cvs}+1
+		[[ ${cvs} -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=${cvs}+1
+		if [[ ${cvs} -lt 3 ]]; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
+		-i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
+	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	einfo "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2018-06-06 14:34 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2018-06-06 14:34 UTC (permalink / raw
  To: gentoo-commits

commit:     c459b207a11ab5a8983125389a6a9ae321ccdf79
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  6 14:28:35 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jun  6 14:34:12 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c459b207

dev-vcs/git: Bump to version 2.18.0_rc1

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-vcs/git/Manifest                               |   3 +
 .../git/files/git-2.18.0_rc1-optional-cvs.patch    | 460 +++++++++++++
 dev-vcs/git/git-2.18.0_rc1.ebuild                  | 715 +++++++++++++++++++++
 3 files changed, 1178 insertions(+)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index f9c9796ab21..fc5228e9dc1 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,6 +1,9 @@
 DIST git-2.16.4.tar.xz 4968252 BLAKE2B 77f76408bde02bfacdb99d22baca05893f63c96d1fb7508c7e92541f8f7ec9ced0dad650be788fd28a1e03b5d88b88708652d07a47bedaae60a9cbd4e2eec858 SHA512 f54e431e78289349dcb927ec34873dfb801c49a41cbb3d0138346d603af26bd7d86f9ac95e7a61a4831017f3503f33374510ccf68b0e62b0691fc5a43283f1ac
 DIST git-2.17.1.tar.xz 5015484 BLAKE2B d3a61023872a15e3176e4dae6df83d4c2369a377244d44dfd7a63a15ecc3a7b145093afd5d6fa72e4eca98ba4f81f7ccd89ac2400c9cf8107ac04fd35d8bf6e4 SHA512 77c27569d40fbae1842130baa0cdda674a02e384631bd8fb1f2ddf67ce372dd4903b2ce6b4283a4ae506cdedd5daa55baa2afe6a6689528511e24e4beb864960
+DIST git-2.18.0.rc1.tar.xz 5057828 BLAKE2B 9ab6979f86f601e6b2c8838eedf2cd8db0514b2644cc107c984d25e35c5ebc3bc3da8788451f51d59fdeee537f3f7de6981e7c0bf35b3e9c41084fc97f8208b0 SHA512 b3910a0aa699785bbe75fa642105151889eecc79534509a64b32f0af192f9fbc9e546b0209b3ae2882ce46af7c45cea7ad1209e5655af708528712bd9c9049d3
 DIST git-htmldocs-2.16.4.tar.xz 1164256 BLAKE2B 88a7ab5b094f15bc2b6c0f4d4c3eae185f6e6c0f00f4aca75492f0cc964428d1bf53002e0e43468b60b62058af5f13b061231061247e19b32bc70c2c8adb04eb SHA512 8f4a8c51656559af81296fb064ecf0f88444952c7f8ee91b85e5a61b20d200267d7432f720ded12046bab986361cff48cf7a2f5d21e05c1ac7648cc3168a0049
 DIST git-htmldocs-2.17.1.tar.xz 1173296 BLAKE2B 5133a86fb73cd58d6a9d4ed05d32949f642c9a670a49ea67c7170dfb39c4ff3f63d5f220abebcc979f87a360ec2990ccf5a9e3c18e8fcb07082bac111ecb12c7 SHA512 69054b087ffd1c88532672c6edea3cd27e08421f25c09a1a304420ec6aa20806888f71e4ef21aac1bc2fed81a045a64ae164a9dc377eb48d61887bf8d787782c
+DIST git-htmldocs-2.18.0.rc1.tar.xz 1200624 BLAKE2B 367a27cada3ddd563347382c7569d61f7f367f900840feff6bc4404bb6b1863700ae12729b2bd4008c8a70558c103220ea9dbbf39bdace8d79dee94d1406077d SHA512 ac5c4770989645b268e5b966bbff47495b35fefbde7e4e0636eddb33c0a70b81470c26b1007a85b7078a425e537727a9b36c06bba1fcdd54716cb4bd1a316de5
 DIST git-manpages-2.16.4.tar.xz 417136 BLAKE2B 9a75913dae62fa2eb31cf48e77e266aa8d91c67b8a753c1740283b1d626dea1e9aa8d7cea06d9b97887f801b4d1f1b927014851105cefd3241ca7ab7330bfc8b SHA512 8029e9fac1eca542e809da1247f4eec3a2c81c0eb12d03aa816dcf120677011d3e409b06c28c8e7dbf41cbbcca873ec93846dc317bc73e57f4d4701ce7abf73d
 DIST git-manpages-2.17.1.tar.xz 419400 BLAKE2B af8cef1ac43c6b5ee073c7e18c161ba3ebe0669e474833211c95e72b33524050c30ca133ada98e07c8b481ffc4a5cbce1e7d68427b7aeb9bb80534c2ef3623f0 SHA512 fbdd4ef99419d244bc7c03b10cf09e92d1f0894879fe159ee1f53262daebdc7fe72d6c2bbe9e21fe354f8afb26fa06b35788e54b0c078b686706b511bf7c33ee
+DIST git-manpages-2.18.0.rc1.tar.xz 425484 BLAKE2B a421e3fc79e5bde92c0a4cd4df1aa9fb6235d57136ec704f8170bce0804da66c0b38f8027b598bae66ad355943b1e820d3e840b9f07bf6a6b9b58b853f80803a SHA512 5307bed496468447e3890a4af0362646a3cbdcb517da94eba09fd5c34294588dd27844812c73bacf0151a950abaf0239cf70f9739d340f03d3dd047c896b6143

diff --git a/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch
new file mode 100644
index 00000000000..2e213c00522
--- /dev/null
+++ b/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch
@@ -0,0 +1,460 @@
+From 7b0d0d066a5f869f86f2be125d63ae98c1451feb Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Wed, 6 Jun 2018 16:25:13 +0200
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+Forward-ported from v2.10.0 to v2.12.0
+Forward-ported from v2.12.0 to v2.17.0-rc1
+Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile                           | 49 ++++++++++++++++++++++--------
+ t/t9200-git-cvsexportcommit.sh     |  5 +++
+ t/t9400-git-cvsserver-server.sh    |  8 ++++-
+ t/t9401-git-cvsserver-crlf.sh      | 15 ++++++---
+ t/t9600-cvsimport.sh               | 41 ++++++++++++++++---------
+ t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 +++++++
+ t/t9603-cvsimport-patchsets.sh     | 11 +++++++
+ t/test-lib.sh                      |  1 +
+ 9 files changed, 119 insertions(+), 33 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1d27f36365..b30a14e263 100644
+--- a/Makefile
++++ b/Makefile
+@@ -312,6 +312,8 @@ all::
+ # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+ # and egrep that are pickier when their input contains non-ASCII data.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system.  Only used if NO_TCLTK
+ # is not set.  Defaults to the bare 'tclsh'.
+@@ -589,6 +591,7 @@ LIB_OBJS =
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -626,12 +629,13 @@ SCRIPT_LIB += git-sh-i18n
+ 
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+ 
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+ 
+ NO_INSTALL += git-remote-testgit
+@@ -639,24 +643,26 @@ NO_INSTALL += git-remote-testgit
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+ 
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+ SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
++SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
+ SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
+ 
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+ 
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_INS)
++install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_INS)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -665,12 +671,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
+ clean-sh-script:
+ 	$(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+-	$(RM) $(SCRIPT_PERL_GEN)
++	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ 	$(RM) $(SCRIPT_PYTHON_GEN)
+ 
+ SCRIPTS = $(SCRIPT_SH_INS) \
+ 	  $(SCRIPT_PERL_INS) \
++	  $(SCRIPT_PERL_CVS_INS) \
+ 	  $(SCRIPT_PYTHON_INS) \
+ 	  git-instaweb
+ 
+@@ -2076,13 +2083,27 @@ git.res: git.rc GIT-VERSION-FILE
+ 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
+ 
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+ 
+ # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
+ # since the locale directory is injected.
+ perl_localedir_SQ = $(localedir_SQ)
+ 
+ ifndef NO_PERL
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN):
+ PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
+ 
+@@ -2103,7 +2124,7 @@ endif
+ 
+ PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
+ 
+-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1{' \
+ 	    -e '	s|#!.*perl|#!$(PERL_PATH_SQ)|' \
+@@ -2149,14 +2170,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+-	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ 	    unimplemented.sh >$@+ && \
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+-endif # NO_PERL
+ 
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2396,7 +2421,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_SH += git-parse-remote.sh
+ LOCALIZED_SH += git-rebase--interactive.sh
+ LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
+ 
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index 1319415ba8..34ac8e28e2 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ 	test_done
+ fi
+ 
++if ! test_have_prereq CVS; then
++	skip_all='skipping git cvsexportcommit tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 06742748e9..51d474d94b 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
+ . ./test-lib.sh
+ 
+ if ! test_have_prereq PERL; then
+-	skip_all='skipping git cvsserver tests, perl not available'
++	skip_all='skipping git-cvsserver tests, perl not available'
+ 	test_done
+ fi
++
++if ! test_have_prereq CVS; then
++	skip_all='skipping git-cvsserver tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index 84787eee9a..eecba88527 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -57,15 +57,20 @@ check_status_options() {
+     return $stat
+ }
+ 
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+-    skip_all='skipping git-cvsserver tests, cvs not found'
++    skip_all='skipping git-cvsserver tests, perl not available'
+     test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+-    skip_all='skipping git-cvsserver tests, perl not available'
++    skip_all='skipping git-cvsserver tests, cvs not available'
++    test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++    skip_all='skipping git-cvsserver tests, cvs not found'
+     test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 804ce3850f..c53c50e432 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
+ 	test_done
+ fi
+ 
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ 	CVSROOT=$(pwd)/cvsroot &&
+ 	export CVSROOT
+ '
+ 
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+ 
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+ 
+ 	mkdir "$CVSROOT/module" &&
+ 	$CVS co -d module-cvs module &&
+@@ -47,23 +58,23 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+ 
+ 	git cvsimport -a -R -z 0 -C module-git module &&
+ 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
+ 
+ '
+ 
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+ 
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 	(cd module-cvs &&
+ 	cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -91,7 +102,7 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+ 
+ 	(cd module-git &&
+ 	git config cvsimport.trackRevisions true &&
+@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
+ 
+ '
+ 
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 
+ 	(cd module-cvs &&
+ 		echo 1 >tick &&
+@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
+ 	)
+ '
+ 
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+ 
+ 	(cd module-git &&
+ 		git config cvsimport.module module &&
+@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+ 
+ '
+ 
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+ 
+ 	$CVS co -d import-from-wt module &&
+ 	(cd import-from-wt &&
+@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+ 
+ '
+ 
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+ 
+ 	! test -e import-from-wt/.git/cvs-revisions
+ 
+ '
+ 
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
+ 
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 827d39f5bf..d730a41f67 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -34,6 +34,17 @@
+ test_description='git cvsimport handling of vendor branches'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9601
+ 
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e1db323f54..68f097401f 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -6,6 +6,17 @@
+ test_description='git cvsimport handling of branches and tags'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9602
+ 
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index c4c3c49546..9b2957d4f0 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -14,6 +14,17 @@
+ test_description='git cvsimport testing for correct patchset estimation'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9603
+ 
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index 28315706be..6e2f99cdbb 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -1064,6 +1064,7 @@ case $uname_s in
+ esac
+ 
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+-- 
+2.17.1
+

diff --git a/dev-vcs/git/git-2.18.0_rc1.ebuild b/dev-vcs/git/git-2.18.0_rc1.ebuild
new file mode 100644
index 00000000000..18794ba729d
--- /dev/null
+++ b/dev-vcs/git/git-2.18.0_rc1.ebuild
@@ -0,0 +1,715 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+	SCM="git-r3"
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: pu
+	case "${PVR}" in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=pu ;;
+	esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER=${MY_PV}
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="mirror://kernel/software/scm/git"
+	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	[[ "${PV}" = *_rc* ]] || \
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~amd64-fbsd"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+	gnome-keyring? ( app-crypt/libsecret )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	sys-libs/zlib
+	pcre? (
+		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+		!pcre-jit? ( dev-libs/libpcre )
+	)
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/MailTools
+		dev-perl/Net-SMTP-SSL
+		dev-perl/Authen-SASL
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso,perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		sys-apps/texinfo
+		app-text/xmlto
+	)
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	DEPEND="${DEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	subversion? ( perl )
+	webdav? ( curl )
+	pcre-jit? ( pcre )
+	python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
+
+	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]"; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+	if use python ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+		$(usex cvs '' NO_CVS=YesPlease)
+		$(usex elibc_musl NO_REGEX=YesPlease '')
+		$(usex iconv '' NO_ICONV=YesPlease)
+		$(usex nls '' NO_GETTEXT=YesPlease)
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+		$(usex python '' NO_PYTHON=YesPlease)
+		$(usex subversion '' NO_SVN_TESTS=YesPlease)
+		$(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
+		$(usex tk '' NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	elif use ppcsha1 ; then
+		myopts+=( PPC_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# broken assumptions, because of static build system ...
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# For svn-fe
+	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		if use pcre-jit; then
+			myopts+=( USE_LIBPCRE2=YesPlease )
+			extlibs+=" -lpcre2-8"
+		else
+			myopts+=(
+				USE_LIBPCRE1=YesPlease
+				NO_LIBPCRE1_JIT=YesPlease
+			)
+			extlibs+=" -lpcre"
+		fi
+	fi
+# Disabled until ~m68k-mint can be keyworded again
+#	if [[ ${CHOST} == *-mint* ]] ; then
+#		myopts+=(
+#			NO_MMAP=YesPlease
+#			NO_IPV6=YesPlease
+#			NO_STRLCPY=YesPlease
+#			NO_MEMMEM=YesPlease
+#			NO_MKDTEMP=YesPlease
+#			NO_MKSTEMPS=YesPlease
+#		)
+#	fi
+	if [[ ${CHOST} == ia64-*-hpux* ]]; then
+		myopts+=( NO_NSEC=YesPlease )
+	fi
+	if [[ ${CHOST} == *-*-aix* ]]; then
+		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+			myopts+=( HAVE_GETDELIM=1 )
+	fi
+
+	has_version '>=app-text/asciidoc-8.0' \
+		&& myopts+=( ASCIIDOC8=YesPlease )
+
+	# Bug 290465:
+	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+	[[ "${CHOST}" == *-uclibc* ]] && \
+		myopts+=( NO_NSEC=YesPlease )
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]]; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		cd "${S}" || die
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile contrib/svn-fe/Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+
+	# Fix git-subtree missing DESTDIR
+	sed -i \
+		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
+		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
+		contrib/subtree/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use python && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		perllibdir="$(perl_get_raw_vendorlib)" \
+		sysconfdir="${EPREFIX}"/etc \
+		DESTDIR="${D}" \
+		GIT_TEST_OPTS="--no-color" \
+		OPTAR="$(tc-getAR)" \
+		OPTCC="$(tc-getCC)" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		PERL_PATH="${EPREFIX}/usr/bin/perl" \
+		PERL_MM_OPT="" \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		V=1 \
+		"$@"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake || die "emake failed"
+
+	if use emacs ; then
+		elisp-compile contrib/emacs/git{,-blame}.el
+	fi
+
+	if use perl && use cgi ; then
+		git_emake \
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		pushd contrib/credential/osxkeychain &>/dev/null || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+		popd &>/dev/null || die
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man \
+			|| die "emake man failed"
+		if use doc ; then
+			git_emake info html \
+				|| die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info \
+				|| die "emake info html failed"
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		# by defining EXTLIBS we override the detection for libintl and
+		# libiconv, bug #516168
+		local nlsiconv=
+		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
+		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
+		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
+		if use doc ; then
+			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
+		fi
+		popd &>/dev/null || die
+	fi
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		git_emake || die "emake git-credential-libsecret failed"
+		popd &>/dev/null || die
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake
+	use doc && git_emake doc
+	popd &>/dev/null || die
+
+	pushd contrib/diff-highlight &>/dev/null || die
+	git_emake
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake
+		popd &>/dev/null || die
+
+	fi
+}
+
+src_install() {
+	git_emake \
+		install || \
+		die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	if use emacs ; then
+		elisp-install ${PN} contrib/emacs/git.{el,elc}
+		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+		# don't add automatically to the load-path, so the sitefile
+		# can do a conditional loading
+		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
+		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+	fi
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake install || die "Failed to emake install git-subtree"
+	if use doc ; then
+		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake install
+		popd &>/dev/null || die
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		dobin svn-fe
+		dodoc svn-fe.txt
+		if use doc ; then
+			doman svn-fe.1
+			docinto html
+			dodoc svn-fe.html
+		fi
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - installed above
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hg-to-git
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED%/}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
+			if test -d "$d" ; then find "$d" \
+				-name .packlist \
+				-delete || die
+			fi
+		done
+	else
+		rm -rf "${ED%/}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
+			"${ED%/}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if use !prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
+			rm -r "${ED%/}/usr/share/locale/${1}" || die
+		fi
+	}
+	l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+	local disabled=()
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]]; then
+		if [[ ${cvs} -eq 1 ]]; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		[[ ${cvs} -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=${cvs}+1
+		[[ ${cvs} -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=${cvs}+1
+		if [[ ${cvs} -lt 3 ]]; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
+		-i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+	einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
+	einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	einfo "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2018-11-22  0:12 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2018-11-22  0:12 UTC (permalink / raw
  To: gentoo-commits

commit:     0457f1c1640291e2c9bac069071989e7ccbe3a20
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 22 00:07:04 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Nov 22 00:11:59 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0457f1c1

dev-vcs/git: Removed old.

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |  12 -
 dev-vcs/git/files/git-1.8.5-mw-vendor.patch        |  39 --
 dev-vcs/git/files/git-2.12.0-optional-cvs.patch    | 456 -------------
 .../git/files/git-2.17.0_rc1-optional-cvs.patch    | 451 -------------
 dev-vcs/git/git-2.16.4.ebuild                      | 699 --------------------
 dev-vcs/git/git-2.16.5.ebuild                      | 699 --------------------
 dev-vcs/git/git-2.18.0.ebuild                      | 715 ---------------------
 dev-vcs/git/git-2.19.0.ebuild                      | 706 --------------------
 8 files changed, 3777 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 915161c0386..b612851c732 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,24 +1,12 @@
-DIST git-2.16.4.tar.xz 4968252 BLAKE2B 77f76408bde02bfacdb99d22baca05893f63c96d1fb7508c7e92541f8f7ec9ced0dad650be788fd28a1e03b5d88b88708652d07a47bedaae60a9cbd4e2eec858 SHA512 f54e431e78289349dcb927ec34873dfb801c49a41cbb3d0138346d603af26bd7d86f9ac95e7a61a4831017f3503f33374510ccf68b0e62b0691fc5a43283f1ac
-DIST git-2.16.5.tar.xz 4968780 BLAKE2B 9987e15152cce334fdfe2f56705fb2d9d246652010e58879fefc79cb20c05f177f2ed0c4ef8955889684466d2d3fbf9a246351751d6c6d6c3c8b4adeb48fbf06 SHA512 96770035f370808b7b7f3752c938394522fcb699355ed821591a1ef5756903ad0e8830441d230cbead7718b42066ad4e33fedf8b8c948fbacc89c18f3d486e26
-DIST git-2.18.0.tar.xz 5102264 BLAKE2B 94a8469a0e489d517136233301f1af622a3e612967316620800a771721f4e558dfb9159f158ddd07d294fce3ceb256038483f5a8c1fe6a84f661710857945dce SHA512 db19363c9c2042248322d49874a27c0614acfb912183725e5d4f0331d6b44cef66a9a7da6a49bd4a17e5d86d30c5fed6bef7527f386494184595a433c4060e46
 DIST git-2.18.1.tar.xz 5102812 BLAKE2B 43ec86d9aebc73a582f2117ef1c26a6dc820f81ff389a6239ed6e3ea5fd2be0bac54766c3ab8ad1cc9730978e5b73997bb20b24b9f3f43d6eef06bea8a9174c3 SHA512 06bdc54c4ff78b77667b917f2aa46a803bd6561236f4177f41b8730785b5f90f8ca705f028131f9365fb0aae2e51cd92c97380141e97c026c96a020e00b992e1
-DIST git-2.19.0.tar.xz 5227124 BLAKE2B f917b9ca8325ffbdec7d8614fec3874a09b5d3c421a0179f6c77def7e11f5853d821933b13687087b05791531e194178e1e63f51739ece91e32dddb07a127a0b SHA512 305e51f8e22d96847fcdf4169340795aacaf5f4c5b8052cda860a668059d9ef35bb2840c278b7207f3b9f0e1c32915719649edc20bd3cd33b53e97a06159ceac
 DIST git-2.19.1.tar.xz 5227908 BLAKE2B 1702662d7eea2ea5fa9d697eece19bee8a451abb1e85b1c7b111b4126e97340ee0c5691faf37c2d9fbe13bdf4ea894d8a3e0e2f7208e7bce111e53d1da81ef5f SHA512 a1bc1032b1de9eb9ea8b7c385cd009f64247e13066e0a91e9682e35400ded05f88c23b523cca4782f57544060d6ba0f9d3bec944399cda5771a4945c38bb9b98
 DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96
 DIST git-2.20.0.rc1.tar.xz 5318308 BLAKE2B 0297ab2c439ede2098da02a96886c0db67017dc0e18f39e1ffd857cd49d23c54920b478bd2feb03ab8c3fce3eae5ce07e49a8ce3c3dd80868c37070a6f0ed22d SHA512 e00eb0c33dfff8c63170915693032346e52bc6b8410c528b43372d9aef16287e0c2891214d64ce21cab9d393524bda3037961e2f6f07a09532451ef8fa2a63d2
-DIST git-htmldocs-2.16.4.tar.xz 1164256 BLAKE2B 88a7ab5b094f15bc2b6c0f4d4c3eae185f6e6c0f00f4aca75492f0cc964428d1bf53002e0e43468b60b62058af5f13b061231061247e19b32bc70c2c8adb04eb SHA512 8f4a8c51656559af81296fb064ecf0f88444952c7f8ee91b85e5a61b20d200267d7432f720ded12046bab986361cff48cf7a2f5d21e05c1ac7648cc3168a0049
-DIST git-htmldocs-2.16.5.tar.xz 1164600 BLAKE2B 303f5543a420a78b7731aee7b9977361130edfdcffbf67e3ad652ac1243a22aa13d883337466e95a186977e34a2989f5639af7acd7c0187219b200cf966a83ef SHA512 00ed040e665e817a0543768bb290c47dd553581a18b136a59ca37e656c538f49716e79a533c5063c2a00f16f7ad021a5836f71b805200df07bb8a3923aacddfb
-DIST git-htmldocs-2.18.0.tar.xz 1201076 BLAKE2B f5d592cadf1eb9a24b6d6fb3c68c1ead385a350e4bfc97eee775f1921c7bf47f8790d1eea803d69cde8e381d7aa0ae4c53aebeda464c32cdd7a6558a46a9c8e7 SHA512 e227673216b67cf0e5d0abacc305a3b2a30844a6fe31aab18e37643f27c0fce7d3628366732f1518784d095eb33c1bb60b4eb00024d9ccc662deca2962db5324
 DIST git-htmldocs-2.18.1.tar.xz 1201604 BLAKE2B ae33ac1ec8d2c95f95dbc5965d191f093628633c047c7d52371b7a3142807a4b878be5abcd13a934a453a5b35abb4a7e0ea49823e98c4a682040afc8d7c0817d SHA512 5310a846091bfa66609ce896bdce163bd84f40c14400a53eab662f0c28037b98fef4a8766a716694a5bf9549793a85b57cb665194dff5612277c6603452ea512
-DIST git-htmldocs-2.19.0.tar.xz 1221804 BLAKE2B c3c1e91b05bb5fc777f97973941c97b8c093a94d4dc308527bc6bea7b6cc787bb939d4a5a978a69f1476da8e334f17393bf56a8de64b7e5bd88544d32f858f40 SHA512 61c6c1d64affa2f910c0c01a14f19f49ef496e1a09c223f7fb454031a6388dcd96c69c362e0da167a2e4bf1347d4c30e55d9c476076f1ab8e278f9af07053745
 DIST git-htmldocs-2.19.1.tar.xz 1222052 BLAKE2B 6d63364e0c5c700011ab0b7bc9c207560bc89e6d58e5f8025f30a188b7c90fa1ca58822e0ee129ff531c0702fc0a64e1612b8ff7b41102e5db21eadd0fd01ab9 SHA512 40417e80b291a935be78f143f070c68a9a865b6825f85cddd57cf926c25649630dd6612e7e52edb3ab4d1433aca31d38e3b9c95ff5d52827452d03c96e50e344
 DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634
 DIST git-htmldocs-2.20.0.rc1.tar.xz 1226408 BLAKE2B 8d3d868acb6b5bb1d6aecbf64ef05d481147c926f9a89052cebf1b44f7e4d387442d252ccbdb8bbb4f1311bd2699d24f0524e78b0e5e948682c01846055b2439 SHA512 db2b5d628fa1347a1295680e4d5c525614cbcba1f16fa231b5935f8ad287ee738d95d799d84209b8b14f0141a22719eecc67104fda62303723433a85a16aee14
-DIST git-manpages-2.16.4.tar.xz 417136 BLAKE2B 9a75913dae62fa2eb31cf48e77e266aa8d91c67b8a753c1740283b1d626dea1e9aa8d7cea06d9b97887f801b4d1f1b927014851105cefd3241ca7ab7330bfc8b SHA512 8029e9fac1eca542e809da1247f4eec3a2c81c0eb12d03aa816dcf120677011d3e409b06c28c8e7dbf41cbbcca873ec93846dc317bc73e57f4d4701ce7abf73d
-DIST git-manpages-2.16.5.tar.xz 417140 BLAKE2B f7b3255fe0ac7ea82273e0718d96e045854b7d3c7ad100befac47cd005139415e56b8e0dd85293bca26f2e1ff12f729c46bfd27ede5ecdda08a1533ed43a8b2f SHA512 38ec66e43055f7121bace4655350e9b617b5586271c4ae73d15966e52e56ac38bec2f5f7f128410d004a2a0db3db9954fcfec1d78eb49579a74a46b404b67396
-DIST git-manpages-2.18.0.tar.xz 425516 BLAKE2B ff979aa0c99716da279cd4001d5907cec95e93ac93f1f2dc5dd79d456a185e0d8610a121b08b07c3c886132e94334114932881d78c7307ff287c256f993938e5 SHA512 8ae353083288e58752e6e6ff505cde6f4fa0be20465443c0517a87af28867d748eb29fc9d3dcb805b29c4e422cf4eae124b7fec5c339888ab4ebaff6360ada15
 DIST git-manpages-2.18.1.tar.xz 425568 BLAKE2B fc0f8aee3d80cba0f84c4ff4cfa342ea3c1ae155f3434b6d1771e03bb14956d5ffd78a5cadfee378534f6cf85265c37eeb1be27eb7801ae798cede249640c478 SHA512 6e6e663d985ef267d556539a43c192138b31dbbc80ffaa4331b8494f6e3e74b5cd4d958c2ae963143946eaa99bfce485ee3726b510b10eaab3599b5284b5fbc1
-DIST git-manpages-2.19.0.tar.xz 431832 BLAKE2B b1493e88b3836cfdbd4f709058f7b287764df52237f2dee054668ce5cd9a547553fb36f2f474debd9bc2a511e73a9967307d8a3d174651d261ddd4176a8ec766 SHA512 463cacfc58dc16d69dc9e374fb840cd2859d69e2a74575437be72159e05cc85ad6c9e89dfe2c20963fce962b9add4ad9694e84ab5792b2c30034f68d52648117
 DIST git-manpages-2.19.1.tar.xz 431852 BLAKE2B e15be2e1680a28c3c57e7b6e022173ef4b006cf21b5464a32f7f7668ea2b8af2ac7ff7466d98ab627320895b92583840159e2fca613be95817656def2654edaa SHA512 1b42c39e39653906b44fbca65991da04493f08479e2162da5f593bee68dbfd3f3b8180f5a2721f1971e3218b0dc842a8a34918fc7724c032597f4fe4b2f506dc
 DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1
 DIST git-manpages-2.20.0.rc1.tar.xz 438948 BLAKE2B d2ce985f35fa5626cf306ef049a79fc09c5c2411887d28c27da35c16cba11844e3b89c143fc45308944aaa93b12c7c4dc50575a4581ce2a70351ca53b123b05f SHA512 73a3654b1deab4481fd07615659df2f92ee56a8267a7c24a4733e0a5f57881de4ffb9e593a6104ff4bf6efb55223adada8c4bb09ae9427acfbfdbb63b24e4edd

diff --git a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch b/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
deleted file mode 100644
index 54302ef26c9..00000000000
--- a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
-index a4b6f7a..d83df2c 100644
---- a/contrib/mw-to-git/Makefile
-+++ b/contrib/mw-to-git/Makefile
-@@ -22,7 +22,7 @@ INSTALL = install
- 
- SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
- INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
--                -s --no-print-directory instlibdir)
-+                -s --no-print-directory instvendorlibdir)
- DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
- INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
- 
-diff --git a/perl/Makefile b/perl/Makefile
-index 15d96fc..91348c6 100644
---- a/perl/Makefile
-+++ b/perl/Makefile
-@@ -12,7 +12,7 @@ ifndef V
- 	QUIET = @
- endif
- 
--all install instlibdir: $(makfile)
-+all install instlibdir instvendorlibdir: $(makfile)
- 	$(QUIET)$(MAKE) -f $(makfile) $@
- 
- clean:
-diff --git a/perl/Makefile.PL b/perl/Makefile.PL
-index 3f29ba9..c0b3508 100644
---- a/perl/Makefile.PL
-+++ b/perl/Makefile.PL
-@@ -17,6 +17,8 @@ sub MY::postamble {
- 	return <<'MAKE_FRAG';
- instlibdir:
- 	@echo '$(INSTALLSITELIB)'
-+instvendorlibdir:
-+	@echo '$(INSTALLVENDORLIB)'
- 
- ifneq (,$(DESTDIR))
- ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))

diff --git a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch b/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
deleted file mode 100644
index d158b65d30a..00000000000
--- a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
+++ /dev/null
@@ -1,456 +0,0 @@
-From 1e1bacf32568cc24dbd24444ed4025fc80a96ff3 Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Sat, 25 Feb 2017 20:48:14 +0100
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-Forward-ported from v2.8.4 to v2.10.0
-Forward-ported from v2.10.0 to v2.12.0
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile                           | 51 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh     |  5 ++++
- t/t9400-git-cvsserver-server.sh    |  8 +++++-
- t/t9401-git-cvsserver-crlf.sh      | 15 +++++++----
- t/t9600-cvsimport.sh               | 41 +++++++++++++++++++-----------
- t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
- t/t9603-cvsimport-patchsets.sh     | 11 ++++++++
- t/test-lib.sh                      |  1 +
- 9 files changed, 120 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8e4081e06..f14a4ad37 100644
---- a/Makefile
-+++ b/Makefile
-@@ -273,6 +273,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system.  Only used if NO_TCLTK
- # is not set.  Defaults to the bare 'tclsh'.
-@@ -496,6 +498,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -532,12 +535,13 @@ SCRIPT_LIB += git-sh-i18n
- 
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
- 
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
- 
- NO_INSTALL += git-remote-testgit
-@@ -545,24 +549,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
- 
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
- 
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
- 
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -571,12 +577,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- 	$(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
--	$(RM) $(SCRIPT_PERL_GEN)
-+	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- 	$(RM) $(SCRIPT_PYTHON_GEN)
- 
- SCRIPTS = $(SCRIPT_SH_INS) \
- 	  $(SCRIPT_PERL_INS) \
-+	  $(SCRIPT_PERL_CVS_INS) \
- 	  $(SCRIPT_PYTHON_INS) \
- 	  git-instaweb
- 
-@@ -1832,10 +1839,24 @@ git.res: git.rc GIT-VERSION-FILE
- 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
- 
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
- 
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN): perl/perl.mak
-+
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN): perl/perl.mak
- 
- perl/perl.mak: perl/PM.stamp
- 
-@@ -1848,7 +1869,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
- 	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
- 
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
- 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -1882,14 +1903,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- 	chmod +x $@+ && \
- 	mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
--	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- 	    unimplemented.sh >$@+ && \
- 	chmod +x $@+ && \
- 	mv $@+ $@
--endif # NO_PERL
- 
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2125,7 +2150,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-parse-remote.sh
- LOCALIZED_SH += git-rebase--interactive.sh
- LOCALIZED_SH += git-sh-setup.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
- 
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index bb879a527..17be19729 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- 	test_done
- fi
- 
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git cvsexportcommit tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 432c61d24..6907b3f52 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
- 
- if ! test_have_prereq PERL; then
--	skip_all='skipping git cvsserver tests, perl not available'
-+	skip_all='skipping git-cvsserver tests, perl not available'
- 	test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git-cvsserver tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 84787eee9..eecba8852 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
-     return $stat
- }
- 
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
--    skip_all='skipping git-cvsserver tests, cvs not found'
-+    skip_all='skipping git-cvsserver tests, perl not available'
-     test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
--    skip_all='skipping git-cvsserver tests, perl not available'
-+    skip_all='skipping git-cvsserver tests, cvs not available'
-+    test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+    skip_all='skipping git-cvsserver tests, cvs not found'
-     test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 4c384ff02..d601f32c5 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -3,14 +3,25 @@
- test_description='git cvsimport basic tests'
- . ./lib-cvs.sh
- 
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- 	CVSROOT=$(pwd)/cvsroot &&
- 	export CVSROOT
- '
- 
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
- 
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
- 
- 	mkdir "$CVSROOT/module" &&
- 	$CVS co -d module-cvs module &&
-@@ -42,23 +53,23 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
- 
- 	git cvsimport -a -R -z 0 -C module-git module &&
- 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
- 
- '
- 
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
- 
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 	(cd module-cvs &&
- 	cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -86,7 +97,7 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
- 
- 	(cd module-git &&
- 	git config cvsimport.trackRevisions true &&
-@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
- 
- '
- 
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 
- 	(cd module-cvs &&
- 		echo 1 >tick &&
-@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
- 	)
- '
- 
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
- 
- 	(cd module-git &&
- 		git config cvsimport.module module &&
-@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
- 
- '
- 
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
- 
- 	$CVS co -d import-from-wt module &&
- 	(cd import-from-wt &&
-@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
- 
- '
- 
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
- 
- 	! test -e import-from-wt/.git/cvs-revisions
- 
- '
- 
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
- 
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f5b..d730a41f6 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9601
- 
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323f5..68f097401 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9602
- 
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c4954..9b2957d4f 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9603
- 
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 86d77c16d..1fb51f149 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -1007,6 +1007,7 @@ case $uname_s in
- esac
- 
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
- test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
--- 
-2.11.1
-

diff --git a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
deleted file mode 100644
index 60cebcbb4d6..00000000000
--- a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
+++ /dev/null
@@ -1,451 +0,0 @@
-From 3baea661143aaddb285f1ac7c50f6e4af76c8aed Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Fri, 23 Mar 2018 10:05:05 +0100
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-Forward-ported from v2.8.4 to v2.10.0
-Forward-ported from v2.10.0 to v2.12.0
-Forward-ported from v2.12.0 to v2.17.0-rc1
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile                           | 50 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh     |  5 ++++
- t/t9400-git-cvsserver-server.sh    |  8 +++++-
- t/t9401-git-cvsserver-crlf.sh      | 15 ++++++++----
- t/t9600-cvsimport.sh               | 41 +++++++++++++++++++------------
- t/t9601-cvsimport-vendor-branch.sh | 11 +++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 +++++++++
- t/t9603-cvsimport-patchsets.sh     | 11 +++++++++
- t/test-lib.sh                      |  1 +
- 9 files changed, 119 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index a1d8775adb..4264475ad1 100644
---- a/Makefile
-+++ b/Makefile
-@@ -312,6 +312,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system.  Only used if NO_TCLTK
- # is not set.  Defaults to the bare 'tclsh'.
-@@ -543,6 +545,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -579,12 +582,13 @@ SCRIPT_LIB += git-sh-i18n
- 
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
- 
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
- 
- NO_INSTALL += git-remote-testgit
-@@ -592,24 +596,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
- 
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
- 
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
- 
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -618,12 +624,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- 	$(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
--	$(RM) $(SCRIPT_PERL_GEN)
-+	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- 	$(RM) $(SCRIPT_PYTHON_GEN)
- 
- SCRIPTS = $(SCRIPT_SH_INS) \
- 	  $(SCRIPT_PERL_INS) \
-+	  $(SCRIPT_PERL_CVS_INS) \
- 	  $(SCRIPT_PYTHON_INS) \
- 	  git-instaweb
- 
-@@ -1972,13 +1979,26 @@ git.res: git.rc GIT-VERSION-FILE
- 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
- 
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
- 
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN):
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN):
- 
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	INSTLIBDIR='$(perllibdir_SQ)' && \
- 	INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -2012,14 +2032,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- 	chmod +x $@+ && \
- 	mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- 	$(QUIET_GEN)$(RM) $@ $@+ && \
- 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
--	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- 	    unimplemented.sh >$@+ && \
- 	chmod +x $@+ && \
- 	mv $@+ $@
--endif # NO_PERL
- 
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2258,7 +2282,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-parse-remote.sh
- LOCALIZED_SH += git-rebase--interactive.sh
- LOCALIZED_SH += git-sh-setup.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
- 
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index 1319415ba8..34ac8e28e2 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- 	test_done
- fi
- 
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git cvsexportcommit tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 06742748e9..51d474d94b 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
- 
- if ! test_have_prereq PERL; then
--	skip_all='skipping git cvsserver tests, perl not available'
-+	skip_all='skipping git-cvsserver tests, perl not available'
- 	test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+	skip_all='skipping git-cvsserver tests, cvs not available'
-+	test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 84787eee9a..eecba88527 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
-     return $stat
- }
- 
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
--    skip_all='skipping git-cvsserver tests, cvs not found'
-+    skip_all='skipping git-cvsserver tests, perl not available'
-     test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
--    skip_all='skipping git-cvsserver tests, perl not available'
-+    skip_all='skipping git-cvsserver tests, cvs not available'
-+    test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+    skip_all='skipping git-cvsserver tests, cvs not found'
-     test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 804ce3850f..c53c50e432 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
- 	test_done
- fi
- 
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- 	CVSROOT=$(pwd)/cvsroot &&
- 	export CVSROOT
- '
- 
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
- 
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
- 
- 	mkdir "$CVSROOT/module" &&
- 	$CVS co -d module-cvs module &&
-@@ -47,23 +58,23 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
- 
- 	git cvsimport -a -R -z 0 -C module-git module &&
- 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
- 
- '
- 
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
- 
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 	(cd module-cvs &&
- 	cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -91,7 +102,7 @@ EOF
- 	)
- '
- 
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
- 
- 	(cd module-git &&
- 	git config cvsimport.trackRevisions true &&
-@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
- 
- '
- 
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- 
- 	(cd module-cvs &&
- 		echo 1 >tick &&
-@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
- 	)
- '
- 
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
- 
- 	(cd module-git &&
- 		git config cvsimport.module module &&
-@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
- 
- '
- 
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
- 
- 	(cd module-git &&
- 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- 	test_cmp expected module-git/.git/cvs-revisions
- '
- 
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
- 
- 	$CVS co -d import-from-wt module &&
- 	(cd import-from-wt &&
-@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
- 
- '
- 
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
- 
- 	! test -e import-from-wt/.git/cvs-revisions
- 
- '
- 
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
- 
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f5bf..d730a41f67 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9601
- 
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323f54..68f097401f 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9602
- 
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c49546..9b2957d4f0 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
- 
-+if ! test_have_prereq PERL
-+then
-+    skip_all='skipping git cvsimport tests, perl not available'
-+    test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+    skip_all='skipping git cvsimport tests, cvs not available'
-+    test_done
-+fi
-+
- setup_cvs_test_repository t9603
- 
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 7740d511d2..9b26b78359 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -1062,6 +1062,7 @@ case $uname_s in
- esac
- 
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
--- 
-2.16.3
-

diff --git a/dev-vcs/git/git-2.16.4.ebuild b/dev-vcs/git/git-2.16.4.ebuild
deleted file mode 100644
index 87acf90bc20..00000000000
--- a/dev-vcs/git/git-2.16.4.ebuild
+++ /dev/null
@@ -1,699 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	SCM="git-r3"
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.12.0-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=" USE_LIBPCRE2=YesPlease"
-			extlibs+=" -lpcre2-8"
-		else
-			myopts+=" USE_LIBPCRE1=YesPlease"
-			myopts+=" NO_LIBPCRE1_JIT=YesPlease"
-			extlibs+=" -lpcre"
-		fi
-	fi
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-	use elibc_musl \
-		&& myopts+=" NO_REGEX=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
-			myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/libsecret
-		git_emake || die "emake git-credential-libsecret failed"
-	fi
-
-	cd "${S}"/contrib/subtree || die
-	git_emake
-	use doc && git_emake doc
-
-	cd "${S}"/contrib/diff-highlight || die
-	git_emake
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/libsecret
-		dobin git-credential-libsecret
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED}"/usr/lib{64,}/perl5/ ; do
-			if test -d "$d" ; then find "$d" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=" t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=" ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=" ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=" ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=" ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=" ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/git for Git bash command completion"
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.16.5.ebuild b/dev-vcs/git/git-2.16.5.ebuild
deleted file mode 100644
index b51710380b0..00000000000
--- a/dev-vcs/git/git-2.16.5.ebuild
+++ /dev/null
@@ -1,699 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	SCM="git-r3"
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	mediawiki? (
-		dev-perl/DateTime-Format-ISO8601
-		dev-perl/HTML-Tree
-		dev-perl/MediaWiki-API
-	)
-	perl? ( dev-perl/Error
-			dev-perl/Net-SMTP-SSL
-			dev-perl/Authen-SASL
-			cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
-			cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
-			subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
-			)
-	python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.12.0-optional-cvs.patch
-
-	# install mediawiki perl modules also in vendor_dir
-	# hack, needs better upstream solution
-	"${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts
-
-	if use blksha1 ; then
-		myopts+=" BLK_SHA1=YesPlease"
-	elif use ppcsha1 ; then
-		myopts+=" PPC_SHA1=YesPlease"
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=" NO_EXPAT=YesPlease"
-	else
-		myopts+=" NO_CURL=YesPlease"
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
-	myopts+=" INSTALL=install TAR=tar"
-	myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
-	myopts+=" SANE_TOOL_PATH="
-	myopts+=" OLD_ICONV="
-	myopts+=" NO_EXTERNAL_GREP="
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
-	use iconv \
-		|| myopts+=" NO_ICONV=YesPlease"
-	use nls \
-		|| myopts+=" NO_GETTEXT=YesPlease"
-	use tk \
-		|| myopts+=" NO_TCLTK=YesPlease"
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=" USE_LIBPCRE2=YesPlease"
-			extlibs+=" -lpcre2-8"
-		else
-			myopts+=" USE_LIBPCRE1=YesPlease"
-			myopts+=" NO_LIBPCRE1_JIT=YesPlease"
-			extlibs+=" -lpcre"
-		fi
-	fi
-	use perl \
-		&& myopts+=" INSTALLDIRS=vendor" \
-		|| myopts+=" NO_PERL=YesPlease"
-	use python \
-		|| myopts+=" NO_PYTHON=YesPlease"
-	use subversion \
-		|| myopts+=" NO_SVN_TESTS=YesPlease"
-	use threads \
-		&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
-		|| myopts+=" NO_PTHREADS=YesPlease"
-	use cvs \
-		|| myopts+=" NO_CVS=YesPlease"
-	use elibc_musl \
-		&& myopts+=" NO_REGEX=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=" NO_MMAP=YesPlease"
-#		myopts+=" NO_IPV6=YesPlease"
-#		myopts+=" NO_STRLCPY=YesPlease"
-#		myopts+=" NO_MEMMEM=YesPlease"
-#		myopts+=" NO_MKDTEMP=YesPlease"
-#		myopts+=" NO_MKSTEMPS=YesPlease"
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=" NO_NSEC=YesPlease"
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=" NEEDS_LIBICONV=YesPlease"
-		myopts+=" HAVE_CLOCK_MONOTONIC=1"
-		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
-			myopts+=" HAVE_GETDELIM=1"
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=" ASCIIDOC8=YesPlease"
-	myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=" NO_NSEC=YesPlease"
-
-	export MY_MAKEOPTS="${myopts}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		use doc && \
-			cd "${S}"/Documentation && \
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		cd "${S}"
-	else
-		git-r3_src_unpack
-		cd "${S}"
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die "sed failed"
-
-	# Never install the private copy of Error.pm (bug #296310)
-	sed -i \
-		-e '/private-Error.pm/s,^,#,' \
-		perl/Makefile.PL
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die "sed failed"
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		DESTDIR="${D}" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		OPTCC="$(tc-getCC)" \
-		OPTAR="$(tc-getAR)" \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		sysconfdir="${EPREFIX}"/etc \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		GIT_TEST_OPTS="--no-color" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	if use perl ; then
-	git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
-	git_emake perl/perl.mak || die "emake perl/perl.mak failed"
-	fi
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		cd "${S}"/contrib/credential/osxkeychain || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-	fi
-
-	cd "${S}"/Documentation
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		cd "${S}"
-	fi
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/libsecret
-		git_emake || die "emake git-credential-libsecret failed"
-	fi
-
-	cd "${S}"/contrib/subtree || die
-	git_emake
-	use doc && git_emake doc
-
-	cd "${S}"/contrib/diff-highlight || die
-	git_emake
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	cd "${S}"/contrib/subtree
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	cd "${S}"
-
-	if use mediawiki ; then
-		cd "${S}"/contrib/mw-to-git
-		git_emake install
-		cd "${S}"
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		cd "${S}"/contrib/credential/libsecret
-		dobin git-credential-libsecret
-	fi
-
-	if use subversion ; then
-		cd "${S}"/contrib/svn-fe
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		cd "${S}"
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED}"/usr/lib{64,}/perl5/ ; do
-			if test -d "$d" ; then find "$d" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=""
-	local tests_cvs="t9200-git-cvsexportcommit.sh \
-					t9400-git-cvsserver-server.sh \
-					t9401-git-cvsserver-crlf.sh \
-					t9402-git-cvsserver-refs.sh \
-					t9600-cvsimport.sh \
-					t9601-cvsimport-vendor-branch.sh \
-					t9602-cvsimport-branches-tags.sh \
-					t9603-cvsimport-patchsets.sh \
-					t9604-cvsimport-timestamps.sh"
-	local tests_perl="t3701-add-interactive.sh \
-					t5502-quickfetch.sh \
-					t5512-ls-remote.sh \
-					t5520-pull.sh \
-					t7106-reset-unborn-branch.sh \
-					t7501-commit.sh"
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot="t0001-init.sh \
-		t0004-unwritable.sh \
-		t0070-fundamental.sh \
-		t1004-read-tree-m-u-wf.sh \
-		t3700-add.sh \
-		t7300-clean.sh"
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn="t9100-git-svn-basic.sh"
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=" t5000-tar-tree.sh"
-	fi
-
-	cvs=0
-	use cvs && let cvs=$cvs+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ $cvs -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=" ${tests_cvs}"
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=" ${tests_nonroot}"
-	else
-		[[ $cvs -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=$cvs+1
-		[[ $cvs -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=$cvs+1
-		if [[ $cvs -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=" ${tests_cvs}"
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=" ${tests_perl}"
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=" ${test_svn}"
-
-	# Reset all previously disabled tests
-	cd "${S}/t"
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i "${S}"/t/Makefile
-
-	# Clean old results first, must always run
-	cd "${S}/t"
-	nonfatal git_emake clean
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	cd "${S}"
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	cd "${S}/t"
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/git for Git bash command completion"
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.18.0.ebuild b/dev-vcs/git/git-2.18.0.ebuild
deleted file mode 100644
index 2ed7063c51c..00000000000
--- a/dev-vcs/git/git-2.18.0.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	SCM="git-r3"
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Net-SMTP-SSL
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso,perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
-	"${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex python '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=" -lpcre2-8"
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=" -lpcre"
-		fi
-	fi
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=(
-#			NO_MMAP=YesPlease
-#			NO_IPV6=YesPlease
-#			NO_STRLCPY=YesPlease
-#			NO_MEMMEM=YesPlease
-#			NO_MKDTEMP=YesPlease
-#			NO_MKSTEMPS=YesPlease
-#		)
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=( NO_NSEC=YesPlease )
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=( NO_NSEC=YesPlease )
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-
-	# Fix git-subtree missing DESTDIR
-	sed -i \
-		-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-		-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g'  \
-		contrib/subtree/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake
-	use doc && git_emake doc
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "$d" ; then find "$d" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/git for Git bash command completion"
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.19.0.ebuild b/dev-vcs/git/git-2.19.0.ebuild
deleted file mode 100644
index f26b6776b94..00000000000
--- a/dev-vcs/git/git-2.19.0.ebuild
+++ /dev/null
@@ -1,706 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	SCM="git-r3"
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="mirror://kernel/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Net-SMTP-SSL
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso,perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use python ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex python '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=" -lpcre2-8"
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=" -lpcre"
-		fi
-	fi
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=(
-#			NO_MMAP=YesPlease
-#			NO_IPV6=YesPlease
-#			NO_STRLCPY=YesPlease
-#			NO_MEMMEM=YesPlease
-#			NO_MKDTEMP=YesPlease
-#			NO_MKSTEMPS=YesPlease
-#		)
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=( NO_NSEC=YesPlease )
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	[[ "${CHOST}" == *-uclibc* ]] && \
-		myopts+=( NO_NSEC=YesPlease )
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use python && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=
-		use nls && use !elibc_glibc && nlsiconv+=" -lintl"
-		use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake
-	use doc && git_emake doc
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "$d" ; then find "$d" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/git for Git bash command completion"
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2019-04-12  7:23 Robin H. Johnson
  0 siblings, 0 replies; 21+ messages in thread
From: Robin H. Johnson @ 2019-04-12  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     d25a7e5e0878baab48f80f7f6b971b61afd65f47
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 12 07:21:25 2019 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Apr 12 07:23:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d25a7e5e

dev-vcs/git: fix noisy git-submodule-foreach regression

Fix output regression upstream where:
'git submodule foreach --quiet git pull --quiet origin master >/dev/null'
Still gives output because foreach swallows some options to the
per-submodule command.

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 .../git-2.21.0-quiet-submodules-testcase.patch     |  38 ++
 .../git/files/git-2.21.0-quiet-submodules.patch    |  61 ++
 dev-vcs/git/git-2.21.0-r2.ebuild                   | 713 +++++++++++++++++++++
 3 files changed, 812 insertions(+)

diff --git a/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch b/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch
new file mode 100644
index 00000000000..0874ea9352e
--- /dev/null
+++ b/dev-vcs/git/files/git-2.21.0-quiet-submodules-testcase.patch
@@ -0,0 +1,38 @@
+From a57994f2d78134936521375ba9798a1b7418e230 Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Fri, 12 Apr 2019 00:00:07 -0700
+Subject: [PATCH] submodule foreach: test foreach option swallowing
+
+Add a testcase for submodule foreach option parsing not knowing where to
+stop taking options, and accidently removing options intended for
+foreach target commands.
+
+CC: Duy Nguyen <pclouds@gmail.com>
+CC: Prathamesh Chavan <pc44800@gmail.com>
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+---
+ t/t7407-submodule-foreach.sh | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh
+index 77729ac4aa..706ae762e0 100755
+--- a/t/t7407-submodule-foreach.sh
++++ b/t/t7407-submodule-foreach.sh
+@@ -411,4 +411,14 @@ test_expect_success 'multi-argument command passed to foreach is not shell-evalu
+ 	test_cmp expected actual
+ '
+ 
++test_expect_success 'option-like arguments passed to foreach commands are not lost' '
++	(
++		cd super &&
++		git submodule foreach "echo be --quiet" > ../expected &&
++		git submodule foreach echo be --quiet > ../actual
++	) &&
++	grep -sq -e "--quiet" expected &&
++	test_cmp expected actual
++'
++
+ test_done
+-- 
+2.21.0
+

diff --git a/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch b/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch
new file mode 100644
index 00000000000..adb0dfd582a
--- /dev/null
+++ b/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch
@@ -0,0 +1,61 @@
+From git-owner@vger.kernel.org Wed Apr 10 11:18:40 2019
+Date: 10 Apr 2019 18:18:35 +0700
+Message-ID: <20190410111834.GA25638@ash>
+From: "Duy Nguyen" <pclouds@gmail.com>
+Sender: git-owner@vger.kernel.org
+Subject: Re: regression AGAIN in output of git-pull --rebase --recurse-submodules=yes --quiet
+References: <robbat2-20180120T054223-685328376Z@orbis-terrarum.net>
+ <robbat2-20190410T062730-540884809Z@orbis-terrarum.net>
+List-ID: <git.vger.kernel.org>
+
+...
+
+If you run this with GIT_TRACE=1, you can see that --quiet is passed
+to submodule--helper correctly.
+
+trace: built-in: git submodule--helper foreach --quiet git pull --quiet origin master
+
+The problem here is the option parser of this command would try to
+parse all options, so it considers both --quiet the same thing and are
+to tell "submodule--foreach" to be quiet, the second --quiet is not
+part of the "git pull" command anymore.
+
+So the fix would be to pass "--" to stop option parsing.
+submodule--helper should not parse options it does not understand
+anyway. Something like this should work.
+
+-- 8< --
+diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
+index 6bcc4f1bd7..6394222628 100644
+--- a/builtin/submodule--helper.c
++++ b/builtin/submodule--helper.c
+@@ -571,7 +571,7 @@ static int module_foreach(int argc, const char **argv, const char *prefix)
+ 	};
+ 
+ 	argc = parse_options(argc, argv, prefix, module_foreach_options,
+-			     git_submodule_helper_usage, PARSE_OPT_KEEP_UNKNOWN);
++			     git_submodule_helper_usage, 0);
+ 
+ 	if (module_list_compute(0, NULL, prefix, &pathspec, &list) < 0)
+ 		return 1;
+diff --git a/git-submodule.sh b/git-submodule.sh
+index 2c0fb6d723..a967b2890d 100755
+--- a/git-submodule.sh
++++ b/git-submodule.sh
+@@ -346,7 +346,7 @@ cmd_foreach()
+ 		shift
+ 	done
+ 
+-	git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper foreach ${GIT_QUIET:+--quiet} ${recursive:+--recursive} "$@"
++	git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper foreach ${GIT_QUIET:+--quiet} ${recursive:+--recursive} -- "$@"
+ }
+ 
+ #
+-- 8< --
+
+I'm a bit reluctant to follow up with a proper patch because I can't
+digest the t5572-submodule-pull.sh tests. And we definitely need to
+add a test case about --quiet to make sure it won't happen again.
+--
+Duy
+

diff --git a/dev-vcs/git/git-2.21.0-r2.ebuild b/dev-vcs/git/git-2.21.0-r2.ebuild
new file mode 100644
index 00000000000..048a32cdf77
--- /dev/null
+++ b/dev-vcs/git/git-2.21.0-r2.ebuild
@@ -0,0 +1,713 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+	SCM="git-r3"
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: pu
+	case "${PVR}" in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=pu ;;
+	esac
+fi
+
+inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER="${MY_PV}"
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="mirror://kernel/software/scm/git"
+	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	[[ "${PV}" = *_rc* ]] || \
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+	gnome-keyring? ( app-crypt/libsecret )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	sys-libs/zlib
+	pcre? (
+		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+		!pcre-jit? ( dev-libs/libpcre )
+	)
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/MailTools
+		dev-perl/Authen-SASL
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso,perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		sys-apps/texinfo
+		app-text/xmlto
+	)
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	DEPEND="${DEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	subversion? ( perl )
+	webdav? ( curl )
+	pcre-jit? ( pcre )
+	python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
+
+	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+	# Make submodule output quiet
+	"${FILESDIR}"/git-2.21.0-quiet-submodules.patch
+	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]"; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+	if use python ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+		$(usex cvs '' NO_CVS=YesPlease)
+		$(usex elibc_musl NO_REGEX=YesPlease '')
+		$(usex iconv '' NO_ICONV=YesPlease)
+		$(usex nls '' NO_GETTEXT=YesPlease)
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+		$(usex python '' NO_PYTHON=YesPlease)
+		$(usex subversion '' NO_SVN_TESTS=YesPlease)
+		$(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
+		$(usex tk '' NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	elif use ppcsha1 ; then
+		myopts+=( PPC_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# broken assumptions, because of static build system ...
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# For svn-fe
+	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		if use pcre-jit; then
+			myopts+=( USE_LIBPCRE2=YesPlease )
+			extlibs+=( -lpcre2-8 )
+		else
+			myopts+=(
+				USE_LIBPCRE1=YesPlease
+				NO_LIBPCRE1_JIT=YesPlease
+			)
+			extlibs+=( -lpcre )
+		fi
+	fi
+# Disabled until ~m68k-mint can be keyworded again
+#	if [[ ${CHOST} == *-mint* ]] ; then
+#		myopts+=(
+#			NO_MMAP=YesPlease
+#			NO_IPV6=YesPlease
+#			NO_STRLCPY=YesPlease
+#			NO_MEMMEM=YesPlease
+#			NO_MKDTEMP=YesPlease
+#			NO_MKSTEMPS=YesPlease
+#		)
+#	fi
+	if [[ ${CHOST} == ia64-*-hpux* ]]; then
+		myopts+=( NO_NSEC=YesPlease )
+	fi
+	if [[ ${CHOST} == *-*-aix* ]]; then
+		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+		grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
+			myopts+=( HAVE_GETDELIM=1 )
+	fi
+
+	has_version '>=app-text/asciidoc-8.0' \
+		&& myopts+=( ASCIIDOC8=YesPlease )
+
+	# Bug 290465:
+	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+	[[ "${CHOST}" == *-uclibc* ]] && \
+		myopts+=( NO_NSEC=YesPlease )
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs[@]}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]]; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		cd "${S}" || die
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile contrib/svn-fe/Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use python && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
+		sysconfdir="${EPREFIX}"/etc \
+		DESTDIR="${D}" \
+		GIT_TEST_OPTS="--no-color" \
+		OPTAR="$(tc-getAR)" \
+		OPTCC="$(tc-getCC)" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		PERL_PATH="${EPREFIX}/usr/bin/perl" \
+		PERL_MM_OPT="" \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		V=1 \
+		"$@"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake || die "emake failed"
+
+	if use emacs ; then
+		elisp-compile contrib/emacs/git{,-blame}.el
+	fi
+
+	if use perl && use cgi ; then
+		git_emake \
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		pushd contrib/credential/osxkeychain &>/dev/null || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+		popd &>/dev/null || die
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man \
+			|| die "emake man failed"
+		if use doc ; then
+			git_emake info html \
+				|| die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info \
+				|| die "emake info html failed"
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		# by defining EXTLIBS we override the detection for libintl and
+		# libiconv, bug #516168
+		local nlsiconv=()
+		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
+		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
+		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
+			|| die "emake svn-fe failed"
+		if use doc ; then
+			git_emake svn-fe.{1,html} \
+				|| die "emake svn-fe.1 svn-fe.html failed"
+		fi
+		popd &>/dev/null || die
+	fi
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		git_emake || die "emake git-credential-libsecret failed"
+		popd &>/dev/null || die
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake
+	use doc && git_emake doc
+	popd &>/dev/null || die
+
+	pushd contrib/diff-highlight &>/dev/null || die
+	git_emake
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake
+		popd &>/dev/null || die
+
+	fi
+}
+
+src_install() {
+	git_emake \
+		install || \
+		die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	local d
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	if use emacs ; then
+		elisp-install ${PN} contrib/emacs/git.{el,elc}
+		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+		# don't add automatically to the load-path, so the sitefile
+		# can do a conditional loading
+		touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
+		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+	fi
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake install || die "Failed to emake install git-subtree"
+	if use doc ; then
+		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake install
+		popd &>/dev/null || die
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	if use subversion ; then
+		pushd contrib/svn-fe &>/dev/null || die
+		dobin svn-fe
+		dodoc svn-fe.txt
+		if use doc ; then
+			doman svn-fe.1
+			docinto html
+			dodoc svn-fe.html
+		fi
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - installed above
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hg-to-git
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	local i
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED%/}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
+			if test -d "${d}" ; then find "${d}" \
+				-name .packlist \
+				-delete || die
+			fi
+		done
+	else
+		rm -rf "${ED%/}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
+			"${ED%/}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if use !prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
+			rm -r "${ED%/}/usr/share/locale/${1}" || die
+		fi
+	}
+	l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+	local disabled=()
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]]; then
+		if [[ ${cvs} -eq 1 ]]; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		[[ ${cvs} -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=${cvs}+1
+		[[ ${cvs} -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=${cvs}+1
+		if [[ ${cvs} -lt 3 ]]; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
+		-i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+	elog "completion."
+	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	elog "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2019-10-21  8:18 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2019-10-21  8:18 UTC (permalink / raw
  To: gentoo-commits

commit:     17161e61761c5a45c0ce4cbab86a7629994e700d
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 21 08:18:25 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Oct 21 08:18:25 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17161e61

dev-vcs/git: Removed old

Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |   6 -
 .../git/files/git-2.21.0-quiet-submodules.patch    |  61 --
 dev-vcs/git/git-2.21.0-r2.ebuild                   | 716 --------------------
 dev-vcs/git/git-2.22.0.ebuild                      | 721 ---------------------
 dev-vcs/git/git-2.22.1.ebuild                      | 721 ---------------------
 5 files changed, 2225 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 4f0a6ba2117..db99eb21314 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,18 +1,12 @@
 DIST git-2.19.2.tar.xz 5235608 BLAKE2B ece292b8cf41deafc63c00e6176b0de39936f7d840d776192f32c1e293abc06c39119d13ed947d3de6a212fa6973bedb288c06f8bfcfc8144e563d5af40e45da SHA512 1d707c1a7a16fe9399592b0354e9023f701b019f36fe775997c46354d40617a80fa04aacc5330825c4f9301c2910ead8b26274a7f3b92e9d790b4705c0d7aa96
 DIST git-2.21.0.tar.xz 5491296 BLAKE2B c5e66f4d4045f99bb4306e8f096ae9299908383df78bdf2a954cd415f4778eb59ea0ee7d501689313617de7dc1d2ee4ae15ab70dee564add5de877109073ddff SHA512 83f57c3950a07f6773a3aea66611d22daba0e5599e5d8f0751a16f6fdbeab0f3844d942a39a5642051212df99d1d4513253c36829b1454b4f0977cc6026fd973
-DIST git-2.22.0.tar.xz 5609772 BLAKE2B 3fd84987eba4873d7eca56cc2d28e15cc22e5c382f47e831f12c06b05c1a971d5713e7096b609ec5321e5ae4c63c78ebc7747f7e0948d12bf1ac19a911405d6d SHA512 75b3dcac36f80281effcd099944de34050a35f3599ce42f86ce60455b6c952039fb0f6438d296e0cc9c0651d4a17f467780dc475669227d3c98ddefe91723d42
-DIST git-2.22.1.tar.xz 5616124 BLAKE2B 2856bf5dc446921eab0fb92db6c6505de870d75f2baf7e95cf5796acba3198db789f26bc617da2a1f736fa3a22ee91b77524213ba880f959ea71c449b604f7c2 SHA512 8fa0900e1a583cdacbafa2e0d00a4cb50ad225c11227f6a811b721e56677b62b1354995e2b7117a66b1e89dbcb2cddc1eee7ef1e57723d9615a063a318095f14
 DIST git-2.23.0.tar.xz 5707148 BLAKE2B a57642cfc297615c9510d9d746d83fc4174195bfefe22fc77098419e424d4f6e383896ad5509370c8cc35b2f4b531dcf5c5a4e9c2d2e99041ad15a40399ec4d2 SHA512 c0bb29b3689ec2e157f90df849599ca149a08fc0c69f6a68b1f3219b6335d521983e6ed58cd364b86398e4dcf9e84892fb9eded79a1c97b74150edca299cf671
 DIST git-2.24.0.rc0.tar.xz 5752264 BLAKE2B 44dfd9a8fc16328da5f028ff6b0a29945bb90cee756223f6a21e9fea7735309a367f2c1329ed32f461e58a5f5aa3364055d0817b312371610a3c5ad79c8a1294 SHA512 94aa91496bd34f691a1de2bb9610a77b949b26a73cad3dab84f15461c6b3ffa1f6a272f6ea2248b7cf50797e7ccc27ca3cd033980f37b95bf9339a33ffb358f8
 DIST git-htmldocs-2.19.2.tar.xz 1223848 BLAKE2B 6f30192cb101988fdfcce3bb79c684c6d1ac08cdc929caa049102fba10277fa8cc908904fe7472e40d60707c1b23145d95c441c1401c8697c37a81456d79aab8 SHA512 830e780beea10bde750d09a335fd9986c5ffbf47a724cbbeed5a1a2c94bc81d9c9223e415c5888faf81ab6404e460565434988f6635312039b88282a46014634
 DIST git-htmldocs-2.21.0.tar.xz 1234956 BLAKE2B d8ef32acbad7eeb8758f711e09c380dbf3ca72526067b3a86ed0865e37351c4fac1f0c7e845e7b0c27a1d955c64622f10c999389446b53191acdc05a44647847 SHA512 4537b3f67d03050e5daefaa6f274d3acdf6e116dc8c7f76566b33100e76a445c3e3894b5ff63b5ddb024e1c691a3bf08acea42dbec681da1b0f1de2e5736c9c4
-DIST git-htmldocs-2.22.0.tar.xz 1262136 BLAKE2B 0fea02449e73a9e1b125895f0e319704ccc5949cd68820cadb1a71fc06d182c3ce0629149c9d7f19bdab782fd8c0e1ac8661fc774253caf897fc8fd58e497d9e SHA512 2feab5d3bc70914d7980c8a22f950a9604cbaace2e867119776715f1ba7bdb3c742fbd9aaa827210b234e6381d98611e02dec4e50db4cae4e20bb72116afecb1
-DIST git-htmldocs-2.22.1.tar.xz 1264164 BLAKE2B 88722e4438c75bf875477caaa40060955f52ddadaa13f506fe975eaa92748fc44e2ba1ccfe15d88843013e931975176eb6b7433efe4d71bbbc3cca2ac6afd037 SHA512 b78d5a59df2ec4beff3915b15c0c6af0e54dbf457f0e29c8d92c49880259f03a91b12b40787a1d0b7c9751f42e48a9a3fd1258818121d5d0f45b1cc8d45b3715
 DIST git-htmldocs-2.23.0.tar.xz 1294240 BLAKE2B 7420eb836d582448a996d8302d1e4873316baadd3a1baae555935443028af6a9c9e1fa629d5e0667901b8c63cce19bbf5e46c5fcb09b50382751e6b2cbc3d514 SHA512 165c8989ed9c0c09125e2e99beeddd1f2bb4d00ecae4aa58bcbfb1f1a8cd5a6ad646035e984471484fd1e943437d5d42d917e8c32b1207c590a1fc7c9bebc2dc
 DIST git-htmldocs-2.24.0.rc0.tar.xz 1306236 BLAKE2B 121ad29af059e6d25729d5cfbc3e94adfa00c74edd55311a6d8ded84a1428871379b654279a96fb056771a70e2c1821f1124a8eac136fcc549e6359b05e65671 SHA512 5859073f166edd62b1415785a9e64c19635c8737ee81c28b76cf68923332f1f55479ab5589ab4b3fcdf4dfe5c4357c3feee1c1db1440440493ebad60b9e0f422
 DIST git-manpages-2.19.2.tar.xz 432200 BLAKE2B 92b4c87c40e20133c4b6d9b7f3d56952556470855543a329ea0fb7a91382396376755656ded029d68df8291b0ffecc3e6b2b4c6f71cb8694d44c5f02da7357f8 SHA512 329ea9a6de4a5352c57d2ea3df0cf6caf9dcf03728416a3bca5a5ebc5dc133abe1faffd5e5b5ae11cc91412baff93df83ff684f3626bbac0770ca94bc79d2cb1
 DIST git-manpages-2.21.0.tar.xz 440096 BLAKE2B 6cbedf6e497b0d13c62003b166293a0d438d163255bce845eaf75e08a3eec49060c314e73d24c1c015101868d9149e9b0cd1c2e8cb3ce2245b8acae5701fe8ba SHA512 61e01cd312dbade8aac0144e32edc5eea2708b274273c207889a291cea18d131c9c2d83cc405ba8a955d387fd1e6dd74b7bdae4003f2062501073a0844122d30
-DIST git-manpages-2.22.0.tar.xz 443320 BLAKE2B 900efc3c90ab949bea4655a82febd01a8ec9dfdd39cff3d9cffb5912925bdc60567c3f8cc3fe63a42eb4c390d795b02f30608f672481e41a2aaae8ce9edc109a SHA512 ed9d2ba78fe5081c80a1ffb911ce0e0d883a76b3b4b3d1469c46932e710d1565cf223f74f1402fe94430e3eda514406829b2c422f31ced63ff5126004fdb36d9
-DIST git-manpages-2.22.1.tar.xz 443912 BLAKE2B 794f2edaf2cd4436b9dd19005dfe6e8b92d994fee49ac0b38ccc12cbc9fc0a7bc95c1d6fe6882a91f72ceb3cb1729c0a6d7abcd1f5d00f2e7ab36af6c604718e SHA512 e7d2c9c868fc57271e9c70771a0da527597428a55647d0779fce818988c8f74fc61dba0804cb789e1200c9147c7853bd7f89c241e5c477fd30a119d0104905d6
 DIST git-manpages-2.23.0.tar.xz 448272 BLAKE2B 34dcb535caf54bfa9ea8e9f2d8104fe74e4c38398d685a712735c0199dab59cfeac16f863c6285a1122139cb2be99cfad4ba7c3f71e88603284815536172ccbc SHA512 f4316f28d8f462804cee3e6f5d19a1426087dbeb0e6141148d9b021562c86723cbd4f96d30cc650b2b41230e097c3a1f574055b8b7e5025cbb90089484bf9e96
 DIST git-manpages-2.24.0.rc0.tar.xz 453624 BLAKE2B ea85374f8dcd98adeae1d1576e830c7a420c638c6a37e5f7a02ff2143775a26c554892a622d623524ff871641e8ce35a851ce85aa4a7cce95ca88336c7fcf382 SHA512 50f2095a29c9cb15bd10120d108eec635bc9aa0261e88361211e77d11df4a5e2cc56446cecb75568593c24025adb5179de614e3e44b5f208c05ae263af0a5d21

diff --git a/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch b/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch
deleted file mode 100644
index adb0dfd582a..00000000000
--- a/dev-vcs/git/files/git-2.21.0-quiet-submodules.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From git-owner@vger.kernel.org Wed Apr 10 11:18:40 2019
-Date: 10 Apr 2019 18:18:35 +0700
-Message-ID: <20190410111834.GA25638@ash>
-From: "Duy Nguyen" <pclouds@gmail.com>
-Sender: git-owner@vger.kernel.org
-Subject: Re: regression AGAIN in output of git-pull --rebase --recurse-submodules=yes --quiet
-References: <robbat2-20180120T054223-685328376Z@orbis-terrarum.net>
- <robbat2-20190410T062730-540884809Z@orbis-terrarum.net>
-List-ID: <git.vger.kernel.org>
-
-...
-
-If you run this with GIT_TRACE=1, you can see that --quiet is passed
-to submodule--helper correctly.
-
-trace: built-in: git submodule--helper foreach --quiet git pull --quiet origin master
-
-The problem here is the option parser of this command would try to
-parse all options, so it considers both --quiet the same thing and are
-to tell "submodule--foreach" to be quiet, the second --quiet is not
-part of the "git pull" command anymore.
-
-So the fix would be to pass "--" to stop option parsing.
-submodule--helper should not parse options it does not understand
-anyway. Something like this should work.
-
--- 8< --
-diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
-index 6bcc4f1bd7..6394222628 100644
---- a/builtin/submodule--helper.c
-+++ b/builtin/submodule--helper.c
-@@ -571,7 +571,7 @@ static int module_foreach(int argc, const char **argv, const char *prefix)
- 	};
- 
- 	argc = parse_options(argc, argv, prefix, module_foreach_options,
--			     git_submodule_helper_usage, PARSE_OPT_KEEP_UNKNOWN);
-+			     git_submodule_helper_usage, 0);
- 
- 	if (module_list_compute(0, NULL, prefix, &pathspec, &list) < 0)
- 		return 1;
-diff --git a/git-submodule.sh b/git-submodule.sh
-index 2c0fb6d723..a967b2890d 100755
---- a/git-submodule.sh
-+++ b/git-submodule.sh
-@@ -346,7 +346,7 @@ cmd_foreach()
- 		shift
- 	done
- 
--	git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper foreach ${GIT_QUIET:+--quiet} ${recursive:+--recursive} "$@"
-+	git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper foreach ${GIT_QUIET:+--quiet} ${recursive:+--recursive} -- "$@"
- }
- 
- #
--- 8< --
-
-I'm a bit reluctant to follow up with a proper patch because I can't
-digest the t5572-submodule-pull.sh tests. And we definitely need to
-add a test case about --quiet to make sure it won't happen again.
---
-Duy
-

diff --git a/dev-vcs/git/git-2.21.0-r2.ebuild b/dev-vcs/git/git-2.21.0-r2.ebuild
deleted file mode 100644
index ce068966a44..00000000000
--- a/dev-vcs/git/git-2.21.0-r2.ebuild
+++ /dev/null
@@ -1,716 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	SCM="git-r3"
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" = *_rc* ]] || \
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso,perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		sys-apps/texinfo
-		app-text/xmlto
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules.patch
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREAD=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=(
-#			NO_MMAP=YesPlease
-#			NO_IPV6=YesPlease
-#			NO_STRLCPY=YesPlease
-#			NO_MEMMEM=YesPlease
-#			NO_MKDTEMP=YesPlease
-#			NO_MKSTEMPS=YesPlease
-#		)
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=( NO_NSEC=YesPlease )
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			git_emake svn-fe.{1,html} \
-				|| die "emake svn-fe.1 svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake
-	use doc && git_emake doc
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake \
-		install || \
-		die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install git-subtree"
-	if use doc ; then
-		git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.22.0.ebuild b/dev-vcs/git/git-2.22.0.ebuild
deleted file mode 100644
index b8522337d04..00000000000
--- a/dev-vcs/git/git-2.22.0.ebuild
+++ /dev/null
@@ -1,721 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso,perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREAD=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=(
-#			NO_MMAP=YesPlease
-#			NO_IPV6=YesPlease
-#			NO_STRLCPY=YesPlease
-#			NO_MEMMEM=YesPlease
-#			NO_MKDTEMP=YesPlease
-#			NO_MKSTEMPS=YesPlease
-#		)
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=( NO_NSEC=YesPlease )
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.22.1.ebuild b/dev-vcs/git/git-2.22.1.ebuild
deleted file mode 100644
index b8522337d04..00000000000
--- a/dev-vcs/git/git-2.22.1.ebuild
+++ /dev/null
@@ -1,721 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( virtual/emacs )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso,perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREAD=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-# Disabled until ~m68k-mint can be keyworded again
-#	if [[ ${CHOST} == *-mint* ]] ; then
-#		myopts+=(
-#			NO_MMAP=YesPlease
-#			NO_IPV6=YesPlease
-#			NO_STRLCPY=YesPlease
-#			NO_MEMMEM=YesPlease
-#			NO_MKDTEMP=YesPlease
-#			NO_MKSTEMPS=YesPlease
-#		)
-#	fi
-	if [[ ${CHOST} == ia64-*-hpux* ]]; then
-		myopts+=( NO_NSEC=YesPlease )
-	fi
-	if [[ ${CHOST} == *-*-aix* ]]; then
-		myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2021-01-07 13:01 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2021-01-07 13:01 UTC (permalink / raw
  To: gentoo-commits

commit:     69a176799561726159e8eb77ba461d6db4489900
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  7 13:01:32 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Jan  7 13:01:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69a17679

dev-vcs/git: Removed old

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |  12 -
 .../files/git-2.23.0-avoid_empty_remote_line.patch | 145 -----
 dev-vcs/git/git-2.23.3.ebuild                      | 708 --------------------
 dev-vcs/git/git-2.24.3.ebuild                      | 711 ---------------------
 dev-vcs/git/git-2.25.4.ebuild                      | 711 ---------------------
 dev-vcs/git/git-2.27.0.ebuild                      | 711 ---------------------
 6 files changed, 2998 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index dba31886e21..84704c8f94d 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -1,24 +1,12 @@
-DIST git-2.23.3.tar.xz 5716108 BLAKE2B 9d0e63e075d8e64bf2772bdd3e49e9907ae093bcfe6a73a003c3bb8a61f557cce154ef8011aa7d068eaca49f8f14c027d935d7ef2fcbc21eb511f803dfbf4a00 SHA512 29b1344fed72c588e9a04d3fb493f2f91490f61853d48644a2d36c23c3251cf1fd549c256def25865e9f33b50135cdfa5108814105d9fcf360d6d1938487d2bf
-DIST git-2.24.3.tar.xz 5774192 BLAKE2B a8bea56f85a12863565325984a303ac2d964e0371de5252252a736a376a22cc1695da15b46d35bdec8a36c2ebd7ba7040727265acee37892350aad08209ed15f SHA512 b2fbafd0faa06a304e960f78696f5c033eb5330b18af28c0d169af86aa836dada0c3cf349993b1c9a6129d0c42788167a393f9db9be981610318dca5743b2c87
-DIST git-2.25.4.tar.xz 5880976 BLAKE2B a3ac79918ba174a93844d9518a2f1c6970abe2cd31acea260742d3c03a31a03131f53603a3bd3e525a60f8ebcfbbaa3b92228e2486717ca2d389a978e39bd5ec SHA512 ca2ecc561d06dbb393fe47d445f0d69423d114766d9bcc125ef1d6d37e350ad903c456540cea420c1a51635b750cde3901e4196f29ce95b315fda11270173450
 DIST git-2.26.2.tar.xz 6007864 BLAKE2B efce003a95e24dbb6e14feebd35874c9ed1a5c06d7f0722d4dfefae830613b64b81faa41d5952400fa382b385d15d48829f8ee3b4d065e134bd38fa0e10bf570 SHA512 5d92d07b171c5cd6e89a29c1211c73c1c900cd51c74d690aebfb4a3d0e93b541b09b42b6d6a1a82f5c3d953096771f9a8605c63be139f559f58698c1a0eabcfc
-DIST git-2.27.0.tar.xz 6074636 BLAKE2B 72c992ee35a50cdeb2363f04edfab65358216b8415f31f217b6e837d1f7bc28b90e49850006596a8f5f1932fd3011c4253df287d445dca58e335d2f6e7bab8c2 SHA512 8ddea44503db7caf1f6080e64555541aa64a7b8761fd6541965ee244d9c4a47befccda1a239f11d86c2ad0ff24923d084f65712f5f2d6cfa178573e3471c6c33
 DIST git-2.28.0.tar.xz 6117608 BLAKE2B 81c834dfda5b8e3065d098e411eb2408a1e7ccfde9c447a4164c131c9c2c32dcfd888980bcd180952435c05976a4fa18c155830432170deff70aa1aa2989cd2a SHA512 a6159c0a15e3c5f9603157d4010664a6d74e7d65b9fe97a03b36fac12607248ed57980d96565841e88eae343001c167222232737d3af812608c8db011941df1a
 DIST git-2.29.2.tar.xz 6187988 BLAKE2B 15c2446a266d7cc3032e4b3bd32f57a2c2ff3d377848f307225ea585883c993ed835c8ffe02202386360b94f5a1f4bd3124322f0034c0d65ed15aa28b7e45ffa SHA512 34117628c6d43ac0940c43bffaa1bda7f12af863728f391492725a3e57d1bbda523cf7734e90f463fe9a9ae4e70fc1cc2523643dbb3c27377d98dc4736b0ea62
 DIST git-2.30.0.tar.xz 6325652 BLAKE2B c5a67ccb7790f1747d714b402f22de6bd5cf783de8765fade7af0ad51ac780c80d43ab22b33431b57db246a11ef073dfd291961476a3c9414339f133221cbea6 SHA512 2ce154d6e224e78d7da2ea9b954d8cf56bdfe43636b93dd5045a950a7362d3943866b4949eb5ed03528d6e5f0466c33c233b502d84430ed9d90326bcc696101d
-DIST git-htmldocs-2.23.3.tar.xz 1295344 BLAKE2B 7a6d8198cf8285717f11731ea907ea06786c486701a729d071deedc5437a595dab355ae2d0ac2814b10503ab4161e76a1245663a9ce35ce48d03be9905315db3 SHA512 2c86c03f29f1a4fc2acb17a17a9e1a3df2ec95138895f5c8e776859772ebc7b95c24af0e328508ccf1ea85b7adaa86a9aedc4d0c353ffc91ad5810ecc9a48059
-DIST git-htmldocs-2.24.3.tar.xz 1307828 BLAKE2B 5d6dda03e2c51346326a1258a14a0ee16fab7fe83c80b4a1a0b307a6343db851d89b96afcf616e10ad5831352a90332ac602e5713444855327e11be8992a5274 SHA512 14289fb46cff48bece0cdafea9ef201facdb58eafce4b735ce50489356deb993c481ac1b6e96a2f98cfe30434280997c47f2cca0bdb2b6e85c31cb7cf17cc257
-DIST git-htmldocs-2.25.4.tar.xz 1296896 BLAKE2B 4f6469acdcd699698bd1f19bd0d911fd522c1890115f25c087a7870b855eb9354340fe17e9e6aaec7fb27cd951fe28cadbf26e1aeadc76f3c3a1cde4d23e42cd SHA512 e10c6fa52e213a2b18290fed375f6e176eef17b0a19f6906f09d6228d18bece88ff0ec97d871db0ba29fc0fbff73740312ab01eab809bd6a9a41c8b295cf8d67
 DIST git-htmldocs-2.26.2.tar.xz 1304788 BLAKE2B e0de88c5c41646d5fb9b54e2ee873c7904e1b85c67f971499f0227eb2dd59cabd4ffc58c468cf8a7a7466920af972dbc7f95d78003e487edac9a15a9c49b80a2 SHA512 b577693180b4fc035af211e3b83e98ad5e1bfbb98706924858df6558383b82ca05f870bdae90f8a14c8bf664f091ee928af52dcdebdfb98dc7387fdfe2e3a396
-DIST git-htmldocs-2.27.0.tar.xz 1325820 BLAKE2B a86cb62b6e42e451201a69e92c897566a78ed4965a98ef7b09f7c4674f60a334357ea8834ec5d97764f5f7e8fe580b8ac3af4da588b72a0e01f065adcd019aec SHA512 6af974ea6c8458f72c5fc7a372611e0153b705a85092a5fe37587a3165368712e077f582ce4085538f48df925d60898b96c32275182b7ef034711ab53e7ab811
 DIST git-htmldocs-2.28.0.tar.xz 1347596 BLAKE2B 9c447f951cc31eb306841d12a94aefd3bb9699f374f2919f7eed0789f6b49cd54df74ecddaa1475203a5dca33140787f53272774f71ccbb48e5da5f1ab6bfbde SHA512 bbe7a7c221d1bb8d9852d5210a80b3d60c5b66f159591971abb2d9a08570cb7bf85686c7eba8cf37e04d37d63702906b308692a68c05fdbd0e3f3d60322003f0
 DIST git-htmldocs-2.29.2.tar.xz 1364856 BLAKE2B 76498ef5bfdc058ad1e7c3b2c0c5ba715fa2682c7429db837cfeb7abe64ae3561e8b3f2dc032dd193514778271a040b1b120071d12ae5082a415db5084c7b6aa SHA512 d7223160af9bc97201bff59b94c8c09d331cdb9f979c878698230bb579b3f4751b6a455d8413ce09a507799744d7e3c77a2ad4d265386de7ef3ba9e11fb20445
 DIST git-htmldocs-2.30.0.tar.xz 1340536 BLAKE2B 2204b276b941497e0ff5f1710c55b42f573b4eebd96619041db7afabb5a5d36252b2582b29e3d083abaf5da478810d056df83bdfa1d08c5396ffe03d0d858820 SHA512 3fc53a508497621c8af5ea26337407ed9489e768160c7063cfcc4bb53f51631ef968057f1498e37a901313aa08b4153533ca15a9bdfcbd04d2ed11256007db3e
-DIST git-manpages-2.23.3.tar.xz 449464 BLAKE2B bfc0153e43724df7210110e836d47f17258e45a876aa9bf4604c3f38e690e0e5379d4394df96c3dd84ea4d7371b7843729e6fb5d4b43fd7d4a9b4c3f4062a922 SHA512 a7b5fc48a5b840eb9b668b441ad3c30f65adc73c22cda461ffaca1cfddf154bf1974cab6c372b4534fd45a43a2e2ab96513364845a7db4285b88e31bf7619f8e
-DIST git-manpages-2.24.3.tar.xz 454796 BLAKE2B b340b33593e596a7a87385110fea53a96b68f0b0c5c02e046a1aff5ff7c7a6bf3d7a55c4d33796db8e84824df72451ad51db9fc44df4840ecd0183c0ef49eba0 SHA512 22709e159196da27befc26eef3ab40dab9700c95abf6892860a81c8e5df7d85ad423c877e6c88949cfc611c4dfebd956f02a78f0340c1cd4d58c48f80e3e1cce
-DIST git-manpages-2.25.4.tar.xz 459344 BLAKE2B b0ac88f691984f39f6cfbf41d2d61ab443573974277536641daddf0e9b7755ea9cb6bc96ecf3c14479809036171e461eff72cb498c63a56eea041341b8a65af5 SHA512 a67b881f289d5b3e2187ad55c5176258c30108c73fc7c18d50c1a6b42b241ce46dba28acf2f7bfc994b044444a6678096a35ad60936ea6cba07b52ddf647da17
 DIST git-manpages-2.26.2.tar.xz 462052 BLAKE2B 27fc44360c9f890e9f7754e8423f5596548f076f5fec5dfc6c752e8b3caa5f64ba182c1566b67878b19fbb115297e08def1bf9d2711c7334cbb8e1b20fc039a1 SHA512 9591e94683a6b49d8b9f2afddc826576023fdfa6de6db4af3a28a2af00b175d5be710d86a31d0f1b8320cc38b6f27698e17fb3e8c1f2b0c5ced37296ef1109b6
-DIST git-manpages-2.27.0.tar.xz 470724 BLAKE2B 83db9c5aaf9ada63d4e6146ffa4f20f1d21797ba7c7b27ade9d6f4dedb1091591b8afe4f368a4433cf75d2b148d68cec725f5504504c703eb7c22916d17b8069 SHA512 a4ceb7b86d67d15a52fec22e9bac5c8b1a5447041c3278710c2e24f70d6d443853d6a6ec5eb5ab7633390c5fa2494dd495096c26a6467d9cb13d9da007a73d12
 DIST git-manpages-2.28.0.tar.xz 472524 BLAKE2B 84752bee094eb879be8905dd561593e9f2a71d91971be7be83ed421bdeef83f7165f9506297bf23127a46a1d05c718999dab6b3ac3bda0ce0fba95ca64145de8 SHA512 ba4d41c2c2efd1eb5ab8ccf00efcebbc2fbbd31ab325da66b05181d15f677c2fc97c9eefd58c3b1c75a07276b399214f398df8d084c1a5092f982ce392876a2f
 DIST git-manpages-2.29.2.tar.xz 478516 BLAKE2B d9a9840a8c869e2f7f9dade12c780032a7eeff59314b4d45c8c65e3f076e0335f0674c484fe7cebbc70d13b51a17b5fcf69b1bd51dca7ff226d76b1fed33d8bf SHA512 f2af31f8b2242961a0633258dd4668dbf21b26eff440e302608bc5bee2ed45a3e573528cdd0f11503d0ac4745e03cb457d99f5529fc96c105ce441ece07e4fe8
 DIST git-manpages-2.30.0.tar.xz 481792 BLAKE2B 9f6273e36e06a0296506d43b25a826cef9e459fdd25ad2f844de323b998fe9b5a7e5181b21257e7b297ea4ce2e16cfaacf7f1c7486ce26b59e39e643361d4745 SHA512 9593d9bef8b3bdcd5645cf89e0f0c53989342414363ce85cfd46da181750c92e8f6dbd860c6badc9d871b383bb9cf273b4fb3af7f6d46a8df6b95fddeab578ae

diff --git a/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch b/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch
deleted file mode 100644
index f2bc3fd634e..00000000000
--- a/dev-vcs/git/files/git-2.23.0-avoid_empty_remote_line.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From bbf47568ad7e91ab0962b314c054a2da03232c72 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= <szeder.dev@gmail.com>
-Date: Mon, 16 Sep 2019 22:54:11 +0200
-Subject: [PATCH] Revert "progress: use term_clear_line()"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit 5b12e3123b (progress: use term_clear_line(),
-2019-06-24), because covering up the entire last line while refreshing
-the progress line caused unexpected problems during 'git
-clone/fetch/push':
-
-  $ git clone ssh://localhost/home/szeder/src/tmp/linux.git/
-  Cloning into 'linux'...
-  remote:
-  remote:
-  remote:
-  remote: Enumerating objects: 999295
-
-The length of the progress bar line can shorten when it includes
-throughput and the unit changes, or when its length exceeds the width
-of the terminal and is broken into two lines.  In these cases the
-previously displayed longer progress line should be covered up,
-because otherwise the leftover characters from the previous progress
-line make the output look weird [1].  term_clear_line() makes this
-quite simple, as it covers up the entire last line either by using an
-ANSI control sequence or by printing a terminal width worth of space
-characters, depending on whether the terminal is smart or dumb.
-
-Unfortunately, when accessing a remote repository via any non-local
-protocol the remote 'git receive-pack/upload-pack' processes can't
-possibly have any idea about the local terminal (smart of dumb? how
-wide?) their progress will end up on.  Consequently, they assume the
-worst, i.e. standard-width dumb terminal, and print 80 spaces to cover
-up the previously displayed progress line.  The local 'git
-clone/fetch/push' processes then display the remote's progress,
-including these coverup spaces, with the 'remote: ' prefix, resulting
-in a total line length of 88 characters.  If the local terminal is
-narrower than that, then the coverup gets line-wrapped, and after that
-the CR at the end doesn't return to the beginning of the progress
-line, but to the first column of its last line, resulting in those
-repeated 'remote: <many-spaces>' lines.
-
-By reverting 5b12e3123b (progress: use term_clear_line(),
-2019-06-24) we won't cover up the entire last line, but go back to
-comparing the length of the current progress bar line with the
-previous one, and cover up as many characters as needed.
-
-[1] See commits 545dc345eb (progress: break too long progress bar
-    lines, 2019-04-12) and 9f1fd84e15 (progress: clear previous
-    progress update dynamically, 2019-04-12).
-
-Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
-Signed-off-by: Junio C Hamano <gitster@pobox.com>
----
- progress.c                 | 29 ++++++++++++++++++-----------
- t/t5541-http-push-smart.sh |  6 +++---
- 2 files changed, 21 insertions(+), 14 deletions(-)
-
-diff --git a/progress.c b/progress.c
-index 277db8afa2..0eddf1804d 100644
---- a/progress.c
-+++ b/progress.c
-@@ -88,6 +88,7 @@ static void display(struct progress *progress, uint64_t n, const char *done)
- 	const char *tp;
- 	struct strbuf *counters_sb = &progress->counters_sb;
- 	int show_update = 0;
-+	int last_count_len = counters_sb->len;
- 
- 	if (progress->delay && (!progress_update || --progress->delay))
- 		return;
-@@ -115,21 +116,27 @@ static void display(struct progress *progress, uint64_t n, const char *done)
- 	if (show_update) {
- 		if (is_foreground_fd(fileno(stderr)) || done) {
- 			const char *eol = done ? done : "\r";
-+			size_t clear_len = counters_sb->len < last_count_len ?
-+					last_count_len - counters_sb->len + 1 :
-+					0;
-+			/* The "+ 2" accounts for the ": ". */
-+			size_t progress_line_len = progress->title_len +
-+						counters_sb->len + 2;
-+			int cols = term_columns();
- 
--			term_clear_line();
- 			if (progress->split) {
--				fprintf(stderr, "  %s%s", counters_sb->buf,
--					eol);
--			} else if (!done &&
--				   /* The "+ 2" accounts for the ": ". */
--				   term_columns() < progress->title_len +
--						    counters_sb->len + 2) {
--				fprintf(stderr, "%s:\n  %s%s",
--					progress->title, counters_sb->buf, eol);
-+				fprintf(stderr, "  %s%*s", counters_sb->buf,
-+					(int) clear_len, eol);
-+			} else if (!done && cols < progress_line_len) {
-+				clear_len = progress->title_len + 1 < cols ?
-+					    cols - progress->title_len - 1 : 0;
-+				fprintf(stderr, "%s:%*s\n  %s%s",
-+					progress->title, (int) clear_len, "",
-+					counters_sb->buf, eol);
- 				progress->split = 1;
- 			} else {
--				fprintf(stderr, "%s: %s%s", progress->title,
--					counters_sb->buf, eol);
-+				fprintf(stderr, "%s: %s%*s", progress->title,
-+					counters_sb->buf, (int) clear_len, eol);
- 			}
- 			fflush(stderr);
- 		}
-diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
-index b86ddb60f2..92bac43257 100755
---- a/t/t5541-http-push-smart.sh
-+++ b/t/t5541-http-push-smart.sh
-@@ -262,7 +262,7 @@ test_expect_success TTY 'push shows progress when stderr is a tty' '
- 	cd "$ROOT_PATH"/test_repo_clone &&
- 	test_commit noisy &&
- 	test_terminal git push >output 2>&1 &&
--	test_i18ngrep "Writing objects" output
-+	test_i18ngrep "^Writing objects" output
- '
- 
- test_expect_success TTY 'push --quiet silences status and progress' '
-@@ -277,7 +277,7 @@ test_expect_success TTY 'push --no-progress silences progress but not status' '
- 	test_commit no-progress &&
- 	test_terminal git push --no-progress >output 2>&1 &&
- 	test_i18ngrep "^To http" output &&
--	test_i18ngrep ! "Writing objects" output
-+	test_i18ngrep ! "^Writing objects" output
- '
- 
- test_expect_success 'push --progress shows progress to non-tty' '
-@@ -285,7 +285,7 @@ test_expect_success 'push --progress shows progress to non-tty' '
- 	test_commit progress &&
- 	git push --progress >output 2>&1 &&
- 	test_i18ngrep "^To http" output &&
--	test_i18ngrep "Writing objects" output
-+	test_i18ngrep "^Writing objects" output
- '
- 
- test_expect_success 'http push gives sane defaults to reflog' '
--- 
-2.24.0.rc1
-

diff --git a/dev-vcs/git/git-2.23.3.ebuild b/dev-vcs/git/git-2.23.3.ebuild
deleted file mode 100644
index f998898de98..00000000000
--- a/dev-vcs/git/git-2.23.3.ebuild
+++ /dev/null
@@ -1,708 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	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"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( >=app-editors/emacs-23.1:* )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${CDEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso(-),perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-
-	"${FILESDIR}"/git-2.23.0-avoid_empty_remote_line.patch #698384
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREADS=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
-			myopts+=( HAVE_GETDELIM=1 )
-	fi
-
-	has_version '>=app-text/asciidoc-8.0' \
-		&& myopts+=( ASCIIDOC8=YesPlease )
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED%/}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym ../gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED%/}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
-			"${ED%/}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED%/}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.24.3.ebuild b/dev-vcs/git/git-2.24.3.ebuild
deleted file mode 100644
index 82ddfbb3bb5..00000000000
--- a/dev-vcs/git/git-2.24.3.ebuild
+++ /dev/null
@@ -1,711 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	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"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-DEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( >=app-editors/emacs-23.1:* )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${DEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso(-),perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-BDEPEND="
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)
-"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	BDEPEND="${BDEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local extlibs myopts
-
-	myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREADS=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
-			myopts+=( HAVE_GETDELIM=1 )
-		fi
-	fi
-
-	if has_version '>=app-text/asciidoc-8.0' ; then
-		myopts+=( ASCIIDOC8=YesPlease )
-	fi
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym ../gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.25.4.ebuild b/dev-vcs/git/git-2.25.4.ebuild
deleted file mode 100644
index 82ddfbb3bb5..00000000000
--- a/dev-vcs/git/git-2.25.4.ebuild
+++ /dev/null
@@ -1,711 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	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"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-DEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( >=app-editors/emacs-23.1:* )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${DEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso(-),perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-BDEPEND="
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)
-"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	BDEPEND="${BDEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local extlibs myopts
-
-	myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREADS=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
-			myopts+=( HAVE_GETDELIM=1 )
-		fi
-	fi
-
-	if has_version '>=app-text/asciidoc-8.0' ; then
-		myopts+=( ASCIIDOC8=YesPlease )
-	fi
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym ../gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.27.0.ebuild b/dev-vcs/git/git-2.27.0.ebuild
deleted file mode 100644
index 8ff82385017..00000000000
--- a/dev-vcs/git/git-2.27.0.ebuild
+++ /dev/null
@@ -1,711 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
-
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
-	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
-	# See https://git-scm.com/docs/gitworkflows#_graduation
-	# In order of stability:
-	# 9999-r0: maint
-	# 9999-r1: master
-	# 9999-r2: next
-	# 9999-r3: pu
-	case "${PVR}" in
-		9999) EGIT_BRANCH=maint ;;
-		9999-r1) EGIT_BRANCH=master ;;
-		9999-r2) EGIT_BRANCH=next;;
-		9999-r3) EGIT_BRANCH=pu ;;
-	esac
-fi
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER="${MY_PV}"
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI_SUFFIX="xz"
-	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
-	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
-	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
-			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			doc? (
-			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			)"
-	[[ "${PV}" == *_rc* ]] || \
-	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"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-DEPEND="
-	gnome-keyring? ( app-crypt/libsecret )
-	!libressl? ( dev-libs/openssl:0= )
-	libressl? ( dev-libs/libressl:= )
-	sys-libs/zlib
-	pcre? (
-		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
-		!pcre-jit? ( dev-libs/libpcre )
-	)
-	perl? ( dev-lang/perl:=[-build(-)] )
-	tk? ( dev-lang/tk:0= )
-	curl? (
-		net-misc/curl
-		webdav? ( dev-libs/expat )
-	)
-	emacs? ( >=app-editors/emacs-23.1:* )
-	iconv? ( virtual/libiconv )
-"
-
-RDEPEND="${DEPEND}
-	gpg? ( app-crypt/gnupg )
-	perl? (
-		dev-perl/Error
-		dev-perl/MailTools
-		dev-perl/Authen-SASL
-		cgi? (
-			dev-perl/CGI
-			highlight? ( app-text/highlight )
-		)
-		cvs? (
-			>=dev-vcs/cvsps-2.1:0
-			dev-perl/DBI
-			dev-perl/DBD-SQLite
-		)
-		mediawiki? (
-			dev-perl/DateTime-Format-ISO8601
-			dev-perl/HTML-Tree
-			dev-perl/MediaWiki-API
-		)
-		subversion? (
-			dev-vcs/subversion[-dso(-),perl]
-			dev-perl/libwww-perl
-			dev-perl/TermReadKey
-		)
-	)
-	perforce? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
-#   .xml/docbook  --(docbook2texi.pl)--> .texi
-#   .texi         --(makeinfo)---------> .info
-BDEPEND="
-	doc? (
-		app-text/asciidoc
-		app-text/docbook2X
-		app-text/xmlto
-		sys-apps/texinfo
-	)
-	nls? ( sys-devel/gettext )
-	test? (	app-crypt/gnupg	)
-"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
-	BDEPEND="${BDEPEND}
-		app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	cgi? ( perl )
-	cvs? ( perl )
-	mediawiki? ( perl )
-	mediawiki-experimental? ( mediawiki )
-	subversion? ( perl )
-	webdav? ( curl )
-	pcre-jit? ( pcre )
-	perforce? ( ${PYTHON_REQUIRED_USE} )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
-
-	"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
-	# Make submodule output quiet
-	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
-)
-
-pkg_setup() {
-	if use subversion && has_version "dev-vcs/subversion[dso]"; then
-		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
-		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
-		ewarn "have been warned."
-	fi
-	if use perforce ; then
-		python-single-r1_pkg_setup
-	fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
-	local extlibs myopts
-
-	myopts=(
-		ASCIIDOC_NO_ROFF=YesPlease
-		$(usex cvs '' NO_CVS=YesPlease)
-		$(usex elibc_musl NO_REGEX=YesPlease '')
-		$(usex iconv '' NO_ICONV=YesPlease)
-		$(usex nls '' NO_GETTEXT=YesPlease)
-		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
-		$(usex perforce '' NO_PYTHON=YesPlease)
-		$(usex subversion '' NO_SVN_TESTS=YesPlease)
-		$(usex threads '' NO_PTHREADS=YesPlease)
-		$(usex tk '' NO_TCLTK=YesPlease)
-	)
-
-	if use blksha1 ; then
-		myopts+=( BLK_SHA1=YesPlease )
-	elif use ppcsha1 ; then
-		myopts+=( PPC_SHA1=YesPlease )
-	fi
-
-	if use curl ; then
-		use webdav || myopts+=( NO_EXPAT=YesPlease )
-	else
-		myopts+=( NO_CURL=YesPlease )
-	fi
-
-	# broken assumptions, because of static build system ...
-	myopts+=(
-		NO_FINK=YesPlease
-		NO_DARWIN_PORTS=YesPlease
-		INSTALL=install
-		TAR=tar
-		SHELL_PATH="${EPREFIX}/bin/sh"
-		SANE_TOOL_PATH=
-		OLD_ICONV=
-		NO_EXTERNAL_GREP=
-	)
-
-	# For svn-fe
-	extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
-
-	# can't define this to null, since the entire makefile depends on it
-	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
-	if use pcre; then
-		if use pcre-jit; then
-			myopts+=( USE_LIBPCRE2=YesPlease )
-			extlibs+=( -lpcre2-8 )
-		else
-			myopts+=(
-				USE_LIBPCRE1=YesPlease
-				NO_LIBPCRE1_JIT=YesPlease
-			)
-			extlibs+=( -lpcre )
-		fi
-	fi
-	if [[ ${CHOST} == *-solaris* ]]; then
-		myopts+=(
-			NEEDS_LIBICONV=YesPlease
-			HAVE_CLOCK_MONOTONIC=1
-		)
-		if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
-			myopts+=( HAVE_GETDELIM=1 )
-		fi
-	fi
-
-	if has_version '>=app-text/asciidoc-8.0' ; then
-		myopts+=( ASCIIDOC8=YesPlease )
-	fi
-
-	# Bug 290465:
-	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
-	if [[ "${CHOST}" == *-uclibc* ]] ; then
-		myopts+=( NO_NSEC=YesPlease )
-		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
-	fi
-
-	export MY_MAKEOPTS="${myopts[@]}"
-	export EXTLIBS="${extlibs[@]}"
-}
-
-src_unpack() {
-	if [[ ${PV} != *9999 ]]; then
-		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
-		cd "${S}" || die
-		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-		if use doc ; then
-			pushd "${S}"/Documentation &>/dev/null || die
-			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
-			popd &>/dev/null || die
-		fi
-	else
-		git-r3_src_unpack
-		#cp "${FILESDIR}"/GIT-VERSION-GEN .
-	fi
-
-}
-
-src_prepare() {
-	# add experimental patches to improve mediawiki support
-	# see patches for origin
-	if use mediawiki-experimental ; then
-		PATCHES+=(
-			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
-			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
-		)
-	fi
-
-	default
-
-	sed -i \
-		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-		Makefile contrib/svn-fe/Makefile || die
-
-	# Fix docbook2texi command
-	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
-		Documentation/Makefile || die
-}
-
-git_emake() {
-	# bug #320647: PYTHON_PATH
-	local PYTHON_PATH=""
-	use perforce && PYTHON_PATH="${PYTHON}"
-	emake ${MY_MAKEOPTS} \
-		prefix="${EPREFIX}"/usr \
-		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
-		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
-		sysconfdir="${EPREFIX}"/etc \
-		DESTDIR="${D}" \
-		GIT_TEST_OPTS="--no-color" \
-		OPTAR="$(tc-getAR)" \
-		OPTCC="$(tc-getCC)" \
-		OPTCFLAGS="${CFLAGS}" \
-		OPTLDFLAGS="${LDFLAGS}" \
-		PERL_PATH="${EPREFIX}/usr/bin/perl" \
-		PERL_MM_OPT="" \
-		PYTHON_PATH="${PYTHON_PATH}" \
-		V=1 \
-		"$@"
-}
-
-src_configure() {
-	exportmakeopts
-}
-
-src_compile() {
-	git_emake || die "emake failed"
-
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
-	if use perl && use cgi ; then
-		git_emake \
-			gitweb \
-			|| die "emake gitweb (cgi) failed"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		pushd contrib/credential/osxkeychain &>/dev/null || die
-		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
-			|| die "emake credential-osxkeychain"
-		popd &>/dev/null || die
-	fi
-
-	pushd Documentation &>/dev/null || die
-	if [[ ${PV} == *9999 ]] ; then
-		git_emake man \
-			|| die "emake man failed"
-		if use doc ; then
-			git_emake info html \
-				|| die "emake info html failed"
-		fi
-	else
-		if use doc ; then
-			git_emake info \
-				|| die "emake info html failed"
-		fi
-	fi
-	popd &>/dev/null || die
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		# by defining EXTLIBS we override the detection for libintl and
-		# libiconv, bug #516168
-		local nlsiconv=()
-		use nls && use !elibc_glibc && nlsiconv+=( -lintl )
-		use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
-		git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
-			|| die "emake svn-fe failed"
-		if use doc ; then
-			# svn-fe.1 requires the full USE=doc dependency stack
-			git_emake svn-fe.1 \
-				|| die "emake svn-fe.1 failed"
-			git_emake svn-fe.html \
-				|| die "svn-fe.html failed"
-		fi
-		popd &>/dev/null || die
-	fi
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		git_emake || die "emake git-credential-libsecret failed"
-		popd &>/dev/null || die
-	fi
-
-	pushd contrib/subtree &>/dev/null || die
-	git_emake git-subtree
-	# git-subtree.1 requires the full USE=doc dependency stack
-	use doc && git_emake git-subtree.html git-subtree.1
-	popd &>/dev/null || die
-
-	pushd contrib/diff-highlight &>/dev/null || die
-	git_emake
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake
-		popd &>/dev/null || die
-
-	fi
-}
-
-src_install() {
-	git_emake install || die "make install failed"
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
-	fi
-
-	# Depending on the tarball and manual rebuild of the documentation, the
-	# manpages may exist in either OR both of these directories.
-	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
-	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
-	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
-	use doc && dodir /usr/share/doc/${PF}/html
-	local d
-	for d in / /howto/ /technical/ ; do
-		docinto ${d}
-		dodoc Documentation${d}*.txt
-		if use doc ; then
-			docinto ${d}/html
-			dodoc Documentation${d}*.html
-		fi
-	done
-	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
-
-	newbashcomp contrib/completion/git-completion.bash ${PN}
-	bashcomp_alias git gitk
-	# Not really a bash-completion file (bug #477920)
-	# but still needed uncompressed (bug #507480)
-	insinto /usr/share/${PN}
-	doins contrib/completion/git-prompt.sh
-
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
-	#dobin contrib/fast-import/git-p4 # Moved upstream
-	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
-	newbin contrib/fast-import/import-tars.perl import-tars
-	exeinto /usr/libexec/git-core/
-	newexe contrib/git-resurrect.sh git-resurrect
-
-	# git-subtree
-	pushd contrib/subtree &>/dev/null || die
-	git_emake install || die "Failed to emake install for git-subtree"
-	if use doc ; then
-		# Do not move git subtree install-man outside USE=doc!
-		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
-	fi
-	newdoc README README.git-subtree
-	dodoc git-subtree.txt
-	popd &>/dev/null || die
-
-	if use mediawiki ; then
-		pushd contrib/mw-to-git &>/dev/null || die
-		git_emake install
-		popd &>/dev/null || die
-	fi
-
-	# diff-highlight
-	dobin contrib/diff-highlight/diff-highlight
-	newdoc contrib/diff-highlight/README README.diff-highlight
-
-	# git-jump
-	exeinto /usr/libexec/git-core/
-	doexe contrib/git-jump/git-jump
-	newdoc contrib/git-jump/README git-jump.txt
-
-	# git-contacts
-	exeinto /usr/libexec/git-core/
-	doexe contrib/contacts/git-contacts
-	dodoc contrib/contacts/git-contacts.txt
-
-	if use gnome-keyring ; then
-		pushd contrib/credential/libsecret &>/dev/null || die
-		dobin git-credential-libsecret
-		popd &>/dev/null || die
-	fi
-
-	if use subversion ; then
-		pushd contrib/svn-fe &>/dev/null || die
-		dobin svn-fe
-		dodoc svn-fe.txt
-		if use doc ; then
-			# Do not move svn-fe.1 outside USE=doc!
-			doman svn-fe.1
-			docinto html
-			dodoc svn-fe.html
-		fi
-		popd &>/dev/null || die
-	fi
-
-	dodir /usr/share/${PN}/contrib
-	# The following are excluded:
-	# completion - installed above
-	# diff-highlight - done above
-	# emacs - installed above
-	# examples - these are stuff that is not used in Git anymore actually
-	# git-jump - done above
-	# gitview - installed above
-	# p4import - excluded because fast-import has a better one
-	# patches - stuff the Git guys made to go upstream to other places
-	# persistent-https - TODO
-	# mw-to-git - TODO
-	# subtree - build  seperately
-	# svnimport - use git-svn
-	# thunderbird-patch-inline - fixes thunderbird
-	local contrib_objects=(
-		buildsystems
-		fast-import
-		hg-to-git
-		hooks
-		remotes2config.sh
-		rerere-train.sh
-		stats
-		workdir
-	)
-	local i
-	for i in "${contrib_objects[@]}" ; do
-		cp -rf \
-			"${S}"/contrib/${i} \
-			"${ED}"/usr/share/${PN}/contrib \
-			|| die "Failed contrib ${i}"
-	done
-
-	if use perl && use cgi ; then
-		# We used to install in /usr/share/${PN}/gitweb
-		# but upstream installs in /usr/share/gitweb
-		# so we will install a symlink and use their location for compat with other
-		# distros
-		dosym ../gitweb /usr/share/${PN}/gitweb
-
-		# INSTALL discusses configuration issues, not just installation
-		docinto /
-		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
-		newdoc  "${S}"/gitweb/README README.gitweb
-
-		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
-			if test -d "${d}" ; then find "${d}" \
-				-name .packlist \
-				-delete || die
-			fi
-		done
-	else
-		rm -rf "${ED}"/usr/share/gitweb
-	fi
-
-	if ! use subversion ; then
-		rm -f "${ED}"/usr/libexec/git-core/git-svn \
-			"${ED}"/usr/share/man/man1/git-svn.1*
-	fi
-
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
-	fi
-
-	if use !prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
-		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
-		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
-		systemd_dounit "${FILESDIR}/git-daemon.socket"
-	fi
-
-	perl_delete_localpod
-
-	# Remove disabled linguas
-	# we could remove sources in src_prepare, but install does not
-	# handle missing locale dir well
-	rm_loc() {
-		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
-			rm -r "${ED}/usr/share/locale/${1}" || die
-		fi
-	}
-	l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
-	local disabled=()
-	local tests_cvs=(
-		t9200-git-cvsexportcommit.sh
-		t9400-git-cvsserver-server.sh
-		t9401-git-cvsserver-crlf.sh
-		t9402-git-cvsserver-refs.sh
-		t9600-cvsimport.sh
-		t9601-cvsimport-vendor-branch.sh
-		t9602-cvsimport-branches-tags.sh
-		t9603-cvsimport-patchsets.sh
-		t9604-cvsimport-timestamps.sh
-	)
-	local tests_perl=(
-		t3701-add-interactive.sh
-		t5502-quickfetch.sh
-		t5512-ls-remote.sh
-		t5520-pull.sh
-		t7106-reset-unborn-branch.sh
-		t7501-commit.sh
-	)
-	# Bug #225601 - t0004 is not suitable for root perm
-	# Bug #219839 - t1004 is not suitable for root perm
-	# t0001-init.sh - check for init notices EPERM*  fails
-	local tests_nonroot=(
-		t0001-init.sh
-		t0004-unwritable.sh
-		t0070-fundamental.sh
-		t1004-read-tree-m-u-wf.sh
-		t3700-add.sh
-		t7300-clean.sh
-	)
-	# t9100 still fails with symlinks in SVN 1.7
-	local test_svn=( t9100-git-svn-basic.sh )
-
-	# Unzip is used only for the testcase code, not by any normal parts of Git.
-	if ! has_version app-arch/unzip ; then
-		einfo "Disabling tar-tree tests"
-		disabled+=( t5000-tar-tree.sh )
-	fi
-
-	local cvs=0
-	use cvs && let cvs=${cvs}+1
-	if [[ ${EUID} -eq 0 ]]; then
-		if [[ ${cvs} -eq 1 ]]; then
-			ewarn "Skipping CVS tests because CVS does not work as root!"
-			ewarn "You should retest with FEATURES=userpriv!"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-		einfo "Skipping other tests that require being non-root"
-		disabled+=( ${tests_nonroot[@]} )
-	else
-		[[ ${cvs} -gt 0 ]] && \
-			has_version dev-vcs/cvs && \
-			let cvs=${cvs}+1
-		[[ ${cvs} -gt 1 ]] && \
-			has_version "dev-vcs/cvs[server]" && \
-			let cvs=${cvs}+1
-		if [[ ${cvs} -lt 3 ]]; then
-			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
-			disabled+=( ${tests_cvs[@]} )
-		fi
-	fi
-
-	if ! use perl ; then
-		einfo "Disabling tests that need Perl"
-		disabled+=( ${tests_perl[@]} )
-	fi
-
-	einfo "Disabling tests that fail with SVN 1.7"
-	disabled+=( ${test_svn[@]} )
-
-	# Reset all previously disabled tests
-	pushd t &>/dev/null || die
-	local i
-	for i in *.sh.DISABLED ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
-	done
-	einfo "Disabled tests:"
-	for i in ${disabled[@]} ; do
-		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
-	done
-
-	# Avoid the test system removing the results because we want them ourselves
-	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-		-i Makefile || die
-
-	# Clean old results first, must always run
-	nonfatal git_emake clean
-	popd &>/dev/null || die
-
-	# Now run the tests, keep going if we hit an error, and don't terminate on
-	# failure
-	local rc
-	einfo "Start test run"
-	#MAKEOPTS=-j1
-	nonfatal git_emake --keep-going test
-	rc=$?
-
-	# Display nice results, now print the results
-	pushd t &>/dev/null || die
-	nonfatal git_emake aggregate-results
-
-	# And bail if there was a problem
-	[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
-	local pkg=$1
-	shift
-	elog "  $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
-	elog "completion."
-	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
-	elog "Note that the prompt bash code is now in that separate script"
-	elog "These additional scripts need some dependencies:"
-	echo
-	showpkgdeps git-quiltimport "dev-util/quilt"
-	showpkgdeps git-instaweb \
-		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
-	echo
-	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2021-02-26  9:30 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2021-02-26  9:30 UTC (permalink / raw
  To: gentoo-commits

commit:     f5fedfdda56522f9f37a8e35efb9049df9632479
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 26 09:26:56 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 09:30:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5fedfdd

dev-vcs/git: Bump to version 2.31.0_rc0

Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |   3 +
 .../git/files/git-2.31.0_rc0-optional-cvs.patch    | 455 ++++++++++++++
 dev-vcs/git/git-2.31.0_rc0.ebuild                  | 676 +++++++++++++++++++++
 3 files changed, 1134 insertions(+)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index b5507515c56..6f46784b2ec 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -3,13 +3,16 @@ DIST git-2.28.0.tar.xz 6117608 BLAKE2B 81c834dfda5b8e3065d098e411eb2408a1e7ccfde
 DIST git-2.29.2.tar.xz 6187988 BLAKE2B 15c2446a266d7cc3032e4b3bd32f57a2c2ff3d377848f307225ea585883c993ed835c8ffe02202386360b94f5a1f4bd3124322f0034c0d65ed15aa28b7e45ffa SHA512 34117628c6d43ac0940c43bffaa1bda7f12af863728f391492725a3e57d1bbda523cf7734e90f463fe9a9ae4e70fc1cc2523643dbb3c27377d98dc4736b0ea62
 DIST git-2.30.0.tar.xz 6325652 BLAKE2B c5a67ccb7790f1747d714b402f22de6bd5cf783de8765fade7af0ad51ac780c80d43ab22b33431b57db246a11ef073dfd291961476a3c9414339f133221cbea6 SHA512 2ce154d6e224e78d7da2ea9b954d8cf56bdfe43636b93dd5045a950a7362d3943866b4949eb5ed03528d6e5f0466c33c233b502d84430ed9d90326bcc696101d
 DIST git-2.30.1.tar.xz 6327976 BLAKE2B 3b459d10a2b8d601e0882da8346bba1c0fb9aa01823e9cf9f6d50557d7cd6b6b89eea17209a5b3bfb199c37ae8bf33b730784686a166d7ed9ef36dd0975d5624 SHA512 b3567d251c73807857f05f46cae3acb4e0d876590d122229c05509d5eb17fc3eee0ba97a1b2068070b399085f7a92aa2493c4833b98f65b8ef15fc279798caa3
+DIST git-2.31.0.rc0.tar.xz 6384268 BLAKE2B a8b21d2280ba8636829286807c9648575d8314a290eb08e828a8e2e007d4f7a9aa908d8aef96108b0a2fc9e7433969ee6c3f1e1b1f4ccd40c9f19c5455425ea3 SHA512 3c8d495cc1adb18f5918d99b02b6d3a969d4a44ab44ad908831eae0b2cf2d139fe8e7f1c61788a3254f4acc178cd2b5973ce13733bf639c73f156b4987a6e8f2
 DIST git-htmldocs-2.26.2.tar.xz 1304788 BLAKE2B e0de88c5c41646d5fb9b54e2ee873c7904e1b85c67f971499f0227eb2dd59cabd4ffc58c468cf8a7a7466920af972dbc7f95d78003e487edac9a15a9c49b80a2 SHA512 b577693180b4fc035af211e3b83e98ad5e1bfbb98706924858df6558383b82ca05f870bdae90f8a14c8bf664f091ee928af52dcdebdfb98dc7387fdfe2e3a396
 DIST git-htmldocs-2.28.0.tar.xz 1347596 BLAKE2B 9c447f951cc31eb306841d12a94aefd3bb9699f374f2919f7eed0789f6b49cd54df74ecddaa1475203a5dca33140787f53272774f71ccbb48e5da5f1ab6bfbde SHA512 bbe7a7c221d1bb8d9852d5210a80b3d60c5b66f159591971abb2d9a08570cb7bf85686c7eba8cf37e04d37d63702906b308692a68c05fdbd0e3f3d60322003f0
 DIST git-htmldocs-2.29.2.tar.xz 1364856 BLAKE2B 76498ef5bfdc058ad1e7c3b2c0c5ba715fa2682c7429db837cfeb7abe64ae3561e8b3f2dc032dd193514778271a040b1b120071d12ae5082a415db5084c7b6aa SHA512 d7223160af9bc97201bff59b94c8c09d331cdb9f979c878698230bb579b3f4751b6a455d8413ce09a507799744d7e3c77a2ad4d265386de7ef3ba9e11fb20445
 DIST git-htmldocs-2.30.0.tar.xz 1340536 BLAKE2B 2204b276b941497e0ff5f1710c55b42f573b4eebd96619041db7afabb5a5d36252b2582b29e3d083abaf5da478810d056df83bdfa1d08c5396ffe03d0d858820 SHA512 3fc53a508497621c8af5ea26337407ed9489e768160c7063cfcc4bb53f51631ef968057f1498e37a901313aa08b4153533ca15a9bdfcbd04d2ed11256007db3e
 DIST git-htmldocs-2.30.1.tar.xz 1341796 BLAKE2B b282d16af234256ccb4e1099d42800d674b5ff4ea1e365557aa6672aac573b4e98e43ddbeb02291cd6925bfd217d2e8e99aae47e9f46fd06ad013fec87b8d3fe SHA512 e2debb0dde49f1e6a5944ed35dfa62d6d2e6f71d745e6f6adfb477513f21004f04cd5de8e8444d4a24d9818c3cb85f5720848991a763fbc3541e89cfdf21dd49
+DIST git-htmldocs-2.31.0.rc0.tar.xz 1354040 BLAKE2B 43b763623d453e3b265f123d49aa83211991e5b304cb8a4f6e7d60e79609a1ee4fea1bb5a3ab12dc77a148e3c098bfa6e2d2d2afc5821a2f9fefa6a4626506b2 SHA512 2f7293745c53ee74db41e04ed7861eeabf8904c062ee6dc81eac69789b8b6cd63cbd357f8c4b428e5e7535283c777d64fb7c6fdd8c4d5dc1b2662e8a22992822
 DIST git-manpages-2.26.2.tar.xz 462052 BLAKE2B 27fc44360c9f890e9f7754e8423f5596548f076f5fec5dfc6c752e8b3caa5f64ba182c1566b67878b19fbb115297e08def1bf9d2711c7334cbb8e1b20fc039a1 SHA512 9591e94683a6b49d8b9f2afddc826576023fdfa6de6db4af3a28a2af00b175d5be710d86a31d0f1b8320cc38b6f27698e17fb3e8c1f2b0c5ced37296ef1109b6
 DIST git-manpages-2.28.0.tar.xz 472524 BLAKE2B 84752bee094eb879be8905dd561593e9f2a71d91971be7be83ed421bdeef83f7165f9506297bf23127a46a1d05c718999dab6b3ac3bda0ce0fba95ca64145de8 SHA512 ba4d41c2c2efd1eb5ab8ccf00efcebbc2fbbd31ab325da66b05181d15f677c2fc97c9eefd58c3b1c75a07276b399214f398df8d084c1a5092f982ce392876a2f
 DIST git-manpages-2.29.2.tar.xz 478516 BLAKE2B d9a9840a8c869e2f7f9dade12c780032a7eeff59314b4d45c8c65e3f076e0335f0674c484fe7cebbc70d13b51a17b5fcf69b1bd51dca7ff226d76b1fed33d8bf SHA512 f2af31f8b2242961a0633258dd4668dbf21b26eff440e302608bc5bee2ed45a3e573528cdd0f11503d0ac4745e03cb457d99f5529fc96c105ce441ece07e4fe8
 DIST git-manpages-2.30.0.tar.xz 481792 BLAKE2B 9f6273e36e06a0296506d43b25a826cef9e459fdd25ad2f844de323b998fe9b5a7e5181b21257e7b297ea4ce2e16cfaacf7f1c7486ce26b59e39e643361d4745 SHA512 9593d9bef8b3bdcd5645cf89e0f0c53989342414363ce85cfd46da181750c92e8f6dbd860c6badc9d871b383bb9cf273b4fb3af7f6d46a8df6b95fddeab578ae
 DIST git-manpages-2.30.1.tar.xz 482128 BLAKE2B 2e7f3943b5e95a3b00dda95f74c519889218e908aa3872f5ae93d88ac9602ad389e9be9df99ec7daafb0a324c03a3a50c7f3c697a1a7e9f35f795682ba85fb4c SHA512 1cd535fff2a658d9ecb99c1f26663e2b37df429dfcff417c298e00fb5de107ef54848447ad63c2f78d8621f431f8f8b92bc871474a701db48deff04a0b595d07
+DIST git-manpages-2.31.0.rc0.tar.xz 487424 BLAKE2B f5e8cc27889fc103f508a0fb464ddc338719ce7893d15b16fdf1c9b88f1b58fd7f00d17afe4b6c39269e68d7d18789539e90073928967b82bef25c86a27255b5 SHA512 4b5848195353df79215e64d08e87bfc629ee3d8102fd7a22bcebbe44631eaa0002b503c4baafb3f2c1c4a87ab2da48e3a9454ad637e987c293861f1dece18e3c

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
new file mode 100644
index 00000000000..0999dbeff6b
--- /dev/null
+++ b/dev-vcs/git/files/git-2.31.0_rc0-optional-cvs.patch
@@ -0,0 +1,455 @@
+From 0c5ced8704ce69d7c84c2cc7cb26335616464468 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Tue, 14 May 2019 08:53:06 +0200
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+Forward-ported from v2.10.0 to v2.12.0
+Forward-ported from v2.12.0 to v2.17.0-rc1
+Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
+Forward-ported from v2.18.0-rc1 to v2.22.0-rc0
+Forward-ported from v2.22.0-rc0 to v2.31.0-rc0
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile                           | 48 ++++++++++++++++++++++--------
+ t/t9200-git-cvsexportcommit.sh     |  5 ++++
+ t/t9400-git-cvsserver-server.sh    |  8 ++++-
+ t/t9401-git-cvsserver-crlf.sh      | 15 ++++++----
+ t/t9600-cvsimport.sh               | 41 +++++++++++++++----------
+ t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 +++++++
+ t/t9603-cvsimport-patchsets.sh     | 11 +++++++
+ t/test-lib.sh                      |  1 +
+ 9 files changed, 118 insertions(+), 33 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9b1bde2e0e..ae993a07fa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -305,6 +305,8 @@ all::
+ # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+ # and egrep that are pickier when their input contains non-ASCII data.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system.  Only used if NO_TCLTK
+ # is not set.  Defaults to the bare 'tclsh'.
+@@ -580,6 +582,7 @@ PROGRAM_OBJS =
+ PROGRAMS =
+ EXCLUDED_PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -612,31 +615,33 @@ SCRIPT_LIB += git-sh-setup
+ 
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+ 
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+ 
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+ 
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+ 
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_GEN)
++install-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -645,12 +650,13 @@ install-python-script: $(SCRIPT_PYTHON_GEN)
+ clean-sh-script:
+ 	$(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+-	$(RM) $(SCRIPT_PERL_GEN)
++	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ 	$(RM) $(SCRIPT_PYTHON_GEN)
+ 
+ SCRIPTS = $(SCRIPT_SH_GEN) \
+ 	  $(SCRIPT_PERL_GEN) \
++	  $(SCRIPT_PERL_CVS_GEN) \
+ 	  $(SCRIPT_PYTHON_GEN) \
+ 	  git-instaweb
+ 
+@@ -2233,13 +2239,27 @@ git.res: git.rc GIT-VERSION-FILE GIT-PREFIX
+ 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
+ 
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+ 
+ # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
+ # since the locale directory is injected.
+ perl_localedir_SQ = $(localedir_SQ)
+ 
+ ifndef NO_PERL
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN):
+ PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
+ 
+@@ -2260,7 +2280,7 @@ endif
+ 
+ PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
+ 
+-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1{' \
+ 	    -e '	s|#!.*perl|#!$(PERL_PATH_SQ)|' \
+@@ -2306,14 +2326,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ 	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+-	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ 	    unimplemented.sh >$@+ && \
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+-endif # NO_PERL
+ 
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2569,7 +2593,7 @@ LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+ LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_SH += git-rebase--preserve-merges.sh
+ LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
+ 
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index c5946cb0b8..223fd5409b 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ 	test_done
+ fi
+ 
++if ! test_have_prereq CVS; then
++	skip_all='skipping git cvsexportcommit tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 2d29d486ee..2ca6db10e0 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -14,9 +14,15 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ . ./test-lib.sh
+ 
+ if ! test_have_prereq PERL; then
+-	skip_all='skipping git cvsserver tests, perl not available'
++	skip_all='skipping git-cvsserver tests, perl not available'
+ 	test_done
+ fi
++
++if ! test_have_prereq CVS; then
++	skip_all='skipping git-cvsserver tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index a34805acdc..0d7759f73b 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -60,15 +60,20 @@ check_status_options() {
+     return $stat
+ }
+ 
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+-    skip_all='skipping git-cvsserver tests, cvs not found'
++    skip_all='skipping git-cvsserver tests, perl not available'
+     test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+-    skip_all='skipping git-cvsserver tests, perl not available'
++    skip_all='skipping git-cvsserver tests, cvs not available'
++    test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++    skip_all='skipping git-cvsserver tests, cvs not found'
+     test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 5680849218..7288db820b 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -11,14 +11,25 @@ if ! test_have_prereq NOT_ROOT; then
+ 	test_done
+ fi
+ 
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ 	CVSROOT=$(pwd)/cvsroot &&
+ 	export CVSROOT
+ '
+ 
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+ 
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+ 
+ 	mkdir "$CVSROOT/module" &&
+ 	$CVS co -d module-cvs module &&
+@@ -50,23 +61,23 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+ 
+ 	git cvsimport -a -R -z 0 -C module-git module &&
+ 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
+ 
+ '
+ 
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+ 
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 	(cd module-cvs &&
+ 	cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -94,7 +105,7 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+ 
+ 	(cd module-git &&
+ 	git config cvsimport.trackRevisions true &&
+@@ -105,7 +116,7 @@ test_expect_success PERL 'update git module' '
+ 
+ '
+ 
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -113,7 +124,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 
+ 	(cd module-cvs &&
+ 		echo 1 >tick &&
+@@ -122,7 +133,7 @@ test_expect_success PERL 'update cvs module' '
+ 	)
+ '
+ 
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+ 
+ 	(cd module-git &&
+ 		git config cvsimport.module module &&
+@@ -134,7 +145,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+ 
+ '
+ 
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -143,7 +154,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+ 
+ 	$CVS co -d import-from-wt module &&
+ 	(cd import-from-wt &&
+@@ -156,12 +167,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+ 
+ '
+ 
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+ 
+ 	! test -e import-from-wt/.git/cvs-revisions
+ 
+ '
+ 
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree main'
+ 
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 116cddba3a..a7e7299c81 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -37,6 +37,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ 
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9601
+ 
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e5266c9a87..0e1878ffd3 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -9,6 +9,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ 
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9602
+ 
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index 0e9daa5768..598c8595c5 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -17,6 +17,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ 
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9603
+ 
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index d3f6af6a65..588067bfd8 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -1482,6 +1482,7 @@ parisc* | hppa*)
+ esac
+ 
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+-- 
+2.30.1
+

diff --git a/dev-vcs/git/git-2.31.0_rc0.ebuild b/dev-vcs/git/git-2.31.0_rc0.ebuild
new file mode 100644
index 00000000000..8ec5c0d0238
--- /dev/null
+++ b/dev-vcs/git/git-2.31.0_rc0.ebuild
@@ -0,0 +1,676 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
+
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: seen
+	case "${PVR}" in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=seen ;;
+	esac
+fi
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER="${MY_PV}"
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
+	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	[[ "${PV}" == *_rc* ]] || \
+	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"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+
+# Common to both DEPEND and RDEPEND
+DEPEND="
+	gnome-keyring? ( app-crypt/libsecret )
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:= )
+	sys-libs/zlib
+	pcre? (
+		pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+		!pcre-jit? ( dev-libs/libpcre )
+	)
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	emacs? ( >=app-editors/emacs-23.1:* )
+	iconv? ( virtual/libiconv )
+"
+
+RDEPEND="${DEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/MailTools
+		dev-perl/Authen-SASL
+		>=virtual/perl-libnet-3.110.0-r4[ssl]
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso(-),perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	perforce? ( ${PYTHON_DEPS} )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+BDEPEND="
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		app-text/xmlto
+		sys-apps/texinfo
+	)
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)
+"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	BDEPEND="${BDEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	pcre-jit? ( pcre )
+	perforce? ( ${PYTHON_REQUIRED_USE} )
+	subversion? ( perl )
+	webdav? ( curl )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.31.0_rc0-optional-cvs.patch
+
+	# Make submodule output quiet
+	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]" ; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+
+	if use perforce ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local extlibs myopts
+
+	myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+		$(usex cvs '' NO_CVS=YesPlease)
+		$(usex elibc_musl NO_REGEX=YesPlease '')
+		$(usex iconv '' NO_ICONV=YesPlease)
+		$(usex nls '' NO_GETTEXT=YesPlease)
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+		$(usex perforce '' NO_PYTHON=YesPlease)
+		$(usex subversion '' NO_SVN_TESTS=YesPlease)
+		$(usex threads '' NO_PTHREADS=YesPlease)
+		$(usex tk '' NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	elif use ppcsha1 ; then
+		myopts+=( PPC_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# broken assumptions, because of static build system ...
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		if use pcre-jit; then
+			myopts+=( USE_LIBPCRE2=YesPlease )
+			extlibs+=( -lpcre2-8 )
+		else
+			myopts+=(
+				USE_LIBPCRE1=YesPlease
+				NO_LIBPCRE1_JIT=YesPlease
+			)
+			extlibs+=( -lpcre )
+		fi
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+		if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
+			myopts+=( HAVE_GETDELIM=1 )
+		fi
+	fi
+
+	if has_version '>=app-text/asciidoc-8.0' ; then
+		myopts+=( ASCIIDOC8=YesPlease )
+	fi
+
+	# Bug 290465:
+	# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+	if [[ "${CHOST}" == *-uclibc* ]] ; then
+		myopts+=( NO_NSEC=YesPlease )
+		use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
+	fi
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs[@]}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]]; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		cd "${S}" || die
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use perforce && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
+		sysconfdir="${EPREFIX}"/etc \
+		DESTDIR="${D}" \
+		GIT_TEST_OPTS="--no-color" \
+		OPTAR="$(tc-getAR)" \
+		OPTCC="$(tc-getCC)" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		PERL_PATH="${EPREFIX}/usr/bin/perl" \
+		PERL_MM_OPT="" \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		V=1 \
+		"$@"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake || die "emake failed"
+
+	if use emacs ; then
+		elisp-compile contrib/emacs/git{,-blame}.el
+	fi
+
+	if use perl && use cgi ; then
+		git_emake \
+			gitweb \
+			|| die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* && ! tc-is-gcc ]]; then
+		pushd contrib/credential/osxkeychain &>/dev/null || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+		popd &>/dev/null || die
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man \
+			|| die "emake man failed"
+		if use doc ; then
+			git_emake info html \
+				|| die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info \
+				|| die "emake info html failed"
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		git_emake || die "emake git-credential-libsecret failed"
+		popd &>/dev/null || die
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake git-subtree
+	# git-subtree.1 requires the full USE=doc dependency stack
+	use doc && git_emake git-subtree.html git-subtree.1
+	popd &>/dev/null || die
+
+	pushd contrib/diff-highlight &>/dev/null || die
+	git_emake
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake
+		popd &>/dev/null || die
+
+	fi
+}
+
+src_install() {
+	git_emake install || die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* && ! tc-is-gcc ]]; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	local d
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	if use emacs ; then
+		elisp-install ${PN} contrib/emacs/git.{el,elc}
+		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+		# don't add automatically to the load-path, so the sitefile
+		# can do a conditional loading
+		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
+		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+	fi
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake install || die "Failed to emake install for git-subtree"
+	if use doc ; then
+		# Do not move git subtree install-man outside USE=doc!
+		git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake install
+		popd &>/dev/null || die
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - installed above
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hg-to-git
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	local i
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym ../gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
+			if test -d "${d}" ; then find "${d}" \
+				-name .packlist \
+				-delete || die
+			fi
+		done
+	else
+		rm -rf "${ED}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED}"/usr/libexec/git-core/git-svn \
+			"${ED}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if use !prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+			rm -r "${ED}/usr/share/locale/${1}" || die
+		fi
+	}
+	l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+	local disabled=()
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]]; then
+		if [[ ${cvs} -eq 1 ]]; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		[[ ${cvs} -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=${cvs}+1
+		[[ ${cvs} -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=${cvs}+1
+		if [[ ${cvs} -lt 3 ]]; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
+		-i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+	elog "completion."
+	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	elog "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2021-03-18  9:21 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2021-03-18  9:21 UTC (permalink / raw
  To: gentoo-commits

commit:     58774f4fbb1570837c6314c134ce5af38811c21c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 16 15:33:04 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Mar 18 09:21:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58774f4f

dev-vcs/git: don't search outside of prefix for gettext on Darwin

Conditionally patching so that non-prefix developers don't have
to rebase on new versions.

We can apply this unconditionally safely if desired though.

Closes: https://bugs.gentoo.org/757309
Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/19954
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/git-2.31.0-darwin-prefix-gettext.patch   | 22 ++++++++++++++++++++++
 dev-vcs/git/git-2.31.0-r1.ebuild                   |  5 +++++
 dev-vcs/git/git-9999-r1.ebuild                     |  5 +++++
 dev-vcs/git/git-9999-r2.ebuild                     |  5 +++++
 dev-vcs/git/git-9999-r3.ebuild                     |  5 +++++
 dev-vcs/git/git-9999.ebuild                        |  5 +++++
 6 files changed, 47 insertions(+)

diff --git a/dev-vcs/git/files/git-2.31.0-darwin-prefix-gettext.patch b/dev-vcs/git/files/git-2.31.0-darwin-prefix-gettext.patch
new file mode 100644
index 00000000000..df87def6073
--- /dev/null
+++ b/dev-vcs/git/files/git-2.31.0-darwin-prefix-gettext.patch
@@ -0,0 +1,22 @@
+Don't examine outside of the prefix for gettext on macOS/Darwin.
+https://bugs.gentoo.org/757309
+--- a/config.mak.uname
++++ b/config.mak.uname
+@@ -136,17 +136,6 @@ ifeq ($(uname_S),Darwin)
+ 	HAVE_BSD_SYSCTL = YesPlease
+ 	FREAD_READS_DIRECTORIES = UnfortunatelyYes
+ 	HAVE_NS_GET_EXECUTABLE_PATH = YesPlease
+-
+-	# Workaround for `gettext` being keg-only and not even being linked via
+-	# `brew link --force gettext`, should be obsolete as of
+-	# https://github.com/Homebrew/homebrew-core/pull/53489
+-	ifeq ($(shell test -d /usr/local/opt/gettext/ && echo y),y)
+-		BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
+-		BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
+-		ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
+-			MSGFMT = /usr/local/opt/gettext/bin/msgfmt
+-		endif
+-	endif
+ endif
+ ifeq ($(uname_S),SunOS)
+ 	NEEDS_SOCKET = YesPlease

diff --git a/dev-vcs/git/git-2.31.0-r1.ebuild b/dev-vcs/git/git-2.31.0-r1.ebuild
index 5aeda5d427f..bfb176d4710 100644
--- a/dev-vcs/git/git-2.31.0-r1.ebuild
+++ b/dev-vcs/git/git-2.31.0-r1.ebuild
@@ -260,6 +260,11 @@ src_prepare() {
 
 	default
 
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
 	sed -i \
 		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
 		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 62714c732f6..ff37be69674 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -260,6 +260,11 @@ src_prepare() {
 
 	default
 
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
 	sed -i \
 		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
 		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 62714c732f6..ff37be69674 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -260,6 +260,11 @@ src_prepare() {
 
 	default
 
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
 	sed -i \
 		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
 		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index b23ee2eb4c2..c60eee31d41 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -260,6 +260,11 @@ src_prepare() {
 
 	default
 
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
 	sed -i \
 		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
 		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 44f31ec8aa9..ef8a11391cf 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -260,6 +260,11 @@ src_prepare() {
 
 	default
 
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
 	sed -i \
 		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
 		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2021-12-06  9:01 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2021-12-06  9:01 UTC (permalink / raw
  To: gentoo-commits

commit:     6f0c4602e9576233e24bc7da1eaca379421c6aee
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  6 08:55:08 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Dec  6 09:01:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f0c4602

dev-vcs/git: Improve OpenRC script git-daemon

Thanks-to: Brian Evans <grknight <AT> gentoo.org>
Closes: https://bugs.gentoo.org/828098
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/files/git-daemon-r2.initd                    | 14 ++++++++++++++
 dev-vcs/git/{git-9999-r1.ebuild => git-2.34.1-r1.ebuild} |  2 +-
 dev-vcs/git/git-9999-r1.ebuild                           |  2 +-
 dev-vcs/git/git-9999-r2.ebuild                           |  2 +-
 dev-vcs/git/git-9999-r3.ebuild                           |  2 +-
 dev-vcs/git/git-9999.ebuild                              |  2 +-
 6 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/dev-vcs/git/files/git-daemon-r2.initd b/dev-vcs/git/files/git-daemon-r2.initd
new file mode 100644
index 000000000000..177458b27366
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon-r2.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/git-daemon.pid"
+command="/usr/bin/git"
+command_args="daemon ${GITDAEMON_OPTS}"
+command_user="${GIT_USER:-nobody}:${GIT_GROUP:-nobody}"
+start_stop_daemon_args="-e HOME= -e XDG_CONFIG_HOME="
+command_background="yes"
+
+depend() {
+	use logger
+}

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-2.34.1-r1.ebuild
similarity index 99%
copy from dev-vcs/git/git-9999-r1.ebuild
copy to dev-vcs/git/git-2.34.1-r1.ebuild
index 6fd30df80506..74e58d7f357a 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-2.34.1-r1.ebuild
@@ -513,7 +513,7 @@ src_install() {
 	fi
 
 	if ! use prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
 		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
 		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
 			"git-daemon@.service"

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 6fd30df80506..74e58d7f357a 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -513,7 +513,7 @@ src_install() {
 	fi
 
 	if ! use prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
 		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
 		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
 			"git-daemon@.service"

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 6fd30df80506..74e58d7f357a 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -513,7 +513,7 @@ src_install() {
 	fi
 
 	if ! use prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
 		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
 		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
 			"git-daemon@.service"

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index 6fd30df80506..74e58d7f357a 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -513,7 +513,7 @@ src_install() {
 	fi
 
 	if ! use prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
 		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
 		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
 			"git-daemon@.service"

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 6fd30df80506..74e58d7f357a 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -513,7 +513,7 @@ src_install() {
 	fi
 
 	if ! use prefix ; then
-		newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
 		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
 		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
 			"git-daemon@.service"


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2022-06-11  6:31 Ulrich Müller
  0 siblings, 0 replies; 21+ messages in thread
From: Ulrich Müller @ 2022-06-11  6:31 UTC (permalink / raw
  To: gentoo-commits

commit:     b84958e4b536ffc773078d98a57bf28ec0024018
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 06:26:00 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 11 06:30:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b84958e4

dev-vcs/git: Drop emacs USE flag

Closes: https://bugs.gentoo.org/850760
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dev-vcs/git/files/50git-gentoo.el | 13 -------------
 dev-vcs/git/git-2.32.0-r1.ebuild  | 26 +++-----------------------
 dev-vcs/git/git-2.33.1.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.34.1-r1.ebuild  | 26 +++-----------------------
 dev-vcs/git/git-2.34.1.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.35.1.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.35.2.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.35.3.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.36.0.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-2.36.1.ebuild     | 26 +++-----------------------
 dev-vcs/git/git-9999-r1.ebuild    | 26 +++-----------------------
 dev-vcs/git/git-9999-r2.ebuild    | 26 +++-----------------------
 dev-vcs/git/git-9999-r3.ebuild    | 26 +++-----------------------
 dev-vcs/git/git-9999.ebuild       | 26 +++-----------------------
 14 files changed, 39 insertions(+), 312 deletions(-)

diff --git a/dev-vcs/git/files/50git-gentoo.el b/dev-vcs/git/files/50git-gentoo.el
deleted file mode 100644
index 1646a391c53c..000000000000
--- a/dev-vcs/git/files/50git-gentoo.el
+++ /dev/null
@@ -1,13 +0,0 @@
-
-;;; dev-vcs/git site-lisp configuration
-
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'git-status "git" "Entry point into git-status mode." t)
-;;(autoload 'git-blame-mode "git-blame"
-;;  "Minor mode for incremental blame for Git." t)
-
-;; GNU Emacs >=22.2 already includes vc-git.el.
-;; Enable the following only if Emacs has no GIT support.
-(unless (fboundp 'vc-git-registered)
-  (add-to-list 'load-path "@SITELISP@/compat")
-  (add-to-list 'vc-handled-backends 'GIT))

diff --git a/dev-vcs/git/git-2.32.0-r1.ebuild b/dev-vcs/git/git-2.32.0-r1.ebuild
index c2d24bdf91ed..af947a55cb83 100644
--- a/dev-vcs/git/git-2.32.0-r1.ebuild
+++ b/dev-vcs/git/git-2.32.0-r1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -112,7 +112,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -307,10 +306,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -392,16 +387,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -449,7 +434,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -645,7 +630,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -658,7 +642,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.33.1.ebuild b/dev-vcs/git/git-2.33.1.ebuild
index ab8a8a02552e..edf538fcc61a 100644
--- a/dev-vcs/git/git-2.33.1.ebuild
+++ b/dev-vcs/git/git-2.33.1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -112,7 +112,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -303,10 +302,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -388,16 +383,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -445,7 +430,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -641,7 +626,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -654,7 +638,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.34.1-r1.ebuild b/dev-vcs/git/git-2.34.1-r1.ebuild
index 075208f7ce0d..05833fea5ead 100644
--- a/dev-vcs/git/git-2.34.1-r1.ebuild
+++ b/dev-vcs/git/git-2.34.1-r1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -112,7 +112,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -303,10 +302,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -388,16 +383,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -445,7 +430,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -641,7 +626,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -654,7 +638,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.34.1.ebuild b/dev-vcs/git/git-2.34.1.ebuild
index 99934132cd97..1a7f759e52da 100644
--- a/dev-vcs/git/git-2.34.1.ebuild
+++ b/dev-vcs/git/git-2.34.1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -112,7 +112,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -303,10 +302,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -388,16 +383,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -445,7 +430,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -641,7 +626,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -654,7 +638,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.35.1.ebuild b/dev-vcs/git/git-2.35.1.ebuild
index cf75fd8cdeb0..f2fce14c4987 100644
--- a/dev-vcs/git/git-2.35.1.ebuild
+++ b/dev-vcs/git/git-2.35.1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.35.2.ebuild b/dev-vcs/git/git-2.35.2.ebuild
index 69ecee409630..3109246a25e0 100644
--- a/dev-vcs/git/git-2.35.2.ebuild
+++ b/dev-vcs/git/git-2.35.2.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -112,7 +112,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -303,10 +302,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -388,16 +383,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -445,7 +430,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -641,7 +626,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -654,7 +638,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.35.3.ebuild b/dev-vcs/git/git-2.35.3.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-2.35.3.ebuild
+++ b/dev-vcs/git/git-2.35.3.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.36.0.ebuild b/dev-vcs/git/git-2.36.0.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-2.36.0.ebuild
+++ b/dev-vcs/git/git-2.36.0.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-2.36.1.ebuild b/dev-vcs/git/git-2.36.1.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-2.36.1.ebuild
+++ b/dev-vcs/git/git-2.36.1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 2193ea335c7a..cf66a5432c9c 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no
 # bug #329479: git-remote-testgit is not multiple-version aware
 PYTHON_COMPAT=( python3_{8..10} )
 
-inherit toolchain-funcs elisp-common perl-module bash-completion-r1 plocale python-single-r1 systemd
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
 
 PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
 if [[ ${PV} == *9999 ]]; then
@@ -51,7 +51,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv mediawiki mediawiki-experimental +nls +pcre perforce +perl +ppcsha1 selinux subversion tk +threads +webdav xinetd cvs test"
+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"
 
 # Common to both DEPEND and RDEPEND
 DEPEND="
@@ -113,7 +113,6 @@ BDEPEND="
 		app-text/xmlto
 		sys-apps/texinfo
 	)
-	emacs? ( >=app-editors/emacs-23.1:* )
 	gnome-keyring? ( virtual/pkgconfig )
 	nls? ( sys-devel/gettext )
 	test? (	app-crypt/gnupg	)
@@ -304,10 +303,6 @@ src_configure() {
 src_compile() {
 	git_emake || die "emake failed"
 
-	if use emacs ; then
-		elisp-compile contrib/emacs/git{,-blame}.el
-	fi
-
 	if use perl && use cgi ; then
 		git_emake gitweb || die "emake gitweb (cgi) failed"
 	fi
@@ -389,16 +384,6 @@ src_install() {
 	insinto /usr/share/${PN}
 	doins contrib/completion/git-prompt.sh
 
-	if use emacs ; then
-		elisp-install ${PN} contrib/emacs/git.{el,elc}
-		elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
-		#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
-		# don't add automatically to the load-path, so the sitefile
-		# can do a conditional loading
-		touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
-		elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-	fi
-
 	#dobin contrib/fast-import/git-p4 # Moved upstream
 	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
 	newbin contrib/fast-import/import-tars.perl import-tars
@@ -446,7 +431,7 @@ src_install() {
 	# The following are excluded:
 	# completion - installed above
 	# diff-highlight - done above
-	# emacs - installed above
+	# emacs - removed upstream
 	# examples - these are stuff that is not used in Git anymore actually
 	# git-jump - done above
 	# gitview - installed above
@@ -642,7 +627,6 @@ showpkgdeps() {
 }
 
 pkg_postinst() {
-	use emacs && elisp-site-regen
 	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
 	elog "completion."
 	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
@@ -655,7 +639,3 @@ pkg_postinst() {
 	echo
 	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
 }
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2022-06-16 11:16 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2022-06-16 11:16 UTC (permalink / raw
  To: gentoo-commits

commit:     c6a224f71d8ad9bf6dc682ed456d63ffd9aca81a
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 11:15:29 2022 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 11:16:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6a224f7

dev-vcs/git: Bump to version 2.37.0_rc0

Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                               |   3 +
 .../git/files/git-2.37.0_rc0-optional-cvs.patch    | 458 +++++++++++++++
 dev-vcs/git/git-2.37.0_rc0.ebuild                  | 641 +++++++++++++++++++++
 3 files changed, 1102 insertions(+)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index 3db6848ddd13..a1f88ece26d6 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -6,6 +6,7 @@ DIST git-2.35.2.tar.xz 6876028 BLAKE2B 2d59f0ef195770b3bd57ef8160ab24da5e1402531
 DIST git-2.35.3.tar.xz 6876328 BLAKE2B f584e9d94d167ba19bd2a00377f04eb4edf69cddbd2993a324178338b2e20e7fd126b51882ac7c7914c5118d0eab1ff9beddeb96a901a18fdfe027e21351ab61 SHA512 c92f8663988c57702bb5ee542ac8f36e8a43d377d16106ee462ce0b0a575b9d51baaafc654bf1821fbea2fe476ffd64d7fb87084c7de4dd8065b01d5083492c5
 DIST git-2.36.0.tar.xz 7003024 BLAKE2B 72bb148fc5fded2976554788eaf599d20fe9f200ac1dd1ddd4ed89f7f5c8d6c1025907080620bab477b4efadf41d883e890dff73c80d0ff5f0becd83f13ebd88 SHA512 dce0d7dbe684af070271830a01bf1b9cc289182f5106f6e3303b1b3a0d5dc74bebf6ac0174373db05a28f5acc62acb095bc9385dabeeecc1d6e8567dce29b766
 DIST git-2.36.1.tar.xz 7004044 BLAKE2B 99f54efb4ea1d8db0e3afd3dc9780cb37fc853e4757f4b37d68a6badd90eeed3e2943c97393eaed6adf61c82b97b5d01ca8d015784f5425072b1db14d39144ce SHA512 459432bd0c1d5a87c828a6fbf6d3473f14bf6b95783b3f27ea4f3af1ba9fd0e712a96a41276a16c6ebeb7ac3583a5f445eedd0a9e19fe160c2c8e309ec58818e
+DIST git-2.37.0.rc0.tar.xz 7041604 BLAKE2B 6382e7c225c01178e9e9010329d239ff7e63f52c13709b761e94d4491786e8d7fc9f3515f714f872d8d658e43578e8508fab000a1b38a342b01e605dca7a0fd7 SHA512 bcb69bc211ea4a439260dca6b61afeb0ea1f61ad892f169d990454038ad83e28eccbf9d1da6d9f4deb56b1016d8cca6a431374e8f3401c33a6ca99f403391790
 DIST git-htmldocs-2.32.0.tar.xz 1381664 BLAKE2B d1b47aa99d32a252fd20df26eff44a558044f3a389379b161bb43621eb28375eb0621969849a31938ba7fc9fc58b140d27d703559ea5735d0a0ffd2e93cd9692 SHA512 12b84e342f0d19afe385ab8a685ae625e86c3295d1555992e0c427b361aa2cdfc89a679e7dbc468d3568a325dafbf699468aadcdb02f93e372eff3dd96a7cf7f
 DIST git-htmldocs-2.33.1.tar.xz 1396744 BLAKE2B cbd65cf08fc7ea466fcd72820ba3e2135ade37f69c436a4ee7276dc71fb62f6270b71e2f46d981f5681a0fd3c30613d61680c2ef2460d0d7d292f7455e114128 SHA512 5b856b919067e1f644539d43a85aab6f602537ea0970b6248b471e3fa6756a8494f0525a69d22ad3795fcf9e106ff8439e0f6716ba0b8c895d7aad8c59e5bd74
 DIST git-htmldocs-2.34.1.tar.xz 1406464 BLAKE2B 6ee2f58df3c1622d96ac4b1a70d4dc3d0c973635774dd6bb89fea3e502dd82d99d676e2f9cb33c14c429c3d4680cd6020213154099b3f7fe71ad67602ca9bc6c SHA512 cf9fa952d43e477528deece9f22d1bb63fa50b3a831fae20812c6af31c1dbaf193abe2fed48ac9966bcf1787442ceed19f00c00e524a1911f0ea31952a52fc8f
@@ -14,6 +15,7 @@ DIST git-htmldocs-2.35.2.tar.xz 1411248 BLAKE2B d4f318f6277015bb6aef3a556bbf7a9a
 DIST git-htmldocs-2.35.3.tar.xz 1411664 BLAKE2B c7d849b9573a257de47fc8d654f7f791d21917cf65315b4ae6909ba2ebbe90970bc9e6c9949266913b1e529e662bfc375acee26ebf9304162eeccc87ce3da067 SHA512 52b97dab838fff1a865ae4d449fbb77fbac3c528666d1b936c73bffac856f16583d1b182379bc4e6851f78bccab519c3ea7e5902fc502b2e8ab7bb85043c7eea
 DIST git-htmldocs-2.36.0.tar.xz 1426148 BLAKE2B ba121e8f7d6a232f3df2b5a50c0f4a798c80808562c710f306f26fa79c124e5e1580c0626a2fce04f4a17b96d40a2683809550f37028cbc436b359de91100599 SHA512 62ee14c2f1ff34c0fbdf281ea2bb08bf6a24850d1d8dc68ffb12ae15e343c167ac869559395769fb352bd441baa8f2d45d696923a04e2f04bca921c990d75a9d
 DIST git-htmldocs-2.36.1.tar.xz 1426284 BLAKE2B 2213f870b7fe35cc76ce8654ed8c50c0e9694c58acac4aa2350f826422db6bf2fc238fbd12075f98e84539fdf6ca5624984e21844d1d1c1ceb90e3b090438a7d SHA512 3aa2ca197a789161571a6961dae8c2723ff5ba05a2d8ce7443f7fd9ef46fe5a3d001364831345f3fc4e028140022d20afefbabdf4a82cdeb311167793b292c1f
+DIST git-htmldocs-2.37.0.rc0.tar.xz 1443848 BLAKE2B da2069cafc595475d2fe0390365c2fac4163d58d03ca9e047f38259da3e0fb1393c82678857248d3ef593ddf6d05447ce199a1315af7b9e8d8cc5884adbbb3fc SHA512 012dc4512747273ac2c15204d540ab7bfe81275e723788fce88daa02dabbf44e51b4d379361bf9732012b801af3211912af10ba64aaf9c43391f2ee9e1753dd0
 DIST git-manpages-2.32.0.tar.xz 491868 BLAKE2B 7598a864246aed771371924604ee13d3f51b839b10b254bb1159dd47266513f5cd6484aab200a7b4ed427edc76538a98e39a040a17201483965175f5e1c5f484 SHA512 5c9950bd5d6904972cddf4afad534197d843c0dee8198d14ec5a3448873cab37dac88295b2a4df3658749f048bda4800b54fdc850517be7208906c911832c66e
 DIST git-manpages-2.33.1.tar.xz 494288 BLAKE2B 1f8bd4f23de31a285d3f4327e562dddafdf9f28e8b36334e54f5e280c81fc8170e8b153ca42baa642d02d8e6fdfcac9a8fdd3cee1e32c29bcd53f689d1a6c463 SHA512 d465a7b491046b7a5da6ad1fc6c62b351c69905932e0672263de5a1d3abe1113660cff9fe30c7be1d1695c6170ceca5a11b3f65e9b2d1545f35cc653e4c6ad62
 DIST git-manpages-2.34.1.tar.xz 497280 BLAKE2B aa3c67cec861eb40eda3e7827d3e380fdfb6f189027fb7e5618258b80ac33918cb3c2ca4d2f8dc5fbee959578766564137e9c4818672f5138304270c486658fe SHA512 8f3b56fa477e5aafec3ef29933234c362a372f59ed95694c4fb82ebb82d2a8ebc0ac17ae36caa9185964eef1700ea8732816e73df4ddd918afc949a8371fa0d8
@@ -22,3 +24,4 @@ DIST git-manpages-2.35.2.tar.xz 497548 BLAKE2B 5e7c9e85879e57e5b157dc8d0a8b836d8
 DIST git-manpages-2.35.3.tar.xz 497672 BLAKE2B aef5a7c579392f55fa63f1ce36c03579f4fcce443e867ac2a162a3d72344639ee11949748a51547315579b37e0fc6d5915ea203ddc556b2511125781428ce001 SHA512 25ac8f1690ccbc0e36b7d05115aebde1911909307ac29d930158b61ecd68972b8a9c3af018d73f34251d42cabf8d3d392173a448ec948df0a3119c2a2b87bd60
 DIST git-manpages-2.36.0.tar.xz 503604 BLAKE2B 438f533dce6628143c0ca348bc372017f049126933bf07a63ce9150114632a048778d8e0876970b406144aa584d512470ae4426be9c5bb8a3a581680ac9443a1 SHA512 67c2fb1c974ffe15aa09b9c36338f3ae9805573b35291e128210fc99c9fd97b1e26be571819d6b073c5adfe4c6f688c15e31790aa9eb62c1effacfb8aa21eb1c
 DIST git-manpages-2.36.1.tar.xz 503680 BLAKE2B d43fc90584b2f9e3bae30460f0c545b4fb96a5c70ad03c73d655481e5737b75a8d7a293db5bfdd752aabfc835a4a11e77474a5a0f144c8791b2dd433a3e45b70 SHA512 dd2fd6c5186aac53d7834ccf0cb6c380758624bb4583c6c5703b5b7a24c65d4199403fbcf7033c69bd3dcfbe048baaef3e886b9ba99c8afeb375e18e5b3e6e40
+DIST git-manpages-2.37.0.rc0.tar.xz 509724 BLAKE2B 0ba6edfe696a3757fad0cff1e7ada57debfe95baa6c1d46b064fdc9e3bd1c15e59afce718272186efed0d390ff2bd9ca48f5a8738ba71dc25e9b32a62cda4f47 SHA512 a0e38bec9857c04bb3e1fb3088cf540f80b68801efd35f48fa5e93da3188cf972fe43bbfd7268654f638026c80bc1b4113d3943ad9df1bce55afdf5f82e15d22

diff --git a/dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch b/dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch
new file mode 100644
index 000000000000..6bd079472312
--- /dev/null
+++ b/dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch
@@ -0,0 +1,458 @@
+From 199996fa5119b39f85489058e9e1c3335aa5342c Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Tue, 14 May 2019 08:53:06 +0200
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+Forward-ported from v2.10.0 to v2.12.0
+Forward-ported from v2.12.0 to v2.17.0-rc1
+Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
+Forward-ported from v2.18.0-rc1 to v2.22.0-rc0
+Forward-ported from v2.22.0-rc0 to v2.31.0-rc0
+Forward-ported from v2.31.0-rc0 to v2.33.0-rc0
+Forward-ported from v2.33.0-rc0 to v2.37.0-rc0
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile                           | 50 ++++++++++++++++++++++--------
+ t/t9200-git-cvsexportcommit.sh     |  5 +++
+ t/t9400-git-cvsserver-server.sh    |  8 ++++-
+ t/t9401-git-cvsserver-crlf.sh      | 15 ++++++---
+ t/t9600-cvsimport.sh               | 41 +++++++++++++++---------
+ t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 +++++++
+ t/t9603-cvsimport-patchsets.sh     | 11 +++++++
+ t/test-lib.sh                      |  1 +
+ 9 files changed, 119 insertions(+), 34 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 04d0fd1fe6..31e00ec7e6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -316,6 +316,8 @@ include shared.mak
+ #
+ # Define NO_TCLTK if you do not want Tcl/Tk GUI.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system.  Only used if NO_TCLTK
+ # is not set.  Defaults to the bare 'tclsh'.
+@@ -605,6 +607,7 @@ PROGRAM_OBJS =
+ PROGRAMS =
+ EXCLUDED_PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -637,31 +640,33 @@ SCRIPT_LIB += git-sh-setup
+ 
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+ 
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+ 
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+ 
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+ 
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_GEN)
++install-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_GEN)
+ 	$(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -670,12 +675,13 @@ install-python-script: $(SCRIPT_PYTHON_GEN)
+ clean-sh-script:
+ 	$(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+-	$(RM) $(SCRIPT_PERL_GEN)
++	$(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ 	$(RM) $(SCRIPT_PYTHON_GEN)
+ 
+ SCRIPTS = $(SCRIPT_SH_GEN) \
+ 	  $(SCRIPT_PERL_GEN) \
++	  $(SCRIPT_PERL_CVS_GEN) \
+ 	  $(SCRIPT_PYTHON_GEN) \
+ 	  git-instaweb
+ 
+@@ -2350,13 +2356,27 @@ git.res: git.rc GIT-VERSION-FILE GIT-PREFIX
+ 	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
+ 
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+ 
+ # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
+ # since the locale directory is injected.
+ perl_localedir_SQ = $(localedir_SQ)
+ 
+ ifndef NO_PERL
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN):
+ PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
+ PERL_DEFINES =
+ PERL_DEFINES += $(PERL_PATH_SQ)
+@@ -2380,7 +2400,7 @@ endif
+ 
+ PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
+ 
+-$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
+ 	$(QUIET_GEN) \
+ 	sed -e '1{' \
+ 	    -e '	s|#!.*perl|#!$(PERL_PATH_SQ)|' \
+@@ -2426,14 +2446,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
+-	$(QUIET_GEN) \
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
++	$(QUIET_GEN)$(RM) $@ $@+ && \
+ 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+-	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++	    -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ 	    unimplemented.sh >$@+ && \
+ 	chmod +x $@+ && \
+ 	mv $@+ $@
+-endif # NO_PERL
+ 
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2737,7 +2761,7 @@ MSGMERGE_FLAGS = --add-location --backup=off --update
+ LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
+ 	        $(GENERATED_H))
+ LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
+-LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
++LOCALIZED_PERL = $(sort $(SCRIPT_PERL) $(SCRIPT_PERL_CVS))
+ 
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index c5946cb0b8..223fd5409b 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ 	test_done
+ fi
+ 
++if ! test_have_prereq CVS; then
++	skip_all='skipping git cvsexportcommit tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 210ddf09e3..a620126d3f 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -14,9 +14,15 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ . ./test-lib.sh
+ 
+ if ! test_have_prereq PERL; then
+-	skip_all='skipping git cvsserver tests, perl not available'
++	skip_all='skipping git-cvsserver tests, perl not available'
+ 	test_done
+ fi
++
++if ! test_have_prereq CVS; then
++	skip_all='skipping git-cvsserver tests, cvs not available'
++	test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index a34805acdc..0d7759f73b 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -60,15 +60,20 @@ check_status_options() {
+     return $stat
+ }
+ 
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+-    skip_all='skipping git-cvsserver tests, cvs not found'
++    skip_all='skipping git-cvsserver tests, perl not available'
+     test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+-    skip_all='skipping git-cvsserver tests, perl not available'
++    skip_all='skipping git-cvsserver tests, cvs not available'
++    test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++    skip_all='skipping git-cvsserver tests, cvs not found'
+     test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 5680849218..7288db820b 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -11,14 +11,25 @@ if ! test_have_prereq NOT_ROOT; then
+ 	test_done
+ fi
+ 
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ 	CVSROOT=$(pwd)/cvsroot &&
+ 	export CVSROOT
+ '
+ 
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+ 
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+ 
+ 	mkdir "$CVSROOT/module" &&
+ 	$CVS co -d module-cvs module &&
+@@ -50,23 +61,23 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+ 
+ 	git cvsimport -a -R -z 0 -C module-git module &&
+ 	test_cmp module-cvs/o_fortuna module-git/o_fortuna
+ 
+ '
+ 
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+ 
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 	(cd module-cvs &&
+ 	cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -94,7 +105,7 @@ EOF
+ 	)
+ '
+ 
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+ 
+ 	(cd module-git &&
+ 	git config cvsimport.trackRevisions true &&
+@@ -105,7 +116,7 @@ test_expect_success PERL 'update git module' '
+ 
+ '
+ 
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -113,7 +124,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ 
+ 	(cd module-cvs &&
+ 		echo 1 >tick &&
+@@ -122,7 +133,7 @@ test_expect_success PERL 'update cvs module' '
+ 	)
+ '
+ 
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+ 
+ 	(cd module-git &&
+ 		git config cvsimport.module module &&
+@@ -134,7 +145,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+ 
+ '
+ 
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+ 
+ 	(cd module-git &&
+ 	 git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -143,7 +154,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ 	test_cmp expected module-git/.git/cvs-revisions
+ '
+ 
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+ 
+ 	$CVS co -d import-from-wt module &&
+ 	(cd import-from-wt &&
+@@ -156,12 +167,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+ 
+ '
+ 
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+ 
+ 	! test -e import-from-wt/.git/cvs-revisions
+ 
+ '
+ 
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree main'
+ 
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 116cddba3a..a7e7299c81 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -37,6 +37,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ 
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9601
+ 
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e5266c9a87..0e1878ffd3 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -9,6 +9,17 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ 
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9602
+ 
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index 19f38f78f2..bd5727e8bf 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -14,6 +14,17 @@
+ test_description='git cvsimport testing for correct patchset estimation'
+ . ./lib-cvs.sh
+ 
++if ! test_have_prereq PERL
++then
++    skip_all='skipping git cvsimport tests, perl not available'
++    test_done
++fi
++if ! test_have_prereq CVS
++then
++    skip_all='skipping git cvsimport tests, cvs not available'
++    test_done
++fi
++
+ setup_cvs_test_repository t9603
+ 
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index 736c6447ec..b9871d7d35 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -1572,6 +1572,7 @@ esac
+ test_set_prereq REFFILES
+ 
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+-- 
+2.36.1
+

diff --git a/dev-vcs/git/git-2.37.0_rc0.ebuild b/dev-vcs/git/git-2.37.0_rc0.ebuild
new file mode 100644
index 000000000000..3cd38061de34
--- /dev/null
+++ b/dev-vcs/git/git-2.37.0_rc0.ebuild
@@ -0,0 +1,641 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit toolchain-funcs perl-module bash-completion-r1 plocale python-single-r1 systemd
+
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: seen
+	case "${PVR}" in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=seen ;;
+	esac
+fi
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER="${MY_PV}"
+
+DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
+	[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+			${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			doc? (
+			${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			)"
+	[[ "${PV}" == *_rc* ]] || \
+	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"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+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"
+
+# Common to both DEPEND and RDEPEND
+DEPEND="
+	gnome-keyring? (
+		app-crypt/libsecret
+		dev-libs/glib:2
+	)
+	dev-libs/openssl:0=
+	sys-libs/zlib
+	pcre? ( dev-libs/libpcre2:= )
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:0= )
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	iconv? ( virtual/libiconv )
+"
+
+RDEPEND="${DEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/MailTools
+		dev-perl/Authen-SASL
+		>=virtual/perl-libnet-3.110.0-r4[ssl]
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso(-),perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	perforce? ( ${PYTHON_DEPS} )
+	selinux? ( sec-policy/selinux-git )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+BDEPEND="
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		app-text/xmlto
+		sys-apps/texinfo
+	)
+	gnome-keyring? ( virtual/pkgconfig )
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)
+"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	BDEPEND="${BDEPEND}
+		app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	mediawiki-experimental? ( mediawiki )
+	perforce? ( ${PYTHON_REQUIRED_USE} )
+	subversion? ( perl )
+	webdav? ( curl )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	# bug #350330 - automagic CVS when we don't want it is bad.
+	"${FILESDIR}"/git-2.37.0_rc0-optional-cvs.patch
+
+	# Make submodule output quiet
+	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]" ; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned."
+	fi
+
+	if use perforce ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local extlibs myopts
+
+	myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+		$(usex cvs '' NO_CVS=YesPlease)
+		$(usex elibc_musl NO_REGEX=YesPlease '')
+		$(usex iconv '' NO_ICONV=YesPlease)
+		$(usex nls '' NO_GETTEXT=YesPlease)
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+		$(usex perforce '' NO_PYTHON=YesPlease)
+		$(usex subversion '' NO_SVN_TESTS=YesPlease)
+		$(usex threads '' NO_PTHREADS=YesPlease)
+		$(usex tk '' NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	elif use ppcsha1 ; then
+		myopts+=( PPC_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# broken assumptions, because of static build system ...
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		myopts+=( USE_LIBPCRE2=YesPlease )
+		extlibs+=( -lpcre2-8 )
+	fi
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+		if grep -Fq getdelim "${EROOT}"/usr/include/stdio.h ; then
+			myopts+=( HAVE_GETDELIM=1 )
+		fi
+	fi
+
+	if has_version '>=app-text/asciidoc-8.0' ; then
+		myopts+=( ASCIIDOC8=YesPlease )
+	fi
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs[@]}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]] ; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+		cd "${S}" || die
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN .
+	fi
+
+}
+
+src_prepare() {
+	# add experimental patches to improve mediawiki support
+	# see patches for origin
+	if use mediawiki-experimental ; then
+		PATCHES+=(
+			"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+			"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+		)
+	fi
+
+	default
+
+	if use prefix ; then
+		# bug #757309
+		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+	fi
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use perforce && PYTHON_PATH="${PYTHON}"
+	emake ${MY_MAKEOPTS} \
+		prefix="${EPREFIX}"/usr \
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+		perllibdir="$(use perl && perl_get_raw_vendorlib)" \
+		sysconfdir="${EPREFIX}"/etc \
+		GIT_TEST_OPTS="--no-color" \
+		OPTAR="$(tc-getAR)" \
+		OPTCC="$(tc-getCC)" \
+		OPTCFLAGS="${CFLAGS}" \
+		OPTLDFLAGS="${LDFLAGS}" \
+		PERL_PATH="${EPREFIX}/usr/bin/perl" \
+		PERL_MM_OPT="" \
+		PYTHON_PATH="${PYTHON_PATH}" \
+		V=1 \
+		"$@"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake || die "emake failed"
+
+	if use perl && use cgi ; then
+		git_emake gitweb || die "emake gitweb (cgi) failed"
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
+		pushd contrib/credential/osxkeychain &>/dev/null || die
+		git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+			|| die "emake credential-osxkeychain"
+		popd &>/dev/null || die
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man || die "emake man failed"
+		if use doc ; then
+			git_emake info html || die "emake info html failed"
+		fi
+	else
+		if use doc ; then
+			git_emake info || die "emake info html failed"
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		git_emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)"
+		popd &>/dev/null || die
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake git-subtree || die
+	# git-subtree.1 requires the full USE=doc dependency stack
+	use doc && git_emake git-subtree.html git-subtree.1
+	popd &>/dev/null || die
+
+	pushd contrib/diff-highlight &>/dev/null || die
+	git_emake || die
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake || die
+		popd &>/dev/null || die
+
+	fi
+}
+
+src_install() {
+	git_emake DESTDIR="${D}" install || die "make install failed"
+
+	if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	local d
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake DESTDIR="${D}" install || die "Failed to emake install for git-subtree"
+	if use doc ; then
+		# Do not move git subtree install-man outside USE=doc!
+		git_emake DESTDIR="${D}" install-man install-html || die "Failed to emake install-html install-man for git-subtree"
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		pushd contrib/mw-to-git &>/dev/null || die
+		git_emake DESTDIR="${D}" install
+		popd &>/dev/null || die
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use gnome-keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - removed upstream
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hg-to-git
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	local i
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf \
+			"${S}"/contrib/${i} \
+			"${ED}"/usr/share/${PN}/contrib \
+			|| die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym ../gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
+			if [[ -d "${d}" ]] ; then
+				find "${d}" -name .packlist -delete || die
+			fi
+		done
+	else
+		rm -rf "${ED}"/usr/share/gitweb
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED}"/usr/libexec/git-core/git-svn \
+			"${ED}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if ! use prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" \
+			"git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
+			rm -r "${ED}/usr/share/locale/${1}" || die
+		fi
+	}
+	plocale_for_each_disabled_locale rm_loc
+}
+
+src_test() {
+	local disabled=()
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]] ; then
+		if [[ ${cvs} -eq 1 ]] ; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		[[ ${cvs} -gt 0 ]] && \
+			has_version dev-vcs/cvs && \
+			let cvs=${cvs}+1
+		[[ ${cvs} -gt 1 ]] && \
+			has_version "dev-vcs/cvs[server]" && \
+			let cvs=${cvs}+1
+		if [[ ${cvs} -lt 3 ]] ; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		if [[ -f "${i}" ]] ; then
+			mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+		fi
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
+}
+
+showpkgdeps() {
+	local pkg=$1
+	shift
+	elog "  $(printf "%-17s:" ${pkg}) ${@}"
+}
+
+pkg_postinst() {
+	elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+	elog "completion."
+	elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+	elog "Note that the prompt bash code is now in that separate script"
+	elog "These additional scripts need some dependencies:"
+	echo
+	showpkgdeps git-quiltimport "dev-util/quilt"
+	showpkgdeps git-instaweb \
+		"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+	echo
+	use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2022-06-18  7:03 Lars Wendler
  0 siblings, 0 replies; 21+ messages in thread
From: Lars Wendler @ 2022-06-18  7:03 UTC (permalink / raw
  To: gentoo-commits

commit:     c6f7d7309d9db31eb01e5684f04e559af3d0b9b9
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 18 07:03:32 2022 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Jun 18 07:03:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6f7d730

dev-vcs/git: Bump to version 2.37.0_rc1. Removed old

Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 dev-vcs/git/Manifest                                          |  6 +++---
 ...0-optional-cvs.patch => git-2.37.0_rc1-optional-cvs.patch} | 11 ++++++-----
 dev-vcs/git/{git-2.37.0_rc0.ebuild => git-2.37.0_rc1.ebuild}  |  2 +-
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
index a1f88ece26d6..b65e7daa96e5 100644
--- a/dev-vcs/git/Manifest
+++ b/dev-vcs/git/Manifest
@@ -6,7 +6,7 @@ DIST git-2.35.2.tar.xz 6876028 BLAKE2B 2d59f0ef195770b3bd57ef8160ab24da5e1402531
 DIST git-2.35.3.tar.xz 6876328 BLAKE2B f584e9d94d167ba19bd2a00377f04eb4edf69cddbd2993a324178338b2e20e7fd126b51882ac7c7914c5118d0eab1ff9beddeb96a901a18fdfe027e21351ab61 SHA512 c92f8663988c57702bb5ee542ac8f36e8a43d377d16106ee462ce0b0a575b9d51baaafc654bf1821fbea2fe476ffd64d7fb87084c7de4dd8065b01d5083492c5
 DIST git-2.36.0.tar.xz 7003024 BLAKE2B 72bb148fc5fded2976554788eaf599d20fe9f200ac1dd1ddd4ed89f7f5c8d6c1025907080620bab477b4efadf41d883e890dff73c80d0ff5f0becd83f13ebd88 SHA512 dce0d7dbe684af070271830a01bf1b9cc289182f5106f6e3303b1b3a0d5dc74bebf6ac0174373db05a28f5acc62acb095bc9385dabeeecc1d6e8567dce29b766
 DIST git-2.36.1.tar.xz 7004044 BLAKE2B 99f54efb4ea1d8db0e3afd3dc9780cb37fc853e4757f4b37d68a6badd90eeed3e2943c97393eaed6adf61c82b97b5d01ca8d015784f5425072b1db14d39144ce SHA512 459432bd0c1d5a87c828a6fbf6d3473f14bf6b95783b3f27ea4f3af1ba9fd0e712a96a41276a16c6ebeb7ac3583a5f445eedd0a9e19fe160c2c8e309ec58818e
-DIST git-2.37.0.rc0.tar.xz 7041604 BLAKE2B 6382e7c225c01178e9e9010329d239ff7e63f52c13709b761e94d4491786e8d7fc9f3515f714f872d8d658e43578e8508fab000a1b38a342b01e605dca7a0fd7 SHA512 bcb69bc211ea4a439260dca6b61afeb0ea1f61ad892f169d990454038ad83e28eccbf9d1da6d9f4deb56b1016d8cca6a431374e8f3401c33a6ca99f403391790
+DIST git-2.37.0.rc1.tar.xz 7044188 BLAKE2B 9b1e538f5cc8ba00d5fc0de98d25ebbd3bdd4496c4c452119bc2576633aff1a5512750cf39567f2eb8aa838fa84d432ab806a8b7d8611c0cc8b52213c144ad37 SHA512 4a2ddb7d4be9bcfcdcc181693d09bd4b34db0b44d22c3df6bcbb82f99950dfa2a19aebe0d877386be1c731cc307c891e85fe48c50c7988299ee92ed3aad95d11
 DIST git-htmldocs-2.32.0.tar.xz 1381664 BLAKE2B d1b47aa99d32a252fd20df26eff44a558044f3a389379b161bb43621eb28375eb0621969849a31938ba7fc9fc58b140d27d703559ea5735d0a0ffd2e93cd9692 SHA512 12b84e342f0d19afe385ab8a685ae625e86c3295d1555992e0c427b361aa2cdfc89a679e7dbc468d3568a325dafbf699468aadcdb02f93e372eff3dd96a7cf7f
 DIST git-htmldocs-2.33.1.tar.xz 1396744 BLAKE2B cbd65cf08fc7ea466fcd72820ba3e2135ade37f69c436a4ee7276dc71fb62f6270b71e2f46d981f5681a0fd3c30613d61680c2ef2460d0d7d292f7455e114128 SHA512 5b856b919067e1f644539d43a85aab6f602537ea0970b6248b471e3fa6756a8494f0525a69d22ad3795fcf9e106ff8439e0f6716ba0b8c895d7aad8c59e5bd74
 DIST git-htmldocs-2.34.1.tar.xz 1406464 BLAKE2B 6ee2f58df3c1622d96ac4b1a70d4dc3d0c973635774dd6bb89fea3e502dd82d99d676e2f9cb33c14c429c3d4680cd6020213154099b3f7fe71ad67602ca9bc6c SHA512 cf9fa952d43e477528deece9f22d1bb63fa50b3a831fae20812c6af31c1dbaf193abe2fed48ac9966bcf1787442ceed19f00c00e524a1911f0ea31952a52fc8f
@@ -15,7 +15,7 @@ DIST git-htmldocs-2.35.2.tar.xz 1411248 BLAKE2B d4f318f6277015bb6aef3a556bbf7a9a
 DIST git-htmldocs-2.35.3.tar.xz 1411664 BLAKE2B c7d849b9573a257de47fc8d654f7f791d21917cf65315b4ae6909ba2ebbe90970bc9e6c9949266913b1e529e662bfc375acee26ebf9304162eeccc87ce3da067 SHA512 52b97dab838fff1a865ae4d449fbb77fbac3c528666d1b936c73bffac856f16583d1b182379bc4e6851f78bccab519c3ea7e5902fc502b2e8ab7bb85043c7eea
 DIST git-htmldocs-2.36.0.tar.xz 1426148 BLAKE2B ba121e8f7d6a232f3df2b5a50c0f4a798c80808562c710f306f26fa79c124e5e1580c0626a2fce04f4a17b96d40a2683809550f37028cbc436b359de91100599 SHA512 62ee14c2f1ff34c0fbdf281ea2bb08bf6a24850d1d8dc68ffb12ae15e343c167ac869559395769fb352bd441baa8f2d45d696923a04e2f04bca921c990d75a9d
 DIST git-htmldocs-2.36.1.tar.xz 1426284 BLAKE2B 2213f870b7fe35cc76ce8654ed8c50c0e9694c58acac4aa2350f826422db6bf2fc238fbd12075f98e84539fdf6ca5624984e21844d1d1c1ceb90e3b090438a7d SHA512 3aa2ca197a789161571a6961dae8c2723ff5ba05a2d8ce7443f7fd9ef46fe5a3d001364831345f3fc4e028140022d20afefbabdf4a82cdeb311167793b292c1f
-DIST git-htmldocs-2.37.0.rc0.tar.xz 1443848 BLAKE2B da2069cafc595475d2fe0390365c2fac4163d58d03ca9e047f38259da3e0fb1393c82678857248d3ef593ddf6d05447ce199a1315af7b9e8d8cc5884adbbb3fc SHA512 012dc4512747273ac2c15204d540ab7bfe81275e723788fce88daa02dabbf44e51b4d379361bf9732012b801af3211912af10ba64aaf9c43391f2ee9e1753dd0
+DIST git-htmldocs-2.37.0.rc1.tar.xz 1444520 BLAKE2B 5f287504e37693349defd767fe25d52335d1003242f0d49d25df702e0a86175387eff79b4a2df35df9480f4ccb406c4d329d432b02ad61d1dda5236e9c5049dd SHA512 afe1aea0af1b6f5dd8b3ac181c24e30e57eae27007b4bdd979c6e9f74809479e78c1b79dfc2b856409f4a806dcc64eacd159b05e6d8dcd1cd026709d7d5e9f6d
 DIST git-manpages-2.32.0.tar.xz 491868 BLAKE2B 7598a864246aed771371924604ee13d3f51b839b10b254bb1159dd47266513f5cd6484aab200a7b4ed427edc76538a98e39a040a17201483965175f5e1c5f484 SHA512 5c9950bd5d6904972cddf4afad534197d843c0dee8198d14ec5a3448873cab37dac88295b2a4df3658749f048bda4800b54fdc850517be7208906c911832c66e
 DIST git-manpages-2.33.1.tar.xz 494288 BLAKE2B 1f8bd4f23de31a285d3f4327e562dddafdf9f28e8b36334e54f5e280c81fc8170e8b153ca42baa642d02d8e6fdfcac9a8fdd3cee1e32c29bcd53f689d1a6c463 SHA512 d465a7b491046b7a5da6ad1fc6c62b351c69905932e0672263de5a1d3abe1113660cff9fe30c7be1d1695c6170ceca5a11b3f65e9b2d1545f35cc653e4c6ad62
 DIST git-manpages-2.34.1.tar.xz 497280 BLAKE2B aa3c67cec861eb40eda3e7827d3e380fdfb6f189027fb7e5618258b80ac33918cb3c2ca4d2f8dc5fbee959578766564137e9c4818672f5138304270c486658fe SHA512 8f3b56fa477e5aafec3ef29933234c362a372f59ed95694c4fb82ebb82d2a8ebc0ac17ae36caa9185964eef1700ea8732816e73df4ddd918afc949a8371fa0d8
@@ -24,4 +24,4 @@ DIST git-manpages-2.35.2.tar.xz 497548 BLAKE2B 5e7c9e85879e57e5b157dc8d0a8b836d8
 DIST git-manpages-2.35.3.tar.xz 497672 BLAKE2B aef5a7c579392f55fa63f1ce36c03579f4fcce443e867ac2a162a3d72344639ee11949748a51547315579b37e0fc6d5915ea203ddc556b2511125781428ce001 SHA512 25ac8f1690ccbc0e36b7d05115aebde1911909307ac29d930158b61ecd68972b8a9c3af018d73f34251d42cabf8d3d392173a448ec948df0a3119c2a2b87bd60
 DIST git-manpages-2.36.0.tar.xz 503604 BLAKE2B 438f533dce6628143c0ca348bc372017f049126933bf07a63ce9150114632a048778d8e0876970b406144aa584d512470ae4426be9c5bb8a3a581680ac9443a1 SHA512 67c2fb1c974ffe15aa09b9c36338f3ae9805573b35291e128210fc99c9fd97b1e26be571819d6b073c5adfe4c6f688c15e31790aa9eb62c1effacfb8aa21eb1c
 DIST git-manpages-2.36.1.tar.xz 503680 BLAKE2B d43fc90584b2f9e3bae30460f0c545b4fb96a5c70ad03c73d655481e5737b75a8d7a293db5bfdd752aabfc835a4a11e77474a5a0f144c8791b2dd433a3e45b70 SHA512 dd2fd6c5186aac53d7834ccf0cb6c380758624bb4583c6c5703b5b7a24c65d4199403fbcf7033c69bd3dcfbe048baaef3e886b9ba99c8afeb375e18e5b3e6e40
-DIST git-manpages-2.37.0.rc0.tar.xz 509724 BLAKE2B 0ba6edfe696a3757fad0cff1e7ada57debfe95baa6c1d46b064fdc9e3bd1c15e59afce718272186efed0d390ff2bd9ca48f5a8738ba71dc25e9b32a62cda4f47 SHA512 a0e38bec9857c04bb3e1fb3088cf540f80b68801efd35f48fa5e93da3188cf972fe43bbfd7268654f638026c80bc1b4113d3943ad9df1bce55afdf5f82e15d22
+DIST git-manpages-2.37.0.rc1.tar.xz 510320 BLAKE2B e8ea2fbe7c09f7f4e856d1366e737ed8cbaf8ec5ae102eb40c0e54c6f2341dbb10882e2ac5c885554b9c7f1fa4bdf24ff840ad7ccaa3ec54079c3e7224a8c82d SHA512 70d8cba206ca46a60d234a742c2ae4e5e12b9296afa9970731e177e8384c19182b6d87da1be9bc5b18e8f906cf360a76c81d6a28d342810505fa416be36bc26c

diff --git a/dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch b/dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch
similarity index 98%
rename from dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch
rename to dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch
index 6bd079472312..d6cdb6bcaad6 100644
--- a/dev-vcs/git/files/git-2.37.0_rc0-optional-cvs.patch
+++ b/dev-vcs/git/files/git-2.37.0_rc1-optional-cvs.patch
@@ -1,4 +1,4 @@
-From 199996fa5119b39f85489058e9e1c3335aa5342c Mon Sep 17 00:00:00 2001
+From 35038d89fbd952e72023152478aa3cb070a907d8 Mon Sep 17 00:00:00 2001
 From: Robin Johnson <robbat2@gentoo.org>
 Date: Tue, 14 May 2019 08:53:06 +0200
 Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
@@ -19,6 +19,7 @@ Forward-ported from v2.18.0-rc1 to v2.22.0-rc0
 Forward-ported from v2.22.0-rc0 to v2.31.0-rc0
 Forward-ported from v2.31.0-rc0 to v2.33.0-rc0
 Forward-ported from v2.33.0-rc0 to v2.37.0-rc0
+Forward-ported from v2.37.0-rc0 to v2.37.0-rc1
 
 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
 ---
@@ -442,17 +443,17 @@ index 19f38f78f2..bd5727e8bf 100755
  
  test_expect_failure PERL 'import with criss cross times on revisions' '
 diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 736c6447ec..b9871d7d35 100644
+index 55857af601..791aa324a9 100644
 --- a/t/test-lib.sh
 +++ b/t/test-lib.sh
-@@ -1572,6 +1572,7 @@ esac
- test_set_prereq REFFILES
+@@ -1573,6 +1573,7 @@ test_set_prereq REFFILES
  
  ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
+ test -z "$NO_CURL" && test_set_prereq LIBCURL
 +test -z "$NO_CVS" && test_set_prereq CVS
  test -z "$NO_PERL" && test_set_prereq PERL
  test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
  test -z "$NO_PYTHON" && test_set_prereq PYTHON
 -- 
-2.36.1
+2.37.0.rc0
 

diff --git a/dev-vcs/git/git-2.37.0_rc0.ebuild b/dev-vcs/git/git-2.37.0_rc1.ebuild
similarity index 99%
rename from dev-vcs/git/git-2.37.0_rc0.ebuild
rename to dev-vcs/git/git-2.37.0_rc1.ebuild
index 3cd38061de34..6b4a3f2ff057 100644
--- a/dev-vcs/git/git-2.37.0_rc0.ebuild
+++ b/dev-vcs/git/git-2.37.0_rc1.ebuild
@@ -141,7 +141,7 @@ RESTRICT="!test? ( test )"
 
 PATCHES=(
 	# bug #350330 - automagic CVS when we don't want it is bad.
-	"${FILESDIR}"/git-2.37.0_rc0-optional-cvs.patch
+	"${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
 
 	# Make submodule output quiet
 	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2022-08-19  1:43 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2022-08-19  1:43 UTC (permalink / raw
  To: gentoo-commits

commit:     71e80ba67621b7f95a5859af2a5adec5acc5fd14
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 19 01:43:06 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 19 01:43:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71e80ba6

dev-vcs/git: rebase Darwin patch

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/git-2.37.2-darwin-prefix-gettext.patch   | 22 ++++++++++++++++++++++
 dev-vcs/git/git-2.37.2.ebuild                      |  2 +-
 dev-vcs/git/git-9999-r1.ebuild                     |  2 +-
 dev-vcs/git/git-9999-r2.ebuild                     |  2 +-
 dev-vcs/git/git-9999-r3.ebuild                     |  2 +-
 dev-vcs/git/git-9999.ebuild                        |  2 +-
 6 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/dev-vcs/git/files/git-2.37.2-darwin-prefix-gettext.patch b/dev-vcs/git/files/git-2.37.2-darwin-prefix-gettext.patch
new file mode 100644
index 000000000000..af267347e65e
--- /dev/null
+++ b/dev-vcs/git/files/git-2.37.2-darwin-prefix-gettext.patch
@@ -0,0 +1,22 @@
+Don't examine outside of the prefix for gettext on macOS/Darwin.
+https://bugs.gentoo.org/757309
+--- a/config.mak.uname
++++ b/config.mak.uname
+@@ -148,17 +148,6 @@ ifeq ($(uname_S),Darwin)
+ 	HAVE_NS_GET_EXECUTABLE_PATH = YesPlease
+ 	CSPRNG_METHOD = arc4random
+ 
+-	# Workaround for `gettext` being keg-only and not even being linked via
+-	# `brew link --force gettext`, should be obsolete as of
+-	# https://github.com/Homebrew/homebrew-core/pull/53489
+-	ifeq ($(shell test -d /usr/local/opt/gettext/ && echo y),y)
+-		BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
+-		BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
+-		ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
+-			MSGFMT = /usr/local/opt/gettext/bin/msgfmt
+-		endif
+-	endif
+-
+ 	# The builtin FSMonitor on MacOS builds upon Simple-IPC.  Both require
+ 	# Unix domain sockets and PThreads.
+ 	ifndef NO_PTHREADS

diff --git a/dev-vcs/git/git-2.37.2.ebuild b/dev-vcs/git/git-2.37.2.ebuild
index 70bd35f67fb0..cdfdd0b66a85 100644
--- a/dev-vcs/git/git-2.37.2.ebuild
+++ b/dev-vcs/git/git-2.37.2.ebuild
@@ -265,7 +265,7 @@ src_prepare() {
 
 	if use prefix ; then
 		# bug #757309
-		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+		eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
 	fi
 
 	sed -i \

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index cf66a5432c9c..a3a70228f500 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -258,7 +258,7 @@ src_prepare() {
 
 	if use prefix ; then
 		# bug #757309
-		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+		eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
 	fi
 
 	sed -i \

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index cf66a5432c9c..a3a70228f500 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -258,7 +258,7 @@ src_prepare() {
 
 	if use prefix ; then
 		# bug #757309
-		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+		eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
 	fi
 
 	sed -i \

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index cf66a5432c9c..a3a70228f500 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -258,7 +258,7 @@ src_prepare() {
 
 	if use prefix ; then
 		# bug #757309
-		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+		eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
 	fi
 
 	sed -i \

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index cf66a5432c9c..a3a70228f500 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -258,7 +258,7 @@ src_prepare() {
 
 	if use prefix ; then
 		# bug #757309
-		eapply "${FILESDIR}"/git-2.31.0-darwin-prefix-gettext.patch
+		eapply "${FILESDIR}"/git-2.37.2-darwin-prefix-gettext.patch
 	fi
 
 	sed -i \


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2024-09-30  5:14 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2024-09-30  5:14 UTC (permalink / raw
  To: gentoo-commits

commit:     f989b3c750b5a59aabd83464b2177c73b0b932f3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 04:59:03 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 05:02:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f989b3c7

dev-vcs/git: rebase USE=-safe-directory patch

Closes: https://github.com/gentoo/gentoo/pull/38802
Closes: https://bugs.gentoo.org/939895
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-vcs/git/files/git-2.46.2-unsafe-directory.patch | 14 ++++++++++++++
 dev-vcs/git/git-2.46.2.ebuild                       |  2 +-
 dev-vcs/git/git-9999-r1.ebuild                      |  2 +-
 dev-vcs/git/git-9999-r2.ebuild                      |  2 +-
 dev-vcs/git/git-9999-r3.ebuild                      |  2 +-
 dev-vcs/git/git-9999.ebuild                         |  2 +-
 6 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/dev-vcs/git/files/git-2.46.2-unsafe-directory.patch b/dev-vcs/git/files/git-2.46.2-unsafe-directory.patch
new file mode 100644
index 000000000000..0e07371a0d88
--- /dev/null
+++ b/dev-vcs/git/files/git-2.46.2-unsafe-directory.patch
@@ -0,0 +1,14 @@
+Neuter the "safe directory" feature, except for tests.
+--- a/setup.c
++++ b/setup.c
+@@ -1316,7 +1316,9 @@ static int ensure_valid_ownership(const char *gitfile,
+ 	git_protected_config(safe_directory_cb, &data);
+ 
+ 	free(data.path);
+-	return data.is_safe;
++	if (git_env_bool("GIT_TEST_ASSUME_DIFFERENT_OWNER", 0))
++		return data.is_safe;
++	return 1;
+ }
+ 
+ void die_upon_dubious_ownership(const char *gitfile, const char *worktree,

diff --git a/dev-vcs/git/git-2.46.2.ebuild b/dev-vcs/git/git-2.46.2.ebuild
index 6112d2fa6228..17a8afd1ac8b 100644
--- a/dev-vcs/git/git-2.46.2.ebuild
+++ b/dev-vcs/git/git-2.46.2.ebuild
@@ -253,7 +253,7 @@ src_prepare() {
 		# This patch neuters the "safe directory" detection.
 		# bugs #838271, #838223
 		PATCHES+=(
-			"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
 		)
 	fi
 

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 6112d2fa6228..17a8afd1ac8b 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -253,7 +253,7 @@ src_prepare() {
 		# This patch neuters the "safe directory" detection.
 		# bugs #838271, #838223
 		PATCHES+=(
-			"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
 		)
 	fi
 

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 6112d2fa6228..17a8afd1ac8b 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -253,7 +253,7 @@ src_prepare() {
 		# This patch neuters the "safe directory" detection.
 		# bugs #838271, #838223
 		PATCHES+=(
-			"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
 		)
 	fi
 

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index 6112d2fa6228..17a8afd1ac8b 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -253,7 +253,7 @@ src_prepare() {
 		# This patch neuters the "safe directory" detection.
 		# bugs #838271, #838223
 		PATCHES+=(
-			"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
 		)
 	fi
 

diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 6112d2fa6228..17a8afd1ac8b 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -253,7 +253,7 @@ src_prepare() {
 		# This patch neuters the "safe directory" detection.
 		# bugs #838271, #838223
 		PATCHES+=(
-			"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
 		)
 	fi
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/
@ 2024-10-17  7:19 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2024-10-17  7:19 UTC (permalink / raw
  To: gentoo-commits

commit:     c4e6363643991154edc1283001220a01326bd3a3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 17 07:17:58 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 17 07:18:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4e63636

dev-vcs/git: backport fix for `git-maintenance` to 2.47.0

The maintainer upstream is away so there won't be a quick point
release for this unfortunately but on the ML, upstream developers
have recommended that this be backported.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-vcs/git/files/git-2.47.0-maintenance.patch |  85 ++++
 dev-vcs/git/git-2.47.0-r1.ebuild               | 670 +++++++++++++++++++++++++
 2 files changed, 755 insertions(+)

diff --git a/dev-vcs/git/files/git-2.47.0-maintenance.patch b/dev-vcs/git/files/git-2.47.0-maintenance.patch
new file mode 100644
index 000000000000..085d4adac33f
--- /dev/null
+++ b/dev-vcs/git/files/git-2.47.0-maintenance.patch
@@ -0,0 +1,85 @@
+https://lore.kernel.org/git/CAG=Um+0mJW-oAH+YLC3dWEU64JwS-zMkkTiFWYBe4g6HMbe-iA@mail.gmail.com/
+https://github.com/git/git/commit/c95547a394a35dc26afa686454086d2db6e51ea4
+
+From c95547a394a35dc26afa686454086d2db6e51ea4 Mon Sep 17 00:00:00 2001
+From: Patrick Steinhardt <ps@pks.im>
+Date: Thu, 10 Oct 2024 07:33:01 +0200
+Subject: [PATCH] builtin/gc: fix crash when running `git maintenance start`
+
+It was reported on the mailing list that running `git maintenance start`
+immediately segfaults starting with b6c3f8e12c (builtin/maintenance: fix
+leak in `get_schedule_cmd()`, 2024-09-26). And indeed, this segfault is
+trivial to reproduce up to a point where one is scratching their head
+why we didn't catch this regression in our test suite.
+
+The root cause of this error is `get_schedule_cmd()`, which does not
+populate the `out` parameter in all cases anymore starting with the
+mentioned commit. Callers do assume it to always be populated though and
+will e.g. call `strvec_split()` on the returned value, which will of
+course segfault when the variable is uninitialized.
+
+So why didn't we catch this trivial regression? The reason is that our
+tests always set up the "GIT_TEST_MAINT_SCHEDULER" environment variable
+via "t/test-lib.sh", which allows us to override the scheduler command
+with a custom one so that we don't accidentally modify the developer's
+system. But the faulty code where we don't set the `out` parameter will
+only get hit in case that environment variable is _not_ set, which is
+never the case when executing our tests.
+
+Fix the regression by again unconditionally allocating the value in the
+`out` parameter, if provided. Add a test that unsets the environment
+variable to catch future regressions in this area.
+
+Reported-by: Shubham Kanodia <shubham.kanodia10@gmail.com>
+Signed-off-by: Patrick Steinhardt <ps@pks.im>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+--- a/builtin/gc.c
++++ b/builtin/gc.c
+@@ -1794,7 +1794,7 @@ static const char *get_frequency(enum schedule_priority schedule)
+  *     | Input |                     Output                      |
+  *     | *cmd  | return code |       *out        | *is_available |
+  *     +-------+-------------+-------------------+---------------+
+- *     | "foo" |    false    | NULL              |  (unchanged)  |
++ *     | "foo" |    false    | "foo" (allocated) |  (unchanged)  |
+  *     +-------+-------------+-------------------+---------------+
+  *
+  *   GIT_TEST_MAINT_SCHEDULER set to “foo:./mock_foo.sh,bar:./mock_bar.sh”
+@@ -1812,8 +1812,11 @@ static int get_schedule_cmd(const char *cmd, int *is_available, char **out)
+ 	struct string_list_item *item;
+ 	struct string_list list = STRING_LIST_INIT_NODUP;
+ 
+-	if (!testing)
++	if (!testing) {
++		if (out)
++			*out = xstrdup(cmd);
+ 		return 0;
++	}
+ 
+ 	if (is_available)
+ 		*is_available = 0;
+--- a/t/t7900-maintenance.sh
++++ b/t/t7900-maintenance.sh
+@@ -646,6 +646,22 @@ test_expect_success !MINGW 'register and unregister with regex metacharacters' '
+ 		maintenance.repo "$(pwd)/$META"
+ '
+ 
++test_expect_success 'start without GIT_TEST_MAINT_SCHEDULER' '
++	test_when_finished "rm -rf systemctl.log script repo" &&
++	mkdir script &&
++	write_script script/systemctl <<-\EOF &&
++	echo "$*" >>../systemctl.log
++	EOF
++	git init repo &&
++	(
++		cd repo &&
++		sane_unset GIT_TEST_MAINT_SCHEDULER &&
++		PATH="$PWD/../script:$PATH" git maintenance start --scheduler=systemd
++	) &&
++	test_grep -- "--user list-timers" systemctl.log &&
++	test_grep -- "enable --now git-maintenance@" systemctl.log
++'
++
+ test_expect_success 'start --scheduler=<scheduler>' '
+ 	test_expect_code 129 git maintenance start --scheduler=foo 2>err &&
+ 	test_grep "unrecognized --scheduler argument" err &&
+

diff --git a/dev-vcs/git/git-2.47.0-r1.ebuild b/dev-vcs/git/git-2.47.0-r1.ebuild
new file mode 100644
index 000000000000..0de66a8aadb3
--- /dev/null
+++ b/dev-vcs/git/git-2.47.0-r1.ebuild
@@ -0,0 +1,670 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
+
+PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
+
+if [[ ${PV} == *9999 ]]; then
+	EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
+
+	inherit git-r3
+	# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+	# See https://git-scm.com/docs/gitworkflows#_graduation
+	# In order of stability:
+	# 9999-r0: maint
+	# 9999-r1: master
+	# 9999-r2: next
+	# 9999-r3: seen
+	case ${PVR} in
+		9999) EGIT_BRANCH=maint ;;
+		9999-r1) EGIT_BRANCH=master ;;
+		9999-r2) EGIT_BRANCH=next;;
+		9999-r3) EGIT_BRANCH=seen ;;
+	esac
+fi
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER="${MY_PV}"
+
+DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="https://www.git-scm.com/"
+
+if [[ ${PV} != *9999 ]]; then
+	SRC_URI_SUFFIX="xz"
+	SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
+
+	[[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
+
+	SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
+	SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
+	SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
+
+	if [[ ${PV} != *_rc* ]] ; then
+		KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+	fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
+
+# Common to both DEPEND and RDEPEND
+DEPEND="
+	dev-libs/openssl:=
+	sys-libs/zlib
+	curl? (
+		net-misc/curl
+		webdav? ( dev-libs/expat )
+	)
+	keyring? (
+		app-crypt/libsecret
+		dev-libs/glib:2
+	)
+	iconv? ( virtual/libiconv )
+	pcre? ( dev-libs/libpcre2:= )
+	perl? ( dev-lang/perl:=[-build(-)] )
+	tk? ( dev-lang/tk:= )
+"
+RDEPEND="
+	${DEPEND}
+	gpg? ( app-crypt/gnupg )
+	perl? (
+		dev-perl/Error
+		dev-perl/MailTools
+		dev-perl/Authen-SASL
+		>=virtual/perl-libnet-3.110.0-r4[ssl]
+		cgi? (
+			dev-perl/CGI
+			highlight? ( app-text/highlight )
+		)
+		cvs? (
+			>=dev-vcs/cvsps-2.1:0
+			dev-perl/DBI
+			dev-perl/DBD-SQLite
+		)
+		mediawiki? (
+			dev-perl/DateTime-Format-ISO8601
+			dev-perl/HTML-Tree
+			dev-perl/MediaWiki-API
+		)
+		subversion? (
+			dev-vcs/subversion[-dso(-),perl]
+			dev-perl/libwww-perl
+			dev-perl/TermReadKey
+		)
+	)
+	perforce? ( ${PYTHON_DEPS} )
+	selinux? ( sec-policy/selinux-git )
+"
+
+# This is how info docs are created with Git:
+#   .txt/asciidoc --(asciidoc)---------> .xml/docbook
+#   .xml/docbook  --(docbook2texi.pl)--> .texi
+#   .texi         --(makeinfo)---------> .info
+BDEPEND="
+	doc? (
+		app-text/asciidoc
+		app-text/docbook2X
+		app-text/xmlto
+		sys-apps/texinfo
+	)
+	keyring? ( virtual/pkgconfig )
+	nls? ( sys-devel/gettext )
+	test? (	app-crypt/gnupg	)
+"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+	BDEPEND+=" app-text/asciidoc"
+fi
+
+SITEFILE="50${PN}-gentoo.el"
+
+REQUIRED_USE="
+	cgi? ( perl )
+	cvs? ( perl )
+	mediawiki? ( perl )
+	perforce? ( ${PYTHON_REQUIRED_USE} )
+	subversion? ( perl )
+	webdav? ( curl )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	# Avoid automagic CVS, bug #350330
+	"${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
+
+	# Make submodule output quiet
+	"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
+
+	# Backport fix for git-maintenance
+	"${FILESDIR}"/${P}-maintenance.patch
+)
+
+pkg_setup() {
+	if use subversion && has_version "dev-vcs/subversion[dso]" ; then
+		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+		ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+		ewarn "have been warned!"
+	fi
+
+	if use perforce ; then
+		python-single-r1_pkg_setup
+	fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+	local extlibs myopts
+
+	myopts=(
+		ASCIIDOC_NO_ROFF=YesPlease
+
+		$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
+
+		$(usev elibc_musl NO_REGEX=NeedsStartEnd)
+		$(usev !cvs NO_CVS=YesPlease)
+		$(usev !iconv NO_ICONV=YesPlease)
+		$(usev !nls NO_GETTEXT=YesPlease)
+		$(usev !perforce NO_PYTHON=YesPlease)
+		$(usev !subversion NO_SVN_TESTS=YesPlease)
+		$(usev !tk NO_TCLTK=YesPlease)
+	)
+
+	if use blksha1 ; then
+		myopts+=( BLK_SHA1=YesPlease )
+	fi
+
+	if use curl ; then
+		use webdav || myopts+=( NO_EXPAT=YesPlease )
+	else
+		myopts+=( NO_CURL=YesPlease )
+	fi
+
+	# Broken assumptions because of static build system
+	myopts+=(
+		NO_FINK=YesPlease
+		NO_DARWIN_PORTS=YesPlease
+		INSTALL=install
+		TAR=tar
+		SHELL_PATH="${EPREFIX}/bin/sh"
+		SANE_TOOL_PATH=
+		OLD_ICONV=
+		NO_EXTERNAL_GREP=
+	)
+
+	# Can't define this to null, since the entire makefile depends on it
+	sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
+
+	if use pcre; then
+		myopts+=( USE_LIBPCRE2=YesPlease )
+		extlibs+=( -lpcre2-8 )
+	fi
+
+	if [[ ${CHOST} == *-solaris* ]]; then
+		myopts+=(
+			NEEDS_LIBICONV=YesPlease
+			HAVE_CLOCK_MONOTONIC=1
+		)
+
+		if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
+			myopts+=( HAVE_GETDELIM=1 )
+		fi
+	fi
+
+	myopts+=( ASCIIDOC8=YesPlease )
+
+	export MY_MAKEOPTS="${myopts[@]}"
+	export EXTLIBS="${extlibs[@]}"
+}
+
+src_unpack() {
+	if [[ ${PV} != *9999 ]] ; then
+		unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+
+		cd "${S}" || die
+		unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+
+		if use doc ; then
+			pushd "${S}"/Documentation &>/dev/null || die
+			unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+			popd &>/dev/null || die
+		fi
+	else
+		git-r3_src_unpack
+		#cp "${FILESDIR}"/GIT-VERSION-GEN . || die
+	fi
+
+}
+
+src_prepare() {
+	if ! use safe-directory ; then
+		# This patch neuters the "safe directory" detection.
+		# bugs #838271, #838223
+		PATCHES+=(
+			"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
+		)
+	fi
+
+	default
+
+	if use prefix ; then
+		# bug #757309
+		sed -i \
+			-e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \
+			-e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \
+			config.mak.uname || die
+	fi
+
+	sed -i \
+		-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+		-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+		-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+		-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+		-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+		Makefile || die
+
+	# Fix docbook2texi command
+	sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+		Documentation/Makefile || die
+}
+
+git_emake() {
+	# bug #320647: PYTHON_PATH
+	local PYTHON_PATH=""
+	use perforce && PYTHON_PATH="${PYTHON}"
+
+	local mymakeargs=(
+		${MY_MAKEOPTS}
+
+		prefix="${EPREFIX}"/usr
+		htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+		perllibdir="$(use perl && perl_get_raw_vendorlib)"
+		sysconfdir="${EPREFIX}"/etc
+
+		CC="$(tc-getCC)"
+		CFLAGS="${CFLAGS}"
+		PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+		# TODO: --verbose?
+		GIT_TEST_OPTS="--no-color"
+
+		OPTAR="$(tc-getAR)"
+		OPTCC="$(tc-getCC)"
+		OPTCFLAGS="${CFLAGS}"
+		OPTLDFLAGS="${LDFLAGS}"
+
+		CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config"
+		CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)"
+		CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)"
+
+		PERL_PATH="${EPREFIX}/usr/bin/perl"
+		PERL_MM_OPT=""
+
+		PYTHON_PATH="${PYTHON_PATH}"
+
+		V=1
+		"$@"
+	)
+
+	emake "${mymakeargs[@]}"
+}
+
+src_configure() {
+	exportmakeopts
+}
+
+src_compile() {
+	git_emake
+
+	if use perl && use cgi ; then
+		git_emake gitweb
+	fi
+
+	if use perl ; then
+		git_emake -C contrib/credential/netrc
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
+		git_emake -C contrib/credential/osxkeychain
+	fi
+
+	pushd Documentation &>/dev/null || die
+	if [[ ${PV} == *9999 ]] ; then
+		git_emake man
+		if use doc ; then
+			git_emake info html
+		fi
+	else
+		if use doc ; then
+			git_emake info
+		fi
+	fi
+	popd &>/dev/null || die
+
+	if use keyring ; then
+		git_emake -C contrib/credential/libsecret
+	fi
+
+	pushd contrib/subtree &>/dev/null || die
+	git_emake git-subtree
+	# git-subtree.1 requires the full USE=doc dependency stack
+	use doc && git_emake git-subtree.html git-subtree.1
+	popd &>/dev/null || die
+
+	git_emake -C contrib/diff-highlight
+
+	if use mediawiki ; then
+		git_emake -C contrib/mw-to-git
+	fi
+}
+
+src_test() {
+	local disabled=(
+		# We make safe-directory optional
+		t0033-safe-directory.sh
+	)
+
+	local tests_cvs=(
+		t9200-git-cvsexportcommit.sh
+		t9400-git-cvsserver-server.sh
+		t9401-git-cvsserver-crlf.sh
+		t9402-git-cvsserver-refs.sh
+		t9600-cvsimport.sh
+		t9601-cvsimport-vendor-branch.sh
+		t9602-cvsimport-branches-tags.sh
+		t9603-cvsimport-patchsets.sh
+		t9604-cvsimport-timestamps.sh
+	)
+
+	local tests_perl=(
+		t3701-add-interactive.sh
+		t5502-quickfetch.sh
+		t5512-ls-remote.sh
+		t5520-pull.sh
+		t7106-reset-unborn-branch.sh
+		t7501-commit.sh
+	)
+	# Bug #225601 - t0004 is not suitable for root perm
+	# Bug #219839 - t1004 is not suitable for root perm
+	# t0001-init.sh - check for init notices EPERM*  fails
+	local tests_nonroot=(
+		t0001-init.sh
+		t0004-unwritable.sh
+		t0070-fundamental.sh
+		t1004-read-tree-m-u-wf.sh
+		t3700-add.sh
+		t7300-clean.sh
+	)
+	# t9100 still fails with symlinks in SVN 1.7
+	local test_svn=( t9100-git-svn-basic.sh )
+
+	# Unzip is used only for the testcase code, not by any normal parts of Git.
+	if ! has_version app-arch/unzip ; then
+		einfo "Disabling tar-tree tests"
+		disabled+=( t5000-tar-tree.sh )
+	fi
+
+	local cvs=0
+	use cvs && let cvs=${cvs}+1
+	if [[ ${EUID} -eq 0 ]] ; then
+		if [[ ${cvs} -eq 1 ]] ; then
+			ewarn "Skipping CVS tests because CVS does not work as root!"
+			ewarn "You should retest with FEATURES=userpriv!"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+		einfo "Skipping other tests that require being non-root"
+		disabled+=( ${tests_nonroot[@]} )
+	else
+		if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
+			let cvs=${cvs}+1
+		fi
+
+		if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
+			let cvs=${cvs}+1
+		fi
+
+		if [[ ${cvs} -lt 3 ]] ; then
+			einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
+			disabled+=( ${tests_cvs[@]} )
+		fi
+	fi
+
+	if ! use perl ; then
+		einfo "Disabling tests that need Perl"
+		disabled+=( ${tests_perl[@]} )
+	fi
+
+	einfo "Disabling tests that fail with SVN 1.7"
+	disabled+=( ${test_svn[@]} )
+
+	# Reset all previously disabled tests
+	pushd t &>/dev/null || die
+	local i
+	for i in *.sh.DISABLED ; do
+		[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
+	done
+	einfo "Disabled tests:"
+	for i in ${disabled[@]} ; do
+		if [[ -f "${i}" ]] ; then
+			mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
+		fi
+	done
+
+	# Avoid the test system removing the results because we want them ourselves
+	sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
+
+	# Clean old results first, must always run
+	nonfatal git_emake clean
+	popd &>/dev/null || die
+
+	# Now run the tests, keep going if we hit an error, and don't terminate on
+	# failure
+	local rc
+	# t0610-reftable-basics.sh uses $A
+	local -x A=
+	einfo "Start test run"
+	#MAKEOPTS=-j1
+	nonfatal git_emake --keep-going test
+	rc=$?
+
+	# Display nice results, now print the results
+	pushd t &>/dev/null || die
+	nonfatal git_emake aggregate-results
+
+	# And bail if there was a problem
+	[[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
+
+	popd &>/dev/null || die
+	if use perl ; then
+		emake -C contrib/credential/netrc testverbose
+	fi
+}
+
+src_install() {
+	git_emake DESTDIR="${D}" install
+
+	if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
+		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+	fi
+
+	# Depending on the tarball and manual rebuild of the documentation, the
+	# manpages may exist in either OR both of these directories.
+	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+	use doc && dodir /usr/share/doc/${PF}/html
+	local d
+	for d in / /howto/ /technical/ ; do
+		docinto ${d}
+		dodoc Documentation${d}*.txt
+		if use doc ; then
+			docinto ${d}/html
+			dodoc Documentation${d}*.html
+		fi
+	done
+	docinto /
+	# Upstream does not ship this pre-built :-(
+	use doc && doinfo Documentation/{git,gitman}.info
+
+	newbashcomp contrib/completion/git-completion.bash ${PN}
+	bashcomp_alias git gitk
+	# Not really a bash-completion file (bug #477920)
+	# but still needed uncompressed (bug #507480)
+	insinto /usr/share/${PN}
+	doins contrib/completion/git-prompt.sh
+
+	#dobin contrib/fast-import/git-p4 # Moved upstream
+	#dodoc contrib/fast-import/git-p4.txt # Moved upstream
+	newbin contrib/fast-import/import-tars.perl import-tars
+	exeinto /usr/libexec/git-core/
+	newexe contrib/git-resurrect.sh git-resurrect
+
+	# git-subtree
+	pushd contrib/subtree &>/dev/null || die
+	git_emake DESTDIR="${D}" install
+	if use doc ; then
+		# Do not move git subtree install-man outside USE=doc!
+		git_emake DESTDIR="${D}" install-man install-html
+	fi
+	newdoc README README.git-subtree
+	dodoc git-subtree.txt
+	popd &>/dev/null || die
+
+	if use mediawiki ; then
+		git_emake -C contrib/mw-to-git DESTDIR="${D}" install
+	fi
+
+	# diff-highlight
+	dobin contrib/diff-highlight/diff-highlight
+	newdoc contrib/diff-highlight/README README.diff-highlight
+
+	# git-jump
+	exeinto /usr/libexec/git-core/
+	doexe contrib/git-jump/git-jump
+	newdoc contrib/git-jump/README git-jump.txt
+
+	# git-contacts
+	exeinto /usr/libexec/git-core/
+	doexe contrib/contacts/git-contacts
+	dodoc contrib/contacts/git-contacts.txt
+
+	if use keyring ; then
+		pushd contrib/credential/libsecret &>/dev/null || die
+		dobin git-credential-libsecret
+		popd &>/dev/null || die
+	fi
+
+	dodir /usr/share/${PN}/contrib
+	# The following are excluded:
+	# completion - installed above
+	# diff-highlight - done above
+	# emacs - removed upstream
+	# examples - these are stuff that is not used in Git anymore actually
+	# git-jump - done above
+	# gitview - installed above
+	# p4import - excluded because fast-import has a better one
+	# patches - stuff the Git guys made to go upstream to other places
+	# persistent-https - TODO
+	# mw-to-git - TODO
+	# subtree - build  seperately
+	# svnimport - use git-svn
+	# thunderbird-patch-inline - fixes thunderbird
+	local contrib_objects=(
+		buildsystems
+		fast-import
+		hooks
+		remotes2config.sh
+		rerere-train.sh
+		stats
+		workdir
+	)
+	local i
+	for i in "${contrib_objects[@]}" ; do
+		cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
+	done
+
+	if use perl && use cgi ; then
+		# We used to install in /usr/share/${PN}/gitweb
+		# but upstream installs in /usr/share/gitweb
+		# so we will install a symlink and use their location for compat with other
+		# distros
+		dosym ../gitweb /usr/share/${PN}/gitweb
+
+		# INSTALL discusses configuration issues, not just installation
+		docinto /
+		newdoc  "${S}"/gitweb/INSTALL INSTALL.gitweb
+		newdoc  "${S}"/gitweb/README README.gitweb
+
+		for d in "${ED}"/usr/lib{,64}/perl5/ ; do
+			if [[ -d "${d}" ]] ; then
+				find "${d}" -name .packlist -delete || die
+			fi
+		done
+	else
+		rm -rf "${ED}"/usr/share/gitweb
+	fi
+
+	if use perl ; then
+		pushd contrib/credential/netrc &>/dev/null || die
+		dobin git-credential-netrc
+		popd &>/dev/null || die
+	fi
+
+	if ! use subversion ; then
+		rm -f "${ED}"/usr/libexec/git-core/git-svn \
+			"${ED}"/usr/share/man/man1/git-svn.1*
+	fi
+
+	if use xinetd ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+	fi
+
+	if ! use prefix ; then
+		newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
+		newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+		systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
+		systemd_dounit "${FILESDIR}/git-daemon.socket"
+	fi
+
+	perl_delete_localpod
+
+	# Remove disabled linguas
+	# we could remove sources in src_prepare, but install does not
+	# handle missing locale dir well
+	rm_loc() {
+		if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
+			rm -r "${ED}/usr/share/locale/${1}" || die
+		fi
+	}
+	plocale_for_each_disabled_locale rm_loc
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]] ; then
+		elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
+		elog "completion."
+		elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
+		elog "Note that the prompt bash code is now in that separate script"
+	fi
+
+	optfeature_header "Some scripts require additional dependencies:"
+	optfeature git-quiltimport dev-util/quilt
+	optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-10-17  7:19 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-21  9:29 [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/files/, dev-vcs/git/ Lars Wendler
  -- strict thread matches above, loose matches on Subject: below --
2024-10-17  7:19 Sam James
2024-09-30  5:14 Sam James
2022-08-19  1:43 Sam James
2022-06-18  7:03 Lars Wendler
2022-06-16 11:16 Lars Wendler
2022-06-11  6:31 Ulrich Müller
2021-12-06  9:01 Lars Wendler
2021-03-18  9:21 Lars Wendler
2021-02-26  9:30 Lars Wendler
2021-01-07 13:01 Lars Wendler
2019-10-21  8:18 Lars Wendler
2019-04-12  7:23 Robin H. Johnson
2018-11-22  0:12 Lars Wendler
2018-06-06 14:34 Lars Wendler
2018-03-23 11:23 Lars Wendler
2016-09-03 19:19 Lars Wendler
2016-01-17 15:34 Andreas Hüttel
2016-01-16 23:16 Andreas Hüttel
2015-11-06  8:48 Lars Wendler
2015-10-06  8:55 Lars Wendler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox