summaryrefslogtreecommitdiff
path: root/dev-vcs/git
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
commit1798c4aeca70ac8d0a243684d6a798fbc65735f8 (patch)
treee48e19cb6fa03de18e1c63e1a93371b7ebc4eb56 /dev-vcs/git
parentd87262dd706fec50cd150aab3e93883b6337466d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-vcs/git')
-rw-r--r--dev-vcs/git/Manifest33
-rw-r--r--dev-vcs/git/files/50git-gentoo.el13
-rw-r--r--dev-vcs/git/files/git-1.8.5-mw-vendor.patch39
-rw-r--r--dev-vcs/git/files/git-2.12.0-optional-cvs.patch456
-rw-r--r--dev-vcs/git/files/git-2.17.0-mw_install_path_fix.patch48
-rw-r--r--dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch451
-rw-r--r--dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch460
-rw-r--r--dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch11
-rw-r--r--dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch14
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch46
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch97
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch48
-rw-r--r--dev-vcs/git/files/git-daemon-r1.initd13
-rw-r--r--dev-vcs/git/files/git-daemon.confd19
-rw-r--r--dev-vcs/git/files/git-daemon.socket9
-rw-r--r--dev-vcs/git/files/git-daemon.xinetd13
-rw-r--r--dev-vcs/git/files/git-daemon_at-r1.service12
-rw-r--r--dev-vcs/git/git-2.16.4.ebuild699
-rw-r--r--dev-vcs/git/git-2.17.1-r1.ebuild717
-rw-r--r--dev-vcs/git/git-2.18.0.ebuild715
-rw-r--r--dev-vcs/git/git-9999-r1.ebuild715
-rw-r--r--dev-vcs/git/git-9999-r2.ebuild715
-rw-r--r--dev-vcs/git/git-9999-r3.ebuild715
-rw-r--r--dev-vcs/git/git-9999.ebuild715
-rw-r--r--dev-vcs/git/metadata.xml40
25 files changed, 0 insertions, 6813 deletions
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
deleted file mode 100644
index 97818aea9117..000000000000
--- a/dev-vcs/git/Manifest
+++ /dev/null
@@ -1,33 +0,0 @@
-AUX 50git-gentoo.el 472 BLAKE2B b2b7c2c105d2ce3e066b3b617d095c402032549d92fff4a181ec9af6740033b0446f76b9620c97db582e85eff9aee0e3f88749981a135382c7a8d3187da921a5 SHA512 0435d7d67f2b64460a62c6a95c65a722c0f8d5d50d064a81e690de84a761ba518d32db545ee70c0fa3ad7803d77d5dab100689888bc92c9d82f2d6d5073623b3
-AUX git-1.8.5-mw-vendor.patch 1160 BLAKE2B 37149c1ac222da71b38525ef6abeec21bc5926859725ec6c5282c5e5bee28e2f5c3e94f7bb9a0412e332c4f807ba8b4ed8544475524e857dc5b87be4128a3b44 SHA512 6513104f28eff36c18840f90e56fb21e8e04055e4e9a304ef15e5d7e1c13c8b45c4be0380b7781e776ce3b8ee9f7371ed2200e01174cc257125a613aef43ac9b
-AUX git-2.12.0-optional-cvs.patch 14388 BLAKE2B 146bb74bbf6abd2de767b6bf54f9e55fc1bd62fb52ea59800331c169b598853324b5bc3e168dbf344042c087d04436c9a71a2ba768ec21c730db5771067dba88 SHA512 fb44d17628e0c6d39053c8221296a8d81ccc84cf8cb49a0be13ecffcf79c69902f01c43c3b0ce45d2cb2c880116e2fb6d78d95e9c8d2fe5f19ff37bc4a6f8761
-AUX git-2.17.0-mw_install_path_fix.patch 1642 BLAKE2B 15a2b91abd9be5897d881d3fa09cdd5e7f54cf75846dc62301bf52f30e9de1367b13d00c7761372a5112b5db6719582afe4354468074223e9a0cc9c015ccf135 SHA512 082cbe10574c46c5658b731ca636d4d8663e3466819c423f62634576ebacfa0f4336947284e25e0e393a080016d20ccd9032def60cf251dda7341d9a24ff5ac1
-AUX git-2.17.0_rc1-optional-cvs.patch 14142 BLAKE2B 7ecff90fd346bca0eb40faa704a621f5a4d6de4e15bfcd9f43d34cd27f4844dc05771cd8ec16af7f43346900efbeb63e4611579a7eebe2923fab10c50d7e1bce SHA512 3dcf56252f0ea27f8d5fcdfa87e3637fedafcd08f92ae800b2de22276215904916c5f687f931ced74a678717a1199ea8de3ef1587720899bc51b0ced1fce3549
-AUX git-2.18.0_rc1-optional-cvs.patch 14471 BLAKE2B 0fcd6693bdcb7ef1fb843a19eb3802edb96e0f4820cc56338de6e0042a768d14a72eb4c02dd680bf4a9e536935529dcb5b1f25bd6f7980e46ca0ea0059f2d643 SHA512 d5cafb3c52b0cade0550492b4d52d96a912f9d721eb02677390b6edc7154f171c84b9b225baf42fa328b3ee0a7feaae75b4a4426b73db3deebe878ce62adf9d6
-AUX git-2.2.0-svn-fe-linking.patch 418 BLAKE2B 5030e0dfd7fef0157fd4532aa14bfdb4f2ed09a2e35ca960e0133d8e84ea07a472ddc111ea9c0033158be6e90283b76c9880c08cb7af7de53757dbf9b5d79a64 SHA512 ac312e7da4c548073d4dfa5d9bb6823ed48ea70a30d7993da190cfc4cc4b17124e15326748d79e59ca0772675619b29221a57c5af45b7b6c7196dae218772ecd
-AUX git-2.5.1-freebsd-10.x-no-iconv.patch 568 BLAKE2B 5308052e21e28f07633a4503ee1b3703e49f76fc099703a6bdf9e474200fbb2c68b0dce5f0bc495d5f0118fbb75ee2113da309122cb0c445e93b5abc6ec6830c SHA512 9f7334b2c5b69c5a6a94e198a522b176470b0ae9d428694b9a404e4bcf33d269f43c8d2d9b5834e36f9a875d12a7b21f59caaaffad6d05cb6267ab2967e64567
-AUX git-2.7.0-mediawiki-500pages.patch 1317 BLAKE2B fa90ac6f90b7b5b948dc1f9b8f300419df7b2b957aad9c15121f0b8df873d854cd74def68cd80788f085635cbbef65502b40e3eea2b3d8fb35fb02b4a4a1afa5 SHA512 efe580f288c6fdb6d55b742a3e4335ac32ed96cb12c10b959a5f283e505ab0aeed039d0d19d9dbf148a07ac6c7aec075ecea0c0be68456fdbe23dcad77ca01be
-AUX git-2.7.0-mediawiki-namespaces.patch 3188 BLAKE2B a5949c317f01244d7344bd0f5088e4bf77f723bf32734b85aa7d0abad274999733b7b33568aab5009b07fccc0f3f16ede633965fe351eb552d018a7eadfd9e83 SHA512 f1597fcb8e771917561d92bf428825e28477ed792be7494e34754434c73422dc52fdf99d981656b291f7eb91a199abe54038ae87e9b5229c9a382a4ea88e9d4f
-AUX git-2.7.0-mediawiki-subpages.patch 2091 BLAKE2B 01c6735edd80c3f264b8fe41edd5acb9fb375f0cd439ea4719932d0f0ebb8e00e3acea8e4de465bd75d35cce096dc720e3b4edabd13e80d1374af9806158e40f SHA512 e294c0d4588499961632bcc6ea20474984c4bcc7a804ff3cd9d12584cecad3c36f5772c21cf7a884b517370eb7d87542f7bdc3b2c5482c18dbc623abe5e7c73e
-AUX git-daemon-r1.initd 366 BLAKE2B b62642c38877e51259fea640193687c72b70b60f0956e225e1ea0087f86b44ed1483b293d94e8145db8da97d63d8e82c67ed67e80bd1759928b30c6460661e5e SHA512 9fbe7ff2c3ce0d22461e9d1401759d0f0a62039006f449b8b2beece85dbf37bffc6e23025f41527ff87cebb852710f01e021b30a659c4e1d71ddcbd536873412
-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.16.4.tar.xz 4968252 BLAKE2B 77f76408bde02bfacdb99d22baca05893f63c96d1fb7508c7e92541f8f7ec9ced0dad650be788fd28a1e03b5d88b88708652d07a47bedaae60a9cbd4e2eec858 SHA512 f54e431e78289349dcb927ec34873dfb801c49a41cbb3d0138346d603af26bd7d86f9ac95e7a61a4831017f3503f33374510ccf68b0e62b0691fc5a43283f1ac
-DIST git-2.17.1.tar.xz 5015484 BLAKE2B d3a61023872a15e3176e4dae6df83d4c2369a377244d44dfd7a63a15ecc3a7b145093afd5d6fa72e4eca98ba4f81f7ccd89ac2400c9cf8107ac04fd35d8bf6e4 SHA512 77c27569d40fbae1842130baa0cdda674a02e384631bd8fb1f2ddf67ce372dd4903b2ce6b4283a4ae506cdedd5daa55baa2afe6a6689528511e24e4beb864960
-DIST git-2.18.0.tar.xz 5102264 BLAKE2B 94a8469a0e489d517136233301f1af622a3e612967316620800a771721f4e558dfb9159f158ddd07d294fce3ceb256038483f5a8c1fe6a84f661710857945dce SHA512 db19363c9c2042248322d49874a27c0614acfb912183725e5d4f0331d6b44cef66a9a7da6a49bd4a17e5d86d30c5fed6bef7527f386494184595a433c4060e46
-DIST git-htmldocs-2.16.4.tar.xz 1164256 BLAKE2B 88a7ab5b094f15bc2b6c0f4d4c3eae185f6e6c0f00f4aca75492f0cc964428d1bf53002e0e43468b60b62058af5f13b061231061247e19b32bc70c2c8adb04eb SHA512 8f4a8c51656559af81296fb064ecf0f88444952c7f8ee91b85e5a61b20d200267d7432f720ded12046bab986361cff48cf7a2f5d21e05c1ac7648cc3168a0049
-DIST git-htmldocs-2.17.1.tar.xz 1173296 BLAKE2B 5133a86fb73cd58d6a9d4ed05d32949f642c9a670a49ea67c7170dfb39c4ff3f63d5f220abebcc979f87a360ec2990ccf5a9e3c18e8fcb07082bac111ecb12c7 SHA512 69054b087ffd1c88532672c6edea3cd27e08421f25c09a1a304420ec6aa20806888f71e4ef21aac1bc2fed81a045a64ae164a9dc377eb48d61887bf8d787782c
-DIST git-htmldocs-2.18.0.tar.xz 1201076 BLAKE2B f5d592cadf1eb9a24b6d6fb3c68c1ead385a350e4bfc97eee775f1921c7bf47f8790d1eea803d69cde8e381d7aa0ae4c53aebeda464c32cdd7a6558a46a9c8e7 SHA512 e227673216b67cf0e5d0abacc305a3b2a30844a6fe31aab18e37643f27c0fce7d3628366732f1518784d095eb33c1bb60b4eb00024d9ccc662deca2962db5324
-DIST git-manpages-2.16.4.tar.xz 417136 BLAKE2B 9a75913dae62fa2eb31cf48e77e266aa8d91c67b8a753c1740283b1d626dea1e9aa8d7cea06d9b97887f801b4d1f1b927014851105cefd3241ca7ab7330bfc8b SHA512 8029e9fac1eca542e809da1247f4eec3a2c81c0eb12d03aa816dcf120677011d3e409b06c28c8e7dbf41cbbcca873ec93846dc317bc73e57f4d4701ce7abf73d
-DIST git-manpages-2.17.1.tar.xz 419400 BLAKE2B af8cef1ac43c6b5ee073c7e18c161ba3ebe0669e474833211c95e72b33524050c30ca133ada98e07c8b481ffc4a5cbce1e7d68427b7aeb9bb80534c2ef3623f0 SHA512 fbdd4ef99419d244bc7c03b10cf09e92d1f0894879fe159ee1f53262daebdc7fe72d6c2bbe9e21fe354f8afb26fa06b35788e54b0c078b686706b511bf7c33ee
-DIST git-manpages-2.18.0.tar.xz 425516 BLAKE2B ff979aa0c99716da279cd4001d5907cec95e93ac93f1f2dc5dd79d456a185e0d8610a121b08b07c3c886132e94334114932881d78c7307ff287c256f993938e5 SHA512 8ae353083288e58752e6e6ff505cde6f4fa0be20465443c0517a87af28867d748eb29fc9d3dcb805b29c4e422cf4eae124b7fec5c339888ab4ebaff6360ada15
-EBUILD git-2.16.4.ebuild 19322 BLAKE2B 3653976ab35cf76c4711257faa91d9fd7f475996b925ac3a5b4cabc665623b050dde9a7ea19dc3f2b6a2e29db8900142b567ebdc958d7eef8a6c4d481e131c51 SHA512 a0549569f377552c5c2882d0e2373ee0b471c6d7e7cde9092c500174b36dafe08ba2c1c896973c4bc2c997a26c7c2a45d15aea21e9bc58695a958acd64b69171
-EBUILD git-2.17.1-r1.ebuild 19370 BLAKE2B 0bd701b427978fa0bc187922c1af1075a3d29826dd4cb40d39cf40f4569a925ebbbaad2aa0cc2cf625ac4c5f36f6d7892d5d9b286149ab92cb0d63f22ef83323 SHA512 a046b7f21cf67dacbc561a28edd9fd4d519178bf1f3dc5835e955adabaa4b7abee6dea5be4617c57e41791f55e73e8fde082d766fd0aee8fa0ed9dd7dcac3e14
-EBUILD git-2.18.0.ebuild 19309 BLAKE2B f34eb5bcbc562199c9f1b512b4c81af3a1fda9b3ad755708543a3e7dec04f4b67dfed707815426961f6e1f60427c4ed201693da35e067d2a5fbbcca60f3f74d9 SHA512 21161ecb50fc0890e40e5d525f0cb9beccc156d14767072017ff5e1b4e16d224e5cebc804c6ca66b2efd5b099a73e7dcbca2c5f445b57ea55bb36ab63d0aa4b9
-EBUILD git-9999-r1.ebuild 19309 BLAKE2B 2b2c16a81e7c84a5768dd793131c90419884edf6a17bb29d41de92e355966f4f1b64ae14d13dcc27908297de2b089088632b0eebc7b8ddf40980567e6b62215e SHA512 2f88ad919815c137ef799d4116641ee2d8caac7435205c33342da0e7f6cc7dbf741b761efca8375b2ad783162d1d1fe7115c910ffaca002601f4cc37d9e80586
-EBUILD git-9999-r2.ebuild 19309 BLAKE2B 2b2c16a81e7c84a5768dd793131c90419884edf6a17bb29d41de92e355966f4f1b64ae14d13dcc27908297de2b089088632b0eebc7b8ddf40980567e6b62215e SHA512 2f88ad919815c137ef799d4116641ee2d8caac7435205c33342da0e7f6cc7dbf741b761efca8375b2ad783162d1d1fe7115c910ffaca002601f4cc37d9e80586
-EBUILD git-9999-r3.ebuild 19311 BLAKE2B 2cc3a3473836ba77a7440d71e51dcd0f5aa9cff22e84fd939db303e74910e8da3b33eabd93b36d95ba669203b9e7b94aaf11f194125b5ebf20574d9aa3b1440f SHA512 8eabe31ddd67d843071cf8bdb510a2a91ebac6f3b0c08456dd6e2e294c39f81ce432802b2cabd333babad42849ab15be484df09d0b50e22aedcefe59e07ca3d2
-EBUILD git-9999.ebuild 19309 BLAKE2B f38bc51a1e5f629336b88f1a4ca98bbe4d06219dcca0e5b0f86a4a4153c7457843108da243afd7d713a66b39af6bb541ba5dbbe40575fccea9729a7d7d33dc8f SHA512 dd5a983ab78ffc1426e784b8130f14a1ddefe4be08c02be1fb5dd43ff0454c0734bcd5f59a1502be9ee74e212454479962f873180e6eb8d973b683f22bd7bd0d
-MISC metadata.xml 2066 BLAKE2B c5a716346a69a971cb78e5b0435f921e218ae8b07a714a4718e2238924a947f9143f10829031237ad74d051106ead5296673d58b99035ef9f77a1c5cd430242a SHA512 a0018307f19e6695002fa52a7cf898071ea8b7798ed7454f544a3bd15a3448cdab322fac5fcbae7b72e9a9ecf823c56b6ced8de560e68012be0ea6d09b0640bd
diff --git a/dev-vcs/git/files/50git-gentoo.el b/dev-vcs/git/files/50git-gentoo.el
deleted file mode 100644
index 1646a391c53c..000000000000
--- a/dev-vcs/git/files/50git-gentoo.el
+++ /dev/null
@@ -1,13 +0,0 @@
-
-;;; dev-vcs/git site-lisp configuration
-
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'git-status "git" "Entry point into git-status mode." t)
-;;(autoload 'git-blame-mode "git-blame"
-;; "Minor mode for incremental blame for Git." t)
-
-;; GNU Emacs >=22.2 already includes vc-git.el.
-;; Enable the following only if Emacs has no GIT support.
-(unless (fboundp 'vc-git-registered)
- (add-to-list 'load-path "@SITELISP@/compat")
- (add-to-list 'vc-handled-backends 'GIT))
diff --git a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch b/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
deleted file mode 100644
index 54302ef26c91..000000000000
--- a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
-index a4b6f7a..d83df2c 100644
---- a/contrib/mw-to-git/Makefile
-+++ b/contrib/mw-to-git/Makefile
-@@ -22,7 +22,7 @@ INSTALL = install
-
- SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
- INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
-- -s --no-print-directory instlibdir)
-+ -s --no-print-directory instvendorlibdir)
- DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
- INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
-
-diff --git a/perl/Makefile b/perl/Makefile
-index 15d96fc..91348c6 100644
---- a/perl/Makefile
-+++ b/perl/Makefile
-@@ -12,7 +12,7 @@ ifndef V
- QUIET = @
- endif
-
--all install instlibdir: $(makfile)
-+all install instlibdir instvendorlibdir: $(makfile)
- $(QUIET)$(MAKE) -f $(makfile) $@
-
- clean:
-diff --git a/perl/Makefile.PL b/perl/Makefile.PL
-index 3f29ba9..c0b3508 100644
---- a/perl/Makefile.PL
-+++ b/perl/Makefile.PL
-@@ -17,6 +17,8 @@ sub MY::postamble {
- return <<'MAKE_FRAG';
- instlibdir:
- @echo '$(INSTALLSITELIB)'
-+instvendorlibdir:
-+ @echo '$(INSTALLVENDORLIB)'
-
- ifneq (,$(DESTDIR))
- ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))
diff --git a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch b/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
deleted file mode 100644
index d158b65d30a4..000000000000
--- a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
+++ /dev/null
@@ -1,456 +0,0 @@
-From 1e1bacf32568cc24dbd24444ed4025fc80a96ff3 Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Sat, 25 Feb 2017 20:48:14 +0100
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-Forward-ported from v2.8.4 to v2.10.0
-Forward-ported from v2.10.0 to v2.12.0
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile | 51 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh | 5 ++++
- t/t9400-git-cvsserver-server.sh | 8 +++++-
- t/t9401-git-cvsserver-crlf.sh | 15 +++++++----
- t/t9600-cvsimport.sh | 41 +++++++++++++++++++-----------
- t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
- t/t9603-cvsimport-patchsets.sh | 11 ++++++++
- t/test-lib.sh | 1 +
- 9 files changed, 120 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8e4081e06..f14a4ad37 100644
---- a/Makefile
-+++ b/Makefile
-@@ -273,6 +273,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system. Only used if NO_TCLTK
- # is not set. Defaults to the bare 'tclsh'.
-@@ -496,6 +498,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -532,12 +535,13 @@ SCRIPT_LIB += git-sh-i18n
-
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
-
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
-
- NO_INSTALL += git-remote-testgit
-@@ -545,24 +549,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
-
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
-
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
-
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -571,12 +577,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- $(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
-- $(RM) $(SCRIPT_PERL_GEN)
-+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- $(RM) $(SCRIPT_PYTHON_GEN)
-
- SCRIPTS = $(SCRIPT_SH_INS) \
- $(SCRIPT_PERL_INS) \
-+ $(SCRIPT_PERL_CVS_INS) \
- $(SCRIPT_PYTHON_INS) \
- git-instaweb
-
-@@ -1832,10 +1839,24 @@ git.res: git.rc GIT-VERSION-FILE
- -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
-
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
-
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN): perl/perl.mak
-+
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN): perl/perl.mak
-
- perl/perl.mak: perl/PM.stamp
-
-@@ -1848,7 +1869,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
- $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
-
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
- $(QUIET_GEN)$(RM) $@ $@+ && \
- INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
- INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -1882,14 +1903,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- chmod +x $@+ && \
- mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- $(QUIET_GEN)$(RM) $@ $@+ && \
- sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- unimplemented.sh >$@+ && \
- chmod +x $@+ && \
- mv $@+ $@
--endif # NO_PERL
-
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2125,7 +2150,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-parse-remote.sh
- LOCALIZED_SH += git-rebase--interactive.sh
- LOCALIZED_SH += git-sh-setup.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
-
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index bb879a527..17be19729 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- test_done
- fi
-
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git cvsexportcommit tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 432c61d24..6907b3f52 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
-
- if ! test_have_prereq PERL; then
-- skip_all='skipping git cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 84787eee9..eecba8852 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
- return $stat
- }
-
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
-- skip_all='skipping git-cvsserver tests, cvs not found'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
-- skip_all='skipping git-cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+ skip_all='skipping git-cvsserver tests, cvs not found'
- test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 4c384ff02..d601f32c5 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -3,14 +3,25 @@
- test_description='git cvsimport basic tests'
- . ./lib-cvs.sh
-
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- CVSROOT=$(pwd)/cvsroot &&
- export CVSROOT
- '
-
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
-
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
-
- mkdir "$CVSROOT/module" &&
- $CVS co -d module-cvs module &&
-@@ -42,23 +53,23 @@ EOF
- )
- '
-
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
-
- git cvsimport -a -R -z 0 -C module-git module &&
- test_cmp module-cvs/o_fortuna module-git/o_fortuna
-
- '
-
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
-
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1) > expected &&
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- (cd module-cvs &&
- cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -86,7 +97,7 @@ EOF
- )
- '
-
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
-
- (cd module-git &&
- git config cvsimport.trackRevisions true &&
-@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
-
- '
-
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
-
- (cd module-cvs &&
- echo 1 >tick &&
-@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
- )
- '
-
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
-
- (cd module-git &&
- git config cvsimport.module module &&
-@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
-
- '
-
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
-
- $CVS co -d import-from-wt module &&
- (cd import-from-wt &&
-@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
-
- '
-
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
-
- ! test -e import-from-wt/.git/cvs-revisions
-
- '
-
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
-
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f5b..d730a41f6 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9601
-
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323f5..68f097401 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9602
-
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c4954..9b2957d4f 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9603
-
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 86d77c16d..1fb51f149 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -1007,6 +1007,7 @@ case $uname_s in
- esac
-
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
- test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
---
-2.11.1
-
diff --git a/dev-vcs/git/files/git-2.17.0-mw_install_path_fix.patch b/dev-vcs/git/files/git-2.17.0-mw_install_path_fix.patch
deleted file mode 100644
index 5a66a4c89be0..000000000000
--- a/dev-vcs/git/files/git-2.17.0-mw_install_path_fix.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From cfb3a47cada99d1bdccd08426f122ded2a63834e Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@eworm.de>
-Date: Tue, 10 Apr 2018 15:36:41 +0200
-Subject: [PATCH] perl: fix installing modules from contrib
-
-Commit 20d2a30f (Makefile: replace perl/Makefile.PL with simple make rules)
-removed a target that allowed Makefiles from contrib/ to get the correct
-install path. This introduces a new target for main Makefile and fixes
-installation for Mediawiki module.
-
-v2: Pass prefix as that can have influence as well, add single quotes
- for _SQ variant.
-
-Signed-off-by: Christian Hesse <mail@eworm.de>
----
- Makefile | 2 ++
- contrib/mw-to-git/Makefile | 5 +++--
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 2091f5f892cc8..75b9ad3b480cb 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1973,6 +1973,8 @@ GIT-PERL-DEFINES: FORCE
- echo "$$FLAGS" >$@; \
- fi
-
-+perllibdir:
-+ @echo '$(perllibdir_SQ)'
-
- .PHONY: gitweb
- gitweb:
-diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
-index a4b6f7a2cd412..4e603512a39fe 100644
---- a/contrib/mw-to-git/Makefile
-+++ b/contrib/mw-to-git/Makefile
-@@ -21,8 +21,9 @@ HERE=contrib/mw-to-git/
- INSTALL = install
-
- SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
--INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
-- -s --no-print-directory instlibdir)
-+INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/ \
-+ -s --no-print-directory prefix=$(prefix) \
-+ perllibdir=$(perllibdir) perllibdir)
- DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
- INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
-
diff --git a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
deleted file mode 100644
index 60cebcbb4d64..000000000000
--- a/dev-vcs/git/files/git-2.17.0_rc1-optional-cvs.patch
+++ /dev/null
@@ -1,451 +0,0 @@
-From 3baea661143aaddb285f1ac7c50f6e4af76c8aed Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Fri, 23 Mar 2018 10:05:05 +0100
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-Forward-ported from v2.8.4 to v2.10.0
-Forward-ported from v2.10.0 to v2.12.0
-Forward-ported from v2.12.0 to v2.17.0-rc1
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile | 50 ++++++++++++++++++++++++++++----------
- t/t9200-git-cvsexportcommit.sh | 5 ++++
- t/t9400-git-cvsserver-server.sh | 8 +++++-
- t/t9401-git-cvsserver-crlf.sh | 15 ++++++++----
- t/t9600-cvsimport.sh | 41 +++++++++++++++++++------------
- t/t9601-cvsimport-vendor-branch.sh | 11 +++++++++
- t/t9602-cvsimport-branches-tags.sh | 11 +++++++++
- t/t9603-cvsimport-patchsets.sh | 11 +++++++++
- t/test-lib.sh | 1 +
- 9 files changed, 119 insertions(+), 34 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index a1d8775adb..4264475ad1 100644
---- a/Makefile
-+++ b/Makefile
-@@ -312,6 +312,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system. Only used if NO_TCLTK
- # is not set. Defaults to the bare 'tclsh'.
-@@ -543,6 +545,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -579,12 +582,13 @@ SCRIPT_LIB += git-sh-i18n
-
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
-
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
-
- NO_INSTALL += git-remote-testgit
-@@ -592,24 +596,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
-
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
-
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
-
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -618,12 +624,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- $(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
-- $(RM) $(SCRIPT_PERL_GEN)
-+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- $(RM) $(SCRIPT_PYTHON_GEN)
-
- SCRIPTS = $(SCRIPT_SH_INS) \
- $(SCRIPT_PERL_INS) \
-+ $(SCRIPT_PERL_CVS_INS) \
- $(SCRIPT_PYTHON_INS) \
- git-instaweb
-
-@@ -1972,13 +1979,26 @@ git.res: git.rc GIT-VERSION-FILE
- -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
-
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
-
- ifndef NO_PERL
--$(SCRIPT_PERL_GEN):
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN):
-
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
--$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-VERSION-FILE
- $(QUIET_GEN)$(RM) $@ $@+ && \
- INSTLIBDIR='$(perllibdir_SQ)' && \
- INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
-@@ -2012,14 +2032,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- chmod +x $@+ && \
- mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- $(QUIET_GEN)$(RM) $@ $@+ && \
- sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- unimplemented.sh >$@+ && \
- chmod +x $@+ && \
- mv $@+ $@
--endif # NO_PERL
-
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2258,7 +2282,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-parse-remote.sh
- LOCALIZED_SH += git-rebase--interactive.sh
- LOCALIZED_SH += git-sh-setup.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
-
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index 1319415ba8..34ac8e28e2 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- test_done
- fi
-
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git cvsexportcommit tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 06742748e9..51d474d94b 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
-
- if ! test_have_prereq PERL; then
-- skip_all='skipping git cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 84787eee9a..eecba88527 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
- return $stat
- }
-
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
-- skip_all='skipping git-cvsserver tests, cvs not found'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
-- skip_all='skipping git-cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+ skip_all='skipping git-cvsserver tests, cvs not found'
- test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 804ce3850f..c53c50e432 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
- test_done
- fi
-
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- CVSROOT=$(pwd)/cvsroot &&
- export CVSROOT
- '
-
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
-
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
-
- mkdir "$CVSROOT/module" &&
- $CVS co -d module-cvs module &&
-@@ -47,23 +58,23 @@ EOF
- )
- '
-
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
-
- git cvsimport -a -R -z 0 -C module-git module &&
- test_cmp module-cvs/o_fortuna module-git/o_fortuna
-
- '
-
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
-
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1) > expected &&
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- (cd module-cvs &&
- cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -91,7 +102,7 @@ EOF
- )
- '
-
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
-
- (cd module-git &&
- git config cvsimport.trackRevisions true &&
-@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
-
- '
-
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
-
- (cd module-cvs &&
- echo 1 >tick &&
-@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
- )
- '
-
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
-
- (cd module-git &&
- git config cvsimport.module module &&
-@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
-
- '
-
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
-
- $CVS co -d import-from-wt module &&
- (cd import-from-wt &&
-@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
-
- '
-
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
-
- ! test -e import-from-wt/.git/cvs-revisions
-
- '
-
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
-
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f5bf..d730a41f67 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9601
-
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323f54..68f097401f 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9602
-
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c49546..9b2957d4f0 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9603
-
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 7740d511d2..9b26b78359 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -1062,6 +1062,7 @@ case $uname_s in
- esac
-
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
---
-2.16.3
-
diff --git a/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch b/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch
deleted file mode 100644
index 2e213c00522a..000000000000
--- a/dev-vcs/git/files/git-2.18.0_rc1-optional-cvs.patch
+++ /dev/null
@@ -1,460 +0,0 @@
-From 7b0d0d066a5f869f86f2be125d63ae98c1451feb Mon Sep 17 00:00:00 2001
-From: Robin Johnson <robbat2@gentoo.org>
-Date: Wed, 6 Jun 2018 16:25:13 +0200
-Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
- utilities
-
-Forward-ported from 1.7.12 to current git.git v1.8.4
-Forward-ported from v1.8.4 to v1.8.5.1
-Forward-ported from v1.8.5.3 to v1.9.0_rc3
-Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
-Forward-ported from v2.0.0_rc0 to v2.0.0
-Forward-ported from v2.0.0 to v2.2.2
-Forward-ported from v2.2.2 to v2.8.4
-Forward-ported from v2.8.4 to v2.10.0
-Forward-ported from v2.10.0 to v2.12.0
-Forward-ported from v2.12.0 to v2.17.0-rc1
-Forward-ported from v2.17.0-rc1 to v2.18.0-rc1
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile | 49 ++++++++++++++++++++++--------
- t/t9200-git-cvsexportcommit.sh | 5 +++
- t/t9400-git-cvsserver-server.sh | 8 ++++-
- t/t9401-git-cvsserver-crlf.sh | 15 ++++++---
- t/t9600-cvsimport.sh | 41 ++++++++++++++++---------
- t/t9601-cvsimport-vendor-branch.sh | 11 +++++++
- t/t9602-cvsimport-branches-tags.sh | 11 +++++++
- t/t9603-cvsimport-patchsets.sh | 11 +++++++
- t/test-lib.sh | 1 +
- 9 files changed, 119 insertions(+), 33 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 1d27f36365..b30a14e263 100644
---- a/Makefile
-+++ b/Makefile
-@@ -312,6 +312,8 @@ all::
- # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
- # and egrep that are pickier when their input contains non-ASCII data.
- #
-+# Define NO_CVS if you do not want any CVS interface utilities.
-+#
- # The TCL_PATH variable governs the location of the Tcl interpreter
- # used to optimize git-gui for your system. Only used if NO_TCLTK
- # is not set. Defaults to the bare 'tclsh'.
-@@ -589,6 +591,7 @@ LIB_OBJS =
- PROGRAM_OBJS =
- PROGRAMS =
- SCRIPT_PERL =
-+SCRIPT_PERL_CVS =
- SCRIPT_PYTHON =
- SCRIPT_SH =
- SCRIPT_LIB =
-@@ -626,12 +629,13 @@ SCRIPT_LIB += git-sh-i18n
-
- SCRIPT_PERL += git-add--interactive.perl
- SCRIPT_PERL += git-archimport.perl
--SCRIPT_PERL += git-cvsexportcommit.perl
--SCRIPT_PERL += git-cvsimport.perl
--SCRIPT_PERL += git-cvsserver.perl
- SCRIPT_PERL += git-send-email.perl
- SCRIPT_PERL += git-svn.perl
-
-+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
-+SCRIPT_PERL_CVS += git-cvsimport.perl
-+SCRIPT_PERL_CVS += git-cvsserver.perl
-+
- SCRIPT_PYTHON += git-p4.py
-
- NO_INSTALL += git-remote-testgit
-@@ -639,24 +643,26 @@ NO_INSTALL += git-remote-testgit
- # Generated files for scripts
- SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
- SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
-+SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
- SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
-
- SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
- SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
-+SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
- SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
-
- # Individual rules to allow e.g.
- # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
- # from subdirectories like contrib/*/
- .PHONY: build-perl-script build-sh-script build-python-script
--build-perl-script: $(SCRIPT_PERL_GEN)
-+build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- build-sh-script: $(SCRIPT_SH_GEN)
- build-python-script: $(SCRIPT_PYTHON_GEN)
-
- .PHONY: install-perl-script install-sh-script install-python-script
- install-sh-script: $(SCRIPT_SH_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
--install-perl-script: $(SCRIPT_PERL_INS)
-+install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
- install-python-script: $(SCRIPT_PYTHON_INS)
- $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
-@@ -665,12 +671,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
- clean-sh-script:
- $(RM) $(SCRIPT_SH_GEN)
- clean-perl-script:
-- $(RM) $(SCRIPT_PERL_GEN)
-+ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
- clean-python-script:
- $(RM) $(SCRIPT_PYTHON_GEN)
-
- SCRIPTS = $(SCRIPT_SH_INS) \
- $(SCRIPT_PERL_INS) \
-+ $(SCRIPT_PERL_CVS_INS) \
- $(SCRIPT_PYTHON_INS) \
- git-instaweb
-
-@@ -2076,13 +2083,27 @@ git.res: git.rc GIT-VERSION-FILE
- -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
-
- # This makes sure we depend on the NO_PERL setting itself.
--$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
-+$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
-+
-+_SCRIPT_PERL_GEN =
-+_SCRIPT_PERL_NOGEN =
-
- # Used for substitution in Perl modules. Disabled when using RUNTIME_PREFIX
- # since the locale directory is injected.
- perl_localedir_SQ = $(localedir_SQ)
-
- ifndef NO_PERL
-+_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
-+
-+ifndef NO_CVS
-+_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
-+else
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
-+_REASON = NO_CVS
-+_REASON_CONTENT = $(NO_CVS)
-+endif # NO_CVS
-+
-+$(_SCRIPT_PERL_GEN):
- PERL_HEADER_TEMPLATE = perl/header_templates/fixed_prefix.template.pl
- PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ):$(perllibdir_SQ)
-
-@@ -2103,7 +2124,7 @@ endif
-
- PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
-
--$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
-+$(_SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
- $(QUIET_GEN)$(RM) $@ $@+ && \
- sed -e '1{' \
- -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
-@@ -2149,14 +2170,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
- chmod +x $@+ && \
- mv $@+ $@
- else # NO_PERL
--$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
-+_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
-+_REASON = NO_PERL
-+_REASON_CONTENT = $(NO_PERL)
-+endif # NO_PERL
-+
-+$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
- $(QUIET_GEN)$(RM) $@ $@+ && \
- sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-+ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
- unimplemented.sh >$@+ && \
- chmod +x $@+ && \
- mv $@+ $@
--endif # NO_PERL
-
- # This makes sure we depend on the NO_PYTHON setting itself.
- $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
-@@ -2396,7 +2421,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-parse-remote.sh
- LOCALIZED_SH += git-rebase--interactive.sh
- LOCALIZED_SH += git-sh-setup.sh
--LOCALIZED_PERL = $(SCRIPT_PERL)
-+LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
-
- ifdef XGETTEXT_INCLUDE_TESTS
- LOCALIZED_C += t/t0200/test.c
-diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
-index 1319415ba8..34ac8e28e2 100755
---- a/t/t9200-git-cvsexportcommit.sh
-+++ b/t/t9200-git-cvsexportcommit.sh
-@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
- test_done
- fi
-
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git cvsexportcommit tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
-index 06742748e9..51d474d94b 100755
---- a/t/t9400-git-cvsserver-server.sh
-+++ b/t/t9400-git-cvsserver-server.sh
-@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
- . ./test-lib.sh
-
- if ! test_have_prereq PERL; then
-- skip_all='skipping git cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
-+
-+if ! test_have_prereq CVS; then
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+
- cvs >/dev/null 2>&1
- if test $? -ne 1
- then
-diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
-index 84787eee9a..eecba88527 100755
---- a/t/t9401-git-cvsserver-crlf.sh
-+++ b/t/t9401-git-cvsserver-crlf.sh
-@@ -57,15 +57,20 @@ check_status_options() {
- return $stat
- }
-
--cvs >/dev/null 2>&1
--if test $? -ne 1
-+if ! test_have_prereq PERL
- then
-- skip_all='skipping git-cvsserver tests, cvs not found'
-+ skip_all='skipping git-cvsserver tests, perl not available'
- test_done
- fi
--if ! test_have_prereq PERL
-+if ! test_have_prereq CVS
- then
-- skip_all='skipping git-cvsserver tests, perl not available'
-+ skip_all='skipping git-cvsserver tests, cvs not available'
-+ test_done
-+fi
-+cvs >/dev/null 2>&1
-+if test $? -ne 1
-+then
-+ skip_all='skipping git-cvsserver tests, cvs not found'
- test_done
- fi
- perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
-diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
-index 804ce3850f..c53c50e432 100755
---- a/t/t9600-cvsimport.sh
-+++ b/t/t9600-cvsimport.sh
-@@ -8,14 +8,25 @@ if ! test_have_prereq NOT_ROOT; then
- test_done
- fi
-
--test_expect_success PERL 'setup cvsroot environment' '
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
-+test_expect_success 'setup cvsroot environment' '
- CVSROOT=$(pwd)/cvsroot &&
- export CVSROOT
- '
-
--test_expect_success PERL 'setup cvsroot' '$CVS init'
-+test_expect_success 'setup cvsroot' '$CVS init'
-
--test_expect_success PERL 'setup a cvs module' '
-+test_expect_success 'setup a cvs module' '
-
- mkdir "$CVSROOT/module" &&
- $CVS co -d module-cvs module &&
-@@ -47,23 +58,23 @@ EOF
- )
- '
-
--test_expect_success PERL 'import a trivial module' '
-+test_expect_success 'import a trivial module' '
-
- git cvsimport -a -R -z 0 -C module-git module &&
- test_cmp module-cvs/o_fortuna module-git/o_fortuna
-
- '
-
--test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
-+test_expect_success 'pack refs' '(cd module-git && git gc)'
-
--test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
-+test_expect_success 'initial import has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1) > expected &&
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
- (cd module-cvs &&
- cat <<EOF >o_fortuna &&
- O Fortune,
-@@ -91,7 +102,7 @@ EOF
- )
- '
-
--test_expect_success PERL 'update git module' '
-+test_expect_success 'update git module' '
-
- (cd module-git &&
- git config cvsimport.trackRevisions true &&
-@@ -102,7 +113,7 @@ test_expect_success PERL 'update git module' '
-
- '
-
--test_expect_success PERL 'update has correct .git/cvs-revisions' '
-+test_expect_success 'update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
-@@ -110,7 +121,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'update cvs module' '
-+test_expect_success 'update cvs module' '
-
- (cd module-cvs &&
- echo 1 >tick &&
-@@ -119,7 +130,7 @@ test_expect_success PERL 'update cvs module' '
- )
- '
-
--test_expect_success PERL 'cvsimport.module config works' '
-+test_expect_success 'cvsimport.module config works' '
-
- (cd module-git &&
- git config cvsimport.module module &&
-@@ -131,7 +142,7 @@ test_expect_success PERL 'cvsimport.module config works' '
-
- '
-
--test_expect_success PERL 'second update has correct .git/cvs-revisions' '
-+test_expect_success 'second update has correct .git/cvs-revisions' '
-
- (cd module-git &&
- git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
-@@ -140,7 +151,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
- test_cmp expected module-git/.git/cvs-revisions
- '
-
--test_expect_success PERL 'import from a CVS working tree' '
-+test_expect_success 'import from a CVS working tree' '
-
- $CVS co -d import-from-wt module &&
- (cd import-from-wt &&
-@@ -153,12 +164,12 @@ test_expect_success PERL 'import from a CVS working tree' '
-
- '
-
--test_expect_success PERL 'no .git/cvs-revisions created by default' '
-+test_expect_success 'no .git/cvs-revisions created by default' '
-
- ! test -e import-from-wt/.git/cvs-revisions
-
- '
-
--test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
-+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
-
- test_done
-diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
-index 827d39f5bf..d730a41f67 100755
---- a/t/t9601-cvsimport-vendor-branch.sh
-+++ b/t/t9601-cvsimport-vendor-branch.sh
-@@ -34,6 +34,17 @@
- test_description='git cvsimport handling of vendor branches'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9601
-
- test_expect_success PERL 'import a module with a vendor branch' '
-diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
-index e1db323f54..68f097401f 100755
---- a/t/t9602-cvsimport-branches-tags.sh
-+++ b/t/t9602-cvsimport-branches-tags.sh
-@@ -6,6 +6,17 @@
- test_description='git cvsimport handling of branches and tags'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9602
-
- test_expect_success PERL 'import module' '
-diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
-index c4c3c49546..9b2957d4f0 100755
---- a/t/t9603-cvsimport-patchsets.sh
-+++ b/t/t9603-cvsimport-patchsets.sh
-@@ -14,6 +14,17 @@
- test_description='git cvsimport testing for correct patchset estimation'
- . ./lib-cvs.sh
-
-+if ! test_have_prereq PERL
-+then
-+ skip_all='skipping git cvsimport tests, perl not available'
-+ test_done
-+fi
-+if ! test_have_prereq CVS
-+then
-+ skip_all='skipping git cvsimport tests, cvs not available'
-+ test_done
-+fi
-+
- setup_cvs_test_repository t9603
-
- test_expect_failure PERL 'import with criss cross times on revisions' '
-diff --git a/t/test-lib.sh b/t/test-lib.sh
-index 28315706be..6e2f99cdbb 100644
---- a/t/test-lib.sh
-+++ b/t/test-lib.sh
-@@ -1064,6 +1064,7 @@ case $uname_s in
- esac
-
- ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
-+test -z "$NO_CVS" && test_set_prereq CVS
- test -z "$NO_PERL" && test_set_prereq PERL
- test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
- test -z "$NO_PYTHON" && test_set_prereq PYTHON
---
-2.17.1
-
diff --git a/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch b/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch
deleted file mode 100644
index b20b889110eb..000000000000
--- a/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git-2.2.0/contrib/svn-fe/Makefile
-+++ git-2.2.0/contrib/svn-fe/Makefile
-@@ -74,7 +74,7 @@
- endif
-
- svn-fe$X: svn-fe.o $(VCSSVN_LIB) $(XDIFF_LIB) $(GIT_LIB)
-- $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(EXTLIBS) -o $@ svn-fe.o $(LIBS)
-+ $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ svn-fe.o $(LIBS) $(EXTLIBS)
-
- svn-fe.o: svn-fe.c ../../vcs-svn/svndump.h
- $(QUIET_CC)$(CC) $(CFLAGS) -I../../vcs-svn -o $*.o -c $<
diff --git a/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch b/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch
deleted file mode 100644
index a874236dc65c..000000000000
--- a/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naurp git-2.5.1.orig/config.mak.uname git-2.5.1/config.mak.uname
---- git-2.5.1.orig/config.mak.uname 2015-08-28 15:37:13.000000000 -0400
-+++ git-2.5.1/config.mak.uname 2015-09-06 18:54:28.538437000 -0400
-@@ -189,7 +189,9 @@ ifeq ($(uname_O),Cygwin)
- SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield
- endif
- ifeq ($(uname_S),FreeBSD)
-- NEEDS_LIBICONV = YesPlease
-+ ifeq ($(shell expr "$(uname_R)" : '[1-9]\.'),2)
-+ NEEDS_LIBICONV = YesPlease
-+ endif
- OLD_ICONV = YesPlease
- NO_MEMMEM = YesPlease
- BASIC_CFLAGS += -I/usr/local/include
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
deleted file mode 100644
index 0ce706db99a6..000000000000
--- a/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Searching for pages using the MediaWiki API returns at most 500 results
-(hi Patrick). To get a list of all pages in a larger wiki, we need to run
-repeated searches...
-
-Source: https://github.com/moy/Git-Mediawiki/issues/32
-Author: anarcat https://github.com/anarcat
-
-diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
-index 8dd74a9..f2ce311 100755
---- a/contrib/mw-to-git/git-remote-mediawiki.perl
-+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
-@@ -259,16 +259,29 @@ sub get_mw_tracked_categories {
- sub get_mw_all_pages {
- my $pages = shift;
- # No user-provided list, get the list of pages from the API.
-- my $mw_pages = $mediawiki->list({
-+ my $query = {
- action => 'query',
- list => 'allpages',
- aplimit => 'max'
-- });
-- if (!defined($mw_pages)) {
-+ };
-+ my $curpage;
-+ my $oldpage = '';
-+ while (1) {
-+ if (defined($curpage)) {
-+ if ($oldpage eq $curpage) {
-+ last;
-+ }
-+ $query->{apfrom} = $curpage;
-+ $oldpage = $curpage;
-+ }
-+ my $mw_pages = $mediawiki->list($query);
-+ if (!defined($mw_pages)) {
- fatal_mw_error("get the list of wiki pages");
-- }
-- foreach my $page (@{$mw_pages}) {
-+ }
-+ foreach my $page (@{$mw_pages}) {
- $pages->{$page->{title}} = $page;
-+ $curpage = $page->{title};
-+ }
- }
- return;
- }
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
deleted file mode 100644
index 72ab2126fa9c..000000000000
--- a/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-source:
-https://gist.github.com/anarcat/f821fa285c6b8b6b16a5
-https://github.com/moy/Git-Mediawiki/issues/10
-
-
-From 147224cfe6143c44b16aec0bb6d6a506a6b96ced Mon Sep 17 00:00:00 2001
-From: Kevin <kevin@ki-ai.org>
-Date: Fri, 28 Aug 2015 15:53:37 -0500
-Subject: [PATCH] Add namespace support to git-mediawiki
-
-Signed-off-by: Kevin <kevin@ki-ai.org>
----
- contrib/mw-to-git/git-remote-mediawiki.perl | 34 +++++++++++++++++++++++++++--
- 1 file changed, 32 insertions(+), 2 deletions(-)
-
-diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
-index 8dd74a9..662a5b5 100755
---- a/contrib/mw-to-git/git-remote-mediawiki.perl
-+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
-@@ -17,6 +17,7 @@ use Git;
- use Git::Mediawiki qw(clean_filename smudge_filename connect_maybe
- EMPTY HTTP_CODE_OK);
- use DateTime::Format::ISO8601;
-+use Scalar::Util;
- use warnings;
-
- # By default, use UTF-8 to communicate with Git and the user
-@@ -63,6 +64,10 @@ chomp(@tracked_pages);
- my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
- chomp(@tracked_categories);
-
-+# Just like @tracked_categories, but for MediaWiki namespaces.
-+my @tracked_namespaces = split(/[ \n]/, run_git("config --get-all remote.${remotename}.namespaces"));
-+chomp(@tracked_namespaces);
-+
- # Import media files on pull
- my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
- chomp($import_media);
-@@ -256,6 +261,23 @@ sub get_mw_tracked_categories {
- return;
- }
-
-+sub get_mw_tracked_namespaces {
-+ my $pages = shift;
-+ foreach my $local_namespace (@tracked_namespaces) {
-+ my $mw_pages = $mediawiki->list( {
-+ action => 'query',
-+ list => 'allpages',
-+ apnamespace => get_mw_namespace_id($local_namespace),
-+ aplimit => 'max' } )
-+ || die $mediawiki->{error}->{code} . ': '
-+ . $mediawiki->{error}->{details} . "\n";
-+ foreach my $page (@{$mw_pages}) {
-+ $pages->{$page->{title}} = $page;
-+ }
-+ }
-+ return;
-+}
-+
- sub get_mw_all_pages {
- my $pages = shift;
- # No user-provided list, get the list of pages from the API.
-@@ -319,6 +341,10 @@ sub get_mw_pages {
- $user_defined = 1;
- get_mw_tracked_categories(\%pages);
- }
-+ if (@tracked_namespaces) {
-+ $user_defined = 1;
-+ get_mw_tracked_namespaces(\%pages);
-+ }
- if (!$user_defined) {
- get_mw_all_pages(\%pages);
- }
-@@ -1263,7 +1289,6 @@ my %cached_mw_namespace_id;
- sub get_mw_namespace_id {
- $mediawiki = connect_maybe($mediawiki, $remotename, $url);
- my $name = shift;
--
- if (!exists $namespace_id{$name}) {
- # Look at configuration file, if the record for that namespace is
- # already cached. Namespaces are stored in form:
-@@ -1331,7 +1356,12 @@ sub get_mw_namespace_id {
- sub get_mw_namespace_id_for_page {
- my $namespace = shift;
- if ($namespace =~ /^([^:]*):/) {
-- return get_mw_namespace_id($namespace);
-+ my ($ns, $id) = split(/:/, $namespace);
-+ if (Scalar::Util::looks_like_number($id)) {
-+ return get_mw_namespace_id($ns);
-+ } else{
-+ return
-+ }
- } else {
- return;
- }
---
-2.5.0
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
deleted file mode 100644
index c798a894d3f8..000000000000
--- a/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 2593304723c6def159c10b9060dafa78a775a057 Mon Sep 17 00:00:00 2001
-From: Lyubomyr Shaydariv <lyubomyr-shaydariv@users.noreply.github.com>
-Date: Fri, 11 Sep 2015 00:41:17 +0300
-Subject: [PATCH] git-remote-mediawiki: support subpages as subdirectories
-
-This is a fix for https://github.com/moy/Git-Mediawiki/issues/22
-The subdirectories option is enabled using -c remote.origin.subpageDirs=true
-during the cloning and it is not recommended to be modified in or
-removed from .git/config after the cloning.
----
- contrib/mw-to-git/git-remote-mediawiki.perl | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
-index 8dd74a9..f3624be 100755
---- a/contrib/mw-to-git/git-remote-mediawiki.perl
-+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
-@@ -63,6 +63,11 @@
- my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
- chomp(@tracked_categories);
-
-+# Use subdirectories for subpages
-+my $use_subpage_dirs = run_git("config --get --bool remote.${remotename}.subpageDirs");
-+chomp($use_subpage_dirs);
-+$use_subpage_dirs = ($use_subpage_dirs eq 'true');
-+
- # Import media files on pull
- my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
- chomp($import_media);
-@@ -689,6 +694,9 @@ sub fe_escape_path {
- $path =~ s/\\/\\\\/g;
- $path =~ s/"/\\"/g;
- $path =~ s/\n/\\n/g;
-+ if ($use_subpage_dirs) {
-+ $path =~ s/%2F/\//g;
-+ }
- return qq("${path}");
- }
-
-@@ -927,7 +935,7 @@ sub mw_import_revids {
- # If this is a revision of the media page for new version
- # of a file do one common commit for both file and media page.
- # Else do commit only for that page.
-- print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of $commit{title}\n";
-+ print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of ", fe_escape_path($commit{title}), "\n";
- import_file_revision(\%commit, ($fetch_from == 1), $n_actual, \%mediafile);
- }
-
diff --git a/dev-vcs/git/files/git-daemon-r1.initd b/dev-vcs/git/files/git-daemon-r1.initd
deleted file mode 100644
index 78e5444ed4db..000000000000
--- a/dev-vcs/git/files/git-daemon-r1.initd
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/var/run/git-daemon.pid"
-command="/usr/bin/git"
-command_args="daemon ${GITDAEMON_OPTS}"
-command_user="${GIT_USER:-nobody}:${GIT_GROUP:-nobody}"
-start_stop_daemon_args="-e HOME= -e XDG_CONFIG_HOME= -b -m"
-
-depend() {
- use logger
-}
diff --git a/dev-vcs/git/files/git-daemon.confd b/dev-vcs/git/files/git-daemon.confd
deleted file mode 100644
index 69b209ff18cc..000000000000
--- a/dev-vcs/git/files/git-daemon.confd
+++ /dev/null
@@ -1,19 +0,0 @@
-# conf.d file for git-daemon
-#
-# Please check man 1 git-daemon for more information about the options
-# git-daemon accepts. You MUST edit this to include your repositories you wish
-# to serve.
-#
-# Some of the meaningful options are:
-# --syslog --- Enables syslog logging
-# --verbose --- Enables verbose logging
-# --export-all --- Exports all repositories
-# --port=XXXX --- Starts in port XXXX instead of 9418
-#
-GITDAEMON_OPTS="--syslog --base-path=/var/git"
-
-# To run an anonymous git safely, the following user should be able to only
-# read your Git repositories. It should not be able to write to anywhere on
-# your system, esp. not the repositories.
-GIT_USER="nobody"
-GIT_GROUP="nobody"
diff --git a/dev-vcs/git/files/git-daemon.socket b/dev-vcs/git/files/git-daemon.socket
deleted file mode 100644
index 3dec01d21653..000000000000
--- a/dev-vcs/git/files/git-daemon.socket
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Git Activation Socket
-
-[Socket]
-ListenStream=9418
-Accept=true
-
-[Install]
-WantedBy=sockets.target
diff --git a/dev-vcs/git/files/git-daemon.xinetd b/dev-vcs/git/files/git-daemon.xinetd
deleted file mode 100644
index 02c938d4bd6c..000000000000
--- a/dev-vcs/git/files/git-daemon.xinetd
+++ /dev/null
@@ -1,13 +0,0 @@
-service git-daemon
-{
- disable = yes
- socket_type = stream
- wait = no
- user = nobody
- type = UNLISTED
- protocol = tcp
- log_on_failure += USERID
- port = 9418
- server = /usr/bin/git
- server_args = daemon --inetd --syslog --export-all --base-path=/var/git
-}
diff --git a/dev-vcs/git/files/git-daemon_at-r1.service b/dev-vcs/git/files/git-daemon_at-r1.service
deleted file mode 100644
index 0a1bd14b16a3..000000000000
--- a/dev-vcs/git/files/git-daemon_at-r1.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Git Repositories Server Daemon
-Documentation=man:git-daemon(1)
-
-[Service]
-User=nobody
-Group=nobody
-# Ignore non-zero exit status, access error makes git-daemon return them
-ExecStart=-/usr/libexec/git-core/git-daemon --inetd --base-path=/var/git --verbose
-StandardInput=socket
-StandardOutput=inherit
-StandardError=journal
diff --git a/dev-vcs/git/git-2.16.4.ebuild b/dev-vcs/git/git-2.16.4.ebuild
deleted file mode 100644
index 3c560c003185..000000000000
--- a/dev-vcs/git/git-2.16.4.ebuild
+++ /dev/null
@@ -1,699 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- perl? ( dev-perl/Error
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
- cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
- subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE=50${PN}-gentoo.el
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.12.0-optional-cvs.patch
-
- # install mediawiki perl modules also in vendor_dir
- # hack, needs better upstream solution
- "${FILESDIR}"/git-1.8.5-mw-vendor.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts
-
- if use blksha1 ; then
- myopts+=" BLK_SHA1=YesPlease"
- elif use ppcsha1 ; then
- myopts+=" PPC_SHA1=YesPlease"
- fi
-
- if use curl ; then
- use webdav || myopts+=" NO_EXPAT=YesPlease"
- else
- myopts+=" NO_CURL=YesPlease"
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
- myopts+=" INSTALL=install TAR=tar"
- myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
- myopts+=" SANE_TOOL_PATH="
- myopts+=" OLD_ICONV="
- myopts+=" NO_EXTERNAL_GREP="
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
-
- use iconv \
- || myopts+=" NO_ICONV=YesPlease"
- use nls \
- || myopts+=" NO_GETTEXT=YesPlease"
- use tk \
- || myopts+=" NO_TCLTK=YesPlease"
- if use pcre; then
- if use pcre-jit; then
- myopts+=" USE_LIBPCRE2=YesPlease"
- extlibs+=" -lpcre2-8"
- else
- myopts+=" USE_LIBPCRE1=YesPlease"
- myopts+=" NO_LIBPCRE1_JIT=YesPlease"
- extlibs+=" -lpcre"
- fi
- fi
- use perl \
- && myopts+=" INSTALLDIRS=vendor" \
- || myopts+=" NO_PERL=YesPlease"
- use python \
- || myopts+=" NO_PYTHON=YesPlease"
- use subversion \
- || myopts+=" NO_SVN_TESTS=YesPlease"
- use threads \
- && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
- || myopts+=" NO_PTHREADS=YesPlease"
- use cvs \
- || myopts+=" NO_CVS=YesPlease"
- use elibc_musl \
- && myopts+=" NO_REGEX=YesPlease"
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=" NO_MMAP=YesPlease"
-# myopts+=" NO_IPV6=YesPlease"
-# myopts+=" NO_STRLCPY=YesPlease"
-# myopts+=" NO_MEMMEM=YesPlease"
-# myopts+=" NO_MKDTEMP=YesPlease"
-# myopts+=" NO_MKSTEMPS=YesPlease"
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=" NO_NSEC=YesPlease"
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=" NEEDS_LIBICONV=YesPlease"
- myopts+=" HAVE_CLOCK_MONOTONIC=1"
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=" HAVE_GETDELIM=1"
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=" ASCIIDOC8=YesPlease"
- myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=" NO_NSEC=YesPlease"
-
- export MY_MAKEOPTS="${myopts}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}"
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- use doc && \
- cd "${S}"/Documentation && \
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- cd "${S}"
- else
- git-r3_src_unpack
- cd "${S}"
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die "sed failed"
-
- # Never install the private copy of Error.pm (bug #296310)
- sed -i \
- -e '/private-Error.pm/s,^,#,' \
- perl/Makefile.PL
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die "sed failed"
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- DESTDIR="${D}" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- OPTCC="$(tc-getCC)" \
- OPTAR="$(tc-getAR)" \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- sysconfdir="${EPREFIX}"/etc \
- PYTHON_PATH="${PYTHON_PATH}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- GIT_TEST_OPTS="--no-color" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- if use perl ; then
- git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
- git_emake perl/perl.mak || die "emake perl/perl.mak failed"
- fi
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- cd "${S}"/contrib/credential/osxkeychain || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- fi
-
- cd "${S}"/Documentation
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
-
- if use subversion ; then
- cd "${S}"/contrib/svn-fe
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- cd "${S}"
- fi
-
- if use gnome-keyring ; then
- cd "${S}"/contrib/credential/libsecret
- git_emake || die "emake git-credential-libsecret failed"
- fi
-
- cd "${S}"/contrib/subtree || die
- git_emake
- use doc && git_emake doc
-
- cd "${S}"/contrib/diff-highlight || die
- git_emake
-
- if use mediawiki ; then
- cd "${S}"/contrib/mw-to-git
- git_emake
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- cd "${S}"/contrib/subtree
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- cd "${S}"
-
- if use mediawiki ; then
- cd "${S}"/contrib/mw-to-git
- git_emake install
- cd "${S}"
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- cd "${S}"/contrib/credential/libsecret
- dobin git-credential-libsecret
- fi
-
- if use subversion ; then
- cd "${S}"/contrib/svn-fe
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- cd "${S}"
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED}"/usr/lib{64,}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED}"/usr/libexec/git-core/git-svn \
- "${ED}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
- rm -r "${ED}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=""
- local tests_cvs="t9200-git-cvsexportcommit.sh \
- t9400-git-cvsserver-server.sh \
- t9401-git-cvsserver-crlf.sh \
- t9402-git-cvsserver-refs.sh \
- t9600-cvsimport.sh \
- t9601-cvsimport-vendor-branch.sh \
- t9602-cvsimport-branches-tags.sh \
- t9603-cvsimport-patchsets.sh \
- t9604-cvsimport-timestamps.sh"
- local tests_perl="t3701-add-interactive.sh \
- t5502-quickfetch.sh \
- t5512-ls-remote.sh \
- t5520-pull.sh \
- t7106-reset-unborn-branch.sh \
- t7501-commit.sh"
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot="t0001-init.sh \
- t0004-unwritable.sh \
- t0070-fundamental.sh \
- t1004-read-tree-m-u-wf.sh \
- t3700-add.sh \
- t7300-clean.sh"
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn="t9100-git-svn-basic.sh"
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=" t5000-tar-tree.sh"
- fi
-
- cvs=0
- use cvs && let cvs=$cvs+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ $cvs -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=" ${tests_cvs}"
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=" ${tests_nonroot}"
- else
- [[ $cvs -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=$cvs+1
- [[ $cvs -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=$cvs+1
- if [[ $cvs -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=" ${tests_cvs}"
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=" ${tests_perl}"
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=" ${test_svn}"
-
- # Reset all previously disabled tests
- cd "${S}/t"
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i "${S}"/t/Makefile
-
- # Clean old results first, must always run
- cd "${S}/t"
- nonfatal git_emake clean
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- cd "${S}"
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- cd "${S}/t"
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ $rc -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-2.17.1-r1.ebuild b/dev-vcs/git/git-2.17.1-r1.ebuild
deleted file mode 100644
index da380deae0b8..000000000000
--- a/dev-vcs/git/git-2.17.1-r1.ebuild
+++ /dev/null
@@ -1,717 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~amd64-fbsd"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.17.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.17.0-mw_install_path_fix.patch #655960
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-2.18.0.ebuild b/dev-vcs/git/git-2.18.0.ebuild
deleted file mode 100644
index 18794ba729d1..000000000000
--- a/dev-vcs/git/git-2.18.0.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~amd64-fbsd"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
deleted file mode 100644
index 7dfb5f64b1ac..000000000000
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
deleted file mode 100644
index 7dfb5f64b1ac..000000000000
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
deleted file mode 100644
index c810b8798e3a..000000000000
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.18.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "${d}" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
deleted file mode 100644
index 1fb66925cbfb..000000000000
--- a/dev-vcs/git/git-9999.ebuild
+++ /dev/null
@@ -1,715 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GENTOO_DEPEND_ON_PERL=no
-
-# bug #329479: git-remote-testgit is not multiple-version aware
-PYTHON_COMPAT=( python2_7 )
-PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
-if [[ ${PV} == *9999 ]]; then
- SCM="git-r3"
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
- # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
- # See https://git-scm.com/docs/gitworkflows#_graduation
- # In order of stability:
- # 9999-r0: maint
- # 9999-r1: master
- # 9999-r2: next
- # 9999-r3: pu
- case "${PVR}" in
- 9999) EGIT_BRANCH=maint ;;
- 9999-r1) EGIT_BRANCH=master ;;
- 9999-r2) EGIT_BRANCH=next;;
- 9999-r3) EGIT_BRANCH=pu ;;
- esac
-fi
-
-inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
-
-MY_PV="${PV/_rc/.rc}"
-MY_P="${PN}-${MY_PV}"
-
-DOC_VER=${MY_PV}
-
-DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
-HOMEPAGE="https://www.git-scm.com/"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI_SUFFIX="xz"
- SRC_URI_KORG="mirror://kernel/software/scm/git"
- [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
- SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
- ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- doc? (
- ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- )"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
-
-# Common to both DEPEND and RDEPEND
-CDEPEND="
- gnome-keyring? ( app-crypt/libsecret )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- sys-libs/zlib
- pcre? (
- pcre-jit? ( dev-libs/libpcre2[jit(+)] )
- !pcre-jit? ( dev-libs/libpcre )
- )
- perl? ( dev-lang/perl:=[-build(-)] )
- tk? ( dev-lang/tk:0= )
- curl? (
- net-misc/curl
- webdav? ( dev-libs/expat )
- )
- emacs? ( virtual/emacs )
-"
-
-RDEPEND="${CDEPEND}
- gpg? ( app-crypt/gnupg )
- perl? (
- dev-perl/Error
- dev-perl/MailTools
- dev-perl/Net-SMTP-SSL
- dev-perl/Authen-SASL
- cgi? (
- dev-perl/CGI
- highlight? ( app-text/highlight )
- )
- cvs? (
- >=dev-vcs/cvsps-2.1:0
- dev-perl/DBI
- dev-perl/DBD-SQLite
- )
- mediawiki? (
- dev-perl/DateTime-Format-ISO8601
- dev-perl/HTML-Tree
- dev-perl/MediaWiki-API
- )
- subversion? (
- dev-vcs/subversion[-dso,perl]
- dev-perl/libwww-perl
- dev-perl/TermReadKey
- )
- )
- python? ( ${PYTHON_DEPS} )
-"
-
-# This is how info docs are created with Git:
-# .txt/asciidoc --(asciidoc)---------> .xml/docbook
-# .xml/docbook --(docbook2texi.pl)--> .texi
-# .texi --(makeinfo)---------> .info
-DEPEND="${CDEPEND}
- doc? (
- app-text/asciidoc
- app-text/docbook2X
- sys-apps/texinfo
- app-text/xmlto
- )
- nls? ( sys-devel/gettext )
- test? ( app-crypt/gnupg )"
-
-# Live ebuild builds man pages and HTML docs, additionally
-if [[ ${PV} == *9999 ]]; then
- DEPEND="${DEPEND}
- app-text/asciidoc"
-fi
-
-SITEFILE="50${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- cgi? ( perl )
- cvs? ( perl )
- mediawiki? ( perl )
- mediawiki-experimental? ( mediawiki )
- subversion? ( perl )
- webdav? ( curl )
- pcre-jit? ( pcre )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-PATCHES=(
- # bug #350330 - automagic CVS when we don't want it is bad.
- "${FILESDIR}"/git-2.17.0_rc1-optional-cvs.patch
-
- "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
-
- # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
- "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
-)
-
-pkg_setup() {
- if use subversion && has_version "dev-vcs/subversion[dso]"; then
- ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
- ewarn "with USE=dso, there may be weird crashes in git-svn. You"
- ewarn "have been warned."
- fi
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-# This is needed because for some obscure reasons future calls to make don't
-# pick up these exports if we export them in src_unpack()
-exportmakeopts() {
- local myopts=(
- ASCIIDOC_NO_ROFF=YesPlease
- $(usex cvs '' NO_CVS=YesPlease)
- $(usex elibc_musl NO_REGEX=YesPlease '')
- $(usex iconv '' NO_ICONV=YesPlease)
- $(usex nls '' NO_GETTEXT=YesPlease)
- $(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
- $(usex python '' NO_PYTHON=YesPlease)
- $(usex subversion '' NO_SVN_TESTS=YesPlease)
- $(usex threads THREADED_DELTA_SEARCH=YesPlease NO_PTHREAD=YesPlease)
- $(usex tk '' NO_TCLTK=YesPlease)
- )
-
- if use blksha1 ; then
- myopts+=( BLK_SHA1=YesPlease )
- elif use ppcsha1 ; then
- myopts+=( PPC_SHA1=YesPlease )
- fi
-
- if use curl ; then
- use webdav || myopts+=( NO_EXPAT=YesPlease )
- else
- myopts+=( NO_CURL=YesPlease )
- fi
-
- # broken assumptions, because of static build system ...
- myopts+=(
- NO_FINK=YesPlease
- NO_DARWIN_PORTS=YesPlease
- INSTALL=install
- TAR=tar
- SHELL_PATH="${EPREFIX}/bin/sh"
- SANE_TOOL_PATH=
- OLD_ICONV=
- NO_EXTERNAL_GREP=
- )
-
- # For svn-fe
- extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
-
- # can't define this to null, since the entire makefile depends on it
- sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
-
- if use pcre; then
- if use pcre-jit; then
- myopts+=( USE_LIBPCRE2=YesPlease )
- extlibs+=" -lpcre2-8"
- else
- myopts+=(
- USE_LIBPCRE1=YesPlease
- NO_LIBPCRE1_JIT=YesPlease
- )
- extlibs+=" -lpcre"
- fi
- fi
-# Disabled until ~m68k-mint can be keyworded again
-# if [[ ${CHOST} == *-mint* ]] ; then
-# myopts+=(
-# NO_MMAP=YesPlease
-# NO_IPV6=YesPlease
-# NO_STRLCPY=YesPlease
-# NO_MEMMEM=YesPlease
-# NO_MKDTEMP=YesPlease
-# NO_MKSTEMPS=YesPlease
-# )
-# fi
- if [[ ${CHOST} == ia64-*-hpux* ]]; then
- myopts+=( NO_NSEC=YesPlease )
- fi
- if [[ ${CHOST} == *-*-aix* ]]; then
- myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
- fi
- if [[ ${CHOST} == *-solaris* ]]; then
- myopts+=(
- NEEDS_LIBICONV=YesPlease
- HAVE_CLOCK_MONOTONIC=1
- )
- grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
- myopts+=( HAVE_GETDELIM=1 )
- fi
-
- has_version '>=app-text/asciidoc-8.0' \
- && myopts+=( ASCIIDOC8=YesPlease )
-
- # Bug 290465:
- # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
- [[ "${CHOST}" == *-uclibc* ]] && \
- myopts+=( NO_NSEC=YesPlease )
-
- export MY_MAKEOPTS="${myopts[@]}"
- export EXTLIBS="${extlibs}"
-}
-
-src_unpack() {
- if [[ ${PV} != *9999 ]]; then
- unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
- cd "${S}" || die
- unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- if use doc ; then
- pushd "${S}"/Documentation &>/dev/null || die
- unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
- popd &>/dev/null || die
- fi
- else
- git-r3_src_unpack
- #cp "${FILESDIR}"/GIT-VERSION-GEN .
- fi
-
-}
-
-src_prepare() {
- # add experimental patches to improve mediawiki support
- # see patches for origin
- if use mediawiki-experimental ; then
- PATCHES+=(
- "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
- "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
- )
- fi
-
- default
-
- sed -i \
- -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
- -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
- -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
- -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
- -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
- Makefile contrib/svn-fe/Makefile || die
-
- # Fix docbook2texi command
- sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
- Documentation/Makefile || die
-
- # Fix git-subtree missing DESTDIR
- sed -i \
- -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
- -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
- contrib/subtree/Makefile || die
-}
-
-git_emake() {
- # bug #320647: PYTHON_PATH
- local PYTHON_PATH=""
- use python && PYTHON_PATH="${PYTHON}"
- emake ${MY_MAKEOPTS} \
- prefix="${EPREFIX}"/usr \
- htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- perllibdir="$(perl_get_raw_vendorlib)" \
- sysconfdir="${EPREFIX}"/etc \
- DESTDIR="${D}" \
- GIT_TEST_OPTS="--no-color" \
- OPTAR="$(tc-getAR)" \
- OPTCC="$(tc-getCC)" \
- OPTCFLAGS="${CFLAGS}" \
- OPTLDFLAGS="${LDFLAGS}" \
- PERL_PATH="${EPREFIX}/usr/bin/perl" \
- PERL_MM_OPT="" \
- PYTHON_PATH="${PYTHON_PATH}" \
- V=1 \
- "$@"
-}
-
-src_configure() {
- exportmakeopts
-}
-
-src_compile() {
- git_emake || die "emake failed"
-
- if use emacs ; then
- elisp-compile contrib/emacs/git{,-blame}.el
- fi
-
- if use perl && use cgi ; then
- git_emake \
- gitweb \
- || die "emake gitweb (cgi) failed"
- fi
-
- if [[ ${CHOST} == *-darwin* ]]; then
- pushd contrib/credential/osxkeychain &>/dev/null || die
- git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
- || die "emake credential-osxkeychain"
- popd &>/dev/null || die
- fi
-
- pushd Documentation &>/dev/null || die
- if [[ ${PV} == *9999 ]] ; then
- git_emake man \
- || die "emake man failed"
- if use doc ; then
- git_emake info html \
- || die "emake info html failed"
- fi
- else
- if use doc ; then
- git_emake info \
- || die "emake info html failed"
- fi
- fi
- popd &>/dev/null || die
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- # by defining EXTLIBS we override the detection for libintl and
- # libiconv, bug #516168
- local nlsiconv=
- use nls && use !elibc_glibc && nlsiconv+=" -lintl"
- use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
- git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
- if use doc ; then
- git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
- fi
- popd &>/dev/null || die
- fi
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- git_emake || die "emake git-credential-libsecret failed"
- popd &>/dev/null || die
- fi
-
- pushd contrib/subtree &>/dev/null || die
- git_emake
- use doc && git_emake doc
- popd &>/dev/null || die
-
- pushd contrib/diff-highlight &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake
- popd &>/dev/null || die
-
- fi
-}
-
-src_install() {
- git_emake \
- install || \
- die "make install failed"
-
- if [[ ${CHOST} == *-darwin* ]]; then
- dobin contrib/credential/osxkeychain/git-credential-osxkeychain
- fi
-
- # Depending on the tarball and manual rebuild of the documentation, the
- # manpages may exist in either OR both of these directories.
- find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
- find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
- dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
- use doc && dodir /usr/share/doc/${PF}/html
- for d in / /howto/ /technical/ ; do
- docinto ${d}
- dodoc Documentation${d}*.txt
- if use doc ; then
- docinto ${d}/html
- dodoc Documentation${d}*.html
- fi
- done
- docinto /
- # Upstream does not ship this pre-built :-(
- use doc && doinfo Documentation/{git,gitman}.info
-
- newbashcomp contrib/completion/git-completion.bash ${PN}
- bashcomp_alias git gitk
- # Not really a bash-completion file (bug #477920)
- # but still needed uncompressed (bug #507480)
- insinto /usr/share/${PN}
- doins contrib/completion/git-prompt.sh
-
- if use emacs ; then
- elisp-install ${PN} contrib/emacs/git.{el,elc}
- elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
- #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
- # don't add automatically to the load-path, so the sitefile
- # can do a conditional loading
- touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- fi
-
- #dobin contrib/fast-import/git-p4 # Moved upstream
- #dodoc contrib/fast-import/git-p4.txt # Moved upstream
- newbin contrib/fast-import/import-tars.perl import-tars
- exeinto /usr/libexec/git-core/
- newexe contrib/git-resurrect.sh git-resurrect
-
- # git-subtree
- pushd contrib/subtree &>/dev/null || die
- git_emake install || die "Failed to emake install git-subtree"
- if use doc ; then
- git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
- fi
- newdoc README README.git-subtree
- dodoc git-subtree.txt
- popd &>/dev/null || die
-
- if use mediawiki ; then
- pushd contrib/mw-to-git &>/dev/null || die
- git_emake install
- popd &>/dev/null || die
- fi
-
- # diff-highlight
- dobin contrib/diff-highlight/diff-highlight
- newdoc contrib/diff-highlight/README README.diff-highlight
-
- # git-jump
- exeinto /usr/libexec/git-core/
- doexe contrib/git-jump/git-jump
- newdoc contrib/git-jump/README git-jump.txt
-
- # git-contacts
- exeinto /usr/libexec/git-core/
- doexe contrib/contacts/git-contacts
- dodoc contrib/contacts/git-contacts.txt
-
- if use gnome-keyring ; then
- pushd contrib/credential/libsecret &>/dev/null || die
- dobin git-credential-libsecret
- popd &>/dev/null || die
- fi
-
- if use subversion ; then
- pushd contrib/svn-fe &>/dev/null || die
- dobin svn-fe
- dodoc svn-fe.txt
- if use doc ; then
- doman svn-fe.1
- docinto html
- dodoc svn-fe.html
- fi
- popd &>/dev/null || die
- fi
-
- dodir /usr/share/${PN}/contrib
- # The following are excluded:
- # completion - installed above
- # diff-highlight - done above
- # emacs - installed above
- # examples - these are stuff that is not used in Git anymore actually
- # git-jump - done above
- # gitview - installed above
- # p4import - excluded because fast-import has a better one
- # patches - stuff the Git guys made to go upstream to other places
- # persistent-https - TODO
- # mw-to-git - TODO
- # subtree - build seperately
- # svnimport - use git-svn
- # thunderbird-patch-inline - fixes thunderbird
- local contrib_objects=(
- buildsystems
- fast-import
- hg-to-git
- hooks
- remotes2config.sh
- rerere-train.sh
- stats
- workdir
- )
- for i in "${contrib_objects[@]}" ; do
- cp -rf \
- "${S}"/contrib/${i} \
- "${ED%/}"/usr/share/${PN}/contrib \
- || die "Failed contrib ${i}"
- done
-
- if use perl && use cgi ; then
- # We used to install in /usr/share/${PN}/gitweb
- # but upstream installs in /usr/share/gitweb
- # so we will install a symlink and use their location for compat with other
- # distros
- dosym /usr/share/gitweb /usr/share/${PN}/gitweb
-
- # INSTALL discusses configuration issues, not just installation
- docinto /
- newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
- newdoc "${S}"/gitweb/README README.gitweb
-
- for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
- if test -d "$d" ; then find "$d" \
- -name .packlist \
- -delete || die
- fi
- done
- else
- rm -rf "${ED%/}"/usr/share/gitweb
- fi
-
- if ! use subversion ; then
- rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
- "${ED%/}"/usr/share/man/man1/git-svn.1*
- fi
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}"/git-daemon.xinetd git-daemon
- fi
-
- if use !prefix ; then
- newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
- newconfd "${FILESDIR}"/git-daemon.confd git-daemon
- systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
- systemd_dounit "${FILESDIR}/git-daemon.socket"
- fi
-
- perl_delete_localpod
-
- # Remove disabled linguas
- # we could remove sources in src_prepare, but install does not
- # handle missing locale dir well
- rm_loc() {
- if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
- rm -r "${ED%/}/usr/share/locale/${1}" || die
- fi
- }
- l10n_for_each_disabled_locale_do rm_loc
-}
-
-src_test() {
- local disabled=()
- local tests_cvs=(
- t9200-git-cvsexportcommit.sh
- t9400-git-cvsserver-server.sh
- t9401-git-cvsserver-crlf.sh
- t9402-git-cvsserver-refs.sh
- t9600-cvsimport.sh
- t9601-cvsimport-vendor-branch.sh
- t9602-cvsimport-branches-tags.sh
- t9603-cvsimport-patchsets.sh
- t9604-cvsimport-timestamps.sh
- )
- local tests_perl=(
- t3701-add-interactive.sh
- t5502-quickfetch.sh
- t5512-ls-remote.sh
- t5520-pull.sh
- t7106-reset-unborn-branch.sh
- t7501-commit.sh
- )
- # Bug #225601 - t0004 is not suitable for root perm
- # Bug #219839 - t1004 is not suitable for root perm
- # t0001-init.sh - check for init notices EPERM* fails
- local tests_nonroot=(
- t0001-init.sh
- t0004-unwritable.sh
- t0070-fundamental.sh
- t1004-read-tree-m-u-wf.sh
- t3700-add.sh
- t7300-clean.sh
- )
- # t9100 still fails with symlinks in SVN 1.7
- local test_svn=( t9100-git-svn-basic.sh )
-
- # Unzip is used only for the testcase code, not by any normal parts of Git.
- if ! has_version app-arch/unzip ; then
- einfo "Disabling tar-tree tests"
- disabled+=( t5000-tar-tree.sh )
- fi
-
- local cvs=0
- use cvs && let cvs=${cvs}+1
- if [[ ${EUID} -eq 0 ]]; then
- if [[ ${cvs} -eq 1 ]]; then
- ewarn "Skipping CVS tests because CVS does not work as root!"
- ewarn "You should retest with FEATURES=userpriv!"
- disabled+=( ${tests_cvs[@]} )
- fi
- einfo "Skipping other tests that require being non-root"
- disabled+=( ${tests_nonroot[@]} )
- else
- [[ ${cvs} -gt 0 ]] && \
- has_version dev-vcs/cvs && \
- let cvs=${cvs}+1
- [[ ${cvs} -gt 1 ]] && \
- has_version "dev-vcs/cvs[server]" && \
- let cvs=${cvs}+1
- if [[ ${cvs} -lt 3 ]]; then
- einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
- disabled+=( ${tests_cvs[@]} )
- fi
- fi
-
- if ! use perl ; then
- einfo "Disabling tests that need Perl"
- disabled+=( ${tests_perl[@]} )
- fi
-
- einfo "Disabling tests that fail with SVN 1.7"
- disabled+=( ${test_svn[@]} )
-
- # Reset all previously disabled tests
- pushd t &>/dev/null || die
- local i
- for i in *.sh.DISABLED ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
- done
- einfo "Disabled tests:"
- for i in ${disabled[@]} ; do
- [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
- done
-
- # Avoid the test system removing the results because we want them ourselves
- sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
- -i Makefile || die
-
- # Clean old results first, must always run
- nonfatal git_emake clean
- popd &>/dev/null || die
-
- # Now run the tests, keep going if we hit an error, and don't terminate on
- # failure
- local rc
- einfo "Start test run"
- #MAKEOPTS=-j1
- nonfatal git_emake --keep-going test
- rc=$?
-
- # Display nice results, now print the results
- pushd t &>/dev/null || die
- nonfatal git_emake aggregate-results
-
- # And bail if there was a problem
- [ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
-}
-
-showpkgdeps() {
- local pkg=$1
- shift
- elog " $(printf "%-17s:" ${pkg}) ${@}"
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
- einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
- einfo "Note that the prompt bash code is now in that separate script"
- elog "These additional scripts need some dependencies:"
- echo
- showpkgdeps git-quiltimport "dev-util/quilt"
- showpkgdeps git-instaweb \
- "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
- echo
- use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-vcs/git/metadata.xml b/dev-vcs/git/metadata.xml
deleted file mode 100644
index f76908835574..000000000000
--- a/dev-vcs/git/metadata.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <longdescription lang="en">
- Git - Fast Version Control System. Official titled
- "GIT - the stupid content tracker".
-
- Git is a popular version control system designed to handle very large
- projects with speed and efficiency; it is used mainly for various open
- source projects, most notably the Linux kernel.
-
- Git falls in the category of distributed source code management tools,
- similar to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary
- world). Every Git working directory is a full-fledged repository with full
- revision tracking capabilities, not dependent on network access or a central
- server.
- </longdescription>
- <use>
- <flag name="blksha1">Use the new optimized SHA1 implementation</flag>
- <flag name="cgi">Install gitweb too</flag>
- <flag name="curl">Support fetching and pushing (requires webdav too) over http:// and https:// protocols</flag>
- <flag name="gpg">Pull in gnupg for signing -- without gnupg, attempts at signing will fail at runtime!</flag>
- <flag name="highlight">GitWeb support for app-text/highlight</flag>
- <flag name="mediawiki">Support pulling and pushing from MediaWiki</flag>
- <flag name="mediawiki-experimental">Add experimental patches for improved MediaWiki support</flag>
- <flag name="pcre-jit">Enable JIT for pcre</flag>
- <flag name="ppcsha1">Make use of a bundled routine that is optimized for the PPC arch</flag>
- <flag name="subversion">Include git-svn for <pkg>dev-vcs/subversion</pkg> support</flag>
- <flag name="tk">Include the 'gitk' and 'git gui' tools</flag>
- <flag name="webdav">Adds support for push'ing to HTTP/HTTPS repositories via DAV</flag>
- </use>
-</pkgmetadata>