From b2ec252cbc0a7476fb6892f96130c8cdc35591ac Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 19 Jan 2025 06:42:08 +0000 Subject: gentoo auto-resync : 19:01:2025 - 06:42:08 --- dev-vcs/Manifest.gz | Bin 11853 -> 11853 bytes dev-vcs/git/Manifest | 33 +- dev-vcs/git/files/git-2.48.0_rc2-meson-deps.patch | 91 --- dev-vcs/git/git-2.44.2.ebuild | 647 --------------------- dev-vcs/git/git-2.45.3.ebuild | 650 +++++++++++++++++++++ dev-vcs/git/git-2.46.2.ebuild | 667 --------------------- dev-vcs/git/git-2.47.1.ebuild | 670 ---------------------- dev-vcs/git/git-2.48.0-r2.ebuild | 463 --------------- dev-vcs/git/git-2.48.1.ebuild | 475 +++++++++++++++ dev-vcs/git/git-9999-r1.ebuild | 14 + dev-vcs/git/git-9999-r2.ebuild | 12 + dev-vcs/git/git-9999-r3.ebuild | 12 + dev-vcs/git/git-9999.ebuild | 342 +++-------- dev-vcs/subversion/Manifest | 2 +- dev-vcs/subversion/subversion-1.14.5.ebuild | 2 +- 15 files changed, 1252 insertions(+), 2828 deletions(-) delete mode 100644 dev-vcs/git/files/git-2.48.0_rc2-meson-deps.patch delete mode 100644 dev-vcs/git/git-2.44.2.ebuild create mode 100644 dev-vcs/git/git-2.45.3.ebuild delete mode 100644 dev-vcs/git/git-2.46.2.ebuild delete mode 100644 dev-vcs/git/git-2.47.1.ebuild delete mode 100644 dev-vcs/git/git-2.48.0-r2.ebuild create mode 100644 dev-vcs/git/git-2.48.1.ebuild (limited to 'dev-vcs') diff --git a/dev-vcs/Manifest.gz b/dev-vcs/Manifest.gz index b879df8d64d4..bc4b766b9ef0 100644 Binary files a/dev-vcs/Manifest.gz and b/dev-vcs/Manifest.gz differ diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 56f89a73eb5b..cd975f44b3d2 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -3,34 +3,25 @@ AUX git-2.37.0_rc1-optional-cvs.patch 14373 BLAKE2B b835715468cff979fdefcc42aeb7 AUX git-2.37.2-unsafe-directory.patch 367 BLAKE2B 433c4b39777d1f24fbebb0b08dc09672c059c01bbd8930b3a235d66d2990dcc5e3f17e758ff7860ce3d37d778db1a8792fd847ad110fef730095e52430fb0c19 SHA512 f23b0c29977e33596daa4eab60fcc1f64522dac93f6baa39aea9c627740363073176aabf29fe680a9802be34d9c3948713e17ce798000895cec787ccb40f56a7 AUX git-2.46.2-unsafe-directory.patch 429 BLAKE2B 5e6be22e89250d434e0b62b27d90619a2d3379c2829dee9390d5e3413eb803a0547164e4e12c7f144812b394ee5238f9f1ee087f8c8f553766e473689ad2abda SHA512 8ad143cb0221c83d0c13606354e4c46f7169877a7d901cd1cd3f25e41efbc9ba57feaab626c6e1a19e9f52a084af629f9a2686eaaa76ec9e03569a1013087878 AUX git-2.48.0-doc-deps.patch 1431 BLAKE2B df7168b1098748ba0ae8e73f77b3dd3398478dd39aa4ed39f66568ef24a5c26c83132d7f4b5da23fe60c03a58be0126232d3bc7fdac61461bd8fc0d3d128e43c SHA512 bdee20f82d7b3ec8a91c1a62eda0f97d18ea28a7a1e48117b069fc49a039b00be900c3216fef1e71c3f588f490272fc8d5f0e6d1d116639abd8616d946c8315d -AUX git-2.48.0_rc2-meson-deps.patch 2866 BLAKE2B d08429ad04c2a96e2d20443548185a0331777eedf05a06d9cd591a6870612d396a871da39cff3ef8c7b6681fbc75df1fa4591c3bff51e795b2a30bc32da168ed SHA512 7b874520fe7937e34f4f74d2ecda98cc42c985f10c8542ed7f90fad0aad46b56bc294206adaffa3fac9bc07411f839bfd938c72cf485d7a53bd475491943582b AUX git-daemon-r2.initd 378 BLAKE2B 1e4e553f550ee1cb428bec21dbaeede12daa87ef89664bfed0ab7c1ec15d32cf738f7adde23db7f76e9a7a2aeadc132affa3c42709e2ed789745240f8f72096b SHA512 a78043543e540a814eb1d1c76fbde7fd5cbc9f6dbe7486bc21a0cbb24a613f7a8661acb5460df474a7a0c5284b61bc9e700fa384163db6fc423645f699cc119a AUX git-daemon.confd 710 BLAKE2B aee2e1493bb67c09b87497724df90cb74e9a5a7f123101ae96374145eb81076cc2018e73141aa9dc8c4e50b7f1087e8265f4bcd56d761c60375607268d470437 SHA512 fbf1f425206a76e2a8f82342537ed939ff7e623d644c086ca2ced5f69b36734695f9f80ebda1728f75a94d6cd2fcb71bf845b64239368caab418e4d368c141ec AUX git-daemon.socket 116 BLAKE2B 0fbf31de87810ac737adfab21acf87b0d95f62df5208fea3d79ebe010a4971b731ba1684852f3b926ecc7e23bcb9a386b2e612801701299c64d4c6390ed4befe SHA512 e383d358999ea0c7201c1709015a9b7c4dd9dd71287605640aca837fac1e2ee33a5a1684e1c3414c08742605f185b722f4864afd5be8b79a9f0d8f7ae0f9b701 AUX git-daemon.xinetd 260 BLAKE2B 594a046b5b2b580b7cfed1b620e014160965046c5e5a42359b6134af0a4c03a30a9464db5e19c6027645d9084550743e397af2d6566b7543a2b509e025aeb1e1 SHA512 5e0c85004e7e2b89fd191350022b9970a6ca03129b4c913e159570b99b5797ab924f667cd3dc5693a9d4916b7b5cf36814eda015dbdf46a1354eb50d1c081f9c AUX git-daemon_at-r1.service 340 BLAKE2B 879db8b274d8e1d2995a2ea1e4b1d66cac3d6979006fc24721db8b389395ac98a98444f032eaf7c66d6c02ab394a764e16a9cd3b5446b6be9061b9bdd89cf964 SHA512 073d8752dc224ff1130a5290e0f965a04b19f2a8dbd5d50172101099386ad3af0fd5e1abf57030960b750a2adf36a7ae69d18ddc990bab4e694486e65424cfa9 -DIST git-2.44.2.tar.xz 7435020 BLAKE2B 625071528e6575af86aa51d7d5baeaa9b1b8be0e9f2b13f9f1c948a6dc0e9e03e227462c6ed9e8b80c413f02840f4f6b5d73487e0722d30835233480ea93caf3 SHA512 4dc70065fb1f47678cbed0d055f7734fce5cc26eeb627bda928056a80253053b230200db4b2936319df5b5b577eaaa1186a8bb041a205ac600d691e5663117ed DIST git-2.45.2.tar.xz 7487680 BLAKE2B 477acc786c26e0b04843ad6d07333607b2274d587263d72c6d036cade725e6f62f8c773903f401c799de71527d0473589afc507eec02f445e0c148dd7cbf407c SHA512 dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73 -DIST git-2.46.2.tar.xz 7581344 BLAKE2B 1ea2a166bd2717d581020a9921cf7e82dc2c77e2a9bd6bc70f4b6396c214c74b30e8ae6815eba33bd2995f7a6e2570b96c51acbfce25ab85e05d5fdbd09d870c SHA512 d8d1cec9a4ddc7b1892b7f5b3c808d235bcd4bfb1714ce0ce0e721242acc94f9ae7c2ae3181311feb5b458b04e89cd32acd3e9c90adbc4e86e05e7d5589d8a00 -DIST git-2.47.1.tar.xz 7654244 BLAKE2B 5dd5d1bde226469d8de0952456dbaa408739f8613cfefdd76715e6a2bc1fdf8695740f005cc3b2caab876fccfbff0609201a827e0bd9837ec68056ba2a41da34 SHA512 6abe551c464b307bc3f6f474257e0be3e1a9eba1406af6463216b796c55a35356009c2f7bd9b4fa2d1798da5f885a3843f6ad8750ab69595f748f9ea8ed76fea -DIST git-2.48.0.tar.xz 7723336 BLAKE2B 63d0ac06aef75120ff2aab34b76039cc9e2606a4e69ee36fed868df7243318abac6550e03054bebc9b65a086c54a4f00d95affcc121fa690a3a580cb352ecbb3 SHA512 0b8b6633d65f20830577a073a78f13cedf4f43c8634d5d62918cddca9ca8b75519e6674307782e0eacb9e8e920a04014aa2a0f5cd2e75be06728e9160f794c9e -DIST git-htmldocs-2.44.2.tar.xz 1559412 BLAKE2B 9a62ab1d70b009a9bc29250c49ca835a46928703a73ec004ea57e7dc74212c5a29d7e0784cd752c8d2c1e23b70702e2c2f280904dfedefb3d4a687002a950596 SHA512 2a82e3c37aaca91643976d21fac3bd82b23fe2374856d73b0ba726339450ea6f8a5e8e38326546292f83923e28da280ca3bed549afff1aad684ebfb3926e4992 +DIST git-2.45.3.tar.xz 7492256 BLAKE2B 51c08789487070c33ff7c6c2135203010f12641eaf9908bf70724255e72bed24a7f0b7cc0b5c947081dad22041d0ee80c53971e5634510d35d797747338cd2d8 SHA512 b5b98bcc886f6a015b54193a9481092d4bfdc3689c479a8751e63529ce1dd1db226f2da38d26f25f54b81fe2c3c48d8edbe18af534fff65f6fcaa4c50923f93b +DIST git-2.48.1.tar.xz 7723580 BLAKE2B 092ed16fab3b3e56c81cb91db48e4db1f41b6d91d4855a7c73fb642f1fd0272823a92b8963644ef33517c61956bca89a95e4b4dc3e9237cb0520aa37c0770966 SHA512 75c89ab4ca83adc46989a4b05a9b482b40a7ba69d15aa1c1f27d0cee37c2908e154a75d59b0a0a540647352b9c55020f1a5ad309f0eff78e9fd8e631ef9e4606 DIST git-htmldocs-2.45.2.tar.xz 1569148 BLAKE2B 5013a13da54d87728f621a09d04dee1cba7b44d230360394b86e04269bf276399cf44de74ffc14a76ec1724e1015b630300d551b3a268273a768e0edc1a7fa45 SHA512 272bb31d8d43b270d5281c5d1beadea8e5a580c738ece2580d2c6ba7e7fe6fdbca71b672a2811273119495e62613f7a4d34764b4dfbc26e4dbf9dee5797fb440 -DIST git-htmldocs-2.46.2.tar.xz 1553104 BLAKE2B 9a7b784c1a01153dc660b4fe6eaa3ceac2d30eeb96015ab4ec73296811d27cc84715abd19f723ad16c64028114c2aceee2727380e7c9f8ff220ae4538dcc9c62 SHA512 51c5363ac48f04118071218ea095dae97676ac299a482511ef55e9267724f08e7c021ffa15418d9e32e676333ba31643c9049860f154f58a67d9604e141376c3 -DIST git-htmldocs-2.47.1.tar.xz 1564776 BLAKE2B ff8c313e00867423ddb122572e730868541ab22c76cb73aad54ee5dab298c4a8fdc29d50ebdceb658d7799132258dad9ffcaa582439a74463a8c212c3d82005c SHA512 7df2c572413d42f954c0ca01577f9324a60810dd712a8a36b0b503708d9795a90ffa95ee96b13c082796e276bcbc65094de32ade0f71ff744f6e45869cbbb4d7 -DIST git-htmldocs-2.48.0.tar.xz 1579956 BLAKE2B 012afa8f22ef59e0e96a2c72d04f634d5ac4266e5d0b7eb5e3b51815bbdc30299606eee2a57066b54025a2622ca6ac4e4945348aab10ba0967e52a8f84225ba6 SHA512 3d02d6d64ae174103d266f67e1e0b5251b4427e13ea0b802f1a29211d6134e2adea6aa211d8bf22180ccf29ff2c13e19309021d01acd1954a84bff622d343a27 -DIST git-manpages-2.44.2.tar.xz 574316 BLAKE2B ecfca8e05ca682097376ce6a1e8b9de8fcc36472860321987be12291a53d1a92befb950fd856775df65f28300b267b80975775cba046cfb89159887e8cba5516 SHA512 2ad6d922acf46028b3b7dd5a686c0396e5452e4d50b32ba9af0cc51cc3431003524b91279e2a795065a179af3d760ce72530580295ed09a53673274cf9567cc6 +DIST git-htmldocs-2.45.3.tar.xz 1527700 BLAKE2B 1baf8df995d6a31b550d91425c94ac63425eb4efc5a334dd5a312cf1c8da84e132c30dbbb192d9bcdfcabfa9f7b758ff2445ed8d634ad31723d3835bef2ca49c SHA512 4e8b16e77f7606c279e7793cbd6f8e18973213339f56a379dbf1fc074b7d1f032783bb956de0ebb58fad7e8954b7a75ab990b265f1858b32321e7c33de414601 +DIST git-htmldocs-2.48.1.tar.xz 1580120 BLAKE2B 4d57fc0ab8256d4cf5984696485610329f63bccce8ad6bcda20bca9abbaac0725dfac0aef385a62371c2c8e7d26e86c62e0de36321f40a3da667fa2b92e43ef4 SHA512 703f237c129d3d54cea9104dc1d47ad8881400a1c90e1a55153e63912c8e7d03e1000fef5cd1962933e8a600d71e11f28a94214853047ac8e748dc53ba906ac5 DIST git-manpages-2.45.2.tar.xz 576428 BLAKE2B c89ebd25c0caf391fcd29cc8609252daf2cf742a8cc78ce5b64931befb126c951ebb7504bc8ccbee06b81727dc3e4ded67c69adf8d737f4df38dfda758e3c734 SHA512 d39a5c92c1cfcae145713b8ff1a84258947392a3cf1490e3f7d4f87836d05e79dc4fecbff16b7c1bc314572d6d32aa2c29e7fcde993b549b2fab71620734c19b -DIST git-manpages-2.46.2.tar.xz 584812 BLAKE2B dd5592a1fd61b6eda0afa4f9292ce86dd14bca6a88016f96c53617f6505f27cc9a2ba9437c6330bb8003b3f57cd1e75bf441bf2a2168554bbda9c26db37db4cb SHA512 ce7a2a1fbb9376182b8ce3ed772fbeeef2cf338bc06bf9bcf3c07a65419e41b3754d6851a44886d0b07dfd82f8eefe7b8b1d9f5c28ed6b6a0ea4168ed457e121 -DIST git-manpages-2.47.1.tar.xz 586432 BLAKE2B df4eafa03ba235202c361d16fd6db1c6b2a4fea5501f62dcd7b53e3764542a2b70ab44e1525d5f4437dad9505c507ba88aa14b1e8e828713b81cb66b6d9a73c2 SHA512 9acd5207e6c2751ec87708eedc4f060ee6bed0841564f787cd3fd5dbce712c4c2afbb9ce4e85a466fb52a8f399420ca24c7cd4eb8e14edb7ea7a5c06e3c82a5e -DIST git-manpages-2.48.0.tar.xz 590480 BLAKE2B 73e61821d48b524331d8b2bc56047065307cab7b2831cc869cc76d9e3b1da6bdbda8184e14f17cb7bf1efdb26f6dd87682e259b69b597c12fff00ee6a98377c9 SHA512 f9f5844b39361d379e66f68e327bd99693ae4c3f0bb3a85de4c1a36e665771f69afced98fb454d2f6574284c08e1043a75b0af7a774912a2b2ec958994fcc17d -EBUILD git-2.44.2.ebuild 16300 BLAKE2B 39fc9cdc25a8e9ff53081c6992c53889d9023ba83759c4765547ef3e60302eedc4737b72850fc671a1de10275a6863ec695c194710c5306623d1cc19018e8f92 SHA512 7d1bcbe7f005296e8ef09ba34e8ada5aa6e1c1b6857ddcb75905a17514e43d9110f44569f06be38fae129e2c6dccbdcf7a2c715a14be2f7066be03ddf504e426 +DIST git-manpages-2.45.3.tar.xz 576480 BLAKE2B 61eeccea65dcae72e0151459ad4a225d455fd6c57dc55394aa2e5e8f3179643f63eb64c8d75ac51ae467b8c277df2ac9777c55134efcc05805bef16019171b30 SHA512 c06b97a8f2c43c7a11355dea95e4766bc58978a70c30d5ee4af86e45dadd5be11d1ba30e1750535c067169af7b6497d2d03ae5cc1f36aff1b96a80a1f34dbc1c +DIST git-manpages-2.48.1.tar.xz 590608 BLAKE2B 54ff646cd1d5ce93e8e37eef4682e81a1c95f99903b2d760f70e51f2c9f02378f6de5464a5fcca24c08f8327ec114cdd1684eee07fd2512af7e9615c47104a99 SHA512 b086ac89e77b1af58beff26576fb5c3a1dfe8641315ab0b60819dcf0ba9e5be4173deaa77fa1f95d8594895a583ed629c469714b0a5e87fecd36e5be397ba8f5 EBUILD git-2.45.2.ebuild 16448 BLAKE2B eecc66b8793b6a99e40c28fea1ef68bbb25902981bf18a09d7e8f2e6c00a27133b3fc2318f9460acba64d341cf6ad8970d2e855e6c4baffc982ec8830db8d2f8 SHA512 47dd7ec8dbd7256bfcdcb810abd6d47aababde17e68343cf5941dd529232ca0ecd321c2d1aa23f17ce8bd501203d39ddfa1bf3e4bb63c84f9c06e5c76fff5179 -EBUILD git-2.46.2.ebuild 16800 BLAKE2B 6c37df1d123aae231ecbcf4c5bb93364c78f89c1a10d81a5954da536c8148c28696ad1d43d5cce04743eadc9cd1045e3acfccc11bd4f7acb97289395199c9dee SHA512 89d20136a0f0d4d10b5a2a8eef067d631b708a7abdd887992d7553a2a5296abfa666c5be5499d19b02c94412a40aaa671b8c4bfc7b63b178a5e85867867877be -EBUILD git-2.47.1.ebuild 16915 BLAKE2B 730dda1235d73fe06861ac16587ee72669b620888ecc52e32ef5f1a77fde5af852f6f8a38374cdd4283e8fe3d1223bae1eae58f16c1e7117832c58c8589702a6 SHA512 09576e9f95be72705005762dcd41091d030acaadd2b56cc814b45fd471202790eaaeae05893b1d2eeb8d2362fdb24847764c2e8e5d8353b28b63a9442934e274 -EBUILD git-2.48.0-r2.ebuild 11658 BLAKE2B 47b5b82450ac04948ade8a3ba9a331f31428feaa65eb677a6b5f218f183d0c506f31807a7d8a2073c96c2b8a01f523efc9baffa82099bf44f9171767e176272f SHA512 5d3dcdc1536afb003154d39f587a1ca779a0d944e647b1115f137d8a715c122f9095f227220a1c4d5ddc23e1fe70bc154a63ba0d2e4c4d5b45a989f757b4fcc1 -EBUILD git-9999-r1.ebuild 11589 BLAKE2B 0669d3094afd73599464b50dd420b482bcd5b9b8862757e486f03e2f76a8da570978031159ad999bc7d71f5c62bb3680a01b61f4bd2dc8866ae914ab4330110f SHA512 e39146f1a0940b7b2ae5f8068d4b18be80a1f12a9727736e1c5908aaac3a120edf69927281f4b53b6f1e887f9fd595554f964b35f265b04e01380484959e9e4e -EBUILD git-9999-r2.ebuild 11658 BLAKE2B 47b5b82450ac04948ade8a3ba9a331f31428feaa65eb677a6b5f218f183d0c506f31807a7d8a2073c96c2b8a01f523efc9baffa82099bf44f9171767e176272f SHA512 5d3dcdc1536afb003154d39f587a1ca779a0d944e647b1115f137d8a715c122f9095f227220a1c4d5ddc23e1fe70bc154a63ba0d2e4c4d5b45a989f757b4fcc1 -EBUILD git-9999-r3.ebuild 11658 BLAKE2B 47b5b82450ac04948ade8a3ba9a331f31428feaa65eb677a6b5f218f183d0c506f31807a7d8a2073c96c2b8a01f523efc9baffa82099bf44f9171767e176272f SHA512 5d3dcdc1536afb003154d39f587a1ca779a0d944e647b1115f137d8a715c122f9095f227220a1c4d5ddc23e1fe70bc154a63ba0d2e4c4d5b45a989f757b4fcc1 -EBUILD git-9999.ebuild 16800 BLAKE2B 6c37df1d123aae231ecbcf4c5bb93364c78f89c1a10d81a5954da536c8148c28696ad1d43d5cce04743eadc9cd1045e3acfccc11bd4f7acb97289395199c9dee SHA512 89d20136a0f0d4d10b5a2a8eef067d631b708a7abdd887992d7553a2a5296abfa666c5be5499d19b02c94412a40aaa671b8c4bfc7b63b178a5e85867867877be +EBUILD git-2.45.3.ebuild 16450 BLAKE2B f306ea9240a0b1479f3849b3a18b432671b9470f4ad7b73778ca374daf689a6d82a3b956680f9aa0e5fd68d06085ab9e2737a908d150d1a5b3738067d1f03a78 SHA512 182ccd4d79ccdfd51bbbd7a548a572fc89f5a02d55955018df71d45471da20f12ce46eece03fdebd4da7235384585279befe9b3b4dee77fe2986961dc7bf8826 +EBUILD git-2.48.1.ebuild 11872 BLAKE2B 92a624df4df88a3643f8195d05e22cfbef5a06b65f9585b1f5321fb4445aaafbfbfa0671aa618ebe7c05ded4c2d494e876e87cc4f49c6b60118ce5b66e2cc711 SHA512 75275bb877781c96fbccf0c590d3001104137ee4683de16a6f5e8447e73adbaa867ae50bd70fe73e9ac28eaf83992abb03a3d7472ee59d5a4c536df2d86a2f06 +EBUILD git-9999-r1.ebuild 11872 BLAKE2B 92a624df4df88a3643f8195d05e22cfbef5a06b65f9585b1f5321fb4445aaafbfbfa0671aa618ebe7c05ded4c2d494e876e87cc4f49c6b60118ce5b66e2cc711 SHA512 75275bb877781c96fbccf0c590d3001104137ee4683de16a6f5e8447e73adbaa867ae50bd70fe73e9ac28eaf83992abb03a3d7472ee59d5a4c536df2d86a2f06 +EBUILD git-9999-r2.ebuild 11872 BLAKE2B 92a624df4df88a3643f8195d05e22cfbef5a06b65f9585b1f5321fb4445aaafbfbfa0671aa618ebe7c05ded4c2d494e876e87cc4f49c6b60118ce5b66e2cc711 SHA512 75275bb877781c96fbccf0c590d3001104137ee4683de16a6f5e8447e73adbaa867ae50bd70fe73e9ac28eaf83992abb03a3d7472ee59d5a4c536df2d86a2f06 +EBUILD git-9999-r3.ebuild 11872 BLAKE2B 92a624df4df88a3643f8195d05e22cfbef5a06b65f9585b1f5321fb4445aaafbfbfa0671aa618ebe7c05ded4c2d494e876e87cc4f49c6b60118ce5b66e2cc711 SHA512 75275bb877781c96fbccf0c590d3001104137ee4683de16a6f5e8447e73adbaa867ae50bd70fe73e9ac28eaf83992abb03a3d7472ee59d5a4c536df2d86a2f06 +EBUILD git-9999.ebuild 11872 BLAKE2B 92a624df4df88a3643f8195d05e22cfbef5a06b65f9585b1f5321fb4445aaafbfbfa0671aa618ebe7c05ded4c2d494e876e87cc4f49c6b60118ce5b66e2cc711 SHA512 75275bb877781c96fbccf0c590d3001104137ee4683de16a6f5e8447e73adbaa867ae50bd70fe73e9ac28eaf83992abb03a3d7472ee59d5a4c536df2d86a2f06 MISC metadata.xml 2041 BLAKE2B 309964a6982f6f14cecc40b4021d96d2e28c49789480bc4037879375cb5277c2eb500ff36800657e783c36f541265db20b464fc39ce2ac39ff4cda881854662f SHA512 a8dd2f76985690cded8555a0b82e5004b4d93ccc45988fdc04ef8ed3e17ef73d2b83dc9fb6b913e5f9d2b78ebe715e9eb32bfce607318d0e8c0834987eabe5b6 diff --git a/dev-vcs/git/files/git-2.48.0_rc2-meson-deps.patch b/dev-vcs/git/files/git-2.48.0_rc2-meson-deps.patch deleted file mode 100644 index 533a8b10803c..000000000000 --- a/dev-vcs/git/files/git-2.48.0_rc2-meson-deps.patch +++ /dev/null @@ -1,91 +0,0 @@ -https://lore.kernel.org/git/371571630df201b0b0c680f6437decc6c60ecd3b.1736307757.git.sam@gentoo.org/ - -From 371571630df201b0b0c680f6437decc6c60ecd3b Mon Sep 17 00:00:00 2001 -Message-ID: <371571630df201b0b0c680f6437decc6c60ecd3b.1736307813.git.sam@gentoo.org> -From: Sam James -Date: Wed, 8 Jan 2025 03:40:55 +0000 -Subject: [PATCH] meson: fix perl dependencies - -`generate_perl_command` needs `depends: [git_version_file]` and the uses -in top-level meson.build were fine, but the ones in perl/ weren't, causing -parallel build failures in some cases as GIT-BUILD-OPTIONS wasn't yet -available. - -Signed-off-by: Sam James ---- a/perl/FromCPAN/Mail/meson.build -+++ b/perl/FromCPAN/Mail/meson.build -@@ -4,4 +4,5 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/FromCPAN/Mail', -+ depends: [git_version_file], - ) ---- a/perl/FromCPAN/meson.build -+++ b/perl/FromCPAN/meson.build -@@ -4,6 +4,7 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/FromCPAN', -+ depends: [git_version_file], - ) - - subdir('Mail') ---- a/perl/Git/LoadCPAN/Mail/meson.build -+++ b/perl/Git/LoadCPAN/Mail/meson.build -@@ -4,4 +4,5 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN/Mail', -+ depends: [git_version_file], - ) ---- a/perl/Git/LoadCPAN/meson.build -+++ b/perl/Git/LoadCPAN/meson.build -@@ -4,6 +4,7 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN', -+ depends: [git_version_file], - ) - - subdir('Mail') ---- a/perl/Git/SVN/Memoize/meson.build -+++ b/perl/Git/SVN/Memoize/meson.build -@@ -4,4 +4,5 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/Git/SVN', -+ depends: [git_version_file], - ) ---- a/perl/Git/SVN/meson.build -+++ b/perl/Git/SVN/meson.build -@@ -14,6 +14,7 @@ foreach source : [ - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/Git/SVN', -+ depends: [git_version_file], - ) - endforeach - ---- a/perl/Git/meson.build -+++ b/perl/Git/meson.build -@@ -11,6 +11,7 @@ foreach source : [ - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5/Git', -+ depends: [git_version_file], - ) - endforeach - ---- a/perl/meson.build -+++ b/perl/meson.build -@@ -4,6 +4,7 @@ test_dependencies += custom_target( - command: generate_perl_command, - install: true, - install_dir: get_option('datadir') / 'perl5', -+ depends: [git_version_file], - ) - - subdir('Git') --- -2.48.0.rc2.29.g7bab57bd98 - diff --git a/dev-vcs/git/git-2.44.2.ebuild b/dev-vcs/git/git-2.44.2.ebuild deleted file mode 100644 index 11889906c180..000000000000 --- a/dev-vcs/git/git-2.44.2.ebuild +++ /dev/null @@ -1,647 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GENTOO_DEPEND_ON_PERL=no - -# bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python3_{10..12} ) - -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd - -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" - - inherit git-r3 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. - # See https://git-scm.com/docs/gitworkflows#_graduation - # In order of stability: - # 9999-r0: maint - # 9999-r1: master - # 9999-r2: next - # 9999-r3: seen - case ${PVR} in - 9999) EGIT_BRANCH=maint ;; - 9999-r1) EGIT_BRANCH=master ;; - 9999-r2) EGIT_BRANCH=next;; - 9999-r3) EGIT_BRANCH=seen ;; - esac -fi - -MY_PV="${PV/_rc/.rc}" -MY_P="${PN}-${MY_PV}" - -DOC_VER="${MY_PV}" - -DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" -HOMEPAGE="https://www.git-scm.com/" - -if [[ ${PV} != *9999 ]]; then - SRC_URI_SUFFIX="xz" - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" - - [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' - - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" - - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi -fi - -S="${WORKDIR}"/${MY_P} - -LICENSE="GPL-2" -SLOT="0" -IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" - -# Common to both DEPEND and RDEPEND -DEPEND=" - dev-libs/openssl:= - sys-libs/zlib - curl? ( - net-misc/curl - webdav? ( dev-libs/expat ) - ) - keyring? ( - app-crypt/libsecret - dev-libs/glib:2 - ) - iconv? ( virtual/libiconv ) - pcre? ( dev-libs/libpcre2:= ) - perl? ( dev-lang/perl:=[-build(-)] ) - tk? ( dev-lang/tk:= ) -" -RDEPEND=" - ${DEPEND} - gpg? ( app-crypt/gnupg ) - perl? ( - dev-perl/Error - dev-perl/MailTools - dev-perl/Authen-SASL - >=virtual/perl-libnet-3.110.0-r4[ssl] - cgi? ( - dev-perl/CGI - highlight? ( app-text/highlight ) - ) - cvs? ( - >=dev-vcs/cvsps-2.1:0 - dev-perl/DBI - dev-perl/DBD-SQLite - ) - mediawiki? ( - dev-perl/DateTime-Format-ISO8601 - dev-perl/HTML-Tree - dev-perl/MediaWiki-API - ) - subversion? ( - dev-vcs/subversion[-dso(-),perl] - dev-perl/libwww-perl - dev-perl/TermReadKey - ) - ) - perforce? ( ${PYTHON_DEPS} ) - selinux? ( sec-policy/selinux-git ) -" - -# This is how info docs are created with Git: -# .txt/asciidoc --(asciidoc)---------> .xml/docbook -# .xml/docbook --(docbook2texi.pl)--> .texi -# .texi --(makeinfo)---------> .info -BDEPEND=" - doc? ( - app-text/asciidoc - app-text/docbook2X - app-text/xmlto - sys-apps/texinfo - ) - keyring? ( virtual/pkgconfig ) - nls? ( sys-devel/gettext ) - test? ( app-crypt/gnupg ) -" - -# Live ebuild builds man pages and HTML docs, additionally -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" app-text/asciidoc" -fi - -SITEFILE="50${PN}-gentoo.el" - -REQUIRED_USE=" - cgi? ( perl ) - cvs? ( perl ) - mediawiki? ( perl ) - perforce? ( ${PYTHON_REQUIRED_USE} ) - subversion? ( perl ) - webdav? ( curl ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - # Avoid automagic CVS, bug #350330 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch - - # Make submodule output quiet - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch -) - -pkg_setup() { - if use subversion && has_version "dev-vcs/subversion[dso]" ; then - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" - ewarn "with USE=dso, there may be weird crashes in git-svn. You" - ewarn "have been warned!" - fi - - if use perforce ; then - python-single-r1_pkg_setup - fi -} - -# This is needed because for some obscure reasons future calls to make don't -# pick up these exports if we export them in src_unpack() -exportmakeopts() { - local extlibs myopts - - myopts=( - ASCIIDOC_NO_ROFF=YesPlease - - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - - $(usev elibc_musl NO_REGEX=NeedsStartEnd) - $(usev !cvs NO_CVS=YesPlease) - $(usev !iconv NO_ICONV=YesPlease) - $(usev !nls NO_GETTEXT=YesPlease) - $(usev !perforce NO_PYTHON=YesPlease) - $(usev !subversion NO_SVN_TESTS=YesPlease) - $(usev !tk NO_TCLTK=YesPlease) - ) - - if use blksha1 ; then - myopts+=( BLK_SHA1=YesPlease ) - fi - - if use curl ; then - use webdav || myopts+=( NO_EXPAT=YesPlease ) - else - myopts+=( NO_CURL=YesPlease ) - fi - - # Broken assumptions because of static build system - myopts+=( - NO_FINK=YesPlease - NO_DARWIN_PORTS=YesPlease - INSTALL=install - TAR=tar - SHELL_PATH="${EPREFIX}/bin/sh" - SANE_TOOL_PATH= - OLD_ICONV= - NO_EXTERNAL_GREP= - ) - - # Can't define this to null, since the entire makefile depends on it - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die - - if use pcre; then - myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=( -lpcre2-8 ) - fi - - if [[ ${CHOST} == *-solaris* ]]; then - myopts+=( - NEEDS_LIBICONV=YesPlease - HAVE_CLOCK_MONOTONIC=1 - ) - - if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then - myopts+=( HAVE_GETDELIM=1 ) - fi - fi - - myopts+=( ASCIIDOC8=YesPlease ) - - export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs[@]}" -} - -src_unpack() { - if [[ ${PV} != *9999 ]] ; then - unpack ${MY_P}.tar.${SRC_URI_SUFFIX} - - cd "${S}" || die - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} - - if use doc ; then - pushd "${S}"/Documentation &>/dev/null || die - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} - popd &>/dev/null || die - fi - else - git-r3_src_unpack - #cp "${FILESDIR}"/GIT-VERSION-GEN . || die - fi - -} - -src_prepare() { - if ! use safe-directory ; then - # This patch neuters the "safe directory" detection. - # bugs #838271, #838223 - PATCHES+=( - "${FILESDIR}"/git-2.37.2-unsafe-directory.patch - ) - fi - - default - - if use prefix ; then - # bug #757309 - sed -i \ - -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ - -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ - config.mak.uname || die - fi - - sed -i \ - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - Makefile || die - - # Fix docbook2texi command - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ - Documentation/Makefile || die -} - -git_emake() { - # bug #320647: PYTHON_PATH - local PYTHON_PATH="" - use perforce && PYTHON_PATH="${PYTHON}" - - local mymakeargs=( - ${MY_MAKEOPTS} - - prefix="${EPREFIX}"/usr - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html - perllibdir="$(use perl && perl_get_raw_vendorlib)" - sysconfdir="${EPREFIX}"/etc - - CC="$(tc-getCC)" - CFLAGS="${CFLAGS}" - PKG_CONFIG="$(tc-getPKG_CONFIG)" - - # TODO: --verbose? - GIT_TEST_OPTS="--no-color" - - OPTAR="$(tc-getAR)" - OPTCC="$(tc-getCC)" - OPTCFLAGS="${CFLAGS}" - OPTLDFLAGS="${LDFLAGS}" - - PERL_PATH="${EPREFIX}/usr/bin/perl" - PERL_MM_OPT="" - - PYTHON_PATH="${PYTHON_PATH}" - - V=1 - "$@" - ) - - emake "${mymakeargs[@]}" -} - -src_configure() { - exportmakeopts -} - -src_compile() { - git_emake - - if use perl && use cgi ; then - git_emake gitweb - fi - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - git_emake -C contrib/credential/osxkeychain - fi - - pushd Documentation &>/dev/null || die - if [[ ${PV} == *9999 ]] ; then - git_emake man - if use doc ; then - git_emake info html - fi - else - if use doc ; then - git_emake info - fi - fi - popd &>/dev/null || die - - if use keyring ; then - git_emake -C contrib/credential/libsecret - fi - - pushd contrib/subtree &>/dev/null || die - git_emake git-subtree - # git-subtree.1 requires the full USE=doc dependency stack - use doc && git_emake git-subtree.html git-subtree.1 - popd &>/dev/null || die - - git_emake -C contrib/diff-highlight - - if use mediawiki ; then - git_emake -C contrib/mw-to-git - fi -} - -src_test() { - local disabled=( - # We make safe-directory optional - t0033-safe-directory.sh - ) - - local tests_cvs=( - t9200-git-cvsexportcommit.sh - t9400-git-cvsserver-server.sh - t9401-git-cvsserver-crlf.sh - t9402-git-cvsserver-refs.sh - t9600-cvsimport.sh - t9601-cvsimport-vendor-branch.sh - t9602-cvsimport-branches-tags.sh - t9603-cvsimport-patchsets.sh - t9604-cvsimport-timestamps.sh - ) - - local tests_perl=( - t3701-add-interactive.sh - t5502-quickfetch.sh - t5512-ls-remote.sh - t5520-pull.sh - t7106-reset-unborn-branch.sh - t7501-commit.sh - ) - # Bug #225601 - t0004 is not suitable for root perm - # Bug #219839 - t1004 is not suitable for root perm - # t0001-init.sh - check for init notices EPERM* fails - local tests_nonroot=( - t0001-init.sh - t0004-unwritable.sh - t0070-fundamental.sh - t1004-read-tree-m-u-wf.sh - t3700-add.sh - t7300-clean.sh - ) - # t9100 still fails with symlinks in SVN 1.7 - local test_svn=( t9100-git-svn-basic.sh ) - - # Unzip is used only for the testcase code, not by any normal parts of Git. - if ! has_version app-arch/unzip ; then - einfo "Disabling tar-tree tests" - disabled+=( t5000-tar-tree.sh ) - fi - - local cvs=0 - use cvs && let cvs=${cvs}+1 - if [[ ${EUID} -eq 0 ]] ; then - if [[ ${cvs} -eq 1 ]] ; then - ewarn "Skipping CVS tests because CVS does not work as root!" - ewarn "You should retest with FEATURES=userpriv!" - disabled+=( ${tests_cvs[@]} ) - fi - einfo "Skipping other tests that require being non-root" - disabled+=( ${tests_nonroot[@]} ) - else - if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -lt 3 ]] ; then - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" - disabled+=( ${tests_cvs[@]} ) - fi - fi - - if ! use perl ; then - einfo "Disabling tests that need Perl" - disabled+=( ${tests_perl[@]} ) - fi - - einfo "Disabling tests that fail with SVN 1.7" - disabled+=( ${test_svn[@]} ) - - # Reset all previously disabled tests - pushd t &>/dev/null || die - local i - for i in *.sh.DISABLED ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" - done - einfo "Disabled tests:" - for i in ${disabled[@]} ; do - if [[ -f "${i}" ]] ; then - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" - fi - done - - # Avoid the test system removing the results because we want them ourselves - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die - - # Clean old results first, must always run - nonfatal git_emake clean - popd &>/dev/null || die - - # Now run the tests, keep going if we hit an error, and don't terminate on - # failure - local rc - 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!" -} - -src_install() { - git_emake DESTDIR="${D}" install - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - dobin contrib/credential/osxkeychain/git-credential-osxkeychain - fi - - # Depending on the tarball and manual rebuild of the documentation, the - # manpages may exist in either OR both of these directories. - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} - use doc && dodir /usr/share/doc/${PF}/html - local d - for d in / /howto/ /technical/ ; do - docinto ${d} - dodoc Documentation${d}*.txt - if use doc ; then - docinto ${d}/html - dodoc Documentation${d}*.html - fi - done - docinto / - # Upstream does not ship this pre-built :-( - use doc && doinfo Documentation/{git,gitman}.info - - newbashcomp contrib/completion/git-completion.bash ${PN} - bashcomp_alias git gitk - # Not really a bash-completion file (bug #477920) - # but still needed uncompressed (bug #507480) - insinto /usr/share/${PN} - doins contrib/completion/git-prompt.sh - - #dobin contrib/fast-import/git-p4 # Moved upstream - #dodoc contrib/fast-import/git-p4.txt # Moved upstream - newbin contrib/fast-import/import-tars.perl import-tars - exeinto /usr/libexec/git-core/ - newexe contrib/git-resurrect.sh git-resurrect - - # git-subtree - pushd contrib/subtree &>/dev/null || die - git_emake DESTDIR="${D}" install - if use doc ; then - # Do not move git subtree install-man outside USE=doc! - git_emake DESTDIR="${D}" install-man install-html - fi - newdoc README README.git-subtree - dodoc git-subtree.txt - popd &>/dev/null || die - - if use mediawiki ; then - git_emake -C contrib/mw-to-git DESTDIR="${D}" install - fi - - # diff-highlight - dobin contrib/diff-highlight/diff-highlight - newdoc contrib/diff-highlight/README README.diff-highlight - - # git-jump - exeinto /usr/libexec/git-core/ - doexe contrib/git-jump/git-jump - newdoc contrib/git-jump/README git-jump.txt - - # git-contacts - exeinto /usr/libexec/git-core/ - doexe contrib/contacts/git-contacts - dodoc contrib/contacts/git-contacts.txt - - if use keyring ; then - pushd contrib/credential/libsecret &>/dev/null || die - dobin git-credential-libsecret - popd &>/dev/null || die - fi - - dodir /usr/share/${PN}/contrib - # The following are excluded: - # completion - installed above - # diff-highlight - done above - # emacs - removed upstream - # examples - these are stuff that is not used in Git anymore actually - # git-jump - done above - # gitview - installed above - # p4import - excluded because fast-import has a better one - # patches - stuff the Git guys made to go upstream to other places - # persistent-https - TODO - # mw-to-git - TODO - # subtree - build seperately - # svnimport - use git-svn - # thunderbird-patch-inline - fixes thunderbird - local contrib_objects=( - buildsystems - fast-import - hg-to-git - hooks - remotes2config.sh - rerere-train.sh - stats - workdir - ) - local i - for i in "${contrib_objects[@]}" ; do - cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" - done - - if use perl && use cgi ; then - # We used to install in /usr/share/${PN}/gitweb - # but upstream installs in /usr/share/gitweb - # so we will install a symlink and use their location for compat with other - # distros - dosym ../gitweb /usr/share/${PN}/gitweb - - # INSTALL discusses configuration issues, not just installation - docinto / - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb - newdoc "${S}"/gitweb/README README.gitweb - - for d in "${ED}"/usr/lib{,64}/perl5/ ; do - if [[ -d "${d}" ]] ; then - find "${d}" -name .packlist -delete || die - fi - done - else - rm -rf "${ED}"/usr/share/gitweb - fi - - if ! use subversion ; then - rm -f "${ED}"/usr/libexec/git-core/git-svn \ - "${ED}"/usr/share/man/man1/git-svn.1* - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}"/git-daemon.xinetd git-daemon - fi - - if ! use prefix ; then - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon - newconfd "${FILESDIR}"/git-daemon.confd git-daemon - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" - systemd_dounit "${FILESDIR}/git-daemon.socket" - fi - - perl_delete_localpod - - # Remove disabled linguas - # we could remove sources in src_prepare, but install does not - # handle missing locale dir well - rm_loc() { - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then - rm -r "${ED}/usr/share/locale/${1}" || die - fi - } - plocale_for_each_disabled_locale rm_loc -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "Please read /usr/share/bash-completion/completions/git for Git bash command" - elog "completion." - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" - elog "Note that the prompt bash code is now in that separate script" - fi - - optfeature_header "Some scripts require additional dependencies:" - optfeature git-quiltimport dev-util/quilt - optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx -} diff --git a/dev-vcs/git/git-2.45.3.ebuild b/dev-vcs/git/git-2.45.3.ebuild new file mode 100644 index 000000000000..505466c9bdc8 --- /dev/null +++ b/dev-vcs/git/git-2.45.3.ebuild @@ -0,0 +1,650 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python3_{10..13} ) + +inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd + +PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" + + inherit git-r3 + # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. + # See https://git-scm.com/docs/gitworkflows#_graduation + # In order of stability: + # 9999-r0: maint + # 9999-r1: master + # 9999-r2: next + # 9999-r3: seen + case ${PVR} in + 9999) EGIT_BRANCH=maint ;; + 9999-r1) EGIT_BRANCH=master ;; + 9999-r2) EGIT_BRANCH=next;; + 9999-r3) EGIT_BRANCH=seen ;; + esac +fi + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER="${MY_PV}" + +DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" +HOMEPAGE="https://www.git-scm.com/" + +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" + + [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' + + SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + sys-libs/zlib + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + iconv? ( virtual/libiconv ) + pcre? ( dev-libs/libpcre2:= ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:= ) +" +RDEPEND=" + ${DEPEND} + gpg? ( app-crypt/gnupg ) + perl? ( + dev-perl/Error + dev-perl/MailTools + dev-perl/Authen-SASL + >=virtual/perl-libnet-3.110.0-r4[ssl] + cgi? ( + dev-perl/CGI + highlight? ( app-text/highlight ) + ) + cvs? ( + >=dev-vcs/cvsps-2.1:0 + dev-perl/DBI + dev-perl/DBD-SQLite + ) + mediawiki? ( + dev-perl/DateTime-Format-ISO8601 + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + subversion? ( + dev-vcs/subversion[-dso(-),perl] + dev-perl/libwww-perl + dev-perl/TermReadKey + ) + ) + perforce? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-git ) +" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +BDEPEND=" + doc? ( + app-text/asciidoc + app-text/docbook2X + app-text/xmlto + sys-apps/texinfo + ) + keyring? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( app-crypt/gnupg ) +" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + BDEPEND+=" app-text/asciidoc" +fi + +SITEFILE="50${PN}-gentoo.el" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + perforce? ( ${PYTHON_REQUIRED_USE} ) + subversion? ( perl ) + webdav? ( curl ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + # Avoid automagic CVS, bug #350330 + "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch + + # Make submodule output quiet + "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch +) + +pkg_setup() { + if use subversion && has_version "dev-vcs/subversion[dso]" ; then + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" + ewarn "with USE=dso, there may be weird crashes in git-svn. You" + ewarn "have been warned!" + fi + + if use perforce ; then + python-single-r1_pkg_setup + fi +} + +# This is needed because for some obscure reasons future calls to make don't +# pick up these exports if we export them in src_unpack() +exportmakeopts() { + local extlibs myopts + + myopts=( + ASCIIDOC_NO_ROFF=YesPlease + + $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) + + $(usev elibc_musl NO_REGEX=NeedsStartEnd) + $(usev !cvs NO_CVS=YesPlease) + $(usev !iconv NO_ICONV=YesPlease) + $(usev !nls NO_GETTEXT=YesPlease) + $(usev !perforce NO_PYTHON=YesPlease) + $(usev !subversion NO_SVN_TESTS=YesPlease) + $(usev !tk NO_TCLTK=YesPlease) + ) + + if use blksha1 ; then + myopts+=( BLK_SHA1=YesPlease ) + fi + + if use curl ; then + use webdav || myopts+=( NO_EXPAT=YesPlease ) + else + myopts+=( NO_CURL=YesPlease ) + fi + + # Broken assumptions because of static build system + myopts+=( + NO_FINK=YesPlease + NO_DARWIN_PORTS=YesPlease + INSTALL=install + TAR=tar + SHELL_PATH="${EPREFIX}/bin/sh" + SANE_TOOL_PATH= + OLD_ICONV= + NO_EXTERNAL_GREP= + ) + + # Can't define this to null, since the entire makefile depends on it + sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die + + if use pcre; then + myopts+=( USE_LIBPCRE2=YesPlease ) + extlibs+=( -lpcre2-8 ) + fi + + if [[ ${CHOST} == *-solaris* ]]; then + myopts+=( + NEEDS_LIBICONV=YesPlease + HAVE_CLOCK_MONOTONIC=1 + ) + + if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then + myopts+=( HAVE_GETDELIM=1 ) + fi + fi + + myopts+=( ASCIIDOC8=YesPlease ) + + export MY_MAKEOPTS="${myopts[@]}" + export EXTLIBS="${extlibs[@]}" +} + +src_unpack() { + if [[ ${PV} != *9999 ]] ; then + unpack ${MY_P}.tar.${SRC_URI_SUFFIX} + + cd "${S}" || die + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + + if use doc ; then + pushd "${S}"/Documentation &>/dev/null || die + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + popd &>/dev/null || die + fi + else + git-r3_src_unpack + #cp "${FILESDIR}"/GIT-VERSION-GEN . || die + fi + +} + +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.37.2-unsafe-directory.patch + ) + fi + + default + + if use prefix ; then + # bug #757309 + sed -i \ + -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ + -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ + config.mak.uname || die + fi + + sed -i \ + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + Makefile || die + + # Fix docbook2texi command + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ + Documentation/Makefile || die +} + +git_emake() { + # bug #320647: PYTHON_PATH + local PYTHON_PATH="" + use perforce && PYTHON_PATH="${PYTHON}" + + local mymakeargs=( + ${MY_MAKEOPTS} + + prefix="${EPREFIX}"/usr + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html + perllibdir="$(use perl && perl_get_raw_vendorlib)" + sysconfdir="${EPREFIX}"/etc + + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + + # TODO: --verbose? + GIT_TEST_OPTS="--no-color" + + OPTAR="$(tc-getAR)" + OPTCC="$(tc-getCC)" + OPTCFLAGS="${CFLAGS}" + OPTLDFLAGS="${LDFLAGS}" + + CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config" + CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)" + CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)" + + PERL_PATH="${EPREFIX}/usr/bin/perl" + PERL_MM_OPT="" + + PYTHON_PATH="${PYTHON_PATH}" + + V=1 + "$@" + ) + + emake "${mymakeargs[@]}" +} + +src_configure() { + exportmakeopts +} + +src_compile() { + git_emake + + if use perl && use cgi ; then + git_emake gitweb + fi + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + git_emake -C contrib/credential/osxkeychain + fi + + pushd Documentation &>/dev/null || die + if [[ ${PV} == *9999 ]] ; then + git_emake man + if use doc ; then + git_emake info html + fi + else + if use doc ; then + git_emake info + fi + fi + popd &>/dev/null || die + + if use keyring ; then + git_emake -C contrib/credential/libsecret + fi + + pushd contrib/subtree &>/dev/null || die + git_emake git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake git-subtree.html git-subtree.1 + popd &>/dev/null || die + + git_emake -C contrib/diff-highlight + + if use mediawiki ; then + git_emake -C contrib/mw-to-git + fi +} + +src_test() { + local disabled=( + # We make safe-directory optional + t0033-safe-directory.sh + ) + + local tests_cvs=( + t9200-git-cvsexportcommit.sh + t9400-git-cvsserver-server.sh + t9401-git-cvsserver-crlf.sh + t9402-git-cvsserver-refs.sh + t9600-cvsimport.sh + t9601-cvsimport-vendor-branch.sh + t9602-cvsimport-branches-tags.sh + t9603-cvsimport-patchsets.sh + t9604-cvsimport-timestamps.sh + ) + + local tests_perl=( + t3701-add-interactive.sh + t5502-quickfetch.sh + t5512-ls-remote.sh + t5520-pull.sh + t7106-reset-unborn-branch.sh + t7501-commit.sh + ) + # Bug #225601 - t0004 is not suitable for root perm + # Bug #219839 - t1004 is not suitable for root perm + # t0001-init.sh - check for init notices EPERM* fails + local tests_nonroot=( + t0001-init.sh + t0004-unwritable.sh + t0070-fundamental.sh + t1004-read-tree-m-u-wf.sh + t3700-add.sh + t7300-clean.sh + ) + # t9100 still fails with symlinks in SVN 1.7 + local test_svn=( t9100-git-svn-basic.sh ) + + # Unzip is used only for the testcase code, not by any normal parts of Git. + if ! has_version app-arch/unzip ; then + einfo "Disabling tar-tree tests" + disabled+=( t5000-tar-tree.sh ) + fi + + local cvs=0 + use cvs && let cvs=${cvs}+1 + if [[ ${EUID} -eq 0 ]] ; then + if [[ ${cvs} -eq 1 ]] ; then + ewarn "Skipping CVS tests because CVS does not work as root!" + ewarn "You should retest with FEATURES=userpriv!" + disabled+=( ${tests_cvs[@]} ) + fi + einfo "Skipping other tests that require being non-root" + disabled+=( ${tests_nonroot[@]} ) + else + if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then + let cvs=${cvs}+1 + fi + + if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then + let cvs=${cvs}+1 + fi + + if [[ ${cvs} -lt 3 ]] ; then + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" + disabled+=( ${tests_cvs[@]} ) + fi + fi + + if ! use perl ; then + einfo "Disabling tests that need Perl" + disabled+=( ${tests_perl[@]} ) + fi + + einfo "Disabling tests that fail with SVN 1.7" + disabled+=( ${test_svn[@]} ) + + # Reset all previously disabled tests + pushd t &>/dev/null || die + local i + for i in *.sh.DISABLED ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" + done + einfo "Disabled tests:" + for i in ${disabled[@]} ; do + if [[ -f "${i}" ]] ; then + mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" + fi + done + + # Avoid the test system removing the results because we want them ourselves + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die + + # Clean old results first, must always run + nonfatal git_emake clean + popd &>/dev/null || die + + # Now run the tests, keep going if we hit an error, and don't terminate on + # failure + local rc + 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!" +} + +src_install() { + git_emake DESTDIR="${D}" install + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + dobin contrib/credential/osxkeychain/git-credential-osxkeychain + fi + + # Depending on the tarball and manual rebuild of the documentation, the + # manpages may exist in either OR both of these directories. + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] + dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} + use doc && dodir /usr/share/doc/${PF}/html + local d + for d in / /howto/ /technical/ ; do + docinto ${d} + dodoc Documentation${d}*.txt + if use doc ; then + docinto ${d}/html + dodoc Documentation${d}*.html + fi + done + docinto / + # Upstream does not ship this pre-built :-( + use doc && doinfo Documentation/{git,gitman}.info + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # git-subtree + pushd contrib/subtree &>/dev/null || die + git_emake DESTDIR="${D}" install + if use doc ; then + # Do not move git subtree install-man outside USE=doc! + git_emake DESTDIR="${D}" install-man install-html + fi + newdoc README README.git-subtree + dodoc git-subtree.txt + popd &>/dev/null || die + + if use mediawiki ; then + git_emake -C contrib/mw-to-git DESTDIR="${D}" install + fi + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + # git-contacts + exeinto /usr/libexec/git-core/ + doexe contrib/contacts/git-contacts + dodoc contrib/contacts/git-contacts.txt + + if use keyring ; then + pushd contrib/credential/libsecret &>/dev/null || die + dobin git-credential-libsecret + popd &>/dev/null || die + fi + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # diff-highlight - done above + # emacs - removed upstream + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - build seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + hooks + remotes2config.sh + rerere-train.sh + stats + workdir + ) + local i + for i in "${contrib_objects[@]}" ; do + cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" + done + + if use perl && use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym ../gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + for d in "${ED}"/usr/lib{,64}/perl5/ ; do + if [[ -d "${d}" ]] ; then + find "${d}" -name .packlist -delete || die + fi + done + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if ! use prefix ; then + newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + perl_delete_localpod + + # Remove disabled linguas + # we could remove sources in src_prepare, but install does not + # handle missing locale dir well + rm_loc() { + if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then + rm -r "${ED}/usr/share/locale/${1}" || die + fi + } + plocale_for_each_disabled_locale rm_loc +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Please read /usr/share/bash-completion/completions/git for Git bash command" + elog "completion." + elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + elog "Note that the prompt bash code is now in that separate script" + fi + + optfeature_header "Some scripts require additional dependencies:" + optfeature git-quiltimport dev-util/quilt + optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx +} diff --git a/dev-vcs/git/git-2.46.2.ebuild b/dev-vcs/git/git-2.46.2.ebuild deleted file mode 100644 index 17a8afd1ac8b..000000000000 --- a/dev-vcs/git/git-2.46.2.ebuild +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GENTOO_DEPEND_ON_PERL=no - -# bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python3_{10..13} ) - -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd - -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" - - inherit git-r3 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. - # See https://git-scm.com/docs/gitworkflows#_graduation - # In order of stability: - # 9999-r0: maint - # 9999-r1: master - # 9999-r2: next - # 9999-r3: seen - case ${PVR} in - 9999) EGIT_BRANCH=maint ;; - 9999-r1) EGIT_BRANCH=master ;; - 9999-r2) EGIT_BRANCH=next;; - 9999-r3) EGIT_BRANCH=seen ;; - esac -fi - -MY_PV="${PV/_rc/.rc}" -MY_P="${PN}-${MY_PV}" - -DOC_VER="${MY_PV}" - -DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" -HOMEPAGE="https://www.git-scm.com/" - -if [[ ${PV} != *9999 ]]; then - SRC_URI_SUFFIX="xz" - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" - - [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' - - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" - - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi -fi - -S="${WORKDIR}"/${MY_P} - -LICENSE="GPL-2" -SLOT="0" -IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" - -# Common to both DEPEND and RDEPEND -DEPEND=" - dev-libs/openssl:= - sys-libs/zlib - curl? ( - net-misc/curl - webdav? ( dev-libs/expat ) - ) - keyring? ( - app-crypt/libsecret - dev-libs/glib:2 - ) - iconv? ( virtual/libiconv ) - pcre? ( dev-libs/libpcre2:= ) - perl? ( dev-lang/perl:=[-build(-)] ) - tk? ( dev-lang/tk:= ) -" -RDEPEND=" - ${DEPEND} - gpg? ( app-crypt/gnupg ) - perl? ( - dev-perl/Error - dev-perl/MailTools - dev-perl/Authen-SASL - >=virtual/perl-libnet-3.110.0-r4[ssl] - cgi? ( - dev-perl/CGI - highlight? ( app-text/highlight ) - ) - cvs? ( - >=dev-vcs/cvsps-2.1:0 - dev-perl/DBI - dev-perl/DBD-SQLite - ) - mediawiki? ( - dev-perl/DateTime-Format-ISO8601 - dev-perl/HTML-Tree - dev-perl/MediaWiki-API - ) - subversion? ( - dev-vcs/subversion[-dso(-),perl] - dev-perl/libwww-perl - dev-perl/TermReadKey - ) - ) - perforce? ( ${PYTHON_DEPS} ) - selinux? ( sec-policy/selinux-git ) -" - -# This is how info docs are created with Git: -# .txt/asciidoc --(asciidoc)---------> .xml/docbook -# .xml/docbook --(docbook2texi.pl)--> .texi -# .texi --(makeinfo)---------> .info -BDEPEND=" - doc? ( - app-text/asciidoc - app-text/docbook2X - app-text/xmlto - sys-apps/texinfo - ) - keyring? ( virtual/pkgconfig ) - nls? ( sys-devel/gettext ) - test? ( app-crypt/gnupg ) -" - -# Live ebuild builds man pages and HTML docs, additionally -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" app-text/asciidoc" -fi - -SITEFILE="50${PN}-gentoo.el" - -REQUIRED_USE=" - cgi? ( perl ) - cvs? ( perl ) - mediawiki? ( perl ) - perforce? ( ${PYTHON_REQUIRED_USE} ) - subversion? ( perl ) - webdav? ( curl ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - # Avoid automagic CVS, bug #350330 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch - - # Make submodule output quiet - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch -) - -pkg_setup() { - if use subversion && has_version "dev-vcs/subversion[dso]" ; then - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" - ewarn "with USE=dso, there may be weird crashes in git-svn. You" - ewarn "have been warned!" - fi - - if use perforce ; then - python-single-r1_pkg_setup - fi -} - -# This is needed because for some obscure reasons future calls to make don't -# pick up these exports if we export them in src_unpack() -exportmakeopts() { - local extlibs myopts - - myopts=( - ASCIIDOC_NO_ROFF=YesPlease - - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - - $(usev elibc_musl NO_REGEX=NeedsStartEnd) - $(usev !cvs NO_CVS=YesPlease) - $(usev !iconv NO_ICONV=YesPlease) - $(usev !nls NO_GETTEXT=YesPlease) - $(usev !perforce NO_PYTHON=YesPlease) - $(usev !subversion NO_SVN_TESTS=YesPlease) - $(usev !tk NO_TCLTK=YesPlease) - ) - - if use blksha1 ; then - myopts+=( BLK_SHA1=YesPlease ) - fi - - if use curl ; then - use webdav || myopts+=( NO_EXPAT=YesPlease ) - else - myopts+=( NO_CURL=YesPlease ) - fi - - # Broken assumptions because of static build system - myopts+=( - NO_FINK=YesPlease - NO_DARWIN_PORTS=YesPlease - INSTALL=install - TAR=tar - SHELL_PATH="${EPREFIX}/bin/sh" - SANE_TOOL_PATH= - OLD_ICONV= - NO_EXTERNAL_GREP= - ) - - # Can't define this to null, since the entire makefile depends on it - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die - - if use pcre; then - myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=( -lpcre2-8 ) - fi - - if [[ ${CHOST} == *-solaris* ]]; then - myopts+=( - NEEDS_LIBICONV=YesPlease - HAVE_CLOCK_MONOTONIC=1 - ) - - if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then - myopts+=( HAVE_GETDELIM=1 ) - fi - fi - - myopts+=( ASCIIDOC8=YesPlease ) - - export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs[@]}" -} - -src_unpack() { - if [[ ${PV} != *9999 ]] ; then - unpack ${MY_P}.tar.${SRC_URI_SUFFIX} - - cd "${S}" || die - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} - - if use doc ; then - pushd "${S}"/Documentation &>/dev/null || die - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} - popd &>/dev/null || die - fi - else - git-r3_src_unpack - #cp "${FILESDIR}"/GIT-VERSION-GEN . || die - fi - -} - -src_prepare() { - if ! use safe-directory ; then - # This patch neuters the "safe directory" detection. - # bugs #838271, #838223 - PATCHES+=( - "${FILESDIR}"/git-2.46.2-unsafe-directory.patch - ) - fi - - default - - if use prefix ; then - # bug #757309 - sed -i \ - -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ - -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ - config.mak.uname || die - fi - - sed -i \ - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - Makefile || die - - # Fix docbook2texi command - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ - Documentation/Makefile || die -} - -git_emake() { - # bug #320647: PYTHON_PATH - local PYTHON_PATH="" - use perforce && PYTHON_PATH="${PYTHON}" - - local mymakeargs=( - ${MY_MAKEOPTS} - - prefix="${EPREFIX}"/usr - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html - perllibdir="$(use perl && perl_get_raw_vendorlib)" - sysconfdir="${EPREFIX}"/etc - - CC="$(tc-getCC)" - CFLAGS="${CFLAGS}" - PKG_CONFIG="$(tc-getPKG_CONFIG)" - - # TODO: --verbose? - GIT_TEST_OPTS="--no-color" - - OPTAR="$(tc-getAR)" - OPTCC="$(tc-getCC)" - OPTCFLAGS="${CFLAGS}" - OPTLDFLAGS="${LDFLAGS}" - - CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config" - CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)" - CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)" - - PERL_PATH="${EPREFIX}/usr/bin/perl" - PERL_MM_OPT="" - - PYTHON_PATH="${PYTHON_PATH}" - - V=1 - "$@" - ) - - emake "${mymakeargs[@]}" -} - -src_configure() { - exportmakeopts -} - -src_compile() { - git_emake - - if use perl && use cgi ; then - git_emake gitweb - fi - - if use perl ; then - git_emake -C contrib/credential/netrc - fi - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - git_emake -C contrib/credential/osxkeychain - fi - - pushd Documentation &>/dev/null || die - if [[ ${PV} == *9999 ]] ; then - git_emake man - if use doc ; then - git_emake info html - fi - else - if use doc ; then - git_emake info - fi - fi - popd &>/dev/null || die - - if use keyring ; then - git_emake -C contrib/credential/libsecret - fi - - pushd contrib/subtree &>/dev/null || die - git_emake git-subtree - # git-subtree.1 requires the full USE=doc dependency stack - use doc && git_emake git-subtree.html git-subtree.1 - popd &>/dev/null || die - - git_emake -C contrib/diff-highlight - - if use mediawiki ; then - git_emake -C contrib/mw-to-git - fi -} - -src_test() { - local disabled=( - # We make safe-directory optional - t0033-safe-directory.sh - ) - - local tests_cvs=( - t9200-git-cvsexportcommit.sh - t9400-git-cvsserver-server.sh - t9401-git-cvsserver-crlf.sh - t9402-git-cvsserver-refs.sh - t9600-cvsimport.sh - t9601-cvsimport-vendor-branch.sh - t9602-cvsimport-branches-tags.sh - t9603-cvsimport-patchsets.sh - t9604-cvsimport-timestamps.sh - ) - - local tests_perl=( - t3701-add-interactive.sh - t5502-quickfetch.sh - t5512-ls-remote.sh - t5520-pull.sh - t7106-reset-unborn-branch.sh - t7501-commit.sh - ) - # Bug #225601 - t0004 is not suitable for root perm - # Bug #219839 - t1004 is not suitable for root perm - # t0001-init.sh - check for init notices EPERM* fails - local tests_nonroot=( - t0001-init.sh - t0004-unwritable.sh - t0070-fundamental.sh - t1004-read-tree-m-u-wf.sh - t3700-add.sh - t7300-clean.sh - ) - # t9100 still fails with symlinks in SVN 1.7 - local test_svn=( t9100-git-svn-basic.sh ) - - # Unzip is used only for the testcase code, not by any normal parts of Git. - if ! has_version app-arch/unzip ; then - einfo "Disabling tar-tree tests" - disabled+=( t5000-tar-tree.sh ) - fi - - local cvs=0 - use cvs && let cvs=${cvs}+1 - if [[ ${EUID} -eq 0 ]] ; then - if [[ ${cvs} -eq 1 ]] ; then - ewarn "Skipping CVS tests because CVS does not work as root!" - ewarn "You should retest with FEATURES=userpriv!" - disabled+=( ${tests_cvs[@]} ) - fi - einfo "Skipping other tests that require being non-root" - disabled+=( ${tests_nonroot[@]} ) - else - if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -lt 3 ]] ; then - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" - disabled+=( ${tests_cvs[@]} ) - fi - fi - - if ! use perl ; then - einfo "Disabling tests that need Perl" - disabled+=( ${tests_perl[@]} ) - fi - - einfo "Disabling tests that fail with SVN 1.7" - disabled+=( ${test_svn[@]} ) - - # Reset all previously disabled tests - pushd t &>/dev/null || die - local i - for i in *.sh.DISABLED ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" - done - einfo "Disabled tests:" - for i in ${disabled[@]} ; do - if [[ -f "${i}" ]] ; then - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" - fi - done - - # Avoid the test system removing the results because we want them ourselves - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die - - # Clean old results first, must always run - nonfatal git_emake clean - popd &>/dev/null || die - - # Now run the tests, keep going if we hit an error, and don't terminate on - # failure - local rc - # t0610-reftable-basics.sh uses $A - local -x A= - einfo "Start test run" - #MAKEOPTS=-j1 - nonfatal git_emake --keep-going test - rc=$? - - # Display nice results, now print the results - pushd t &>/dev/null || die - nonfatal git_emake aggregate-results - - # And bail if there was a problem - [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!" - - popd &>/dev/null || die - if use perl ; then - emake -C contrib/credential/netrc testverbose - fi -} - -src_install() { - git_emake DESTDIR="${D}" install - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - dobin contrib/credential/osxkeychain/git-credential-osxkeychain - fi - - # Depending on the tarball and manual rebuild of the documentation, the - # manpages may exist in either OR both of these directories. - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} - use doc && dodir /usr/share/doc/${PF}/html - local d - for d in / /howto/ /technical/ ; do - docinto ${d} - dodoc Documentation${d}*.txt - if use doc ; then - docinto ${d}/html - dodoc Documentation${d}*.html - fi - done - docinto / - # Upstream does not ship this pre-built :-( - use doc && doinfo Documentation/{git,gitman}.info - - newbashcomp contrib/completion/git-completion.bash ${PN} - bashcomp_alias git gitk - # Not really a bash-completion file (bug #477920) - # but still needed uncompressed (bug #507480) - insinto /usr/share/${PN} - doins contrib/completion/git-prompt.sh - - #dobin contrib/fast-import/git-p4 # Moved upstream - #dodoc contrib/fast-import/git-p4.txt # Moved upstream - newbin contrib/fast-import/import-tars.perl import-tars - exeinto /usr/libexec/git-core/ - newexe contrib/git-resurrect.sh git-resurrect - - # git-subtree - pushd contrib/subtree &>/dev/null || die - git_emake DESTDIR="${D}" install - if use doc ; then - # Do not move git subtree install-man outside USE=doc! - git_emake DESTDIR="${D}" install-man install-html - fi - newdoc README README.git-subtree - dodoc git-subtree.txt - popd &>/dev/null || die - - if use mediawiki ; then - git_emake -C contrib/mw-to-git DESTDIR="${D}" install - fi - - # diff-highlight - dobin contrib/diff-highlight/diff-highlight - newdoc contrib/diff-highlight/README README.diff-highlight - - # git-jump - exeinto /usr/libexec/git-core/ - doexe contrib/git-jump/git-jump - newdoc contrib/git-jump/README git-jump.txt - - # git-contacts - exeinto /usr/libexec/git-core/ - doexe contrib/contacts/git-contacts - dodoc contrib/contacts/git-contacts.txt - - if use keyring ; then - pushd contrib/credential/libsecret &>/dev/null || die - dobin git-credential-libsecret - popd &>/dev/null || die - fi - - dodir /usr/share/${PN}/contrib - # The following are excluded: - # completion - installed above - # diff-highlight - done above - # emacs - removed upstream - # examples - these are stuff that is not used in Git anymore actually - # git-jump - done above - # gitview - installed above - # p4import - excluded because fast-import has a better one - # patches - stuff the Git guys made to go upstream to other places - # persistent-https - TODO - # mw-to-git - TODO - # subtree - build seperately - # svnimport - use git-svn - # thunderbird-patch-inline - fixes thunderbird - local contrib_objects=( - buildsystems - fast-import - hooks - remotes2config.sh - rerere-train.sh - stats - workdir - ) - local i - for i in "${contrib_objects[@]}" ; do - cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" - done - - if use perl && use cgi ; then - # We used to install in /usr/share/${PN}/gitweb - # but upstream installs in /usr/share/gitweb - # so we will install a symlink and use their location for compat with other - # distros - dosym ../gitweb /usr/share/${PN}/gitweb - - # INSTALL discusses configuration issues, not just installation - docinto / - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb - newdoc "${S}"/gitweb/README README.gitweb - - for d in "${ED}"/usr/lib{,64}/perl5/ ; do - if [[ -d "${d}" ]] ; then - find "${d}" -name .packlist -delete || die - fi - done - else - rm -rf "${ED}"/usr/share/gitweb - fi - - if use perl ; then - pushd contrib/credential/netrc &>/dev/null || die - dobin git-credential-netrc - popd &>/dev/null || die - fi - - if ! use subversion ; then - rm -f "${ED}"/usr/libexec/git-core/git-svn \ - "${ED}"/usr/share/man/man1/git-svn.1* - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}"/git-daemon.xinetd git-daemon - fi - - if ! use prefix ; then - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon - newconfd "${FILESDIR}"/git-daemon.confd git-daemon - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" - systemd_dounit "${FILESDIR}/git-daemon.socket" - fi - - perl_delete_localpod - - # Remove disabled linguas - # we could remove sources in src_prepare, but install does not - # handle missing locale dir well - rm_loc() { - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then - rm -r "${ED}/usr/share/locale/${1}" || die - fi - } - plocale_for_each_disabled_locale rm_loc -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "Please read /usr/share/bash-completion/completions/git for Git bash command" - elog "completion." - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" - elog "Note that the prompt bash code is now in that separate script" - fi - - optfeature_header "Some scripts require additional dependencies:" - optfeature git-quiltimport dev-util/quilt - optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx -} diff --git a/dev-vcs/git/git-2.47.1.ebuild b/dev-vcs/git/git-2.47.1.ebuild deleted file mode 100644 index 9701a056aae7..000000000000 --- a/dev-vcs/git/git-2.47.1.ebuild +++ /dev/null @@ -1,670 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GENTOO_DEPEND_ON_PERL=no - -# bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd - -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" - - inherit git-r3 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. - # See https://git-scm.com/docs/gitworkflows#_graduation - # In order of stability: - # 9999-r0: maint - # 9999-r1: master - # 9999-r2: next - # 9999-r3: seen - case ${PVR} in - 9999) EGIT_BRANCH=maint ;; - 9999-r1) EGIT_BRANCH=master ;; - 9999-r2) EGIT_BRANCH=next;; - 9999-r3) EGIT_BRANCH=seen ;; - esac -fi - -MY_PV="${PV/_rc/.rc}" -MY_P="${PN}-${MY_PV}" - -DOC_VER="${MY_PV}" - -DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" -HOMEPAGE="https://www.git-scm.com/" - -if [[ ${PV} != *9999 ]]; then - SRC_URI_SUFFIX="xz" - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" - - [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' - - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" - - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi -fi - -S="${WORKDIR}"/${MY_P} - -LICENSE="GPL-2" -SLOT="0" -IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" - -# Common to both DEPEND and RDEPEND -DEPEND=" - dev-libs/openssl:= - sys-libs/zlib - curl? ( - net-misc/curl - webdav? ( dev-libs/expat ) - ) - keyring? ( - app-crypt/libsecret - dev-libs/glib:2 - ) - iconv? ( virtual/libiconv ) - pcre? ( dev-libs/libpcre2:= ) - perl? ( dev-lang/perl:=[-build(-)] ) - tk? ( dev-lang/tk:= ) -" -RDEPEND=" - ${DEPEND} - gpg? ( app-crypt/gnupg ) - perl? ( - dev-perl/Error - dev-perl/MailTools - dev-perl/Authen-SASL - >=virtual/perl-libnet-3.110.0-r4[ssl] - cgi? ( - dev-perl/CGI - highlight? ( app-text/highlight ) - ) - cvs? ( - >=dev-vcs/cvsps-2.1:0 - dev-perl/DBI - dev-perl/DBD-SQLite - ) - mediawiki? ( - dev-perl/DateTime-Format-ISO8601 - dev-perl/HTML-Tree - dev-perl/MediaWiki-API - ) - subversion? ( - dev-vcs/subversion[-dso(-),perl] - dev-perl/libwww-perl - dev-perl/TermReadKey - ) - ) - perforce? ( ${PYTHON_DEPS} ) - selinux? ( sec-policy/selinux-git ) -" - -# This is how info docs are created with Git: -# .txt/asciidoc --(asciidoc)---------> .xml/docbook -# .xml/docbook --(docbook2texi.pl)--> .texi -# .texi --(makeinfo)---------> .info -BDEPEND=" - doc? ( - app-text/asciidoc - app-text/docbook2X - app-text/xmlto - sys-apps/texinfo - ) - keyring? ( virtual/pkgconfig ) - nls? ( sys-devel/gettext ) - test? ( app-crypt/gnupg ) -" - -# Live ebuild builds man pages and HTML docs, additionally -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" app-text/asciidoc" -fi - -SITEFILE="50${PN}-gentoo.el" - -REQUIRED_USE=" - cgi? ( perl ) - cvs? ( perl ) - mediawiki? ( perl ) - perforce? ( ${PYTHON_REQUIRED_USE} ) - subversion? ( perl ) - webdav? ( curl ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - # Avoid automagic CVS, bug #350330 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch - - # Make submodule output quiet - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch -) - -pkg_setup() { - if use subversion && has_version "dev-vcs/subversion[dso]" ; then - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" - ewarn "with USE=dso, there may be weird crashes in git-svn. You" - ewarn "have been warned!" - fi - - if use perforce ; then - python-single-r1_pkg_setup - fi -} - -# This is needed because for some obscure reasons future calls to make don't -# pick up these exports if we export them in src_unpack() -exportmakeopts() { - local extlibs myopts - - myopts=( - ASCIIDOC_NO_ROFF=YesPlease - - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - - $(usev elibc_musl NO_REGEX=NeedsStartEnd) - $(usev !cvs NO_CVS=YesPlease) - $(usev !iconv NO_ICONV=YesPlease) - $(usev !nls NO_GETTEXT=YesPlease) - $(usev !perforce NO_PYTHON=YesPlease) - $(usev !subversion NO_SVN_TESTS=YesPlease) - $(usev !tk NO_TCLTK=YesPlease) - ) - - if use blksha1 ; then - myopts+=( BLK_SHA1=YesPlease ) - fi - - if use curl ; then - use webdav || myopts+=( NO_EXPAT=YesPlease ) - else - myopts+=( NO_CURL=YesPlease ) - fi - - # Broken assumptions because of static build system - myopts+=( - NO_FINK=YesPlease - NO_DARWIN_PORTS=YesPlease - INSTALL=install - TAR=tar - SHELL_PATH="${EPREFIX}/bin/sh" - SANE_TOOL_PATH= - OLD_ICONV= - NO_EXTERNAL_GREP= - ) - - # Can't define this to null, since the entire makefile depends on it - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die - - if use pcre; then - myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=( -lpcre2-8 ) - fi - - if [[ ${CHOST} == *-solaris* ]]; then - myopts+=( - NEEDS_LIBICONV=YesPlease - HAVE_CLOCK_MONOTONIC=1 - ) - - if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then - myopts+=( HAVE_GETDELIM=1 ) - fi - fi - - myopts+=( ASCIIDOC8=YesPlease ) - - export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs[@]}" -} - -src_unpack() { - if [[ ${PV} != *9999 ]] ; then - unpack ${MY_P}.tar.${SRC_URI_SUFFIX} - - cd "${S}" || die - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} - - if use doc ; then - pushd "${S}"/Documentation &>/dev/null || die - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} - popd &>/dev/null || die - fi - else - git-r3_src_unpack - #cp "${FILESDIR}"/GIT-VERSION-GEN . || die - fi - -} - -src_prepare() { - if ! use safe-directory ; then - # This patch neuters the "safe directory" detection. - # bugs #838271, #838223 - PATCHES+=( - "${FILESDIR}"/git-2.46.2-unsafe-directory.patch - ) - fi - - default - - if use prefix ; then - # bug #757309 - sed -i \ - -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ - -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ - config.mak.uname || die - fi - - sed -i \ - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - Makefile || die - - # Fix docbook2texi command - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ - Documentation/Makefile || die -} - -git_emake() { - # bug #320647: PYTHON_PATH - local PYTHON_PATH="" - use perforce && PYTHON_PATH="${PYTHON}" - - local mymakeargs=( - ${MY_MAKEOPTS} - - prefix="${EPREFIX}"/usr - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html - perllibdir="$(use perl && perl_get_raw_vendorlib)" - sysconfdir="${EPREFIX}"/etc - - CC="$(tc-getCC)" - CFLAGS="${CFLAGS}" - PKG_CONFIG="$(tc-getPKG_CONFIG)" - - # TODO: --verbose? - GIT_TEST_OPTS="--no-color" - - OPTAR="$(tc-getAR)" - OPTCC="$(tc-getCC)" - OPTCFLAGS="${CFLAGS}" - OPTLDFLAGS="${LDFLAGS}" - - CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config" - CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)" - CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)" - - PERL_PATH="${EPREFIX}/usr/bin/perl" - PERL_MM_OPT="" - - PYTHON_PATH="${PYTHON_PATH}" - - V=1 - "$@" - ) - - emake "${mymakeargs[@]}" -} - -src_configure() { - # https://lore.kernel.org/git/87ed3apy2u.fsf@gentoo.org/ - append-cflags $(test-flags-CC -std=gnu17) - - exportmakeopts -} - -src_compile() { - git_emake - - if use perl && use cgi ; then - git_emake gitweb - fi - - if use perl ; then - git_emake -C contrib/credential/netrc - fi - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - git_emake -C contrib/credential/osxkeychain - fi - - pushd Documentation &>/dev/null || die - if [[ ${PV} == *9999 ]] ; then - git_emake man - if use doc ; then - git_emake info html - fi - else - if use doc ; then - git_emake info - fi - fi - popd &>/dev/null || die - - if use keyring ; then - git_emake -C contrib/credential/libsecret - fi - - pushd contrib/subtree &>/dev/null || die - git_emake git-subtree - # git-subtree.1 requires the full USE=doc dependency stack - use doc && git_emake git-subtree.html git-subtree.1 - popd &>/dev/null || die - - git_emake -C contrib/diff-highlight - - if use mediawiki ; then - git_emake -C contrib/mw-to-git - fi -} - -src_test() { - local disabled=( - # We make safe-directory optional - t0033-safe-directory.sh - ) - - local tests_cvs=( - t9200-git-cvsexportcommit.sh - t9400-git-cvsserver-server.sh - t9401-git-cvsserver-crlf.sh - t9402-git-cvsserver-refs.sh - t9600-cvsimport.sh - t9601-cvsimport-vendor-branch.sh - t9602-cvsimport-branches-tags.sh - t9603-cvsimport-patchsets.sh - t9604-cvsimport-timestamps.sh - ) - - local tests_perl=( - t3701-add-interactive.sh - t5502-quickfetch.sh - t5512-ls-remote.sh - t5520-pull.sh - t7106-reset-unborn-branch.sh - t7501-commit.sh - ) - # Bug #225601 - t0004 is not suitable for root perm - # Bug #219839 - t1004 is not suitable for root perm - # t0001-init.sh - check for init notices EPERM* fails - local tests_nonroot=( - t0001-init.sh - t0004-unwritable.sh - t0070-fundamental.sh - t1004-read-tree-m-u-wf.sh - t3700-add.sh - t7300-clean.sh - ) - # t9100 still fails with symlinks in SVN 1.7 - local test_svn=( t9100-git-svn-basic.sh ) - - # Unzip is used only for the testcase code, not by any normal parts of Git. - if ! has_version app-arch/unzip ; then - einfo "Disabling tar-tree tests" - disabled+=( t5000-tar-tree.sh ) - fi - - local cvs=0 - use cvs && let cvs=${cvs}+1 - if [[ ${EUID} -eq 0 ]] ; then - if [[ ${cvs} -eq 1 ]] ; then - ewarn "Skipping CVS tests because CVS does not work as root!" - ewarn "You should retest with FEATURES=userpriv!" - disabled+=( ${tests_cvs[@]} ) - fi - einfo "Skipping other tests that require being non-root" - disabled+=( ${tests_nonroot[@]} ) - else - if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -lt 3 ]] ; then - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" - disabled+=( ${tests_cvs[@]} ) - fi - fi - - if ! use perl ; then - einfo "Disabling tests that need Perl" - disabled+=( ${tests_perl[@]} ) - fi - - einfo "Disabling tests that fail with SVN 1.7" - disabled+=( ${test_svn[@]} ) - - # Reset all previously disabled tests - pushd t &>/dev/null || die - local i - for i in *.sh.DISABLED ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" - done - einfo "Disabled tests:" - for i in ${disabled[@]} ; do - if [[ -f "${i}" ]] ; then - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" - fi - done - - # Avoid the test system removing the results because we want them ourselves - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die - - # Clean old results first, must always run - nonfatal git_emake clean - popd &>/dev/null || die - - # Now run the tests, keep going if we hit an error, and don't terminate on - # failure - local rc - # t0610-reftable-basics.sh uses $A - local -x A= - einfo "Start test run" - #MAKEOPTS=-j1 - nonfatal git_emake --keep-going test - rc=$? - - # Display nice results, now print the results - pushd t &>/dev/null || die - nonfatal git_emake aggregate-results - - # And bail if there was a problem - [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!" - - popd &>/dev/null || die - if use perl ; then - emake -C contrib/credential/netrc testverbose - fi -} - -src_install() { - git_emake DESTDIR="${D}" install - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - dobin contrib/credential/osxkeychain/git-credential-osxkeychain - fi - - # Depending on the tarball and manual rebuild of the documentation, the - # manpages may exist in either OR both of these directories. - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} - use doc && dodir /usr/share/doc/${PF}/html - local d - for d in / /howto/ /technical/ ; do - docinto ${d} - dodoc Documentation${d}*.txt - if use doc ; then - docinto ${d}/html - dodoc Documentation${d}*.html - fi - done - docinto / - # Upstream does not ship this pre-built :-( - use doc && doinfo Documentation/{git,gitman}.info - - newbashcomp contrib/completion/git-completion.bash ${PN} - bashcomp_alias git gitk - # Not really a bash-completion file (bug #477920) - # but still needed uncompressed (bug #507480) - insinto /usr/share/${PN} - doins contrib/completion/git-prompt.sh - - #dobin contrib/fast-import/git-p4 # Moved upstream - #dodoc contrib/fast-import/git-p4.txt # Moved upstream - newbin contrib/fast-import/import-tars.perl import-tars - exeinto /usr/libexec/git-core/ - newexe contrib/git-resurrect.sh git-resurrect - - # git-subtree - pushd contrib/subtree &>/dev/null || die - git_emake DESTDIR="${D}" install - if use doc ; then - # Do not move git subtree install-man outside USE=doc! - git_emake DESTDIR="${D}" install-man install-html - fi - newdoc README README.git-subtree - dodoc git-subtree.txt - popd &>/dev/null || die - - if use mediawiki ; then - git_emake -C contrib/mw-to-git DESTDIR="${D}" install - fi - - # diff-highlight - dobin contrib/diff-highlight/diff-highlight - newdoc contrib/diff-highlight/README README.diff-highlight - - # git-jump - exeinto /usr/libexec/git-core/ - doexe contrib/git-jump/git-jump - newdoc contrib/git-jump/README git-jump.txt - - # git-contacts - exeinto /usr/libexec/git-core/ - doexe contrib/contacts/git-contacts - dodoc contrib/contacts/git-contacts.txt - - if use keyring ; then - pushd contrib/credential/libsecret &>/dev/null || die - dobin git-credential-libsecret - popd &>/dev/null || die - fi - - dodir /usr/share/${PN}/contrib - # The following are excluded: - # completion - installed above - # diff-highlight - done above - # emacs - removed upstream - # examples - these are stuff that is not used in Git anymore actually - # git-jump - done above - # gitview - installed above - # p4import - excluded because fast-import has a better one - # patches - stuff the Git guys made to go upstream to other places - # persistent-https - TODO - # mw-to-git - TODO - # subtree - build seperately - # svnimport - use git-svn - # thunderbird-patch-inline - fixes thunderbird - local contrib_objects=( - buildsystems - fast-import - hooks - remotes2config.sh - rerere-train.sh - stats - workdir - ) - local i - for i in "${contrib_objects[@]}" ; do - cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" - done - - if use perl && use cgi ; then - # We used to install in /usr/share/${PN}/gitweb - # but upstream installs in /usr/share/gitweb - # so we will install a symlink and use their location for compat with other - # distros - dosym ../gitweb /usr/share/${PN}/gitweb - - # INSTALL discusses configuration issues, not just installation - docinto / - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb - newdoc "${S}"/gitweb/README README.gitweb - - for d in "${ED}"/usr/lib{,64}/perl5/ ; do - if [[ -d "${d}" ]] ; then - find "${d}" -name .packlist -delete || die - fi - done - else - rm -rf "${ED}"/usr/share/gitweb - fi - - if use perl ; then - pushd contrib/credential/netrc &>/dev/null || die - dobin git-credential-netrc - popd &>/dev/null || die - fi - - if ! use subversion ; then - rm -f "${ED}"/usr/libexec/git-core/git-svn \ - "${ED}"/usr/share/man/man1/git-svn.1* - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}"/git-daemon.xinetd git-daemon - fi - - if ! use prefix ; then - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon - newconfd "${FILESDIR}"/git-daemon.confd git-daemon - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" - systemd_dounit "${FILESDIR}/git-daemon.socket" - fi - - perl_delete_localpod - - # Remove disabled linguas - # we could remove sources in src_prepare, but install does not - # handle missing locale dir well - rm_loc() { - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then - rm -r "${ED}/usr/share/locale/${1}" || die - fi - } - plocale_for_each_disabled_locale rm_loc -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "Please read /usr/share/bash-completion/completions/git for Git bash command" - elog "completion." - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" - elog "Note that the prompt bash code is now in that separate script" - fi - - optfeature_header "Some scripts require additional dependencies:" - optfeature git-quiltimport dev-util/quilt - optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx -} diff --git a/dev-vcs/git/git-2.48.0-r2.ebuild b/dev-vcs/git/git-2.48.0-r2.ebuild deleted file mode 100644 index ada3bd37529c..000000000000 --- a/dev-vcs/git/git-2.48.0-r2.ebuild +++ /dev/null @@ -1,463 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GENTOO_DEPEND_ON_PERL=no - -# bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python3_{10..13} ) - -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson - -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" - - inherit git-r3 - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. - # See https://git-scm.com/docs/gitworkflows#_graduation - # In order of stability: - # 9999-r0: maint - # 9999-r1: master - # 9999-r2: next - # 9999-r3: seen - case ${PVR} in - 9999) EGIT_BRANCH=maint ;; - 9999-r1) EGIT_BRANCH=master ;; - 9999-r2) EGIT_BRANCH=next;; - 9999-r3) EGIT_BRANCH=seen ;; - esac -fi - -MY_PV="${PV/_rc/.rc}" -MY_P="${PN}-${MY_PV}" - -DOC_VER="${MY_PV}" - -DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" -HOMEPAGE="https://www.git-scm.com/" - -if [[ ${PV} != *9999 ]]; then - SRC_URI_SUFFIX="xz" - SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" - - [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' - - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" - SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" - - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi -fi - -S="${WORKDIR}"/${MY_P} - -LICENSE="GPL-2" -SLOT="0" -IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" - -# Common to both DEPEND and RDEPEND -DEPEND=" - dev-libs/openssl:= - sys-libs/zlib - curl? ( - net-misc/curl - webdav? ( dev-libs/expat ) - ) - keyring? ( - app-crypt/libsecret - dev-libs/glib:2 - ) - iconv? ( virtual/libiconv ) - pcre? ( dev-libs/libpcre2:= ) - perl? ( dev-lang/perl:=[-build(-)] ) - tk? ( dev-lang/tk:= ) -" -RDEPEND=" - ${DEPEND} - gpg? ( app-crypt/gnupg ) - perl? ( - dev-perl/Error - dev-perl/MailTools - dev-perl/Authen-SASL - >=virtual/perl-libnet-3.110.0-r4[ssl] - cgi? ( - dev-perl/CGI - highlight? ( app-text/highlight ) - ) - cvs? ( - >=dev-vcs/cvsps-2.1:0 - dev-perl/DBI - dev-perl/DBD-SQLite - ) - mediawiki? ( - dev-perl/DateTime-Format-ISO8601 - dev-perl/HTML-Tree - dev-perl/MediaWiki-API - ) - subversion? ( - dev-vcs/subversion[-dso(-),perl] - dev-perl/libwww-perl - dev-perl/TermReadKey - ) - ) - perforce? ( ${PYTHON_DEPS} ) - selinux? ( sec-policy/selinux-git ) -" - -# This is how info docs are created with Git: -# .txt/asciidoc --(asciidoc)---------> .xml/docbook -# .xml/docbook --(docbook2texi.pl)--> .texi -# .texi --(makeinfo)---------> .info -BDEPEND=" - doc? ( - app-text/asciidoc - app-text/docbook2X - app-text/xmlto - sys-apps/texinfo - ) - keyring? ( virtual/pkgconfig ) - nls? ( sys-devel/gettext ) - test? ( - app-arch/unzip - app-crypt/gnupg - dev-lang/perl - ) -" - -# Live ebuild builds man pages and HTML docs, additionally -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" app-text/asciidoc" -fi - -SITEFILE="50${PN}-gentoo.el" - -REQUIRED_USE=" - cgi? ( perl ) - cvs? ( perl ) - mediawiki? ( perl ) - perforce? ( ${PYTHON_REQUIRED_USE} ) - subversion? ( perl ) - webdav? ( curl ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.48.0-doc-deps.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 -} - -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 - fi - -} - -src_configure() { - local emesonargs=( - $(meson_feature curl) - $(meson_feature cgi gitweb) - $(meson_feature webdav expat) - $(meson_feature iconv) - $(meson_feature nls gettext) - $(meson_feature pcre pcre2) - $(meson_feature perl) - $(meson_feature perforce python) - $(meson_use test tests) - -Dperl_cpan_fallback=false - ) - - # For non-live, we use a downloaded docs tarball instead. - if [[ ${PV} == *9999 ]] || use doc ; then - emesonargs+=( - -Ddocs="man$(usev doc ',html')" - ) - fi - - meson_src_configure -} - -git_emake() { - local mymakeargs=( - prefix="${EPREFIX}"/usr - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html - sysconfdir="${EPREFIX}"/etc - perllibdir="$(use perl && perl_get_raw_vendorlib)" - - CC="$(tc-getCC)" - CFLAGS="${CFLAGS}" - LDFLAGS="${LDFLAGS}" - PKG_CONFIG="$(tc-getPKG_CONFIG)" - OPTAR="$(tc-getAR)" - OPTCC="$(tc-getCC)" - OPTCFLAGS="${CFLAGS}" - OPTLDFLAGS="${LDFLAGS}" - - PERL_PATH="${EPREFIX}/usr/bin/perl" - PERL_MM_OPT="" - - V=1 - - "$@" - ) - - emake "${mymakeargs[@]}" -} - -src_compile() { - meson_src_compile - - if use perl ; then - git_emake -C contrib/credential/netrc - fi - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - git_emake -C contrib/credential/osxkeychain - fi - - if use keyring ; then - git_emake -C contrib/credential/libsecret - fi - - if use mediawiki ; then - git_emake -C contrib/mw-to-git - fi - - if use tk ; then - git_emake -C gitk-git - git_emake -C git-gui - fi - - if use doc ; then - # Workaround fragments that still use the Makefile and can't - # find the bits from Meson's out-of-source build - ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die - fi - - git_emake -C contrib/diff-highlight - git_emake -C contrib/subtree git-subtree - # git-subtree.1 requires the full USE=doc dependency stack - use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1 -} - -src_test() { - # t0610-reftable-basics.sh uses $A - local -x A= - - meson_src_test - - # TODO: Needs help finding built git with meson - #if use perl ; then - # git_emake -C contrib/credential/netrc testverbose - #fi -} - -src_install() { - meson_src_install - - if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then - dobin contrib/credential/osxkeychain/git-credential-osxkeychain - fi - - if use doc ; then - cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die - rm -rf "${ED}"/usr/share/doc/git-doc/ || die - 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 / - - newbashcomp contrib/completion/git-completion.bash ${PN} - bashcomp_alias git gitk - # Not really a bash-completion file (bug #477920) - # but still needed uncompressed (bug #507480) - insinto /usr/share/${PN} - doins contrib/completion/git-prompt.sh - - #dobin contrib/fast-import/git-p4 # Moved upstream - #dodoc contrib/fast-import/git-p4.txt # Moved upstream - newbin contrib/fast-import/import-tars.perl import-tars - exeinto /usr/libexec/git-core/ - newexe contrib/git-resurrect.sh git-resurrect - - # git-subtree - pushd contrib/subtree &>/dev/null || die - git_emake DESTDIR="${D}" install - if use doc ; then - # Do not move git subtree install-man outside USE=doc! - git_emake DESTDIR="${D}" install-man install-html - fi - newdoc README README.git-subtree - dodoc git-subtree.txt - popd &>/dev/null || die - - # diff-highlight - dobin contrib/diff-highlight/diff-highlight - newdoc contrib/diff-highlight/README README.diff-highlight - - # git-jump - exeinto /usr/libexec/git-core/ - doexe contrib/git-jump/git-jump - newdoc contrib/git-jump/README git-jump.txt - - # git-contacts - exeinto /usr/libexec/git-core/ - doexe contrib/contacts/git-contacts - dodoc contrib/contacts/git-contacts.txt - - if use keyring ; then - dobin contrib/credential/libsecret/git-credential-libsecret - fi - - dodir /usr/share/${PN}/contrib - # The following are excluded: - # completion - installed above - # diff-highlight - done above - # emacs - removed upstream - # examples - these are stuff that is not used in Git anymore actually - # git-jump - done above - # gitview - installed above - # p4import - excluded because fast-import has a better one - # patches - stuff the Git guys made to go upstream to other places - # persistent-https - TODO - # mw-to-git - TODO - # subtree - build seperately - # svnimport - use git-svn - # thunderbird-patch-inline - fixes thunderbird - local contrib_objects=( - buildsystems - fast-import - hooks - remotes2config.sh - rerere-train.sh - stats - workdir - ) - local i - for i in "${contrib_objects[@]}" ; do - cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" - done - - if use cgi ; then - # We used to install in /usr/share/${PN}/gitweb - # but upstream installs in /usr/share/gitweb - # so we will install a symlink and use their location for compat with other - # distros - dosym ../gitweb /usr/share/${PN}/gitweb - - # INSTALL discusses configuration issues, not just installation - docinto / - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb - newdoc "${S}"/gitweb/README README.gitweb - - for d in "${ED}"/usr/lib{,64}/perl5/ ; do - if [[ -d "${d}" ]] ; then - find "${d}" -name .packlist -delete || die - fi - done - else - rm -rf "${ED}"/usr/share/gitweb - fi - - if use perl ; then - dodir "$(perl_get_vendorlib)" - mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die - mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die - - dobin contrib/credential/netrc/git-credential-netrc - fi - - if use mediawiki ; then - git_emake -C contrib/mw-to-git DESTDIR="${D}" install - fi - - if ! use subversion ; then - rm -f "${ED}"/usr/libexec/git-core/git-svn \ - "${ED}"/usr/share/man/man1/git-svn.1* - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}"/git-daemon.xinetd git-daemon - fi - - if ! use prefix ; then - newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon - newconfd "${FILESDIR}"/git-daemon.confd git-daemon - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" - systemd_dounit "${FILESDIR}/git-daemon.socket" - fi - - if use tk ; then - git_emake -C gitk-git DESTDIR="${D}" install - git_emake -C git-gui DESTDIR="${D}" install - fi - - perl_delete_localpod - - # Remove disabled linguas - # we could remove sources in src_prepare, but install does not - # handle missing locale dir well - rm_loc() { - if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then - rm -r "${ED}/usr/share/locale/${1}" || die - fi - } - plocale_for_each_disabled_locale rm_loc -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "Please read /usr/share/bash-completion/completions/git for Git bash command" - elog "completion." - elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" - elog "Note that the prompt bash code is now in that separate script" - fi - - optfeature_header "Some scripts require additional dependencies:" - optfeature git-quiltimport dev-util/quilt - optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx -} diff --git a/dev-vcs/git/git-2.48.1.ebuild b/dev-vcs/git/git-2.48.1.ebuild new file mode 100644 index 000000000000..f90f10f55f15 --- /dev/null +++ b/dev-vcs/git/git-2.48.1.ebuild @@ -0,0 +1,475 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python3_{10..13} ) + +inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson + +PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git" + + inherit git-r3 + # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. + # See https://git-scm.com/docs/gitworkflows#_graduation + # In order of stability: + # 9999-r0: maint + # 9999-r1: master + # 9999-r2: next + # 9999-r3: seen + case ${PVR} in + 9999) EGIT_BRANCH=maint ;; + 9999-r1) EGIT_BRANCH=master ;; + 9999-r2) EGIT_BRANCH=next;; + 9999-r3) EGIT_BRANCH=seen ;; + esac +fi + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER="${MY_PV}" + +DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency" +HOMEPAGE="https://www.git-scm.com/" + +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git" + + [[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing' + + SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}" + SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" + +# Common to both DEPEND and RDEPEND +DEPEND=" + dev-libs/openssl:= + sys-libs/zlib + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + iconv? ( virtual/libiconv ) + pcre? ( dev-libs/libpcre2:= ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:= ) +" +RDEPEND=" + ${DEPEND} + gpg? ( app-crypt/gnupg ) + perl? ( + dev-perl/Error + dev-perl/MailTools + dev-perl/Authen-SASL + >=virtual/perl-libnet-3.110.0-r4[ssl] + cgi? ( + dev-perl/CGI + highlight? ( app-text/highlight ) + ) + cvs? ( + >=dev-vcs/cvsps-2.1:0 + dev-perl/DBI + dev-perl/DBD-SQLite + ) + mediawiki? ( + dev-perl/DateTime-Format-ISO8601 + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + subversion? ( + dev-vcs/subversion[-dso(-),perl] + dev-perl/libwww-perl + dev-perl/TermReadKey + ) + ) + perforce? ( ${PYTHON_DEPS} ) + selinux? ( sec-policy/selinux-git ) +" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +BDEPEND=" + doc? ( + app-text/asciidoc + app-text/docbook2X + app-text/xmlto + sys-apps/texinfo + ) + keyring? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( + app-arch/unzip + app-crypt/gnupg + dev-lang/perl + ) +" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + BDEPEND+=" app-text/asciidoc" +fi + +SITEFILE="50${PN}-gentoo.el" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + perforce? ( ${PYTHON_REQUIRED_USE} ) + subversion? ( perl ) + webdav? ( curl ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.48.0-doc-deps.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 +} + +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 + fi + +} + +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default +} + +src_configure() { + local emesonargs=( + $(meson_feature curl) + $(meson_feature cgi gitweb) + $(meson_feature webdav expat) + $(meson_feature iconv) + $(meson_feature nls gettext) + $(meson_feature pcre pcre2) + $(meson_feature perl) + $(meson_feature perforce python) + $(meson_use test tests) + -Dperl_cpan_fallback=false + ) + + # For non-live, we use a downloaded docs tarball instead. + if [[ ${PV} == *9999 ]] || use doc ; then + emesonargs+=( + -Ddocs="man$(usev doc ',html')" + ) + fi + + meson_src_configure +} + +git_emake() { + local mymakeargs=( + prefix="${EPREFIX}"/usr + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html + sysconfdir="${EPREFIX}"/etc + perllibdir="$(use perl && perl_get_raw_vendorlib)" + + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + LDFLAGS="${LDFLAGS}" + PKG_CONFIG="$(tc-getPKG_CONFIG)" + OPTAR="$(tc-getAR)" + OPTCC="$(tc-getCC)" + OPTCFLAGS="${CFLAGS}" + OPTLDFLAGS="${LDFLAGS}" + + PERL_PATH="${EPREFIX}/usr/bin/perl" + PERL_MM_OPT="" + + V=1 + + "$@" + ) + + emake "${mymakeargs[@]}" +} + +src_compile() { + meson_src_compile + + if use perl ; then + git_emake -C contrib/credential/netrc + fi + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + git_emake -C contrib/credential/osxkeychain + fi + + if use keyring ; then + git_emake -C contrib/credential/libsecret + fi + + if use mediawiki ; then + git_emake -C contrib/mw-to-git + fi + + if use tk ; then + git_emake -C gitk-git + git_emake -C git-gui + fi + + if use doc ; then + # Workaround fragments that still use the Makefile and can't + # find the bits from Meson's out-of-source build + ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die + fi + + git_emake -C contrib/diff-highlight + git_emake -C contrib/subtree git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1 +} + +src_test() { + # t0610-reftable-basics.sh uses $A + local -x A= + + meson_src_test + + # TODO: Needs help finding built git with meson + #if use perl ; then + # git_emake -C contrib/credential/netrc testverbose + #fi +} + +src_install() { + meson_src_install + + if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then + dobin contrib/credential/osxkeychain/git-credential-osxkeychain + fi + + if use doc ; then + cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die + rm -rf "${ED}"/usr/share/doc/git-doc/ || die + 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 / + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # git-subtree + pushd contrib/subtree &>/dev/null || die + git_emake DESTDIR="${D}" install + if use doc ; then + # Do not move git subtree install-man outside USE=doc! + git_emake DESTDIR="${D}" install-man install-html + fi + newdoc README README.git-subtree + dodoc git-subtree.txt + popd &>/dev/null || die + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + # git-contacts + exeinto /usr/libexec/git-core/ + doexe contrib/contacts/git-contacts + dodoc contrib/contacts/git-contacts.txt + + if use keyring ; then + dobin contrib/credential/libsecret/git-credential-libsecret + fi + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # diff-highlight - done above + # emacs - removed upstream + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - build seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + hooks + remotes2config.sh + rerere-train.sh + stats + workdir + ) + local i + for i in "${contrib_objects[@]}" ; do + cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" + done + + if use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym ../gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + for d in "${ED}"/usr/lib{,64}/perl5/ ; do + if [[ -d "${d}" ]] ; then + find "${d}" -name .packlist -delete || die + fi + done + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if use perl ; then + dodir "$(perl_get_vendorlib)" + mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die + mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die + + dobin contrib/credential/netrc/git-credential-netrc + fi + + if use mediawiki ; then + git_emake -C contrib/mw-to-git DESTDIR="${D}" install + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if ! use prefix ; then + newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + if use tk ; then + git_emake -C gitk-git DESTDIR="${D}" install + git_emake -C git-gui DESTDIR="${D}" install + fi + + perl_delete_localpod + + # Remove disabled linguas + # we could remove sources in src_prepare, but install does not + # handle missing locale dir well + rm_loc() { + if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then + rm -r "${ED}/usr/share/locale/${1}" || die + fi + } + plocale_for_each_disabled_locale rm_loc +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Please read /usr/share/bash-completion/completions/git for Git bash command" + elog "completion." + elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + elog "Note that the prompt bash code is now in that separate script" + fi + + optfeature_header "Some scripts require additional dependencies:" + optfeature git-quiltimport dev-util/quilt + optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx +} diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild index 2097a69cfdab..f90f10f55f15 100644 --- a/dev-vcs/git/git-9999-r1.ebuild +++ b/dev-vcs/git/git-9999-r1.ebuild @@ -181,6 +181,18 @@ src_unpack() { } +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default +} + src_configure() { local emesonargs=( $(meson_feature curl) @@ -253,6 +265,7 @@ src_compile() { if use tk ; then git_emake -C gitk-git + git_emake -C git-gui fi if use doc ; then @@ -432,6 +445,7 @@ src_install() { if use tk ; then git_emake -C gitk-git DESTDIR="${D}" install + git_emake -C git-gui DESTDIR="${D}" install fi perl_delete_localpod diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild index ada3bd37529c..f90f10f55f15 100644 --- a/dev-vcs/git/git-9999-r2.ebuild +++ b/dev-vcs/git/git-9999-r2.ebuild @@ -181,6 +181,18 @@ src_unpack() { } +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default +} + src_configure() { local emesonargs=( $(meson_feature curl) diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild index ada3bd37529c..f90f10f55f15 100644 --- a/dev-vcs/git/git-9999-r3.ebuild +++ b/dev-vcs/git/git-9999-r3.ebuild @@ -181,6 +181,18 @@ src_unpack() { } +src_prepare() { + if ! use safe-directory ; then + # This patch neuters the "safe directory" detection. + # bugs #838271, #838223 + PATCHES+=( + "${FILESDIR}"/git-2.46.2-unsafe-directory.patch + ) + fi + + default +} + src_configure() { local emesonargs=( $(meson_feature curl) diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild index 17a8afd1ac8b..f90f10f55f15 100644 --- a/dev-vcs/git/git-9999.ebuild +++ b/dev-vcs/git/git-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ GENTOO_DEPEND_ON_PERL=no # bug #329479: git-remote-testgit is not multiple-version aware PYTHON_COMPAT=( python3_{10..13} ) -inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd +inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" @@ -58,7 +58,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" -IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test" +IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd" # Common to both DEPEND and RDEPEND DEPEND=" @@ -122,7 +122,11 @@ BDEPEND=" ) keyring? ( virtual/pkgconfig ) nls? ( sys-devel/gettext ) - test? ( app-crypt/gnupg ) + test? ( + app-arch/unzip + app-crypt/gnupg + dev-lang/perl + ) " # Live ebuild builds man pages and HTML docs, additionally @@ -144,11 +148,7 @@ REQUIRED_USE=" RESTRICT="!test? ( test )" PATCHES=( - # Avoid automagic CVS, bug #350330 - "${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch - - # Make submodule output quiet - "${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch + "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch ) pkg_setup() { @@ -163,72 +163,6 @@ pkg_setup() { fi } -# This is needed because for some obscure reasons future calls to make don't -# pick up these exports if we export them in src_unpack() -exportmakeopts() { - local extlibs myopts - - myopts=( - ASCIIDOC_NO_ROFF=YesPlease - - $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease) - - $(usev elibc_musl NO_REGEX=NeedsStartEnd) - $(usev !cvs NO_CVS=YesPlease) - $(usev !iconv NO_ICONV=YesPlease) - $(usev !nls NO_GETTEXT=YesPlease) - $(usev !perforce NO_PYTHON=YesPlease) - $(usev !subversion NO_SVN_TESTS=YesPlease) - $(usev !tk NO_TCLTK=YesPlease) - ) - - if use blksha1 ; then - myopts+=( BLK_SHA1=YesPlease ) - fi - - if use curl ; then - use webdav || myopts+=( NO_EXPAT=YesPlease ) - else - myopts+=( NO_CURL=YesPlease ) - fi - - # Broken assumptions because of static build system - myopts+=( - NO_FINK=YesPlease - NO_DARWIN_PORTS=YesPlease - INSTALL=install - TAR=tar - SHELL_PATH="${EPREFIX}/bin/sh" - SANE_TOOL_PATH= - OLD_ICONV= - NO_EXTERNAL_GREP= - ) - - # Can't define this to null, since the entire makefile depends on it - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die - - if use pcre; then - myopts+=( USE_LIBPCRE2=YesPlease ) - extlibs+=( -lpcre2-8 ) - fi - - if [[ ${CHOST} == *-solaris* ]]; then - myopts+=( - NEEDS_LIBICONV=YesPlease - HAVE_CLOCK_MONOTONIC=1 - ) - - if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then - myopts+=( HAVE_GETDELIM=1 ) - fi - fi - - myopts+=( ASCIIDOC8=YesPlease ) - - export MY_MAKEOPTS="${myopts[@]}" - export EXTLIBS="${extlibs[@]}" -} - src_unpack() { if [[ ${PV} != *9999 ]] ; then unpack ${MY_P}.tar.${SRC_URI_SUFFIX} @@ -243,7 +177,6 @@ src_unpack() { fi else git-r3_src_unpack - #cp "${FILESDIR}"/GIT-VERSION-GEN . || die fi } @@ -258,80 +191,61 @@ src_prepare() { fi default +} - if use prefix ; then - # bug #757309 - sed -i \ - -e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \ - -e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \ - config.mak.uname || die +src_configure() { + local emesonargs=( + $(meson_feature curl) + $(meson_feature cgi gitweb) + $(meson_feature webdav expat) + $(meson_feature iconv) + $(meson_feature nls gettext) + $(meson_feature pcre pcre2) + $(meson_feature perl) + $(meson_feature perforce python) + $(meson_use test tests) + -Dperl_cpan_fallback=false + ) + + # For non-live, we use a downloaded docs tarball instead. + if [[ ${PV} == *9999 ]] || use doc ; then + emesonargs+=( + -Ddocs="man$(usev doc ',html')" + ) fi - sed -i \ - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - Makefile || die - - # Fix docbook2texi command - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ - Documentation/Makefile || die + meson_src_configure } git_emake() { - # bug #320647: PYTHON_PATH - local PYTHON_PATH="" - use perforce && PYTHON_PATH="${PYTHON}" - local mymakeargs=( - ${MY_MAKEOPTS} - prefix="${EPREFIX}"/usr htmldir="${EPREFIX}"/usr/share/doc/${PF}/html - perllibdir="$(use perl && perl_get_raw_vendorlib)" sysconfdir="${EPREFIX}"/etc + perllibdir="$(use perl && perl_get_raw_vendorlib)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" + LDFLAGS="${LDFLAGS}" PKG_CONFIG="$(tc-getPKG_CONFIG)" - - # TODO: --verbose? - GIT_TEST_OPTS="--no-color" - OPTAR="$(tc-getAR)" OPTCC="$(tc-getCC)" OPTCFLAGS="${CFLAGS}" OPTLDFLAGS="${LDFLAGS}" - CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config" - CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)" - CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)" - PERL_PATH="${EPREFIX}/usr/bin/perl" PERL_MM_OPT="" - PYTHON_PATH="${PYTHON_PATH}" - V=1 + "$@" ) emake "${mymakeargs[@]}" } -src_configure() { - exportmakeopts -} - src_compile() { - git_emake - - if use perl && use cgi ; then - git_emake gitweb - fi + meson_src_compile if use perl ; then git_emake -C contrib/credential/netrc @@ -341,170 +255,61 @@ src_compile() { git_emake -C contrib/credential/osxkeychain fi - pushd Documentation &>/dev/null || die - if [[ ${PV} == *9999 ]] ; then - git_emake man - if use doc ; then - git_emake info html - fi - else - if use doc ; then - git_emake info - fi - fi - popd &>/dev/null || die - if use keyring ; then git_emake -C contrib/credential/libsecret fi - pushd contrib/subtree &>/dev/null || die - git_emake git-subtree - # git-subtree.1 requires the full USE=doc dependency stack - use doc && git_emake git-subtree.html git-subtree.1 - popd &>/dev/null || die - - git_emake -C contrib/diff-highlight - if use mediawiki ; then git_emake -C contrib/mw-to-git fi -} - -src_test() { - local disabled=( - # We make safe-directory optional - t0033-safe-directory.sh - ) - local tests_cvs=( - t9200-git-cvsexportcommit.sh - t9400-git-cvsserver-server.sh - t9401-git-cvsserver-crlf.sh - t9402-git-cvsserver-refs.sh - t9600-cvsimport.sh - t9601-cvsimport-vendor-branch.sh - t9602-cvsimport-branches-tags.sh - t9603-cvsimport-patchsets.sh - t9604-cvsimport-timestamps.sh - ) - - local tests_perl=( - t3701-add-interactive.sh - t5502-quickfetch.sh - t5512-ls-remote.sh - t5520-pull.sh - t7106-reset-unborn-branch.sh - t7501-commit.sh - ) - # Bug #225601 - t0004 is not suitable for root perm - # Bug #219839 - t1004 is not suitable for root perm - # t0001-init.sh - check for init notices EPERM* fails - local tests_nonroot=( - t0001-init.sh - t0004-unwritable.sh - t0070-fundamental.sh - t1004-read-tree-m-u-wf.sh - t3700-add.sh - t7300-clean.sh - ) - # t9100 still fails with symlinks in SVN 1.7 - local test_svn=( t9100-git-svn-basic.sh ) - - # Unzip is used only for the testcase code, not by any normal parts of Git. - if ! has_version app-arch/unzip ; then - einfo "Disabling tar-tree tests" - disabled+=( t5000-tar-tree.sh ) + if use tk ; then + git_emake -C gitk-git + git_emake -C git-gui fi - local cvs=0 - use cvs && let cvs=${cvs}+1 - if [[ ${EUID} -eq 0 ]] ; then - if [[ ${cvs} -eq 1 ]] ; then - ewarn "Skipping CVS tests because CVS does not work as root!" - ewarn "You should retest with FEATURES=userpriv!" - disabled+=( ${tests_cvs[@]} ) - fi - einfo "Skipping other tests that require being non-root" - disabled+=( ${tests_nonroot[@]} ) - else - if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then - let cvs=${cvs}+1 - fi - - if [[ ${cvs} -lt 3 ]] ; then - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" - disabled+=( ${tests_cvs[@]} ) - fi - fi - - if ! use perl ; then - einfo "Disabling tests that need Perl" - disabled+=( ${tests_perl[@]} ) + if use doc ; then + # Workaround fragments that still use the Makefile and can't + # find the bits from Meson's out-of-source build + ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die fi - einfo "Disabling tests that fail with SVN 1.7" - disabled+=( ${test_svn[@]} ) - - # Reset all previously disabled tests - pushd t &>/dev/null || die - local i - for i in *.sh.DISABLED ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" - done - einfo "Disabled tests:" - for i in ${disabled[@]} ; do - if [[ -f "${i}" ]] ; then - mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}" - fi - done - - # Avoid the test system removing the results because we want them ourselves - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die - - # Clean old results first, must always run - nonfatal git_emake clean - popd &>/dev/null || die + git_emake -C contrib/diff-highlight + git_emake -C contrib/subtree git-subtree + # git-subtree.1 requires the full USE=doc dependency stack + use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1 +} - # Now run the tests, keep going if we hit an error, and don't terminate on - # failure - local rc +src_test() { # t0610-reftable-basics.sh uses $A local -x A= - einfo "Start test run" - #MAKEOPTS=-j1 - nonfatal git_emake --keep-going test - rc=$? - # Display nice results, now print the results - pushd t &>/dev/null || die - nonfatal git_emake aggregate-results + meson_src_test - # And bail if there was a problem - [[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!" - - popd &>/dev/null || die - if use perl ; then - emake -C contrib/credential/netrc testverbose - fi + # TODO: Needs help finding built git with meson + #if use perl ; then + # git_emake -C contrib/credential/netrc testverbose + #fi } src_install() { - git_emake DESTDIR="${D}" install + meson_src_install if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then dobin contrib/credential/osxkeychain/git-credential-osxkeychain fi + if use doc ; then + cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die + rm -rf "${ED}"/usr/share/doc/git-doc/ || die + 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 @@ -516,8 +321,6 @@ src_install() { 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 @@ -543,10 +346,6 @@ src_install() { dodoc git-subtree.txt popd &>/dev/null || die - if use mediawiki ; then - git_emake -C contrib/mw-to-git DESTDIR="${D}" install - fi - # diff-highlight dobin contrib/diff-highlight/diff-highlight newdoc contrib/diff-highlight/README README.diff-highlight @@ -562,9 +361,7 @@ src_install() { dodoc contrib/contacts/git-contacts.txt if use keyring ; then - pushd contrib/credential/libsecret &>/dev/null || die - dobin git-credential-libsecret - popd &>/dev/null || die + dobin contrib/credential/libsecret/git-credential-libsecret fi dodir /usr/share/${PN}/contrib @@ -596,7 +393,7 @@ src_install() { cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}" done - if use perl && use cgi ; then + if 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 @@ -618,9 +415,15 @@ src_install() { fi if use perl ; then - pushd contrib/credential/netrc &>/dev/null || die - dobin git-credential-netrc - popd &>/dev/null || die + dodir "$(perl_get_vendorlib)" + mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die + mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die + + dobin contrib/credential/netrc/git-credential-netrc + fi + + if use mediawiki ; then + git_emake -C contrib/mw-to-git DESTDIR="${D}" install fi if ! use subversion ; then @@ -640,6 +443,11 @@ src_install() { systemd_dounit "${FILESDIR}/git-daemon.socket" fi + if use tk ; then + git_emake -C gitk-git DESTDIR="${D}" install + git_emake -C git-gui DESTDIR="${D}" install + fi + perl_delete_localpod # Remove disabled linguas diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest index 498c19538b2d..7c8801e1fdf3 100644 --- a/dev-vcs/subversion/Manifest +++ b/dev-vcs/subversion/Manifest @@ -9,5 +9,5 @@ AUX svnserve.xinetd 332 BLAKE2B 95af871ddd83c405cd4072a8bb6293376383d5437562aa60 DIST subversion-1.14.3.tar.bz2 8569985 BLAKE2B bc366a611f77d7dc3a5dc6015ea50b8daae0cffc20f8830de04a7f310a26ab9e955db343e7902475079d31d7984cb6b03f7810e71feae9a5374e1cb690933b49 SHA512 40b172492005fd3b0cd9e457b4444af8ea5d8ff8fc161a9a0c6dc3a7314c6ad4ff75a4676f68a1919ae6273ae03e34d04eba8c1c37b8c0b4ec70d6731b527b41 DIST subversion-1.14.5.tar.bz2 8675355 BLAKE2B d5650c50b345938bb012bc942958a7a23cc6de030f2f005b6caa43afe39f0ba6f3ad4d733b13eb746ab08bf8de491f0a56cc5700dd64e02e6f74f393a5dd293b SHA512 e4800564d0cc68be98f19aa58d89181de83f237f0ccff10824d9237f8c65eb0071f7176ac54e9e8f8ecbf685849bd3e94be48f678f4c23ed6a5fd7fb6edd0321 EBUILD subversion-1.14.3.ebuild 12723 BLAKE2B 268081fcdaf22e3d3396ee6e0888dddcac5a9a0f014289083af123f59dddba57dde70f454acd6327d7d6177d4b7f6a68313e9d88deb1d3e188f0b28a66cb2591 SHA512 d01afca9083e28210a1300fbbc4b6466c07df24deb05b20a16be67eae7fbe48ee14032464cc79578a23c03971d30b27bbabd3273ad548b860298e3efcf80126b -EBUILD subversion-1.14.5.ebuild 12687 BLAKE2B b30bfe5e67883a65bc9e62bb1474bb475c30c9b97384c845cfe82491b06755dfda8567766869c624f47c9c2a3066d40dff02bc9054a16f99139a14a522cb43e4 SHA512 f15d9f50ee51487a974bdf621618d7df19a406417caa2f0b456a3d475f45077e2f54880677cb8dbc9315b96522cf21d029c874ecde19acaf7092416245ec4704 +EBUILD subversion-1.14.5.ebuild 12694 BLAKE2B 3316ef2d0c8250ccd841bceffdd8469d9c165362105e37f69fe062b5ca4629ecfa32b91e9816a36bcb6047308460e3f6e6d254a9ff1927d4a2dd47a66e1c7994 SHA512 6ea274da6ac1ff105e7513882f8dd74dac050cc26717d5a463845d2eac3ff1676457590df937d1886073d24adabbfcc93a41958e90daaf5159e21ea3002ed70b MISC metadata.xml 819 BLAKE2B 1c4a8bd42cc1030719952aac2c72c40f175a22bd6eaf7e4d40638833d7a2d4c39f9da8a04bb57e1a6bcf99ade22fe7208e218f8f50d75501d835092d5ef4c105 SHA512 830789bd4225a2c5565466d8857c0cc184071962572e466bd8918ecd12b986d0017c2d6016d7d70d9a6dbbe15abce8497a2a31a5dd5e3feea5695533c417b11e diff --git a/dev-vcs/subversion/subversion-1.14.5.ebuild b/dev-vcs/subversion/subversion-1.14.5.ebuild index 069859b8ed8a..887fd4522a84 100644 --- a/dev-vcs/subversion/subversion-1.14.5.ebuild +++ b/dev-vcs/subversion/subversion-1.14.5.ebuild @@ -7,7 +7,7 @@ WANT_AUTOMAKE="none" GENTOO_DEPEND_ON_PERL="no" # no py3.12 yet as many tests have invalid escape sequence warnings PYTHON_COMPAT=( python3_{10..11} ) -USE_RUBY="ruby31 ruby32" +USE_RUBY="ruby31 ruby32 ruby33" inherit autotools bash-completion-r1 db-use depend.apache flag-o-matic java-pkg-opt-2 inherit libtool multilib multiprocessing perl-module prefix python-any-r1 ruby-single xdg-utils -- cgit v1.2.3