summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-28 15:59:37 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-28 15:59:37 +0100
commitcf7630078a53ff74b245b148bd722994068e28f9 (patch)
treeb2410f6c46e821d66a697e1b7e551607357264f0 /dev-lang
parent8eb973cc2247ee4fe34e4d907fdc6cf5b94709e3 (diff)
gentoo auto-resync : 28:10:2022 - 15:59:37
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin19372 -> 19375 bytes
-rw-r--r--dev-lang/julia/Manifest29
-rw-r--r--dev-lang/julia/files/julia-1.4.0-no_symlink_llvm.patch10
-rw-r--r--dev-lang/julia/files/julia-1.6.5-libgit-1.2.patch17
-rw-r--r--dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch43
-rw-r--r--dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_1.patch172
-rw-r--r--dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_2.patch80
-rw-r--r--dev-lang/julia/files/julia-1.6.5-make-install-no-build.patch17
-rw-r--r--dev-lang/julia/files/julia-1.7.1-do_not_set_rpath.patch11
-rw-r--r--dev-lang/julia/files/julia-1.7.1-hardcoded-libs.patch72
-rw-r--r--dev-lang/julia/julia-1.7.1-r4.ebuild186
-rw-r--r--dev-lang/julia/julia-1.7.3.ebuild199
-rw-r--r--dev-lang/perl/Manifest10
-rw-r--r--dev-lang/perl/perl-5.34.0-r10.ebuild828
-rw-r--r--dev-lang/perl/perl-5.34.0-r11.ebuild828
-rw-r--r--dev-lang/perl/perl-5.34.0-r9.ebuild820
-rw-r--r--dev-lang/perl/perl-5.34.1-r2.ebuild824
-rw-r--r--dev-lang/perl/perl-5.34.1-r4.ebuild (renamed from dev-lang/perl/perl-5.34.1-r3.ebuild)5
-rw-r--r--dev-lang/perl/perl-5.36.0-r1.ebuild (renamed from dev-lang/perl/perl-5.36.0.ebuild)5
19 files changed, 10 insertions, 4146 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 5793c086a868..89c75e198a39 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 6e7f3ca2556d..6c9bedac2c87 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -1,23 +1,3 @@
-AUX julia-1.4.0-no_symlink_llvm.patch 335 BLAKE2B 0df56ed45619df80b669bc790e0f93e475c94dac39fc8efcbdaa677a6ab02a6a3f832abf07990e8f50df8d900147f5e0ac9e2896edbbc4a015e49e74864315fa SHA512 563ed79132655b8c28a01d17fb8765ed774c069e00d29847f864152f7641b53758c6d8ba5544789e8d3aeb0e1686ea946c31837b1e1b0a6f4bce6d531d5511ed
-AUX julia-1.6.5-libgit-1.2.patch 800 BLAKE2B 669c30ae7c00c69feb7edb34d87c3c19ab7015d8634cd3c052a8f6ee2a28be7c7314e01298e95f9d4b00851feb6bab48c44d15eb425f912050f31b26db57c912 SHA512 a4facb24520d8bfe4486291e3537bb5d56ce5fd1aebd9c1ebe657306d0e4a9cfa8cc235c2d715c1b9f4ecb3359cf3ea1dc0b4ff68d4c9a29ff578b4c667d09a2
-AUX julia-1.6.5-libgit-1.4.patch 1754 BLAKE2B c47cfe0eca1527f04ae5e81bdd6d11978e92f8cccbc000c9c96ae77e39b79f52b17d260333227cd699a935c52139808097617e7b627c45aa43b1809e97a9bf99 SHA512 fd71b277f625dde4cdb2ba100bf01f275e28209bbd18cbc143e7f0b2e01549b92b824161bde5a5ca4e5efcfb6f2f52147e66441e36f8f2813aa8436baf9401a1
-AUX julia-1.6.5-llvm_13_compat_part_1.patch 6957 BLAKE2B 581076ba652db52a3948c9bb42c5a2481b5fffa92fb1dcbcd007f2edb3a950ac49ec015f7571c29b50ae243d5e8e9e25952b7cbac9a3b5ec8bd94769104e2891 SHA512 5a7d8202ede9daed2149f3bc30dcf76d0d25f1734b91df3780b405fbd493f4a6f75c851f97a8d27e9ea5753f5003af3c5eb8193ee61cf5808acf56dca1ebb0ba
-AUX julia-1.6.5-llvm_13_compat_part_2.patch 2897 BLAKE2B 7896e392fb8c2364fa10921f7396206fb6785dc430256646a537dcfb0c05a7d8faaa33feab7dad61c6c6e57c33f89eb0ce1eea85c3148622e61b3f0ce83c2164 SHA512 f8a7060236afd28da260e8dff5d69b2562d9cd204f090e1868592aa9d59df015a3a6d0bb19e1dfbaaa3825a8b81152f0e154e06cd31c87e89916269bbef68203
-AUX julia-1.6.5-make-install-no-build.patch 691 BLAKE2B 4f36445f2067c4b983f3ece17cd3866adc1df39ef6b02714dffe10df8febd326cba9f7a1b85f52bef739d4e15a906e9d1990315f974b981c5ecc8b4c7a487113 SHA512 4be8de4913b58a3a84782f08a569b96741f8c9c7ff3378e34624ad9b250c7c7f2dbed9a1d2a8227f105802a89e589ef4abd3d512793d90741dd35c56a8fff75f
-AUX julia-1.7.1-do_not_set_rpath.patch 482 BLAKE2B a68093aad4c76238abeba55d36162ffee2f943952f0e30f1615bbfa002aa219140a85092edbd12d0f93f39c9cdadc1b7427e76c9f290462d4552233f6673f186 SHA512 612652792c5e0cabd1300120fb7556b026cb16d8890ed267a6e90bbc46ca8c7f62dcbc00aee4cfefd08a400f5d7c8cc219e32f90f513783cd7fc096e9c1704f9
-AUX julia-1.7.1-hardcoded-libs.patch 2548 BLAKE2B fa09f79826ba95c4bbbf094e19789aa670c980a936705b2904fda1615174814a13b7f8d128f969dcaa9f7e976c949bfff15aff2ce7008847e19080cc291d56c8 SHA512 934b4e147e25f003944da64feeae971164aed055d7442f80f4598f5c714cc431dad79d9504d60ca09bd0974ec1dfac8eb7db028af441ce6e2095d9acae6ab370
-DIST julia-1.7.1-full.tar.gz 255682275 BLAKE2B 923cd1ed735f1ff5537ff8655ba5b63cc8d27a9b36ba05f3942447bea67034ad771ca8f69192ca7718ab3aace5d12c0e08961eafead9aedb9af35e2d212e8e97 SHA512 df6c9d33ed69c1b53a7f77f95954d4ed5fadb176ebf9f490e7721bc036109edfaa5873ce9041620af1d5c3731db7acc5af932b4173ce54bcc7ae3d7c9c393638
-DIST julia-1.7.1-llvm_13_compat_part_3.patch 28006 BLAKE2B b1909fd6df1ac51e7e2d16279ff5ed2febe27967832ddbb9517372dcb41597f7ba9fa6013d65fdbdaf345b5c32fdf90f60c086afcdf6b793172061fe63263b0f SHA512 d251d5fbc088aa03e2c423926fa9f82a8a29a995e20150f27bf01ea9209008259f97daf27c333686b62412190fa4077cca178ce39bb6c7bd4e3e8b4f2affa22f
-DIST julia-1.7.1-llvm_13_compat_part_4.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
-DIST julia-1.7.1-llvm_13_compat_part_5.patch 27094 BLAKE2B b70a96c4f897349dce04246335bc38a6726e02a43cd5a28bc31bfcb9190f5361e2e4d16a9fb5c1b3c0e53d2e59f5380b161350968f9479cdb765b4681b9f5743 SHA512 efd1029d0030417082b7d640b2e4b7bb35818d555c808bceb9a31e5d93b2f27a8ca11b9228cf4129b5bee411e1fe9e4ce4e7515226ceab905532d1875e260f7c
-DIST julia-1.7.3-full.tar.gz 256584516 BLAKE2B d9520de2a85566cfe02ac471061b6cc255e1ab67039387d4ebda3438b67990cbd0e9e1a17865995f48e537b21fc63be6ff376f3989ff50396ab339df0021a074 SHA512 0286a3f8ecb469eb09690a7723aac267a7655247648a3099115e0dc0531d2f779f2aac6e829d9781f462887de281a78c29d99a986b3c3db8c0b0d565ee31f0df
-DIST julia-1.7.3-llvm_13_compat_part_1.patch 6741 BLAKE2B fd61ed4990128150221f2d348bd5cdf953f1b83ddad8a3920dce44249265471854eda513f3cb5a9f641bac201eec70d08c071d31c56d60592dffd8d17b94ddfe SHA512 d8872bbc123e16daa360cbc7f586f2f610bb0d928d9390b41c4f68d9dbba8a945693756b44dd8e960c8feae22ba0f5b50a7ce33157e1e82d8e1a8f2c999e7141
-DIST julia-1.7.3-llvm_13_compat_part_2.patch 2673 BLAKE2B 14d292029ca8312ae2d6729b2c5697b2b0ec065e43475b0939961586455988aec573ece8685f8150b0e27a388b39c6ed05e822a1c931a8192d4651958de86b05 SHA512 98643ac351a45c6bb1c2f945fb1e46db98c8658625731048e7cfc76684db8b1c219b53c6c230ca1da8dc07139fb1db1602f756b94e91655c6248541510d0c2ee
-DIST julia-1.7.3-llvm_13_compat_part_3.patch 28024 BLAKE2B bffa797f92425eb22f64861e13c2ac9d311434b3727acc8268247bf131e7654c154fd3cc6f7966b3fabc86d56ed0f65b46ea178a2e87cd47f56675af739ee01a SHA512 45231605f4c89ad7faab5564f0c9ea67ebb86ff32d8adffd68ba632668b8adb4185e15351a5714de07495908e059731b702e3c202e043cb9cac252285cd21a0b
-DIST julia-1.7.3-llvm_13_compat_part_4.patch 2425 BLAKE2B 9440296aa9669c44f23757f24f5e098353171e2747c24220a3ab6f5fdd9bd3915975dc24e7e19a3441a17555858cff7cfbc678a8a6d7e0894a604e7d699cb6cb SHA512 7e5a5fcd5b18086fbd638cdf98c13d8954bb8716e60ed6ae613b072e4ec8e406abe5a7ba29db488c34a97ecdd2932ddb2e827949191407aead202221bacf736f
-DIST julia-1.7.3-llvm_13_compat_part_5.patch 11421 BLAKE2B ca4f3e2c6b60462f7f04f609be07f95b81fe076350167de3354cf5c0fb98d3f1b5a5b2d275da8074a077be3edbb8544a3403a080dc1ca0dbe827dde96c61f5f2 SHA512 5cd709b24a6e00f67998efcc21d77b710399f1bf96e7656b3c90a2cc564bcf05e2e1012b788751d48ff7964fb6be2af710d850c34e83532976addecae4db1969
-DIST julia-1.7.3-llvm_13_compat_part_6.patch 27063 BLAKE2B 3878cba37be6f270a1ba240b22bea65c2c0efe77b0d415cc47370f234c8d26f01c66bec4b01824472926ba231a8881deadb21006efe6fa6c5bf6fd6250933a0b SHA512 7c27b4b49465a4fbe206c1e9ba6c48d74264124a866fb414bb698cab151a9e1fb7180c7e07c0bc843d4817e9e99cbd70b35c2906384503d44ab7051ebb1948fe
-DIST julia-1.7.3_Downloads.jl_1.5.3.tar.gz 23484 BLAKE2B cebdc572a10faadf4aa673da2c9cd364ddc76b6299c3d0eaaa54014e199f9c0002188d6281dc4935c2be1f32ffcddc6b98f19f07ea488466fa7ae66db55fa23a SHA512 ec895ebe2b96d8590f34c152d3b4963531250b254c96fadffeee8b2cec132c20ce42d585839a2304dc1a30b13b1cbebcfa88b021b3646a77162a1476ec1d8f16
DIST julia-1.8.0-074d761f.patch 2198 BLAKE2B 7d4b147e290defceaad1b5b6d0c2c9a323b47d685bb1865b23c84aa68135c00104e653a5046d276aa540415ee4c95426f1a4538df3ba0ae4c348966a2f2b1742 SHA512 ff1e23746851b1b7a4480df75815abb35ccc8006f622acb5fb3928e20832cf55022c96650590c8dfea9b39185a3284a0d1310dee3f439429c91e00af567b66f1
DIST julia-1.8.0-ed9851b0.patch 6957 BLAKE2B f40a56bf3b00cc8d0a764ce7d9ef75b6e5dbab70aa13aad810e7288c4b1b0609ee61b1c6661a4d34423c5f25b19c56b326fa0ae520f1310c673d2c0921e4dabb SHA512 a4b6ee8b80639e74185ddaf8567b81eaee18efef02003e254b5e31268f730e022dcb1a53d8595a82570303b5f57ea885ca86374ca5eb7c0b2b270a5c104b79b5
DIST julia-1.8.0-julia-hardcoded-libs.patch 2411 BLAKE2B d71683c68c350c16c61c13e0378072a7689cb6e07ab7d4b940a5049f37ec58d8f4061b94ba5ba3d2dcf73a403b34d5fbe92bb723a0c5a2c318f9c3bd3631f143 SHA512 0256c5af1713b3551b39e0d89168eafb235e6337a9f07efd24a2e271a11bf724295d0a46761bf1a4d3ed14c4539ef1ef56adcf5580879cac268867aac3e2c20e
@@ -26,14 +6,5 @@ DIST julia-1.8.0-julia-llvm-14.patch 882 BLAKE2B f46f02554a6fc997763d368b813298d
DIST julia-1.8.0-julia-system-cblas.patch 4078 BLAKE2B 58aac552ea63859a03fe24fed69c02f9968aa7924abe2ffdf9e33e965d64877206216f1604f28fc67739cada4b5ce7b508feaad18080e3a5e78d89447d0f2a05 SHA512 d4b437da35672aa0b9f371da66a8675ca5be28276886edafb3566c3ea0d0ed8ed2bac192b43a0d292ee4f2754b596b7b79de76f136cfcada9916ff94a544b372
DIST julia-1.8.0-make-install-no-build.patch 555 BLAKE2B 36a86c3dd281a85f1b1fd68ac9796e70b06bb6afe3140fed97b5c7cd4b24987dc75709c4b1b192d5663c4d704cfb9818ec8d895c293b9b0bd741a3a61c860e47 SHA512 97687d24a3aa0a39994a691026981a91496cd2a82112e9acf9a8edd0f7c2a50d946944e8af495a3b1703f397c7a0e620be76dc28f3bbe14357ee8c4a68a5a3bc
DIST julia-1.8.2-full.tar.gz 275255487 BLAKE2B dd4cb035c3ec3b37fd08215baa76764c2a447ec50f0afbec5e6c02b047e62188015ba1492704fbc31081465f3837d6b8e02b31cfe10239ddd31e80e4bd7121e8 SHA512 0660911bbd9b0e0df9e6c2af851e7119b6067b08c845422e44101b9a92a1cbc069e52838f503b06f64db5b282cde1b533aafd9c6f47d349ae7d2beb48cf7d7a6
-DIST julia-hardcoded-libs.patch 2411 BLAKE2B 54eb1d0bbf15bbeea723c32c8ddbb42d3e3fbd22c6d8e2fa4c660d857bc8b6b131f442065689fd1a70c09563ef5c9efa7cb8ff9493ea6b3ed9ec7b05a9cc042e SHA512 4a35a80592c64c8e8924d381b9405283c3c5447ea201715acdcb4e7f6be0560655b0f816fa05127b7df6f9154a74224960aba57b291bd3a8431174eb13c7610e
-DIST julia-libblastrampoline-4.patch 856 BLAKE2B 5efe1602022eaaadb5f6ed06edd5f9e30e19978c5c469f1619efbcc4604efa3f0cd42bb80ba7cf903a89edbabeefca06bf7f5efe78510b6feea5e188655ad456 SHA512 62097e29865a0d4a633974a3ca4ea35623a6de08d8c63316896cdd95844a394302ad892121ec85d8b2a9ca305dff3123cd01e4b7a27b97beb5da36cbe4cd3fa3
-DIST julia-libgit-1.2.patch 17322 BLAKE2B 163ca3dc12e6e654962afc781ef7ae57ea0a74a13d72e40a2944ac6b9ad688467fea2df603f0b5509bd882406c81742ae168a80ae312dea5e7188a3c96996772 SHA512 59688c5f6437fd745e3a37bc8387678a18e7d4ed223907456a426a55f1daaa747b70e2b7907975e4e1af4c32b535d91f1e2685416c4d811aed2f4b6ce5f3bc36
-DIST julia-libgit-1.4.patch 1631 BLAKE2B 0f13c696c9a5067dabf38e65a2c315a0f8bb7e9dfc4ed9f0267b2a0161296aae4b10be833d6d6da2e0ee2c3917b5cf79e438f96232a5c93b15358a984b23ee4a SHA512 044b1fdc31a767c36b8df1f0582f64051450903be4a4ab668d8b7a8c666be800a51250825d807a4503594b73bb5c2e4e9eef4c61363a1484f328138a1871ff60
-DIST julia-libunwind-1.6.patch 778 BLAKE2B 26fcac25c3a906ecbb29e54354fad919c12e2cbd7f8b2a2fc696a495050de1f47ed83ccee2ae8a92c82f51e57319dfc4e8a672a3e6af8e32af6bc2d056bd6813 SHA512 e43119ea9fded88e9ed1c85c3d47dfd62771884d29e409f91779b6db9557f6f1af840b719ee879eda8929cfd53fd9e9b34eb0cac7e9ab6a3f3032edf3e50ca3a
-DIST julia-system-cblas.patch 4816 BLAKE2B f5f56cf6a5c4919f002da4865e51022e738fabaf50a537c9e79771c6f3bbfe46333eafa224172008812500169370cdcf8b39464483c8cf7a5c5e8b00257ea162 SHA512 2c5a1818cad8eb5e7ae5d112bbd2f1f3c74fc12ac2ae0325be9e4d2baa016c7a64e02c937014e7b043be3efdb5eac2188919f4aaf58f0f88abc44a455ec9bcc3
-DIST make-install-no-build.patch 555 BLAKE2B b49576a9b4fa49ba46f871e774a72f1b78ed37a4cb9be47655617b30e251ce2ef7b4236b045c271be3f3c00b9bd2b907281040658a2068ca986f84a80f5fc141 SHA512 8cb54dc9aac12450cc9d5041b1c4ea9a2b7ddb3c73533d58ce5e78e0547f36ac77f04576e28e15769d73ed02fcdfcd90a9036816fa8a669b2210332f972ee15f
-EBUILD julia-1.7.1-r4.ebuild 4992 BLAKE2B 590b6dabb0c0bd821db60b389d4f329c67b51de3b029818c6c564d826b2a742ced7e2644202e43cd001bb9cacb160da16cf0658a0a712f5ebef4bbdb6a3acbfa SHA512 6a84e43d2c283fa364dc41a9fa6483fcd4bda27376c25ca56111235d9e870bc7035736c17d7a79c1c8ba81fe51b155fb012e31944f8fb7c0679f6b46e8d6ecf3
-EBUILD julia-1.7.3.ebuild 6219 BLAKE2B 9950809d1207c7559a83997728aa905792c1407210a7570b6688606a71e76e412ced767118febba6ffa34541d3d2d21f63ea077b014235134a6eb245b187031c SHA512 ab14e9ebe85006bfc1ce34a7df1137c86ada0bcaa1d001e2b587e333bc303d23d9983997d941a008f094b82106946757cb8556c71257be3ccd2ba90f18e50544
EBUILD julia-1.8.2.ebuild 4724 BLAKE2B 03364d405678e22f11c63f39c5d24c476956048177b51c3962504c55f12f7326cb5b87b01524692bc2f93fdb7fb85addf62fdd0c215d17aafc80cbc914c14f5e SHA512 e7feb970adbb3af3ac5956cbec9fe1499c70fd16d4e267d5e5bdedbdaf242b58220d4a421307f200911f185a5f2770b711e56d6265d1065104fa1361c25aad42
MISC metadata.xml 1532 BLAKE2B 2b5a51f93e5aae7cdbd22bda33008ed09af3c0b27e1b1877d2a74d43c85b387bbe489d8ff25906ae1658ae27d22858074a12668a359287610a50bc347a3f8d43 SHA512 5502972e44b54a1c5cd18762e011ffedca043ebf1d7c5baaab2a51d8215d6fe9e54d7b3252cc4ebdaa44e022a3157a5b33ccb1c22db08b7c110bbe6bbd6eda95
diff --git a/dev-lang/julia/files/julia-1.4.0-no_symlink_llvm.patch b/dev-lang/julia/files/julia-1.4.0-no_symlink_llvm.patch
deleted file mode 100644
index 1b6371b120d9..000000000000
--- a/dev-lang/julia/files/julia-1.4.0-no_symlink_llvm.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/base/Makefile 2019-11-17 14:07:20.000000000 -0500
-+++ b/base/Makefile 2020-03-28 20:38:40.041571679 -0400
-@@ -223,7 +223,7 @@
- ln -sf "$$REALPATH" "$@"
- ifneq ($(USE_SYSTEM_LLVM),0)
- ifneq ($(USE_LLVM_SHLIB),0)
--SYMLINK_SYSTEM_LIBRARIES += symlink_libLLVM
-+#SYMLINK_SYSTEM_LIBRARIES += symlink_libLLVM
- endif
- endif
diff --git a/dev-lang/julia/files/julia-1.6.5-libgit-1.2.patch b/dev-lang/julia/files/julia-1.6.5-libgit-1.2.patch
deleted file mode 100644
index f0abc7b8f60d..000000000000
--- a/dev-lang/julia/files/julia-1.6.5-libgit-1.2.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This patch comes from
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.2.patch
-
-diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl
-index 9ffcaa3646..5f571e7b26 100644
---- a/stdlib/LibGit2/src/types.jl
-+++ b/stdlib/LibGit2/src/types.jl
-@@ -230,6 +230,9 @@ Matches the [`git_remote_callbacks`](https://libgit2.org/libgit2/#HEAD/type/git_
- push_update_reference::Ptr{Cvoid} = C_NULL
- push_negotiation::Ptr{Cvoid} = C_NULL
- transport::Ptr{Cvoid} = C_NULL
-+ @static if LibGit2.VERSION >= v"1.2.0"
-+ remote_ready::Ptr{Cvoid} = C_NULL
-+ end
- payload::Any = nothing
- @static if LibGit2.VERSION >= v"0.99.0"
- resolve_url::Ptr{Cvoid} = C_NULL
diff --git a/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch b/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch
deleted file mode 100644
index fe753c0cd0e4..000000000000
--- a/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-This patch comes from:
- https://github.com/archlinux/svntogit-community/blob/packages/julia/trunk/julia-libgit-1.4.patch
-
-diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl
-index 2bc9edaf89..55887ebe2a 100644
---- a/stdlib/LibGit2/src/consts.jl
-+++ b/stdlib/LibGit2/src/consts.jl
-@@ -247,6 +247,11 @@ const RESET_HARD = Cint(3) # MIXED plus changes in working tree discarded
- REBASE_OPERATION_FIXUP = Cint(4),
- REBASE_OPERATION_EXEC = Cint(5))
-
-+# git_remote_redirect_t
-+const GIT_REMOTE_REDIRECT_NONE = Cint(0)
-+const GIT_REMOTE_REDIRECT_INITIAL = Cint(1)
-+const GIT_REMOTE_REDIRECT_ALL = Cint(2)
-+
- # fetch_prune
- const FETCH_PRUNE_UNSPECIFIED = Cint(0)
- const FETCH_PRUNE = Cint(1)
-diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl
-index 9ffcaa3646..98d938df65 100644
---- a/stdlib/LibGit2/src/types.jl
-+++ b/stdlib/LibGit2/src/types.jl
-@@ -343,6 +343,9 @@ The fields represent:
- @static if LibGit2.VERSION >= v"0.25.0"
- proxy_opts::ProxyOptions = ProxyOptions()
- end
-+ @static if LibGit2.VERSION >= v"1.4.0"
-+ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL
-+ end
- @static if LibGit2.VERSION >= v"0.24.0"
- custom_headers::StrArrayStruct = StrArrayStruct()
- end
-@@ -674,6 +677,9 @@ The fields represent:
- @static if LibGit2.VERSION >= v"0.25.0"
- proxy_opts::ProxyOptions = ProxyOptions()
- end
-+ @static if LibGit2.VERSION >= v"1.4.0"
-+ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL
-+ end
- @static if LibGit2.VERSION >= v"0.24.0"
- custom_headers::StrArrayStruct = StrArrayStruct()
- end
diff --git a/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_1.patch b/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_1.patch
deleted file mode 100644
index 1398be7ec873..000000000000
--- a/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_1.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-This patch is from the julialang repository:
- https://github.com/JuliaLang/julia/commit/677ce6d3.patch
-but reference comes form ARCH Linux juia package
- https://github.com/archlinux/svntogit-community/tree/packages/julia/trunk
-
-From 677ce6d3adc2f70886f72795b0e5c739e75730ee Mon Sep 17 00:00:00 2001
-From: Valentin Churavy <v.churavy@gmail.com>
-Date: Sat, 28 Aug 2021 16:48:32 +0200
-Subject: [PATCH] [LLVM] Adapt to LLVM 13 changes
-
----
- src/cgutils.cpp | 8 +++++++-
- src/codegen.cpp | 2 +-
- src/disasm.cpp | 8 ++++++++
- src/jitlayers.cpp | 7 +++++++
- src/llvm-late-gc-lowering.cpp | 5 +++--
- src/llvm-multiversioning.cpp | 5 +++++
- src/llvm-remove-addrspaces.cpp | 8 ++++++++
- 7 files changed, 39 insertions(+), 4 deletions(-)
-
-diff --git a/src/cgutils.cpp b/src/cgutils.cpp
-index 4e9917b6b078..928e1a07b2f1 100644
---- a/src/cgutils.cpp
-+++ b/src/cgutils.cpp
-@@ -2757,8 +2757,14 @@ static jl_value_t *static_constant_instance(Constant *constant, jl_value_t *jt)
- size_t nargs;
- if (const auto *CC = dyn_cast<ConstantAggregate>(constant))
- nargs = CC->getNumOperands();
-- else if (const auto *CAZ = dyn_cast<ConstantAggregateZero>(constant))
-+ else if (const auto *CAZ = dyn_cast<ConstantAggregateZero>(constant)) {
-+#if JL_LLVM_VERSION >= 130000
-+ // SVE: Elsewhere we use `getMinKownValue`
-+ nargs = CAZ->getElementCount().getFixedValue();
-+#else
- nargs = CAZ->getNumElements();
-+#endif
-+ }
- else if (const auto *CDS = dyn_cast<ConstantDataSequential>(constant))
- nargs = CDS->getNumElements();
- else
-diff --git a/src/codegen.cpp b/src/codegen.cpp
-index 5cc9f66ffaef..9000513151fe 100644
---- a/src/codegen.cpp
-+++ b/src/codegen.cpp
-@@ -7394,7 +7394,7 @@ static std::pair<std::unique_ptr<Module>, jl_llvm_functions_t>
- #endif
- continue;
- }
-- assert(find(pred_begin(PhiBB), pred_end(PhiBB), FromBB) != pred_end(PhiBB)); // consistency check
-+ assert(std::find(pred_begin(PhiBB), pred_end(PhiBB), FromBB) != pred_end(PhiBB)); // consistency check
- TerminatorInst *terminator = FromBB->getTerminator();
- if (!terminator->getParent()->getUniqueSuccessor()) {
- // Can't use `llvm::SplitCriticalEdge` here because
-diff --git a/src/disasm.cpp b/src/disasm.cpp
-index 6157873ad71c..589f618396ea 100644
---- a/src/disasm.cpp
-+++ b/src/disasm.cpp
-@@ -857,8 +857,16 @@ static void jl_dump_asm_internal(
- assert(MRI && "Unable to create target register info!");
-
- std::unique_ptr<MCObjectFileInfo> MOFI(new MCObjectFileInfo());
-+#if JL_LLVM_VERSION >= 130000
-+ MCSubtargetInfo *MSTI = TheTarget->createMCSubtargetInfo(TheTriple.str(), cpu, features);
-+ assert(MSTI && "Unable to create subtarget info!");
-+
-+ MCContext Ctx(TheTriple, MAI.get(), MRI.get(), MSTI, &SrcMgr);
-+ MOFI->initMCObjectFileInfo(Ctx, /* PIC */ false, /* LargeCodeModel */ false);
-+#else
- MCContext Ctx(MAI.get(), MRI.get(), MOFI.get(), &SrcMgr);
- MOFI->InitMCObjectFileInfo(TheTriple, /* PIC */ false, Ctx);
-+#endif
-
- // Set up Subtarget and Disassembler
- std::unique_ptr<MCSubtargetInfo>
-diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp
-index 60b1903aaa80..12497cadf491 100644
---- a/src/jitlayers.cpp
-+++ b/src/jitlayers.cpp
-@@ -10,6 +10,9 @@
- #include <llvm/Analysis/TargetTransformInfo.h>
- #include <llvm/ExecutionEngine/Orc/CompileUtils.h>
- #include <llvm/ExecutionEngine/Orc/ExecutionUtils.h>
-+#if JL_LLVM_VERSION >= 130000
-+#include <llvm/ExecutionEngine/Orc/ExecutorProcessControl.h>
-+#endif
- #include <llvm/Support/DynamicLibrary.h>
- #include <llvm/Support/FormattedStream.h>
- #include <llvm/Support/SmallVectorMemoryBuffer.h>
-@@ -654,7 +657,11 @@ JuliaOJIT::JuliaOJIT(TargetMachine &TM, LLVMContext *LLVMCtx)
- MemMgr(createRTDyldMemoryManager()),
- JuliaListener(CreateJuliaJITEventListener()),
- TSCtx(std::unique_ptr<LLVMContext>(LLVMCtx)),
-+#if JL_LLVM_VERSION >= 130000
-+ ES(cantFail(orc::SelfExecutorProcessControl::Create())),
-+#else
- ES(),
-+#endif
- GlobalJD(ES.createBareJITDylib("JuliaGlobals")),
- JD(ES.createBareJITDylib("JuliaOJIT")),
- ObjectLayer(
-diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp
-index 0aac7638be0d..db8b19bacea5 100644
---- a/src/llvm-late-gc-lowering.cpp
-+++ b/src/llvm-late-gc-lowering.cpp
-@@ -709,7 +709,7 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
- else
- Numbers[i] = Number;
- }
-- if (auto VTy = dyn_cast<VectorType>(SI->getType())) {
-+ if (auto VTy = dyn_cast<FixedVectorType>(SI->getType())) {
- if (NumRoots != Numbers.size()) {
- // broadcast the scalar root number to fill the vector
- assert(NumRoots == 1);
-@@ -736,11 +736,12 @@ void LateLowerGCFrame::LiftPhi(State &S, PHINode *Phi) {
- SmallVector<PHINode *, 2> lifted;
- std::vector<int> Numbers;
- unsigned NumRoots = 1;
-- if (auto VTy = dyn_cast<VectorType>(Phi->getType())) {
-+ if (auto VTy = dyn_cast<FixedVectorType>(Phi->getType())) {
- NumRoots = VTy->getNumElements();
- Numbers.resize(NumRoots);
- }
- else {
-+ // TODO: SVE
- assert(isa<PointerType>(Phi->getType()) && "unimplemented");
- }
- for (unsigned i = 0; i < NumRoots; ++i) {
-diff --git a/src/llvm-multiversioning.cpp b/src/llvm-multiversioning.cpp
-index 68081eb53d3a..a82600162fa9 100644
---- a/src/llvm-multiversioning.cpp
-+++ b/src/llvm-multiversioning.cpp
-@@ -403,7 +403,12 @@ void CloneCtx::clone_function(Function *F, Function *new_f, ValueToValueMapTy &v
- vmap[&*J] = &*DestI++;
- }
- SmallVector<ReturnInst*,8> Returns;
-+#if JL_LLVM_VERSION >= 130000
-+ // We are cloning into the same module
-+ CloneFunctionInto(new_f, F, vmap, CloneFunctionChangeType::GlobalChanges, Returns);
-+#else
- CloneFunctionInto(new_f, F, vmap, true, Returns);
-+#endif
- }
-
- // Clone all clone_all targets. Makes sure that the base targets are all available.
-diff --git a/src/llvm-remove-addrspaces.cpp b/src/llvm-remove-addrspaces.cpp
-index ada10c8d5f1f..7c6ef093fbce 100644
---- a/src/llvm-remove-addrspaces.cpp
-+++ b/src/llvm-remove-addrspaces.cpp
-@@ -345,7 +345,11 @@ bool RemoveAddrspacesPass::runOnModule(Module &M)
- for (auto MD : MDs)
- NGV->addMetadata(
- MD.first,
-+#if JL_LLVM_VERSION >= 130000
-+ *MapMetadata(MD.second, VMap));
-+#else
- *MapMetadata(MD.second, VMap, RF_MoveDistinctMDs));
-+#endif
-
- copyComdat(NGV, GV);
-
-@@ -372,7 +376,11 @@ bool RemoveAddrspacesPass::runOnModule(Module &M)
- NF,
- F,
- VMap,
-+#if JL_LLVM_VERSION >= 130000
-+ CloneFunctionChangeType::GlobalChanges,
-+#else
- /*ModuleLevelChanges=*/true,
-+#endif
- Returns,
- "",
- nullptr,
diff --git a/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_2.patch b/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_2.patch
deleted file mode 100644
index 5a8c2cde93d5..000000000000
--- a/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_2.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-This patch is from julialang repository:
- https://github.com/JuliaLang/julia/commit/47f9139e.patch
-but reference comes form ARCH Linux juia package
- https://github.com/archlinux/svntogit-community/tree/packages/julia/trunk
-
-From 47f9139e88917813cb7beee5e690c48c2ac65de4 Mon Sep 17 00:00:00 2001
-From: Xuanda Yang <th3charlie@gmail.com>
-Date: Wed, 9 Jun 2021 22:35:14 +0800
-Subject: [PATCH] codegen: replace deprecated llvm::VectorType::getNumElements
- with new APIs (#41144)
-
----
- src/llvm-late-gc-lowering.cpp | 29 ++++++++++++++++++++++++++---
- 1 file changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp
-index 50015045151b..4df303462d96 100644
---- a/src/llvm-late-gc-lowering.cpp
-+++ b/src/llvm-late-gc-lowering.cpp
-@@ -396,8 +396,14 @@ CountTrackedPointers::CountTrackedPointers(Type *T) {
- }
- if (isa<ArrayType>(T))
- count *= cast<ArrayType>(T)->getNumElements();
-- else if (isa<VectorType>(T))
-+ else if (isa<VectorType>(T)) {
-+#if JL_LLVM_VERSION >= 120000
-+ ElementCount EC = cast<VectorType>(T)->getElementCount();
-+ count *= EC.getKnownMinValue();
-+#else
- count *= cast<VectorType>(T)->getNumElements();
-+#endif
-+ }
- }
- if (count == 0)
- all = false;
-@@ -408,8 +414,14 @@ unsigned getCompositeNumElements(Type *T) {
- return ST->getNumElements();
- else if (auto *AT = dyn_cast<ArrayType>(T))
- return AT->getNumElements();
-- else
-+ else {
-+#if JL_LLVM_VERSION >= 120000
-+ ElementCount EC = cast<VectorType>(T)->getElementCount();
-+ return EC.getKnownMinValue();
-+#else
- return cast<VectorType>(T)->getNumElements();
-+#endif
-+ }
- }
-
- // Walk through a Type, and record the element path to every tracked value inside
-@@ -625,8 +637,14 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
- }
- std::vector<int> Numbers;
- unsigned NumRoots = 1;
-- if (auto VTy = dyn_cast<VectorType>(SI->getType()))
-+ if (auto VTy = dyn_cast<VectorType>(SI->getType())) {
-+#if JL_LLVM_VERSION >= 120000
-+ ElementCount EC = VTy->getElementCount();
-+ Numbers.resize(EC.getKnownMinValue(), -1);
-+#else
- Numbers.resize(VTy->getNumElements(), -1);
-+#endif
-+ }
- else
- assert(isa<PointerType>(SI->getType()) && "unimplemented");
- assert(!isTrackedValue(SI));
-@@ -686,7 +704,12 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
- assert(NumRoots == 1);
- int Number = Numbers[0];
- Numbers.resize(0);
-+#if JL_LLVM_VERSION >= 120000
-+ ElementCount EC = VTy->getElementCount();
-+ Numbers.resize(EC.getKnownMinValue(), Number);
-+#else
- Numbers.resize(VTy->getNumElements(), Number);
-+#endif
- }
- }
- if (!isa<PointerType>(SI->getType()))
diff --git a/dev-lang/julia/files/julia-1.6.5-make-install-no-build.patch b/dev-lang/julia/files/julia-1.6.5-make-install-no-build.patch
deleted file mode 100644
index 0632a6e726f7..000000000000
--- a/dev-lang/julia/files/julia-1.6.5-make-install-no-build.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This pacth comes from
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/make-install-no-build.patch
-
---- julia-1.3.0/Makefile.orig 2019-12-06 12:54:23.879790955 +0000
-+++ julia-1.3.0/Makefile 2019-12-06 12:54:36.329952953 +0000
-@@ -277,11 +277,6 @@
-
-
- install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
--ifeq ($(BUNDLE_DEBUG_LIBS),1)
-- @$(MAKE) $(QUIET_MAKE) all
--else
-- @$(MAKE) $(QUIET_MAKE) release
--endif
- @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(libexecdir); do \
- mkdir -p $(DESTDIR)$$subdir; \
- done
diff --git a/dev-lang/julia/files/julia-1.7.1-do_not_set_rpath.patch b/dev-lang/julia/files/julia-1.7.1-do_not_set_rpath.patch
deleted file mode 100644
index 7b8c3c7ba51b..000000000000
--- a/dev-lang/julia/files/julia-1.7.1-do_not_set_rpath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile 2021-12-21 09:38:26.782829864 +0100
-+++ b/Makefile 2021-12-21 10:52:40.760565902 +0100
-@@ -365,7 +365,7 @@
- endif
-
- # Set rpath for LLVM.so which is `$ORIGIN/../lib` moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
--ifneq (,$(findstring $(OS),Linux FreeBSD))
-+ifneq (,$(findstring $(OS),FreeBSD))
- $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libLLVM.$(SHLIB_EXT)
- endif
-
diff --git a/dev-lang/julia/files/julia-1.7.1-hardcoded-libs.patch b/dev-lang/julia/files/julia-1.7.1-hardcoded-libs.patch
deleted file mode 100644
index be7d20368f6d..000000000000
--- a/dev-lang/julia/files/julia-1.7.1-hardcoded-libs.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-This pacth comes from:
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
-
-diff --git a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
-index a7ca666b23..b84a42f4e7 100644
---- a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
-+++ b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
-@@ -31,9 +31,9 @@ elseif Sys.isapple()
- const libmbedtls = "@rpath/libmbedtls.13.dylib"
- const libmbedx509 = "@rpath/libmbedx509.1.dylib"
- else
-- const libmbedcrypto = "libmbedcrypto.so.5"
-- const libmbedtls = "libmbedtls.so.13"
-- const libmbedx509 = "libmbedx509.so.1"
-+ const libmbedcrypto = "libmbedcrypto.so"
-+ const libmbedtls = "libmbedtls.so"
-+ const libmbedx509 = "libmbedx509.so"
- end
-
- function __init__()
-diff --git a/stdlib/libLLVM_jll/src/libLLVM_jll.jl b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
-index fa45e754e5..b51812e3a8 100644
---- a/stdlib/libLLVM_jll/src/libLLVM_jll.jl
-+++ b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
-@@ -23,7 +23,7 @@ if Sys.iswindows()
- elseif Sys.isapple()
- const libLLVM = "@rpath/libLLVM.dylib"
- else
-- const libLLVM = "libLLVM-12jl.so"
-+ const libLLVM = "libLLVM.so"
- end
-
- function __init__()
-diff --git a/stdlib/nghttp2_jll/src/nghttp2_jll.jl b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
-index 8b98c76ac5..77ad9e3800 100644
---- a/stdlib/nghttp2_jll/src/nghttp2_jll.jl
-+++ b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
-@@ -22,7 +22,7 @@ if Sys.iswindows()
- elseif Sys.isapple()
- const libnghttp2 = "@rpath/libnghttp2.14.dylib"
- else
-- const libnghttp2 = "libnghttp2.so.14"
-+ const libnghttp2 = "libnghttp2.so"
- end
-
- function __init__()
-diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
-index f0d4b5dda6..2ed3017b51 100644
---- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl
-+++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
-@@ -23,7 +23,7 @@ if Sys.iswindows()
- elseif Sys.isapple()
- const libgit2 = "@rpath/libgit2.1.1.dylib"
- else
-- const libgit2 = "libgit2.so.1.1"
-+ const libgit2 = "libgit2.so"
- end
-
- function __init__()
-diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
-index 215de8aed6..918d1ffdc2 100644
---- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
-+++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
-@@ -22,7 +22,7 @@ if Sys.iswindows()
- elseif Sys.isapple()
- const libopenlibm = "@rpath/libopenlibm.3.dylib"
- else
-- const libopenlibm = "libopenlibm.so.3"
-+ const libopenlibm = "libopenlibm.so"
- end
-
- function __init__()
diff --git a/dev-lang/julia/julia-1.7.1-r4.ebuild b/dev-lang/julia/julia-1.7.1-r4.ebuild
deleted file mode 100644
index 1ddfaf72dbc2..000000000000
--- a/dev-lang/julia/julia-1.7.1-r4.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic llvm pax-utils toolchain-funcs
-
-# correct versions for stdlibs are in deps/checksums
-# for everything else, run with network-sandbox and wait for the crash
-
-MY_LLVM_V="13.0.0"
-
-DESCRIPTION="High-performance programming language for technical computing"
-HOMEPAGE="https://julialang.org/"
-
-SRC_URI="
- https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
- https://github.com/JuliaLang/julia/commit/1eb063f1.patch -> ${PN}-1.7.1-llvm_13_compat_part_3.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/f8c918b0.patch -> ${PN}-1.7.1-llvm_13_compat_part_4.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/63303980.patch -> ${PN}-1.7.1-llvm_13_compat_part_5.patch
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+system-llvm"
-
-RDEPEND="
- system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
-"
-LLVM_MAX_SLOT=13
-
-RDEPEND+="
- app-arch/p7zip
- dev-libs/gmp:0=
- dev-libs/libgit2:0
- >=dev-libs/libpcre2-10.23:0=[jit,unicode]
- dev-libs/mpfr:0=
- >=dev-libs/libutf8proc-2.6.1:0=[-cjk]
- >=dev-util/patchelf-0.13
- >=net-libs/mbedtls-2.2
- <net-misc/curl-7.81.0[http2,ssh]
- sci-libs/amd:0=
- sci-libs/arpack:0=
- sci-libs/camd:0=
- sci-libs/ccolamd:0=
- sci-libs/cholmod:0=
- sci-libs/colamd:0=
- sci-libs/fftw:3.0=[threads]
- sci-libs/openlibm:0=
- sci-libs/spqr:0=
- sci-libs/umfpack:0=
- >=sci-mathematics/dsfmt-2.2.4
- >=sys-libs/libunwind-1.1:0=
- sys-libs/zlib:0=
- >=virtual/blas-3.6
- virtual/lapack"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- !system-llvm? ( dev-util/cmake )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch
- "${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_1.patch
- "${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_2.patch
- "${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_3.patch
- "${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_4.patch
- "${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_5.patch
- "${FILESDIR}/${PN}"-1.6.5-libgit-1.2.patch
- "${FILESDIR}/${PN}"-1.6.5-libgit-1.4.patch
- "${FILESDIR}/${PN}"-1.6.5-make-install-no-build.patch
- "${FILESDIR}/${PN}"-1.7.1-hardcoded-libs.patch
- "${FILESDIR}/${PN}"-1.7.1-do_not_set_rpath.patch
-)
-
-pkg_setup() {
- use system-llvm && llvm_pkg_setup
-}
-
-src_unpack() {
- local tounpack=(${A})
- # the main source tree, followed by deps
- unpack "${tounpack[0]}"
-
- mkdir -p "${S}/deps/srccache/"
- for i in "${tounpack[@]:1}"; do
- cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
- done
-}
-
-src_prepare() {
- default
-
- # Sledgehammer:
- # - prevent fetching of bundled stuff in compile and install phase
- # - respect CFLAGS
- # - respect EPREFIX and Gentoo specific paths
-
- sed -i \
- -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
- Make.inc || die
-
- sed -i \
- -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
- src/Makefile || die
-
- # disable doc install starting git fetching
- sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
-}
-
-src_configure() {
- # bug #855602
- filter-lto
-
- use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
-
- # julia does not play well with the system versions of libuv
- # USE_SYSTEM_LIBM=0 implies using external openlibm
- cat <<-EOF > Make.user
- LOCALBASE:="${EPREFIX}/usr"
- override prefix:="${EPREFIX}/usr"
- override libdir:="\$(prefix)/$(get_libdir)"
- override CC:=$(tc-getCC)
- override CXX:=$(tc-getCXX)
- override AR:=$(tc-getAR)
-
- BUNDLE_DEBUG_LIBS:=0
- USE_BINARYBUILDER:=0
- USE_SYSTEM_CSL:=1
- USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
- USE_SYSTEM_LIBUNWIND:=1
- USE_SYSTEM_PCRE:=1
- USE_SYSTEM_LIBM:=0
- USE_SYSTEM_OPENLIBM:=1
- USE_SYSTEM_DSFMT:=1
- USE_SYSTEM_BLAS:=1
- USE_SYSTEM_LAPACK:=1
- USE_SYSTEM_LIBBLASTRAMPOLINE:=0
- USE_SYSTEM_GMP:=1
- USE_SYSTEM_MPFR:=1
- USE_SYSTEM_LIBSUITESPARSE:=1
- USE_SYSTEM_LIBUV:=0
- USE_SYSTEM_UTF8PROC:=1
- USE_SYSTEM_MBEDTLS:=1
- USE_SYSTEM_LIBSSH2:=1
- USE_SYSTEM_NGHTTP2:=1
- USE_SYSTEM_CURL:=1
- USE_SYSTEM_LIBGIT2:=1
- USE_SYSTEM_PATCHELF:=1
- USE_SYSTEM_ZLIB:=1
- USE_SYSTEM_P7ZIP:=1
- VERBOSE:=1
- EOF
-}
-
-src_compile() {
- # Julia accesses /proc/self/mem on Linux
- addpredict /proc/self/mem
-
- default
- pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
-}
-
-src_install() {
- emake install DESTDIR="${D}"
-
- if ! use system-llvm ; then
- local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
- cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
- fi
-
- dodoc README.md
-
- mv "${ED}"/usr/etc/julia "${ED}"/etc || die
- rmdir "${ED}"/usr/etc || die
- mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
- rmdir "${ED}"/usr/share/doc/julia || die
-
- # The appdata directory is deprecated.
- mv "${ED}"/usr/share/{appdata,metainfo}/ || die
-}
-
-pkg_postinst() {
- elog "To use Plots, you will need to install sci-visualization/gr."
-}
diff --git a/dev-lang/julia/julia-1.7.3.ebuild b/dev-lang/julia/julia-1.7.3.ebuild
deleted file mode 100644
index 1b2d16111014..000000000000
--- a/dev-lang/julia/julia-1.7.3.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic llvm pax-utils toolchain-funcs
-
-# correct versions for stdlibs are in deps/checksums
-# for everything else, run with network-sandbox and wait for the crash
-
-MY_LLVM_V="13.0.0"
-
-DESCRIPTION="High-performance programming language for technical computing"
-HOMEPAGE="https://julialang.org/"
-
-SRC_URI="
- https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
- https://github.com/JuliaLang/julia/commit/677ce6d3.patch -> ${PN}-1.7.3-llvm_13_compat_part_1.patch
- https://github.com/JuliaLang/julia/commit/47f9139e.patch -> ${PN}-1.7.3-llvm_13_compat_part_2.patch
- https://github.com/JuliaLang/julia/commit/1eb063f1.patch -> ${PN}-1.7.3-llvm_13_compat_part_3.patch
- https://github.com/JuliaLang/julia/commit/99d4e655.patch -> ${PN}-1.7.3-llvm_13_compat_part_4.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/f8c918b0.patch -> ${PN}-1.7.3-llvm_13_compat_part_5.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/63303980.patch -> ${PN}-1.7.3-llvm_13_compat_part_6.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.2.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.4.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-system-cblas.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/make-install-no-build.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libunwind-1.6.patch
- https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libblastrampoline-4.patch
- https://github.com/JuliaLang/Downloads.jl/archive/refs/tags/v1.5.3.tar.gz -> ${P}_Downloads.jl_1.5.3.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+system-llvm"
-
-RDEPEND="
- system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
-"
-LLVM_MAX_SLOT=13
-
-RDEPEND+="
- app-arch/p7zip
- dev-libs/gmp:0=
- dev-libs/libgit2:0
- >=dev-libs/libpcre2-10.23:0=[jit,unicode]
- dev-libs/mpfr:0=
- >=dev-libs/libutf8proc-2.6.1:0=[-cjk]
- >=dev-util/patchelf-0.13
- >=net-libs/mbedtls-2.2
- net-misc/curl[http2,ssh]
- sci-libs/amd:0=
- sci-libs/arpack:0=
- sci-libs/camd:0=
- sci-libs/ccolamd:0=
- sci-libs/cholmod:0=
- sci-libs/colamd:0=
- sci-libs/fftw:3.0=[threads]
- sci-libs/openlibm:0=
- sci-libs/spqr:0=
- sci-libs/umfpack:0=
- >=sci-mathematics/dsfmt-2.2.4
- >=sys-libs/libunwind-1.1:0=
- sys-libs/zlib:0=
- >=virtual/blas-3.6
- virtual/lapack"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- !system-llvm? ( dev-util/cmake )"
-
-PATCHES=(
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_1.patch
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_2.patch
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_3.patch
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_4.patch
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_5.patch
- "${DISTDIR}/${PN}"-1.7.3-llvm_13_compat_part_6.patch
- "${DISTDIR}"/julia-libgit-1.2.patch
- "${DISTDIR}"/julia-libgit-1.4.patch
- "${DISTDIR}"/julia-libunwind-1.6.patch
- "${DISTDIR}"/julia-system-cblas.patch
- "${DISTDIR}"/julia-hardcoded-libs.patch
- "${DISTDIR}"/make-install-no-build.patch
- "${DISTDIR}"/julia-libblastrampoline-4.patch
-)
-
-pkg_setup() {
- use system-llvm && llvm_pkg_setup
-}
-
-src_unpack() {
- local tounpack=(${A})
- # the main source tree, followed by deps
- unpack "${tounpack[0]}"
-
- mkdir -p "${S}/deps/srccache/"
- for i in "${tounpack[@]:1}"; do
- cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
- done
-}
-
-src_prepare() {
- default
-
- # Sledgehammer:
- # - prevent fetching of bundled stuff in compile and install phase
- # - respect CFLAGS
- # - respect EPREFIX and Gentoo specific paths
-
- sed -i \
- -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
- Make.inc || die
-
- sed -i \
- -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
- src/Makefile || die
-
- # disable doc install starting git fetching
- sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
-}
-
-src_configure() {
- # bug #855602
- filter-lto
-
- use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
-
- # julia does not play well with the system versions of libuv
- # USE_SYSTEM_LIBM=0 implies using external openlibm
- cat <<-EOF > Make.user
- LOCALBASE:="${EPREFIX}/usr"
- override prefix:="${EPREFIX}/usr"
- override libdir:="\$(prefix)/$(get_libdir)"
- override CC:=$(tc-getCC)
- override CXX:=$(tc-getCXX)
- override AR:=$(tc-getAR)
-
- BUNDLE_DEBUG_LIBS:=0
- USE_BINARYBUILDER:=0
- USE_SYSTEM_CSL:=1
- USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
- USE_SYSTEM_LIBUNWIND:=1
- USE_SYSTEM_PCRE:=1
- USE_SYSTEM_LIBM:=0
- USE_SYSTEM_OPENLIBM:=1
- USE_SYSTEM_DSFMT:=1
- USE_SYSTEM_BLAS:=1
- USE_SYSTEM_LAPACK:=1
- USE_SYSTEM_LIBBLASTRAMPOLINE:=0
- USE_SYSTEM_GMP:=1
- USE_SYSTEM_MPFR:=1
- USE_SYSTEM_LIBSUITESPARSE:=1
- USE_SYSTEM_LIBUV:=0
- USE_SYSTEM_UTF8PROC:=1
- USE_SYSTEM_MBEDTLS:=1
- USE_SYSTEM_LIBSSH2:=1
- USE_SYSTEM_NGHTTP2:=1
- USE_SYSTEM_CURL:=1
- USE_SYSTEM_LIBGIT2:=1
- USE_SYSTEM_PATCHELF:=1
- USE_SYSTEM_ZLIB:=1
- USE_SYSTEM_P7ZIP:=1
- VERBOSE:=1
- EOF
-}
-
-src_compile() {
- # Julia accesses /proc/self/mem on Linux
- addpredict /proc/self/mem
-
- default
- pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
-}
-
-src_install() {
- emake install DESTDIR="${D}"
-
- if ! use system-llvm ; then
- local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
- cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
- fi
-
- dodoc README.md
-
- mv "${ED}"/usr/etc/julia "${ED}"/etc || die
- rmdir "${ED}"/usr/etc || die
- mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
- rmdir "${ED}"/usr/share/doc/julia || die
-
- # The appdata directory is deprecated.
- mv "${ED}"/usr/share/{appdata,metainfo}/ || die
-}
-
-pkg_postinst() {
- elog "To use Plots, you will need to install sci-visualization/gr."
-}
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 1104445200c6..c60d8052940e 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -2,19 +2,13 @@ AUX perl-5.34.0-crossfit.patch 388 BLAKE2B dda2f10732422857f1a3977b6aa6ec0536dff
AUX perl-5.34.0-fallback-getcwd-pwd.patch 8158 BLAKE2B a6870b26dbfadb54c5ea4f075a4a5caad8d789853aade84ff434e5d994e9fdd82cdef6314a576b8cdb3a9948aa73aa650c1ff4656e9c8bca4fb58384396332b1 SHA512 fe778c2348da48006927b179d02d33489790f41afa079fabe6350853b2b2d8c168d0db7b81f1b6c988e3ac46d733326aab4aa4423a04d6380acf74eed91cfc5c
AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af52ccf628fa240c00334b14f090d01959764cd7d495a39c59eb59cdf69b0e527900350450f9995d934769ee461aac33 SHA512 fc6481a6ccbef4a19a966453472bde0c5dd1ea321be2a9682eff009c7431e18043d2c75b26ef296232a5f4e310992fc8955d19aef439d9f30b42ba9e9c9d561e
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
-DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
DIST perl-5.34.1-zlib-1.2.12-encrypt-standard.zip.bin 207 BLAKE2B b52e1322930d5f7b8d6e3a319d24322b5dffb2313bdc757c0c8eb8713fd03adace199c8449ccc306e49b5b71e3c1b9786b2acb0ab8780a09d718a1c54f653226 SHA512 5a7e0950f0f94bd961fa9cf3e4ab5dd30006bee0f4553da755688a32d0411a4a850a28d4f998b36e7177dcf3aba192b899ca4138e84452baffef1a0b2ed1fb7b
DIST perl-5.34.1-zlib-1.2.12.patch.xz 180480 BLAKE2B 39da5c1ef406d018f73e641d86ff81d5257cf1f7d6c1b0caac9651a546d70a2e0fff53bf0fc584907e792cb681a961c8442ab355f8f0c2cfffbb26c997cdbac0 SHA512 b32b57721b10943e21003429b42c535f7833e450f097855162241775a161a557fe0ea86ce615d6a9c885f165f45438cabba5580f9b299796d3a3da5ea720f1ff
DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638789141f7fcd5a304509cb391cb9ad0232ba6ac70113bb0881ddb00ca5b19c53aa01e1e206c44401dad60d8942 SHA512 9261958291b49eea30c120a89e5ee32dc6a5fd46de4869c89c3d6a4c1162d6cf192ebe429d01a293eda93d8680ce15294af27717fd4ec4c75f511c1fa820fdac
DIST perl-5.36.0-patches-1.tar.xz 20352 BLAKE2B f5413c75c5bbced230ad7fa692998caef8e4041f3394ae5212dc2aaee465de619b56cf07551be1bb36f2e06b9ed7d0ddda31ad4a7ec81d5c0c64b698ddd80379 SHA512 ab24577b6d71a13d9ccf272efa0881b29933b6a39532ca0d71d4c9a134f451bbe5f3d87c6c851f26114702ac3f92af5c5a72129a458ebee31e372106955eb157
DIST perl-5.36.0.tar.xz 13051500 BLAKE2B e4864a4c21e5242df4164c73db8af10f7b9c36b075e0c05777abec79716db7778ccbf2c0c9e7e749518ad310019d2a6b32bd8b5ab2af5a8b16b5d920f83d034f SHA512 6dd6ac2a77566c173c5ab9c238cf555f2c3e592e89abb5600bc23ce1cbd0c349e0233f6417cbbf1f6d0aefc6a734ba491285af0d3dc68a605b658b65c89f1dab
-DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
DIST perl-cross-1.4.tar.gz 113861 BLAKE2B 7c7783afccc6a04ab122a7c60b1cff7f0a2725655b2b63325ca25d7b8acb0cf993b496e2a590db943054336337ad215550b6b2a565f1d91a5aa9cfe3a4c36db4 SHA512 bde73cac13c0b42c4c6783d7e30dea491d70b65131e1c8434ef75db1f39a8e15ef5857568b706e8456faa3822402676dd247a1f20f4bed983597fdd5a6b4faad
-EBUILD perl-5.34.0-r10.ebuild 25937 BLAKE2B bb47ec2a7285786444059b4bdbe0d042edc43a5060aeed47e924c94d7c1ecdd36c7428b5209530266239e6f2f81aa5228c3699a16916fc8e92dc489265fc1c82 SHA512 cdaed792f1eb988a38fe2f17f99e1cb5c8f5414374619f690832c7980ce412ad6e7276e1ca4285201c3c728e00ae631a5ce0657eba4e4b217b260c7d2acaf0ab
-EBUILD perl-5.34.0-r11.ebuild 25943 BLAKE2B 4608ec616c9109d4b7489ef51279b7b02cd82bb772cafa901de54940edd99b975dac51667a1053663e9bd0be95c53c4ca3d57f8c140479e467ad2034a2679b1c SHA512 54370926c8b81b5800a09709fccdb2c59e405c5909f235e40cde0955fd79896e813f3003ab60f1bc4febd8ece638347be4f2cf462e640f5f14e3ffa107e45a9f
-EBUILD perl-5.34.0-r9.ebuild 25681 BLAKE2B 40f1b6ac52be6e8df0b387a6024110a4c52c75e06ba3b8281ad1864b0c42bb7eb7ca98ff3fcbf6897d0fca79e90513d4fc2eea3015669ba67878155ea5ce986d SHA512 8ebea7faa3ae639845b44b64266eb643c5cdeb9df41a6ba529f7f5fabcc3944570a9c132bc1a186abf2d46e9436c55e4deca7f76a2bcdd8a945d3f469c317be9
-EBUILD perl-5.34.1-r2.ebuild 25771 BLAKE2B 3875ad6fa3de0ff25f96a2e76bc0e56a5760c169abbd6f44a0c85f36c22a32dd02dbc8b75903353404fa7d11e10c9049a2d98896477728047bdc847f7641544f SHA512 ae09f9195ce3cdecc9aa43759527f62bc4d0002ea21c659f29186ec1e2dd7eeccb58d947567a225ac8961a84fea590c7ec49bc1b51401651c9580613351b9aae
-EBUILD perl-5.34.1-r3.ebuild 26309 BLAKE2B 05be3cb2c0860cc59559bb502331dc49cf8d6908e9adca14474ca64f6f24a0cd5701463264910f6622135b75c4b9b1f8a34c7c0cf2da86abb5e38e321a78cd11 SHA512 f401b9cb0b285a91c97b3b0c1b39777a86567e43b7334cf071b877b086016ea33c979693a9a92f57719dfcb8e67f0c996b8bc91c06150d7377efd926ac67b5f3
-EBUILD perl-5.36.0.ebuild 25533 BLAKE2B 8d15f3430f9d865a588b67e86bfa1a4b31e40ff5e3179a4ef5145bce3e9cf6a578f5a18b84edba177a298389d40f5c75becbb2345c14e02bd62833b2d5e6339e SHA512 3d3a6ca1914e0957e79d3990e1953e7ca074b126e149c285afdac456f819b79d568ac67da0381c7a0295912b38b808dd802baa8f6100573d9f04c6ace2d74539
+EBUILD perl-5.34.1-r4.ebuild 26353 BLAKE2B 4eed897c147ce3bdd062e17a5ca9653956a70b50b9041e16ef7293fcb9ffafd7b74d96ec2b4497a4eaa69bf9fc4018374127593eba514adbee98df2296522c7d SHA512 e0005cc1674804e274e072e19bd4208c3bc84e1eec788689997104ec15489613fc7fc5252fafa2a3eecc8b9fc1c8560a8d0e90fa6962b1adb78d1dfbc2ef3d03
+EBUILD perl-5.36.0-r1.ebuild 25577 BLAKE2B b94fea0a61054533995d612248c7f52e294ad1e0a686cef34ba2b650f8ef9242f49ab982088c52cce21bc2459529e4b93d36e449d00401eb874fe391658d8f2a SHA512 195ee185fd64d99bfb13c9d957046589ad7332800727df36114fd2c4f3b5069366e71d2f18671763e033b19ba254882330925f4992bbe997dcd6608b0fe8fc6c
MISC metadata.xml 621 BLAKE2B 8a14a3efd31858bd5be39476ff86bb9facf3984bbb1110c5b30c3af7aacfe0148357cf7c838ad94799c090a42ed036cc5a51205c3fcfd0d010833e0dad0e4820 SHA512 656902acadb21bf951bf08ca7775c095a5ec76f881215a2b7d3a42eb344a2b9e337cb9260ab87ff5a1730b5a0ef4efe852affdf2e418df9c7c39f18a0a7b89d4
diff --git a/dev-lang/perl/perl-5.34.0-r10.ebuild b/dev-lang/perl/perl-5.34.0-r10.ebuild
deleted file mode 100644
index b94dfcf6d2c5..000000000000
--- a/dev-lang/perl/perl-5.34.0-r10.ebuild
+++ /dev/null
@@ -1,828 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.6
-PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=XSAWYERX
-
-# Greatest first, don't include yourself
-# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN=""
-
-if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.30.0
-else
- DIST_VERSION="${PV/_rc/-RC}"
-fi
-SHORT_PV="${DIST_VERSION%.*}"
-
-# Even numbered major versions are ABI intercompatible
-# Odd numbered major versions are not
-if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
- SUBSLOT="${DIST_VERSION%-RC*}"
-else
- SUBSLOT="${DIST_VERSION%.*}"
-fi
-
-# Used only in tar paths
-MY_P="perl-${DIST_VERSION}"
-# Used in library paths
-MY_PV="${DIST_VERSION%-RC*}"
-
-DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
-
-SRC_URI="
- mirror://cpan/src/5.0/${MY_P}.tar.xz
- mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
- https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
- https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
-"
-HOMEPAGE="https://www.perl.org/"
-
-LICENSE="|| ( Artistic GPL-1+ )"
-SLOT="0/${SUBSLOT}"
-
-if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}"
-
-PDEPEND="
- !minimal? (
- >=app-admin/perl-cleaner-2.5
- >=virtual/perl-CPAN-2.290.0
- >=virtual/perl-Encode-3.120.0
- >=virtual/perl-File-Temp-0.230.400-r2
- >=virtual/perl-Data-Dumper-2.154.0
- virtual/perl-Test-Harness
- )
-"
-# bug 390719, bug 523624
-# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
-
-S="${WORKDIR}/${MY_P}"
-
-dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.280.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
- src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
- src_remove_dual perl-core/Test-Harness 3.430.0 prove
- src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
-}
-
-check_rebuild() {
- # Fresh install
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- return 0;
- # Major Upgrade
- # doesn't matter if there's multiple copies, it still needs a rebuild
- # if the string is anything other than "5.CURRENTMAJOR"
- elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
- echo ""
- ewarn "UPDATE THE PERL MODULES:"
- ewarn "After updating dev-lang/perl the installed Perl modules"
- ewarn "have to be re-installed. In most cases, this is done automatically"
- ewarn "by the package manager, but subsequent steps are still recommended"
- ewarn "to ensure system consistency."
- ewarn
- ewarn "You should start with a depclean to remove any unused perl dependencies"
- ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
- ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
- ewarn "Recommended: emerge --depclean -va"
- ewarn
- ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
- ewarn "remaining rebuilds portage may have missed."
- ewarn "Use: perl-cleaner --all"
- return 0;
-
- # Reinstall w/ USE Change
- elif
- ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
- ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
- ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
- ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
- ( use debug && ! has_version dev-lang/perl[debug] ) || \
- ( ! use debug && has_version dev-lang/perl[debug] ) ; then
- echo ""
- ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
- ewarn "You must rebuild all perl-modules installed."
- ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
- fi
-}
-
-pkg_setup() {
- case ${CHOST} in
- *-freebsd*) osname="freebsd" ;;
- *-dragonfly*) osname="dragonfly" ;;
- *-netbsd*) osname="netbsd" ;;
- *-openbsd*) osname="openbsd" ;;
- *-darwin*) osname="darwin" ;;
- *-solaris*) osname="solaris" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- fi
- if use quadmath ; then
- myarch+="-quadmath"
- fi
- if use ithreads ; then
- mythreading="-multi"
- myarch+="-thread"
- fi
-
- PRIV_BASE="/usr/$(get_libdir)/perl5"
- SITE_BASE="/usr/local/$(get_libdir)/perl5"
- VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
-
- LIBPERL="libperl$(get_libname ${MY_PV} )"
-
- PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
- ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${SUBSLOT}"
- SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
- VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-
- dual_scripts
-}
-
-src_remove_dual_file() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- alternatives_auto_makesym "${i}" "${i}-[0-9]*"
- done
- ;;
- setup)
- for i in "$@" ; do
- if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
- has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
- break
- fi
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i}{,-${ver}-${P}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual_man() {
- local i pkg ver ff
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
- ff=${ff##*${i#${i%.[0-9]}}}
- alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- for i in "$@" ; do
- src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
- src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
- done
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # bug 794463, needs further analysis what is exactly wrong here
- eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
-
- # bug 604072
- MAKEOPTS+=" -j1"
- export MAKEOPTS
-}
-
-src_prepare_dynamic() {
- ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
- ln -s ${LIBPERL} libperl$(get_libname ) || die
-}
-
-# Copy a patch into the patch series
-# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
-# - description is optional, but recommended
-# - all arguments after descriptions are bug URLs
-add_patch() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local src_name dest_name desc
- src_name="$1"
- dest_name="$2"
- desc="$3"
- shift; shift; shift;
- einfo "Adding ${dest_name} to patch bundle"
- cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
- if [[ -n "${desc}" ]]; then
- printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
- fi
- if [[ $# -gt 0 ]]; then
- # Note: when $@ is more than one element, this emits a
- # line for each element
- printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
- fi
-}
-
-# Remove a patch using a glob expr
-# eg:
-# rm_patch *-darwin-Use-CC*
-#
-rm_patch() {
- local patchdir="${WORKDIR}/patches"
- local expr="$1"
- local patch="$( cd "${patchdir}"; echo $expr )"
- einfo "Removing $patch ($expr) from patch bundle"
- if [[ -e "${patchdir}/${patch}" ]]; then
- rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
- else
- ewarn "No ${expr} found in ${patchdir} to remove"
- fi
-}
-
-# Yes, this is a reasonable amount of code for something seemingly simple
-# but this is far easier to debug when things go wrong, and things went wrong
-# multiple times while I was getting the exact number of slashes right, which
-# requires circumnavigating both bash and sed escape mechanisms.
-c_escape_string() {
- local slash dquote
- slash='\'
- dquote='"'
- re_slash="${slash}${slash}"
- re_dquote="${slash}${dquote}"
-
- # Convert \ to \\,
- # " to \"
- echo "$1" |\
- sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
- sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
-}
-c_escape_file() {
- c_escape_string "$(cat "$1")"
-}
-
-apply_patchdir() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local patchoutput="patchlevel-gentoo.h"
-
- # Inject Patch-Level info into description for patchlevel.h patch
- # to show in -V
- local patch_expr="*List-packaged-patches*"
- local patch="$( cd "${patchdir}"; echo $patch_expr )";
- einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
-
- if [[ -e "${patchdir}/${patch}" ]]; then
- printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
- >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
- else
- eerror "No $patch_expr found in ${patchdir}"
- fi
-
- # Compute patch list to apply
- # different name other than PATCHES to stop default
- # reapplying it
- # Single depth is currently only supported, as artifacts can reside
- # from the old layout being multiple-directories, as well as it grossly
- # simplifying the patchlevel_gentoo.h generation.
- local PERL_PATCHES=($(
- find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
- grep -E '[.](diff|patch)$' |\
- sort -n
- ))
-
- for patch in "${PERL_PATCHES[@]}"; do
- eapply "${WORKDIR}"/patches/${patch}
- done
-
- einfo "Generating $patchoutput"
-
- # This code creates a header file, each iteration
- # creates one-or-more-lines for each entry found in PERL_PATCHES
- # and STDOUT is redirected to the .h file
- for patch in "${PERL_PATCHES[@]}"; do
- local desc_f="${infodir}/${patch}.desc"
- local bugs_f="${infodir}/${patch}.bugs"
-
- printf ',"%s"\n' "${patch}"
- if [[ ! -e "${desc_f}" ]]; then
- ewarn "No description provided for ${patch} (expected: ${desc_f} )"
- else
- local desc="$(c_escape_file "${desc_f}")"
- printf ',"- %s"\n' "${desc}"
- fi
- if [[ -e "${bugs_f}" ]]; then
- while read -d $'\n' -r line; do
- local esc_line="$(c_escape_string "${line}")"
- printf ',"- Bug: %s"\n' "${esc_line}"
- done <"${bugs_f}"
- fi
- done > "${S}/${patchoutput}"
- printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
-
-}
-
-src_prepare() {
- local patchdir="${WORKDIR}/patches"
-
- # Prepare Patch dir with additional patches / remove unwanted patches
- # Inject bug/desc entries for perl -V
- # Old example:
- # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
- # "Fix broken miniperl on hppa"\
- # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
-
- add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
- "Fix GDBM_File to compile with version 1.20 and earlier"\
- "https://bugs.gentoo.org/802945"
-
- if use prefix ; then
- add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
- "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
- "https://bugs.gentoo.org/818172"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- rm_patch "*-nsl-and-cl*"
- fi
-
- apply_patchdir
-
- tc-is-cross-compiler && src_prepare_perlcross
-
- tc-is-static-only || src_prepare_dynamic
-
- if use gdbm; then
- sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
- ext/NDBM_File/Makefile.PL || die
- fi
-
- # Use errno.h from prefix rather than from host system, bug #645804
- if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
- sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # set a soname, fix linking against just built libperl
- sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
- fi
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fix install_name (soname) not to reference $D
- sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
-
- # fix environ linkage absence (only a real issue on Darwin9)
- if [[ ${CHOST##*-darwin} -le 9 ]] ; then
- sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
- Makefile.SH || die
- fi
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-# Outputs a list of versions which have been seen in any of the
-# primary perl @INC prefix paths, such as:
-# /usr/lib64/perl5/<NUMBER>
-# /usr/local/lib64/perl5/<NUMBER>
-# /usr/lib64/perl5/vendor_perl/<NUMBER>
-#
-# All values of NUMBER must be like "5.x.y" or like "5.x"
-#
-find_candidate_inc_versions() {
- local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
- local dirs=(
- "${EROOT}${PRIV_BASE}"
- "${EROOT}${SITE_BASE}"
- "${EROOT}${VENDOR_BASE}"
- )
- for dir in "${dirs[@]}"; do
- if [[ ! -e "${dir}" ]]; then
- continue
- fi
- # Without access to readdir() on these dirs, find will not be able
- # to reveal any @INC directories inside them, and will subsequently prune
- # them from the built perl's @INC support, breaking our compatiblity options
- # entirely.
- if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
- eerror "Bad permissions on ${dir}, this will probably break things"
- eerror "Ensure ${dir} is +rx for at least uid=$EUID"
- eerror "Recommended permission is +rx for all"
- eerror "> chmod o+rx ${dir}"
- fi
- done
- einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
- find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
-}
-
-# Sort versions passed versiony-ly, remove self-version if present
-# dedup. Takes each version as an argument
-sanitize_inc_versions() {
- local vexclude="${SUBSLOT}"
- einfo "Normalizing/Sorting candidate list: $*"
- einfo " to remove '${vexclude}'"
- # Note, general numeric sort has to be used
- # for the last component, or unique will convert
- # 5.30.0 + 5.30 into just 5.30
- printf "%s\n" "$@" |\
- grep -vxF "${vexclude}" |\
- sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
-}
-
-versions_to_inclist() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-
- for v; do
- has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
- echo -n "${v}/ ";
- done
-}
-
-versions_to_gentoolibdirs() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- local root
- local v
- for v; do
- for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
- local fullpath="${EROOT}${root}/${v}"
- if [[ -e "${fullpath}" ]]; then
- has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
- printf "%s:" "${fullpath}"
- fi
- done
- done
-}
-
-src_configure() {
- declare -a myconf
-
- export LC_ALL="C"
- [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
-
- # Perl has problems compiling with -Os in your flags with glibc
- replace-flags "-Os" "-O2"
-
- # xlocale.h is going away in glibc-2.26, so it's counterproductive
- # if we use it and include it in CORE/perl.h ... Perl builds just
- # fine with glibc and locale.h only.
- # However, the darwin prefix people have no locale.h ...
- use elibc_glibc && myconf -Ui_xlocale
-
- # This flag makes compiling crash in interesting ways
- filter-flags "-malign-double"
-
- # Generic LTO broken since 5.28, triggers EUMM failures
- filter-flags "-flto"
-
- use sparc && myconf -Ud_longdbl
-
- export BUILD_BZIP2=0
- export BZIP2_INCLUDE=${EROOT}/usr/include
- export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
-
- export BUILD_ZLIB=False
- export ZLIB_INCLUDE=${EROOT}/usr/include
- export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
-
- # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
- myndbm='U'
- mygdbm='U'
- mydb='U'
- if use gdbm ; then
- mygdbm='D'
- if use berkdb ; then
- myndbm='D'
- fi
- fi
- if use berkdb ; then
- mydb='D'
- has_version '=sys-libs/db-1*' && myndbm='D'
- fi
-
- myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
-
- if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
- ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
- myconf -Ui_db -Ui_ndbm
- fi
-
- use ithreads && myconf -Dusethreads
-
- use quadmath && myconf -Dusequadmath
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # modifying 'optimize' prevents cross configure script from appending required flags
- if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$( find_candidate_inc_versions )"
- fi
-
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
- einfo "This version of perl may partially support modules previously"
- einfo "installed in any of the following paths:"
- for incpath in ${inclist}; do
- [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
- [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
- [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
- done
- einfo "This is a temporary measure and you should aim to cleanup these paths"
- einfo "via world updates and perl-cleaner"
- # myconf -Dinc_version_list="${inclist}"
- myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
- fi
-
- [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
-
- # Make sure we can do the final link #523730, need to set deployment
- # target to override hardcoded 10.3 which breaks on modern OSX
- [[ ${CHOST} == *-darwin* ]] && \
- myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
-
- # Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH, in addition, we override
- # cflags, so we loose PERL_DARWIN which enables compat code that
- # apparently on more recent macOS releases is no longer necessary
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__ -DPERL_DARWIN
-
- # flock on 32-bit sparc Solaris is broken, fall back to fcntl
- [[ ${CHOST} == sparc-*-solaris* ]] && \
- myconf -Ud_flock
-
- # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
- # Prefix itself we don't do multilib either, so make sure perl can find
- # something compatible.
- if use prefix ; then
- # Set a hook to check for each detected library whether it actually works.
- export libscheck="
- ( echo 'main(){}' > '${T}'/conftest.c &&
- $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
- ) || xxx=/dev/null"
-
- # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
- local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
- myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
- elif [[ $(get_libdir) != "lib" ]] ; then
- # We need to use " and not ', as the written config.sh use ' ...
- myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
- fi
-
- # don't try building ODBM, bug #354453
- disabled_extensions="ODBM_File"
-
- if ! use gdbm ; then
- # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
- disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
- fi
-
- myconf -Dnoextensions="${disabled_extensions}"
-
- [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
-
- [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
- # allow fiddling via EXTRA_ECONF, bug 558070
- eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
-
- # setting -Dld= to tc-getLD breaks perl and all perl things
- # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -Dar="$(tc-getAR)" \
- -Dnm="$(tc-getNM)" \
- -Dcpp="$(tc-getCPP)" \
- -Dranlib="$(tc-getRANLIB)" \
- -Dccflags="${CFLAGS}" \
- -Doptimize="${CFLAGS}" \
- -Dldflags="${LDFLAGS}" \
- -Dprefix="${EPREFIX}"'/usr' \
- -Dsiteprefix="${EPREFIX}"'/usr/local' \
- -Dvendorprefix="${EPREFIX}"'/usr' \
- -Dscriptdir="${EPREFIX}"'/usr/bin' \
- -Dprivlib="${EPREFIX}${PRIV_LIB}" \
- -Darchlib="${EPREFIX}${ARCH_LIB}" \
- -Dsitelib="${EPREFIX}${SITE_LIB}" \
- -Dsitearch="${EPREFIX}${SITE_ARCH}" \
- -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
- -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
- -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
- -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
- -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dman1ext='1' \
- -Dman3ext='3pm' \
- -Dlibperl="${LIBPERL}" \
- -Dlocincpth="${EPREFIX}"'/usr/include ' \
- -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
- -Duselargefiles \
- -Dd_semctl_semun \
- -Dcf_by='Gentoo' \
- -Dmyhostname='localhost' \
- -Dperladmin='root@localhost' \
- -Ud_csh \
- -Dsh="${EPREFIX}"/bin/sh \
- -Dtargetsh="${EPREFIX}"/bin/sh \
- -Uusenm \
- "${EXTRA_ECONF[@]}"
-
- if tc-is-cross-compiler; then
- ./configure \
- --target="${CHOST}" \
- --build="${CBUILD}" \
- -Dinstallprefix='' \
- -Dinstallusrbinperl='undef' \
- -Dusevendorprefix='define' \
- "${myconf[@]}" \
- || die "Unable to configure"
- else
- sh Configure \
- -des \
- -Dinstallprefix="${EPREFIX}"'/usr' \
- -Dinstallusrbinperl='n' \
- "${myconf[@]}" \
- || die "Unable to configure"
- fi
-}
-
-src_test() {
- export NO_GENTOO_NETWORK_TESTS=1;
- export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
- export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
- if [[ ${EUID} == 0 ]] ; then
- ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
- return 0
- fi
- TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
-}
-
-src_install() {
- local i
- local coredir="${ARCH_LIB}/CORE"
-
- emake DESTDIR="${D}" install
-
- rm -f "${ED}/usr/bin/perl${MY_PV}"
- ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
-
- if ! tc-is-static-only ; then
- dolib.so "${ED}"${coredir}/${LIBPERL}
- rm -f "${ED}"${coredir}/${LIBPERL}
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
-
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
- fi
-
- rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
-
- # This removes ${D} from Config.pm
- for i in $(find "${D}" -iname "Config.pm" ) ; do
- einfo "Removing ${D} from ${i}..."
- sed -i -e "s:${D}::" "${i}" || die "Sed failed"
- done
-
- dodoc Changes* README AUTHORS
-
- if use doc ; then
- # HTML Documentation
- # We expect errors, warnings, and such with the following.
-
- dodir /usr/share/doc/${PF}/html
- LD_LIBRARY_PATH=. ./perl installhtml \
- --podroot='.' \
- --podpath='lib:ext:pod:vms' \
- --recurse \
- --htmldir="${ED}/usr/share/doc/${PF}/html"
- fi
-
- [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
-
- dual_scripts
-}
-
-pkg_preinst() {
- check_rebuild
-}
-
-pkg_postinst() {
- dual_scripts
-
- if [[ -z "${ROOT}" ]] ; then
- local INC DIR file
- INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
- einfo "Removing old .ph files"
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
- rm -f "${file}"
- einfo "<< ${file}"
- done
- fi
- done
- # Silently remove the now empty dirs
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
- fi
- done
-
- fi
-}
-
-pkg_postrm() {
- dual_scripts
-}
diff --git a/dev-lang/perl/perl-5.34.0-r11.ebuild b/dev-lang/perl/perl-5.34.0-r11.ebuild
deleted file mode 100644
index 23b0a697df81..000000000000
--- a/dev-lang/perl/perl-5.34.0-r11.ebuild
+++ /dev/null
@@ -1,828 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.6
-PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=XSAWYERX
-
-# Greatest first, don't include yourself
-# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN=""
-
-if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.30.0
-else
- DIST_VERSION="${PV/_rc/-RC}"
-fi
-SHORT_PV="${DIST_VERSION%.*}"
-
-# Even numbered major versions are ABI intercompatible
-# Odd numbered major versions are not
-if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
- SUBSLOT="${DIST_VERSION%-RC*}"
-else
- SUBSLOT="${DIST_VERSION%.*}"
-fi
-
-# Used only in tar paths
-MY_P="perl-${DIST_VERSION}"
-# Used in library paths
-MY_PV="${DIST_VERSION%-RC*}"
-
-DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
-
-SRC_URI="
- mirror://cpan/src/5.0/${MY_P}.tar.xz
- mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
- https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
- https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
-"
-HOMEPAGE="https://www.perl.org/"
-
-LICENSE="|| ( Artistic GPL-1+ )"
-SLOT="0/${SUBSLOT}"
-
-if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}"
-
-PDEPEND="
- !minimal? (
- >=app-admin/perl-cleaner-2.5
- >=virtual/perl-CPAN-2.290.0
- >=virtual/perl-Encode-3.120.0
- >=virtual/perl-File-Temp-0.230.400-r2
- >=virtual/perl-Data-Dumper-2.154.0
- virtual/perl-Test-Harness
- )
-"
-# bug 390719, bug 523624
-# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
-
-S="${WORKDIR}/${MY_P}"
-
-dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.280.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
- src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
- src_remove_dual perl-core/Test-Harness 3.430.0 prove
- src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
-}
-
-check_rebuild() {
- # Fresh install
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- return 0;
- # Major Upgrade
- # doesn't matter if there's multiple copies, it still needs a rebuild
- # if the string is anything other than "5.CURRENTMAJOR"
- elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
- echo ""
- ewarn "UPDATE THE PERL MODULES:"
- ewarn "After updating dev-lang/perl the installed Perl modules"
- ewarn "have to be re-installed. In most cases, this is done automatically"
- ewarn "by the package manager, but subsequent steps are still recommended"
- ewarn "to ensure system consistency."
- ewarn
- ewarn "You should start with a depclean to remove any unused perl dependencies"
- ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
- ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
- ewarn "Recommended: emerge --depclean -va"
- ewarn
- ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
- ewarn "remaining rebuilds portage may have missed."
- ewarn "Use: perl-cleaner --all"
- return 0;
-
- # Reinstall w/ USE Change
- elif
- ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
- ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
- ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
- ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
- ( use debug && ! has_version dev-lang/perl[debug] ) || \
- ( ! use debug && has_version dev-lang/perl[debug] ) ; then
- echo ""
- ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
- ewarn "You must rebuild all perl-modules installed."
- ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
- fi
-}
-
-pkg_setup() {
- case ${CHOST} in
- *-freebsd*) osname="freebsd" ;;
- *-dragonfly*) osname="dragonfly" ;;
- *-netbsd*) osname="netbsd" ;;
- *-openbsd*) osname="openbsd" ;;
- *-darwin*) osname="darwin" ;;
- *-solaris*) osname="solaris" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- fi
- if use quadmath ; then
- myarch+="-quadmath"
- fi
- if use ithreads ; then
- mythreading="-multi"
- myarch+="-thread"
- fi
-
- PRIV_BASE="/usr/$(get_libdir)/perl5"
- SITE_BASE="/usr/local/$(get_libdir)/perl5"
- VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
-
- LIBPERL="libperl$(get_libname ${MY_PV} )"
-
- PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
- ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${SUBSLOT}"
- SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
- VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-
- dual_scripts
-}
-
-src_remove_dual_file() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- alternatives_auto_makesym "${i}" "${i}-[0-9]*"
- done
- ;;
- setup)
- for i in "$@" ; do
- if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
- has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
- break
- fi
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i}{,-${ver}-${P}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual_man() {
- local i pkg ver ff
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
- ff=${ff##*${i#${i%.[0-9]}}}
- alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- for i in "$@" ; do
- src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
- src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
- done
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # bug 794463, needs further analysis what is exactly wrong here
- eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
-
- # bug 604072
- MAKEOPTS+=" -j1"
- export MAKEOPTS
-}
-
-src_prepare_dynamic() {
- ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
- ln -s ${LIBPERL} libperl$(get_libname ) || die
-}
-
-# Copy a patch into the patch series
-# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
-# - description is optional, but recommended
-# - all arguments after descriptions are bug URLs
-add_patch() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local src_name dest_name desc
- src_name="$1"
- dest_name="$2"
- desc="$3"
- shift; shift; shift;
- einfo "Adding ${dest_name} to patch bundle"
- cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
- if [[ -n "${desc}" ]]; then
- printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
- fi
- if [[ $# -gt 0 ]]; then
- # Note: when $@ is more than one element, this emits a
- # line for each element
- printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
- fi
-}
-
-# Remove a patch using a glob expr
-# eg:
-# rm_patch *-darwin-Use-CC*
-#
-rm_patch() {
- local patchdir="${WORKDIR}/patches"
- local expr="$1"
- local patch="$( cd "${patchdir}"; echo $expr )"
- einfo "Removing $patch ($expr) from patch bundle"
- if [[ -e "${patchdir}/${patch}" ]]; then
- rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
- else
- ewarn "No ${expr} found in ${patchdir} to remove"
- fi
-}
-
-# Yes, this is a reasonable amount of code for something seemingly simple
-# but this is far easier to debug when things go wrong, and things went wrong
-# multiple times while I was getting the exact number of slashes right, which
-# requires circumnavigating both bash and sed escape mechanisms.
-c_escape_string() {
- local slash dquote
- slash='\'
- dquote='"'
- re_slash="${slash}${slash}"
- re_dquote="${slash}${dquote}"
-
- # Convert \ to \\,
- # " to \"
- echo "$1" |\
- sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
- sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
-}
-c_escape_file() {
- c_escape_string "$(cat "$1")"
-}
-
-apply_patchdir() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local patchoutput="patchlevel-gentoo.h"
-
- # Inject Patch-Level info into description for patchlevel.h patch
- # to show in -V
- local patch_expr="*List-packaged-patches*"
- local patch="$( cd "${patchdir}"; echo $patch_expr )";
- einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
-
- if [[ -e "${patchdir}/${patch}" ]]; then
- printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
- >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
- else
- eerror "No $patch_expr found in ${patchdir}"
- fi
-
- # Compute patch list to apply
- # different name other than PATCHES to stop default
- # reapplying it
- # Single depth is currently only supported, as artifacts can reside
- # from the old layout being multiple-directories, as well as it grossly
- # simplifying the patchlevel_gentoo.h generation.
- local PERL_PATCHES=($(
- find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
- grep -E '[.](diff|patch)$' |\
- sort -n
- ))
-
- for patch in "${PERL_PATCHES[@]}"; do
- eapply "${WORKDIR}"/patches/${patch}
- done
-
- einfo "Generating $patchoutput"
-
- # This code creates a header file, each iteration
- # creates one-or-more-lines for each entry found in PERL_PATCHES
- # and STDOUT is redirected to the .h file
- for patch in "${PERL_PATCHES[@]}"; do
- local desc_f="${infodir}/${patch}.desc"
- local bugs_f="${infodir}/${patch}.bugs"
-
- printf ',"%s"\n' "${patch}"
- if [[ ! -e "${desc_f}" ]]; then
- ewarn "No description provided for ${patch} (expected: ${desc_f} )"
- else
- local desc="$(c_escape_file "${desc_f}")"
- printf ',"- %s"\n' "${desc}"
- fi
- if [[ -e "${bugs_f}" ]]; then
- while read -d $'\n' -r line; do
- local esc_line="$(c_escape_string "${line}")"
- printf ',"- Bug: %s"\n' "${esc_line}"
- done <"${bugs_f}"
- fi
- done > "${S}/${patchoutput}"
- printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
-
-}
-
-src_prepare() {
- local patchdir="${WORKDIR}/patches"
-
- # Prepare Patch dir with additional patches / remove unwanted patches
- # Inject bug/desc entries for perl -V
- # Old example:
- # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
- # "Fix broken miniperl on hppa"\
- # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
-
- add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
- "Fix GDBM_File to compile with version 1.20 and earlier"\
- "https://bugs.gentoo.org/802945"
-
- if use prefix ; then
- add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
- "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
- "https://bugs.gentoo.org/818172"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- rm_patch "*-nsl-and-cl*"
- fi
-
- apply_patchdir
-
- tc-is-cross-compiler && src_prepare_perlcross
-
- tc-is-static-only || src_prepare_dynamic
-
- if use gdbm; then
- sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
- ext/NDBM_File/Makefile.PL || die
- fi
-
- # Use errno.h from prefix rather than from host system, bug #645804
- if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
- sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # set a soname, fix linking against just built libperl
- sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
- fi
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fix install_name (soname) not to reference $D
- sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
-
- # fix environ linkage absence (only a real issue on Darwin9)
- if [[ ${CHOST##*-darwin} -le 9 ]] ; then
- sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
- Makefile.SH || die
- fi
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-# Outputs a list of versions which have been seen in any of the
-# primary perl @INC prefix paths, such as:
-# /usr/lib64/perl5/<NUMBER>
-# /usr/local/lib64/perl5/<NUMBER>
-# /usr/lib64/perl5/vendor_perl/<NUMBER>
-#
-# All values of NUMBER must be like "5.x.y" or like "5.x"
-#
-find_candidate_inc_versions() {
- local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
- local dirs=(
- "${EROOT}${PRIV_BASE}"
- "${EROOT}${SITE_BASE}"
- "${EROOT}${VENDOR_BASE}"
- )
- for dir in "${dirs[@]}"; do
- if [[ ! -e "${dir}" ]]; then
- continue
- fi
- # Without access to readdir() on these dirs, find will not be able
- # to reveal any @INC directories inside them, and will subsequently prune
- # them from the built perl's @INC support, breaking our compatiblity options
- # entirely.
- if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
- eerror "Bad permissions on ${dir}, this will probably break things"
- eerror "Ensure ${dir} is +rx for at least uid=$EUID"
- eerror "Recommended permission is +rx for all"
- eerror "> chmod o+rx ${dir}"
- fi
- done
- einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
- find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
-}
-
-# Sort versions passed versiony-ly, remove self-version if present
-# dedup. Takes each version as an argument
-sanitize_inc_versions() {
- local vexclude="${SUBSLOT}"
- einfo "Normalizing/Sorting candidate list: $*"
- einfo " to remove '${vexclude}'"
- # Note, general numeric sort has to be used
- # for the last component, or unique will convert
- # 5.30.0 + 5.30 into just 5.30
- printf "%s\n" "$@" |\
- grep -vxF "${vexclude}" |\
- sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
-}
-
-versions_to_inclist() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-
- for v; do
- has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
- echo -n "${v}/ ";
- done
-}
-
-versions_to_gentoolibdirs() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- local root
- local v
- for v; do
- for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
- local fullpath="${EROOT}${root}/${v}"
- if [[ -e "${fullpath}" ]]; then
- has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
- printf "%s:" "${fullpath}"
- fi
- done
- done
-}
-
-src_configure() {
- declare -a myconf
-
- export LC_ALL="C"
- [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
-
- # Perl has problems compiling with -Os in your flags with glibc
- replace-flags "-Os" "-O2"
-
- # xlocale.h is going away in glibc-2.26, so it's counterproductive
- # if we use it and include it in CORE/perl.h ... Perl builds just
- # fine with glibc and locale.h only.
- # However, the darwin prefix people have no locale.h ...
- use elibc_glibc && myconf -Ui_xlocale
-
- # This flag makes compiling crash in interesting ways
- filter-flags "-malign-double"
-
- # Generic LTO broken since 5.28, triggers EUMM failures
- filter-flags "-flto"
-
- use sparc && myconf -Ud_longdbl
-
- export BUILD_BZIP2=0
- export BZIP2_INCLUDE=${EROOT}/usr/include
- export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
-
- export BUILD_ZLIB=False
- export ZLIB_INCLUDE=${EROOT}/usr/include
- export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
-
- # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
- myndbm='U'
- mygdbm='U'
- mydb='U'
- if use gdbm ; then
- mygdbm='D'
- if use berkdb ; then
- myndbm='D'
- fi
- fi
- if use berkdb ; then
- mydb='D'
- has_version '=sys-libs/db-1*' && myndbm='D'
- fi
-
- myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
-
- if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
- ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
- myconf -Ui_db -Ui_ndbm
- fi
-
- use ithreads && myconf -Dusethreads
-
- use quadmath && myconf -Dusequadmath
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # modifying 'optimize' prevents cross configure script from appending required flags
- if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$( find_candidate_inc_versions )"
- fi
-
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
- einfo "This version of perl may partially support modules previously"
- einfo "installed in any of the following paths:"
- for incpath in ${inclist}; do
- [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
- [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
- [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
- done
- einfo "This is a temporary measure and you should aim to cleanup these paths"
- einfo "via world updates and perl-cleaner"
- # myconf -Dinc_version_list="${inclist}"
- myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
- fi
-
- [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
-
- # Make sure we can do the final link #523730, need to set deployment
- # target to override hardcoded 10.3 which breaks on modern OSX
- [[ ${CHOST} == *-darwin* ]] && \
- myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
-
- # Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH, in addition, we override
- # cflags, so we loose PERL_DARWIN which enables compat code that
- # apparently on more recent macOS releases is no longer necessary
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__ -DPERL_DARWIN
-
- # flock on 32-bit sparc Solaris is broken, fall back to fcntl
- [[ ${CHOST} == sparc-*-solaris* ]] && \
- myconf -Ud_flock
-
- # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
- # Prefix itself we don't do multilib either, so make sure perl can find
- # something compatible.
- if use prefix ; then
- # Set a hook to check for each detected library whether it actually works.
- export libscheck="
- ( echo 'main(){}' > '${T}'/conftest.c &&
- $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
- ) || xxx=/dev/null"
-
- # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
- local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
- myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
- elif [[ $(get_libdir) != "lib" ]] ; then
- # We need to use " and not ', as the written config.sh use ' ...
- myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
- fi
-
- # don't try building ODBM, bug #354453
- disabled_extensions="ODBM_File"
-
- if ! use gdbm ; then
- # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
- disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
- fi
-
- myconf -Dnoextensions="${disabled_extensions}"
-
- [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
-
- [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
- # allow fiddling via EXTRA_ECONF, bug 558070
- eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
-
- # setting -Dld= to tc-getLD breaks perl and all perl things
- # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -Dar="$(tc-getAR)" \
- -Dnm="$(tc-getNM)" \
- -Dcpp="$(tc-getCPP)" \
- -Dranlib="$(tc-getRANLIB)" \
- -Accflags="${CFLAGS}" \
- -Doptimize="${CFLAGS}" \
- -Dldflags="${LDFLAGS}" \
- -Dprefix="${EPREFIX}"'/usr' \
- -Dsiteprefix="${EPREFIX}"'/usr/local' \
- -Dvendorprefix="${EPREFIX}"'/usr' \
- -Dscriptdir="${EPREFIX}"'/usr/bin' \
- -Dprivlib="${EPREFIX}${PRIV_LIB}" \
- -Darchlib="${EPREFIX}${ARCH_LIB}" \
- -Dsitelib="${EPREFIX}${SITE_LIB}" \
- -Dsitearch="${EPREFIX}${SITE_ARCH}" \
- -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
- -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
- -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
- -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
- -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dman1ext='1' \
- -Dman3ext='3pm' \
- -Dlibperl="${LIBPERL}" \
- -Dlocincpth="${EPREFIX}"'/usr/include ' \
- -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
- -Duselargefiles \
- -Dd_semctl_semun \
- -Dcf_by='Gentoo' \
- -Dmyhostname='localhost' \
- -Dperladmin='root@localhost' \
- -Ud_csh \
- -Dsh="${EPREFIX}"/bin/sh \
- -Dtargetsh="${EPREFIX}"/bin/sh \
- -Uusenm \
- "${EXTRA_ECONF[@]}"
-
- if tc-is-cross-compiler; then
- ./configure \
- --target="${CHOST}" \
- --build="${CBUILD}" \
- -Dinstallprefix='' \
- -Dinstallusrbinperl='undef' \
- -Dusevendorprefix='define' \
- "${myconf[@]}" \
- || die "Unable to configure"
- else
- sh Configure \
- -des \
- -Dinstallprefix="${EPREFIX}"'/usr' \
- -Dinstallusrbinperl='n' \
- "${myconf[@]}" \
- || die "Unable to configure"
- fi
-}
-
-src_test() {
- export NO_GENTOO_NETWORK_TESTS=1;
- export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
- export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
- if [[ ${EUID} == 0 ]] ; then
- ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
- return 0
- fi
- TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
-}
-
-src_install() {
- local i
- local coredir="${ARCH_LIB}/CORE"
-
- emake DESTDIR="${D}" install
-
- rm -f "${ED}/usr/bin/perl${MY_PV}"
- ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
-
- if ! tc-is-static-only ; then
- dolib.so "${ED}"${coredir}/${LIBPERL}
- rm -f "${ED}"${coredir}/${LIBPERL}
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
-
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
- fi
-
- rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
-
- # This removes ${D} from Config.pm
- for i in $(find "${D}" -iname "Config.pm" ) ; do
- einfo "Removing ${D} from ${i}..."
- sed -i -e "s:${D}::" "${i}" || die "Sed failed"
- done
-
- dodoc Changes* README AUTHORS
-
- if use doc ; then
- # HTML Documentation
- # We expect errors, warnings, and such with the following.
-
- dodir /usr/share/doc/${PF}/html
- LD_LIBRARY_PATH=. ./perl installhtml \
- --podroot='.' \
- --podpath='lib:ext:pod:vms' \
- --recurse \
- --htmldir="${ED}/usr/share/doc/${PF}/html"
- fi
-
- [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
-
- dual_scripts
-}
-
-pkg_preinst() {
- check_rebuild
-}
-
-pkg_postinst() {
- dual_scripts
-
- if [[ -z "${ROOT}" ]] ; then
- local INC DIR file
- INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
- einfo "Removing old .ph files"
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
- rm -f "${file}"
- einfo "<< ${file}"
- done
- fi
- done
- # Silently remove the now empty dirs
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
- fi
- done
-
- fi
-}
-
-pkg_postrm() {
- dual_scripts
-}
diff --git a/dev-lang/perl/perl-5.34.0-r9.ebuild b/dev-lang/perl/perl-5.34.0-r9.ebuild
deleted file mode 100644
index ba13129590ca..000000000000
--- a/dev-lang/perl/perl-5.34.0-r9.ebuild
+++ /dev/null
@@ -1,820 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.6
-PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=XSAWYERX
-
-# Greatest first, don't include yourself
-# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN=""
-
-if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.30.0
-else
- DIST_VERSION="${PV/_rc/-RC}"
-fi
-SHORT_PV="${DIST_VERSION%.*}"
-
-# Even numbered major versions are ABI intercompatible
-# Odd numbered major versions are not
-if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
- SUBSLOT="${DIST_VERSION%-RC*}"
-else
- SUBSLOT="${DIST_VERSION%.*}"
-fi
-
-# Used only in tar paths
-MY_P="perl-${DIST_VERSION}"
-# Used in library paths
-MY_PV="${DIST_VERSION%-RC*}"
-
-DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
-
-SRC_URI="
- mirror://cpan/src/5.0/${MY_P}.tar.xz
- mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
- https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
- https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
-"
-HOMEPAGE="https://www.perl.org/"
-
-LICENSE="|| ( Artistic GPL-1+ )"
-SLOT="0/${SUBSLOT}"
-
-if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads minimal"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}"
-
-PDEPEND="
- !minimal? (
- >=app-admin/perl-cleaner-2.5
- >=virtual/perl-CPAN-2.290.0
- >=virtual/perl-Encode-3.120.0
- >=virtual/perl-File-Temp-0.230.400-r2
- >=virtual/perl-Data-Dumper-2.154.0
- virtual/perl-Test-Harness
- )
-"
-# bug 390719, bug 523624
-# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
-
-S="${WORKDIR}/${MY_P}"
-
-dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.280.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
- src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
- src_remove_dual perl-core/Test-Harness 3.430.0 prove
- src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
-}
-
-check_rebuild() {
- # Fresh install
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- return 0;
- # Major Upgrade
- # doesn't matter if there's multiple copies, it still needs a rebuild
- # if the string is anything other than "5.CURRENTMAJOR"
- elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
- echo ""
- ewarn "UPDATE THE PERL MODULES:"
- ewarn "After updating dev-lang/perl the installed Perl modules"
- ewarn "have to be re-installed. In most cases, this is done automatically"
- ewarn "by the package manager, but subsequent steps are still recommended"
- ewarn "to ensure system consistency."
- ewarn
- ewarn "You should start with a depclean to remove any unused perl dependencies"
- ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
- ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
- ewarn "Recommended: emerge --depclean -va"
- ewarn
- ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
- ewarn "remaining rebuilds portage may have missed."
- ewarn "Use: perl-cleaner --all"
- return 0;
-
- # Reinstall w/ USE Change
- elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
- ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
- ( use debug && ! has_version dev-lang/perl[debug] ) || \
- ( ! use debug && has_version dev-lang/perl[debug] ) ; then
- echo ""
- ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads or debug."
- ewarn "You must rebuild all perl-modules installed."
- ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
- fi
-}
-
-pkg_setup() {
- case ${CHOST} in
- *-freebsd*) osname="freebsd" ;;
- *-dragonfly*) osname="dragonfly" ;;
- *-netbsd*) osname="netbsd" ;;
- *-openbsd*) osname="openbsd" ;;
- *-darwin*) osname="darwin" ;;
- *-solaris*) osname="solaris" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- fi
- if use ithreads ; then
- mythreading="-multi"
- myarch+="-thread"
- fi
-
- PRIV_BASE="/usr/$(get_libdir)/perl5"
- SITE_BASE="/usr/local/$(get_libdir)/perl5"
- VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
-
- LIBPERL="libperl$(get_libname ${MY_PV} )"
-
- PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
- ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${SUBSLOT}"
- SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
- VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-
- dual_scripts
-}
-
-src_remove_dual_file() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- alternatives_auto_makesym "${i}" "${i}-[0-9]*"
- done
- ;;
- setup)
- for i in "$@" ; do
- if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
- has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
- break
- fi
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i}{,-${ver}-${P}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual_man() {
- local i pkg ver ff
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
- ff=${ff##*${i#${i%.[0-9]}}}
- alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- for i in "$@" ; do
- src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
- src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
- done
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # bug 794463, needs further analysis what is exactly wrong here
- eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
-
- # bug 604072
- MAKEOPTS+=" -j1"
- export MAKEOPTS
-}
-
-src_prepare_dynamic() {
- ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
- ln -s ${LIBPERL} libperl$(get_libname ) || die
-}
-
-# Copy a patch into the patch series
-# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
-# - description is optional, but recommended
-# - all arguments after descriptions are bug URLs
-add_patch() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local src_name dest_name desc
- src_name="$1"
- dest_name="$2"
- desc="$3"
- shift; shift; shift;
- einfo "Adding ${dest_name} to patch bundle"
- cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
- if [[ -n "${desc}" ]]; then
- printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
- fi
- if [[ $# -gt 0 ]]; then
- # Note: when $@ is more than one element, this emits a
- # line for each element
- printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
- fi
-}
-
-# Remove a patch using a glob expr
-# eg:
-# rm_patch *-darwin-Use-CC*
-#
-rm_patch() {
- local patchdir="${WORKDIR}/patches"
- local expr="$1"
- local patch="$( cd "${patchdir}"; echo $expr )"
- einfo "Removing $patch ($expr) from patch bundle"
- if [[ -e "${patchdir}/${patch}" ]]; then
- rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
- else
- ewarn "No ${expr} found in ${patchdir} to remove"
- fi
-}
-
-# Yes, this is a reasonable amount of code for something seemingly simple
-# but this is far easier to debug when things go wrong, and things went wrong
-# multiple times while I was getting the exact number of slashes right, which
-# requires circumnavigating both bash and sed escape mechanisms.
-c_escape_string() {
- local slash dquote
- slash='\'
- dquote='"'
- re_slash="${slash}${slash}"
- re_dquote="${slash}${dquote}"
-
- # Convert \ to \\,
- # " to \"
- echo "$1" |\
- sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
- sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
-}
-c_escape_file() {
- c_escape_string "$(cat "$1")"
-}
-
-apply_patchdir() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local patchoutput="patchlevel-gentoo.h"
-
- # Inject Patch-Level info into description for patchlevel.h patch
- # to show in -V
- local patch_expr="*List-packaged-patches*"
- local patch="$( cd "${patchdir}"; echo $patch_expr )";
- einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
-
- if [[ -e "${patchdir}/${patch}" ]]; then
- printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
- >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
- else
- eerror "No $patch_expr found in ${patchdir}"
- fi
-
- # Compute patch list to apply
- # different name other than PATCHES to stop default
- # reapplying it
- # Single depth is currently only supported, as artifacts can reside
- # from the old layout being multiple-directories, as well as it grossly
- # simplifying the patchlevel_gentoo.h generation.
- local PERL_PATCHES=($(
- find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
- grep -E '[.](diff|patch)$' |\
- sort -n
- ))
-
- for patch in "${PERL_PATCHES[@]}"; do
- eapply "${WORKDIR}"/patches/${patch}
- done
-
- einfo "Generating $patchoutput"
-
- # This code creates a header file, each iteration
- # creates one-or-more-lines for each entry found in PERL_PATCHES
- # and STDOUT is redirected to the .h file
- for patch in "${PERL_PATCHES[@]}"; do
- local desc_f="${infodir}/${patch}.desc"
- local bugs_f="${infodir}/${patch}.bugs"
-
- printf ',"%s"\n' "${patch}"
- if [[ ! -e "${desc_f}" ]]; then
- ewarn "No description provided for ${patch} (expected: ${desc_f} )"
- else
- local desc="$(c_escape_file "${desc_f}")"
- printf ',"- %s"\n' "${desc}"
- fi
- if [[ -e "${bugs_f}" ]]; then
- while read -d $'\n' -r line; do
- local esc_line="$(c_escape_string "${line}")"
- printf ',"- Bug: %s"\n' "${esc_line}"
- done <"${bugs_f}"
- fi
- done > "${S}/${patchoutput}"
- printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
-
-}
-
-src_prepare() {
- local patchdir="${WORKDIR}/patches"
-
- # Prepare Patch dir with additional patches / remove unwanted patches
- # Inject bug/desc entries for perl -V
- # Old example:
- # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
- # "Fix broken miniperl on hppa"\
- # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
-
- add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
- "Fix GDBM_File to compile with version 1.20 and earlier"\
- "https://bugs.gentoo.org/802945"
-
- if use prefix ; then
- add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
- "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
- "https://bugs.gentoo.org/818172"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- rm_patch "*-nsl-and-cl*"
- fi
-
- apply_patchdir
-
- tc-is-cross-compiler && src_prepare_perlcross
-
- tc-is-static-only || src_prepare_dynamic
-
- if use gdbm; then
- sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
- ext/NDBM_File/Makefile.PL || die
- fi
-
- # Use errno.h from prefix rather than from host system, bug #645804
- if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
- sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # set a soname, fix linking against just built libperl
- sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
- fi
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fix install_name (soname) not to reference $D
- sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
-
- # fix environ linkage absence (only a real issue on Darwin9)
- if [[ ${CHOST##*-darwin} -le 9 ]] ; then
- sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
- Makefile.SH || die
- fi
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-# Outputs a list of versions which have been seen in any of the
-# primary perl @INC prefix paths, such as:
-# /usr/lib64/perl5/<NUMBER>
-# /usr/local/lib64/perl5/<NUMBER>
-# /usr/lib64/perl5/vendor_perl/<NUMBER>
-#
-# All values of NUMBER must be like "5.x.y" or like "5.x"
-#
-find_candidate_inc_versions() {
- local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
- local dirs=(
- "${EROOT}${PRIV_BASE}"
- "${EROOT}${SITE_BASE}"
- "${EROOT}${VENDOR_BASE}"
- )
- for dir in "${dirs[@]}"; do
- if [[ ! -e "${dir}" ]]; then
- continue
- fi
- # Without access to readdir() on these dirs, find will not be able
- # to reveal any @INC directories inside them, and will subsequently prune
- # them from the built perl's @INC support, breaking our compatiblity options
- # entirely.
- if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
- eerror "Bad permissions on ${dir}, this will probably break things"
- eerror "Ensure ${dir} is +rx for at least uid=$EUID"
- eerror "Recommended permission is +rx for all"
- eerror "> chmod o+rx ${dir}"
- fi
- done
- einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
- find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
-}
-
-# Sort versions passed versiony-ly, remove self-version if present
-# dedup. Takes each version as an argument
-sanitize_inc_versions() {
- local vexclude="${SUBSLOT}"
- einfo "Normalizing/Sorting candidate list: $*"
- einfo " to remove '${vexclude}'"
- # Note, general numeric sort has to be used
- # for the last component, or unique will convert
- # 5.30.0 + 5.30 into just 5.30
- printf "%s\n" "$@" |\
- grep -vxF "${vexclude}" |\
- sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
-}
-
-versions_to_inclist() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-
- for v; do
- has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
- echo -n "${v}/ ";
- done
-}
-
-versions_to_gentoolibdirs() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- local root
- local v
- for v; do
- for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
- local fullpath="${EROOT}${root}/${v}"
- if [[ -e "${fullpath}" ]]; then
- has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
- printf "%s:" "${fullpath}"
- fi
- done
- done
-}
-
-src_configure() {
- declare -a myconf
-
- export LC_ALL="C"
- [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
-
- # Perl has problems compiling with -Os in your flags with glibc
- replace-flags "-Os" "-O2"
-
- # xlocale.h is going away in glibc-2.26, so it's counterproductive
- # if we use it and include it in CORE/perl.h ... Perl builds just
- # fine with glibc and locale.h only.
- # However, the darwin prefix people have no locale.h ...
- use elibc_glibc && myconf -Ui_xlocale
-
- # This flag makes compiling crash in interesting ways
- filter-flags "-malign-double"
-
- # Generic LTO broken since 5.28, triggers EUMM failures
- filter-flags "-flto"
-
- use sparc && myconf -Ud_longdbl
-
- export BUILD_BZIP2=0
- export BZIP2_INCLUDE=${EROOT}/usr/include
- export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
-
- export BUILD_ZLIB=False
- export ZLIB_INCLUDE=${EROOT}/usr/include
- export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
-
- # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
- myndbm='U'
- mygdbm='U'
- mydb='U'
- if use gdbm ; then
- mygdbm='D'
- if use berkdb ; then
- myndbm='D'
- fi
- fi
- if use berkdb ; then
- mydb='D'
- has_version '=sys-libs/db-1*' && myndbm='D'
- fi
-
- myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
-
- if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
- ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
- myconf -Ui_db -Ui_ndbm
- fi
-
- use ithreads && myconf -Dusethreads
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # modifying 'optimize' prevents cross configure script from appending required flags
- if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$( find_candidate_inc_versions )"
- fi
-
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
- einfo "This version of perl may partially support modules previously"
- einfo "installed in any of the following paths:"
- for incpath in ${inclist}; do
- [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
- [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
- [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
- done
- einfo "This is a temporary measure and you should aim to cleanup these paths"
- einfo "via world updates and perl-cleaner"
- # myconf -Dinc_version_list="${inclist}"
- myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
- fi
-
- [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
-
- # Make sure we can do the final link #523730, need to set deployment
- # target to override hardcoded 10.3 which breaks on modern OSX
- [[ ${CHOST} == *-darwin* ]] && \
- myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
-
- # Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH, in addition, we override
- # cflags, so we loose PERL_DARWIN which enables compat code that
- # apparently on more recent macOS releases is no longer necessary
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__ -DPERL_DARWIN
-
- # flock on 32-bit sparc Solaris is broken, fall back to fcntl
- [[ ${CHOST} == sparc-*-solaris* ]] && \
- myconf -Ud_flock
-
- # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
- # Prefix itself we don't do multilib either, so make sure perl can find
- # something compatible.
- if use prefix ; then
- # Set a hook to check for each detected library whether it actually works.
- export libscheck="
- ( echo 'main(){}' > '${T}'/conftest.c &&
- $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
- ) || xxx=/dev/null"
-
- # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
- local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
- myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
- elif [[ $(get_libdir) != "lib" ]] ; then
- # We need to use " and not ', as the written config.sh use ' ...
- myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
- fi
-
- # don't try building ODBM, bug #354453
- disabled_extensions="ODBM_File"
-
- if ! use gdbm ; then
- # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
- disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
- fi
-
- myconf -Dnoextensions="${disabled_extensions}"
-
- [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
-
- [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
- # allow fiddling via EXTRA_ECONF, bug 558070
- eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
-
- # setting -Dld= to tc-getLD breaks perl and all perl things
- # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -Dar="$(tc-getAR)" \
- -Dnm="$(tc-getNM)" \
- -Dcpp="$(tc-getCPP)" \
- -Dranlib="$(tc-getRANLIB)" \
- -Dccflags="${CFLAGS}" \
- -Doptimize="${CFLAGS}" \
- -Dldflags="${LDFLAGS}" \
- -Dprefix="${EPREFIX}"'/usr' \
- -Dsiteprefix="${EPREFIX}"'/usr/local' \
- -Dvendorprefix="${EPREFIX}"'/usr' \
- -Dscriptdir="${EPREFIX}"'/usr/bin' \
- -Dprivlib="${EPREFIX}${PRIV_LIB}" \
- -Darchlib="${EPREFIX}${ARCH_LIB}" \
- -Dsitelib="${EPREFIX}${SITE_LIB}" \
- -Dsitearch="${EPREFIX}${SITE_ARCH}" \
- -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
- -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
- -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
- -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
- -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dman1ext='1' \
- -Dman3ext='3pm' \
- -Dlibperl="${LIBPERL}" \
- -Dlocincpth="${EPREFIX}"'/usr/include ' \
- -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
- -Duselargefiles \
- -Dd_semctl_semun \
- -Dcf_by='Gentoo' \
- -Dmyhostname='localhost' \
- -Dperladmin='root@localhost' \
- -Ud_csh \
- -Dsh="${EPREFIX}"/bin/sh \
- -Dtargetsh="${EPREFIX}"/bin/sh \
- -Uusenm \
- "${EXTRA_ECONF[@]}"
-
- if tc-is-cross-compiler; then
- ./configure \
- --target="${CHOST}" \
- --build="${CBUILD}" \
- -Dinstallprefix='' \
- -Dinstallusrbinperl='undef' \
- -Dusevendorprefix='define' \
- "${myconf[@]}" \
- || die "Unable to configure"
- else
- sh Configure \
- -des \
- -Dinstallprefix="${EPREFIX}"'/usr' \
- -Dinstallusrbinperl='n' \
- "${myconf[@]}" \
- || die "Unable to configure"
- fi
-}
-
-src_test() {
- export NO_GENTOO_NETWORK_TESTS=1;
- export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
- export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
- if [[ ${EUID} == 0 ]] ; then
- ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
- return 0
- fi
- TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
-}
-
-src_install() {
- local i
- local coredir="${ARCH_LIB}/CORE"
-
- emake DESTDIR="${D}" install
-
- rm -f "${ED}/usr/bin/perl${MY_PV}"
- ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
-
- if ! tc-is-static-only ; then
- dolib.so "${ED}"${coredir}/${LIBPERL}
- rm -f "${ED}"${coredir}/${LIBPERL}
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
-
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
- fi
-
- rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
-
- # This removes ${D} from Config.pm
- for i in $(find "${D}" -iname "Config.pm" ) ; do
- einfo "Removing ${D} from ${i}..."
- sed -i -e "s:${D}::" "${i}" || die "Sed failed"
- done
-
- dodoc Changes* README AUTHORS
-
- if use doc ; then
- # HTML Documentation
- # We expect errors, warnings, and such with the following.
-
- dodir /usr/share/doc/${PF}/html
- LD_LIBRARY_PATH=. ./perl installhtml \
- --podroot='.' \
- --podpath='lib:ext:pod:vms' \
- --recurse \
- --htmldir="${ED}/usr/share/doc/${PF}/html"
- fi
-
- [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
-
- dual_scripts
-}
-
-pkg_preinst() {
- check_rebuild
-}
-
-pkg_postinst() {
- dual_scripts
-
- if [[ -z "${ROOT}" ]] ; then
- local INC DIR file
- INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
- einfo "Removing old .ph files"
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
- rm -f "${file}"
- einfo "<< ${file}"
- done
- fi
- done
- # Silently remove the now empty dirs
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
- fi
- done
-
- fi
-}
-
-pkg_postrm() {
- dual_scripts
-}
diff --git a/dev-lang/perl/perl-5.34.1-r2.ebuild b/dev-lang/perl/perl-5.34.1-r2.ebuild
deleted file mode 100644
index 2d2c3d383cf5..000000000000
--- a/dev-lang/perl/perl-5.34.1-r2.ebuild
+++ /dev/null
@@ -1,824 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.7
-PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=XSAWYERX
-
-# Greatest first, don't include yourself
-# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN=""
-
-if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.30.0
-else
- DIST_VERSION="${PV/_rc/-RC}"
-fi
-SHORT_PV="${DIST_VERSION%.*}"
-
-# Even numbered major versions are ABI intercompatible
-# Odd numbered major versions are not
-if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
- SUBSLOT="${DIST_VERSION%-RC*}"
-else
- SUBSLOT="${DIST_VERSION%.*}"
-fi
-
-# Used only in tar paths
-MY_P="perl-${DIST_VERSION}"
-# Used in library paths
-MY_PV="${DIST_VERSION%-RC*}"
-
-DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
-
-SRC_URI="
- mirror://cpan/src/5.0/${MY_P}.tar.xz
- mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
- https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
- https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
-"
-HOMEPAGE="https://www.perl.org/"
-
-LICENSE="|| ( Artistic GPL-1+ )"
-SLOT="0/${SUBSLOT}"
-
-if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
- virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}"
-
-PDEPEND="
- !minimal? (
- >=app-admin/perl-cleaner-2.5
- >=virtual/perl-CPAN-2.290.0
- >=virtual/perl-Encode-3.120.0
- >=virtual/perl-File-Temp-0.230.400-r2
- >=virtual/perl-Data-Dumper-2.154.0
- virtual/perl-Test-Harness
- )
-"
-# bug 390719, bug 523624
-# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
-
-S="${WORKDIR}/${MY_P}"
-
-dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.280.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist
- src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
- src_remove_dual perl-core/Test-Harness 3.430.0 prove
- src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
-}
-
-check_rebuild() {
- # Fresh install
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- return 0;
- # Major Upgrade
- # doesn't matter if there's multiple copies, it still needs a rebuild
- # if the string is anything other than "5.CURRENTMAJOR"
- elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
- echo ""
- ewarn "UPDATE THE PERL MODULES:"
- ewarn "After updating dev-lang/perl the installed Perl modules"
- ewarn "have to be re-installed. In most cases, this is done automatically"
- ewarn "by the package manager, but subsequent steps are still recommended"
- ewarn "to ensure system consistency."
- ewarn
- ewarn "You should start with a depclean to remove any unused perl dependencies"
- ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
- ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
- ewarn "Recommended: emerge --depclean -va"
- ewarn
- ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
- ewarn "remaining rebuilds portage may have missed."
- ewarn "Use: perl-cleaner --all"
- return 0;
-
- # Reinstall w/ USE Change
- elif
- ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
- ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
- ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
- ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
- ( use debug && ! has_version dev-lang/perl[debug] ) || \
- ( ! use debug && has_version dev-lang/perl[debug] ) ; then
- echo ""
- ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
- ewarn "You must rebuild all perl-modules installed."
- ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
- fi
-}
-
-pkg_setup() {
- case ${CHOST} in
- *-freebsd*) osname="freebsd" ;;
- *-dragonfly*) osname="dragonfly" ;;
- *-netbsd*) osname="netbsd" ;;
- *-openbsd*) osname="openbsd" ;;
- *-darwin*) osname="darwin" ;;
- *-solaris*) osname="solaris" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- fi
- if use quadmath ; then
- myarch+="-quadmath"
- fi
- if use ithreads ; then
- mythreading="-multi"
- myarch+="-thread"
- fi
-
- PRIV_BASE="/usr/$(get_libdir)/perl5"
- SITE_BASE="/usr/local/$(get_libdir)/perl5"
- VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
-
- LIBPERL="libperl$(get_libname ${MY_PV} )"
-
- PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
- ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${SUBSLOT}"
- SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
- VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-
- dual_scripts
-}
-
-src_remove_dual_file() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- alternatives_auto_makesym "${i}" "${i}-[0-9]*"
- done
- ;;
- setup)
- for i in "$@" ; do
- if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
- has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
- break
- fi
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i}{,-${ver}-${P}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual_man() {
- local i pkg ver ff
- pkg="$1"
- ver="$2"
- shift 2
- case "${EBUILD_PHASE:-none}" in
- postinst|postrm)
- for i in "$@" ; do
- ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
- ff=${ff##*${i#${i%.[0-9]}}}
- alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
- done
- ;;
- install)
- for i in "$@" ; do
- if ! [[ -f "${ED}"${i} ]] ; then
- ewarn "${i} does not exist!"
- continue
- fi
- mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
- done
- ;;
- esac
-}
-
-src_remove_dual() {
- local i pkg ver
- pkg="$1"
- ver="$2"
- shift 2
- for i in "$@" ; do
- src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
- src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
- done
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # bug 794463, needs further analysis what is exactly wrong here
- eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
-
- # bug 604072
- MAKEOPTS+=" -j1"
- export MAKEOPTS
-}
-
-src_prepare_dynamic() {
- ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
- ln -s ${LIBPERL} libperl$(get_libname ) || die
-}
-
-# Copy a patch into the patch series
-# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
-# - description is optional, but recommended
-# - all arguments after descriptions are bug URLs
-add_patch() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local src_name dest_name desc
- src_name="$1"
- dest_name="$2"
- desc="$3"
- shift; shift; shift;
- einfo "Adding ${dest_name} to patch bundle"
- cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
- if [[ -n "${desc}" ]]; then
- printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
- fi
- if [[ $# -gt 0 ]]; then
- # Note: when $@ is more than one element, this emits a
- # line for each element
- printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
- fi
-}
-
-# Remove a patch using a glob expr
-# eg:
-# rm_patch *-darwin-Use-CC*
-#
-rm_patch() {
- local patchdir="${WORKDIR}/patches"
- local expr="$1"
- local patch="$( cd "${patchdir}"; echo $expr )"
- einfo "Removing $patch ($expr) from patch bundle"
- if [[ -e "${patchdir}/${patch}" ]]; then
- rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
- else
- ewarn "No ${expr} found in ${patchdir} to remove"
- fi
-}
-
-# Yes, this is a reasonable amount of code for something seemingly simple
-# but this is far easier to debug when things go wrong, and things went wrong
-# multiple times while I was getting the exact number of slashes right, which
-# requires circumnavigating both bash and sed escape mechanisms.
-c_escape_string() {
- local slash dquote
- slash='\'
- dquote='"'
- re_slash="${slash}${slash}"
- re_dquote="${slash}${dquote}"
-
- # Convert \ to \\,
- # " to \"
- echo "$1" |\
- sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
- sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
-}
-c_escape_file() {
- c_escape_string "$(cat "$1")"
-}
-
-apply_patchdir() {
- local patchdir="${WORKDIR}/patches"
- local infodir="${WORKDIR}/patch-info"
- local patchoutput="patchlevel-gentoo.h"
-
- # Inject Patch-Level info into description for patchlevel.h patch
- # to show in -V
- local patch_expr="*List-packaged-patches*"
- local patch="$( cd "${patchdir}"; echo $patch_expr )";
- einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
-
- if [[ -e "${patchdir}/${patch}" ]]; then
- printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
- >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
- else
- eerror "No $patch_expr found in ${patchdir}"
- fi
-
- # Compute patch list to apply
- # different name other than PATCHES to stop default
- # reapplying it
- # Single depth is currently only supported, as artifacts can reside
- # from the old layout being multiple-directories, as well as it grossly
- # simplifying the patchlevel_gentoo.h generation.
- local PERL_PATCHES=($(
- find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
- grep -E '[.](diff|patch)$' |\
- sort -n
- ))
-
- for patch in "${PERL_PATCHES[@]}"; do
- eapply "${WORKDIR}"/patches/${patch}
- done
-
- einfo "Generating $patchoutput"
-
- # This code creates a header file, each iteration
- # creates one-or-more-lines for each entry found in PERL_PATCHES
- # and STDOUT is redirected to the .h file
- for patch in "${PERL_PATCHES[@]}"; do
- local desc_f="${infodir}/${patch}.desc"
- local bugs_f="${infodir}/${patch}.bugs"
-
- printf ',"%s"\n' "${patch}"
- if [[ ! -e "${desc_f}" ]]; then
- ewarn "No description provided for ${patch} (expected: ${desc_f} )"
- else
- local desc="$(c_escape_file "${desc_f}")"
- printf ',"- %s"\n' "${desc}"
- fi
- if [[ -e "${bugs_f}" ]]; then
- while read -d $'\n' -r line; do
- local esc_line="$(c_escape_string "${line}")"
- printf ',"- Bug: %s"\n' "${esc_line}"
- done <"${bugs_f}"
- fi
- done > "${S}/${patchoutput}"
- printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
-
-}
-
-src_prepare() {
- local patchdir="${WORKDIR}/patches"
-
- # Prepare Patch dir with additional patches / remove unwanted patches
- # Inject bug/desc entries for perl -V
- # Old example:
- # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
- # "Fix broken miniperl on hppa"\
- # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
-
- if use prefix ; then
- add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
- "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
- "https://bugs.gentoo.org/818172"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- rm_patch "*-nsl-and-cl*"
- fi
-
- apply_patchdir
-
- tc-is-cross-compiler && src_prepare_perlcross
-
- tc-is-static-only || src_prepare_dynamic
-
- if use gdbm; then
- sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
- ext/NDBM_File/Makefile.PL || die
- fi
-
- # Use errno.h from prefix rather than from host system, bug #645804
- if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
- sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # set a soname, fix linking against just built libperl
- sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
- fi
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fix install_name (soname) not to reference $D
- sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
-
- # fix environ linkage absence (only a real issue on Darwin9)
- if [[ ${CHOST##*-darwin} -le 9 ]] ; then
- sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
- Makefile.SH || die
- fi
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-# Outputs a list of versions which have been seen in any of the
-# primary perl @INC prefix paths, such as:
-# /usr/lib64/perl5/<NUMBER>
-# /usr/local/lib64/perl5/<NUMBER>
-# /usr/lib64/perl5/vendor_perl/<NUMBER>
-#
-# All values of NUMBER must be like "5.x.y" or like "5.x"
-#
-find_candidate_inc_versions() {
- local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
- local dirs=(
- "${EROOT}${PRIV_BASE}"
- "${EROOT}${SITE_BASE}"
- "${EROOT}${VENDOR_BASE}"
- )
- for dir in "${dirs[@]}"; do
- if [[ ! -e "${dir}" ]]; then
- continue
- fi
- # Without access to readdir() on these dirs, find will not be able
- # to reveal any @INC directories inside them, and will subsequently prune
- # them from the built perl's @INC support, breaking our compatiblity options
- # entirely.
- if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
- eerror "Bad permissions on ${dir}, this will probably break things"
- eerror "Ensure ${dir} is +rx for at least uid=$EUID"
- eerror "Recommended permission is +rx for all"
- eerror "> chmod o+rx ${dir}"
- fi
- done
- einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
- find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
-}
-
-# Sort versions passed versiony-ly, remove self-version if present
-# dedup. Takes each version as an argument
-sanitize_inc_versions() {
- local vexclude="${SUBSLOT}"
- einfo "Normalizing/Sorting candidate list: $*"
- einfo " to remove '${vexclude}'"
- # Note, general numeric sort has to be used
- # for the last component, or unique will convert
- # 5.30.0 + 5.30 into just 5.30
- printf "%s\n" "$@" |\
- grep -vxF "${vexclude}" |\
- sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
-}
-
-versions_to_inclist() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-
- for v; do
- has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
- echo -n "${v}/ ";
- done
-}
-
-versions_to_gentoolibdirs() {
- local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- local root
- local v
- for v; do
- for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
- local fullpath="${EROOT}${root}/${v}"
- if [[ -e "${fullpath}" ]]; then
- has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
- printf "%s:" "${fullpath}"
- fi
- done
- done
-}
-
-src_configure() {
- declare -a myconf
-
- export LC_ALL="C"
- [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
-
- # Perl has problems compiling with -Os in your flags with glibc
- replace-flags "-Os" "-O2"
-
- # xlocale.h is going away in glibc-2.26, so it's counterproductive
- # if we use it and include it in CORE/perl.h ... Perl builds just
- # fine with glibc and locale.h only.
- # However, the darwin prefix people have no locale.h ...
- use elibc_glibc && myconf -Ui_xlocale
-
- # This flag makes compiling crash in interesting ways
- filter-flags "-malign-double"
-
- # Generic LTO broken since 5.28, triggers EUMM failures
- filter-flags "-flto"
-
- use sparc && myconf -Ud_longdbl
-
- export BUILD_BZIP2=0
- export BZIP2_INCLUDE=${EROOT}/usr/include
- export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
-
- export BUILD_ZLIB=False
- export ZLIB_INCLUDE=${EROOT}/usr/include
- export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
-
- # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
- myndbm='U'
- mygdbm='U'
- mydb='U'
- if use gdbm ; then
- mygdbm='D'
- if use berkdb ; then
- myndbm='D'
- fi
- fi
- if use berkdb ; then
- mydb='D'
- has_version '=sys-libs/db-1*' && myndbm='D'
- fi
-
- myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
-
- if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
- ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
- myconf -Ui_db -Ui_ndbm
- fi
-
- use ithreads && myconf -Dusethreads
-
- use quadmath && myconf -Dusequadmath
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # modifying 'optimize' prevents cross configure script from appending required flags
- if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$( find_candidate_inc_versions )"
- fi
-
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
- einfo "This version of perl may partially support modules previously"
- einfo "installed in any of the following paths:"
- for incpath in ${inclist}; do
- [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
- [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
- [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
- done
- einfo "This is a temporary measure and you should aim to cleanup these paths"
- einfo "via world updates and perl-cleaner"
- # myconf -Dinc_version_list="${inclist}"
- myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
- fi
-
- [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
-
- # Make sure we can do the final link #523730, need to set deployment
- # target to override hardcoded 10.3 which breaks on modern OSX
- [[ ${CHOST} == *-darwin* ]] && \
- myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
-
- # Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH, in addition, we override
- # cflags, so we loose PERL_DARWIN which enables compat code that
- # apparently on more recent macOS releases is no longer necessary
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__ -DPERL_DARWIN
-
- # flock on 32-bit sparc Solaris is broken, fall back to fcntl
- [[ ${CHOST} == sparc-*-solaris* ]] && \
- myconf -Ud_flock
-
- # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
- # Prefix itself we don't do multilib either, so make sure perl can find
- # something compatible.
- if use prefix ; then
- # Set a hook to check for each detected library whether it actually works.
- export libscheck="
- ( echo 'main(){}' > '${T}'/conftest.c &&
- $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
- ) || xxx=/dev/null"
-
- # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
- local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
- myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
- elif [[ $(get_libdir) != "lib" ]] ; then
- # We need to use " and not ', as the written config.sh use ' ...
- myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
- fi
-
- # don't try building ODBM, bug #354453
- disabled_extensions="ODBM_File"
-
- if ! use gdbm ; then
- # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
- disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
- fi
-
- myconf -Dnoextensions="${disabled_extensions}"
-
- [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
-
- [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
- # allow fiddling via EXTRA_ECONF, bug 558070
- eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
-
- # setting -Dld= to tc-getLD breaks perl and all perl things
- # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -Dar="$(tc-getAR)" \
- -Dnm="$(tc-getNM)" \
- -Dcpp="$(tc-getCPP)" \
- -Dranlib="$(tc-getRANLIB)" \
- -Accflags="${CFLAGS}" \
- -Doptimize="${CFLAGS}" \
- -Dldflags="${LDFLAGS}" \
- -Dprefix="${EPREFIX}"'/usr' \
- -Dsiteprefix="${EPREFIX}"'/usr/local' \
- -Dvendorprefix="${EPREFIX}"'/usr' \
- -Dscriptdir="${EPREFIX}"'/usr/bin' \
- -Dprivlib="${EPREFIX}${PRIV_LIB}" \
- -Darchlib="${EPREFIX}${ARCH_LIB}" \
- -Dsitelib="${EPREFIX}${SITE_LIB}" \
- -Dsitearch="${EPREFIX}${SITE_ARCH}" \
- -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
- -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
- -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
- -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
- -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
- -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
- -Dman1ext='1' \
- -Dman3ext='3pm' \
- -Dlibperl="${LIBPERL}" \
- -Dlocincpth="${EPREFIX}"'/usr/include ' \
- -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
- -Duselargefiles \
- -Dd_semctl_semun \
- -Dcf_by='Gentoo' \
- -Dmyhostname='localhost' \
- -Dperladmin='root@localhost' \
- -Ud_csh \
- -Dsh="${EPREFIX}"/bin/sh \
- -Dtargetsh="${EPREFIX}"/bin/sh \
- -Uusenm \
- "${EXTRA_ECONF[@]}"
-
- if tc-is-cross-compiler; then
- ./configure \
- --target="${CHOST}" \
- --build="${CBUILD}" \
- -Dinstallprefix='' \
- -Dinstallusrbinperl='undef' \
- -Dusevendorprefix='define' \
- "${myconf[@]}" \
- || die "Unable to configure"
- else
- sh Configure \
- -des \
- -Dinstallprefix="${EPREFIX}"'/usr' \
- -Dinstallusrbinperl='n' \
- "${myconf[@]}" \
- || die "Unable to configure"
- fi
-}
-
-src_test() {
- export NO_GENTOO_NETWORK_TESTS=1;
- export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
- export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
- if [[ ${EUID} == 0 ]] ; then
- ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
- return 0
- fi
- TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
-}
-
-src_install() {
- local i
- local coredir="${ARCH_LIB}/CORE"
-
- emake DESTDIR="${D}" install
-
- rm -f "${ED}/usr/bin/perl${MY_PV}"
- ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
-
- if ! tc-is-static-only ; then
- dolib.so "${ED}"${coredir}/${LIBPERL}
- rm -f "${ED}"${coredir}/${LIBPERL}
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
-
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
- fi
-
- rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
-
- # This removes ${D} from Config.pm
- for i in $(find "${D}" -iname "Config.pm" ) ; do
- einfo "Removing ${D} from ${i}..."
- sed -i -e "s:${D}::" "${i}" || die "Sed failed"
- done
-
- dodoc Changes* README AUTHORS
-
- if use doc ; then
- # HTML Documentation
- # We expect errors, warnings, and such with the following.
-
- dodir /usr/share/doc/${PF}/html
- LD_LIBRARY_PATH=. ./perl installhtml \
- --podroot='.' \
- --podpath='lib:ext:pod:vms' \
- --recurse \
- --htmldir="${ED}/usr/share/doc/${PF}/html"
- fi
-
- [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
-
- dual_scripts
-}
-
-pkg_preinst() {
- check_rebuild
-}
-
-pkg_postinst() {
- dual_scripts
-
- if [[ -z "${ROOT}" ]] ; then
- local INC DIR file
- INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
- einfo "Removing old .ph files"
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
- rm -f "${file}"
- einfo "<< ${file}"
- done
- fi
- done
- # Silently remove the now empty dirs
- for DIR in ${INC} ; do
- if [[ -d "${DIR}" ]] ; then
- find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
- fi
- done
-
- fi
-}
-
-pkg_postrm() {
- dual_scripts
-}
diff --git a/dev-lang/perl/perl-5.34.1-r3.ebuild b/dev-lang/perl/perl-5.34.1-r4.ebuild
index c92f6b9c1571..608bf4e02465 100644
--- a/dev-lang/perl/perl-5.34.1-r3.ebuild
+++ b/dev-lang/perl/perl-5.34.1-r4.ebuild
@@ -600,9 +600,12 @@ src_configure() {
# modifying 'optimize' prevents cross configure script from appending required flags
if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
+ append-cflags "-fwrapv"
fi
+ # bug #877659, bug #821577
+ append-cflags -fno-strict-aliasing
+
# Autodiscover all old version directories, some of them will even be newer
# if you downgrade
if [[ -z ${PERL_OLDVERSEN} ]]; then
diff --git a/dev-lang/perl/perl-5.36.0.ebuild b/dev-lang/perl/perl-5.36.0-r1.ebuild
index bcc7e531057a..1ae7dd84b33a 100644
--- a/dev-lang/perl/perl-5.36.0.ebuild
+++ b/dev-lang/perl/perl-5.36.0-r1.ebuild
@@ -583,9 +583,12 @@ src_configure() {
# modifying 'optimize' prevents cross configure script from appending required flags
if tc-is-cross-compiler; then
- append-cflags "-fwrapv -fno-strict-aliasing"
+ append-cflags "-fwrapv"
fi
+ # bug #877659, bug #821577
+ append-cflags -fno-strict-aliasing
+
# Autodiscover all old version directories, some of them will even be newer
# if you downgrade
if [[ -z ${PERL_OLDVERSEN} ]]; then