diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-04-30 12:37:28 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-04-30 12:37:28 +0100 |
commit | be9d77d3ac6af8f4ead98d89706f356b65578c93 (patch) | |
tree | f82923fbca262493e83dd1382e561a2fae24cc46 /dev-vcs | |
parent | 7ec0832ab5dafbf70de83e0c2f3ee740416a0950 (diff) | |
parent | 6faaec2b812feecd9c8751b8a19004da4a17ea5b (diff) |
Merge branch 'edge' into next
Diffstat (limited to 'dev-vcs')
56 files changed, 5973 insertions, 1262 deletions
diff --git a/dev-vcs/Manifest.gz b/dev-vcs/Manifest.gz Binary files differindex 3757de0c9ea1..af86cea37ee3 100644 --- a/dev-vcs/Manifest.gz +++ b/dev-vcs/Manifest.gz diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest index 58ff45321b22..68af2979ea1a 100644 --- a/dev-vcs/darcs/Manifest +++ b/dev-vcs/darcs/Manifest @@ -12,8 +12,8 @@ DIST darcs-2.12.5.tar.gz 1460698 BLAKE2B 9050b5863221d2c82e93d689b733b34a0b63fd0 DIST darcs-2.8.4.tar.gz 1301464 BLAKE2B 748494ae1c34318c14e128a4d08667b839644dbcf2b2d8bbcc86263ee5332f859f91bc2a56f3c6ccf6a465f45a90d97d304c9c15ebdd3cdd709c251c61c15a6c SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e EBUILD darcs-2.10.1.ebuild 4661 BLAKE2B 6baeaff0f00e514365f325bb67d264c1eb2a793a324aa867a11bd3713a952f2e4cca38ee872ba4a588e5babe6b4f92b199fefd3fb8eda70b572f9009b48c3a20 SHA512 947f58a975cfada502261baf79ff494dc096ecc2a835ee987778216221ce690c1a0fb10f1f67aa902e47b18fe7476988a0e623348f2756e55eb468d31db93328 EBUILD darcs-2.10.3-r1.ebuild 4751 BLAKE2B a5e2fad1a29d43c82f7e3f6f38630c3201ca374ff38436005a4c1d6338a7b05aa275f365d8acd3b77608802542fb7e2c0797f3f692e949e3995f3694c31f580e SHA512 b8ec1cba9be4ce72c654d874358d6373530e1cd4cbdab69af8c16e1f552c6d749d59fce393fc736afe11c4480a11d6ae04c439aea8bd513575ada01d1515698d -EBUILD darcs-2.12.0.ebuild 4791 BLAKE2B b9e6085aacdfe01ad75de297bc07d92eaa44020582c32ab0205e6e611c3cc397e3d44ae54971be00f0912d704df6937e419205f75256724927a1925e679faaf6 SHA512 7acd3d2ec037f65df5b7e5b9e466c7c181c411b461ad9cef45ce1a32e9f8174420a7d42ac356a305e554b3ad6cef54a1a7f694349ca09c88e9e0649f5073b3d2 +EBUILD darcs-2.12.0.ebuild 4793 BLAKE2B 558f2d89ff6ed54f16ff484468d4ef22b1795af9fda247ba6dd541b07b485fa79aa15fae59b3596a6dc1942c58fc7426217ad497ed79d57b5688ddd99414b023 SHA512 e96ba3b3038d115244731196882984cf37775dfd4ccc89470f315b075a5dfae6627dde57c499cc23cb52650cf671d0fa5f50c8f8033a5c85819a59ffdfb90311 EBUILD darcs-2.12.4.ebuild 4477 BLAKE2B b803195ef7164c026944e943954ed3fc2f712c98a49f2aad9d01dcc4a7a2a6151d03c41b5bd1771f8017dda7b3c753a4db85450de97b6be3a5de0608045a3014 SHA512 173e6683a317a5a79f0f20f656bc7eb9be0a870871e8d6979a2db2687ad7eff35b0bcd1eff4e74d7eb55c31f2924887ffe6a6e6460f0aa24ce66fb0e427298ad -EBUILD darcs-2.12.5.ebuild 4555 BLAKE2B aa01eda188a3e57a9dfff277d74549531ef0f98f970df24da3af24c4f6ab44c5939eedea7bbc54412ed685904c60d43f7784d2a792a0a523060cba5bef37cf1a SHA512 16e7e10dd0e3806b2dafa09791822f31fe6e34e2aacfd57c9854a8a2ec2797e226c01e4cfea4cb720c19ac83336ccea970823c58716a0469637af156b012f87f -EBUILD darcs-2.8.4-r6.ebuild 4676 BLAKE2B f41de936160402e96cf39e3c5d9ec8f4cad0e659c97ab46809b16b1ce8a89693a065bb27e5fc3a869f3cfe66994d413b3da99416c847ba0d5480c10e2ff5a569 SHA512 dee9a9c509696aa771c725a6cad7ddfc282066754edf584acc85da4d9aef12faafd60d6ac4ac5e92a71c24b52ac246871a9752a3b64b4dcbf16a00ace858b6eb +EBUILD darcs-2.12.5.ebuild 4557 BLAKE2B 79069ed807976f10766d6b1c7856eea63bc3ce04f0f24fc1192ff80a208fdeb92f71b01867c90620c7f7e8fefb6d41a98fa2183c2aa5d65b876bca9fbf09df00 SHA512 2dc134298a44a05d71b1932c49b09dbb2ba28955174d3fdcf857427c80013560e504f1e83cb9ad46870567f132252f6a8c55d2b97f61c9f12efd47f46a35186e +EBUILD darcs-2.8.4-r6.ebuild 4674 BLAKE2B e5289660b80bf55eee4604e87deedf31978bd205ae46b0f8c161d4ed1cfd6f5cac3df60c0030b7fdd68c9e5b4783dd557c766612d171e7d70aaec2109a11c9e6 SHA512 3e31ed5a97205cfbc9001785c36402225ba3a3700f2f3add0da6e94951a2fef9452ad41baa40f74bc06d1813b9c01c5c9bc98b623101dd9e3763aef30857d39a MISC metadata.xml 593 BLAKE2B c4ab655306f001cc3fe3007152e25d32d97fd3a87db76051c6c75b1d53c2c6ebd2105b2674bea5872e678b577c3cca737a3bbf6fe89923bc4f780ea2dc8642fc SHA512 cab7d36edce3f7da1742ebf086f69468f2745cb58fae83e74fa3e6016f4a7285aaa57100fed17df47940a51029ea78892147b7fe86ef2e456b7e34cc34a421bd diff --git a/dev-vcs/darcs/darcs-2.12.0.ebuild b/dev-vcs/darcs/darcs-2.12.0.ebuild index 160bcf620c14..bb4e04774663 100644 --- a/dev-vcs/darcs/darcs-2.12.0.ebuild +++ b/dev-vcs/darcs/darcs-2.12.0.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/${PV}" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" IUSE="+curl +network-uri +terminfo +threaded" RESTRICT=test # occasionally hangs on directory creation race conditions diff --git a/dev-vcs/darcs/darcs-2.12.5.ebuild b/dev-vcs/darcs/darcs-2.12.5.ebuild index a524fcf1fea2..c1bf7f7d2b6b 100644 --- a/dev-vcs/darcs/darcs-2.12.5.ebuild +++ b/dev-vcs/darcs/darcs-2.12.5.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/${PV}" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="+curl +network-uri +terminfo +threaded" RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?] diff --git a/dev-vcs/darcs/darcs-2.8.4-r6.ebuild b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild index b77a3146c093..5f688a52aac3 100644 --- a/dev-vcs/darcs/darcs-2.8.4-r6.ebuild +++ b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/${PV}" -KEYWORDS="amd64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 60ef9413eaa4..a220bab54627 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -12,27 +12,59 @@ AUX git-daemon.socket 116 BLAKE2B 0fbf31de87810ac737adfab21acf87b0d95f62df5208fe AUX git-daemon.xinetd 260 BLAKE2B 594a046b5b2b580b7cfed1b620e014160965046c5e5a42359b6134af0a4c03a30a9464db5e19c6027645d9084550743e397af2d6566b7543a2b509e025aeb1e1 SHA512 5e0c85004e7e2b89fd191350022b9970a6ca03129b4c913e159570b99b5797ab924f667cd3dc5693a9d4916b7b5cf36814eda015dbdf46a1354eb50d1c081f9c AUX git-daemon_at-r1.service 340 BLAKE2B 879db8b274d8e1d2995a2ea1e4b1d66cac3d6979006fc24721db8b389395ac98a98444f032eaf7c66d6c02ab394a764e16a9cd3b5446b6be9061b9bdd89cf964 SHA512 073d8752dc224ff1130a5290e0f965a04b19f2a8dbd5d50172101099386ad3af0fd5e1abf57030960b750a2adf36a7ae69d18ddc990bab4e694486e65424cfa9 DIST git-2.23.1.tar.xz 5713672 BLAKE2B 50db7bafbadcefbc5a56db478ea0464d289c45190a0454e0b8f3d99d48e6251071482df0240ee1ee8a1f733c91e9e46d34794bca8ca70d3c4ecc3b5da6d5d529 SHA512 708f8b9a7c65c1c9d3117b1b7ee9383044b66fe8a5c168a52ba561985670f659d514aa34988ea8ba85c127da6a23c39c511919a6d661bffc9cf782e30fd62373 +DIST git-2.23.2.tar.xz 5714372 BLAKE2B 591f3a46720c249a7325b3a39cd5fe788c47c977fb8f052092b5db18b75fc81d6a9c44923368f881ae02573e172ed8be74f0c10c0f7f205acc011ab602930f3f SHA512 5e0e78ba06ffae8b11fe730a3666a43813b65b9c7e188b4795b1fc6db701993bf39efd392b0ee8bc10b97873bb015cc21635e23d979b5a9d903c119516b01489 +DIST git-2.23.3.tar.xz 5716108 BLAKE2B 9d0e63e075d8e64bf2772bdd3e49e9907ae093bcfe6a73a003c3bb8a61f557cce154ef8011aa7d068eaca49f8f14c027d935d7ef2fcbc21eb511f803dfbf4a00 SHA512 29b1344fed72c588e9a04d3fb493f2f91490f61853d48644a2d36c23c3251cf1fd549c256def25865e9f33b50135cdfa5108814105d9fcf360d6d1938487d2bf DIST git-2.24.1.tar.xz 5772304 BLAKE2B 45e49325221cd0407968b4e2ff7bcab7ea021863119ae29fec5c7a9ff10461b5af0ea05f587647c7d4965c38e25f1140f194be72ff5f1bea8851c0485effbfa2 SHA512 010c13d4023c142876d0e075a394b74bef422944d8ca602325d0b2b47bf28b1d534283c7f295751113c83fdfcc0c91f97090e8f906560d44b04a94607fd8fcf7 +DIST git-2.24.2.tar.xz 5772460 BLAKE2B 626ca95a675f4f1ae7ad49c7054ad85e0b14fde9230c4e9fc0408a028ea7c4b34243e73bb3364fd5ae4d25a3565ea54a090220e4ed3fe7fd05ea772ff09be6f3 SHA512 2860f9b09ccc1f17398fd5a122d37e3c9fc22a7921ff82f30c28fa58bc609e63f84bbb0a28849ad96680652911fbb1971bcd321b7fc9ff13a96bb27b23f726cc +DIST git-2.24.3.tar.xz 5774192 BLAKE2B a8bea56f85a12863565325984a303ac2d964e0371de5252252a736a376a22cc1695da15b46d35bdec8a36c2ebd7ba7040727265acee37892350aad08209ed15f SHA512 b2fbafd0faa06a304e960f78696f5c033eb5330b18af28c0d169af86aa836dada0c3cf349993b1c9a6129d0c42788167a393f9db9be981610318dca5743b2c87 DIST git-2.25.1.tar.xz 5875548 BLAKE2B 582da3d4ac996d7b9ce6cf505661496ab1a2cd061f058745350498121956b33d79739b567fb5fea0b4e298303261256034aa0b8da0b842feab04ae67a7d5b142 SHA512 15241143acfd8542d85d2709ac3c80dbd6e8d5234438f70c4f33cc71a2bdec3e32938df7f6351e2746d570b021d3bd0b70474ea4beec0c51d1fc45f9c287b344 DIST git-2.25.2.tar.xz 5877576 BLAKE2B c07bb888eb05a9f3cc91f207bc5151fd7eeb8137e151353dada0637bc879da5a594097649c9a49ecfe173a550d19ecba5eba47638e2f1a7f07467818a763c82e SHA512 5f24bb060165a7397286588cfa32a3e77a98059058363699f7873a2efbb77419dc8985a9b8ae05166035e24db586c379b55c7049a5b6a436c554a7f621a51a23 +DIST git-2.25.3.tar.xz 5878708 BLAKE2B b9e9ed205856a2d5cca57a539ab420e597e8de46624f1411f725c914cfd9f23c7129502b8511acef7eda0f2cd2322928843e54416df8b6f5a45a7b71a8a52a5a SHA512 1ea2f0727baa29200f33469463c3b6db04a2e228e83ff552faa47fefe31063d92966d7502b2f13546c36cfc2756d42d71a26e41141c0fb972af9d6760f3aa471 +DIST git-2.25.4.tar.xz 5880976 BLAKE2B a3ac79918ba174a93844d9518a2f1c6970abe2cd31acea260742d3c03a31a03131f53603a3bd3e525a60f8ebcfbbaa3b92228e2486717ca2d389a978e39bd5ec SHA512 ca2ecc561d06dbb393fe47d445f0d69423d114766d9bcc125ef1d6d37e350ad903c456540cea420c1a51635b750cde3901e4196f29ce95b315fda11270173450 DIST git-2.26.0.tar.xz 6005104 BLAKE2B c112e51c32f36860e61e81fd3b540cf4eb3d126d28dd533472d6cafdb55f813df48df31ad06a3317224ea2b2b3a9ac3e02ca37d2364167878c7e2fc5fcc2e45e SHA512 bf8a832211782a9446d041a54da254f2586b894375191fb1a6dc7a6594856ca43230fa1ea804b54daceb68caa8d20c02bdbdbf7b2fa1761ce05a11a26b122a9b +DIST git-2.26.1.tar.xz 6006104 BLAKE2B a94075d995a6fe1682dd20a09c5deefbdf4859a809734d59da83df5e7d0d6e9a287313fd579c289e9e13208c74c9cf68919804dea037bdabed92087d17e5e7ee SHA512 1defa0d94e26e474abd47ec8a0c43c05152e10a5aca5f1aee7480ef0db9f5abd03275fefb7c4e0ee816199c87c0b2a13c164c5f7aa5ff36cafdacf27b3573785 +DIST git-2.26.2.tar.xz 6007864 BLAKE2B efce003a95e24dbb6e14feebd35874c9ed1a5c06d7f0722d4dfefae830613b64b81faa41d5952400fa382b385d15d48829f8ee3b4d065e134bd38fa0e10bf570 SHA512 5d92d07b171c5cd6e89a29c1211c73c1c900cd51c74d690aebfb4a3d0e93b541b09b42b6d6a1a82f5c3d953096771f9a8605c63be139f559f58698c1a0eabcfc DIST git-htmldocs-2.23.1.tar.xz 1296144 BLAKE2B 5be4a8afdd79234d220c119b8a4239e640486dc52236d980d08e6b3cad1be61b683c0e3dff6bdd67035a1e23f1d07858d3344f9f2ae90b44188395f34c22fea4 SHA512 c005be3baf129c9320893270d1d3b69e01546a29d482d29e5bc7baefbaab33e45d877c5c09e47312bbdb8b3dfcff27735c2427dcae9eb21fd3500ec30e214ae1 +DIST git-htmldocs-2.23.2.tar.xz 1295232 BLAKE2B 220a5b19cf6e7e1eddf18059262a72fdb5050eb6314ffcd45f925fe6fa9d1e1ecb14e2f8bfe77293a85813303a2cd04ad51dd70783e1a2ef83154d802ad3fc83 SHA512 6069c667666a1bbc706b6e1de2c0d9a46270423fe17ab25a3ae7b6821e0e4a78c16e394b6d486d76aaf100fbe637e03c05bb86b483be9a3f9b6ca3b8f553eb05 +DIST git-htmldocs-2.23.3.tar.xz 1295344 BLAKE2B 7a6d8198cf8285717f11731ea907ea06786c486701a729d071deedc5437a595dab355ae2d0ac2814b10503ab4161e76a1245663a9ce35ce48d03be9905315db3 SHA512 2c86c03f29f1a4fc2acb17a17a9e1a3df2ec95138895f5c8e776859772ebc7b95c24af0e328508ccf1ea85b7adaa86a9aedc4d0c353ffc91ad5810ecc9a48059 DIST git-htmldocs-2.24.1.tar.xz 1307992 BLAKE2B 80b39d2fcf47d20a584109572414ff8d275245afb80c3946e2fa62346fdaee3b1c873a0dccfb44af52290756d26d5e53021a1bf1ace7ada34e50e03244f05e92 SHA512 4da610ba1ee307e4f53414e324ef63ab25cf3945a74bf813aeacd4cf714710eab31776c2402c9567f1a3805e3d8576a158c78a72722c0178fb7c2dec2dcebf5a +DIST git-htmldocs-2.24.2.tar.xz 1307584 BLAKE2B 06080a6135bca6e0670f57d8a4aedfd488b8b36347c232653aa8f601703436683b7ea3db19822f35647cea6530d90c03b60a96e5070482e4ecf138807711fe2e SHA512 48e01d712e81eab7b7bcaf0f2aded56b74a84ba3a32502b0af39f4df22b8260c5c233303626d3bbff55955a90da800716aa5c7fb5e69b7ce28d3e0f2e9def7c7 +DIST git-htmldocs-2.24.3.tar.xz 1307828 BLAKE2B 5d6dda03e2c51346326a1258a14a0ee16fab7fe83c80b4a1a0b307a6343db851d89b96afcf616e10ad5831352a90332ac602e5713444855327e11be8992a5274 SHA512 14289fb46cff48bece0cdafea9ef201facdb58eafce4b735ce50489356deb993c481ac1b6e96a2f98cfe30434280997c47f2cca0bdb2b6e85c31cb7cf17cc257 DIST git-htmldocs-2.25.1.tar.xz 1295708 BLAKE2B 18a274e5eb48030f50c0f38cbcc81b0e65c55ea6b702a9cc4f231c274faf0247c4fdaccde2d348717826d1bd914fe62b387946ae63aba64ba032c43898529f7a SHA512 f261cf72a7b59277666c543d2b40cc9e37ae6d4925616dcb448325e69c59efdee9db151a0d509545d5b366d82fe1196ece289197c02c65ae5f8c91526d49b0fb DIST git-htmldocs-2.25.2.tar.xz 1296488 BLAKE2B 274c425ba1f52e26c36b5276b7796c465cd5bbf6d2fa73e7f821e0fb727902ce088ea6b7e37cac6c1cace9e7a4f41f3bebe2227aee313a17e2aac6dbf8729a7d SHA512 abe131ef4761e4f112da171baf6d9be6b745f5d06b9e90731052ef13bdc9f71557e53cd93a3e8ea5c33706b7f08cda8aa0e3e760409abda1b9582625ec513ca5 +DIST git-htmldocs-2.25.3.tar.xz 1296852 BLAKE2B aa54f8bcdd48f3d53749f8391340616feb965d466c4d7bb81050f2a17050335ca44984f56d0cbc1b6787b4aa6cf8b1ff521cafacae43f8e4e2401ba1a1d8e4a4 SHA512 df4bb00c20b5adba1d80e9afb75a9f4d63bad4ca46b317aa94949621979260f991d6efea473141760ec2e849ba90d87fbd9a8fbca73cf0e0a35462ad6621860e +DIST git-htmldocs-2.25.4.tar.xz 1296896 BLAKE2B 4f6469acdcd699698bd1f19bd0d911fd522c1890115f25c087a7870b855eb9354340fe17e9e6aaec7fb27cd951fe28cadbf26e1aeadc76f3c3a1cde4d23e42cd SHA512 e10c6fa52e213a2b18290fed375f6e176eef17b0a19f6906f09d6228d18bece88ff0ec97d871db0ba29fc0fbff73740312ab01eab809bd6a9a41c8b295cf8d67 DIST git-htmldocs-2.26.0.tar.xz 1303968 BLAKE2B 7a0a7972e58d0be5beb8c4b507f5f7a868cd467f8a87c2bef61a2520876ca0c60353431fa689985dd623c2b54ce79dc89eaf46b99a559cf3d05cbf1fa7756544 SHA512 1fa037b21034121f161416a50f4913cd998a22226f796684b50e49f80a5e2cd7495dc7b4f16b608e556fda8acd2d66145669909fa4c1a4c4d3ba8096f2a0558e +DIST git-htmldocs-2.26.1.tar.xz 1304500 BLAKE2B b11e39075a206bfbe1c2244c40a24f0bd08424f1afba61f968433573eff7dbf949f78bf078467b13609d4cc8c22f714fc1d7b3f3369e588601982bc07b2d5cbf SHA512 b23163fe36f95d34a8f3bb5d89bf5b6c6d61441807a0d6b9bfa79fcb1bc08e74c4bfc03105984329349059ff8ac6c5aad2ae54f638cc49ef81b57cf00143be13 +DIST git-htmldocs-2.26.2.tar.xz 1304788 BLAKE2B e0de88c5c41646d5fb9b54e2ee873c7904e1b85c67f971499f0227eb2dd59cabd4ffc58c468cf8a7a7466920af972dbc7f95d78003e487edac9a15a9c49b80a2 SHA512 b577693180b4fc035af211e3b83e98ad5e1bfbb98706924858df6558383b82ca05f870bdae90f8a14c8bf664f091ee928af52dcdebdfb98dc7387fdfe2e3a396 DIST git-manpages-2.23.1.tar.xz 448432 BLAKE2B 0de4b2c0dcc3a70188a66d8aa6e16aeaad84a9f16b764934b06f61773db2d5141cc0b1091780d126f29a1f50c767a54fbb7d01a36f86d387d8ccb4060f48156e SHA512 16145c0c2215ce6a3aa9045f35f670258f6823a765ed2feec680ed980420d1bb008fc39d8f379c81cd0b259fc582d15e42395d4f954171b20bcf214ab25e41d7 +DIST git-manpages-2.23.2.tar.xz 449184 BLAKE2B 348e6a90c87cc7c872727a426920fa3b66b1bf92c24562241cee67609b5ed11e78170fa7ed5f80e6f704ae12ba166af1b2c68704917beb2c06b85e05fd6744c6 SHA512 37bb03852f2cb0c4e3d6cd68e1b707feab5ac54442bf48b9e179074438f7e595ad7304d61c6b7344352298a6c0584f6de11a71e82066fcd3bf892424b7d783d6 +DIST git-manpages-2.23.3.tar.xz 449464 BLAKE2B bfc0153e43724df7210110e836d47f17258e45a876aa9bf4604c3f38e690e0e5379d4394df96c3dd84ea4d7371b7843729e6fb5d4b43fd7d4a9b4c3f4062a922 SHA512 a7b5fc48a5b840eb9b668b441ad3c30f65adc73c22cda461ffaca1cfddf154bf1974cab6c372b4534fd45a43a2e2ab96513364845a7db4285b88e31bf7619f8e DIST git-manpages-2.24.1.tar.xz 453752 BLAKE2B 51a549099205341bfec5a7998e5f66e9fc78ffd05fd04e745401a8bcc5bffcb64f26a64c7e24c9822bc2d62d000ea2b13779ffe19f065124a8e42b306fb5a2d3 SHA512 ee1e70fdbfc6eae97dc3b3180fa119b0d1189db7cae3e45b8baa9311d0c1162a5b46824a785e91288522a9fd00b8e4ff07590f4e4722a08955d6a9d048cc3a90 +DIST git-manpages-2.24.2.tar.xz 454672 BLAKE2B e48a0fb43537c354c98c5a34d8b133cc7c13349d57e83edacc6623e9410137652813069020142619d9ad2a56d082cd79272afb5cd4ff8c22bb37b821465e94ce SHA512 1a39797fbc1eff216c7416df4fa372c60a8406ff8406e3d332c371ead26286fb3976b35702286af12064712e7ded565538729824a02ac714518f01b725d8688b +DIST git-manpages-2.24.3.tar.xz 454796 BLAKE2B b340b33593e596a7a87385110fea53a96b68f0b0c5c02e046a1aff5ff7c7a6bf3d7a55c4d33796db8e84824df72451ad51db9fc44df4840ecd0183c0ef49eba0 SHA512 22709e159196da27befc26eef3ab40dab9700c95abf6892860a81c8e5df7d85ad423c877e6c88949cfc611c4dfebd956f02a78f0340c1cd4d58c48f80e3e1cce DIST git-manpages-2.25.1.tar.xz 457408 BLAKE2B 6b9d7074bc690156e7d4a14b04d8e82c9441c8b9330bdf40de215fc48ee7bbfaf410b57bbf48bd6127a60f0d6daa0adf7194fc8eb43b3d8e2a9b5d054cb7d5ea SHA512 c36afa05f641c6e1d909cbe0e3292a10f35c0a05867e2782e6770857714b152de839f1e9b2c2ff2efea0b50b19cfdf3022d8617a299f4aa3940533eb891fa6ba DIST git-manpages-2.25.2.tar.xz 459208 BLAKE2B b78fdade0d99035969d16f726422e63f6c98c0cfbdcbeb272a07619f5efbece88eddf008884ec3c10ab05d8558fb975f6f89604757a424adae922ea3a8ad5a24 SHA512 61bc0090fa36f537a193c8007f82f4ac005f6afa86621d6273f131230381a1f17712d95b3a47c27bbd9eea351fd49d4f1c16fabe7f81b40a6aa1308e8afc5371 +DIST git-manpages-2.25.3.tar.xz 459192 BLAKE2B 17bb4c6ab68b85efaca2e99469f601df029677e7b09e379e8b4bff23b54bf4cc3aedc5c16e0769d2bafef79ea2428db582accb1df78795d1d4c365dcee68daba SHA512 a6ae01129281e85fba8da1fd8cbe9bb2c33cce3075163af328aedb4ab721b9816b364cc18d87ae675b88af2baa5777acb0f874a6a172bdef3429d25d89f8f271 +DIST git-manpages-2.25.4.tar.xz 459344 BLAKE2B b0ac88f691984f39f6cfbf41d2d61ab443573974277536641daddf0e9b7755ea9cb6bc96ecf3c14479809036171e461eff72cb498c63a56eea041341b8a65af5 SHA512 a67b881f289d5b3e2187ad55c5176258c30108c73fc7c18d50c1a6b42b241ce46dba28acf2f7bfc994b044444a6678096a35ad60936ea6cba07b52ddf647da17 DIST git-manpages-2.26.0.tar.xz 462092 BLAKE2B 1ad35195b41b399f9f7eb4c981947c0ef4430e669c456b1b3cad0073d2f680315dc11a6e434b1e17601502a16b10187f0ef5587b81a5c6e4bfe04ba8a3cdf976 SHA512 828bebfa5a2cf4558ca6bdd276cc251c6212ceba702418246f05b9f2d41d1c89908b7cd2f81179a1a2b0aca2dbf07ccba9903edd9dae3b5ad9ef6e80b9f50aeb -EBUILD git-2.23.1-r1.ebuild 19572 BLAKE2B 8cbbfa368e95d8155b4a3eef6fa80f4e6bdec3012a5183ecede843c0b2aceef5f87025bc59dde82fed210658473edf9333ace111d3e76ba861567426714f2ba2 SHA512 f5db037f73d2fe87db65775f69ff47c2584caa343148bb9e3ecfc5430bb69890eb2bd8574fb4a2f67dca79bc83c6fddc4aa987ce6a05fd4348a351edbdf20694 -EBUILD git-2.24.1.ebuild 19520 BLAKE2B 8a9580af1c964060e10f52cfdbd303e5586bb35ae527544f3377f467642cc3579facf257ac414cf0f7fca20b909e0f2867c67239debb561b5098ba96f2d80757 SHA512 b2bd6a5800a8144ec16ba0b237abc0e9175facf352eb78c1380768f83f029332a8f7474e6f77ea5207e0d9299871ce1296ba8ffe4ddf3a45ea2e3d005dd8b9ea -EBUILD git-2.25.1.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-2.25.2.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-2.26.0.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-9999-r1.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-9999-r2.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-9999-r3.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d -EBUILD git-9999.ebuild 19529 BLAKE2B 424ae3168c7a9727984ea59bf25ee82099b355596c00c646d873f5d19c3f3879563bd2a96c3c98d18a70f2156ca73ecd067c2c40ae20e8d24714e4f131c73252 SHA512 30ec5ae8194fde7fb24798bd6d72618895b6c6d9e42ab185c32ecf39e1a84c69c4efcce7a99d27416310413dbfad9d93f654f356f1eeaf51a5f7ceeaeae82a3d +DIST git-manpages-2.26.1.tar.xz 462068 BLAKE2B 9dcacafb43cc2bdbb6e321addcdbe365a5d1051b374baf27324573a16b359a1294683079edd86b5a9fd82886a58c362bcb0a11f7fbb64e3f6ed4340d05b56413 SHA512 6a52e709b7a3382e45620be1d3517ef23dae6c3f4e68cdfe4f4580a36e591a5c43075d3b869b5dee1bb3253fc9334c0270548f2edc9fb75262169222fa653454 +DIST git-manpages-2.26.2.tar.xz 462052 BLAKE2B 27fc44360c9f890e9f7754e8423f5596548f076f5fec5dfc6c752e8b3caa5f64ba182c1566b67878b19fbb115297e08def1bf9d2711c7334cbb8e1b20fc039a1 SHA512 9591e94683a6b49d8b9f2afddc826576023fdfa6de6db4af3a28a2af00b175d5be710d86a31d0f1b8320cc38b6f27698e17fb3e8c1f2b0c5ced37296ef1109b6 +EBUILD git-2.23.1-r1.ebuild 19573 BLAKE2B 35983794691d8fe7502b222096e9d1e01c95f8c89fec2a1e49202eb2ed60088b11c73a2256d1f19daca3183150f36eee2283cfdba50a986d50cb5077da433b76 SHA512 4c1b537e780c7dc6dd4fad76bca845fc0f5a28fc56fdcb93f45bcde384a31a930067d25cf89138704c35eec3f27256e20c4c4f6e57aa775b04a1c32022be907d +EBUILD git-2.23.2.ebuild 19573 BLAKE2B 35983794691d8fe7502b222096e9d1e01c95f8c89fec2a1e49202eb2ed60088b11c73a2256d1f19daca3183150f36eee2283cfdba50a986d50cb5077da433b76 SHA512 4c1b537e780c7dc6dd4fad76bca845fc0f5a28fc56fdcb93f45bcde384a31a930067d25cf89138704c35eec3f27256e20c4c4f6e57aa775b04a1c32022be907d +EBUILD git-2.23.3.ebuild 19574 BLAKE2B e17e407fbbf94061fe39dbeac1fd85edbd809d70cc8ffcc3396732967dede5d4eb9f72c4d7d02dfa5a09e0cc8dbb99617a1e4b6b5b38cbcae2a955e6d434a758 SHA512 7debf6a7cdd9574f978ea4a13e5d5a29a776b6e6b211d677b8b754aa9e0761f6fe67f889191d9049bf1a0090fb52a46ae8462a1303772801e21627bf6f091c92 +EBUILD git-2.24.1.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859 +EBUILD git-2.24.2.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859 +EBUILD git-2.24.3.ebuild 19522 BLAKE2B fad557f77da163b8a4e6b69fc34106c390f932a53883c994e1b9a29ef9fa6015f562dee92a7ba559ac827e2bbfd59887cf4a61b8e3fd706482a89722fe610671 SHA512 92493c65f775265b53ddbf7a9b0141ef27f43dfa2207e5a2a26d927c86266724698f07dcbf312453658b67fd6ea66d5b1f561d98b74fa66ae2f8e3c94d233e4b +EBUILD git-2.25.1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-2.25.2.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-2.25.3.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859 +EBUILD git-2.25.4.ebuild 19522 BLAKE2B fad557f77da163b8a4e6b69fc34106c390f932a53883c994e1b9a29ef9fa6015f562dee92a7ba559ac827e2bbfd59887cf4a61b8e3fd706482a89722fe610671 SHA512 92493c65f775265b53ddbf7a9b0141ef27f43dfa2207e5a2a26d927c86266724698f07dcbf312453658b67fd6ea66d5b1f561d98b74fa66ae2f8e3c94d233e4b +EBUILD git-2.26.0.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-2.26.1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-2.26.2.ebuild 19522 BLAKE2B fad557f77da163b8a4e6b69fc34106c390f932a53883c994e1b9a29ef9fa6015f562dee92a7ba559ac827e2bbfd59887cf4a61b8e3fd706482a89722fe610671 SHA512 92493c65f775265b53ddbf7a9b0141ef27f43dfa2207e5a2a26d927c86266724698f07dcbf312453658b67fd6ea66d5b1f561d98b74fa66ae2f8e3c94d233e4b +EBUILD git-9999-r1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-9999-r2.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-9999-r3.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 +EBUILD git-9999.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259 MISC metadata.xml 2197 BLAKE2B b48502c8c414bcbceb6a917291e79d8b33c3f5d4c0e3e25e5a8c77720bd96b6bee120b177034c76d5ee00692951e71c721df3b8b8219dea13644e3af318fbd3f SHA512 6b39bc6d79605bd0a5ffe03599e6fad7da4e3cf2a8f0896be4c47b9a12be8eccc97849d022b3863626c2606274b6b718e00ce6646394302cc3f2468863a3d274 diff --git a/dev-vcs/git/git-2.23.1-r1.ebuild b/dev-vcs/git/git-2.23.1-r1.ebuild index d7bd28749fae..eb01978045fa 100644 --- a/dev-vcs/git/git-2.23.1-r1.ebuild +++ b/dev-vcs/git/git-2.23.1-r1.ebuild @@ -173,7 +173,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-2.23.2.ebuild b/dev-vcs/git/git-2.23.2.ebuild new file mode 100644 index 000000000000..eb01978045fa --- /dev/null +++ b/dev-vcs/git/git-2.23.2.ebuild @@ -0,0 +1,725 @@ +# Copyright 1999-2020 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_{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 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? ( >=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 +# 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 ../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.23.3.ebuild b/dev-vcs/git/git-2.23.3.ebuild new file mode 100644 index 000000000000..a34dbe298d99 --- /dev/null +++ b/dev-vcs/git/git-2.23.3.ebuild @@ -0,0 +1,725 @@ +# Copyright 1999-2020 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_{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 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? ( >=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 +# 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 ../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.1.ebuild b/dev-vcs/git/git-2.24.1.ebuild index 8c40bec89c81..b14f087bb86b 100644 --- a/dev-vcs/git/git-2.24.1.ebuild +++ b/dev-vcs/git/git-2.24.1.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-2.24.2.ebuild b/dev-vcs/git/git-2.24.2.ebuild new file mode 100644 index 000000000000..b14f087bb86b --- /dev/null +++ b/dev-vcs/git/git-2.24.2.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 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 +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 +# 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 + ) + 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.24.3.ebuild b/dev-vcs/git/git-2.24.3.ebuild new file mode 100644 index 000000000000..b4cba1683a7a --- /dev/null +++ b/dev-vcs/git/git-2.24.3.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 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 +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 +# 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 + ) + 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.1.ebuild b/dev-vcs/git/git-2.25.1.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-2.25.1.ebuild +++ b/dev-vcs/git/git-2.25.1.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-2.25.2.ebuild b/dev-vcs/git/git-2.25.2.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-2.25.2.ebuild +++ b/dev-vcs/git/git-2.25.2.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-2.25.3.ebuild b/dev-vcs/git/git-2.25.3.ebuild new file mode 100644 index 000000000000..b14f087bb86b --- /dev/null +++ b/dev-vcs/git/git-2.25.3.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 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 +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 +# 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 + ) + 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 new file mode 100644 index 000000000000..b4cba1683a7a --- /dev/null +++ b/dev-vcs/git/git-2.25.4.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 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 +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 +# 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 + ) + 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.26.0.ebuild b/dev-vcs/git/git-2.26.0.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-2.26.0.ebuild +++ b/dev-vcs/git/git-2.26.0.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-2.26.1.ebuild b/dev-vcs/git/git-2.26.1.ebuild new file mode 100644 index 000000000000..373486b54b60 --- /dev/null +++ b/dev-vcs/git/git-2.26.1.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 ~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 +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 +# 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 + ) + 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.26.2.ebuild b/dev-vcs/git/git-2.26.2.ebuild new file mode 100644 index 000000000000..b4cba1683a7a --- /dev/null +++ b/dev-vcs/git/git-2.26.2.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2020 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=( python{2_7,3_{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 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 +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 +# 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 + ) + 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-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-9999-r1.ebuild +++ b/dev-vcs/git/git-9999-r1.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-9999-r2.ebuild +++ b/dev-vcs/git/git-9999-r2.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-9999-r3.ebuild +++ b/dev-vcs/git/git-9999-r3.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild index db2ca20707c2..373486b54b60 100644 --- a/dev-vcs/git/git-9999.ebuild +++ b/dev-vcs/git/git-9999.ebuild @@ -174,7 +174,7 @@ exportmakeopts() { $(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 threads '' NO_PTHREADS=YesPlease) $(usex tk '' NO_TCLTK=YesPlease) ) diff --git a/dev-vcs/hg-evolve/Manifest b/dev-vcs/hg-evolve/Manifest index 9b641637e559..a935f254bc3d 100644 --- a/dev-vcs/hg-evolve/Manifest +++ b/dev-vcs/hg-evolve/Manifest @@ -1,5 +1,5 @@ DIST hg-evolve-8.5.1.tar.gz 755965 BLAKE2B c9d6ea06f91cc537e1ea9266a09cded59e3dfb69f0bb5300a40b971bda6f9ce680c81978c23806972ca88931d9f2d67eedce14ba1f56670fa3c18194b63e2999 SHA512 7c5d9608d03ab81fc7291edb3f0ddb016cd4b267997bf66fcb221c9c917fbd34bfb4637bbb0c60b460a32304ee45fd7e30db929312dfbaa94df17baf7947482e -DIST hg-evolve-9.3.0.tar.gz 789635 BLAKE2B 0e9fa2d2a9bf211b45e23d80b0d082ad5e77297ed82593f12ba433b04dcca55813817a169cbd68ca7165d866005f7a708043e53b7f1d376ec17f8dd2923dfe7e SHA512 f65132bfb8063aa0ab9878bef2fd4909c181d8026c971af224b6f69def5d9f8bb31e9e022ad7c1e098b8a154191f07009392336e0d1e787dedc5382dff2a6326 +DIST hg-evolve-9.3.1.tar.gz 798989 BLAKE2B b4992275e75c096535156cb42946f3eb90f8667b8691de5570099b7b4ff371da3b17ec3b44802c95cac21e196b1a7b8349707039de08ddbddf930bc620ee71e6 SHA512 453104989ec1e4a7072098f8c453290d66270f1992ab1a9a7c94be96f1c3e2b9989940796579de1e11f298ffdb7eaf7b9c9bb05def61fba4feeb5e2f39299670 EBUILD hg-evolve-8.5.1.ebuild 749 BLAKE2B 3d42920b21837708f764dbe4e012e11938c722802a22724bac8931c3e671b07ff389a9f8c920b555c27daa830b47bcab20e0aac3b037e83d9006775d21434b42 SHA512 f3b40e73c9ba525e53707ed0df74c9a3566b6ce5dcf986b16d67350a69664773019c27955343e261ad4bb28335a8ecaf6b00ca310a5d2bce590e3c7d34bcf127 -EBUILD hg-evolve-9.3.0.ebuild 764 BLAKE2B dad3a999e0f5a439a5a79fe42d2ef6e86672ece4b76e60c2ea42fe868002c07cce75c4837e3a6440d0df50c870689b1e91057a0e9af9247fbb21bfd053807a0a SHA512 41bb97620a8908b0e6c3d3cf5688e20a91990789fc796069cf08f9f5c2ddaf49271e2a22e646e4f0098ba58b328d38182db9368126c474abb8bdf840a5e3a502 +EBUILD hg-evolve-9.3.1.ebuild 764 BLAKE2B dad3a999e0f5a439a5a79fe42d2ef6e86672ece4b76e60c2ea42fe868002c07cce75c4837e3a6440d0df50c870689b1e91057a0e9af9247fbb21bfd053807a0a SHA512 41bb97620a8908b0e6c3d3cf5688e20a91990789fc796069cf08f9f5c2ddaf49271e2a22e646e4f0098ba58b328d38182db9368126c474abb8bdf840a5e3a502 MISC metadata.xml 395 BLAKE2B a61ed69918c8861a242c5add3e383902abb25cd10dc6f74b59a8e02fef50fa5a4da459494f3ac720989ada3ca730bbeeecb34d412129a191b210639b0473bcd9 SHA512 1676e93039dcb739017c0c119376b9c93e8cd1f7ae3a31c48e5eb6aa2ec92662bc7b5a834c00ecfe689408f27169559eb84e8e48a004e1f87e1eb59bfbbd7d16 diff --git a/dev-vcs/hg-evolve/hg-evolve-9.3.0.ebuild b/dev-vcs/hg-evolve/hg-evolve-9.3.1.ebuild index 6ac77b0d8610..6ac77b0d8610 100644 --- a/dev-vcs/hg-evolve/hg-evolve-9.3.0.ebuild +++ b/dev-vcs/hg-evolve/hg-evolve-9.3.1.ebuild diff --git a/dev-vcs/hgsubversion/Manifest b/dev-vcs/hgsubversion/Manifest deleted file mode 100644 index ccf1fdb7e810..000000000000 --- a/dev-vcs/hgsubversion/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST hgsubversion-1.9.2.tar.gz 203801 BLAKE2B dd8f53baf1d12263be1dde75b2a0a9367ea038bc4655322ac8e89c5fafe67cd42ab94f83b2eda2ff28f521b8ef7ecb5034dad0916bb2fdfadeee68e52f75e348 SHA512 e11e0db50702d0fa0c29ac75bde8f943551ff392218656f82672c25635b43ed17d26026af106723875165806577881c268ebb5fb82954add599dcb14b13e4744 -EBUILD hgsubversion-1.9.2.ebuild 962 BLAKE2B 4833325dc5e01b08959554b99695efa01d916a3418b29c663f3d33ab84c61d0d089a75aa5c19ddc85ed1de76e497bba884234a059f18a40688ae0b50f88e1072 SHA512 fa49482f3e86fc449ddd54aa56e39ca04e91ec921e79f484159e2092eec7d1f7843f3040faa01d12559b3e721ff85afa0e6206558ec5c6bfa57646c2be9938e2 -MISC metadata.xml 305 BLAKE2B ae280ffce2435476e46877db066a5967861112aef4cbde989981b8d01919e32706a758691ba0f085015eb681c2a55b2a601313bd9d9d9319497037e689d55bb8 SHA512 a5d7eb8c02ff08bf50591a24a4b0b76a76e799fe5903a27c8a648e1ab839f28135f6f16eac2ba557006936dabadfb08543c203fe0fcb3ff8f89f62e63fdb300f diff --git a/dev-vcs/hgsubversion/hgsubversion-1.9.2.ebuild b/dev-vcs/hgsubversion/hgsubversion-1.9.2.ebuild deleted file mode 100644 index d83432918135..000000000000 --- a/dev-vcs/hgsubversion/hgsubversion-1.9.2.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="hgsubversion is a Mercurial extension for working with Subversion repositories" -HOMEPAGE="https://bitbucket.org/durin42/hgsubversion/wiki/Home https://pypi.org/project/hgsubversion/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86 ~ppc-macos ~x64-macos ~x86-solaris" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-vcs/mercurial-1.4[${PYTHON_USEDEP}] - || ( - >=dev-python/subvertpy-0.7.4[${PYTHON_USEDEP}] - >=dev-vcs/subversion-1.5[python] ) -" -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - test? ( dev-python/nose[${PYTHON_USEDEP}] ) -" - -python_test() { -# "${PYTHON}" tests/run.py || die "Tests failed under ${EPYTHON}" - # Upstream is using nose and the other way simply runs no tests - LC_ALL=C nosetests --verbose || die -} diff --git a/dev-vcs/hgsubversion/metadata.xml b/dev-vcs/hgsubversion/metadata.xml deleted file mode 100644 index 9ed0465431f5..000000000000 --- a/dev-vcs/hgsubversion/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="pypi">hgsubversion</remote-id> - <remote-id type="bitbucket">durin42/hgsubversion</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-vcs/hgsvn/Manifest b/dev-vcs/hgsvn/Manifest deleted file mode 100644 index 1ea222c4494d..000000000000 --- a/dev-vcs/hgsvn/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST hgsvn-0.2.3.zip 199696 BLAKE2B 1947d69a5f9a01d7802a3f0a1fd7f38b15df4f653ca9aaf836646eb03be30e4a4f09c24469a9b118e4eba769a94636fe04d2f7399fb3d835d54c8d0225af6f1e SHA512 d88d683730430b825411b4267c78e82e492f45d55c49c8a19ed159a95390e58507b07217c4e5082a223c3217042fdc1ae2c96648b1880bd441117ca173ca4c09 -EBUILD hgsvn-0.2.3-r2.ebuild 889 BLAKE2B 7e9003d55c2eaef93c98f3738d9e67abf2e85192fae55b8cd7d0cd14e4efa09a094c7d430afd329b55d7f8f86245beca3492036567a12952da9fc03d0c36e5d1 SHA512 0782e8818fd7d179a613516d02d2caff32ad8f6f30d7e6afb891ea3c0badf12d82f60f696f3c4a8791013ed0b503174deaf26f5ed7c7607cda0d78621f58d0bb -MISC metadata.xml 344 BLAKE2B 7f7a9ed296fdf435cef6b24832bc3d83d59d795942197655c8c69c75162f0e66832a5c2982201029d7fc1008296f1523c6b6e4b6e34024876ef95a7cafe73a13 SHA512 9d31dde261ac9899cc9b5aa6f503b1d46db57b973ba9d26191f0d6d12424d63a1fce55dfe8d2bc198653c0ea8af1585f3a6b6969dd8b943fbc1d4a19592d819f diff --git a/dev-vcs/hgsvn/hgsvn-0.2.3-r2.ebuild b/dev-vcs/hgsvn/hgsvn-0.2.3-r2.ebuild deleted file mode 100644 index 91a1d656c061..000000000000 --- a/dev-vcs/hgsvn/hgsvn-0.2.3-r2.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit distutils-r1 -PYTHON_REQ_USE="xml" - -DESCRIPTION="A set of scripts to work locally on Subversion checkouts using Mercurial" -HOMEPAGE="https://pypi.org/project/hgsvn/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~x86-linux ~x86-macos" -IUSE="" - -DEPEND=" - app-arch/unzip - dev-vcs/mercurial -" -RDEPEND="${DEPEND} - $(python_gen_cond_dep ' - dev-vcs/subversion[${PYTHON_MULTI_USEDEP}] - ') -" - -pkg_setup() { - python-single-r1_pkg_setup -} - -python_prepare_all() { - sed -e "/use_setuptools/d" -i setup.py || die "sed failed" - distutils-r1_python_prepare_all -} - -python_install() { - distutils-r1_python_install - rm -rf "${D}/$(python_get_sitedir)/hgsvn/unittests" || die -} diff --git a/dev-vcs/hgsvn/metadata.xml b/dev-vcs/hgsvn/metadata.xml deleted file mode 100644 index 4d85440d8473..000000000000 --- a/dev-vcs/hgsvn/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <longdescription>A set of scripts to work locally on Subversion checkouts using Mercurial</longdescription> - <upstream> - <remote-id type="pypi">hgsvn</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-vcs/hgview/Manifest b/dev-vcs/hgview/Manifest deleted file mode 100644 index c005bb6122d8..000000000000 --- a/dev-vcs/hgview/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST hgview-1.9.0.tar.gz 181130 BLAKE2B 55b9a161d5a650e802e959c68b0b59d33679790a57067d96b58d93868de8f99fd4323a18493829b94f2e72d7f1973b1558250989787bdf682cc784896fb36e90 SHA512 604631776e096daf27241e8387d6fddfb9b3f2c54dbfccc95e770ebf2d5d27f64009c3698cf0d427f9a89e073db0d8d7623d57969ca6fcf036d5cb1dbd74eece -EBUILD hgview-1.9.0-r1.ebuild 1155 BLAKE2B a5f5c405e136bce114fc6b1458db5def89beaff7628cab74ad4d9fad103bb623d96b595e9d2f64a84c05dedc57fd702f89f503bd98cd63ef16189835a532f002 SHA512 669caf87f8304eb4cbafa8ee67454b2d4c06dcd1d2eb456f20a615d9952b894c498c3ab1b15366e81fea32896d0c99c72a79a1b9cb41c0c1e17931f5565fc690 -MISC metadata.xml 241 BLAKE2B e383b9fa58bf95cedc00cccbc8061b34fd371cc83ffddfa6e94c07a1e980f23769a16f18d3d8103314afd3250aafaad83fa70ad436e8bde33dea03cf111f0e53 SHA512 b185630100162fea9373e93f1d254ad910d1c1e0f939d803222f08aaa1e8175e68720c346d00f1a0efe1cb4fb2cf4b7c01a86dfd7a7c5d84679bfb84cd3eba2e diff --git a/dev-vcs/hgview/hgview-1.9.0-r1.ebuild b/dev-vcs/hgview/hgview-1.9.0-r1.ebuild deleted file mode 100644 index 8dddd30bab7f..000000000000 --- a/dev-vcs/hgview/hgview-1.9.0-r1.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_IN_SOURCE_BUILD=1 -inherit distutils-r1 - -DESCRIPTION="A Mercurial interactive history viewer" -HOMEPAGE="https://www.logilab.org/project/hgview/ https://pypi.org/project/hgview/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="doc" - -RDEPEND=" - dev-python/pyinotify[${PYTHON_USEDEP}] - dev-python/pygments[${PYTHON_USEDEP}] - >=dev-python/urwid-1.0.0[${PYTHON_USEDEP}] - dev-vcs/mercurial[${PYTHON_USEDEP}]" -DEPEND="${RDEPEND} - doc? ( - app-text/asciidoc - app-text/xmlto - )" - -python_configure_all() { - mydistutilsargs=( - build $(use doc || echo --no-doc) - build --no-qt - ) -} - -src_prepare() { - # https://www.logilab.org/ticket/103668 - sed -i \ - -e 's:MANDIR=$(PREFIX)/man:MANDIR=$(PREFIX)/share/man:' \ - -e 's:$(INSTALL) $$i:$(INSTALL) -m 644 $$i:' \ - doc/Makefile || die - - distutils-r1_src_prepare -} - -src_install() { - distutils-r1_src_install - - # Install Mercurial extension config file - insinto /etc/mercurial/hgrc.d - doins hgext/hgview.rc -} diff --git a/dev-vcs/hgview/metadata.xml b/dev-vcs/hgview/metadata.xml deleted file mode 100644 index b94b93f5d3b7..000000000000 --- a/dev-vcs/hgview/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="pypi">hgview</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-vcs/mercurial-server/Manifest b/dev-vcs/mercurial-server/Manifest deleted file mode 100644 index 168f34b8730e..000000000000 --- a/dev-vcs/mercurial-server/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST mercurial-server_1.2.tar.gz 21560 BLAKE2B 60d7dd9d0fdb55fc82d8cd268ab7ec7a53b1ba425c28520bff2f4920c1e404fbe0c0bb11e4af34b1952a8cdb2f44cecba1b5f29c6c5d85f49e992bd31cd88c1d SHA512 3dec14309fc050fa49ffd5253a491b2d65507ed8da04741ba5247d420701a9f836a1c3ef6924a706671e28bafbe0200af03c817184e303179002419887400ce0 -EBUILD mercurial-server-1.2-r1.ebuild 1785 BLAKE2B b0de1d1d1d479b94a9e277ac8f29ae2c113e727e2e3b06ca00561d83460e7b7e8d61b94bab58c187d2cfe5534210c6a29aba37f05580b48ec14873dda3d12e0a SHA512 151e85d1fddcfea7b3d23d3619a3ae48417a01e21becfeeb293742d46a96197185c8eebfa7aa4d60a47ecf472d814a846a044c0e19a47ee9a656b4998dfe4020 -EBUILD mercurial-server-9999.ebuild 1780 BLAKE2B 32a3bcbac38dbf215f747af3cef0797a3b2d6192cb91919030bc3c8a13b1844364be6bee1635d97693719ef0af836089b31454caed14c8eda9a208bedb674cf3 SHA512 a857790b3f3d1261146302bfeaa22a4e17b503ef59d7b94b85cf6b58dc7df8ccd069e66e6002032b6078de8d83537c71232f633b3fe43f182f14b594e0bc4177 -MISC metadata.xml 436 BLAKE2B c5a721ec5dea92c6e5e26fb29c8c6a064a1b946fc51ef4f4ede9648f287ceccc1f33c3b1e0b50c872c8f2f59f97b0486dc49bd6606b1dbe728e9f860ce39c53b SHA512 6902435e0811e8793cce55684007b8a3525be01576213a226a9d7328c636cc8ba303c632a29c939ead9cd163c2a181d2c113fad09635ee8893c4cb2501addd65 diff --git a/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild b/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild deleted file mode 100644 index ab1be829c3fe..000000000000 --- a/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# force single impl to avoid python-exec wrapping -DISTUTILS_SINGLE_IMPL=1 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 user - -if [[ "${PV}" = "9999" ]]; then - inherit mercurial - EHG_REPO_URI="http://hg.opensource.lshift.net/mercurial-server" - KEYWORDS="" -else - MY_P="${PN}_${PV}" - SRC_URI="http://dev.lshift.net/paul/mercurial-server/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${MY_P}.orig" -fi - -DESCRIPTION="Mercurial authentication and authorization tools" -HOMEPAGE="http://www.lshift.net/mercurial-server.html" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc" - -RDEPEND="dev-vcs/mercurial" -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - )" - -pkg_setup() { - enewgroup hg - enewuser hg -1 /bin/bash "/var/lib/${PN}" hg - python-single-r1_pkg_setup -} - -python_prepare_all() { - # remove useless makefile - rm Makefile || die - - # fix installation paths - sed -i -e "s|'init'|'share/${PN}/init'|" setup.py \ - || die 'sed setup.py failed.' - - distutils-r1_python_prepare_all -} - -python_compile_all() { - # build documentation - if use doc; then - xsltproc --nonet -o manual.html \ - /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \ - doc/manual.docbook || die "xsltproc failed" - fi -} - -python_install() { - distutils-r1_python_install --install-scripts="/usr/share/${PN}" -} - -python_install_all() { - distutils-r1_python_install_all - - # install configuration files - insinto "/etc/${PN}" - doins -r src/init/conf/. - keepdir /etc/mercurial-server/keys/{root,users} - - # install documentation - use doc && dodoc manual.html - - # install hg home directory - keepdir "/var/lib/${PN}" - fowners hg:hg "/var/lib/${PN}" - fperms 750 "/var/lib/${PN}" -} diff --git a/dev-vcs/mercurial-server/mercurial-server-9999.ebuild b/dev-vcs/mercurial-server/mercurial-server-9999.ebuild deleted file mode 100644 index 701b33206779..000000000000 --- a/dev-vcs/mercurial-server/mercurial-server-9999.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# force single impl to avoid python-exec wrapping -DISTUTILS_SINGLE_IMPL=1 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 user - -if [[ "${PV}" = "9999" ]]; then - inherit mercurial - EHG_REPO_URI="http://hg.opensource.lshift.net/mercurial-server" - KEYWORDS="" -else - MY_P="${PN}_${PV}" - SRC_URI="http://dev.lshift.net/paul/mercurial-server/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${MY_P}" -fi - -DESCRIPTION="Mercurial authentication and authorization tools" -HOMEPAGE="http://www.lshift.net/mercurial-server.html" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc" - -RDEPEND="dev-vcs/mercurial" -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - )" - -pkg_setup() { - enewgroup hg - enewuser hg -1 /bin/bash "/var/lib/${PN}" hg - python-single-r1_pkg_setup -} - -python_prepare_all() { - # remove useless makefile - rm Makefile || die - - # fix installation paths - sed -i -e "s|'init'|'share/${PN}/init'|" setup.py \ - || die 'sed setup.py failed.' - - distutils-r1_python_prepare_all -} - -python_compile_all() { - # build documentation - if use doc; then - xsltproc --nonet -o manual.html \ - /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \ - doc/manual.docbook || die "xsltproc failed" - fi -} - -python_install() { - distutils-r1_python_install --install-scripts="/usr/share/${PN}" -} - -python_install_all() { - distutils-r1_python_install_all - - # install configuration files - insinto "/etc/${PN}" - doins -r src/init/conf/. - keepdir /etc/mercurial-server/keys/{root,users} - - # install documentation - use doc && dodoc manual.html - - # install hg home directory - keepdir "/var/lib/${PN}" - fowners hg:hg "/var/lib/${PN}" - fperms 750 "/var/lib/${PN}" -} diff --git a/dev-vcs/mercurial-server/metadata.xml b/dev-vcs/mercurial-server/metadata.xml deleted file mode 100644 index a59ea4d751d6..000000000000 --- a/dev-vcs/mercurial-server/metadata.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <longdescription lang="en"> - mercurial-server gives your developers remote read/write access to - centralized Mercurial repositories using SSH public key authentication; it - provides convenient and fine-grained key management and access control. - </longdescription> -</pkgmetadata> diff --git a/dev-vcs/mercurial/Manifest b/dev-vcs/mercurial/Manifest index 4cb42bb5323c..01ca33c783f3 100644 --- a/dev-vcs/mercurial/Manifest +++ b/dev-vcs/mercurial/Manifest @@ -2,17 +2,9 @@ AUX 70mercurial-gentoo.el 76 BLAKE2B 2b9488757b2516dc494ce4f38c89b63669886eefaeb AUX cacerts.rc 51 BLAKE2B 8b42b2f4514d938b051feb7e59c69e6b06d1ceabe6c5a252a3cb4033555bcccda9375ae1fa9a5607f07296bd094c425077f5788e2c9fbca9b22914da41ddf132 SHA512 39c40c6cc95c54dcae13effb5c23f541f49fd89e0f040e214673afd906c6d5140eb18801d55330f4455507b467f0fae011998e60932e9a2accf37a0e7a047b90 AUX mercurial-3.0.1-po_fixes.patch 1396 BLAKE2B 2de846558d2d2f8f4d4ccd7d8e0d65fd96edf31c858d05f0f5c29087a8122fefdd21546dea297709173d812e33774acadf8dada57d178c9ef9fafde560f4be4b SHA512 c696e0df1f6d149e8522123fe51585ded2955bbea782819d634eaf6edb0ddd189c68372692cb247bbd96d51c69801c2d8232e4b0b60093ff1f11b28010292cb7 AUX mercurial-4.8.1-unbundle_zstd.patch 393 BLAKE2B 8556147baa6e493ee81aef1a68b2b6372ba094c6d5c73e97faa3f2da48179085ad475fe8d646916d3fb3294a166abec4a8b2a5b5e00cfd8fdaf55290a745ef2a SHA512 003844caff3dd4df15db8a6a084ee71d456026dc9222bf469f9489a9946a9205a57db274a26dabdc2d73fdff24cfd291f70b99141f2c9aad6e58d0fe1a1e7254 -DIST mercurial-4.9.1.tar.gz 7076867 BLAKE2B 8cedc66a8ddffc543a8849bbc98ebfc9ed61055a2ad16506b8c1c9a932d6825ef01a63b31f5bdbdb25e8829badab72857f101d12576fb269572c3d03cb4e7abd SHA512 2265ab501e24a2d229ef29404ca35d318faf620db163ec33225348d53139f7b6cb121e935ce444ec697ced69697f43df57dd7199ad20c1ca6f0275d9744ce391 -DIST mercurial-4.9.tar.gz 7075692 BLAKE2B ed11442e0cd5b27f47394ed1c15016930556d5cdc59ab18f1e0d5371e434eb752b68d3d9f6dd34ed9c63df62a646223e86c6c5178775d9b856eed5df65677900 SHA512 59a5467cebb51f17cce7bcada37f8d85906493ab2e3d443ceeae2c6598fb69d2d59f1e99c73bd08345c5f90501a7bae0d70e04c770ea7653ec30648e591c97fb -DIST mercurial-5.0.2.tar.gz 7202797 BLAKE2B 7059efa2cf80c433ec25748c7c49ae0caa688363f5ef2983e0adf39a0a691ea99aaf4a090ebeda11b89e74263c548289cca3f82f40d77efbf925e12231b341cc SHA512 8b328e2e5a2896b690492d75c055bb13cd76df6efb087ef770f60ead86e30f7d952cb3ca82a696c0c5ce7039c319bd0fc9b448a52c079653622760317d5bb315 -DIST mercurial-5.1.2.tar.gz 7286238 BLAKE2B 0dcb2556e568e222da628bcfeceba56df8ab04f123f79add1953ce13bbf51e5cb0733fa72d5cff00250aaf0e3bfae5c52cc5cd72c1b6aa1fccb6820fce5a7018 SHA512 a8ce9d9220a5ddf452264801f06e81fe1e699ff700d085e3f82c6877910c6ef0e594203590f198b7b9e31c9a1ed627c8fa2a3a1513d0c5087cf775835a78c408 DIST mercurial-5.2.2.tar.gz 7333065 BLAKE2B 9cec5a6ebe4693a1b96fe268211aa2eaa06643d5b8812c427757839d5389319f0e2ff3c1ed964a56bf8a3c46f7630321abf508c61691102856dfbdbd72fed662 SHA512 875e75587ab1f1c54edd2f7198dff21e6b287425f215a9d28ef98d5359420df90ca7ef0128ec7b772c4a31dc95b1082b4d6d28f1754968a08408516ba9ec91ee -DIST mercurial-5.3.1.tar.gz 7511733 BLAKE2B 713074092d29ee7e35dbed73e38e120d802477b55fcab7c497cf78a1c4b00fc5aaf9ab323c64d58660c39454b4d6d0d130a620b7afc08141b9a2016052f3a3b9 SHA512 3bc49ea96cb4ac0e777f667a3243917af495a001534b6b91141fc93b5c47a8eddc84331e1cb0b981fac1bf451dcfc91b8c538134983733466248fdc20afd39c6 -EBUILD mercurial-4.9-r2.ebuild 3961 BLAKE2B 0fb5cfe7292583bc8acb0f7e60b1b44ec68727967407efc1cfae4f7d4155ac10edb75f1d22696e7d3e13fedaf8172d133fe40f04f879cfe2e3a23af10b8b17b9 SHA512 25340e237aa4a2b5bef4d8086b0ca5d09127695ebcab2c0ca1a8d3f0356cf5f39871548e81a262e97ffede6ab5bb807f90619ad4877fbc5e7be5b8f4a6b52b12 -EBUILD mercurial-4.9.1.ebuild 3969 BLAKE2B 246e6bef7d7c9e26c5d196c35aa80791d391ec920afc6152311257de9236f189b1c9a500f4c284193ea6398df17d44eda1429811c7270f7ab9a305e1f9c2b2ce SHA512 bbf4bbd40196c26ead520275926f11a2a31fb727003a7d20a895578cbc51c884f5f06b9ef8381a7f2739592192d0f272d3f7dc05a941a48ef7b09103e93cce0e -EBUILD mercurial-5.0.2.ebuild 3965 BLAKE2B d2e9fee79075cb1030953c1542c0e7dcd4991c3cee3d165d2b4bc300eabc05865a23519e4efbf2e80571baccb4376228ceb2dacf66dc82a9ab7a9c7e6748786b SHA512 a097d92609ee4f4b42b12d48848f3468b2ca7825a49d7084d5c59c302f703995f3ae00ad71e39e8e063dd0973c47a46c4a936ed5662e886ac14257ffaf5e5006 -EBUILD mercurial-5.1.2.ebuild 4058 BLAKE2B 48f0950af98f15279f0353a75b06def66a5603d9761ff6c94171647df2c2535b60457d66ace87a1eaac54e35334da03b49fd7f3fd5746800ce9bb115e25d236a SHA512 43a0f0de929d50a58ebb2809390f83ab873e0324c207e6fd300136db592b59dbd414e6fc49cb64966e1557205308ed80f7a959716f25dbd09f6755ce3d8b76f5 -EBUILD mercurial-5.2.2-r1.ebuild 4261 BLAKE2B 388b01f443f91b3a0f0fd37553cf775ccbfdb06b23a093ffc5c3568593246db2e73e2cf320f8392ae367e004264a655592f2c2265ddb738577fb7b63b4e7b4ad SHA512 a0ff28086d53f992e662bbb13688748229e61178abfed68cd51b74fca5ed2d6618f05fc3757414faae57cdd5822eea867660e99d8e546610b4c46d076ef67c11 -EBUILD mercurial-5.3.1.ebuild 4273 BLAKE2B 4f4406b42a28133842cf93d85f5fbf11a17ad2b90128f51544b83db8ae32a0c140e9083d3e3a93812cd97b1b591fba02db48d6f667147d12ad2072008d343fa8 SHA512 06639342b94328556a84c7b51fac33bfa1771e50668d50b29f23a3610a26fa39894efe9b14d1e3a60f0aacb3903b623edc5606d1a9fed64844374b8999812e85 +DIST mercurial-5.3.2.tar.gz 7514256 BLAKE2B 250ecd5c0a64138cbcda599513efba7b040c0fed0f020c73ade2525e0ef8a9ad06c10c5df4e16eb9bbeb3ab0f2cbb622a65f6d4827b269654c662810ef0385fb SHA512 b0afcf82b51676d2e7592eb9b29f9611d59816399166400027b6c8b29c10c9ddc96b57f7913e78f938b1345bb7ac29ecd4ddc793165b7cf192c3c7a95712cc99 +EBUILD mercurial-5.2.2-r1.ebuild 4260 BLAKE2B dacafbc137616dee14931e46b4e59a72c04ab878ca2492110258720fc9a2dfd8eea444cd6d88607c29d7039b2c8cc59d4e0c10fd9682d14dfdf24a21db426666 SHA512 156c151fa6a92d731f336a145b512df75d599a818892ae3b071be084150251450b9e9a48a55ed57f4948a719a31cabd217e0bbe0fbfcacd1be668c6213f6d19a +EBUILD mercurial-5.3.2.ebuild 4273 BLAKE2B 4f4406b42a28133842cf93d85f5fbf11a17ad2b90128f51544b83db8ae32a0c140e9083d3e3a93812cd97b1b591fba02db48d6f667147d12ad2072008d343fa8 SHA512 06639342b94328556a84c7b51fac33bfa1771e50668d50b29f23a3610a26fa39894efe9b14d1e3a60f0aacb3903b623edc5606d1a9fed64844374b8999812e85 EBUILD mercurial-9999.ebuild 4219 BLAKE2B 567a43e6491cf5317dd96998a57a6d562d07583a9b45ff4f45d01f1f2e1b61243ac646356efb90d86da51dad6634d5ea9a574a348ed73f4a2acf484a2608083f SHA512 d4e0373b8374205a72141e1376b7b17a209cd0e83456e5a0f95d382fa8b20173274f65cac74151a7dd99afb56a50cddf1fe352007fa5e1d7e198b5a37529f3c1 -MISC metadata.xml 544 BLAKE2B a95ef3aa49d289113a878ea473a975ac0e836684ec6950f362ed2ef110f6ab461c746bd99177e6c315707f987338d137509b3e286d7637084ac3cdec4aaf774b SHA512 24d33ff3094877d2365fd0fb04d21ae242a6dc5dc64ed3f09c9cd6fe39f637fa6ef5eaffedcd91e63fcb9382831cf14d18e01ae2a222ac8caf41dae623418738 +MISC metadata.xml 483 BLAKE2B f81d3e855c41f0f5bef819cf4fbb537591f187917c76b5d153f9bf5f4cc14959c5aeef17ec9e5a0596d8e6bd2d8db0ad86dd4dea5ddfdd44a4c063acdc6a8a81 SHA512 3132d4cf6a2ba22ee8f93aef8de590bd576143dd80f56d515afb14cd5962899c0dfc4aee8552f041bac77b997055b2b407bad104591286be985de839f159fc83 diff --git a/dev-vcs/mercurial/mercurial-4.9-r2.ebuild b/dev-vcs/mercurial/mercurial-4.9-r2.ebuild deleted file mode 100644 index 3a5eb72d0e0e..000000000000 --- a/dev-vcs/mercurial/mercurial-4.9-r2.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="https://www.mercurial-scm.org/" -SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+chg bugzilla emacs gpg test tk" - -RDEPEND="app-misc/ca-certificates - dev-python/zstandard[${PYTHON_USEDEP}] - bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] )" - -SITEFILE="70${PN}-gentoo.el" - -# Too many tests fail #608720 -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" - "${FILESDIR}/${PN}-4.8.1-unbundle_zstd.patch" -) - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - - # Don't use bundled zstandard (#666972) - rm -r contrib/python-zstandard || die - - distutils-r1_python_prepare_all -} - -python_configure_all() { - filter-flags -ftracer -ftree-vectorize - # Note: make it impl-conditional if py3 is supported - append-flags -fno-strict-aliasing - - "${PYTHON}" setup.py build_mo || die -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - rm -f doc/*.?.txt - dodoc CONTRIBUTORS - cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die - - dobin hgeditor - dobin contrib/hgk - python_foreach_impl python_doscript contrib/hg-ssh - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion wix plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - - for f in ${RM_CONTRIB[@]}; do - rm -r contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" - - # symlink to system zstd - local sitedir=$(python_get_sitedir) - dosym ../zstd.so "${sitedir#${EPREFIX}}"/${PN}/zstd.so -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - #rm -f test-doctest* # doctest always fails with python 2.5.x - rm -f test-largefiles* # tends to time out - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - local TEST_DIR - - rm -rf "${TMPDIR}"/test - distutils_install_for_testing - cd tests || die - "${PYTHON}" run-tests.py --verbose \ - --tmpdir="${TMPDIR}"/test \ - --with-hg="${TEST_DIR}"/scripts/hg \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-4.9.1.ebuild b/dev-vcs/mercurial/mercurial-4.9.1.ebuild deleted file mode 100644 index 435caf12f6ea..000000000000 --- a/dev-vcs/mercurial/mercurial-4.9.1.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="https://www.mercurial-scm.org/" -SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+chg bugzilla emacs gpg test tk" - -RDEPEND="app-misc/ca-certificates - dev-python/zstandard[${PYTHON_USEDEP}] - bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] )" - -SITEFILE="70${PN}-gentoo.el" - -# Too many tests fail #608720 -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" - "${FILESDIR}/${PN}-4.8.1-unbundle_zstd.patch" -) - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - - # Don't use bundled zstandard (#666972) - rm -r contrib/python-zstandard || die - - distutils-r1_python_prepare_all -} - -python_configure_all() { - filter-flags -ftracer -ftree-vectorize - # Note: make it impl-conditional if py3 is supported - append-flags -fno-strict-aliasing - - "${PYTHON}" setup.py build_mo || die -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - rm -f doc/*.?.txt - dodoc CONTRIBUTORS - cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die - - dobin hgeditor - dobin contrib/hgk - python_foreach_impl python_doscript contrib/hg-ssh - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion wix plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - - for f in ${RM_CONTRIB[@]}; do - rm -r contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" - - # symlink to system zstd - local sitedir=$(python_get_sitedir) - dosym ../zstd.so "${sitedir#${EPREFIX}}"/${PN}/zstd.so -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - #rm -f test-doctest* # doctest always fails with python 2.5.x - rm -f test-largefiles* # tends to time out - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - local TEST_DIR - - rm -rf "${TMPDIR}"/test - distutils_install_for_testing - cd tests || die - "${PYTHON}" run-tests.py --verbose \ - --tmpdir="${TMPDIR}"/test \ - --with-hg="${TEST_DIR}"/scripts/hg \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-5.0.2.ebuild b/dev-vcs/mercurial/mercurial-5.0.2.ebuild deleted file mode 100644 index 117dc6be168c..000000000000 --- a/dev-vcs/mercurial/mercurial-5.0.2.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="https://www.mercurial-scm.org/" -SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+chg bugzilla emacs gpg test tk" - -RDEPEND="app-misc/ca-certificates - dev-python/zstandard[${PYTHON_USEDEP}] - bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] )" - -SITEFILE="70${PN}-gentoo.el" - -# Too many tests fail #608720 -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" - "${FILESDIR}/${PN}-4.8.1-unbundle_zstd.patch" -) - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - - # Don't use bundled zstandard (#666972) - rm -r contrib/python-zstandard || die - - distutils-r1_python_prepare_all -} - -python_configure_all() { - filter-flags -ftracer -ftree-vectorize - # Note: make it impl-conditional if py3 is supported - append-flags -fno-strict-aliasing - - "${PYTHON}" setup.py build_mo || die -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - rm -f doc/*.?.txt - dodoc CONTRIBUTORS - cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die - - dobin hgeditor - dobin contrib/hgk - python_foreach_impl python_doscript contrib/hg-ssh - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - - for f in ${RM_CONTRIB[@]}; do - rm -r contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" - - # symlink to system zstd - local sitedir=$(python_get_sitedir) - dosym ../zstd.so "${sitedir#${EPREFIX}}"/${PN}/zstd.so -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - #rm -f test-doctest* # doctest always fails with python 2.5.x - rm -f test-largefiles* # tends to time out - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - local TEST_DIR - - rm -rf "${TMPDIR}"/test - distutils_install_for_testing - cd tests || die - "${PYTHON}" run-tests.py --verbose \ - --tmpdir="${TMPDIR}"/test \ - --with-hg="${TEST_DIR}"/scripts/hg \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-5.1.2.ebuild b/dev-vcs/mercurial/mercurial-5.1.2.ebuild deleted file mode 100644 index 88464e063967..000000000000 --- a/dev-vcs/mercurial/mercurial-5.1.2.ebuild +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="https://www.mercurial-scm.org/" -SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+chg bugzilla emacs gpg test tk" - -RDEPEND="app-misc/ca-certificates - dev-python/zstandard[${PYTHON_USEDEP}] - bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] )" - -SITEFILE="70${PN}-gentoo.el" - -# Too many tests fail #608720 -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" - "${FILESDIR}/${PN}-4.8.1-unbundle_zstd.patch" -) - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - - # Don't use bundled zstandard (#666972) - rm -r contrib/python-zstandard || die - - distutils-r1_python_prepare_all -} - -python_configure_all() { - filter-flags -ftracer -ftree-vectorize - # Note: make it impl-conditional if py3 is supported - append-flags -fno-strict-aliasing - - "${PYTHON}" setup.py build_mo || die -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - rm -f doc/*.?.txt - dodoc CONTRIBUTORS - cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die - - dobin hgeditor - dobin contrib/hgk - python_foreach_impl python_doscript contrib/hg-ssh - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - - for f in ${RM_CONTRIB[@]}; do - rm -r contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" - - # symlink to system zstd - local sitedir=$(python_get_sitedir) - dosym ../zstd.so "${sitedir#${EPREFIX}}"/${PN}/zstd.so -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - #rm -f test-doctest* # doctest always fails with python 2.5.x - rm -f test-largefiles* # tends to time out - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - local TEST_DIR - - rm -rf "${TMPDIR}"/test - distutils_install_for_testing - cd tests || die - "${PYTHON}" run-tests.py --verbose \ - --tmpdir="${TMPDIR}"/test \ - --with-hg="${TEST_DIR}"/scripts/hg \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" - - elog "If you want to use bugzilla extension" - elog "please install dev-python/mysqlclient" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-5.2.2-r1.ebuild b/dev-vcs/mercurial/mercurial-5.2.2-r1.ebuild index 915d09bcf000..a4954449a98b 100644 --- a/dev-vcs/mercurial/mercurial-5.2.2-r1.ebuild +++ b/dev-vcs/mercurial/mercurial-5.2.2-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+chg emacs gpg test tk zsh-completion" BROKEN_PYTHON=" diff --git a/dev-vcs/mercurial/mercurial-5.3.1.ebuild b/dev-vcs/mercurial/mercurial-5.3.2.ebuild index e0eb454596bc..e0eb454596bc 100644 --- a/dev-vcs/mercurial/mercurial-5.3.1.ebuild +++ b/dev-vcs/mercurial/mercurial-5.3.2.ebuild diff --git a/dev-vcs/mercurial/metadata.xml b/dev-vcs/mercurial/metadata.xml index d868ce0a9583..0409b47761c7 100644 --- a/dev-vcs/mercurial/metadata.xml +++ b/dev-vcs/mercurial/metadata.xml @@ -6,7 +6,6 @@ </maintainer> <use> <flag name="chg">Support Mercurial command server client</flag> - <flag name="bugzilla">Support bugzilla integration.</flag> <flag name="gpg">Support signing with GnuPG.</flag> <flag name="tk">Install dev-lang/tk for hgk script.</flag> </use> diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest index a32ccd30de16..2b06703d00ab 100644 --- a/dev-vcs/subversion/Manifest +++ b/dev-vcs/subversion/Manifest @@ -6,5 +6,5 @@ DIST subversion-1.10.0_rc1-patches-1.tar.xz 2984 BLAKE2B 7c9619b95ca6b433a58dc5b DIST subversion-1.12.2.tar.bz2 8506584 BLAKE2B 535e4c6c369537baa7f9fc9123d0314de1bb8d4b3c51e0216662047fd1084ceb6a1f349de54bf575f0eb8e1041fcd6525e6cf27dbd908e2148578cb9fb807bb3 SHA512 b1f859b460afa54598778d8633f648acb4fa46138f7d6f0c1451e3c6a1de71df859233cd9ac7f19f0f20d7237ed3988f0a38da7552ffa58391e19d957bc7c136 DIST subversion-1.13.0.tar.bz2 8508122 BLAKE2B 761def1bb3a1fe5333534ebda0940b618c343f919688055cdef69552bc515ad6cd9db3ac67c8c73075487d4f45d93bb57fa467288756dfa163fc72c8e8c7b548 SHA512 36f390b412bf772bf894efc2aadc247f12ca30ac407e04f664c14411c3519e1bb242d1239f2f44cbcb86eafc7c413efc8eadbfe1d1e75118235a7b7adc6c85b2 EBUILD subversion-1.12.2.ebuild 15517 BLAKE2B 6a8573f750eb273d22f67a7857652305284e8b8fc7a32fda5a00f9f826854635ef7c708cae0196a10c41804881ec5f3fa68f35415eaf3073efe4a6dae79fd965 SHA512 051325815cbea5de0ecc001c5c7d30156dce016082a92ec038f0298de24d8fde4b07b506d82567c3ae932b98466fed13da1cf790c98956f73c37a277ab1ca5fe -EBUILD subversion-1.13.0.ebuild 15525 BLAKE2B e8092c514bf9ef5220aae3c983dd11cb79a302b931490c960926b167cb148d21f5cc57cd6de4afe56391904871e213ad54eb8203ca1ede4a03b8a1cbd50582cf SHA512 9c18a30d131e3963689be81e92081a01016e5683635ea106102c2bae3633ee58bffe4dbf11429be0966b9ea7feb2619e459330716440333470a70651c1ebd20b +EBUILD subversion-1.13.0-r1.ebuild 15517 BLAKE2B 37fb4df30ad8bc2d1c7d1722967b444f94229144b781b7b5a496d712454bb14d1fa76e012a52725f179839829737b6b490757a71d002b23369a79f1175971053 SHA512 fe4f479654730ba2e407329f5c43376a96d1f8d1d091949ef52dccbec04982f7969c67991fae91df259b6829bc3c82aa57f3ee08833d0d4a04992387de504261 MISC metadata.xml 575 BLAKE2B 10cda26a50a50e6ac6b16d578d1a3856f88ac12b56ac6ff1768c4a0e0240b2e6abea6b1f66a6ea7d3f817e75eb9e2d5e14999ad2ba330b55784ec5028781b994 SHA512 f2a6ff822a11d452c133aca4abeb1ffb214d946c7e706d1caa269564c4dc55374c17449a4912df54b12ce562d66058baf2e710f3e9e46ca3602e9d8483555584 diff --git a/dev-vcs/subversion/subversion-1.13.0.ebuild b/dev-vcs/subversion/subversion-1.13.0-r1.ebuild index a46d68203b07..3f5565dc2727 100644 --- a/dev-vcs/subversion/subversion-1.13.0.ebuild +++ b/dev-vcs/subversion/subversion-1.13.0-r1.ebuild @@ -39,7 +39,7 @@ COMMON_DEPEND=" ctypes-python? ( ${PYTHON_DEPS} ) gnome-keyring? ( dev-libs/glib:2 - gnome-base/libgnome-keyring + app-crypt/libsecret sys-apps/dbus ) http? ( >=net-libs/serf-1.3.4 ) diff --git a/dev-vcs/svn2git/Manifest b/dev-vcs/svn2git/Manifest index 7b965cd93ab9..05ab8e9662b5 100644 --- a/dev-vcs/svn2git/Manifest +++ b/dev-vcs/svn2git/Manifest @@ -6,11 +6,13 @@ DIST svn2git-1.0.12.tar.gz 43591 BLAKE2B b771c85c664e5721a345fa3437262ca80bf97b1 DIST svn2git-1.0.13.tar.gz 43738 BLAKE2B 97e9b90402d3c7eedf0fafd3b68429c99d93522dcfe190f88e64b744cb86e5fec0bdd0fabfef39018e290a425a53a2089df88250ff03e447f2963e2ad99fa0e0 SHA512 7cc9a9d70da285533f7f34672fb8f6571cb031d2dd4fc9df904b9e3acf64d97f42027a19bed82478c75a237febf3c8e12ba27a1abcd98403fe24247e5a26a96a DIST svn2git-1.0.16.tar.gz 44489 BLAKE2B 0be673592a6032b0f46f7ab80e50862e6979a6540d17eadb2c0e4c3f40737283fb17cc51340810bbfc17dba7ee258537d5618de95da3843851e20ae843a47626 SHA512 11289c98fcae98ec2137b778c064e73f47957c987a8d413946a8cde44d679565eae878e69e3a60b5c48c0753dd4935d001eb6ba28253cea995ee4fd40379b583 DIST svn2git-1.0.17.tar.gz 46473 BLAKE2B ab862a310f8d21b33d49f5152df458fb1524abe2e353e6395d7b20d80ee3967338ca04ff5e282623937ca13b38e9018ba81d4c3e89f3c69e1002bff7ddd8621a SHA512 6d02ffa0923bcc80878c08e5a4f2f00476485e34d1c7361ddfa8bdfd521c0d36a22b46e7cd872e617ecd604f2d724166ea95008338bba41ee7e1200dc919baf4 +DIST svn2git-1.0.18.tar.gz 53514 BLAKE2B 1e40318e484df4eee9ab3586b73cc6a7d9599f8f04e31531e2591dc0bb6f84190d35fb6b9128dd512bab59648e838f479fd81894f97cfce7af4365e0932b26e4 SHA512 ff851a5c3a225c8b6efa9fbf90bd72439bc1303f8138384c2bac779d6cfe52c77125ec3b80b320205e08bbee9910c5203a95c112909c3336750938d2271c2517 EBUILD svn2git-1.0.11-r1.ebuild 1164 BLAKE2B c838d41cf17d0241e5b1e229263d26e4015b1d76c768c3feffd41521a28752064eab6e2abb47a563777d691e0bf49e3e50458f4a9fa9d23e95f92257924eb11f SHA512 8e81668615ab102e02391130f22696c8c3bbc1ab7f13103691a35440556f62f400019e0922e9230c97e35f9f9875ee7de42f757427d2f7997d2b1ec1dc1b73f4 EBUILD svn2git-1.0.12.ebuild 1037 BLAKE2B d9796902d0aa1bd12ac44097ca10fb0c3ece022b193dc60f292fae59b8df1a5fa4d4df0742471dc5ba898b584e6b13757c336e740b99c9746fb756e5e66edb71 SHA512 e02aedb85806701cfebc8f28369bf27433b798c44ac9bafb3730cf4b914fc877fc4134a27e69e7ebbcaf047bde6f9bf14b5854613f1da340342009e46a87dd9d EBUILD svn2git-1.0.13-r1.ebuild 1081 BLAKE2B 04d13c0be9aecd14e3b2ea52af46e00de2792a140319545bea39bfdbc9515eb411c67fd9383a8674bea5a22611f1cb29a99ad44f28300ec27addfdd859d0317e SHA512 0745ce05c437203dbe4913dac9e238b741ee69a57459ed82265971e464c0eebbff16f635865b0d23d0ca303bc90b980122b8e3966011d5b250b21d1cc02ed756 EBUILD svn2git-1.0.13.ebuild 1037 BLAKE2B d9796902d0aa1bd12ac44097ca10fb0c3ece022b193dc60f292fae59b8df1a5fa4d4df0742471dc5ba898b584e6b13757c336e740b99c9746fb756e5e66edb71 SHA512 e02aedb85806701cfebc8f28369bf27433b798c44ac9bafb3730cf4b914fc877fc4134a27e69e7ebbcaf047bde6f9bf14b5854613f1da340342009e46a87dd9d EBUILD svn2git-1.0.16.ebuild 1034 BLAKE2B ddbb36477b2dbd88f52598c46dfe6c357a3ee03f17ba668897a11cdf1da6b2d11bbaa160526b7ece14437883ba7583a596f3f9c66f5fdf65c693d76427a7b8b7 SHA512 61d9606dc51ba6efd15b615d6573a357a73b84c01303c6b561b6f3f09aed6db4e9698231b86622913a97118b8a85c36df71b238ee5a2bb0390475c13c7c68d1e EBUILD svn2git-1.0.17.ebuild 1034 BLAKE2B bf4bc2dd9ccd89a21f5161275c5d4b6536c3824cb0f4f8218b0603ee24f01d2d0d87f63aac37bd47b6f673946d688aff9e6888aa6f51c333db683567cab49b03 SHA512 f0993c376ae1c3949cc00a51d09112eca009230d8a671dd37cc30b385a474f19d3ac135a3f3b22f1e789d5498f6ebbaafa19d169a3df32e295f67c31cdf2f230 +EBUILD svn2git-1.0.18.ebuild 1034 BLAKE2B bf4bc2dd9ccd89a21f5161275c5d4b6536c3824cb0f4f8218b0603ee24f01d2d0d87f63aac37bd47b6f673946d688aff9e6888aa6f51c333db683567cab49b03 SHA512 f0993c376ae1c3949cc00a51d09112eca009230d8a671dd37cc30b385a474f19d3ac135a3f3b22f1e789d5498f6ebbaafa19d169a3df32e295f67c31cdf2f230 EBUILD svn2git-9999.ebuild 1021 BLAKE2B a503c85adb6f2b39ac0483dd3f7032b45a181b6b8306c390c76857138630864a28da68f18f9075183ad098217a7a8c888fe60ad4dd1df86918dd5790fdd9b667 SHA512 9fd102538666531b4f689f9eac4ad4ca0dcc7abf4d20692b1ab0abd0b47ff941060c03afc733e09f994618ca5478cc6d662b7324c74e9be0662b6e9c1619f9ab MISC metadata.xml 341 BLAKE2B a717046fb841b51b7e24fec4206379614a66d18aa60f8665e81f914beb100931418a37a2ed242ab7f48e9ed65affa0468f20192ab1d3661547d5db6d00dfbc23 SHA512 9026002122daf2c35d3c407ca605e353c8b6b39514572207bf3642ad98b8265965e2b56244ebfa1f864670426e98dbe21fec948e17cf97fdafce8bafb27bf590 diff --git a/dev-vcs/svn2git/svn2git-1.0.18.ebuild b/dev-vcs/svn2git/svn2git-1.0.18.ebuild new file mode 100644 index 000000000000..7b8fb13d3724 --- /dev/null +++ b/dev-vcs/svn2git/svn2git-1.0.18.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop qmake-utils +[[ "${PV}" == "9999" ]] && inherit git-r3 + +DESCRIPTION="Tool for one-time conversion from svn to git" +HOMEPAGE="https://github.com/svn-all-fast-export/svn2git" +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/svn-all-fast-export/svn2git.git" +else + SRC_URI="https://github.com/svn-all-fast-export/svn2git/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="" +# KEYWORDS way up + +DEPEND=" + dev-qt/qtcore:5 + dev-vcs/subversion" +RDEPEND="${DEPEND} + dev-vcs/git" + +DOCS=( README.md ) + +src_configure() { + local qmake_args=( + APR_INCLUDE=/usr/include/apr-1 + PREFIX=/usr + SVN_INCLUDE=/usr/include/subversion-1 + VERSION=${PV} + ) + eqmake5 "${qmake_args[@]}" fast-export2.pro +} + +src_install() { + einstalldocs + insinto /usr/share/${PN}/samples + doins samples/*.rules + dobin svn-all-fast-export + dosym svn-all-fast-export /usr/bin/svn2git +} diff --git a/dev-vcs/tortoisehg/Manifest b/dev-vcs/tortoisehg/Manifest index 4edb82baf407..512b7f83db15 100644 --- a/dev-vcs/tortoisehg/Manifest +++ b/dev-vcs/tortoisehg/Manifest @@ -1,8 +1,4 @@ -DIST tortoisehg-4.9.1.tar.gz 7960667 BLAKE2B f8a6ed65967c6389b65fd9388b3e898bf4ce09e7f95dd88467a10c061b9454eab76d0308905fd417575bf6d75dd7129a2f303bc774fd8e68824b33c18fd8054c SHA512 aef1b0d6047114794bfe78de2c0def83748e238917ce44fb56d562d53c26666dbb385867da70c4625893b148e2affa3766e40292348b78aff428df5a77d8f902 -DIST tortoisehg-4.9.tar.gz 7960163 BLAKE2B bc13032ba1e36ed3e6aca978cb3917b2e5fdcf1b7dab2e66a34a0aca2e084960954f9ec135a1c2120e09931b876db7d1f3d0f3a8f69f950ff939eea9d7814523 SHA512 cc7b0360c6b362b0b9695a484b59eea879e1d4e28ed68e98ce6975342a22ddafc97976c5b0cdea289bfd78932dacf76c0b236e36bec48acd48ee361f2c09ff13 -DIST tortoisehg-5.0.2.tar.gz 8002109 BLAKE2B 3ac66a0b0f943bccc1e9d38f6fb1a788de0e5b538fdf42d59da26de641913802116a73039a2c3516245c1b6abe325b0dd9ca5b2f1c2b60e2dcc6a600e5f1fb97 SHA512 d33916cf3215360cada06de62db46e70c555b1f4cd509f0b863e2baa633e2c5df99f09f3a103444c30aa0a6e15e2acd7134f045cb3846cccc7b727482d94e650 -EBUILD tortoisehg-4.9.1.ebuild 1969 BLAKE2B ff541757572e30cdc72fb69da7d62b7dd78d28db6e92e48ecd7b6b04176c71d521c4e42aff55834e9fa1d677b5994a5fe0be95647870975050cb7ed8ca7aa327 SHA512 d487200fbcbe84396376ad775fe3461c0096bb0734649e3230c86dd0b0b628ee5f2286f6415431628811e5e695387238d53dcde369d0bfd25a52b66ceb7ae26a -EBUILD tortoisehg-4.9.ebuild 1967 BLAKE2B d8a4af0e86d7d09603e53c07d6b6afa637132bd0ca42bacf206215cbd3f0f89719a0adb718a21e0a26ac9a0c5727c101f88c7fb556e180053e4479d598377800 SHA512 aeaed90010a9b8ebc579a742e763b2e6740a4974796443db7111a0e2d4a3e447002b0a2d1dd9c5602f7f3d59bb6460e02e8a3175be7ef6dbc54e74437210151e -EBUILD tortoisehg-5.0.2.ebuild 1968 BLAKE2B e0c39b086c76f073d6d968e5158d0e764974614f10af902fdacfc8ccd811e809029009ee58c4b2d332540e58aaec341c741b6e7db1c1ad9cdf9eba91512599eb SHA512 1a65dafa51246db60e167aa5a758937ac19925b66970c31efc56dfe816d0b7a7e5b563139887ab6e27691978d00f622fb56d640ebe7c50642f39852beebb7ebb -EBUILD tortoisehg-9999.ebuild 1968 BLAKE2B ecd39018aac1e90b9b1811d77f6f61c13c6497095913d78386d5df43c7f06775eec96cdb3173740f8ad03fbe65c2a8053472b34b6de381bf667ee1df6fee02c7 SHA512 55c5e57b0f72a2487395b60252b7722b15fc9d79f663d262bf91ebc5d20590b67f3a3242c6e4dcb0e8af99a3d510b1759a0b71dfdc6a744756eb50467fc12f84 -MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 +DIST tortoisehg-5.3.2.tar.gz 8910859 BLAKE2B 4cc2253f0adbd79fe84507043491198ddd9fa559c3e9296c831b8e0fccd6cb2806a31ffd6d417591f5fcb3afce78e696f7052d70b760a566bf72c6602ca31ea8 SHA512 b15894158a0d5e628015d07b4f8c77c96f3e1d7543fe2984693b99b2acfa411922b06683e62de437cb50dd5817155d4e59045d7fb47c9be8ee27b9bccf77da7e +EBUILD tortoisehg-5.3.2.ebuild 1506 BLAKE2B 7ee7236d6237e664131219cc5aadc3cab5d2085fc8d113a5139b28053d870d8dec3c193e7d308d71e1fc65f814811cbd4ea6277befa60bd1a097c663918bb1e7 SHA512 05df1967214d5f238efec09cbdd5dc36f20ccfee018b179a7ef3eb2b44aedd24f1813f3b1b62a53cd8a7efa1af0be6386f62d6bb4ba67d4b67f3b323fd2eba6d +EBUILD tortoisehg-9999.ebuild 1544 BLAKE2B 2f31a2367a6b87d29c7830b9841a3af8db0b0278d11d13ec5dbf814f9baebb25b0eb35d42f79f54d2b2a755e2f2d20d54b3deb52472e388069d081eb12fd1074 SHA512 ab1dc02cbfa9b3eda70c7e5582e70f5ec864ee8c89f37c65ced12a2b79ae71881fec7142877c642fa52f428da8691a0e3de91a4a89123a2c9bcad3956339dfa8 +MISC metadata.xml 689 BLAKE2B 79a83a2f3450d6a5546baf729e3b99b9fb9083d2b3baeaad7cba52937c8d6fe313ed84030be682cd783b9ee7bfcd0ba220e17d2a0e7cfc033396b17f284d5aa8 SHA512 7ff6f7e188b9acdef943a8e35a7940fe5d97df15567ff7a76f7babfde51e8d1e480c1287097a5e0b547b7f372f920f402c86c63310e128679c11f4bacd29f0ee diff --git a/dev-vcs/tortoisehg/metadata.xml b/dev-vcs/tortoisehg/metadata.xml index 7a38bb900964..1a94ad71ce80 100644 --- a/dev-vcs/tortoisehg/metadata.xml +++ b/dev-vcs/tortoisehg/metadata.xml @@ -1,5 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>denis7774@gmail.com</email> + <name>Reva Denis aka RarogCmex</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription>TortoiseHg is a Windows shell extension and a series of + applications for the Mercurial distributed revision control system. + It also includes a Gnome/Nautilus extension and a CLI wrapper + application so the TortoiseHg tools + can be used on non-Windows platforms. + </longdescription> </pkgmetadata> diff --git a/dev-vcs/tortoisehg/tortoisehg-4.9.1.ebuild b/dev-vcs/tortoisehg/tortoisehg-4.9.1.ebuild deleted file mode 100644 index ff68d5cb0046..000000000000 --- a/dev-vcs/tortoisehg/tortoisehg-4.9.1.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -inherit desktop distutils-r1 - -if [[ ${PV} != *9999* ]]; then - KEYWORDS="~amd64 ~x86" - SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz" - HG_DEPEND=">=dev-vcs/mercurial-4.8 <dev-vcs/mercurial-4.10" -else - inherit mercurial - EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg" - EHG_REVISION="stable" - HG_DEPEND="dev-vcs/mercurial" -fi - -DESCRIPTION="Set of graphical tools for Mercurial" -HOMEPAGE="https://tortoisehg.bitbucket.io/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc" - -RDEPEND="${HG_DEPEND} - dev-python/iniparse[${PYTHON_USEDEP}] - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/PyQt5[network,svg,${PYTHON_USEDEP}] - >=dev-python/qscintilla-python-2.9.4:=[qt5(+),${PYTHON_USEDEP}]" -DEPEND="${RDEPEND} - doc? ( >=dev-python/sphinx-1.0.3 )" - -# Workaround race condition in build_qt -DISTUTILS_IN_SOURCE_BUILD=1 - -python_prepare_all() { - if [[ ${L10N+set} ]]; then - cd i18n/tortoisehg || die - local x y keep - for x in *.po; do - keep=false - for y in ${L10N}; do - if [[ ${y} == ${x%.po}* ]]; then - keep=true - break - fi - done - ${keep} || rm "${x}" || die - done - cd "${S}" || die - fi - distutils-r1_python_prepare_all -} - -python_compile_all() { - use doc && emake -C doc html -} - -python_install_all() { - distutils-r1_python_install_all - dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc - if use doc ; then - docinto html - dodoc -r doc/build/html/. - fi - newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg - domenu contrib/thg.desktop - - # Remove file that collides with >=mercurial-4.0 (bug #599266). - rm "${ED}"/usr/$(get_libdir)/${EPYTHON}/site-packages/hgext3rd/__init__.py* \ - || die -} - -pkg_postinst() { - elog "When startup of ${PN} fails with an API version mismatch error" - elog "between dev-python/sip and dev-python/PyQt5 please rebuild" - elog "dev-python/qscintilla-python." -} diff --git a/dev-vcs/tortoisehg/tortoisehg-5.0.2.ebuild b/dev-vcs/tortoisehg/tortoisehg-5.0.2.ebuild deleted file mode 100644 index 869a5571f9ff..000000000000 --- a/dev-vcs/tortoisehg/tortoisehg-5.0.2.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -inherit desktop distutils-r1 - -if [[ ${PV} != *9999* ]]; then - KEYWORDS="~amd64 ~x86" - SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz" - HG_DEPEND=">=dev-vcs/mercurial-5.0 <dev-vcs/mercurial-5.1" -else - inherit mercurial - EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg" - EHG_REVISION="stable" - HG_DEPEND="dev-vcs/mercurial" -fi - -DESCRIPTION="Set of graphical tools for Mercurial" -HOMEPAGE="https://tortoisehg.bitbucket.io/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc" - -RDEPEND="${HG_DEPEND} - dev-python/iniparse[${PYTHON_USEDEP}] - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/PyQt5[network,svg,${PYTHON_USEDEP}] - >=dev-python/qscintilla-python-2.9.4:=[qt5(+),${PYTHON_USEDEP}]" -DEPEND="${RDEPEND} - doc? ( >=dev-python/sphinx-1.0.3 )" - -# Workaround race condition in build_qt -DISTUTILS_IN_SOURCE_BUILD=1 - -python_prepare_all() { - if [[ ${L10N+set} ]]; then - cd i18n/tortoisehg || die - local x y keep - for x in *.po; do - keep=false - for y in ${L10N}; do - if [[ ${y} == ${x%.po}* ]]; then - keep=true - break - fi - done - ${keep} || rm "${x}" || die - done - cd "${S}" || die - fi - distutils-r1_python_prepare_all -} - -python_compile_all() { - use doc && emake -C doc html -} - -python_install_all() { - distutils-r1_python_install_all - dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc - if use doc ; then - docinto html - dodoc -r doc/build/html/. - fi - newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg - domenu contrib/thg.desktop - - # Remove file that collides with >=mercurial-4.0 (bug #599266). - rm "${ED}"/usr/$(get_libdir)/${EPYTHON}/site-packages/hgext3rd/__init__.py* \ - || die -} - -pkg_postinst() { - elog "When startup of ${PN} fails with an API version mismatch error" - elog "between dev-python/sip and dev-python/PyQt5 please rebuild" - elog "dev-python/qscintilla-python." -} diff --git a/dev-vcs/tortoisehg/tortoisehg-4.9.ebuild b/dev-vcs/tortoisehg/tortoisehg-5.3.2.ebuild index 6407cbc54664..757231a11582 100644 --- a/dev-vcs/tortoisehg/tortoisehg-4.9.ebuild +++ b/dev-vcs/tortoisehg/tortoisehg-5.3.2.ebuild @@ -1,15 +1,16 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python3_{6,7,8} ) inherit desktop distutils-r1 if [[ ${PV} != *9999* ]]; then - KEYWORDS="amd64 x86" + KEYWORDS="~amd64 ~arm64 ~x86" SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz" - HG_DEPEND=">=dev-vcs/mercurial-4.8 <dev-vcs/mercurial-4.10" + HG_DEPEND=" >=dev-vcs/mercurial-5.3.1 + <dev-vcs/mercurial-5.4" else inherit mercurial EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg" @@ -24,53 +25,26 @@ LICENSE="GPL-2" SLOT="0" IUSE="doc" +distutils_enable_sphinx html + RDEPEND="${HG_DEPEND} dev-python/iniparse[${PYTHON_USEDEP}] dev-python/pygments[${PYTHON_USEDEP}] dev-python/PyQt5[network,svg,${PYTHON_USEDEP}] >=dev-python/qscintilla-python-2.9.4:=[qt5(+),${PYTHON_USEDEP}]" -DEPEND="${RDEPEND} - doc? ( >=dev-python/sphinx-1.0.3 )" - -# Workaround race condition in build_qt -DISTUTILS_IN_SOURCE_BUILD=1 +DEPEND="${RDEPEND}" python_prepare_all() { - if [[ ${L10N+set} ]]; then - cd i18n/tortoisehg || die - local x y keep - for x in *.po; do - keep=false - for y in ${L10N}; do - if [[ ${y} == ${x%.po}* ]]; then - keep=true - break - fi - done - ${keep} || rm "${x}" || die - done - cd "${S}" || die - fi + # Remove file that collides with >=mercurial-4.0 (bug #599266). + rm "${S}"/hgext3rd/__init__.py || die "can't remove /hgext3rd/__init__.py" distutils-r1_python_prepare_all } -python_compile_all() { - use doc && emake -C doc html -} - python_install_all() { distutils-r1_python_install_all dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc - if use doc ; then - docinto html - dodoc -r doc/build/html/. - fi newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg domenu contrib/thg.desktop - - # Remove file that collides with >=mercurial-4.0 (bug #599266). - rm "${ED}"/usr/$(get_libdir)/${EPYTHON}/site-packages/hgext3rd/__init__.py* \ - || die } pkg_postinst() { diff --git a/dev-vcs/tortoisehg/tortoisehg-9999.ebuild b/dev-vcs/tortoisehg/tortoisehg-9999.ebuild index 18e015fc174f..6f0201707268 100644 --- a/dev-vcs/tortoisehg/tortoisehg-9999.ebuild +++ b/dev-vcs/tortoisehg/tortoisehg-9999.ebuild @@ -1,15 +1,16 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -PYTHON_COMPAT=( python2_7 ) +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) -inherit distutils-r1 eutils +inherit desktop distutils-r1 if [[ ${PV} != *9999* ]]; then - KEYWORDS="~amd64 ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86" SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz" - HG_DEPEND=">=dev-vcs/mercurial-4.4 <dev-vcs/mercurial-4.6" + HG_DEPEND=" >=dev-vcs/mercurial-5.3.1 + <dev-vcs/mercurial-5.4" else inherit mercurial EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg" @@ -24,53 +25,26 @@ LICENSE="GPL-2" SLOT="0" IUSE="doc" +distutils_enable_sphinx html + RDEPEND="${HG_DEPEND} dev-python/iniparse[${PYTHON_USEDEP}] dev-python/pygments[${PYTHON_USEDEP}] dev-python/PyQt5[network,svg,${PYTHON_USEDEP}] >=dev-python/qscintilla-python-2.9.4:=[qt5(+),${PYTHON_USEDEP}]" -DEPEND="${RDEPEND} - doc? ( >=dev-python/sphinx-1.0.3 )" - -# Workaround race condition in build_qt -DISTUTILS_IN_SOURCE_BUILD=1 +DEPEND="${RDEPEND}" python_prepare_all() { - if [[ ${L10N+set} ]]; then - cd i18n/tortoisehg || die - local x y keep - for x in *.po; do - keep=false - for y in ${L10N}; do - if [[ ${y} == ${x%.po}* ]]; then - keep=true - break - fi - done - ${keep} || rm "${x}" || die - done - cd "${S}" || die - fi + # Remove file that collides with >=mercurial-4.0 (bug #599266). + rm "${S}"/hgext3rd/__init__.py || die "can't remove /hgext3rd/__init__.py" distutils-r1_python_prepare_all } -python_compile_all() { - use doc && emake -C doc html -} - python_install_all() { distutils-r1_python_install_all dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc - if use doc ; then - docinto html - dodoc -r doc/build/html/. - fi newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg domenu contrib/thg.desktop - - # Remove file that collides with >=mercurial-4.0 (bug #599266). - rm "${ED%/}"/usr/$(get_libdir)/${EPYTHON}/site-packages/hgext3rd/__init__.py \ - || die } pkg_postinst() { |