diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-06-02 21:45:28 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-06-02 21:45:28 +0100 |
commit | 2018227e9344edb9da15fc6a4a8298086cc2aa77 (patch) | |
tree | c18e1c09e605e94e2a1e93345ad25746cc9e14b9 /dev-lang | |
parent | 6f8038813c460b4f0572d5ef595cdfa94af3a94d (diff) |
gentoo resync : 02.06.2019
Diffstat (limited to 'dev-lang')
72 files changed, 4496 insertions, 3376 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex f025e16597b3..793b626b9b1a 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 4c871f8b784e..1d0321d19a0f 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -13,32 +13,16 @@ AUX crystal-0.27.0-gentoo-tests-network-sandbox.patch 2028 BLAKE2B ed1fa244adc61 AUX crystal-0.27.0-max-age-0-test.patch 632 BLAKE2B d41416f4045b23d0a9c4e11e525d8537277090ee316d01cab9cce0373b07583b9e80a495c8f4db997fc4f1b15b17c080d590f8cb8b6f454dc1c0d1d48015a127 SHA512 7608cb37850e52af406fab0378f0748af7db9239f878720041d56751ce36e0f5874a79b1a971fdc6f261292d23868e3e35c9ddb0d3c10c2bb987767954a77988 AUX crystal-0.27.0-tcp-server-test.patch 377 BLAKE2B 47e9985c9ecc93483bc0d7e970ebb62648ec5778924d055c345ef2ceadb19f07e23c63767ccd62251df1e63bcaca4cf270730b32f24bfd7a6422939911edfe8a SHA512 7c5f0c97b80bf9cffe0b385a02ea2a8573fa88c174eda49a4adab46376e0ef9c957b16c72ca77386f8b88a98356565a31976113f2a78fa3b7bec85b16b692f58 AUX crystal-0.27.1-verbose.patch 771 BLAKE2B 556cc08a2aac777e4c7a4ac93b8cf5e14c3f2a39977fd2d182862ff4ede15160e68d229f1c02ab07267b868e327eea29c1bfcac85e57dfb88c547f77c3b00c6a SHA512 75390816c5dca49ce12ef6d2f0dd81e7e56ceac41b3389f0459ae26d3de41b51ffa06f083fe75e7e1d9fbc207e5ecee5c4a2722536bf71f9220d527d5558aaa0 -DIST crystal-0.23.0-1-linux-i686.tar.gz 18498501 BLAKE2B 7a8e4e5a2b1425b6effe0a634b74b28c340c4d23c4bfccc0abac4e5d47473e10421d025e68e1fb1fa5b0ba8296108e36cd17d393fb143b8012168d595e5852f9 SHA512 8745114c4824d2859c569ed1bd1057d6d649d57b10d41d22c17627f623704eb98ec2e3ab2bf06622de624906f53e053975a6b9d852aeaafeae4f43585609de28 -DIST crystal-0.23.0-1-linux-x86_64.tar.gz 18729061 BLAKE2B bfca07702b2f7c7d6b11aac864475316cabe86bdba90b1819ecd5cb45769b2b7fd9fb4c9f80e46301785209cc5b35fe39bf689163b9376a32b24f8a685a6281b SHA512 6a4e427b4ab3c3be6efcfaee5c1a19eff04eaf00db949d1e1ba8f29c3277affe96a7aba4273d93fd05251453d5b5b937aa792bc448ff2f6d6aa7f2b17d175f75 -DIST crystal-0.24.2-1-linux-i686.tar.gz 17667007 BLAKE2B 73104ce088e161f03a7b4a191bb6dcdd86d0c65fe4058bb81f1177c6b7162aa48ca7732fbb410de8d3c9ca58830774913acdad9a89d8420a62e6526ecd309a2a SHA512 af0019fa1d140e653812a5d8a4fbb129ccf5d66ae55aa1a4e94ec3166058eb47abd2dd429a9d72a4baad4a6032abdaafc07bc22ca6380ac85e9d1c7168d7bf5d -DIST crystal-0.24.2-1-linux-x86_64.tar.gz 35022853 BLAKE2B 5b101a27fef0dfbbf61920d826689a45f400c28afe7383320b69f8887512bcab65cbfe8a2cf35b0c598b06083d1ea5e338f4e2b910db03226ba05195483e4c89 SHA512 21d8e7fc34fc24ccb7e8e2c7aade0c3d6fe17e385f0f00534bb91e886788da0b27ff8276b634f7ae13d6342c7e22c6acd609562bcf1af8fddfdee5e256e1bcf0 -DIST crystal-0.24.2.tar.gz 1745462 BLAKE2B 8f3d5cf9e274558a5622aae44c6f7d54d0b3042d08810ddc650f181b91a536a3d0cc2d8fa726b677cce1f8a946319a55b803823596cef0d4d3e63832bfcea720 SHA512 db9fb973eeb2bc72ef91bb894b7c5aea73e727ff46e739aa431d68e556238f346a688a7a43de284afb4667b49366afce3ca423a523bea521180fa8f19ba6862d -DIST crystal-0.25.0.tar.gz 1957613 BLAKE2B 4c2467e39a9bc6745b74c00f755490a2f726e775c2a0d15562af27d2a6771c95c44f79e6b59ad45f61a59566529854d75c980c55a6886538fa98663879477258 SHA512 20f2864919c7710e5aee8112e1c6ab54a2e50b244ac63d374edfed41ab659b11c062f76dbfc38e763a08bdbea9e0a39f3b5cac5e00bf453be3a31d3b0a023917 -DIST crystal-0.25.1-1-linux-i686.tar.gz 39882213 BLAKE2B 35d0045a72ced6ba7348105c9b88e564f85b075af78decd52c40b47b338cd1c7c1b01565430f9aa21251cfd1266041268e037eb616a24475acfa22b1b8ae1448 SHA512 79601b6c586184e064798c4daca3de77f7c81fbc4d0062a558824533f9272f04899c0041b17dce072757f20f7940c99303c6ff1143448b6452e8216ca4bb43dd -DIST crystal-0.25.1-1-linux-x86_64.tar.gz 38004788 BLAKE2B 580ccad2227e6467c4c61ce9adf4aeb99c55f694c71a02b9d959c31deba66e428f5c5e7d920dd42d01524ccaef04b9eae3b068f2c6ff16414fa3fd36f462414f SHA512 ec33781b767f8f9f0a6d00f73109fbe9d683a23fca9cc8b462acda3eb024fc970d0daf8c36fb2239297f77510d2e3f544f58ec1cf53d08ea856bc6307f81d1dd DIST crystal-0.26.0-1-linux-i686.tar.gz 39814913 BLAKE2B 8c73e33b52a7c5d9ae24ead5d5adbd038f63fc76f904b20ec8dc4da1b1ed6f53283970b06ec7af7ecac7f58c55dc911fe56bcb9897a44a86fc88deb43249a5af SHA512 f0ba602a07b608ac7b3c0f841cbcc70b44d42ce87f405ce9d1a09df7b8c1764e13bca9471b2499a51d22cebc8228e949086893fd3c946d17e7b36ae4e8ac4f75 DIST crystal-0.26.0-1-linux-x86_64.tar.gz 37986465 BLAKE2B dc8e05519653f82d09d8bd3a84fedd9f4720880bc61a110709643850bbcfa95738292cca8168a8c5c550abe9b178ce28fd59321c66862a1cc81007cc1cb22223 SHA512 c252d2d585fe49c755397b8f8c7965c855e8f8102598b34a83cc6e5ae821a22f3dccce8b7787dd0f00fa39fad3d2dffc23c6105c9cefe525da7855550c790ab2 -DIST crystal-0.26.0.tar.gz 1992091 BLAKE2B dfc96e3e9a71dbec07235a982bbb34ea81bb3adbb39f6c8f8c9bb855ac97e5faf4d47d4a78901317798941b84117399aeee6af53c6c06ae21b9504ca617a2899 SHA512 45a62a2496d477cd72666e98b36bdcbfff958a8f5f0e71f04101f2ba72fc87117d53c8c098a72edb55e9be192b68b73529d5f76e4c660033332ed6e88a372519 DIST crystal-0.26.1.tar.gz 1994987 BLAKE2B 2292fbdf119e181313000e035802581ae206083aa5c9651a01e131d74e701ea75dc713b44274769decfc9f0f300d8fc2e6c24a94f60380b79c3cdb1a10e73369 SHA512 5e020b0f262f9bedaaae60010f669d7987a77d3416bf0dd057e29eb11adbe8fceb1c4f55a822e623d32e302a01ccc99218d2c3fe474d4ce0dde4312c196ccfa6 DIST crystal-0.27.0-1-linux-i686.tar.gz 39751745 BLAKE2B 22adf22a2e423f4b0fddda1d8d9bbfb68a4b51f18da9705b6515a500610781251561577dd25c6509aa2b6860b1b329bc7e3d213743330b91206b50239e053a89 SHA512 4fb819a67f3e2c965b454af53cf0bad9606a6a13f85f1bfbe59057291ea293099892344cd31127f5b35e3b25fc6e3f591bda508587fc32f5ef1433aeff0ca706 DIST crystal-0.27.0-1-linux-x86_64.tar.gz 37933811 BLAKE2B 76bb57b556f14ae8ce219ef490e58ff03571f36fcb4343672ff10ddd6e275e9c5c26a028d63f0592c1a081f2f5dc8241106d8a99add1a7936f52b9e3a57f96e6 SHA512 c403c4080830b928621da07f409ba5433109ee0fc81589f87e79d2e04fcbce8facfa205b7e8c78ab9bb772b4444c938b3bcf691596ee0b2d54c3f3d97150e008 -DIST crystal-0.27.0.tar.gz 2025777 BLAKE2B 0a5cc02a516586b033c65efd8e28a13ac0ed67fddbd1a1f0a88a484dff825bec8f6b03b16938c750e99e0c7c1c12a3fd3fc87e61d038b25b7707e0e7f2913fae SHA512 02b0e1d43d699d1dd91f4b979c8ab8909264e5f1fcc344f6110bebb808c0ee764a943368cce9d33a258adb9631ed4f445e1f771d5a9e50fcd337fc8b319616cf -DIST crystal-0.27.1.tar.gz 2061304 BLAKE2B 1776525925a25f72cf83f1a6076ab8b2bf1602c9d8c6a1fff8869c200faa35de008655f046ff60fb3733c8c3577f3544184080ee39acedfde006b9fd63d6c844 SHA512 8c6dd9489aff5d4b3e119ef6f531a3248c20f3da97c44dd3febe551adc67f5d87aa4f7679cbcc0dcde0374f3f5a3c523da6dff32a7ac95a9db1406102e980822 DIST crystal-0.27.2.tar.gz 2061466 BLAKE2B 49f4d2c33412589e7ea131460508a8716d10285d6e248d4e6f9287acc559a864737af2317f2a50332b68704d9d0bf6d3e4d13ad5e5a66e433dbbdd1bc8e523bc SHA512 dcb5948f373d4a7b17e6bdd45697a43e86ec7eb38bdafaade982df9adacbc5a24f2b08f327e41b853bb8f6ec8272411d14defee4e510c430c5dd1370afca42ae DIST crystal-0.28.0-1-linux-i686.tar.gz 31888259 BLAKE2B a2f72a5e05abbcc7f4a6003f22ad059e07de59660f114d8e5d0fa225ac51d2465174c41cc81dd7c561f52832ffd9203a0a1cf5606e8633e36fcecd3899463775 SHA512 bc0fcb199abacc068e907f0e8fc8feeecfda4e5312201b4a6af96e76730df3130f6d9f40141c3182c9e99c0600455124cb33ef60194fb4e47ea3826d7090e755 DIST crystal-0.28.0-1-linux-x86_64.tar.gz 30088308 BLAKE2B e12b0cc9aa5ef354e0f06423a8d3be54ba42eee358cdfd7c6632d5ea08c2ed7e441eb4e162224cf8780bd3ba33e02916f1a7d061a48577d8a4d0eed4578723b3 SHA512 13b7b889ee6d17b905375883baa883fc4d631f6a22c2399aafba1020142e96072670f46584264445b531ece87c6f4b3e89367c62b0c2587c119dd6242ec06762 DIST crystal-0.28.0.tar.gz 2108702 BLAKE2B 75b743c65ae2063ecbcff7514a3fac53ecc0e25866dd91a34368bdb1bf2a72e9b8e9b6c8325f1b0589693efa78c93bd246f1e764569307519375f7d7429bea55 SHA512 ea0d0938fa90db1b8e395e1daf777c36be5366046c1df7764409e14cf490b4e5f502c62a567e1cf1375684fac58afb71ccc39a5d5974eb29ef9bb5be59fa0a10 -EBUILD crystal-0.24.2.ebuild 2374 BLAKE2B 62f5e228fc38ad340d2e77ee1817410a5ef418405a09ba42c52f6067e5d303cb6836694ecb5b2d59b2cc00022ead788109a98ac6a124356d72783f926526c2fc SHA512 5812f5e4174c3320601684f3ac2ef235eb4aca4dee5632fc243839e8c61fa1c738086db17f840b68300887244ea6232d5d990725c1d85021d1a934c8a0560e92 -EBUILD crystal-0.25.0.ebuild 2369 BLAKE2B 2146aba6dedff0c3fcbcd8d018c8c15906eb7050e9cea358fe2c70de8f1a76242de583e798c39769e6a89832403a6c5eda8b50bfd882889c9a80a638919482e9 SHA512 48a19dd3c5bd501dbb00b44f4eb2e3d934e835bac4361f2f1dab9aab2812aa40a8e19b6838db006ee4735cdf09d720206120b730fcd7af79e1745866a7422ff7 -EBUILD crystal-0.26.0.ebuild 2437 BLAKE2B a2ef50459ec827303b1ffcda38110b096e42252f85364b0199bcf2d9f64747b51ad72a35ff54d1ad48ac442a912a5db34f825dbae3e96db1f38f6b14d19dd281 SHA512 ac9c8d35211d41be615cf7a9c46181b4b83334d2da975cd621ee0480665c8130d18299d3d62f45bf60b95c35a02c6c0e1aff51a14e1967a7d9228c2107c987b8 EBUILD crystal-0.26.1.ebuild 2696 BLAKE2B 820ed8d2957bd9b9863115318d3041f3428adfe60295d8fef170cb636a5135492c7abf9ff98fe67a537f3d4289040d61a892fe9074ded3ad1bc306f74327f568 SHA512 1a7f2c3bd31ecc7ea09943dad6b6a506a659dace59382075ab4ea628cf96550e71b4f659f47e7c55da86b9c454ef47a67b3cef1f3f85d23fcc120c6534ae7115 -EBUILD crystal-0.27.0.ebuild 3125 BLAKE2B ec1bcc46d303723566f9c90d8532483b1de2113ba7d105f7d6b8d413f23261feb61b6a46dc0a6bb461d4d436f8175f6f2576fb97a2d154852a434819f66164c3 SHA512 1e7a4ed435535b1479f7bf972258159a264275e43c300b2864ef96601bebd9a5772f26f70e1c04fac13766cc984786030e8d7cafbca313972484c3f132e2f2c8 -EBUILD crystal-0.27.1.ebuild 3062 BLAKE2B da693c76e1948477b0b1c630017c263363c2269b833e525c6d35a3722600ad282c4a0bf198fc3e36827a19d1b9ce67bc1273f2a9d1495ff09111d69eaef988ec SHA512 7cdab42df495f2944a79384744f99da21c9f6fb6c7acb154cc1e34065db8fa7dff7dc0364e859f09601a62c95ebcdc6885a0920e4214b6b43f062809e066c674 EBUILD crystal-0.27.2.ebuild 3110 BLAKE2B 34c672cb96386852cd05db8e7b2c7df70080af78165be5c7bb18e9003d98f035e0ee88e5534f5e751d3efd1ddd415deaa43aaae05353248fe489db37813d0b3d SHA512 05fc51ef67d0b1fc7e34ac4aeb7bd74e9d48441acf4fa69a078f6235ef5945a7e500b9822d41ae8102bb4c77d6f6b6f03b0a7d9738ea02e136f89946c3ffa7d7 EBUILD crystal-0.28.0.ebuild 3111 BLAKE2B 395b3d382c1578834daef033e091e6f1f2491e8a4df611c1913bba4cc5cefec2c6a5b3981f972e9545358db47e2dbc40fa8a9bac3914389b8b4d2f98a0c5de34 SHA512 1b33728ebab77a8e32016f4415515cd453874ac8504b0cf14d27143a3e8aa8d69c9835f5640e49f1667b229ba9567ecdc75ca95d93052c40c4a2de7800062394 MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02 diff --git a/dev-lang/crystal/crystal-0.24.2.ebuild b/dev-lang/crystal/crystal-0.24.2.ebuild deleted file mode 100644 index 84884cb69fb6..000000000000 --- a/dev-lang/crystal/crystal-0.24.2.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=0.23.0-1 -BV_AMD64=${BV}-linux-x86_64 -BV_X86=${BV}-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${PV}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${PV}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -LLVM_MAX_SLOT=5 - -# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.24.0-verbose-LDFLAGS.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-sandbox.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-network-sandbox.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${WORKDIR}"/${PN}-${BV}/bin:"${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/crystal/crystal-0.25.0.ebuild b/dev-lang/crystal/crystal-0.25.0.ebuild deleted file mode 100644 index 2dbfe3e736df..000000000000 --- a/dev-lang/crystal/crystal-0.25.0.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=0.24.2 -BV_AMD64=${BV}-1-linux-x86_64 -BV_X86=${BV}-1-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -LLVM_MAX_SLOT=6 - -# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.25.0-verbose.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-sandbox.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-network-sandbox.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${WORKDIR}"/${PN}-${BV}/bin:"${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/crystal/crystal-0.26.0.ebuild b/dev-lang/crystal/crystal-0.26.0.ebuild deleted file mode 100644 index 59268e937a68..000000000000 --- a/dev-lang/crystal/crystal-0.26.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=0.25.1-1 -BV_AMD64=${BV}-linux-x86_64 -BV_X86=${BV}-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -LLVM_MAX_SLOT=6 - -# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.25.0-verbose.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-sandbox.patch - "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-network-sandbox.patch - "${FILESDIR}"/${PN}-0.26.0-gentoo-tests-network-sandbox-2.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${WORKDIR}"/${PN}-${BV}/bin:"${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/crystal/crystal-0.27.0.ebuild b/dev-lang/crystal/crystal-0.27.0.ebuild deleted file mode 100644 index cb040059d964..000000000000 --- a/dev-lang/crystal/crystal-0.27.0.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=0.27.0-1 -BV_AMD64=${BV}-linux-x86_64 -BV_X86=${BV}-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -# Not compatible with llvm-7 -LLVM_MAX_SLOT=6 - -# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.25.0-verbose.patch - "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch - "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch - "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch - "${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-network-sandbox.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch - "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin - if [[ ! -d ${bootstrap_path} ]]; then - eerror "Binary tarball does not contain expected directory:" - die "'${bootstrap_path}' path does not exist." - fi - - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${bootstrap_path}:${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - # EXTRA_SPEC_FLAGS is useful to debug individual tests - # as part of full build: - # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - \ - "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/crystal/crystal-0.27.1.ebuild b/dev-lang/crystal/crystal-0.27.1.ebuild deleted file mode 100644 index d1888dfde89e..000000000000 --- a/dev-lang/crystal/crystal-0.27.1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=0.27.0-1 -BV_AMD64=${BV}-linux-x86_64 -BV_X86=${BV}-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -# Not compatible with llvm-7 -LLVM_MAX_SLOT=6 - -# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382 -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.27.1-verbose.patch - "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch - "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch - "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch - "${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch - "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin - if [[ ! -d ${bootstrap_path} ]]; then - eerror "Binary tarball does not contain expected directory:" - die "'${bootstrap_path}' path does not exist." - fi - - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${bootstrap_path}:${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - # EXTRA_SPEC_FLAGS is useful to debug individual tests - # as part of full build: - # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - \ - "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 79530a47c67d..9bc282e07559 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -3,6 +3,8 @@ AUX 50erlang-gentoo.el 134 BLAKE2B df2da5c0c4be3e6855b51b820e3304f5c212a92d13ec4 AUX epmd.init 537 BLAKE2B 8b7c45ec9820d37b01cbbe824e0fd13f4651ac280383f8830dc42037f76f918569ce68c00d6c880ab34a95f5c2831dfb3edaf62e13112e5a1c0e77534fd9239c SHA512 231eb48c02eb183eac7aa2f6ec811b0934098e04faf49b130d5f6e184d351f3c1d6484ff5330e5c8d707473be79f220247a9b7076cf3bf27fdd659b1ccdcc111 AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab557e3f71cab48baf59b5a9533a4dccb2cb61a4434e3a51d44eae06010718dbf9a732d605c40f73 SHA512 405740f8f9cd55d4ecd7420748399ab3f374b7cb09e53605f44ba49d0af86b70e4a1baf1fde05a703fb90c8a83dbcdd5cfbbf09185e9d7b58ff9612aefc2dd28 AUX erlang-20.3.2-dont-ignore-LDFLAGS.patch 1337 BLAKE2B 7272c96b1ee947a98f0a5b1f3bd1fce11e8d02f121348208196ae60af965dfde7fac15263ca0a58df96dff21785a1a63f4fc10f7e7e10c0f68a618e760e5ffd7 SHA512 59d39b1680ac3406e4c37f81a0207588208a873279920258235af54700f80bd67584c3e55c9278f893cd7813573bbec8b13195e47ba00101fc578d5a2b40fa34 +AUX erlang-21.3-lto.patch 5277 BLAKE2B 32bfdda0c1deb8bd7d2403ad6810b6f8cd8bf6ec3bfd54d02ab4637d800ef0fe77b4da883877ba3c08a9c24596c7af09069aab5449fc22627d811ccc6257f18c SHA512 fb3460e4d881e8c9bc256840d62f8ba988456abc581c01e2b8c43d1302549cdb59b179f613f65139bd89b6e1fb8395e74472ba0a000ff0dcf8af84c4593dac03 +AUX erlang-21.3-pgo-loop.patch 420 BLAKE2B e0ad61bd592c7a3ddf2410ecbcd38a3f72ad34a58223af9b73eba586cc1970b289886c71a7d7e23a69318d86bd2bb220c21bb4b7e5db1984586ed5bd81990159 SHA512 97f7239b729e9f809a4b6226a4e69a833db94cdd4f5d937b26b33ae432663ceab1c0bab7c3168ca729bd8eb3bb5ead2fbf0510ef88bb124a44541d6b18f0d0f3 AUX erlang-add-epmd-pid-file-creation-for-openrc.patch 2359 BLAKE2B 54a3148144bcbb9a4dd68e89fd609a09a9e9a0a9c7a71a4e9eaafc12632e23da44411d72c1590e482fda73d5464b1071386aa564b8d9a73b032b62c474d20570 SHA512 301aed1980a8638a8cd069ecb6e968e5c15d3e82b38580861a0ed6a2fc7a9505d99525a53a6ac19c2d9b786703aac6bf51751275a6a7fafd8f530c07ea0c7e8c AUX erlang-custom-autoconf.patch 398 BLAKE2B c99d3bc311bbca379786b9e4d29ee4983354a069508328c95e99a62bdfb8d15dbf372124acdf66c603f64acd9cabeb146e5bd5ec1e1ffd09af125fc4a076abdc SHA512 b82e09d0cd686c07b9d370e397edda10bd96435e70f4a0995ec06638e237e3b8fd0e1195ecc036b51367ffa36a0b4db5a2b1fe5d389a0b97e19d32aec51755d9 DIST erlang-20.3.8.10.tar.gz 53511918 BLAKE2B 5f430bda415a5b59e9dec3222abe311264277ee91b2e7e9e69dba1016169492dc621df314c057e39f16b7bfe01686f405b9ccde362f84c5c2f0ffde68a923ffa SHA512 0d5ab27d17ff203d2c719fd5a03d843e3046037240e97ae9ad59d9f0690cf46cfb5fac2569590ce68f62169b1b2b2bc693e9a9b82f6ab0371693c5324bd3288b @@ -32,5 +34,6 @@ EBUILD erlang-20.3.ebuild 4826 BLAKE2B 80ccf3e15c5cb5fc585c4b014b8093ce2306222d6 EBUILD erlang-21.1.1.ebuild 4429 BLAKE2B f873d7d5af5207811e314d640f88fa0e0d8bee9012d5ffd17d2c77910d2c2e68869e58d7cd68ddbde07b09c101e32f44f7dcfc6770d9a9fda7504c26a722c96e SHA512 7d8d3261811ce9f3fda2e51d24d24015ac1780100a1c7550d2606b5da6ae8cf10014cb3af109aee3b138e1fa4c9072f2ede50b4cf3beb139f7b861f805cdc597 EBUILD erlang-21.2.6.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef EBUILD erlang-21.2.7.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef +EBUILD erlang-21.3-r1.ebuild 4511 BLAKE2B 2c6845a8bb9ed75313108397a7231188904f27c92fb711da841c04a57bc0559724b6f9b0c761149f8801efb1d778f55e4f3bcf5576a05edd7367b788372b65e8 SHA512 f6ef4c7613150745520302652d4a322e7a333e480c9b41838b0b83545ba6b8d89691208fe18482ec5636de3d7c0e9a91af490ee52bebe14e475f032a4de88c0b EBUILD erlang-21.3.ebuild 4434 BLAKE2B d0a694be6cf620a6034235d8fa0a8bbbc9a419ba44ade3d3c946e2af662aa11fb26c1fb6b58d4541c805bcb979c8f8390374a1f423c54101f180d803e5e4a059 SHA512 734b4ca60ed34ffabac86fc4f5bd5d32c8b22ded33a12bacf9c76cfbce62590a4e8faba2ec0344d69ec6d58613ee02e9f73dbdb8eaf927d452f97421b01ea0ef MISC metadata.xml 767 BLAKE2B 7b4e24e035cc581418aa0509baad9913b3abb195414f2e91136510a5910b69a186853b352557f1e49280aae7871cc2e033b6e2ea6f22b3b73c88d78853937309 SHA512 c816f414d07fac9433a22bdfb083db600200f45cc0fcc0eb06389056df4ccdfa31767ff0a25b8f7caf1b17dffc303ff3f766a642cfd263c0c723623c31c5a716 diff --git a/dev-lang/erlang/erlang-21.3-r1.ebuild b/dev-lang/erlang/erlang-21.3-r1.ebuild new file mode 100644 index 000000000000..ed159555d82f --- /dev/null +++ b/dev-lang/erlang/erlang-21.3-r1.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets" + +RDEPEND=" + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + tk? ( dev-lang/tk:0 ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + "${FILESDIR}/${PN}-custom-autoconf.patch" + "${FILESDIR}/${PN}-21.3-lto.patch" + "${FILESDIR}/${PN}-21.3-pgo-loop.patch" +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" + eautoreconf +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(use_enable pgo) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + --enable-threads + ) + econf "${myconf[@]}" +} + +src_compile() { + if use pgo; then + # disable distcc and ccache + export DISTCC_HOSTS="" + export CCACHE_DISABLE=1 + fi + + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init epmd + use systemd && systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/files/erlang-21.3-lto.patch b/dev-lang/erlang/files/erlang-21.3-lto.patch new file mode 100644 index 000000000000..c41e89f42c6c --- /dev/null +++ b/dev-lang/erlang/files/erlang-21.3-lto.patch @@ -0,0 +1,140 @@ +https://github.com/erlang/otp/pull/2194 +https://bugs.gentoo.org/681778 + +From ed751968d8dc4c0b58210247e94409a8a52cc501 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Thu, 28 Mar 2019 08:38:56 +0000 +Subject: [PATCH] stdlib: fix re:replace on LTO builds + +Fabio Coatti reported elixir build failure in https://bugs.gentoo.org/681778. +The minimal reproducer looks like that (from otp git tree): + + $ ./configure CFLAGS='-O2 -flto' LDFLAGS='-O2 -flto=8' + $ make + $ ERL_TOP=$PWD \ + PATH=$ERL_TOP/bin:$PATH \ + \ + bin/erl \ + \ + -noshell -eval 're:replace("a","b","c",[{return,list}]).' \ + -s erlang halt + + {"init terminating in do_boot",{badarg,[{re,replace,["a","b","c",[{return,list}]], + [{file,"re.erl"},{line,362}]}, + {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,680}]}, + {init,start_it,1,[]}, + {init,start_em,1,[]}, + {init,do_boot,3,[]}]}} + init terminating in do_boot ({badarg,[{re,replace,[[_],[_],[_],[_]],[{_},{_}]}, + {erl_eval,do_apply,6,[{_},{_}]},{init,start_it,1,[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}) + Crash dump is being written to: erl_crash.dump...done + +The failure happens in libpcre2 where stack overflow is mis-identified +at function entry of + + erts_pcre_compile2() + compile_regex() + if (PUBL(stack_guard) != NULL && PUBL(stack_guard)()) + { + *errorcodeptr= ERR85; + return FALSE; + } + +The stack "overflow" detection happens in + + thr_wrapper() + ethr_set_stacklimit__() + +because the stack usage code relies on the fact that ethr_set_stacklimit__() +and similar functions don't get inlined into callers for stack growth +measurement. + +Before the change inlining avoidance was achieved by putting functions +into standalone translation units. LTO makes this technique inefficient. + +The change marks functions explicitly as __attribute__((__noinline__)) on gcc. + +Reported-by: Fabio Coatti +Bug: https://bugs.gentoo.org/681778 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + erts/emulator/beam/global.h | 9 +++++---- + erts/emulator/beam/sys.h | 10 ++++++++++ + erts/include/internal/ethr_internal.h | 2 +- + erts/include/internal/ethread_inline.h | 3 +++ + 4 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h +index f9bbe4167f9..4c8d3d3dbe6 100644 +--- a/erts/emulator/beam/global.h ++++ b/erts/emulator/beam/global.h +@@ -1216,10 +1216,11 @@ Uint64 erts_timestamp_millis(void); + + Export* erts_find_function(Eterm, Eterm, unsigned int, ErtsCodeIndex); + +-void *erts_calc_stacklimit(char *prev_c, UWord stacksize); +-int erts_check_below_limit(char *ptr, char *limit); +-int erts_check_above_limit(char *ptr, char *limit); +-void *erts_ptr_id(void *ptr); ++/* ERTS_NOINLINE prevents link-time optimization across modules */ ++void *erts_calc_stacklimit(char *prev_c, UWord stacksize) ERTS_NOINLINE; ++int erts_check_below_limit(char *ptr, char *limit) ERTS_NOINLINE; ++int erts_check_above_limit(char *ptr, char *limit) ERTS_NOINLINE; ++void *erts_ptr_id(void *ptr) ERTS_NOINLINE; + + Eterm store_external_or_ref_in_proc_(Process *, Eterm); + Eterm store_external_or_ref_(Uint **, ErlOffHeap*, Eterm); +diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h +index a6312293cc8..24b6738e082 100644 +--- a/erts/emulator/beam/sys.h ++++ b/erts/emulator/beam/sys.h +@@ -63,6 +63,16 @@ + # endif + #endif + ++#ifndef ERTS_NOINLINE ++# if ERTS_AT_LEAST_GCC_VSN__(3,1,1) ++# define ERTS_NOINLINE __attribute__((__noinline__)) ++# elif defined(__WIN32__) ++# define ERTS_NOINLINE __declspec(noinline) ++# else ++# define ERTS_NOINLINE ++# endif ++#endif ++ + #if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK) + # undef ERTS_CAN_INLINE + # define ERTS_CAN_INLINE 0 +diff --git a/erts/include/internal/ethr_internal.h b/erts/include/internal/ethr_internal.h +index ac27ff2ed09..17ec84c52b6 100644 +--- a/erts/include/internal/ethr_internal.h ++++ b/erts/include/internal/ethr_internal.h +@@ -90,7 +90,7 @@ int ethr_init_common__(ethr_init_data *id); + int ethr_late_init_common__(ethr_late_init_data *lid); + void ethr_run_exit_handlers__(void); + void ethr_ts_event_destructor__(void *vtsep); +-void ethr_set_stacklimit__(char *prev_c, size_t stacksize); ++void ethr_set_stacklimit__(char *prev_c, size_t stacksize) ETHR_NOINLINE; + + #if defined(ETHR_X86_RUNTIME_CONF__) + void ethr_x86_cpuid__(int *eax, int *ebx, int *ecx, int *edx); +diff --git a/erts/include/internal/ethread_inline.h b/erts/include/internal/ethread_inline.h +index 8e6bcfc4a8c..f25ba4ae721 100644 +--- a/erts/include/internal/ethread_inline.h ++++ b/erts/include/internal/ethread_inline.h +@@ -62,12 +62,15 @@ + # define ETHR_INLINE __inline__ + # if ETHR_AT_LEAST_GCC_VSN__(3, 1, 1) + # define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__)) ++# define ETHR_NOINLINE __attribute__((__noinline__)) + # else + # define ETHR_FORCE_INLINE __inline__ ++# define ETHR_NOINLINE + # endif + #elif defined(__WIN32__) + # define ETHR_INLINE __forceinline + # define ETHR_FORCE_INLINE __forceinline ++# define ETHR_NOINLINE __declspec(noinline) + #endif + + #endif /* #ifndef ETHREAD_INLINE_H__ */ diff --git a/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch new file mode 100644 index 000000000000..82add992a448 --- /dev/null +++ b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/686786 + +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -682,7 +682,7 @@ elif test "X$PROFILE_INSTR_GENERATE" = "Xtrue" -a "X$PROFILE_INSTR_USE" = "Xtrue + PROFILE_COMPILER=clang + AC_MSG_RESULT([yes, using -fprofile-instr-generate]) + else +- if $enable_pgo = yes; then ++ if test $enable_pgo = yes; then + AC_MSG_ERROR(cannot use PGO with this compiler) + else + AC_MSG_RESULT([no]) diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 4e55420b7732..d5cbc1ecce3b 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -83,7 +83,7 @@ DIST hoopl-3.10.2.0.tar.gz 241940 BLAKE2B 0ed7bf80486767c81415f99da8780a525401c3 DIST transformers-0.4.3.0.tar.gz 28632 BLAKE2B 92cabcb654bb11854a3bffbb1262f5cd62eda1aff447157086a61ebc451ebf2fddec53b6a2cc058174f24f0f0e32df671d3717e30a542c8dc90cb87e327d990c SHA512 c3ec0893ebba4fbd6087c3202e919552c4a9bff3350b5c0589e7ebb18751a515d98b8cac15b0a3252906ea72b5a0eb09b7fe88c8da88b09d6ce4fbf0f50b2780 EBUILD ghc-7.10.3.ebuild 21670 BLAKE2B ad406c6fe4ac067b365b059fea1621799a322489ed783d7d76b877c64d84625fc4cb41d2e0c5f9d5c67ebc7dc780aca5a095c76f7260694355bfba128d2a7241 SHA512 82d5dcc2c7e6cde053687d1d0c541584d00c56bbc03495728ae46af7d805a37f1c0caac9b60a9989462b60dcd4faa6bc8fd2b89c4def4b9b2619dd2701ffc21f EBUILD ghc-7.8.4.ebuild 19817 BLAKE2B 3859f27e1efea97faad71e3d1e00c43bf334736d51624a2c9e148b482d92f6ad813e2323f6980ce39f9f05860ab5a5311930070317e36660392f57ec87a49d90 SHA512 5f5a55dbdec9abd6cc92a48779377227f3fbdfb99db5e7e5d57daaced1ee2ad8b5395ae59456c837bb70c1c0096cd0db1c9fe7d3439bce9ffe8b21222d0a83d0 -EBUILD ghc-8.0.2.ebuild 21544 BLAKE2B e57a4c97d2231248abef1295a4b825b7cb2d8e2ee9fd6aaa5f3bb554afa6c75d4cd602f33826f3852839804c8fdbd155d1a69782f972095dc41a0f845b0ffc11 SHA512 a6ad1d4f5f2f9156ae1deff8c49090f47e815066f7bd420389421789aa3fb580a63d70653d682a09808eed9be655617864da24d50db3f3b65ad6cca677169dcf +EBUILD ghc-8.0.2.ebuild 21587 BLAKE2B f73f153ad488af3d44be9b1bce3ccc3fa46a8cd514c20cf3b59e61b2add072ca80d417a1b069dde190f41c73549fce9862331b268bdf269e77c034126abf3a9f SHA512 86769a7bfa47c49e3da70e6899cb14f48d12a784c2f064d0d58579f77646e8c850b3a2ab181897981b4bc77bce82014d30aadca0ce82dcb52bc319a6fec5550c EBUILD ghc-8.2.1.ebuild 24814 BLAKE2B d008223cf21b766701bed924421930e5825c00fad2b6891a1c72149e988fe7cfdf5a7325a32104ce1c0f18cac3db4e35403fe9dd3842135f06111c08ec276287 SHA512 8399b7280bd3f125e54623cdb6ad1d1c14fb353982693bd0b94b25a41b5cfc8e68ef28681c0273d5ffd8434cdf1de6cadf180669e1983424693d0365b9e3c875 EBUILD ghc-8.2.2.ebuild 24783 BLAKE2B 7759ac0a512d2503d4c79925ae4d72f957d786a70fbd5e7c892e1f9756ac8460aacdf598f1ab9c8eb04a14d7be419a1bcd69c0c3cb09deb56523134f5e2fe9a0 SHA512 8c96d6515440ef176efb4cd7ba70d01e65ab742f094334e31444334cfa6bed590fa103877d3d10f10fdaf146c46aa0d0ba168c27e30681005248cc7ffc806885 EBUILD ghc-8.4.1.ebuild 24601 BLAKE2B 09e125fb16efc35e009e063c499f984915a3bb358b4b2a4d204bff5cf638bb64e4b41f18f3203e4b81f2c2fdb0eee999f3dbc34b2c5aa6233716b993d95c36f3 SHA512 73e62c14d4c83c8dbeaaebc07605dcb446b6d6bb2ffc9c135cb0a9f327cf107a3716a4ccc32a8e8e038be6cb6b9b6c0131732dae9b78f35526ac74bd5071ac45 diff --git a/dev-lang/ghc/ghc-8.0.2.ebuild b/dev-lang/ghc/ghc-8.0.2.ebuild index 6e573c0fff30..48eb8d91db6e 100644 --- a/dev-lang/ghc/ghc-8.0.2.ebuild +++ b/dev-lang/ghc/ghc-8.0.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -293,6 +293,7 @@ relocate_ghc() { # but then USE=binary would result in installing # in '${bin_libdir}' mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die + bin_libpath=${bin_ghc_prefix}/$(get_libdir) relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \ "${WORKDIR}/usr/bin/$(cross)ghc-${GHC_PV}" \ diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index 434aaa808b79..436db117f447 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -13,6 +13,7 @@ AUX gnat-gpl-2016-ustat.patch 1389 BLAKE2B a52707196c5caa9e025a900adfd8109d28a93 AUX gnat-gpl-2017-gentoo.patch 4510 BLAKE2B 468059269978e5bbf85d09f2d4086c5fade1f7cdb4c14e9a12b596a96b3cf93e0bf894cf77ef2f81dd56b3aa2e7dc65c8642f7b688ec7cf8514152051e33564f SHA512 48ed94e3e5a2473f98ac6877640f64fc5e5a705a95e0c92a2d19b6a77597e49e77ed409af15302fba0c2403b38c13847c6eeb1f4626f57bc3c128f542dfaa893 AUX gnat-gpl-2017-ustat.patch 1363 BLAKE2B c5b8fb511e84e7df9db96754e5f966d08626c300cdb6de0b124a69e0c9c32158a19669e60bbc649ead0f2ce85c3c6ae8bb5aae11297d164d0c2bce618ea43881 SHA512 4c71913303b8e2bcaeded7303be198b9aa898968da365e6e2a41b555ab144485a55b57ad9949f5c7c07c400fa577795f2b7219006ce553ab6ed3109cca74d67a AUX gnat-gpl-2018-gentoo.patch 634 BLAKE2B 949911111848fd4834de4b3a0d93d6f617b4ae05f9911564a01ab377c5715dfe21ec33c94c5d52815ad2a636809ce01b617cd8a2f132783b084bafc6c4265ead SHA512 f4a541780b6d00af32d38b71ce6a39516aff9c2df15429c40d297ebba03ab148786aa0f1218b90aedb36eb36a9c4a490b52883e3830a5e58bfc5d22987c00ece +AUX gnat-gpl-2019-gentoo.patch 1408 BLAKE2B 5234c542cc33af3c1bcb256fbe266613ec2e9f0b21d143029bf527ee03b4b363b2de7467eb79fadf4c8e8d3f39e589cfa3c0fadee1723e87938c74b8547d5ecf SHA512 2b9f0081d7aae5c71f73ebf43683fde033966288a937769e9b49e21805f31b5f0b4190e31431def58fcc93cd09f9b0e061096cffe61616073612f53d7e3e724b DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 BLAKE2B 681aac3dd2e04110f58637cc9fe1eb663ce55af16a929a446eb59ce338bec9357e65517890f7fa01d61eec9c5041336722b2b94a5fea27a55ade686fe1fe9fbc SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf @@ -24,12 +25,16 @@ DIST gcc-6-gpl-2017-src.tar.gz 88045488 BLAKE2B 5df712eadef723df9057653e49d215ce DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 BLAKE2B e3c298bd80b83e72d6ea9b4ec777d4f28153bf959da1e54307909383efecd2bf0e7e0cc9d9b27529e5f00b2e27132bf5ff6afd2129d061d3b111f9cfe732a874 SHA512 8fc96086bd3da3726687ee9d180d3b5d0a7d5814141d44eac8eb01566a783ec780c8fb8f55f75d6e9c9006b2e407e20cdb5835d541b0b66a47dd60642861734c DIST gcc-6.3.0.tar.bz2 99903185 BLAKE2B 3dc1e965afcad665d659fbb953978ef297ddbdd4d8918d36b35e977f8a2786b986f6875af2f12c599cc827b2b725d8b79ac021c9b51fb1d6d274318a59aa182c SHA512 234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78 DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33 -DIST gcc-7.3.0-patches-1.6.tar.bz2 11313 BLAKE2B cdb823d73a66949cd73f9ebff50cf1cdbb59f04b439a700c239110d36982d70c8acd219402ce8aea26f848d5067856d9aa54470ea683678bbfe9fe08a9f592d1 SHA512 7670deb57e07a83a05f54d962c0faa36d91d8cf43f9f023d3231983e98768d9f90f2a3c9a95f69853086012474fc336bc47fc4af4ab9337b69c89415ce61c1c4 DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345 DIST gcc-7.3.0.tar.xz 62462388 BLAKE2B dc8f132b21bd0543c3d9dd17557038aafe65675aa73c540954234a3c972b4c31c939149bd50183d072ab6c8d16919e19daeaaffd619ce2ccd62dbdf9a5bb3302 SHA512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 +DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221ffd3d1c804367c98a7142b3964e6382ee037da2cfebc9e044640549c77905646727e97ba108445b00f36916a65c326e862230608a7dc SHA512 50933d7eab927a2d118e01c5cb85336203544f6fbc3f245a148e952320d6f8452fcd5d355019a144e8af03357d129bb145397506db0a62fddf1f746b6671e7fc +DIST gcc-8.3.0-patches-1.1.tar.bz2 14430 BLAKE2B c702fbdb18c3c952cdb9adead3a193c948d78a4cb4b041beaa51a06b907fd357bb10a2f8d47d55978ebb08590fd7c9a6ec3df8e7a007173e20a55d251d947c72 SHA512 9e2284f597bab6f78ca24ead358b1f50495aefc9e0a416ace24c94723db7b2fb82d48426876138d00c82bcaf9c2f8b4674885988448dcf16dee1b764face9af4 +DIST gcc-8.3.0.tar.xz 63694700 BLAKE2B 71df2ff5bd6874d57519c2e9af6b22152c8c4d7fab906a5f427b41bc4e8e742127592a8684120d9d3c9ce6241439531850be08ec0a4f29dbfdee95435655fdca SHA512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381 +DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a2e8aa87e61efff47757b587baff67810eb9193fe72b68578bcb130f0c1491599588d130663d908b9c6c9a604b1352aeccb79e9dd3bfef4b9f61 SHA512 c4a048725517e674cc43b7b72e3b1bdb4f1cf9d81fe3b84dd177a2fda8c7af11c3135e883072b640c8aa351625f49573727c859064683e8b5f096fdbd3990c38 +DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2 DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8 @@ -37,6 +42,6 @@ DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a969 DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e EBUILD gnat-gpl-2016-r3.ebuild 5905 BLAKE2B 421c328830738c064bc1fa5654b82eac90f2abf0204b6699f01721de5f1446c3cb988288e73c338aad5ece6616ce067e9e7e1ff15116a472a0946555b4e31ed8 SHA512 62d29d412290e76a491f24330878dc17cbeb92ddda8693f1ce4bd240947d3e0d3361e05b4973f8b91ff4f1fa06f48f63ea6baa89675782b0363d267a2ff4bda8 EBUILD gnat-gpl-2017.ebuild 4976 BLAKE2B d1bbf049cc17f778a3d0260fb2394898085415ca87fa59a5f1c349b4c3b62bb5a049214057ae76c75bae57df9f5ed6bd59fd55bf816a4e6a1683a90964b644e5 SHA512 3dbb26da721729e5c65ba905ddc41e8993feaa928546124a0079118435013555b9afd9422f2029ff6ed84ab613e5587c98b5a58d19a691cfe12c73a46cf130a8 -EBUILD gnat-gpl-2018-r1.ebuild 4999 BLAKE2B 3c9bfaaeab7166d326a87301baee8c151462726fcf61af58dbd9921cbfc5dafa78205c0169e2a54f14a568ce1d958980b2d20113daa65ce10cc7a60328ed0d1b SHA512 4daba04ee89a83dbebb325955dd47c54468fd5a33c56370be432553b47a0fd27df408d62b70af4321bad69b9e51463d4e6cfba7f24480704bf4c6b30d01c971a -EBUILD gnat-gpl-2018-r2.ebuild 5028 BLAKE2B 9bfb2bedb7722c3546d75b98537c99eec45631b5848071756c57e7bb6356ea4af01bd4a26d5d97e3695654a76c109efe660e151e4dc01e01f09bd99cb0b286e6 SHA512 4cb31eeb0346b71d43df23230c69bda628b4ea860e14c08aece33de37af803ee6e7392776eb5c59145d10c57e80adb595e1a81f5f64a9401638fac59559c2578 -MISC metadata.xml 1928 BLAKE2B b1caee350b6656a838a0f83698760edfa7f53d0715a3ce18f443c5bef26827ccf9a858a918a8822b89a2fa70e34cb282ddcd9f0746691a0f10cbda4b368ac1ac SHA512 bd0b8cb4961903f004fb2d5fdd260e6b15936730148d192edf4e59b04c5f1dc991940069edc02b38f859ad1470e16e028c122403043a4f99ba7af753085867fd +EBUILD gnat-gpl-2018-r2.ebuild 5026 BLAKE2B 5a0c28a977f923aae20af0adc2643797e5e12e9960c263271bc09bf7683d9fe0f1848cc4079a831171d5e18e2a4aaf4bc31d1b5e247a84f9771aba327f0303fd SHA512 f626aaf0b5fa3abdd1e25b781e124692b5aa419d888bf59576c9c4d97d02676ee032fbc77296174bfa30d1d391426030fe530d9f713efe92e3ff75c9b67fec82 +EBUILD gnat-gpl-2019.ebuild 4893 BLAKE2B 4063f84d350626777942a4e7551f2c838283815f020ae4e783b2c68310d0df62c3a4c06a7e556a39216e374c1d577560650d4bbfd930e870888d9d43843254bb SHA512 68444095e4f48240314bb556468e16894cb7e6d1105bfb2fd0065b917b4ccf669d09acd25e0ade8ea96ede2e78ac55da9d249bcaab742dfee00b4b8b2f9d840e +MISC metadata.xml 1997 BLAKE2B ae2e0322765ddd545865ce131fe469fd871666d318f0774bea45dddc02319a7508702214a4ffeb0a10cf5be64ee2ce304aba2c559ac59960f9de80abf9d2ff36 SHA512 a7f75583b2337680a28b2d9d4761744c3c30d14de25cf4e3f5b337ffdcea3e255a025e2894d2f1478436f7823b9264f8df6ab2c490ce3a44b028d5c6217be6d6 diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch new file mode 100644 index 000000000000..36befaafc0f8 --- /dev/null +++ b/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch @@ -0,0 +1,42 @@ +--- a/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:40.556754095 +0200 ++++ b/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:00.731426775 +0200 +@@ -42,8 +42,8 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +--#line 18451 "configure" +-+#line 18453 "configure" ++-#line 18497 "configure" +++#line 18499 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -51,8 +51,8 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +--#line 18557 "configure" +-+#line 18559 "configure" ++-#line 18603 "configure" +++#line 18605 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +--- a/gcc-8-2019-20190517-18C94-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 ++++ b/gcc-8-2019-20190517-18C94-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 +@@ -2229,14 +2229,11 @@ + for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop + if Name_Buffer (J .. J + Prog'Length - 1) = Prog then + End_Of_Prefix := J - 1; ++ Start_Of_Suffix := J + Prog'Length; + exit; + end if; + end loop; + +- if End_Of_Prefix > 1 then +- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; +- end if; +- + -- Create the new program name + + return new String' diff --git a/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild index 68a8127b6a55..7dfa7ce108dd 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild @@ -36,7 +36,7 @@ SRC_URI+=" )" LICENSE+=" GPL-2 GPL-3" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+bootstrap" RDEPEND="!sys-devel/gcc:${GCC_CONFIG_VER}" diff --git a/dev-lang/gnat-gpl/gnat-gpl-2018-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild index 997ac8068954..9299976fecff 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2018-r1.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild @@ -1,29 +1,31 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI="6" -PATCH_VER="1.6" +PATCH_VER="1.1" -TOOLCHAIN_GCC_PV=7.3.0 -GCC_CONFIG_VER=7.3.1 +TOOLCHAIN_GCC_PV=8.3.0 +GCC_CONFIG_VER=8.3.1 -inherit eutils toolchain-funcs toolchain +inherit toolchain-funcs toolchain -REL=7 -MYP=gcc-${REL}-gpl-${PV}-src +REL=8 +MYP=gcc-${REL}-${PV}-20190517-18C94-src +GNATDIR=gnat-${PV}-20190517-18C94-src +INTFDIR=gcc-interface-${REL}-${PV}-20190510-18F59-src BTSTRP_X86=gnat-gpl-2014-x86-linux-bin BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin DESCRIPTION="GNAT Ada Compiler - GPL version" HOMEPAGE="http://libre.adacore.com/" SRC_URI+=" - http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa5 - -> ${P}-src.tar.gz - http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa7 + http://mirrors.cdn.adacore.com/art/5cdf865331e87aa2cdf16b49 + -> ${GNATDIR}.tar.gz + http://mirrors.cdn.adacore.com/art/5cdf8a0731e87a8f1d425049 -> ${MYP}.tar.gz - http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa6 - -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz + http://mirrors.cdn.adacore.com/art/5cdf87cc31e87aa2cdf16b50 + -> ${INTFDIR}.tar.gz bootstrap? ( amd64? ( http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c -> @@ -36,7 +38,7 @@ SRC_URI+=" )" LICENSE+=" GPL-2 GPL-3" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" IUSE="+bootstrap" RDEPEND="!sys-devel/gcc:${GCC_CONFIG_VER}" @@ -46,7 +48,6 @@ DEPEND="${RDEPEND} S="${WORKDIR}"/${MYP} PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -FSFGCC=gcc-${TOOLCHAIN_GCC_PV} pkg_setup() { toolchain_pkg_setup @@ -81,9 +82,9 @@ src_unpack() { fi GCC_A_FAKEIT=" - ${P}-src.tar.gz ${MYP}.tar.gz - gcc-interface-${REL}-gpl-${PV}-src.tar.gz" + ${GNATDIR}.tar.gz + ${INTFDIR}.tar.gz" if use bootstrap; then GCC_A_FAKEIT="${GCC_A_FAKEIT} ${BTSTRP}.tar.gz" fi @@ -115,12 +116,11 @@ src_prepare() { ln -s $(which ${GNATLS}) bin/gnatls || die cd .. - mv ${P}-src/src/ada ${MYP}/gcc/ || die - mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die - epatch "${FILESDIR}"/${P}-gentoo.patch - rm patch/91_all_bmi-i386-PR-target-81763.patch || die - rm patch/93_all_copy-constructible-fix.patch || die - rm patch/95*.patch || die + mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die + mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die + eapply "${FILESDIR}"/${P}-gentoo.patch + rm patch/27*.patch || die + rm patch/28*.patch || die cd - sed -i \ -e 's:$(P) ::g' \ @@ -181,9 +181,8 @@ src_install() { } pkg_postinst () { - toolchain_pkg_postinst einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more" - einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}" + einfo "The compiler binary is ${CTARGET}-gcc-${GCC_CONFIG_VER}" einfo "Even if the c/c++ compilers are using almost the same patched" einfo "source as the sys-devel/gcc package its use is not extensively" einfo "tested, and not supported for updating your system, except for ada" diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml index 1e9066797159..f71e77219b25 100644 --- a/dev-lang/gnat-gpl/metadata.xml +++ b/dev-lang/gnat-gpl/metadata.xml @@ -29,6 +29,7 @@ <flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag> <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag> + <flag name="systemtap">enable systemtap static probe points</flag> <flag name="ssp">Build packages with stack smashing protector on by default</flag> <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag> </use> diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 180007086f56..72b12c75f166 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -10,24 +10,8 @@ DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8 DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d DIST go1.11.10.src.tar.gz 21113259 BLAKE2B 2dc704ea092fb4f4bb6c379ecb5104eb9dc5657750fb046810f210f38191d494c926e7a3661f67ea09c3d4090676485ba346daaa6dfe9eebbf3d69acbacea3b8 SHA512 8fab3b96d1c47b8f75b135da9d1a104c485098f6f42041b69336216a57cfd49c0785c8cfa7b016020ded5f0aadd279d7a76feeca33038321a4930139aee28cc8 -DIST go1.11.6.src.tar.gz 21113406 BLAKE2B e7372e9bf6190295176c66a328b3e31f9201776f16f1165136e24bdaf5c514d7895dd5880514fa054ee958ed5ff96814de9a555e47b3f6dddd388d1e57c0d05f SHA512 bc29df69a08a4e9e703de72b5eda5f2d63b78f18f3e7a1173eae5c6dd767f29f1b865a2fc3f692e15277df2d45e74ee17875b275eb3fc50aac2b88082e618bf5 -DIST go1.11.7.src.tar.gz 21113223 BLAKE2B e58a947a43e8dbabbe6d4dc1384239b01160e4d9cc88ed866c8d6e5a0ef66dd89203b9fb95c14c5fcc50ad47f75b17440cf1df34cb793a435d7744e630845307 SHA512 26bc2a3ab51ebe1179cd83897dae6ca17f30126189bf2c0b60060a25f3f22e72bcda383055825a9151948f074a103a177ab5550f5c2d088448bdf5455448061e -DIST go1.11.8.src.tar.gz 21113433 BLAKE2B 272ef36664a180640f14afba18d2f715d5a335134b33cea449d14fd3b568c2322bbbac7aab254987fbd7dcf3d486dc8b1f62f14577ae2e57b21de1720d0f29a7 SHA512 00b57b0ebbbf53f4de718bf40e5dfdaf57cafa9932917d22e9723b5a33a62d335013ab49753d98f8fe30c71daca95c7addd921825fe0c3885942b342773050cc -DIST go1.11.9.src.tar.gz 21113156 BLAKE2B 330ff9456dbffd3254187ea37a1801b9abacbec2033e9afefbf09d0554e640de68861aedb0229199ac81211316c080a7a98bad641a13bc7f106e2a3f0c7e8a05 SHA512 97593b382ae49388dfc1178dd2438888dc24fba27d3267fd772ecbe10c35f44b1cd3a0987219cca3dd38dcc23ce2c9669fd7da26cc2e5719e2ce77650f877156 -DIST go1.12.1.src.tar.gz 21963082 BLAKE2B fd9c0ca19e6bd285c52034a88df1a58f96b957483362fac2e0c0f2a9dddde0543e7569d76fb93eff473774d152db361bfe9bdd354d80412c71ee5c4162010346 SHA512 b3fdfb874e6e0e0b50458085724fbd8e8b9be212df3f777b97db340aa3b80f32ee08d646a57a8a7d52ff6f19657d884dd25018c866c6173473aafa20a58f1975 -DIST go1.12.2.src.tar.gz 21965624 BLAKE2B 9f4fbe62b37ccaf62517b2e5df3e1ada0155b7cb79067c2a74100df6d96ba89b0e372b5f1b1037b0cf98ea9f52623de00055793d011e5e39e92773a0cd87e41d SHA512 f7b8ffe8d3de7b456ba595deece5b092db8645e95d901826c33428af0151731921437222dcb5d52c9d937da4ebeb3192c30aa17052aa88c9e425e96cac2d79bb -DIST go1.12.3.src.tar.gz 21965718 BLAKE2B 226b1028eb47cee8ccc0b72130a098a65211cf0e54030fe626b6b9cf1c16993e0a9677a443c07abd997e0f2bfbc1711c703a40869ae1ecbb8b8dfa0fbf31c0b2 SHA512 bd33e958f2e8550da14afc0576928d00d2b8ecac569ddcf3551e44a342ce78ad3934e36109cbe6c15d31c55448ccc092f6e1fbf82685d6702402ab67106a1424 -DIST go1.12.4.src.tar.gz 21965966 BLAKE2B 6a6d2712769d9195795ca14a7c33a4e025c572317c0a9118f4f610c56f907e0eec99d2ecca37cc6e2005a42b842080d93895d4dfed206f23db32f3b848c9c57f SHA512 45ced5fc23a2786a652dbe66de7bbc039efaba29d884d797d6d0a6eaffb61dfb897905f0733ce74704f8760b1fdedb9963e26c1d9d8dee4a4676e74da5df8792 DIST go1.12.5.src.tar.gz 21971348 BLAKE2B 7de8db4a6c4cd9e1883fbf28357fe99ad9f43f3e015b2063347b1961df128760b720c0dd5549997c7080e6cf0036406430419d4bf033323f26017d3629ad6067 SHA512 ce64105ff71615f9d235cc7c8656b6409fc40cc90d15a28d355fadd9072d2eab842af379dd8bba0f1181715753143e4a07491e0f9e5f8df806327d7c95a34fae -EBUILD go-1.11.10.ebuild 6449 BLAKE2B cf4db759cb9cd1f825344f2255c813045bcc25e15155d64c7765891ed6f674ebe707b4c25301a96f3c1f4c06bdde93ff7e0ed9a9aec384dc8e1fccbc8c0a2b8e SHA512 0cc8cdd9ec1acc54a40b6bb3382c7f7f900790378ba34d073de54d6c4e59126fa21abff090469a5ff7db0921376a2de76c8ce53588c6f89e64a0cb48fd3237e3 -EBUILD go-1.11.6.ebuild 5963 BLAKE2B 11728beb9ff7ab042631ff558e14e3214b62a3eef6f4f7fd6671877904c8e58046ed9e6be6b91d486002e720a9e175ca7339aac599a41f05dd3d587ed69da179 SHA512 6f7dff5a3ed05a56ecb88121cc94d350b8e9cf8535727e83dac06183dfe8242b1a6bb946491e3ee01232aeb942bd65caac95d2920dd11ba09653a04df15c0a23 -EBUILD go-1.11.7.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a -EBUILD go-1.11.8.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a -EBUILD go-1.11.9.ebuild 6449 BLAKE2B cf4db759cb9cd1f825344f2255c813045bcc25e15155d64c7765891ed6f674ebe707b4c25301a96f3c1f4c06bdde93ff7e0ed9a9aec384dc8e1fccbc8c0a2b8e SHA512 0cc8cdd9ec1acc54a40b6bb3382c7f7f900790378ba34d073de54d6c4e59126fa21abff090469a5ff7db0921376a2de76c8ce53588c6f89e64a0cb48fd3237e3 -EBUILD go-1.12.1.ebuild 5963 BLAKE2B 11728beb9ff7ab042631ff558e14e3214b62a3eef6f4f7fd6671877904c8e58046ed9e6be6b91d486002e720a9e175ca7339aac599a41f05dd3d587ed69da179 SHA512 6f7dff5a3ed05a56ecb88121cc94d350b8e9cf8535727e83dac06183dfe8242b1a6bb946491e3ee01232aeb942bd65caac95d2920dd11ba09653a04df15c0a23 -EBUILD go-1.12.2.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a -EBUILD go-1.12.3.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a -EBUILD go-1.12.4.ebuild 6449 BLAKE2B cf4db759cb9cd1f825344f2255c813045bcc25e15155d64c7765891ed6f674ebe707b4c25301a96f3c1f4c06bdde93ff7e0ed9a9aec384dc8e1fccbc8c0a2b8e SHA512 0cc8cdd9ec1acc54a40b6bb3382c7f7f900790378ba34d073de54d6c4e59126fa21abff090469a5ff7db0921376a2de76c8ce53588c6f89e64a0cb48fd3237e3 -EBUILD go-1.12.5.ebuild 6449 BLAKE2B cf4db759cb9cd1f825344f2255c813045bcc25e15155d64c7765891ed6f674ebe707b4c25301a96f3c1f4c06bdde93ff7e0ed9a9aec384dc8e1fccbc8c0a2b8e SHA512 0cc8cdd9ec1acc54a40b6bb3382c7f7f900790378ba34d073de54d6c4e59126fa21abff090469a5ff7db0921376a2de76c8ce53588c6f89e64a0cb48fd3237e3 +EBUILD go-1.11.10.ebuild 6448 BLAKE2B c7196c5172a0aaaaa707b4557caf4bc093241d76b14ffb22980f130c47dfb9abc041afb6bb6a22660d0699464eff630a4c9974aac7756d7e6514f2b22e7cadcb SHA512 aa8993afc41fa784ad67e2e8bab4a3edc5c178eecc66fd2b14285b739235c9eac0b44abee85de004c835df9807be35799fcfc9cde1a92d32bccc75c2e73f8085 +EBUILD go-1.12.5.ebuild 6448 BLAKE2B c7196c5172a0aaaaa707b4557caf4bc093241d76b14ffb22980f130c47dfb9abc041afb6bb6a22660d0699464eff630a4c9974aac7756d7e6514f2b22e7cadcb SHA512 aa8993afc41fa784ad67e2e8bab4a3edc5c178eecc66fd2b14285b739235c9eac0b44abee85de004c835df9807be35799fcfc9cde1a92d32bccc75c2e73f8085 EBUILD go-9999.ebuild 6089 BLAKE2B 38d7288bbc5cfdf11a6648a0386e600a67564424c782d736fbe4880a13ffd5bfb5eed075a5f6355d0dfb338d4429745b5250af56fab64c9ad9f25dde0f4a87e4 SHA512 8b31e38038d3315f3aea7d0d364f661de247f434dc80abb1feebe3e3418b03c47fbf565384417a4316239991cdb2059c4fe542e4d4c43eb4dd251f53e4e81e6f MISC metadata.xml 663 BLAKE2B fc92966e1b4a155b4d442842988d0404c0148b029d187ab7294d49dabad771296d63ca3184128ac27cea4e74e7d6cfc8852084ca8f1d15a1d0755586a0bf68de SHA512 f67b7e312cfb2a896552ae73e835d53ffbb0a7c71c30f0a7cb44c65e2753055e185e7a5c48e2cfff33a42609629cc3c32ee56a9d8f61d8429798c1e8424e36bf diff --git a/dev-lang/go/go-1.11.10.ebuild b/dev-lang/go/go-1.11.10.ebuild index a53df7c09567..b48fe53d64d1 100644 --- a/dev-lang/go/go-1.11.10.ebuild +++ b/dev-lang/go/go-1.11.10.ebuild @@ -37,7 +37,7 @@ case ${PV} in case ${PV} in *_beta*|*_rc*) ;; *) - KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" # The upstream tests fail under portage but pass if the build is # run according to their documentation [1]. # I am restricting the tests on released versions until this is diff --git a/dev-lang/go/go-1.11.6.ebuild b/dev-lang/go/go-1.11.6.ebuild deleted file mode 100644 index 292a2af56193..000000000000 --- a/dev-lang/go/go-1.11.6.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.11.7.ebuild b/dev-lang/go/go-1.11.7.ebuild deleted file mode 100644 index 4cb21b53d193..000000000000 --- a/dev-lang/go/go-1.11.7.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.11.8.ebuild b/dev-lang/go/go-1.11.8.ebuild deleted file mode 100644 index 4cb21b53d193..000000000000 --- a/dev-lang/go/go-1.11.8.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.11.9.ebuild b/dev-lang/go/go-1.11.9.ebuild deleted file mode 100644 index a53df7c09567..000000000000 --- a/dev-lang/go/go-1.11.9.ebuild +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo or a previously installed version of dev-lang/go is not being -# used to build Go, there is no way to know the architecture or operating system -# of the build machine, so we need to download all of our bootstrap -# archives to allow this ebuild to work under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo system-bootstrap" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi - [[ ${MERGE_TYPE} != binary ]] && - use system-bootstrap && ! has_version "dev-lang/go" && - die "dev-lang/go must be installed to use the system-bootstrap use flag" -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - else - unpack "go${MY_PV}.src.tar.gz" - fi - use gccgo || use system-bootstrap || - unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz" -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - elif use system-bootstrap; then - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.12.1.ebuild b/dev-lang/go/go-1.12.1.ebuild deleted file mode 100644 index 292a2af56193..000000000000 --- a/dev-lang/go/go-1.12.1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.12.2.ebuild b/dev-lang/go/go-1.12.2.ebuild deleted file mode 100644 index 4cb21b53d193..000000000000 --- a/dev-lang/go/go-1.12.2.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.12.3.ebuild b/dev-lang/go/go-1.12.3.ebuild deleted file mode 100644 index 4cb21b53d193..000000000000 --- a/dev-lang/go/go-1.12.3.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo is not being used to build Go, there is no way to know the -# architecture or operating system of the build machine, so we need to -# download all of our bootstrap archives to allow this ebuild to work -# under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.12.4.ebuild b/dev-lang/go/go-1.12.4.ebuild deleted file mode 100644 index a53df7c09567..000000000000 --- a/dev-lang/go/go-1.12.4.ebuild +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_URI=" - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac - -# If gccgo or a previously installed version of dev-lang/go is not being -# used to build Go, there is no way to know the architecture or operating system -# of the build machine, so we need to download all of our bootstrap -# archives to allow this ebuild to work under crossdev. -# -# https://bugs.gentoo.org/671394 -SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo system-bootstrap" - -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi - [[ ${MERGE_TYPE} != binary ]] && - use system-bootstrap && ! has_version "dev-lang/go" && - die "dev-lang/go must be installed to use the system-bootstrap use flag" -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - else - unpack "go${MY_PV}.src.tar.gz" - fi - use gccgo || use system-bootstrap || - unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz" -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - elif use system-bootstrap; then - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.12.5.ebuild b/dev-lang/go/go-1.12.5.ebuild index a53df7c09567..b48fe53d64d1 100644 --- a/dev-lang/go/go-1.12.5.ebuild +++ b/dev-lang/go/go-1.12.5.ebuild @@ -37,7 +37,7 @@ case ${PV} in case ${PV} in *_beta*|*_rc*) ;; *) - KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris" # The upstream tests fail under portage but pass if the build is # run according to their documentation [1]. # I am restricting the tests on released versions until this is diff --git a/dev-lang/jsonnet/Manifest b/dev-lang/jsonnet/Manifest index 1d75a9176c7c..bf7667cd7e53 100644 --- a/dev-lang/jsonnet/Manifest +++ b/dev-lang/jsonnet/Manifest @@ -1,5 +1,5 @@ AUX jsonnet-0.12.1-dont-call-make-from-setuppy.patch 387 BLAKE2B 8c0223b10cf1b61707b10361cfb96a01f492d234b3318554628dfc51a49728022db2f6573cf78d66a38cae0f59e2054e985e189268254563c0bf9e6854b3c129 SHA512 287a17a6b3aaf8c9a971874ff2a507c8d301caf84d243bd1d063d58e21e93bbecc2b417767e0d56d87f300cef9811f7aec0caa8616292950b11eb3103f7bebbb AUX jsonnet-0.12.1-makefile.patch 1609 BLAKE2B a896703a118b194ed97a3c487e8e8a3d6ae1ae0f3989183cac0540b4ad09aeb5a4f2508b8a6f455f7eb077e4378cedaee5538e22f05a07844ea998f39825d93b SHA512 4f92e11f42ed90dcac5e55f12e50e6ffba305d3d691da79282d72059f18223aabb38d9f1420ce586de5e16e735b85174fb49b2ee48739864c47c292690030127 DIST jsonnet-0.12.1.tar.gz 21839349 BLAKE2B 8601a35263003723b435d0075fe60f5301a49bddf63cdd55958df3eb7474569c28dbf54e0ba9d07fb6ade395af725193d1432b2c43fb2b271531af179e850df4 SHA512 25523dd19b4209a5ca39275ab3d3726b934442dd83a965ab0b79f0c67bd8ae85c438b2a63990b8eec921b137f908f946696be331b08cef92f15b6b8fa548cb0d -EBUILD jsonnet-0.12.1.ebuild 1183 BLAKE2B 3045b49d0a2ad935379094183a81f7816702013d9a1ba58075d8a1a446db86812a96c5ecc64f125cb034c3903fb0950af85f8414782d8f004212420ad791b5da SHA512 7808e39dff7f80eedfdfb780ce334a026b69b662e8b994009c65a07870fd5822b4842ecfa3e1f10dc8c6ba3f7ad4d8c33679800902951e1d54c3e92f7aa55881 +EBUILD jsonnet-0.12.1.ebuild 1184 BLAKE2B 2e9d3004f0bd47aa490a89730cde004eef708c5fee45d9508a436d2690166e5b4551842b41296fc3f14c987dc4a6ecccb79a2656a649498a5ea6cf4f8dbd8419 SHA512 9d2a5eb1cefdae88af4ecbdf40f3316958e92b3d53727e87d38661f8610765bf5f44cb41cfb081e80a5eabb8aa730c49db66529785deda9dd265c43106844b2c MISC metadata.xml 453 BLAKE2B 826e11d7714e4630a4d23ba46313ef7412af5815b39b60db8c4161d71ded81e023d8c605c1cc86ef0622dd3e2d97ca6b276ae1ba146458cfd20d5c4a80caf3bc SHA512 d621bb14cfd5106fb4e5f88d20dc84aab11c078348b4b605a0a3019b8fa09b55e011062a47fac55e3c8e5383770ca696807b4c97c1ae372b8b909c4bf25af024 diff --git a/dev-lang/jsonnet/jsonnet-0.12.1.ebuild b/dev-lang/jsonnet/jsonnet-0.12.1.ebuild index e021db68f24d..ba69cbeb09ac 100644 --- a/dev-lang/jsonnet/jsonnet-0.12.1.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.12.1.ebuild @@ -9,7 +9,7 @@ PYTHON_COMPAT=( python3_6 python3_7 ) inherit toolchain-funcs distutils-r1 DESCRIPTION="A data templating language for app and tool developers " -HOMEPAGE="http://jsonnet.org/" +HOMEPAGE="https://jsonnet.org/" SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="python" diff --git a/dev-lang/julia-bin/Manifest b/dev-lang/julia-bin/Manifest index eb35fa1374ac..510bd632ba71 100644 --- a/dev-lang/julia-bin/Manifest +++ b/dev-lang/julia-bin/Manifest @@ -1,11 +1,9 @@ -DIST julia-1.0.3-freebsd-x86_64.tar.gz 79521844 BLAKE2B b635bd6d5bca4800433956c5be6151d34165c9780a55fa491298cfb1da97ec99e6108a44b0fb5fe79f48cc4342344bc480a3afe44c0abea7367670978fd10794 SHA512 36037443b53f1412841d6a56fc8fcc6b979bcc35b2f2de29984bd386d89f64daaf7d18512f8ac04dbadc531bdbc1a8966c1701008878792a10608cccb9b59635 -DIST julia-1.0.3-linux-aarch64.tar.gz 72764975 BLAKE2B 148a434f0867bfb55be7417f85e539e6bb48c6a91d24951e983986091b3d418688202c7f2e6169c1f4b85328e3066d6418e8ec50093a590c26294a72f92a93d9 SHA512 a6a143c3709646ae30e9ca66a714b4226340f6de8cdd18e2b2d0f4ae612fec5136097f69b40554c4a39486a6c1222fba192a3bd304d195263e92152c20df0714 -DIST julia-1.0.3-linux-armv7l.tar.gz 78956998 BLAKE2B 53ccdf59a5d9e898dc9310411e1d127b2acf8da89e8d539409a3c0e9df0eb804dff83116a4627e7883752f462834ad7a88973b787cb0f9360eb652f4f86414d4 SHA512 1e0145c2ca58eac5f5a1b92e5f7a72b04b468acb073e92635a6d3e7921431da1aa5ad01ef07d5df2bbe7637870a7e9986faca4f1d9fc815cf880ec85b1be630b -DIST julia-1.0.3-linux-i686.tar.gz 84731342 BLAKE2B 455c88880eb57c5fecb38393664b922478f2e289024004e184eca8adee1093a64e88f1d281bcdbbdde1f29827ccc81b394487a4aa9761dd4922e0c774db5ebac SHA512 166c563f41750cc21329791bf55ba52a12a10dcdd54aea6d8d67e763eba6237042cde03fdac404684b7952602212dac66262dba4703eba9921b86813b76110a3 -DIST julia-1.0.3-linux-x86_64.tar.gz 88732284 BLAKE2B 616f483804394ae17e1845835b2a49f862c9c9144f4deee38696b56e3d5d26ceee41503c6b1fc9c9fedfa5275bc36c2ddb67e31faee9312a10e04a7c563c9898 SHA512 925b16dadb9c6be1d074b929be74815d38451efcdcadf94748edfe572b8f91c0bec72c4c8440673bf3c75987bc14970e6f4cb9799f0386b0e30fe4628e2cdeb3 DIST julia-1.1.0-freebsd-x86_64.tar.gz 80298415 BLAKE2B ec07fd0ee0504b744891b102ee936aac0550656cea96d2b342f39382a3df899a9fb3c6426ee18ff6febfe935ac595d6c66018a7e05f0bc091da3f5e166ee45fd SHA512 75460446a6278e56cf75e056ddcbd71715bc35b762d88199ef4065e29b101756ea386c979962b6243df549508b6618364203f48293012ce0b147987b94f0663c DIST julia-1.1.0-linux-i686.tar.gz 85843858 BLAKE2B 574001002297a94b8a26fe772c11312fe8fdc6bf09ddb969f291f604288f941a151f356d9f22f2a953822a290a49977e8fb76cc4d74c819e0572fcce8ae218b2 SHA512 e2465e20024f98e1b64ba5c799b1825c24f88c4a9b6e8b07b9214722389bf9dd8a59a2b624fde75439dbcdeb437743903da7c86e721e75bc69b0d7a5ed8457e4 DIST julia-1.1.0-linux-x86_64.tar.gz 89632491 BLAKE2B 11987a54e87e167747ba2bc87d359981084fb1c91eab32e7498ee554b485c75fdc85e126c4d706fdf2e203bfbf143fba85e2f4e4bed81aeedbafbd2f099741c1 SHA512 bc47fe1ba304b6f083ba858c0d0318f684a19902b4c4937901d97f1a19ba19d60a6145a143ef742159fe6b40810ac39978d7574bdc29446da38c61d26ff8ef33 -EBUILD julia-bin-1.0.3.ebuild 1270 BLAKE2B 7f276ab4dfbc78529e9147061401143c3a326717538642e6862d080d3c81e11f4b1ac7e7ab5af6d5284b1faf922df24c8d2920a3823fe435a5420efc7f634f17 SHA512 c578f0a3609d42ad8c55496295506cd7151a7651ec8361f848d83618f8b109a47490b7ea226c803d8184abd8d42ae55fab80ff2dd3a06b515c11fc2043391461 -EBUILD julia-bin-1.1.0.ebuild 1013 BLAKE2B 52b5ba96a5e38123b7fd0d032155964534ddc726b170cbeaed4bd0e7f562a1b8159edc897653c417bebdd65366c33430518cf2a0b259155752296954a953e436 SHA512 c2e8cb6399466500942cc2963f9ca4e27f01df6215ea715140e24db41a27facafb186bab2be0cebf09c33bb1703d8493b3b6bc776091a2950577b44d0d0f32a4 +DIST julia-1.1.1-freebsd-x86_64.tar.gz 80831400 BLAKE2B a9c542609323ed295b74ac6caab5bf9bf0f007958212b2100329b5b1925fc14c4af80df9cc292e20b418a76373dbbd543f1c9a212a5389a6ccf0836b21cca287 SHA512 22c4e1cf90fb098c109db3e1b1179d9fc7b136e7b646b94e7b2d241881c4a94bf1ccd0fcc807fd3100aa55451b36c816e93a4eff66bdd33bc1be131ade88577f +DIST julia-1.1.1-linux-i686.tar.gz 85968698 BLAKE2B d92311e80208ce12004317a01fbbbfe6f2edd65ecb805d7102786cf83448c594f46fcb9a2b6de6e82f7b056c4c8c904a4f61ee787bb8e95b3c0373b1cf075b7d SHA512 3cba94e3d94c4f6206d17b8314e1fe441a32084183ec5a7496b4b78a1b3bc4c8d03f0a37937870a09bd020900a56707b9e10329ec86fa2225948baf7fbad26e5 +DIST julia-1.1.1-linux-x86_64.tar.gz 89727957 BLAKE2B a1176ab1fdebfeb212520e9d47fd438f16f1edf247cf22a6f56264ce73f234568453cb6040be7c1f3cdfc4ce34e0d8ea4d3b1e147d143b3076f6d9019d496653 SHA512 b3fdc71379c81399a1f77395287ed833fd23edb5eb9bab3e3dc68381b6d79641e0bd93fa0dedadb551f1761fee3efabcc7f426d0505aba751ae5fd147e0b7bf4 +EBUILD julia-bin-1.1.0.ebuild 1031 BLAKE2B 9946d972fde4352c57f2f371de4b68b71bdbcfd7ae636f35b9259c58eeb98aa993b3d1c4e212f36477c9b8bc60308e71c47f3d1f02b06cbf8f046811fa740261 SHA512 1875d4e1010b50cd2d746d8c11fb10064167dd855baaa20dca84011865cd52ce4e1c3bd0bb8c767ee676275045f2cc4551a4896e3e2e6028edfb71cd0cba11da +EBUILD julia-bin-1.1.1.ebuild 1031 BLAKE2B 9946d972fde4352c57f2f371de4b68b71bdbcfd7ae636f35b9259c58eeb98aa993b3d1c4e212f36477c9b8bc60308e71c47f3d1f02b06cbf8f046811fa740261 SHA512 1875d4e1010b50cd2d746d8c11fb10064167dd855baaa20dca84011865cd52ce4e1c3bd0bb8c767ee676275045f2cc4551a4896e3e2e6028edfb71cd0cba11da MISC metadata.xml 1269 BLAKE2B c7ca56d7660c41df452725bae9526d587d79754a3e7b0cb0584bacc588b63523e4fbae113b26f48290d874bc49fac1eb2ecfc97946e516212cc511346f876e26 SHA512 8e0325b241bc76162b843b64e2fdac98873cba21e8e39d2ddd439647466d94e163fe315eeeae78435398db17635d3447ec9c713bf53d894487ac6acb67c5afdf diff --git a/dev-lang/julia-bin/julia-bin-1.1.0.ebuild b/dev-lang/julia-bin/julia-bin-1.1.0.ebuild index 89f0a6273154..67d0217f741a 100644 --- a/dev-lang/julia-bin/julia-bin-1.1.0.ebuild +++ b/dev-lang/julia-bin/julia-bin-1.1.0.ebuild @@ -21,6 +21,8 @@ IUSE="elibc_glibc elibc_FreeBSD" RDEPEND="!dev-lang/julia" DEPEND="${RDEPEND}" +RESTRICT="strip" + S="${WORKDIR}/${MY_P}" src_install() { diff --git a/dev-lang/julia-bin/julia-bin-1.0.3.ebuild b/dev-lang/julia-bin/julia-bin-1.1.1.ebuild index efee49f0bbee..67d0217f741a 100644 --- a/dev-lang/julia-bin/julia-bin-1.0.3.ebuild +++ b/dev-lang/julia-bin/julia-bin-1.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,21 +8,21 @@ MY_P=${MY_PN}-${PV} DESCRIPTION="High-performance programming language for technical computing" HOMEPAGE="https://julialang.org/" SRC_URI=" - x86? ( https://julialang-s3.julialang.org/bin/linux/x86/1.0/${MY_P}-linux-i686.tar.gz ) - amd64? ( https://julialang-s3.julialang.org/bin/linux/x64/1.0/${MY_P}-linux-x86_64.tar.gz ) - arm? ( https://julialang-s3.julialang.org/bin/linux/armv7l/1.0/${MY_P}-linux-armv7l.tar.gz ) - arm64? ( https://julialang-s3.julialang.org/bin/linux/aarch64/1.0/${MY_P}-linux-aarch64.tar.gz ) - amd64-fbsd? ( https://julialang-s3.julialang.org/bin/freebsd/x64/1.0/${MY_P}-freebsd-x86_64.tar.gz ) + x86? ( https://julialang-s3.julialang.org/bin/linux/x86/1.1/${MY_P}-linux-i686.tar.gz ) + amd64? ( https://julialang-s3.julialang.org/bin/linux/x64/1.1/${MY_P}-linux-x86_64.tar.gz ) + amd64-fbsd? ( https://julialang-s3.julialang.org/bin/freebsd/x64/1.1/${MY_P}-freebsd-x86_64.tar.gz ) " LICENSE="MIT" SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd" IUSE="elibc_glibc elibc_FreeBSD" RDEPEND="!dev-lang/julia" DEPEND="${RDEPEND}" +RESTRICT="strip" + S="${WORKDIR}/${MY_P}" src_install() { @@ -31,13 +31,12 @@ src_install() { doins -r ./include doins -r ./lib doins -r ./share - dosym "../$(get_libdir)/${MY_P}/bin/julia" "${EPREFIX}/usr/bin/julia" exeinto "/usr/$(get_libdir)/${MY_P}/bin" doexe bin/julia cat > 99julia-bin <<-EOF - LDPATH=${EROOT%/}/opt/${MY_P} + PATH="${EROOT%/}/usr/$(get_libdir)/${MY_P}/bin" EOF doenvd 99julia-bin } diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest index ca343d1f0162..52649b1e2eea 100644 --- a/dev-lang/julia/Manifest +++ b/dev-lang/julia/Manifest @@ -2,11 +2,13 @@ AUX julia-1.1.0-fix_build_system.patch 1651 BLAKE2B 62123d16fe25bd6d77ac7af05297 AUX julia-1.1.0-fix_llvm_install.patch 680 BLAKE2B ca0d95c503b8f6e76722d54147f7a64cda5781cefc6e05ed7cfc631b356c3131d43ce6703da6c61b791da08836d9a6b5b494556c2a0ecba8960f8a9395b2d66a SHA512 4d474c1ab1d74aeb98367d55ec557e22e43a3e3d35615b7cde20fb9a194b94f24237735ad431800ded6e120beae9d2d3706b778ea7f26409790e3649ba39117b AUX julia-9999-fix_build_system.patch 3345 BLAKE2B 0a8eeaa3590beb0215c9f696a7dd1d6c614238dbf12f72cd2ccc81a36bfc3bdaae22afe45d95b1868bd211a67c3c483889dfa2feae86816054101c0a6865394f SHA512 edc7fdd6f6844a359368e2356dafabe951304a7b3f144d4a5181003de8f3f2eefc9b8882db6dcd65c049226a2505446d900eda3056e3c6bbe45fbaea3bd3a647 DIST julia-1.1.0.tar.gz 7681396 BLAKE2B 2038901132bab1ae5ea634e15de2e18771e250c77e967228858f078a6e44e3f1900c1ea464b5db762842f65c4ad8590b70ba6b0b267bf955e86fa7f16a812696 SHA512 da546430df5a9207926faa3fe7b1d2c193a1223a379ce1ff25219c6f4f2d650497d1b0e9091f1cd542fa19bfcf7bf1ee74a52f7d45a06fd8ab4441a5ac4d4a46 +DIST julia-1.1.1.tar.gz 7691742 BLAKE2B e41a62ee170c1b8f38a64c762998c12c04d00568e9261f6fea984fb10950da45143a19be723c271901bd3d96cf69f8d97c7a9737724b9d571b841143b3c8a3b5 SHA512 16dfb0b0f6e6f3f28432b71f78a3a584db939ea0e82afaad43e2e8145206aedb5355ad6fcec67223ccf59e9b04c89d49573e27b5746b879a6cb5d07043701463 DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e SHA512 6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662 DIST julia-libuv-2348256acf5759a544e5ca7935f638d2bc091d60.tar.gz 1555710 BLAKE2B 31ce57d23765c142799dd985a5511751d63238cf7e082fd1ad5574bf62201e9d6cb53b8da5dcc724765ccb4abd63da3ca6d6cbd45e078310c2ffa3859d09b8e4 SHA512 c8bf3c736a60feb0c6994aa7cd1b80e1a45bd6096aa66db320ddfc27b59a0797d303338ea75978619173e4f0a680254f3db29c9f6d1b84361030cc11c7729c98 DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3 DIST julia-llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9 DIST julia-utf8proc-97ef668b312b96382714dbb8eaac4affce0816e6.tar.gz 156361 BLAKE2B e5e1485b758e959ed78f7fde8b211376da2365e5835708042de57c091b10b59755e1203a9f88c0d761687bf3d166207410de6ec203d80fef4dbdf06a50404cd1 SHA512 1c80dc6e71fdad187b142d02e561dfe1880857baaec08d36240ecb2f275d1bc5467aace84eebe5a10fd3f4c40b0035e65a5db3ec2a9ee6940920b0aad6221c55 EBUILD julia-1.1.0.ebuild 5311 BLAKE2B bb91bb9f04f2219968c7b7c03519cd37c8a4cb463291462ac643858df768dde1a3de55c7734fb04b05363ac9543a55bb7cdcfe4a67f4b470436c9126f55924f0 SHA512 f44bf3ff372223a677c26ebdefe57925ce5cf560454473cae9d31ee55f25a1008011e00b2d42d77279a9386a3d0eb511783968703505f8f693b5a052dbc2700b +EBUILD julia-1.1.1.ebuild 5311 BLAKE2B f9838644a59e48f6ec7a262fc7bc6a97b23036984dcb3f86be2f992b1fc8e5d4e1f4894075b512d0a4e5e5d2f5a0d4e0428389c58fddb59675bbd362d8deb0e2 SHA512 24ad8efb5511d456a22aa20fff0d5d0e87a7911f0b24daf7514fb758aa3bb3e67dde0c026a7620c63f3290d95b357cf4f5cace604bdf7e1bfcf09d692739fa25 EBUILD julia-9999.ebuild 4089 BLAKE2B b38fb0ae040da02961650abdaf40ec17632899cd63aeee83f0b1bb67a760d68ea80a251e29baf594b15b944017ae894db607a4179ef025fb18fb5fbaecae53c3 SHA512 dfb930b357f61479cb28d4d1c5f08fe264ac8ebcd4cd41a0da4c947209b6318cad25bf011e45ea1db3575dcf667f694119a8b40f7ad181914309cd0b93467729 MISC metadata.xml 1291 BLAKE2B 98782d71b9f74e628e4e6dc5264b7bcddfb61f4ce42c4e3baa0a2ec0cc6e2ef6368d1c2b1d755972b214823533c3935b4558c79bd920072649d9072b985efcd4 SHA512 0bbe350eef4d0daaa4a971b843b4359d2513dea5e2dc9e8a3b6241ff403c043f605634615c39a3fdb2a4d090851a19d6b20ebd5c7b3886f009ade3b5c16dfaaf diff --git a/dev-lang/julia/julia-1.1.1.ebuild b/dev-lang/julia/julia-1.1.1.ebuild new file mode 100644 index 000000000000..96611cec9c27 --- /dev/null +++ b/dev-lang/julia/julia-1.1.1.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +RESTRICT="test" + +inherit pax-utils toolchain-funcs + +MY_PV="${PV//_rc/-rc}" +MY_LIBUV_V="2348256acf5759a544e5ca7935f638d2bc091d60" +MY_UTF8PROC_V="97ef668b312b96382714dbb8eaac4affce0816e6" +MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e" +MY_DSFMT_V="2.2.3" +MY_LLVM="6.0.1" + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="https://julialang.org/" +SRC_URI=" + https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz + https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz + https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> ${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz + https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz + http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${MY_DSFMT_V}.tar.gz -> ${PN}-dsfmt-${MY_DSFMT_V}.tar.gz + http://releases.llvm.org/${MY_LLVM}/llvm-${MY_LLVM}.src.tar.xz -> ${PN}-llvm-${MY_LLVM}.src.tar.xz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND+=" + dev-libs/double-conversion:0= + dev-libs/gmp:0= + dev-libs/libgit2:0= + >=dev-libs/libpcre2-10.23:0=[jit] + dev-libs/mpfr:0= + dev-libs/openspecfun + 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/glpk:0= + >=sys-libs/libunwind-1.1:7= + sys-libs/readline:0= + sys-libs/zlib:0= + >=virtual/blas-3.6 + virtual/lapack" + +DEPEND="${RDEPEND} + dev-vcs/git + dev-util/patchelf + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.0-fix_build_system.patch + "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch +) + +S="${WORKDIR}/${PN}-${MY_PV}" + +src_unpack() { + tounpack=(${A}) + # the main source tree, followed by deps + unpack "${A/%\ */}" + + 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 + # - fix BLAS and LAPACK link interface + + sed -i \ + -e 's|git submodule|${EPREFIX}/bin/true|g' \ + -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ + -e "s|/usr/include|${EPREFIX%/}/usr/include|g" \ + deps/Makefile || die + + local libblas="$($(tc-getPKG_CONFIG) --libs-only-l blas)" + libblas="${libblas%% *}" + libblas="lib${libblas#-l}" + local liblapack="$($(tc-getPKG_CONFIG) --libs-only-l lapack)" + liblapack="${liblapack%% *}" + liblapack="lib${liblapack#-l}" + + sed -i \ + -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ + -e "s|GENTOOLIBDIR|$(get_libdir)|" \ + -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \ + -e "s|-lblas|$($(tc-getPKG_CONFIG) --libs blas)|" \ + -e "s|= libblas|= ${libblas}|" \ + -e "s|-llapack|$($(tc-getPKG_CONFIG) --libs lapack)|" \ + -e "s|= liblapack|= ${liblapack}|" \ + Make.inc || die + + sed -i \ + -e "s|,lib)|,$(get_libdir))|g" \ + -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ + Makefile || 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() { + # julia does not play well with the system versions of dsfmt, libuv, + # and utf8proc + + # USE_SYSTEM_LIBM=0 implies using external openlibm + cat <<-EOF > Make.user + USE_SYSTEM_ARPACK:=1 + USE_SYSTEM_BLAS:=1 + USE_SYSTEM_DSFMT:=0 + USE_SYSTEM_GMP:=1 + USE_SYSTEM_GRISU:=1 + USE_SYSTEM_LAPACK:=1 + USE_SYSTEM_LIBGIT2:=1 + USE_SYSTEM_LIBM:=0 + USE_SYSTEM_LIBUNWIND:=1 + USE_SYSTEM_LIBUV:=0 + USE_SYSTEM_LLVM:=0 + USE_SYSTEM_MPFR:=1 + USE_SYSTEM_OPENLIBM:=1 + USE_SYSTEM_OPENSPECFUN:=1 + USE_SYSTEM_PATCHELF:=1 + USE_SYSTEM_PCRE:=1 + USE_SYSTEM_READLINE:=1 + USE_SYSTEM_RMATH:=0 + USE_SYSTEM_SUITESPARSE:=1 + USE_SYSTEM_UTF8PROC:=0 + USE_SYSTEM_ZLIB=1 + VERBOSE=1 + libdir="${EROOT}/usr/$(get_libdir)" + EOF + +} + +src_compile() { + + # Julia accesses /proc/self/mem on Linux + addpredict /proc/self/mem + + emake cleanall + emake julia-release \ + prefix="${EPREFIX}/usr" DESTDIR="${D}" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" + pax-mark m $(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}') + emake +} + +src_test() { + emake test +} + +src_install() { + # Julia is special. It tries to find a valid git repository (that would + # normally be cloned during compilation/installation). Just make it + # happy... + git init && \ + git config --local user.email "whatyoudoing@example.com" && \ + git config --local user.name "Whyyyyyy" && \ + git commit -a --allow-empty -m "initial" || die "git failed" + + emake install \ + prefix="${EPREFIX}/usr" DESTDIR="${D}" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" + cat > 99julia <<-EOF + LDPATH=${EROOT%/}/usr/$(get_libdir)/julia + EOF + doenvd 99julia + + 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 +} diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest index 01e8c10e2f84..80a1673dbfe3 100644 --- a/dev-lang/mujs/Manifest +++ b/dev-lang/mujs/Manifest @@ -1,4 +1,4 @@ AUX mujs-1.0.5-flags.patch 839 BLAKE2B 843d1bf60167dfb91a5736ee936098c8f6b716f7a70118512d102adb3dc00223d5a3f1fb8da3a57b89797d5b26ebf8120cc1ef2013162aeff288be07cb99d99f SHA512 35681b868e129edffe27e41b793ef073b9ebeb5842212116f9740257515a3fb0d2f00d828a72d96b630c7632184ff9340325a5d79503e5a4c5a52892bd26f4bd DIST mujs-1.0.5.tar.gz 119353 BLAKE2B 48f1b598e50d5804b0d64230cdd6b4d3f719187ea0906f45c9f45baee2c8df59c6fd09dc25afc9e1ce4e20a9866d158d16a4632bec552fddd8fac70b20e2363f SHA512 c1c59b5e80e0e5f580f30dfc0b4707b6a1e44a73c746b9783bb24d91429ddf8ed670a7663478300cc568cfc15a511720b6d18be2ade40a3a66fc7ab8f3933c2d -EBUILD mujs-1.0.5.ebuild 1168 BLAKE2B 2c1b76e41c4bcf7be1223b93621fbb79924c893e5c227df50c07dd033f663b0a3869aa730ab48e11fd556a01e788c8db360af2ecf4f0e4fcd2c8f3d0c06455dc SHA512 a3e75c4aff2bbb8d26ba00573d1333e9be50bd9e3ad022861669b635e0be23348c1e42e48c5cd71d5f505188e65f2251f094d8fe8fb69c571b97cb01588072bb +EBUILD mujs-1.0.5.ebuild 1160 BLAKE2B a627061835dad0972519ba6cef5bc08885fed4d263176f916564453abd092d91c79a9750eca6d73bb2a916be96a59b1c948db7daef1760dc18fdf9a324b1171c SHA512 ce54021cfd9c6c9a469082bef45fcf4e977f20dc939be818ff388e265b94621cd4c31b83994d29221d2a39eeb58cb4661ff2dcba2a849dd480a57b8e1f11a962 MISC metadata.xml 555 BLAKE2B ea6b447ad19ed256c8a8f4b81b51ad3b336824ea357e746bd9194d7a30dadceae89ec00630e7dc5fe15435fb6f85da65e4d3a22363f5ab40365afd157b2e9302 SHA512 cb5e725aad6542f1d1c569fb82a79973d1e528f3c43251e3f60a8cb2af229747cc6c7ead5fa8b39e46a50498251a704453c90b9863641008b01317b1d8b89bc7 diff --git a/dev-lang/mujs/mujs-1.0.5.ebuild b/dev-lang/mujs/mujs-1.0.5.ebuild index 44e1a3160d87..31ff801dd68f 100644 --- a/dev-lang/mujs/mujs-1.0.5.ebuild +++ b/dev-lang/mujs/mujs-1.0.5.ebuild @@ -3,11 +3,11 @@ EAPI=7 -inherit flag-o-matic multilib toolchain-funcs +inherit flag-o-matic toolchain-funcs DESCRIPTION="An embeddable Javascript interpreter in C." HOMEPAGE=" - http://mujs.com/ + https://mujs.com/ https://github.com/ccxvii/mujs/ " SRC_URI="https://github.com/ccxvii/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 5458ecbe66d6..61fc5cdad77c 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -11,8 +11,8 @@ DIST perl-5.28.0-patches-1.tar.xz 17128 BLAKE2B f16843d9ecf27fa7d42dd59e1591d618 DIST perl-5.28.0.tar.xz 12410536 BLAKE2B 620cca33c6d354b8b200bfff43dd155e6f89b9fe318f530d38c853a2b66fe67cc8410b6e5ab2a793d7ef578f2295a6fc4872483f81b5439d8573d75c5239fcfb SHA512 de701e37371b81cecf06098bb2c09017bde9cebaf9537d58838d0adf605ac2ecf739897b0a73576a7adb74d4cf65591ec4d2ed1f94b7191e695f88cb7e214a39 DIST perl-5.28.2-patches-4.tar.xz 26268 BLAKE2B b32485a4ee0c23ab197641279915d1d2ff0b5fb46dad4e65b0c93a9b38025c5b4fdae2907b3f6aa5e1b6b5f80b5391b149613a0d3759519330c16f9b0e1dff91 SHA512 0c560ed52dcce2e9332192fead7bf0da416e5241616c2ee889cb9ca6fc3a133edb75e63e6e1217b8790c77611b92f57979491b4ffb02364c3f8361745f59c225 DIST perl-5.28.2.tar.xz 12374448 BLAKE2B 82a49fcf3c29ff7241fae7ffaa1bf9f99d8cbfa6d00d5fd9ff7c3c23a461287322e12acba318c8de8507092e33b05549142bc5194bdb4b516994c9cdc0cb3f92 SHA512 0f2e4f7cb5d8cf6e00054b3842907e29b6c85902d97fb881d5bea65edbc875fef4e15e064561fac7c8db4939586576dd76a225026c7cca9624261c887b1fdb08 -DIST perl-5.30.0-RC2.tar.xz 12404196 BLAKE2B c75c9a0c00718e11e00171f8796a9c039bc639e21f755d6c23b396f08e3ec826226ddb7b2a78f73645774c798d564dc65b8800d841178ec072a1d256d94ef1c5 SHA512 5f11ad9951fa1a94553f71eef560007f700b8b4a6d5067896582c7abfe7afc406f504c26e67ce0da222ed7b240f7368537ceb6006dc6e3c7483c64280ec2679b DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4 +DIST perl-5.30.0.tar.xz 12419868 BLAKE2B dbf64d4cb1995475ca5a84e487ecc81a422f835180fe96d88b5095e9bc6eff62863b0789d98f0f3d1265c8683b812839bff1622cfb90470f02a1863b0f827c7e SHA512 68a295eccd64debd9d6a10f0d5577f872a19ad8c2d702798f6b0f45b8c3af6ab3230768056e2131e9e2e2506d1035b27cfd627c845e32263fe448649c4b98ae9 DIST perl-cross-1.1.7.tar.gz 97622 BLAKE2B c58dd51492cfbda6fc58b43d9de45c35dd5ed5768ca8db61b5ac092ad6c0067386597875d6613c75671f026387ba474ce8c28789d6d77b9dcfc4cf4bf7227126 SHA512 b64d487129b295ec6d996606b8b8559de681e1cf7c3e3167d6d646d5d7a848d7929b1ab698d1f950e265213749772fc74d209cea5020b61e133c8f8851b7cfa0 DIST perl-cross-1.1.9.tar.gz 102939 BLAKE2B 438ea75a14c4d60fdf3cb2f3671c736d229a83af210ba4fe6e79b989c6c4b45500d0221ec65bc71e1d43d234ec1daa20b3a19be6ceb01e638810900dbe3664a7 SHA512 002441012bd31f1ea71341707d91f89b76266c187c9d28f947ed5eddbcc6e3155e8dfd4b1814331561c3557764fea25bf6a938f08bcd4adfb5895361ad5a269a DIST perl-cross-1.2.2.tar.gz 106073 BLAKE2B c4eaf5d60dd0ac88a9653cea399f5583a699d35f94a69a36ef9d3cde0017901ff68029f12a3af6e0fd34d46accbb6be009167fadb790da8065f6b85115f1c9b8 SHA512 49dc190018b891daac68a954e2a9bab6294920f02b585c530dcc47af03e8ab51d402455202d45121fa206ee743986ddd50323658c179d2c15cb6af7a2eb0958c @@ -20,8 +20,7 @@ DIST perl-cross-1.2.3.tar.gz 106861 BLAKE2B 1fd23ecafd1450010c6703e43fb84da68f73 EBUILD perl-5.24.3-r1.ebuild 17393 BLAKE2B 999d7df269e15390e4f7d146ff94eda5301981353083c933dd89af42a9ce0cece3f6e87d8917572cd38141f0e25e9c864660624fa4c4459940d0dd190527d53f SHA512 61a2760d1a17ffe0ae6cde23b4b707876822aa2355fa834b23a878a3df3d5d070e5b0a74a991d617ad1e026c0fcc3d2a05609d575567edc57b2cf101bde8e0bf EBUILD perl-5.24.4.ebuild 17363 BLAKE2B 84744ba06ce9dc0cab51aae3da10917679a20b5997f13154c269285173a6c6b0ec20ae365b059daa52f86f2addcf97dbe8866a29cd2c9c32ee51030de9a44bf7 SHA512 d393349752cfcdb53bd6d99559ad1eb5385e716f772bc4377e07bc3d7064a293e5cc0369feca2094513e710e8724c2a0a82fcf342ad68c4e1d2c1d0d42200071 EBUILD perl-5.26.2.ebuild 20018 BLAKE2B 35fc87f0fd3d14255553214e5d16a15390469265e7a1dbd9942668d96ffea825228da4c63fdddbfa70df869746559d7966b81dd1343c1bcebb1c87718bb1a3b3 SHA512 23672000c34668a207d3ec6629950310542996be5225271500f52d42779e6b77370db02a32c28953cfc7d479153d418af8ad6ddfb90ceb6437fdd4086b5a5a92 -EBUILD perl-5.26.9999.ebuild 20031 BLAKE2B d6e3d8053ddbe6b3bd6fad32c2453b996ac5aea5d854354540bf3de7bd55cb2282f6c72122928d037318c5f6d54755b45f56a52ea8704c3fc4824f70a2776b9c SHA512 11d55af2d0f4ea7546b0633e4056e2cc3699b75061c4ba80e0bd17be358c9ea4900b780089853bef21718f6101257b0a9f9e15624b609332c10831d8f02bdb44 -EBUILD perl-5.28.2-r1.ebuild 20162 BLAKE2B 325d36858d865d5fd64ab333134ff94136ab54eb4fe1aaf1224e6584e00bfeba83ad797ca6e8b7e4f9fdeab1750e4447bd49037730cd5f1eb4f193bc7cd339d6 SHA512 76d6d4e5c15dfc1838877d2e005fa79b7a6cace62021961b5dff4f2902f2f51a9bfd9bd9ef4e937bfe93ea1bc70d0d255a4d8cfc7912328076fefd879403b0b5 -EBUILD perl-5.28.9999.ebuild 20133 BLAKE2B 36b745ad7deff1f87e608b490e99487ed88cebc2bdc92f9e0bd6c0f86f451effffacc6a2d0c6bda910114b4a4643a932adf9e58c75d95da920643cf277bc5d4c SHA512 9ba6380e4de7cd0e58a26496225728ac5891b9a55729a966af85f393e3082e5de47747000dd1f8bba19f716ec877c64e139fba066e6661a8bb69305d77cd1e24 -EBUILD perl-5.30.0_rc2.ebuild 20160 BLAKE2B a4602f60e21c9bd2c75ff5660b615066f35f2e2c0bfa11ee0b042109c98e6ab9a09f57e97cbe8eb09ec9728f56119a8c908ab85515925be50c64e9f51fcb538e SHA512 1fc5ef9869dc1cea9289ae17e79b1610a43d5f0082c232210ac0b0ba475b4ae99d8e9b79efa60d5dc611764c706da4d694d27d250bed44a80f3b5c7d64a211c9 +EBUILD perl-5.28.2-r1.ebuild 20154 BLAKE2B c76cfdb77c4973a345810a0f1c51b1c222222cd7562f532366c00d2c7f30aaa5edb24063c4701fb515f788bfce99e9539e8d8b90b53850832cd08522e868fafc SHA512 90d34571f8d89fd36feb6439a83acdc90c05413dcf360cd5f8fd9b088f95054a00445ff8ff2a279e01338efc46f9a9887a34a675efb60617ef5e066866a2ec88 +EBUILD perl-5.28.9999.ebuild 20136 BLAKE2B 6d8f6a6c78449cb40996c32c4e72ea5d7679b0e998857d6abfe6b28874cc40c135330d4d1ee9429ea3c1fc819c3695323b803ade4c25feedfc155ce694295d0b SHA512 d787969c98d92df22cb158b3cc6885fa2937e42da0df67168cc9757ac1fa28ca7156570042e941cfdebe4b4fe6e2befcf15dcf43d93f856212db65f9578391d9 +EBUILD perl-5.30.0.ebuild 20331 BLAKE2B 915d0eb8b798f273a0abc9b9506e1b2c1ffcd71331d7c1c72d3396a76e398d8955340dcb3abf73978f07be497a13b14147524aaf71963fcc6b19c1e312cc2b29 SHA512 9e32fdd048664e2ffdb2916d44cdad728facd79b8d85f400b0a938fdc3687f7084bb053bba548b30deb81c2b042d8d40e9b4e8192fbe1348f3451e3d53630ea7 MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583 diff --git a/dev-lang/perl/perl-5.26.9999.ebuild b/dev-lang/perl/perl-5.26.9999.ebuild deleted file mode 100644 index 3efe8267e5be..000000000000 --- a/dev-lang/perl/perl-5.26.9999.ebuild +++ /dev/null @@ -1,646 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing - -PATCH_VER=1 -CROSS_VER=1.1.9 -PATCH_BASE="perl-5.26.2-patches-${PATCH_VER}" - -DIST_AUTHOR=SHAY - -# Greatest first, don't include yourself -# Devel point-releases are not ABI-intercompatible, but stable point releases are -# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions -PERL_BIN_OLDVERSEN="5.26.1 5.26.0" -if [[ "${PV##*.}" == "9999" ]]; then - DIST_VERSION=5.26.2 -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 - mirror://gentoo/${PATCH_BASE}.tar.xz - https://dev.gentoo.org/~kentnl/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" ]]; then -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -IUSE="berkdb debug doc gdbm ithreads" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( >=sys-libs/gdbm-1.8.3:= ) - app-arch/bzip2 - sys-libs/zlib -" -DEPEND="${RDEPEND} - !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) -" -PDEPEND=" - >=app-admin/perl-cleaner-2.5 - >=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.240.0 ptar ptardiff ptargrep - src_remove_dual perl-core/CPAN 2.180.0 cpan - src_remove_dual perl-core/Digest-SHA 5.960.0 shasum - src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv - src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh - src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp - src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails - src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp - src_remove_dual perl-core/Module-CoreList 5.201.804.142.600_rc corelist - src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect - src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc - src_remove_dual perl-core/Test-Harness 3.380.0 prove - src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text - src_remove_dual_man perl-core/podlators 4.90.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" ;; - *-interix*) osname="interix" ;; - *-aix*) osname="aix" ;; - *-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}/${MY_PV}" - ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" - SITE_LIB="${SITE_BASE}/${MY_PV}" - SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" - VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" - VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${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_update_patchlevel_h() { - # Copied and modified from debian: - # Copyright 2011 Niko Tyni - # This program is free software; you can redistribute it and/or modify - # it under the same terms as Perl itself. - local patchdir="${WORKDIR}/patches" - local prefix - local patchoutput="patchlevel-gentoo.h" - - [[ -f ${patchdir}/series ]] || return 0 - -while read patch -do - patchname=$(echo $patch | sed 's/\.diff$//') - < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e ' - - # massage the patch headers - s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend; - s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend; - s|^Bug-Gentoo: ||; tprepend; - s/^\(Subject\|Description\): //; tappend; - s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend; - - # post-process at the end of input - $ { x; - # include the version number in the patchlevel.h description (if available) - s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/; - - # escape any backslashes and double quotes - s|\\|\\\\|g; s|"|\\"|g; - - # add a prefix - s|^|\t,"'"$prefix$patchname"' - |; - # newlines away - s/\n/ /g; s/ */ /g; - # add a suffix - s/ *$/"/; p - }; - # stop all processing - d; - # label: append to the hold space - :append H; d; - # label: prepend to the hold space - :prepend x; H; d; - ' -done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}" -echo "${patchoutput}" >> "${S}/MANIFEST" -} - -src_prepare_perlcross() { - cp -a ../perl-cross-${CROSS_VER}/* . || die - - sed -i \ - -e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \ - -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \ - cnf/diffs/perl5-${PV}/customized.patch || die - - sed -i \ - -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \ - Makefile || die - - # 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 -} - -src_prepare() { - local patch - EPATCH_OPTS+=" -p1" - - if use hppa ; then - epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162 - 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 - sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die "Can't exclude libnsl patch" - fi - - einfo "Applying patches from ${PATCH_BASE} ..." - while read patch ; do - EPATCH_SINGLE_MSG=" ${patch} ..." - epatch "${WORKDIR}"/patches/${patch} - done < "${WORKDIR}"/patches/series - - src_prepare_update_patchlevel_h - - 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 - - default -} - -myconf() { - # the myconf array is declared in src_configure - myconf=( "${myconf[@]}" "$@" ) -} - -src_configure() { - declare -a myconf - - export LC_ALL="C" - [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 - - # some arches and -O do not mix :) - use ppc && replace-flags -O? -O1 - - # Perl has problems compiling with -Os in your flags with glibc - use elibc_uclibc || 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" - - # Fixes bug #97645 - use ppc && filter-flags "-mpowerpc-gpopt" - - # Fixes bug #143895 on gcc-4.1.1 - filter-flags "-fsched2-use-superblocks" - - 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 - - # Autodiscover all old version directories, some of them will even be newer - # if you downgrade - if [[ -z ${PERL_OLDVERSEN} ]]; then - PERL_OLDVERSEN="$( - find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \ - -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \ - -printf "%f " 2>/dev/null )" - fi - # Fixup versions, removing self match, fixing order and dupes - PERL_OLDVERSEN="$( - echo "${PERL_OLDVERSEN}" |\ - tr " " "\n" |\ - grep -vF "${DIST_VERSION%-RC}" |\ - sort -u -nr -t'.' -k1,1 -k2,2 -k3,3 - )" - - # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string - if [[ -n "${PERL_OLDVERSEN// }" ]]; then - local inclist="$( - for v in ${PERL_OLDVERSEN}; do - has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; - echo -n "${v} "; - done )" - 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 " ${EROO%/T}${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}" - 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 - [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ - append-cflags -Dinline=__inline__ - - # 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})" - - myconf \ - -Duseshrplib \ - -Darchname="${myarch}" \ - -Dcc="$(tc-getCC)" \ - -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 \ - "${myconf[@]}" \ - "${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; - if [[ ${EUID} == 0 ]] ; then - ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." - return 0 - fi - use elibc_uclibc && export MAKEOPTS+=" -j1" - 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 ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die - ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die - ln -sf ../../../../../$(get_libdir)/${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 [[ "${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.28.2-r1.ebuild b/dev-lang/perl/perl-5.28.2-r1.ebuild index 981dadb521bb..2eae9534112d 100644 --- a/dev-lang/perl/perl-5.28.2-r1.ebuild +++ b/dev-lang/perl/perl-5.28.2-r1.ebuild @@ -51,7 +51,7 @@ LICENSE="|| ( Artistic GPL-1+ )" SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]]; then -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi IUSE="berkdb debug doc gdbm ithreads" @@ -308,7 +308,7 @@ src_prepare() { 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 - sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die + sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die fi einfo "Applying patches from ${PATCH_BASE} ..." diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild index 7617ca59c9c2..88f49401029e 100644 --- a/dev-lang/perl/perl-5.28.9999.ebuild +++ b/dev-lang/perl/perl-5.28.9999.ebuild @@ -306,7 +306,7 @@ src_prepare() { 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 - sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die + sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die fi einfo "Applying patches from ${PATCH_BASE} ..." diff --git a/dev-lang/perl/perl-5.30.0_rc2.ebuild b/dev-lang/perl/perl-5.30.0.ebuild index e2165b86d03b..8f0c0cb48d1f 100644 --- a/dev-lang/perl/perl-5.30.0_rc2.ebuild +++ b/dev-lang/perl/perl-5.30.0.ebuild @@ -85,7 +85,7 @@ dual_scripts() { src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails src_remove_dual perl-core/JSON-PP 4.20.0 json_pp - src_remove_dual perl-core/Module-CoreList 5.201.905.200 corelist + src_remove_dual perl-core/Module-CoreList 5.201.905.220 corelist src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc src_remove_dual perl-core/Test-Harness 3.420.0 prove @@ -308,7 +308,7 @@ src_prepare() { 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 - sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die + sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die fi einfo "Applying patches from ${PATCH_BASE} ..." @@ -338,6 +338,11 @@ src_prepare() { 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 + fi + default } diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 1957a8d56ade..74bcf4186b30 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -7,18 +7,26 @@ AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae7 DIST php-5.6.40.tar.xz 12472236 BLAKE2B f41147eaec9b15e965540f9e871691cc88848dd619bae6af85e7bba0130b71ce91bad5cdbbadbb537c42df83369f5c731007339a9d9e21e689e913c135201afc SHA512 997b5a952a60cf9166671cc91fcc34c674dd62bfd5cb0a9cdf3fdf2d088b5d19943d94c1cf193f8ab71fc4957d9a9a4c7c2fb8826f937501c1c0a0858f10e329 DIST php-7.1.27.tar.xz 12219868 BLAKE2B 9de4902504e50b53aab28eac2252aa79302541352b1323a17e68cc58e22cd3b6108b3f7d6ba4779a7f87a561442cf3c44c5660418a354d3b48b6df270a761f8b SHA512 a7019788b02f624e19f804cb0c34578443fc2e0a582a32e72d1340f3cd7bb866631497fe61d18f31f92bad5aa7667847e21bd3916fcdd6f04a3b8f88c805f544 DIST php-7.1.29.tar.xz 12221984 BLAKE2B a07e7e5ee58f9a74437d865bb7ee9a4458fde52cf3e678128fb4c2d1cc076da0d37dc16c8908011ed542cc37f492d56a6565e06315630d2a213e2a42accdc4f4 SHA512 97575ec588fd3ab51360525fc02058254b95e89e0a36c74a2890ae7619adda1a5489f3675fa83754f8f693af463cdf17232db071351b6ace9f83d4c3c643f682 +DIST php-7.1.30.tar.xz 12221980 BLAKE2B 7b2550e8f1c3cbd40223d9ed1d3e9e7a32550a057ecf0c83ce105a5e17805a57266130830adf60adeb4bbcd4cb787539a04783b0588d84e9771ce036de8b176e SHA512 7c6654e118931a8dab4896a7b62221b863b5a235a9bbce3e0c09abf5e55b964f86b1d2b2c96683b09254829c2569e72620f4d8d50cd05153ee56617e62ad37c1 DIST php-7.2.16.tar.xz 12166372 BLAKE2B c59ac69b717a8ee88f229baa94c43f9ee1d9c7161c767a95c3a9719ee70cdc9b61aaff75504aca09bba10d224d9a717cb7c985060b6912491857a003e6cbc349 SHA512 cd2ea3c68d7ed20317800f4b838b0dd9ae2fde508c79662b296dacdacf6c7e35b6ef30a6564516d7b22e82749a6e9e2ffcfd95b05cd79a9f227fbfaf9e25bc31 DIST php-7.2.18.tar.xz 12172696 BLAKE2B c23f4dffe60ad48b53de1c565ecb4f378f5d3daccde98ec8d9bddcfce8bd1a48a75061a72d0094d0db6719a3c0a96cae25ce0ef0fbfadc28fbeff27b332c8107 SHA512 b38034aa13867496009903ba64e4e8bf3216307a9ff1dade60a1477671ecf7bceb5062b349f6997d9af414d58d46ea7bb3f9855e372c230f4a6cff26ad9985d6 +DIST php-7.2.19.tar.xz 12176404 BLAKE2B 2ca4ffaa525bc4b3c52b394ab667f99e1657307e11ccffe7a01f9a3b2974b69edf3039b52d8b3ab4509265c966a1d4722d60d281245136b57fe0dfb7aef72bab SHA512 debf42e35ad4884efbe54095abd1f067ddbb4b1446a7b168cb5a08ef61400f5b59844b29d51bd5fa740bf24bfe822c94c5889b4be1bb159eadb3751f77e37ab7 DIST php-7.3.5.tar.xz 11981356 BLAKE2B f0ea69358519458d1e48f598f3af808f560d824f417995ea80fc63c8610fb04144a471cee7941802b29eaf24b233b506baa4fff390e57292335f88c434b8dc46 SHA512 3231947b01333987568ec3304bebf0c089a23cd6bc4a7139683bd36b2490fef13ed494108b645d40d5ab55f65990004445ba04af48393a9a508cfa7379ba81d3 +DIST php-7.3.6.tar.xz 11989392 BLAKE2B 3aeba998f05a93f21befc1356365586bcf51186fd356948ca15016569b4d4838b2c9079975df45147f017af775cd870770ffa199682837b4b1b3b8b3938f2083 SHA512 940085bd4c53b11751d962426c73ba3bc30ffa22ac3b4380465d0d15e383ed68f83fa4f22b1246fcdc4f68b46e59512a52966453463c60fb9241c34d8a340ffc DIST php-patches-20190307-r1.tar.xz 20796 BLAKE2B 251f0d8b222e4a6a339a3b1d4aff39fab8bd7203ec34295b7316a366a7d0015bb9e6665614005949da9decbca53aa9ac0aab63845638a6b4d3d462eabff4ea35 SHA512 d7a412ec1bc6002c458c6bc3cb53faf4e95a852a6cdad337f6a81a978dd56ba72801cccbe866857d6c5b7e95dfe558878133e44a4e9f9b6efd38e679acc82af9 DIST php-patches-7.1.28bp.tar.bz2 27464 BLAKE2B 4babea64a2a24f31299997d6a962b3b7506ec1bb77b8e8b4532cce50c1a9eda73829820c2c7883ea97c1a860bab4220e2c576bdd14d8dd80c8e6a3af808c4c52 SHA512 171a8e52c70283dee12316ff8449dc7c7d3bf37c803724b63c7aa9bb12468a795de286075af317ba69080a5e1c3ed59a2f5b3891b35fb1e5045ede277d48e56a DIST php-patches-7.1.29bp.tar.bz2 28709 BLAKE2B ad9510e5f550407895371c615db9dc3329c725e9dc61c7a4a2b3bf92ca96040d720cceb333e5c5cc577a9587530da2b0dca5e5466c2acdb0c12f6395927334e1 SHA512 d41fb828cd00473abb9d6d8c8a5f0f2783146874de27c6c7d329437dcd8cc292574f4762e64738d4e7cc584db59d33396908d54a9aef238afda5d445d062065a +DIST php-patches-7.1.30bp.tar.bz2 30698 BLAKE2B 74bbab7e3d721ce823f1820b9fad1dd61c9b109e50392ae6cf08f9ae1f6b813273d50edad2644913b016b369f6fc32ff5bf1abe0687c23876596f3f18ec20e1a SHA512 832f97636a346c88089190dc0a0d98d39ef69244b441e553a7775da602227338f1f4a6cb90295b4f5fb117f6c64b259120840dbfe0da7352819d94392aff9fd6 EBUILD php-5.6.40-r1.ebuild 23648 BLAKE2B 1f8cf8f5f9a1584029aa8bae4f770dba5bf721dbe2b9a0cca943056e4cfa362b9e9d199a9eec18e11776235c0eac847b4bc6ce458a8c3cef7efe233f49596c5c SHA512 ff1bc6fdf20b143dccf95862329291c7d38dc29871ac7715ba2ae79e738ab1e80e08005412b47a98c6a427d0b09cba3449c86f10cbf61420a3eadf7807fe50f5 EBUILD php-5.6.40-r2.ebuild 23035 BLAKE2B 63bae4611a9db68154201cecf202e7182f3c0ac6afe328484c6b345db1d80cfc157fe9f704956767c473b9ae9b52360febf2ffbcb9808fcce690c31730fafdc5 SHA512 6d2683374baaa01cbd03a5504d8fcf561dd0c92b89ed516c3bd7f3c32e039123a0801ee7fa00637361138108d39461721c5077dca56384b262f1dedcd6d534be EBUILD php-5.6.40-r3.ebuild 23067 BLAKE2B 0e133da9d0d3879235b0208096e5c99f257f0d93686935d1fb0648efbd92fddd71f579ad59c09368844a251b956fade71aff7d88be2211e2c5832eb2f4b713c2 SHA512 c53b2549a14b55dc16b2d3b8f5c7617ef5deeb30db19606b582126cf32dd040b51b86ddefb3472573c3b11c14f8b72bf5064a0edd37e39b5e9139f2dbdd8e798 -EBUILD php-7.1.27.ebuild 21986 BLAKE2B fc3e3d38972dd2a7d4ab83cbca37ab8e18c6b6859a93beeab4ba9a1495aa9f8485c7b5d0609626ff7360b6c4d9c10f4050c338ab07d10738063ba76f3f48d43e SHA512 65b84a7e5b1dfd8a1a45833f9277d69cb085a13c8b38fb878c0c44c8865cfd6ea41d850171a6d6bf6924c3d05c634d76341405d08518ab862e4e2290ce87e8e1 +EBUILD php-5.6.40-r4.ebuild 23003 BLAKE2B bab714b2a639dd2d5fe0e6aa7722651feeb5dacd9bda551720135256f46443a908d62d83c7fe4d90cf4a1dec98bed9b49f2b25f6bcc42ce7079259b8d1de08ec SHA512 8f24b3011d1532f778dc2899889a8da650cf301a7c8a19c332538885576ee6c18a01b3c7c27e9e3b4866c3c028f19b1b0c33d493f8a19eb0269316bdec7b6202 +EBUILD php-7.1.27.ebuild 21985 BLAKE2B efa2ce2469a2bc5b52d46550506687284c150c95362a4b8c458ca3a54eb09b8b12d6b2a82175ce8ba8c717dd8a9d78b37339a568a7e3e99b9e884da48a0a726f SHA512 dfdc5fd44f04cf7f481a4bb7da30417ab2c9b48f52024dfdceafbd49da614ba682dd58516732b12be7bd91cdf128d4fb86f239c71d8e7c1c098dbbc7f4c4f385 EBUILD php-7.1.29.ebuild 21995 BLAKE2B 6ce17a7b0a7e41922199ceeab72e05a4327105da6b97bc9af0f5a9014fd4a4a872491c810d721e97e6547d3ee5cb6d235ab842eb8293eb47c7c5e6cde1d2dabe SHA512 6801e4ac7755f816311530a3bbaa08bd48477c9c402eeb37b007a689dd946b716be86aa7ed9c7dd53703bfd073287087f88e75099b58c6dab6558563e48f67ef -EBUILD php-7.2.16.ebuild 22517 BLAKE2B 3ee1c7b07bc61f650510639324ef7640f2aba8d60e5cd6f535fdcd4492b0359447baf3a181693fb90a3cfe7dc7af893e010c8faa2d53f7dcaacfc2311ddec75e SHA512 531f59496f45462d1c05c3bf5c9c1f0cbb7d2978d4026636ed6efa4b1b4d64d4e44e7a6d6d2ea5bc5aed0c8534ef254a8c32b4ea188d875d5a4847a2003b8b42 +EBUILD php-7.1.30.ebuild 21994 BLAKE2B be6a36e1311a74a8be13ee94d115e88cc071d16e0a2415fe4681fce581d0521316150ef43386d22b74171ab32ef4029c3ecfe98b6dec2006349233a6c0acc8d0 SHA512 f6d039dee7d460eda25e8370de18eb1c9b38887bc77ccd1413f3cfe40769713553109685c59dd8585074fd57695b3578c0f4ce6e8a83cfb2bc3cf3ccc091d659 +EBUILD php-7.2.16.ebuild 22516 BLAKE2B 8a3fb93cb898be7ac86793c8066461b45b5f35972469ca0729ae0c14e5855d06b268c64475015e3ac4c2018cb6a7860acdb9acbda5488656b2625df5fe4868c9 SHA512 dba861469d79acb5769eda7ef1e5f689f6b199a6267e6e769e2e660fa0540a3de73918c1e74793082e66fa8eb8d0cbbf9ef7b99e881751252c236e08090ea2ec EBUILD php-7.2.18.ebuild 22526 BLAKE2B e31a0ae6df4fc5b632b06d76e83709fb0c098b6f98a384911ebe7ca2c1873106670221d6506f73a5a163beeb5c43dac7685efa1ba4e3c8746034a7ba779b4483 SHA512 7808dc20a216b8418986464b8bd571c093d1b02fda1dd4d48a4580f6c4632990dc8a0c5542f2786608b0951068ad20fce842b40132c239853a17d41b6970eee8 -EBUILD php-7.3.5.ebuild 22538 BLAKE2B 1fa1a354c598ada995c907fd6aef0e12e806e66fd72275c22729252c1f83b7cbe85869ce60de60034e42fd0c8492a98353c924919743e246e50d93168e2f5ace SHA512 b69f9613f6901fc45a2659d3f972560709ebd9d13ccd75ecc95e130d4e913b7a67c4f0fbb9e93f56cf65fb3103d053b0ede1a6917a791506697fe1d36a477a2a +EBUILD php-7.2.19.ebuild 22525 BLAKE2B 14c95141789b6715cc032af8de0ff490f8a8520b28ed8c370ff0893b172b1dd88ed0fe766d995f475b51ff6905fd76451c43ab068c24a97bb11f7799fe3520d5 SHA512 17fbbf1728e36d195611f74535847952166ba552737cf0e43bb5337f252e589083da3ea9ad76ac6f8beb43733419d9cf6c13e20f7fbdbb37a315c8d978efe48b +EBUILD php-7.3.5.ebuild 22537 BLAKE2B 4c042d9e887e578814f716b965ea37f834f5cfe3cc464fcea62b6d0b966e776a2b8b567485ae32b9a7c56705231e9ef2de69b0d93eee4cab5ea874df0921310e SHA512 22ffc7d082a370f3d84271bbb005a03d6faa4c82ab941d3644c57cf80c1b66e960f0a27030ddb26d7c5d52145705e79873e0eda2217311b73fb6fa2e65f00bda +EBUILD php-7.3.6.ebuild 22538 BLAKE2B 1fa1a354c598ada995c907fd6aef0e12e806e66fd72275c22729252c1f83b7cbe85869ce60de60034e42fd0c8492a98353c924919743e246e50d93168e2f5ace SHA512 b69f9613f6901fc45a2659d3f972560709ebd9d13ccd75ecc95e130d4e913b7a67c4f0fbb9e93f56cf65fb3103d053b0ede1a6917a791506697fe1d36a477a2a MISC metadata.xml 3268 BLAKE2B fcd85522c4dbea03403eee66cd3be945f4f998d5eb483ac9c47bd2be2f5f2f4be8586ecc58d50ced7798fdd63ef2136e56d559fa06e870d242239127a97b7b76 SHA512 c44c7fdf1592ba4c0b2cf6f29a97a4a214d2193cb164dcc90454e4a762860a5f3fa67908217543fe72811d403c2ef3b15d2f80f2657f09c1e078d31ef35c12f4 diff --git a/dev-lang/php/php-5.6.40-r4.ebuild b/dev-lang/php/php-5.6.40-r4.ebuild new file mode 100644 index 000000000000..f5be206db416 --- /dev/null +++ b/dev-lang/php/php-5.6.40-r4.ebuild @@ -0,0 +1,789 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic systemd + +PATCH_V="7.1.30bp" + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz + https://gitweb.gentoo.org/proj/php-patches.git/snapshot/php-patches-${PATCH_V}.tar.bz2" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql libmysqlclient mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + <www-servers/apache-2.4[threads=] ) ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + cjk? ( !gd? ( + virtual/jpeg:0 + media-libs/libpng:0= + sys-libs/zlib:0= + ) ) + coverage? ( dev-util/lcov ) + crypt? ( >=dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( app-text/enchant ) + exif? ( !gd? ( + virtual/jpeg:0 + media-libs/libpng:0= + sys-libs/zlib:0= + ) ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + libmysqlclient? ( + mysql? ( virtual/libmysqlclient:= ) + mysqli? ( virtual/libmysqlclient:= ) + ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + sharedmem? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sybase-ct? ( dev-db/freetds ) + tidy? ( app-text/htmltidy ) + truetype? ( + =media-libs/freetype-2* + >=media-libs/t1lib-5.0.0 + !gd? ( + virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + ) + unicode? ( dev-libs/oniguruma:= ) + vpx? ( media-libs/libvpx:0= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( + x11-libs/libXpm + virtual/jpeg:0 + media-libs/libpng:0= sys-libs/zlib:0= + ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1 + sys-devel/flex + >=sys-devel/m4-1.4.3 + >=sys-devel/libtool-1.5.18" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + vpx? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + recode? ( !imap !mysql !mysqli !libmysqlclient ) + libmysqlclient? ( || ( + mysql + mysqli + pdo + ) ) + + qdbm? ( !gdbm ) + readline? ( !libedit ) + sharedmem? ( !threads ) +" + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config file php-fpm.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + local patchdir="${WORKDIR}/php-patches-${PATCH_V}" + + eapply "${patchdir}/" + + # Copy test binaries from patches + local ext_src + for ext_src in exif iconv ; do + cp "${patchdir}/${ext_src}/"* "ext/${ext_src}/tests/" || die + done + + # Change PHP branding + # Get the alpha/beta/rc version + sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ + -i configure.in || die "Unable to change PHP branding" + + # Patch PHP to show Gentoo as the server platform + sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ + -i configure.in || die "Failed to fix server platform name" + + # Prevent PHP from activating the Apache config, + # as we will do that ourselves + sed -i \ + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ + || die + + # Patch PHP to support heimdal instead of mit-krb5 + if has_version "app-crypt/heimdal" ; then + sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ + || die "Failed to fix heimdal libname" + sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \ + || die "Failed to fix heimdal crypt library reference" + fi + + eapply_user + + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + + mv configure.in configure.ac || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # http://bugs.php.net/bug.php?id=48795, bug #343481 + sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die + fi +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with mssql mssql "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_with sybase-ct sybase-ct "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_with truetype t1lib "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + $(use_with vpx vpx-dir "${EPREFIX}/usr") + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + use libmysqlclient && mysqllib="${EPREFIX}/usr" + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" + + our_conf+=( $(use_with mysql mysql "${mysqllib}") ) + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib) + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp5$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.1.27.ebuild b/dev-lang/php/php-7.1.27.ebuild index 84292498c638..3be3c0289627 100644 --- a/dev-lang/php/php-7.1.27.ebuild +++ b/dev-lang/php/php-7.1.27.ebuild @@ -18,7 +18,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" diff --git a/dev-lang/php/php-7.1.30.ebuild b/dev-lang/php/php-7.1.30.ebuild new file mode 100644 index 000000000000..36163a52adc8 --- /dev/null +++ b/dev-lang/php/php-7.1.30.ebuild @@ -0,0 +1,737 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sysvipc systemd test tidy +tokenizer truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + <www-servers/apache-2.4[threads=] ) ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + crypt? ( >=dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( hash || ( mysqli pdo ) ) + mysqli? ( hash ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.2.16.ebuild b/dev-lang/php/php-7.2.16.ebuild index dc25d150df81..30968e0621d4 100644 --- a/dev-lang/php/php-7.2.16.ebuild +++ b/dev-lang/php/php-7.2.16.ebuild @@ -18,7 +18,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" diff --git a/dev-lang/php/php-7.2.19.ebuild b/dev-lang/php/php-7.2.19.ebuild new file mode 100644 index 000000000000..c1a7fb009fc2 --- /dev/null +++ b/dev-lang/php/php-7.2.19.ebuild @@ -0,0 +1,749 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + <www-servers/apache-2.4[threads=] ) ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( hash || ( mysqli pdo ) ) + mysqli? ( hash ) + zip-encryption? ( zip ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.3.5.ebuild b/dev-lang/php/php-7.3.5.ebuild index 1e66c720846d..e8bbeb8dbb09 100644 --- a/dev-lang/php/php-7.3.5.ebuild +++ b/dev-lang/php/php-7.3.5.ebuild @@ -19,7 +19,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-7.3.6.ebuild b/dev-lang/php/php-7.3.6.ebuild new file mode 100644 index 000000000000..1e66c720846d --- /dev/null +++ b/dev-lang/php/php-7.3.6.ebuild @@ -0,0 +1,750 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + <www-servers/apache-2.4[threads=] ) ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( >=sys-libs/zlib-1.2.0.4:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + zip-encryption? ( zip ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 0a2e09c33de0..dac15b93a2c1 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -18,7 +18,7 @@ DIST ruby-2.5.5.tar.xz 11459832 BLAKE2B ced1105a87e7df8f82a65ca8d1d329d5a9d110d2 DIST ruby-2.6.2.tar.xz 11889840 BLAKE2B 817919c078869c2ad8d5c9d8c8b7ee77e8b0e3339c2ef662a94a666a859f762fa63c6f8534027abd368e91fe4e3e1fe68fa984cbf12f76cff8c0c66f0114914f SHA512 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a DIST ruby-2.6.3.tar.xz 11904360 BLAKE2B 8113e5a19b967cdf995a3c8d3c83aeab3bf89e975d3b039c64259e97f20dbe9ebd96ada093f9d330516d16ef78bb0ecbbac8f3facd467aa13f1f70b23b992f82 SHA512 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8 EBUILD ruby-2.4.5.ebuild 6638 BLAKE2B 60776351e5ae33272a850e56380e97e31e847ecc2465af1fbd248412420fd059d64d874b405def2a27cdb0607338adb26d23832370a3bd2570e2997b14a75763 SHA512 8dd3dd6f0eed58577c126da3b6d2a777b5b31b1d445acaf887cd5f47e6ce3cb65317903a895bf0655e4c82f2d1ac8aec4bf6d72b818cbf788de844818839f2ca -EBUILD ruby-2.4.6.ebuild 6653 BLAKE2B a62d8e82bcdd8dc0fe40b23163a202789df2345a237905180c3f1a87b48664d959492cb9b488125b363d04f3d5e69398f260c4cddba14d6c19587445e6a56dcb SHA512 878744fca945aca6dd9a4a66c4030b52868da3aa44256974131ddbe0f4aefd2916388b389b458bd58e670114a32c01e2024084dde2e5cc472344508c8656112b +EBUILD ruby-2.4.6.ebuild 6645 BLAKE2B d8a0bf25351cbf8dd58970b2d4aec10579f5a161f1638c7a2d1960d42fe5a5d40044647714fb4a211a4c8707684ef6e403a4621d5f42156a97dd23698618b3a2 SHA512 dae928dc3ac23c92e8572a58cd4a6e7d2366c9614bb8259615923ec25f7d5e46d3c6234dc3739f17a3559d80cc9c893306862ac3a6c4785342254aae9dc76068 EBUILD ruby-2.5.5.ebuild 6441 BLAKE2B 97c692de717b9d44e0d9b8d103724ec38d21dff92abf72cadd0d71be84a06571de25e03df7b7504d5454d2a285d2e4d35111d86b0243d4e5c354e08286160af4 SHA512 f92219d85d450f8a4fbc6a234bde80e697a5227039648a57cae6232072311298f9f347ee38cfb7bc3a3d05d758fce3a1e19de367fa40b1b3c545f5c4895a7957 EBUILD ruby-2.6.2.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55 EBUILD ruby-2.6.3.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55 diff --git a/dev-lang/ruby/ruby-2.4.6.ebuild b/dev-lang/ruby/ruby-2.4.6.ebuild index 04e38de79d98..689901541ea7 100644 --- a/dev-lang/ruby/ruby-2.4.6.ebuild +++ b/dev-lang/ruby/ruby-2.4.6.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" RDEPEND=" diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 3c0b277d8c24..01e1178bf9f5 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -82,6 +82,19 @@ DIST rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz 125735384 BLAKE2B c25d43fa63 DIST rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz 129619832 BLAKE2B df76b7c08941ae2cb512ba656b09a7b87e1e656badbadf58d64ab5f9133e7248a63873675ac44f16207107a0f68da6089706b46af94154c0bd51aed655f8b578 SHA512 3c881e7bcf622237f279855ebaeb544f4df9bfe5bc1f74578093d67befed8f027692ea56dc773c653bef8a124e9ebac2544d0c197a0e3a1ec8da63ef9d434412 DIST rust-1.34.2-s390x-unknown-linux-gnu.tar.xz 134376720 BLAKE2B 3eb1452bc0f5d6cbe5547f18ad039c54d4fee44e8c24e35f3399272755cd293df008db2c7dded32c7853944e43de7a4d337b7408835445a4916dbf55d14a7b3e SHA512 181f58b00cdccb205be853f5d00fc0a0c939b7e4dc801717b21ece0f714a8f3b501f1196eb2e3f3081932a0417a6218763c3d095cdd036e9f202cc41291876a1 DIST rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz 157279864 BLAKE2B c25fcb6168e16a4deb19a8ca9b3d91966194f4c8d2e60933226fab015b64a819f6e56a6b51b6e9457ce80efaf5bf71f2eed2f3e6e39bef5856524e33d0a5637b SHA512 64d6b7da08ffd877c10d819605a37b0bc178c4ab80e2f7449f3d5ac9254a438e148da3729408b4c9429ed499d7f142c9d2926f5c916e0a32bebaaefe4b0a09a6 +DIST rust-1.35.0-aarch64-unknown-linux-gnu.tar.xz 132705960 BLAKE2B 134e71195a69f891d7b60bd2ad24468beb0796480d2a48707058b085a6f9255bc092578015be89dd29cebbf1b5f49221735dcedd0cb79a1975220531e5f4d364 SHA512 9231e4acf26dc19a31c6c9623c939eafd0fdefc18debb8569baae36d3ad3410e21097ae2306b5adc48bc5e219da1dc1df38569e1d0ae9b0178d5a2e815c20db8 +DIST rust-1.35.0-arm-unknown-linux-gnueabi.tar.xz 134286432 BLAKE2B 3cc7e664e4d59f0a7ec5153b67c95ccd78c40b2d32a30f2082d8c8370d9e41a47d9e60b0b1182a4e4f8d0e81fb276a16092e4c7911da4479ef0998b0d36ac273 SHA512 e16a4484e1788b4b2cd14482c7717fbc3cfc0b38cf0a483ad4d1bba174ba8b9e631cb6a04fd442e05ee6c9c8291dc344c64b0ced10e342bf75c9ad6b63480723 +DIST rust-1.35.0-arm-unknown-linux-gnueabihf.tar.xz 134633256 BLAKE2B 0487f81ea9635c037a601cce5a55dc4f54eb14adef5056e3e2e83086fa0a4384e92179cbe3ae476d0b9a7e0860a718265fa0261f6dd762444812e3263037e18e SHA512 229d206f30387109649a434c23a8b9af14c2942691cba3a22ca3d76ca76942bd0ad44e0660dd72bdd9a00214a9fa6c140691bd5dd879af35cf2abf9f4a7cbac8 +DIST rust-1.35.0-armv7-unknown-linux-gnueabihf.tar.xz 136384068 BLAKE2B db8ba39772e150d829cb9c86f20c89c09b1c6a2c996fe5300e265704a0557e8cd879690ede2f03e4ba03d5201a368c65b53a471d581e7ae95646b50992fd4fa8 SHA512 4d80fdc7483566999d8c38b6772c1f1c6cf0f537f68bff9dd9ed68931afab569e02fc9d5ed2999fb1d3478113527840676d903630f93c3d79c30fdba0b98a2bb +DIST rust-1.35.0-i686-unknown-linux-gnu.tar.xz 173765732 BLAKE2B f55ffa1742bc68c733d8392cafe592a937f0a07e3dd50b63aa7479839c0f18d1eecabe897d962635f5dca669053a7a28b5dc2c7d736f581dad9d7ed508bf5ddc SHA512 33a603f638ced850c4572cc81041b1ab47d95a062c66ea24695e449cca7ac6353757c794a85af4a15e43e0ce091c7cc47dbd01fd30e23e1bae6ced194a08a667 +DIST rust-1.35.0-mips-unknown-linux-gnu.tar.xz 126071936 BLAKE2B d0c34edac3e3a36e096efc51116b5073dc7bbbceee6373c2c9720150fe64a6d1e19450590f63b89111f7e93b72af3cc838215a153fbd069d6a66236ce65265f9 SHA512 a70490da14da69c7700c446925875babd8bf6ba0f81c4bf3b838676439a88be1d7cc49290b265f56fad84c8d31fc95c90a46164feeed5b7853751eb71678ad5c +DIST rust-1.35.0-mips64-unknown-linux-gnuabi64.tar.xz 135622404 BLAKE2B 63c4334c08a774a47712ff5781ebebb0ecef828ad26542f22e96a74ae31ca2ac946b02f835403596bb00ba3d6d4bd7b736a34626e97d43aef631b936bdc0d467 SHA512 cd5525846129eaa09ebf8c91ff5ec098241ba3c75539d09d415b09945c18d60cafacce6263def1c3c647cceb28750fac7f2210366a8a8f3e8b30c4e4dd79f96f +DIST rust-1.35.0-mipsel-unknown-linux-gnu.tar.xz 128447920 BLAKE2B 896586031be5be6cf8f2b1d9729a594f99b42c8af72ab1e91c45b2716dd70279c6126290209262175e26ba12a9644fc7007f640155aebc226c568684256113c7 SHA512 42a3828eb1124fde0026be35885034dbcafedaa0ccc02202778f488e89dc4c3f5085341f5892f46f74f4dd2c541c579470ca25ba7315c2316bff7e7a293f2340 +DIST rust-1.35.0-powerpc-unknown-linux-gnu.tar.xz 128414412 BLAKE2B 4bedb0d572c615d763a0d2c21aea60b59b985193cd43c4d649b8c945728d65606ba3f40f4a0a2fd0524bbe8a4895787efabc6fe4517b070e321f2a2588b06740 SHA512 ea9b908f3ddc1b659b1dcdfa937bda410a2778f2133c797258eac46b73b7f44a0ab12d99a02549f8dd4de243bf3ddbe4279f132a8cb66389ed30af3cf7692652 +DIST rust-1.35.0-powerpc64-unknown-linux-gnu.tar.xz 139462276 BLAKE2B b99ee8f5f0f372f975e1f690a9e2dea67840220a3f893189672e004045332cecf1823fba3d155348a70c200649a8ff7891bf08fe2f726e69003a71165ea8dfa5 SHA512 a89094b58ffdb4940e51c4c2e5f5efa094d7d6c1a2b2382397dbfb05eeaf99e9329a8e7c51da602a6b8935ebb4f6df475a1873748139d9f9a97b8bd40c49849b +DIST rust-1.35.0-powerpc64le-unknown-linux-gnu.tar.xz 143826544 BLAKE2B ff5f814515034b382faf40dc0d95623ec57c4f063ded1bb89364594736269744f5409c978de24fa29f6a061d1489179456a90847f5ce8de1f684df22fda68b75 SHA512 3b63dac50a92693d13066aa6e96de05fceb2da6c07834adfab8c12e6a78f59051dfa008062b1d2ad410a009e2164fc716d689231e552379e419161d1620d0066 +DIST rust-1.35.0-s390x-unknown-linux-gnu.tar.xz 152808372 BLAKE2B 96a1e2b96b6a1faf5a3125494b17c4d5f95ea618a5ff8f7ddb7506ebef4fd6cf7f9a2ae961657b7b969a5f3cbc870c805c6634163e7f5fc71e058ea4528e19a0 SHA512 11539eb25e474bbaa8e57f21c3f64506859bc86baec74df24bb4aaf5361745840b82ff715fc54fbd6ba654a8f7fd4f064af0538b983dd489cd69498bd70d1bf7 +DIST rust-1.35.0-x86_64-unknown-linux-gnu.tar.xz 161491264 BLAKE2B ed336829cfe4199750798352e4e338f307033ea0eb5db9ab68f9cf7465d86edbd1218d3e929c775822fd5db3d73a5d75c6e9b5ca45ed6b474bffe403f39f71a0 SHA512 49976ac2fbac5b1709c4a7f3785eb99ab827464ec4d99ee7190df16c3be23e98de606566b57df2231a15097c7fe984e0d19496ce7478ccc1f0f2c7aeb32ecb04 EBUILD rust-bin-1.29.1-r1.ebuild 5626 BLAKE2B 7d27715a7beb483ccf7062437993a36d05a0ed427d8f6774301575b93135382f97edac7fd2bd449e6d6ad6a98793cb09d5d8f27cc037e85c76712a5e1226c071 SHA512 75d18f6228221d9d465dbf32fcccb06246dc93bfddc4f7e54a50871e67f7bb5282e6b2fb1939103572969ea04cff51470a9e44093f5d9aff442ae493489082f2 EBUILD rust-bin-1.29.2-r1.ebuild 4713 BLAKE2B a68d944fcf5c107d1af181d3549423505d65897a2d3ddd2e041f14dceceb3b99e1a9b4552df333b20c7356279befbd5992e41188c4a4351438c5221aae821060 SHA512 befff3078c9a71be9532ba8f0b59899de2bf5c3a3d44189b4daa7cc8f27f7620d010f5e4590ebd663090a5ca3f2bf6bf2016e6b8a392b8f1ea39cf0b7a71afff EBUILD rust-bin-1.30.1-r1.ebuild 4462 BLAKE2B 46e87d76b2f80c9cdf25d32fb8923f47b2c54b3522a5f19df1317e3b0c167918e5eb17aa8ce6c4341c1e020d632d80b1d1389b2b45ecb7c9e38cf29d218e974a SHA512 a677a84aa5a8e588c7218b709eda7dbdb69453da6e6135b3c419257662e96cf30be17eac5336ac5def27c43871cbd4245420403816b2f228f74b5b0c318400e4 @@ -89,4 +102,5 @@ EBUILD rust-bin-1.31.1.ebuild 4450 BLAKE2B a4c35b3a113d18c684b63831ef241b3cc7611 EBUILD rust-bin-1.32.0.ebuild 4856 BLAKE2B b7099ca2e312bf344a609ad0c13a2c8662aa954f4c28941014309d7a942ce4dee5b7baeb76b4220f414997c444bb79642992e1247046b78dff1830f65cafae5c SHA512 98153414cc7bbb78e38060af97baaef9dfc67289dc5338eeee9618a219c25fb2b9ad2f25e786e7cc277e87faa96912c0236b9720a60d4fc2c9ba1d0bb1027659 EBUILD rust-bin-1.33.0.ebuild 4856 BLAKE2B b7099ca2e312bf344a609ad0c13a2c8662aa954f4c28941014309d7a942ce4dee5b7baeb76b4220f414997c444bb79642992e1247046b78dff1830f65cafae5c SHA512 98153414cc7bbb78e38060af97baaef9dfc67289dc5338eeee9618a219c25fb2b9ad2f25e786e7cc277e87faa96912c0236b9720a60d4fc2c9ba1d0bb1027659 EBUILD rust-bin-1.34.2.ebuild 5534 BLAKE2B 4d1f3d796fd88cefd636e2b8f6b7d7df44b4ee680837d41d3889dd5675bc6f301d96d4266d53ce8707e8e998aab43cead6542de32aa5e62b5a9c6c1bf98a225e SHA512 cf9589e45fbbbec01c77a0e49a61e56b09ece71a3d00d045854df776099ea8b60cf7e2af2371f5128918ad4c83b08b0d52bc0fa6aca02738bc5e5380f7f85c9b +EBUILD rust-bin-1.35.0.ebuild 5154 BLAKE2B 854c0c2fab097a229e19ed660a4428c2eacdaadbca23316fa4fdf468d76eb6fe8a130462d5925e8c4e2bac87496805974744c756a06fb4fd9cd912765c62e5a9 SHA512 f5a0006b0c23443c5c8b4f680da3619126260933b56d14aa2c7946814e3f9b123afaca24aa8fc2f4795f5706ee30fd4d49d15894b7b87e10b20f8d896dafacd7 MISC metadata.xml 435 BLAKE2B 5725f771e138720715bb1a5f317bbe0757d981da2059320e5be70583c3a98dcc4fc23141a3b489cdcffa2a53dfaf621b0ee0336a3ca6a05bf7bf8db1b06cf0c3 SHA512 af938d75754d54ed33a87410cdac16fe4b74614e3c5e352c2c1f906137f0a3e96a2eb1036d0aa7b2a17b629b05d44fdf44348b53f7720c770c6e6cae2a715f16 diff --git a/dev-lang/rust-bin/rust-bin-1.35.0.ebuild b/dev-lang/rust-bin/rust-bin-1.35.0.ebuild new file mode 100644 index 000000000000..3d416cb7b4ee --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.35.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 rust-toolchain toolchain-funcs + +MY_P="rust-${PV}" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P})" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt" + +DEPEND="" +RDEPEND=">=app-eselect/eselect-rust-20190311 + sys-libs/zlib + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + net-libs/libssh2 + net-misc/curl[ssl] + !dev-lang/rust:0 + !dev-util/cargo + rustfmt? ( !dev-util/rustfmt )" +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +QA_PREBUILT=" + opt/${P}/bin/*-${PV} + opt/${P}/lib/*.so + opt/${P}/lib/rustlib/*/bin/* + opt/${P}/lib/rustlib/*/lib/*.so + opt/${P}/lib/rustlib/*/lib/*.rlib* +" + +pkg_pretend () { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + default + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +src_install() { + local std=$(grep 'std' ./components) + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${D}/opt/${P}" \ + --mandir="${D}/usr/share/${P}/man" \ + --disable-ldconfig \ + || die + + local rustc=rustc-bin-${PV} + local rustdoc=rustdoc-bin-${PV} + local rustgdb=rust-gdb-bin-${PV} + local rustgdbgui=rust-gdbgui-bin-${PV} + local rustlldb=rust-lldb-bin-${PV} + + mv "${D}/opt/${P}/bin/rustc" "${D}/opt/${P}/bin/${rustc}" || die + mv "${D}/opt/${P}/bin/rustdoc" "${D}/opt/${P}/bin/${rustdoc}" || die + mv "${D}/opt/${P}/bin/rust-gdb" "${D}/opt/${P}/bin/${rustgdb}" || die + mv "${D}/opt/${P}/bin/rust-gdbgui" "${D}/opt/${P}/bin/${rustgdbgui}" || die + mv "${D}/opt/${P}/bin/rust-lldb" "${D}/opt/${P}/bin/${rustlldb}" || die + + dosym "${rustc}" "/opt/${P}/bin/rustc" + dosym "${rustdoc}" "/opt/${P}/bin/rustdoc" + dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb" + dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui" + dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb" + + dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}" + dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}" + dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}" + dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}" + dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}" + + local cargo=cargo-bin-${PV} + mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die + dosym "${cargo}" "/opt/${P}/bin/cargo" + dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}" + + if use clippy; then + local clippy_driver=clippy-driver-bin-${PV} + local cargo_clippy=cargo-clippy-bin-${PV} + mv "${D}/opt/${P}/bin/clippy-driver" "${D}/opt/${P}/bin/${clippy_driver}" || die + mv "${D}/opt/${P}/bin/cargo-clippy" "${D}/opt/${P}/bin/${cargo_clippy}" || die + dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver" + dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy" + dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}" + dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}" + fi + if use rustfmt; then + local rustfmt=rustfmt-bin-${PV} + local cargo_fmt=cargo-fmt-bin-${PV} + mv "${D}/opt/${P}/bin/rustfmt" "${D}/opt/${P}/bin/${rustfmt}" || die + mv "${D}/opt/${P}/bin/cargo-fmt" "${D}/opt/${P}/bin/${cargo_fmt}" || die + dosym "${rustfmt}" "/opt/${P}/bin/rustfmt" + dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt" + dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}" + dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}" + fi + + cat <<-EOF > "${T}"/50${P} + LDPATH="/opt/${P}/lib" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + EOF + echo /usr/bin/cargo >> "${T}/provider-${P}" + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 24c127f96aa2..9dadca937728 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -7,6 +7,7 @@ AUX 1.32.0-system-llvm-7-SIGSEGV.patch 1521 BLAKE2B d5595ffdba23e41ea299605968f7 AUX 1.33.0-clippy-sysroot.patch 3090 BLAKE2B cd3c11669e63c6fce527910b80add322bcdcfefb45f7936fb8b73750b81da445839669b6e973fc14730766c746d1da6906643183375af275070606e3ba716be8 SHA512 f54b8f1ad74ab0bcb7cd579385980df0fd986b03290bba2dd5f3c78a1994e3ec64a870d77e6c2a9ea83a113d972b8221f5e3e2131b23be9aea882b08af512b0d AUX 1.34.0-doc-build-fix.patch 17719 BLAKE2B 9fa2ce19c51c5fd6fdbf113f22f16db741ef97323d2d0807ffd66d5ffe52e1af1c8fe663fb3f24797b427f6689bbb624c2b4ea7840f17ad50924b21c84e06176 SHA512 5b5098b4c2110c9f5272015dfc04756ee9a9fb1c52763ccc2b3c1349146ebf2e0cbe5ef7fc5d30860024eb626a645409e78da26b9d88c25d8fabc5846905e786 AUX 1.34.0-libressl.patch 7747 BLAKE2B 6c977bf710049a14333ae2e05ac051b117cccbc6b2e42f041ec9538ae523d2014255e95c997a01de60861e136ee465bdc4c113c395df12e0022bb340070633f1 SHA512 6a6405faadec3f7a483adc6f61fe312f5779e66620fe307fc27414aa1721ca6cdfc57ab153cd2d00ba0e37bc4aad8b6cf3ac29f43190a8367b9fd22204c40344 +AUX 1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch 4921 BLAKE2B 58cb6e6bf7dac8cbd4fb8cb60de61235ad9fbb105172a830a8dcd26661f5a36b50f386a858b319a014e17841349c186a6f760c5776a7848a96af08c39de0e370 SHA512 7d253aff433807453f3d02b3791ac68cbca36937de0e09ca03b429ccdaf9bf8f89578435e2d2901320c371491c08826b29ed665085ca70bff3ae904ed19cd999 DIST rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz 98937652 BLAKE2B 836d3dd4e583fa50dd317c3bea56257e6ea19defdb38c16be6debb2854e147c8a92c4832263e4ac314136022a176526fe7d3774a3c5a84cd8d364cd2a1532860 SHA512 8d9acbc90ddaa1e0de0234a21798b19b5365ea371a12f9a143c6ebacbb48f57344da6e827e867513be502bce2801de27a0dbbacdf8618c653aeb58026b6c469c DIST rust-1.28.0-arm-unknown-linux-gnueabi.tar.xz 104676648 BLAKE2B b26b23c3605e6584c51e0e914dbb3be60996e079e52ff2d4850ed43c1f1f7cd5ac575b40dbe852f927d36654f5ab7e384548f3a92b3466bfbb1cda7f9f069bcb SHA512 a1eaf1d7826ebfe222d233cabd8b88073ca2c8dd42a0b870e324dfc63e7290308418222c56802bc421c9bda119dc7c5f3e225ff33cacad5776b79cbcc1a877b2 DIST rust-1.28.0-arm-unknown-linux-gnueabihf.tar.xz 104992084 BLAKE2B df97766d7abf73f668a2936834bc0f35739289eeeb5395276a2fdfd5b6c0baee3ba1eee1099f19d4f4f1cbd1a33cf62ad888dd3d1856b613ac853c6a17650741 SHA512 3b58b83f38bf8d8e841ae6614d72bb6e6faf75fb7c19abc5451548b0e6de0ef3b64dfbc70481a1e40f74074bfad701aa7a58296b4a0d07957a418bd3cd769917 @@ -85,6 +86,19 @@ DIST rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz 126030216 BLAKE2B b1d1b996b8 DIST rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz 130922680 BLAKE2B db63d859631703e845efac57074e0f33f80a3b52b2e9dc8707b81892eee8fc922fa5a7d4b7b1f45fb5f19ea4d7f6fde9212f1c6e99e7e4c30dbc02aa87b0df7e SHA512 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144 DIST rust-1.33.0-s390x-unknown-linux-gnu.tar.xz 134441220 BLAKE2B e6f0a6e54e4e1fde10f54f66615d44442b7cb5eb5bda43d55ee791328c7ecd61505b3d84719df82b7c5c7ae473b7041512f2cf346281518d7d78d0e22112fa05 SHA512 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205 DIST rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz 155298128 BLAKE2B af5bc628bc054bd354d5af78e53cd2ffbfbdf2c2d3a3e58eeb593f148c54024fa5905aa53a69c514d6d41e48688697e1ce8adb866817c77cdf541399f6e7956f SHA512 b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8 +DIST rust-1.34.2-aarch64-unknown-linux-gnu.tar.xz 120868188 BLAKE2B d843cce81338b2b3765c973f06dca83161fefed129efefe94efad663b5ddef54aa092bf5977ba7bca74519b008796e60486cf8b193ec2a2dead3add66295d41f SHA512 7103362b8840d094661a16053d8f07eba413c369bf3a2b686313875aa97c30b35697fceefbfc90dffd5cfd4de946e7f848f2b791736443639b30bb75709b7122 +DIST rust-1.34.2-arm-unknown-linux-gnueabi.tar.xz 122563056 BLAKE2B 05e73de7d58723affef3f272e646245a97b17373cc960d5e1be0365919ad3879e08bd9012126e41235b97a758bb57fa4e67fcd11e2f29322af9ab039fc3e2dfd SHA512 d6c055e8ba0fd494797a55d2a6df1eec2a6361c0b081e4b7cb06e42a03a644e4de49c7b17dc8cb6484f3271517f2bd50935bc72ead486531b5b370a1c576b12a +DIST rust-1.34.2-arm-unknown-linux-gnueabihf.tar.xz 122858592 BLAKE2B aebe65fb64044c342f525749eb5d67217f459712aa72d49497062af461901a6e92d21b00e05439bd0753228b876f521198a8b005b116b5121ec3dd812df4bec8 SHA512 5cc2612988182b68d9b220d6d7620fc0b064a9d347825d4677959b7e43820647ff25651427db3a5c72401ab8d0c14e2976921d71ddbe0a5b540cf045241cd727 +DIST rust-1.34.2-armv7-unknown-linux-gnueabihf.tar.xz 124601212 BLAKE2B 7ab258783070d3ba1e27431faf36a8c75d0afae935bc4ba08bf1e6b7f080d56cb3a9ac3de8b91ff9885e2df2ccebdf29de80b99548c610ea30c157103b920434 SHA512 fe5be9a345d10ee2b3a47986977be91cd2dd94f2076571f810ac21cea36f79f073eb16915c090861cf46c6835f86db64c2ed1ef036f911b3be829d7927ecb747 +DIST rust-1.34.2-i686-unknown-linux-gnu.tar.xz 169581332 BLAKE2B 75f1fc4c52e81cb9c7f95d18d9aff2439bfc698444321d92f09d5a47e493d693f2cae3d8ee56ccff59ca967a0a2a53828559eefce1398a2450fe39c95397e3e2 SHA512 056243d226cd9a36dfcd266f2aba88adde58dbcfa87f20613183c5dcc514bb413e25f6d6963494dc141f4e91649b17b1db91e6a9d313af7ef7b1893b64337c33 +DIST rust-1.34.2-mips-unknown-linux-gnu.tar.xz 113493608 BLAKE2B 10df3e2eb9fd9200bab1ca94eafd80f680c94bd21589f72fd660e9d819a6615cc83e47ac70df87712e252946f58df30824be992f16ca707b72451898e1884e99 SHA512 ec100071fbd8373baf41f0f517497b9923a77ebea8257d2fdcc9a4488d7ec6d59c0b517f4d922a0f7f699d701510d32d49c1e699c69a94f571f73ba46fe795f3 +DIST rust-1.34.2-mips64-unknown-linux-gnuabi64.tar.xz 119118112 BLAKE2B 8ba04a90e82bf7d830c750350570dde8cfa0646f1ea10c583927cc6c7ceeb935fb4035248d8a3ac4a477a858a32d3753811e2893220b8b3919e882213dd63373 SHA512 bb3c5e8ce24895a07984059fca53f4737777a78d350312292877b8e1c21a7a84320f1fee4d64c9d684d14be5fe500494d38ef3f5ab4e4f0e84cbd3f3d30a8586 +DIST rust-1.34.2-mipsel-unknown-linux-gnu.tar.xz 115776696 BLAKE2B dfe09e60be47c6cbe183e4f4bb358cd6d1fe0872114d6a663ee95cd063155f99688bdf23b5c7230b626351654da8f38c7b763099b8d6c2707e185449267c137c SHA512 91348409dfdb63b82e6b6a3097d181485f05f0dfb6cd3bd80785da2eea23f493a90a4e07e660dbc14e9c887ff7e27bc0d13203c78feece5aca219e439a9c18cf +DIST rust-1.34.2-powerpc-unknown-linux-gnu.tar.xz 116817940 BLAKE2B bd7fcc7e0e8844d23e73bb8bc07f7454d234d4fc96d6549399c399845af147debbfbcdea2c53d1ad5a28126d6c9cc20178634290fb837f0537947f64d688df75 SHA512 b8009e9ab2e9167cce8e1911ec0bebc9959a89bafcb645637f2a55af15a2f4f5d4fa20d6b38b7ae572480f3d3817392b8c6386b6ed589b34dd0a02529da2a459 +DIST rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz 125735384 BLAKE2B c25d43fa630e9b95692bcb493064f592a12ecee700538671192f04cfdf443a5d046493662c88d91f62cc1eba94e80ec9b6bed9949af9a8bc83788521832336d4 SHA512 d1ab37d68c0b52e3780ea133f8ba4d5b823c7f874bbf15f97f304c21405b1fdbde3d28e83381f08095fca8e2ea615f46accad725ee854ad9db168ab4629e30a3 +DIST rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz 129619832 BLAKE2B df76b7c08941ae2cb512ba656b09a7b87e1e656badbadf58d64ab5f9133e7248a63873675ac44f16207107a0f68da6089706b46af94154c0bd51aed655f8b578 SHA512 3c881e7bcf622237f279855ebaeb544f4df9bfe5bc1f74578093d67befed8f027692ea56dc773c653bef8a124e9ebac2544d0c197a0e3a1ec8da63ef9d434412 +DIST rust-1.34.2-s390x-unknown-linux-gnu.tar.xz 134376720 BLAKE2B 3eb1452bc0f5d6cbe5547f18ad039c54d4fee44e8c24e35f3399272755cd293df008db2c7dded32c7853944e43de7a4d337b7408835445a4916dbf55d14a7b3e SHA512 181f58b00cdccb205be853f5d00fc0a0c939b7e4dc801717b21ece0f714a8f3b501f1196eb2e3f3081932a0417a6218763c3d095cdd036e9f202cc41291876a1 +DIST rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz 157279864 BLAKE2B c25fcb6168e16a4deb19a8ca9b3d91966194f4c8d2e60933226fab015b64a819f6e56a6b51b6e9457ce80efaf5bf71f2eed2f3e6e39bef5856524e33d0a5637b SHA512 64d6b7da08ffd877c10d819605a37b0bc178c4ab80e2f7449f3d5ac9254a438e148da3729408b4c9429ed499d7f142c9d2926f5c916e0a32bebaaefe4b0a09a6 DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7 DIST rustc-1.29.2-src.tar.xz 61888912 BLAKE2B f59b0bf45caa6f6136f92ffbaa612bbc6a340c8694ec69d75aadace9180c36753f985641915524388b52cc108f8f5b71840ee3a6c0b1fcff6decb61d2d8a161e SHA512 d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38 DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 170767b64efe670086e7c4e73838b489a155a72c703148f83cad29d401a825a94a1def3aa462ba527e1bd08181c7a9be0e404c25f012906541c3d739eb57e9e5 SHA512 e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5 @@ -92,11 +106,13 @@ DIST rustc-1.31.1-src.tar.xz 96915864 BLAKE2B bedfe1d56e2f99bb43b4b652d540aedf0a DIST rustc-1.32.0-src.tar.xz 99602696 BLAKE2B ab26247e3ecb75dbe373254c1c49f46c00a5a4db2b9cedffccb30122ea3b7de2761d6995b5423d0105caf85cc9542b4c21d487385faa34c835398c3320ccbd3b SHA512 487c405fed6430f62d2d0c38b65f6223b1c5074c7a0d3734dc8b3bb72fca255f5727e49541749569713a0c3e9a67eff574ba5698e8dceca6f0ef20b50f99aa42 DIST rustc-1.33.0-src.tar.xz 100635400 BLAKE2B 1fe8ffcfab8324a93a07b9b9ac9cd050fd9d660fb24884761e8ce5e5a67ce5b6df8513e1440090b39c3ced9cb5ced43f07cc9b0337d39625d2cf4aa9e083cfef SHA512 3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147 DIST rustc-1.34.2-src.tar.xz 95048792 BLAKE2B e81e4bfda87ddfb09ab8a74792346970aa440c678d2bb1279c329db4929282f761ada6fea9d81ceeecfd513613025c8e636487626fc36bd0b33559e045bb1b15 SHA512 f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381 +DIST rustc-1.35.0-src.tar.xz 96543548 BLAKE2B 0291152f2b7aa8b50b22d74afbd9c7654bab8ae7dcb76224dbff43bc39a3b918ff86bfd20f408a9a16da8b20b08d9f0289bb63620f093d25d9fa008de57f52c3 SHA512 477c10b780bd54776be7ecbda0ab970416253e4a87c3e701825a7d07bcbcd91601b8e61129c5d04d4259e89c2e81e87cdbdee853375a8de5c9cf8372be2c9129 EBUILD rust-1.29.1-r1.ebuild 8002 BLAKE2B b1c0f7bb8607faab03876b472224d5f1c2dadef67441fe834a9765d0aa5c483c027af028719407ec9acb3d4a4337c78ababf1afac8a9421a70519e9e90dd6d9c SHA512 c299357f8423c140a41ffcd178c2fb6b9ff46df11403df31d5bb3d039c8494284c73f706ba94546ebebdb6f82e22c5fc5e07a213feaab078e7a94b72807fe2a0 EBUILD rust-1.29.2-r1.ebuild 7534 BLAKE2B 43c508d7642a46035317595c7fa937316cca0f8807beea498d82c1f16e897d4703d3623b0893034f4807de6ab7a9ff9f8e899e33709f545b64eb9ab5ee56e4cb SHA512 3d49193701daf987d23463c62f8d7ba2e9a53c5e04d1e1c97fbd21e344d03ed0adaef3bffc8062db0dc9492201270ded01f1b270b2e9ab7168b57c8bf550c5af EBUILD rust-1.30.1-r1.ebuild 8159 BLAKE2B 9f043b855ac382f79c1d13bfd1cd9c3f8d64db937b6045108a52d987cad5fde152981643d5d67b5796ecdc6637735d877259c116574aede69c9e360be2465f9e SHA512 66dc471dc91a0510cad0bc91b0df688a90ed4fc75cb3bd3846dac9f40e718f51e0e47c884be31586772248928a28b84fe62b0c43e764a3eed3c1e5086f2e4b4a EBUILD rust-1.31.1.ebuild 8157 BLAKE2B 0b22f3e299c6ba5530426630b85cb19d3a2d6065690d48c02a76c849983f0f4fd9dc1019e1ed650cb31dbc2f384112b46e4d937901c695fee8378df220c94d46 SHA512 0a64c18d348481dedb5e9165e34c86aeb8f52e6091b4fc3a3ae7d86fcd15854aaa5356eac133b25aba5ab3687b71d6d1a0ec5a6187b06ce2cb755c0f04586063 EBUILD rust-1.32.0.ebuild 8624 BLAKE2B 22d0f2cd85ed5a96edad7442f7bcb02e854e63d57d94facc0e0117759b3d91119ce9680a456507ca29738fb08efa14626419dd54ce18e161cbab1597389870f5 SHA512 7398e026113a40f222327c0d077216e0b03d7a4db625ff7d119088e957b57f105647f9ad80e8e86cd257d360f5dafbbd0e098030584f5d7fc7217607d3426c0f EBUILD rust-1.33.0.ebuild 8706 BLAKE2B 3b06f3fab34fb5cb3e367dc819ca7f1bfbd659c07697ddb2550174afbb6ddb3f19c48fe3b3c96102204b2287445cdb1e808fe6aa4a457fadb368f00201fd34a2 SHA512 2f7af5e0d7eb14f72792b576d72a6b02131e1ca660f435ca950743be9079886aa3879640de289d3d4b87251bd969960595ffd0732283edfe53775e2a2646f45e -EBUILD rust-1.34.2.ebuild 9011 BLAKE2B 8406478b47236fe8720419378b9cd76c71a90476c98f60933c91d1a9d4297568024fe0c6d95e073b331fc73c1c0aa72f83d3e66dd90ddfb72d4175ca66bb7743 SHA512 096bef12f766f5e13170b67d65a6640cdc0b362a6f27104d8a3cc2909a8ac04d0ab1f37930fbc8dfbccd86ed0f6b423d063006fead1a5ac3b89787bcba5bc552 -MISC metadata.xml 634 BLAKE2B 394e75b1b5b5d9fad1d87dca27d7807bfce9eb723bc339dbb7c0630dc5abd3669e9469a9e75da74925d16d63c78971b0e7c84710db9b2cd15e87d81f49968903 SHA512 9e02acc0ad17e2f502c6082b5df9aeb6b9655783892a85d67855b3f6a79ec36dca610170bb002116c354626d44282c4e35e30cdf6b5e49745cfc6a990f55731c +EBUILD rust-1.34.2.ebuild 9515 BLAKE2B fc8bc404d3c2305bcab018694df4e9f24b32b42166d2c878d6d784d32b658003c8b1f35176399923a862631f238c174f61c5bb0d402362dd130c8e48bd158dae SHA512 473a5d99a422c9873cf44661d6641211b2a107eab9869baefebedfbabb53287628e2e522963d5a294bd9330032c0f6d5e434b0f8e259593f4410e33e514b1328 +EBUILD rust-1.35.0.ebuild 9764 BLAKE2B 1b3b476cb514a7fd0cfeb525932ee20eedfd030f05efbb9571870891ecbc368341b891cf762dfa1fddaf51397452ab3d45854c6a3139cd09c300358d74c0efce SHA512 a5ef739e070f54b78e0490df279908ace7aefc85d96df0d256e358fc6da54d4c4c109d1e98b100d8750624914bb16de897b0de6caa7396b48e9271aba1677ec4 +MISC metadata.xml 612 BLAKE2B 071fd13c4632b3025c351abcce8c72af70e0a2ed07bd3f8c01ef7ce7c5242f519bb0f27df0545eebcb22cbfba5641d3dd6399b2d33db2e5e1bdb18b89a3f39e7 SHA512 aff6c3f8708c0dbc0b61ae9ce6e9505aadcadfff71145fab0afad7034464c3452312aaa890156d9eadcb340e981b785a0855d3b3b8bd0ce1a5270e49f0d90518 diff --git a/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch b/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch new file mode 100644 index 000000000000..1c6c8ca404d9 --- /dev/null +++ b/dev-lang/rust/files/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch @@ -0,0 +1,117 @@ +From d6bd0a479ceaf6abdd696c3b955a56f66275c562 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Sat, 25 May 2019 22:21:16 -0700 +Subject: [PATCH] revert commits triggering multiple llvm rebuilds + +this reverts the following commits +https://github.com/rust-lang/rust/commit/105692c3ad281c63bf0f75a26a66bb9cff5b4553 +https://github.com/rust-lang/rust/commit/975ba58f42b34ff07cd7c2bd73350daed2057186 +https://github.com/rust-lang/rust/commit/e1daa36ba7df88788c2684bbe5ff6eb37f1cda69 +--- + src/bootstrap/llvm-rebuild-trigger | 4 +++ + src/bootstrap/native.rs | 46 +++++++++++++----------------- + 2 files changed, 24 insertions(+), 26 deletions(-) + create mode 100644 src/bootstrap/llvm-rebuild-trigger + +diff --git a/src/bootstrap/llvm-rebuild-trigger b/src/bootstrap/llvm-rebuild-trigger +new file mode 100644 +index 0000000000..0f18c6a4ac +--- /dev/null ++++ b/src/rustllvm/llvm-rebuild-trigger +@@ -0,0 +1,4 @@ ++# If this file is modified, then llvm will be (optionally) cleaned and then rebuilt. ++# The actual contents of this file do not matter, but to trigger a change on the ++# build bots then the contents should be changed so git updates the mtime. ++2019-03-18 +diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs +index fde40b0d1b..3babbc9e10 100644 +--- a/src/bootstrap/native.rs ++++ b/src/bootstrap/native.rs +@@ -67,40 +67,30 @@ impl Step for Llvm { + } + } + +- let (llvm_info, root, out_dir, llvm_config_ret_dir) = if emscripten { +- let info = &builder.emscripten_llvm_info; ++ let rebuild_trigger = builder.src.join("src/rustllvm/llvm-rebuild-trigger"); ++ let rebuild_trigger_contents = t!(fs::read_to_string(&rebuild_trigger)); ++ ++ let (out_dir, llvm_config_ret_dir) = if emscripten { + let dir = builder.emscripten_llvm_out(target); + let config_dir = dir.join("bin"); +- (info, "src/llvm-emscripten", dir, config_dir) ++ (dir, config_dir) + } else { +- let info = &builder.in_tree_llvm_info; + let mut dir = builder.llvm_out(builder.config.build); + if !builder.config.build.contains("msvc") || builder.config.ninja { + dir.push("build"); + } +- (info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin")) ++ (builder.llvm_out(target), dir.join("bin")) + }; +- +- if !llvm_info.is_git() { +- println!( +- "git could not determine the LLVM submodule commit hash. \ +- Assuming that an LLVM build is necessary.", +- ); +- } +- ++ let done_stamp = out_dir.join("llvm-finished-building"); + let build_llvm_config = llvm_config_ret_dir + .join(exe("llvm-config", &*builder.config.build)); +- let done_stamp = out_dir.join("llvm-finished-building"); +- +- if let Some(llvm_commit) = llvm_info.sha() { +- if done_stamp.exists() { +- let done_contents = t!(fs::read(&done_stamp)); ++ if done_stamp.exists() { ++ let done_contents = t!(fs::read_to_string(&done_stamp)); + +- // If LLVM was already built previously and the submodule's commit didn't change +- // from the previous build, then no action is required. +- if done_contents == llvm_commit.as_bytes() { +- return build_llvm_config +- } ++ // If LLVM was already built previously and contents of the rebuild-trigger file ++ // didn't change from the previous build, then no action is required. ++ if done_contents == rebuild_trigger_contents { ++ return build_llvm_config + } + } + +@@ -111,6 +101,7 @@ impl Step for Llvm { + t!(fs::create_dir_all(&out_dir)); + + // http://llvm.org/docs/CMake.html ++ let root = if self.emscripten { "src/llvm-emscripten" } else { "src/llvm-project/llvm" }; + let mut cfg = cmake::Config::new(builder.src.join(root)); + + let profile = match (builder.config.llvm_optimize, builder.config.llvm_release_debuginfo) { +@@ -251,6 +242,11 @@ impl Step for Llvm { + channel::CFG_RELEASE_NUM, + builder.config.channel, + ); ++ let llvm_info = if self.emscripten { ++ &builder.emscripten_llvm_info ++ } else { ++ &builder.in_tree_llvm_info ++ }; + if let Some(sha) = llvm_info.sha_short() { + default_suffix.push_str("-"); + default_suffix.push_str(sha); +@@ -283,9 +279,7 @@ impl Step for Llvm { + + cfg.build(); + +- if let Some(llvm_commit) = llvm_info.sha() { +- t!(fs::write(&done_stamp, llvm_commit)); +- } ++ t!(fs::write(&done_stamp, &rebuild_trigger_contents)); + + build_llvm_config + } +-- +2.21.0 + diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml index cd1133751de1..210155e50b10 100644 --- a/dev-lang/rust/metadata.xml +++ b/dev-lang/rust/metadata.xml @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>rust@gentoo.org</email> - <name>Rust Project</name> - </maintainer> - <use> - <flag name="cargo">Install cargo component</flag> - <flag name="clippy">Install clippy component</flag> - <flag name="system-llvm">Use the system LLVM install</flag> - <flag name="rls">Install rls component</flag> - <flag name="rustfmt">Install rustfmt component</flag> - <flag name="wasm">Build support for the wasm32-unknown-unknown - target</flag> - </use> + <maintainer type="project"> + <email>rust@gentoo.org</email> + <name>Rust Project</name> + </maintainer> + <use> + <flag name="cargo">Install cargo component</flag> + <flag name="clippy">Install clippy component</flag> + <flag name="system-llvm">Use the system LLVM install</flag> + <flag name="rls">Install rls component</flag> + <flag name="rustfmt">Install rustfmt component</flag> + <flag name="wasm">Build support for the wasm32-unknown-unknown + target</flag> + </use> </pkgmetadata> diff --git a/dev-lang/rust/rust-1.34.2.ebuild b/dev-lang/rust/rust-1.34.2.ebuild index 6a8ae98793bc..c0d1a001cbc3 100644 --- a/dev-lang/rust/rust-1.34.2.ebuild +++ b/dev-lang/rust/rust-1.34.2.ebuild @@ -266,6 +266,18 @@ src_install() { "${ED}/usr/${abi_libdir}" || die done + # temp fix for https://bugs.gentoo.org/672816 + if use x86; then + local rust_target wrongdir rightdir + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + wrongdir="${ED}/usr/$(get_libdir)/${P}/${P}/rustlib/${rust_target}/codegen-backends" + rightdir="${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/codegen-backends" + if [[ -e ${wrongdir}/librustc_codegen_llvm-llvm.so ]]; then + mv "${wrongdir}" "${rightdir}" || die + rm -r "${ED}/usr/$(get_libdir)/${P}/${P}" || die + fi + fi # end temp fix + dodoc COPYRIGHT # FIXME: diff --git a/dev-lang/rust/rust-1.35.0.ebuild b/dev-lang/rust/rust-1.35.0.ebuild new file mode 100644 index 000000000000..fb6e6ecf2739 --- /dev/null +++ b/dev-lang/rust/rust-1.35.0.ebuild @@ -0,0 +1,348 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy ) + +inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).2" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz + $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})" + +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling one than more slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 9. +# 3. Specify LLVM_MAX_SLOT, e.g. 8. +LLVM_DEPEND=" + || ( + sys-devel/llvm:8[llvm_targets_WebAssembly?] + wasm? ( =sys-devel/lld-8* ) + ) + <sys-devel/llvm-9:= +" +LLVM_MAX_SLOT=8 + +COMMON_DEPEND=" + sys-libs/zlib + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + net-libs/libssh2 + net-libs/http-parser:= + net-misc/curl[ssl] + system-llvm? ( + ${LLVM_DEPEND} + ) +" + +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + dev-util/cmake +" + +RDEPEND="${COMMON_DEPEND} + >=app-eselect/eselect-rust-20190311 + !dev-util/cargo + rustfmt? ( !dev-util/rustfmt ) +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +PATCHES=( + "${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch + "${FILESDIR}"/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch + "${FILESDIR}"/1.34.0-libressl.patch # bug 684224 +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "$1" true false +} + +pre_build_checks() { + CHECKREQS_DISK_BUILD="7G" + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + CHECKREQS_DISK_BUILD="10G" + fi + eshopts_pop + check-reqs_pkg_setup +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + use system-llvm && llvm_pkg_setup +} + +src_prepare() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die + + # ugly hack for https://bugs.gentoo.org/679806 + # we have to keep it until we switch to 1.35.x bootstrap tarball. + if use ppc64; then + sed -i 's/getentropy/gEtEnTrOpY/g' "${rust_stage0_root}"/bin/cargo || die + export OPENSSL_ppccap=0 + fi + + default +} + +src_configure() { + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + fi + rust_targets="${rust_targets#,}" + + local extended="true" tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + rust_target="$(rust_abi)" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = ${extended} + tools = [${tools}] + verbose = 2 + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)/${P}" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debuginfo = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + default-linker = "$(tc-getCC)" + channel = "stable" + rpath = false + lld = $(usex system-llvm false $(toml_usex wasm)) + EOF + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + cat <<- EOF >> "${S}"/config.env + CFLAGS_${rust_target}=${arch_cflags} + EOF + + cat <<- EOF >> "${S}"/config.toml + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF + if use system-llvm; then + cat <<- EOF >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + EOF + fi + done + + if use wasm; then + cat <<- EOF >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + EOF + fi +} + +src_compile() { + env $(cat "${S}"/config.env)\ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ + --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305 +} + +src_install() { + local rust_target abi_libdir + + env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \ + --exclude src/tools/miri || die + + mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die + mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die + mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die + mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die + mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die + mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die + if use clippy; then + mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die + mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die + fi + if use rls; then + mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die + fi + if use rustfmt; then + mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die + mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die + fi + + # Copy shared library versions of standard libraries for all targets + # into the system's abi-dependent lib directories because the rust + # installer only does so for the native ABI. + for v in $(multilib_get_enabled_abi_pairs); do + if [ ${v##*.} = ${DEFAULT_ABI} ]; then + continue + fi + abi_libdir=$(get_abi_LIBDIR ${v##*.}) + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + mkdir -p "${ED}/usr/${abi_libdir}" + cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \ + "${ED}/usr/${abi_libdir}" || die + done + + # temp fix for https://bugs.gentoo.org/672816 + if use x86; then + local rust_target wrongdir rightdir + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + wrongdir="${ED}/usr/$(get_libdir)/${P}/${P}/rustlib/${rust_target}/codegen-backends" + rightdir="${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/codegen-backends" + if [[ -e ${wrongdir}/librustc_codegen_llvm-llvm.so ]]; then + mv "${wrongdir}" "${rightdir}" || die + rm -r "${ED}/usr/$(get_libdir)/${P}/${P}" || die + fi + fi # end temp fix + + dodoc COPYRIGHT + + # FIXME: + # Really not sure if that env is needed, specailly LDPATH + cat <<-EOF > "${T}"/50${P} + LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}" + MANPATH="${EPREFIX}/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + # note: eselect-rust adds EROOT to all paths below + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + EOF + echo /usr/bin/cargo >> "${T}/provider-${P}" + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." + ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" + ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/sassc/Manifest b/dev-lang/sassc/Manifest index 87cde2b0d5e1..ac0117702ebb 100644 --- a/dev-lang/sassc/Manifest +++ b/dev-lang/sassc/Manifest @@ -1,4 +1,5 @@ DIST sassc-3.5.0.tar.gz 25834 BLAKE2B 69bb085f537ca2fba70aa96326e49f756cab52a8cac631dbe0dc88459a488c65dd856deebea335d4b3539b30658b327c3d32d1e79dae1021893a0627508ceadd SHA512 9c94056f66688016dd8eaae9cc791be4b397406b89f1289946c4481b5e1904486878d22fd65e695ed89f9b41a9f902932eb4074e7b0923ce3d4823ea3140334f -EBUILD sassc-3.5.0.ebuild 699 BLAKE2B f7180d7e093ac26946cdbfe790e5634c69b170f3a47ff51d6f506f4730b3817a595832117315b39e49fd7b826f927a13dd67012cfcab58eb2d93e1bc64e1e965 SHA512 c0fe197a9c74ea7a43be9861f14006f92250b54f1261022df364c416893654f3d0ef82f6c724e0adf70f78743e2be9c4c7d8ef16350c414ceaba3d46bd672592 -EBUILD sassc-9999.ebuild 680 BLAKE2B ed360105f73bd870f5cde3b8df5a05a5b0cdd69909ee7621923d9930d50e797ebdca188fca46ab3fed61579fa7cc92ea12892462f3cea808613624c944ae589e SHA512 7a2f9ffa9074dbf0715cf7583e50629faf8c6ed7b43251ed0fb5b3f9d1860ea39495303bc30403aa882cf07e2fa9000945072a6ac1258ca0624261c17c9d5c9b +DIST sassc-3.6.0.tar.gz 26111 BLAKE2B 91d634bd652607407c48f141aa39260739357f6eeb4bade1fff1bfdd4e4e6e0757712501395c913ef1a8944ec9174649fa5ce657af4afec6f9f0eb7f804e1ff2 SHA512 0d8de651b1587f4994a5da85ad09ec2ce6e240213dbaa567c6b9baa612fe82e337061d9a5a8a3a5588e4c366c1178b6fd04e9d699a0be3d83c68f98bac774527 +EBUILD sassc-3.5.0.ebuild 698 BLAKE2B 1d7011f786cd8f09c8f5c49f0468e7260edae7af9a1f0692b3c687ccdc0abd99d3c7efbf0a913f44fc585f04572cd527fbcf6339d251feb11dfd9332c23e8d79 SHA512 473c1c7b4db1860e6af40ed3e99ee907fe85bd596171cbcfbea92650807dce4c0837c5e230d681d8c2a4e70d3fdefda090c221cb122dc8e6de02ae24693cd662 +EBUILD sassc-3.6.0.ebuild 496 BLAKE2B 5747cb389a0a3439373ebf9733f7f4cec391c1760fcdf3103d0bda5673ee36ff8ae0f45fba890f556225f5573e891eca4e3f6c9aba39bc8d9c47394261d16d23 SHA512 d4630274cad550b73af8584887ef3ad6464bfef751eeb0a04e62d3b86cbfa1eddcb538957811f3435d2a0abf9b2a093039c503a4e4a0698dd09210f46ead337e MISC metadata.xml 561 BLAKE2B ef70ae66272d229a95a709562e8deadf49d5f167c996bbff5c3c20e4e6f3c7ebe22dbb2c56e2f96cbcd05b1c7b5b36b78586c5a1bd64845036fbefe8a91b4cd9 SHA512 fcba87ac993d0ad1748f7ccdd8f7dea50308edff7c7da9146083f9b24e6c876051bec08cc7f117af3215690fbe3516c1093a8db1c5ea4a2eab8b937cf2f3a434 diff --git a/dev-lang/sassc/sassc-3.5.0.ebuild b/dev-lang/sassc/sassc-3.5.0.ebuild index 4d47986fea7c..d4a8b4097e10 100644 --- a/dev-lang/sassc/sassc-3.5.0.ebuild +++ b/dev-lang/sassc/sassc-3.5.0.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} = *9999 ]]; then KEYWORDS= else SRC_URI="https://github.com/sass/sassc/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux" + KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86 ~amd64-linux" fi DESCRIPTION="A libsass command line driver" diff --git a/dev-lang/sassc/sassc-3.6.0.ebuild b/dev-lang/sassc/sassc-3.6.0.ebuild new file mode 100644 index 000000000000..bd5bdc6e9bd3 --- /dev/null +++ b/dev-lang/sassc/sassc-3.6.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +SRC_URI="https://github.com/sass/sassc/archive/${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +DESCRIPTION="A libsass command line driver" +HOMEPAGE="https://github.com/sass/sassc" +LICENSE="MIT" +SLOT="0" +IUSE="" + +RDEPEND="dev-libs/libsass:=" +DEPEND="${RDEPEND}" + +DOCS=( Readme.md ) + +src_prepare() { + default + eautoreconf +} diff --git a/dev-lang/sassc/sassc-9999.ebuild b/dev-lang/sassc/sassc-9999.ebuild deleted file mode 100644 index 847d2e349e3a..000000000000 --- a/dev-lang/sassc/sassc-9999.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools - -if [[ ${PV} = *9999 ]]; then - EGIT_REPO_URI="https://github.com/sass/sassc.git" - inherit git-r3 - KEYWORDS= -else - SRC_URI="https://github.com/sass/sassc/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86 ~amd64-linux" -fi - -DESCRIPTION="A libsass command line driver" -HOMEPAGE="https://github.com/sass/sassc" -LICENSE="MIT" -SLOT="0" -IUSE="" - -RDEPEND=">=dev-libs/libsass-3.5:=" -DEPEND="${RDEPEND}" - -DOCS=( Readme.md ) - -src_prepare() { - default - - if [[ ${PV} != *9999 ]]; then - [[ -f VERSION ]] || echo "${PV}" > VERSION - fi - - eautoreconf -} diff --git a/dev-lang/scala-bin/Manifest b/dev-lang/scala-bin/Manifest index a28b992dc618..1bef57d1b0de 100644 --- a/dev-lang/scala-bin/Manifest +++ b/dev-lang/scala-bin/Manifest @@ -1,5 +1,3 @@ -DIST scala-2.11.8.tgz 28678231 BLAKE2B 3e75e941112afb094e99be76fa7d039b27a32b1cedd645bad43b776ee9136f6ac3951eabe7c7182280f442050a3c7c658d49906b42004965128dd048d2ad73d2 SHA512 c00a0eaa4317c3ffbdbbd9c817f06c5262f0549f22bd7f1886cc22643e34e8909648bbfb58f3a63c453baf045381a52128ff0b18b7a39274ef03aad7daea9fdf DIST scala-2.12.4.tgz 19741785 BLAKE2B e782a4ac000ffcebc2faaac077cbb3cc13f8cc56deb9b3a78f1bddd3d0e6fd282d70f10cfef0780e4ab6a13e8d51b0401f84829b7974bd8823aecab54476ab02 SHA512 e6a9e11974d3bacc5f5dcdfdb379bdd1b430b1682141bed688f02f8b49395aff7c55cdb8da3319dff55da7bd7cfe7545e9b26db9558316ac8b3e29f6bb2c6d74 -EBUILD scala-bin-2.11.8.ebuild 1865 BLAKE2B e089d8a18f217868eb2c063ff237a6eb80aa32f13a5f919248451a02af617c32acdc6468f5f8d7147c0c61477c678d93dd2348a6cc1cdcc8553cb46a2efcdd90 SHA512 84067265c0ae7f7b7edb92994f56b0e25bc889d5f44ec00dab32497d34a84707cce6a46685c46613cc872748080ee782b139258caf3f1ab5c8463c64fbfa81eb EBUILD scala-bin-2.12.4.ebuild 1482 BLAKE2B 1f08b7ae9966682e14958090b42f5b45efcf1e80593fdc31aaeda09a100b46041a5b2a5d601feb52a829188ada9eef20038207fb028c8ab61adb7a51988bbbad SHA512 95bdf1e5108e90739d464d26c45b3c3a6c8949bbe8c8ae82afef56c583b4ef3e65571d798ca6786bea05ee45d8932471e1789cd4df5cbaa420fafbe8be1a9c37 MISC metadata.xml 317 BLAKE2B 47b0d918ff9d4f2287fc0c43a022b978a816aa0d96362cf449210cd6b13810ed1352dbe69c5bea8281cdd3f3d03f4dcf714589e414b27abd5cd8c648e3d64994 SHA512 506fab7ebaa9e1caf96f239d6d85978171b98282ebe22a4948f61df62ce05a4c22772d81159cec9a99dd9a127b602e7593615204142e295d88835f9385a64bc8 diff --git a/dev-lang/scala-bin/scala-bin-2.11.8.ebuild b/dev-lang/scala-bin/scala-bin-2.11.8.ebuild deleted file mode 100644 index 83f4905b76f4..000000000000 --- a/dev-lang/scala-bin/scala-bin-2.11.8.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -JAVA_PKG_IUSE="doc" - -inherit java-pkg-2 - -MY_PN="${PN%-*}" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="The Scala Programming Language" -HOMEPAGE="http://scala.epfl.ch/" -SRC_URI="http://downloads.lightbend.com/${MY_PN}/${PV}/${MY_P}.tgz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc" - -RDEPEND=" - >=virtual/jre-1.6 - !dev-lang/scala" - -S="${WORKDIR}/${MY_P}" - -src_prepare() { - default - ebegin 'Cleaning .bat files' - rm -f bin/*.bat || die - eend $? - - ebegin 'Patching SCALA_HOME variable in bin/ directory' - local f - for f in bin/*; do - sed -i -e 's#\(SCALA_HOME\)=.*#\1=/usr/share/scala-bin#' $f || die - done - eend $? -} - -src_compile() { - :; -} - -src_install() { - ebegin 'Installing bin scripts' - dobin bin/* - eend $? - - ebegin 'Installing jar files' - cd lib/ || die - - # Unversion those libs - java-pkg_newjar scala-continuations-library_*.jar scala-continuations-library.jar - java-pkg_newjar akka-actor_*.jar akka-actor.jar - java-pkg_newjar config-*.jar config.jar - java-pkg_newjar scala-actors-2.11.0.jar scala-actors.jar - java-pkg_newjar scala-actors-migration_*.jar scala-actors-migration.jar - java-pkg_newjar scala-swing_*.jar scala-swing.jar - java-pkg_newjar scala-parser-combinators_*.jar scala-parser-combinators.jar - java-pkg_newjar scala-xml_*.jar scala-xml.jar - java-pkg_newjar jline-*.jar jline.jar - java-pkg_newjar scala-continuations-plugin_*.jar scala-continuations-plugin.jar - java-pkg_newjar scalap-*.jar scalap.jar - - # Install these the usual way - java-pkg_dojar scala-compiler.jar - java-pkg_dojar scala-library.jar - java-pkg_dojar scala-reflect.jar - - eend $? - - cd ../ || die - - ebegin 'Installing man pages' - doman man/man1/*.1 - eend $? - - if use doc; then - ebegin 'Installing documentation' - java-pkg_dohtml -r doc/tools - eend $? - fi -} diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index 5059e21424f3..913030d900e6 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -10,6 +10,7 @@ DIST swipl-8.1.1.tar.gz 10378521 BLAKE2B 5753ecb40c7e1877bc369ced28b3e0d13a3ecc1 DIST swipl-8.1.2.tar.gz 10433753 BLAKE2B 0137be404b855ee470ad4a96e74833fda83370a690baa6793fdc5ba6a0180694b494da17294a44912228630e0ab2d0042fb54152dd9a4c11298dc6ffc0f48f01 SHA512 c700275529e9f43568f2698fce7d65d017f47fa738f9fceba6ebab9f35a7dba1e1a0251c240b8ad3a313bbe157a7e586c45025985dbd7f92bf1b55cf83020f8f DIST swipl-8.1.3.tar.gz 10507142 BLAKE2B 6171eba64a70e48517287900346a43f90fbacb7e409a5331188647423997c700bc44c0d2d714af49ab38646da224295148a76bee700753c365952819b051dc2a SHA512 cb698684cf6e98b01c9e466514be82ceeea5d308dc483c5ddb4d539244e7e8787d0ccc473eebbfd708e0e25d34402256f3f943740e559a462199977469f93c59 DIST swipl-8.1.4.tar.gz 10547608 BLAKE2B dc6184e35e9ddb2b82579262c33abae64de53e690209940223176182c6e6120b1a4869829e8da299cbff1dc6474ffd2bc142c58da332b7e7e28c1b65245e04fc SHA512 e425d2d3bde8c3d375870bfaf1c70e143c4ef7596c2441f66a2cab7c1e6081c1d1e49e4c2f65c2f0cc181a0c0bb87c859430e38e057c713f4bdff979eba95153 +DIST swipl-8.1.5.tar.gz 10547299 BLAKE2B 2fd158ed21da8ca20cbd6a593f384e4ba362b493e338012c6e6c410dfdc64861fa8613fba33e6553cc26ef360d910ce708c45df6c020bebca756b3df5a0a777e SHA512 992f3d8deacce5bf9b5277ec30f79bff0c8d765ff891b126d9f30a7c2c0a3dca7448c58083007a677f162d371143a6936e08e8395b72f6ddc2efecd16b56fcef EBUILD swi-prolog-7.4.2.ebuild 3398 BLAKE2B 368ef93ceb17042a28699f9aa469e6b5c39aa29154b810e43fd050ab3bc1079f83680cfac8f4108c7c297a51e9bdd28357a0b6241c08faef3ea5f81ab1605558 SHA512 76d094f62e442ac86d32eaf467179fdcf4d4edf6034f711104e91f8a01b7e343208ef0b6e492ed18c8c0605b96a48f1adef8f3903f861c716e882cb9695b0dd2 EBUILD swi-prolog-7.6.3.ebuild 3395 BLAKE2B 6445c399d7a7518bcd4ce05b9ea0bf50c7d0297d5a24d9ef84a48c36600077cea8c8b77b010d28e25dfe0766e12d1f560f42e5597a602f6bdfc7351ea6e0fa62 SHA512 830766267d3e4b60897dfcdab5263cee600ccfa2cd80f970ef3b4c3695cc3ddf9989ae85527f45cdf124898210f108a98a32a613de2543a8db813d42482b0687 EBUILD swi-prolog-7.6.4.ebuild 3456 BLAKE2B 55d9eb2b52f47dc7fd5df9f2743775e7aabd4f070d93e31f51b038f278604909f1f48dbb4cbd12ba96614f8619923712c465d424eb224874ba158f1670d615d5 SHA512 cf64a47e39b21557915fcd6e88ac5bb01fc56bb26afebf81dedaa087ac12a3c5952383a55594dbe22de8885c6a3afd47858963a4c0c68f705be20045a518d12d @@ -20,4 +21,5 @@ EBUILD swi-prolog-8.1.1.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb0 EBUILD swi-prolog-8.1.2.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954 EBUILD swi-prolog-8.1.3.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954 EBUILD swi-prolog-8.1.4.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954 +EBUILD swi-prolog-8.1.5.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954 MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3 diff --git a/dev-lang/swi-prolog/swi-prolog-8.1.5.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.5.ebuild new file mode 100644 index 000000000000..b986aa50d899 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.1.5.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils eutils flag-o-matic multilib + +PATCHSET_VER="0" + +DESCRIPTION="versatile implementation of the Prolog programming language" +HOMEPAGE="http://www.swi-prolog.org/" +SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0 ) + libressl? ( dev-libs/libressl ) + ) + java? ( >=virtual/jdk-1.7:= ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" +BUILD_DIR="${S}/build" +CMAKE_USE_DIR="${S}" + +src_prepare() { + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die + + eapply_user + + cmake-utils_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake-utils_src_configure +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake-utils_src_test -V +} diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index 3e529160c4ea..55e4f2bcf436 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -6,8 +6,8 @@ DIST vala-0.40.14.tar.xz 3398668 BLAKE2B 6df1e47439000e1a49dda4d58651b7039737a26 DIST vala-0.40.15.tar.xz 3406020 BLAKE2B aaa2967a140fae94b4609f4b54f2e37c71fe79453cb3ea30568ee018d2227d1c45061440ad632bcfc53650fbe4dba2f062d8095f95936623a49efb5e97f2c2bb SHA512 abb918b00afab7a85586f9bd26b78be87e19b725752cbb77dd428da2e6241b1f3d4aaa70e3e6daf6f373562d02f1ff8016e6c9107e2bf088d9b84334adecdda2 DIST vala-0.42.7.tar.xz 3362192 BLAKE2B 59f76d43f4bf80f75681c386cb30c4686bf93444bcd371900b134e0338ab865cf61d4cfd35facfff47c78075c384028cbcbd318eb927444f15862f7a28bccaa1 SHA512 d9044b126c91f3b1835a7182a054464339e4e2e52e63df90f43d2d5d9cba06fd6bb7eed5f6aa4d502f43f0a1232610d39d244952cfca54f63eb019e764899eca EBUILD vala-0.36.18.ebuild 798 BLAKE2B 6def4d1f13ee1fd84f2405da15b6cab064ec882b2ba4fd497636966414308dddefda9357d0559b052277476becf2856ca923f62007f0a319ea90cc3a0fcf572d SHA512 2bbd7d899f35cfbe72ee2c9304ff2d68e87babb06fa6f8c2ea94edbe95cb3b039e33e565d5af6cda978cf6e8517cc5cd51f763dcf6f9963c5c5ae30ae434555e -EBUILD vala-0.36.19.ebuild 805 BLAKE2B d1e2fae71c5009adfe901fe0f1cd56fd32f417f69fcd98901e933a5c394691cdc4301d7c4f1bd01aff7dc5d5dc9a5db01ac7fe123240b629bc8bd5dbf9702765 SHA512 7b021166ad34977a3aa25321e41917f5a6542f055f702a1695b78fba5c8cbc00015a8625be16986696c5b40c6bea2e1ab588d66253d27b20985bb7698ef39de1 +EBUILD vala-0.36.19.ebuild 804 BLAKE2B 208f6ee381eeb8b60bb67538b9004f51bf65142f1add23c1f404479fe95157cacb45450dfa5074d38ac3abf747360a3c2c67572309c92a831b7f2eb4186d4132 SHA512 0186e1cf0dfe553f6c502d1b33e63348357a4103a508c4da0e4cd4f6dd569abfdaff70dd48558bbaea9980fc45007c8167c3c57ded1fa8d05642e1863b906838 EBUILD vala-0.40.14.ebuild 1185 BLAKE2B 1cb8b3efdd6f010c5524aabced06132f9f90920d3345e216df0dcb555ab2d4c10afa196271b2623d71d5b4dc57ce2705677275c1da7c0099925e82d5cb1eac26 SHA512 5e271726a2e71902440df5c03897f9c1960d83bb6eff5d2f4a1213d791190a2f34a81fdefb165427c9ca3a92aacdc801c5bb4be5b98fca27ed0b9adafc4d5158 -EBUILD vala-0.40.15.ebuild 1192 BLAKE2B 26f7ebf1955a9396baf32e789eade714101ed82f56b6d475c838489c8c2731cf22cb4316e3a31fe04f13320f7b9d4d751eae140a86f4f4c3a3a39943fe38ee8d SHA512 2d2f80a104a733935c602bf5d2cd2ef9d0b9a61e8270c4ec4b814303742c02289445fb6dc31e5ee47da5e66cd4e1bee0504b3aae896899505ae337cb90787fcc -EBUILD vala-0.42.7.ebuild 1191 BLAKE2B bb137b4196e723ab329a8aa6a6dacb2d567a28944997027ae64072ea50759bbe05cf4e3568db56b036fe5f7124077e56eac04deb420e6d1ae377065ea47a9b12 SHA512 03b727370367909af869a658a6b6197dc475a08c24777fbf3f555fee264b8af9efb22aa1d675a68e46fd4da34636ac2820b8421d9eee10459163fe9dafe9db7a +EBUILD vala-0.40.15.ebuild 1191 BLAKE2B 1a3a2902d4daae423932ba4ef6aa2e7dc5264b12b7a581567726f7a47424f2de60ff32fc8b319852a4a3aaed3ea3231684dab342e6db45452e690736e42c9067 SHA512 6fdac52c1395d439d3612abd74865f4df7420e81c3089bb07b71f320d5d2401a0c80a40275652b97658134bd4fdbf4418349dae9bc18ac521c28607c0c161ca1 +EBUILD vala-0.42.7.ebuild 1190 BLAKE2B e88bed17f88950dcc9bc14b8ab4ec5b25a51fe652db873988c01236127abe9f310404cd4f3c1029c1cd6afccc19f7ab737e5e01bd1f6e7a268a0a8244d42d230 SHA512 bf1cb81ce39ccaa2f5ca5ccd1e3eb8f636f9e74429ab2d56e48b192d9a6f7b4256e779abd81a4935a642551ca5c145dc90c51edc04e694be5beda2a52487281c MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283 diff --git a/dev-lang/vala/vala-0.36.19.ebuild b/dev-lang/vala/vala-0.36.19.ebuild index f21ded3c27a4..5fdfe5ba6247 100644 --- a/dev-lang/vala/vala-0.36.19.ebuild +++ b/dev-lang/vala/vala-0.36.19.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.36" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" IUSE="test" RDEPEND=" diff --git a/dev-lang/vala/vala-0.40.15.ebuild b/dev-lang/vala/vala-0.40.15.ebuild index 728f726e7e84..680b76597a8f 100644 --- a/dev-lang/vala/vala-0.40.15.ebuild +++ b/dev-lang/vala/vala-0.40.15.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.40" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" IUSE="test valadoc" RDEPEND=" diff --git a/dev-lang/vala/vala-0.42.7.ebuild b/dev-lang/vala/vala-0.42.7.ebuild index 7dcbcd726b17..9631eeca9959 100644 --- a/dev-lang/vala/vala-0.42.7.ebuild +++ b/dev-lang/vala/vala-0.42.7.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.42" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" IUSE="test valadoc" RDEPEND=" |