diff options
Diffstat (limited to 'dev-lang')
233 files changed, 6038 insertions, 9474 deletions
diff --git a/dev-lang/R/metadata.xml b/dev-lang/R/metadata.xml index 8972d9ed88ca..21e52c304999 100644 --- a/dev-lang/R/metadata.xml +++ b/dev-lang/R/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci-mathematics@gentoo.org</email> - <name>Gentoo Mathematics Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="project"> + <email>sci-mathematics@gentoo.org</email> + <name>Gentoo Mathematics Project</name> + </maintainer> + <longdescription lang="en"> R is GNU S, a system for statistical computation and graphics. It consists of a language plus a run-time environment with graphics, a debugger, access to certain system functions, and the ability to run @@ -21,4 +21,6 @@ packages") are available for a variety of specific purposes but are not distributed with this package. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ats/ats-0.2.9.ebuild b/dev-lang/ats/ats-0.2.9.ebuild index 829e15d5cec4..6bc5f274f0e4 100644 --- a/dev-lang/ats/ats-0.2.9.ebuild +++ b/dev-lang/ats/ats-0.2.9.ebuild @@ -4,7 +4,7 @@ EAPI=5 DESCRIPTION="ATS Programming Language" -HOMEPAGE="http://www.ats-lang.org" +HOMEPAGE="https://www.ats-lang.org" SRC_URI="http://downloads.sourceforge.net/project/ats-lang/ats-lang/anairiats-${PV}/${PN}-lang-anairiats-${PV}.tgz" SLOT="0" diff --git a/dev-lang/ats/metadata.xml b/dev-lang/ats/metadata.xml index 1b23acd3e816..1d45188b7458 100644 --- a/dev-lang/ats/metadata.xml +++ b/dev-lang/ats/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">downloads</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">downloads</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/bas/bas-2.4.ebuild b/dev-lang/bas/bas-2.4.ebuild index 30a9f6103abf..37323eb21a40 100644 --- a/dev-lang/bas/bas-2.4.ebuild +++ b/dev-lang/bas/bas-2.4.ebuild @@ -6,7 +6,7 @@ EAPI=7 inherit autotools toolchain-funcs DESCRIPTION="An interpreter for the classic dialect of the programming language BASIC" -HOMEPAGE="http://www.moria.de/~michael/bas/" +HOMEPAGE="https://www.moria.de/~michael/bas/" SRC_URI="http://www.moria.de/~michael/bas/${P}.tar.gz" LICENSE="LGPL-2.1" diff --git a/dev-lang/bas/metadata.xml b/dev-lang/bas/metadata.xml index 62afbf117e8a..4cf27d3b37ef 100644 --- a/dev-lang/bas/metadata.xml +++ b/dev-lang/bas/metadata.xml @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <use> - <flag name="lr0">Use the LR0 parser instead of the recursive descending parser</flag> - </use> -</pkgmetadata> + + <use> + <flag name="lr0">Use the LR0 parser instead of the recursive descending parser</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/bashforth/bashforth-0.58a.ebuild b/dev-lang/bashforth/bashforth-0.58a.ebuild index 478a916465ba..76464d63e6a0 100644 --- a/dev-lang/bashforth/bashforth-0.58a.ebuild +++ b/dev-lang/bashforth/bashforth-0.58a.ebuild @@ -4,7 +4,7 @@ EAPI=7 DESCRIPTION="String-threaded Forth interpreter in Bash" -HOMEPAGE="http://github.com/ForthHub/ForthFreak" +HOMEPAGE="https://github.com/ForthHub/ForthFreak" SRC_URI="http://forthfreak.net/${PN}.versions/${P}" LICENSE="GPL-2" diff --git a/dev-lang/bashforth/metadata.xml b/dev-lang/bashforth/metadata.xml index d920e3ba3e56..5da7ff511b14 100644 --- a/dev-lang/bashforth/metadata.xml +++ b/dev-lang/bashforth/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>blueness@gentoo.org</email> - <name>Anthony G. Basile</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>blueness@gentoo.org</email> + <name>Anthony G. Basile</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/bff/metadata.xml b/dev-lang/bff/metadata.xml index 007aaf442ea7..72c099e5e5dc 100644 --- a/dev-lang/bff/metadata.xml +++ b/dev-lang/bff/metadata.xml @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <email>amynka@gentoo.org</email> -</maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>amynka@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/c-intercal/metadata.xml b/dev-lang/c-intercal/metadata.xml index 3789335be519..885049fd8906 100644 --- a/dev-lang/c-intercal/metadata.xml +++ b/dev-lang/c-intercal/metadata.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> + <maintainer type="person"> <email>ulm@gentoo.org</email> -</maintainer> -<longdescription> + </maintainer> + <longdescription> An implementation of the language INTERCAL, legendary for its perversity and horribleness (this version adds COME FROM for extra flavor). Comes with language manual and examples including possibly the entire extant body of INTERCAL code. Now supports i18n and l14n (to Ancient Roman locale only). Now with fix patch by Donald Knuth. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/cfortran/metadata.xml b/dev-lang/cfortran/metadata.xml index abd077c49f95..2ad0c1178455 100644 --- a/dev-lang/cfortran/metadata.xml +++ b/dev-lang/cfortran/metadata.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> cfortran is a header file to ease bridge between C and FORTRAN. It provides an interface between C and FORTRAN routines and global data, i.e. structures and COMMON blocks. This package includes patches from Debian for better support on newer compilers and architectures. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/cll1h/metadata.xml b/dev-lang/cll1h/metadata.xml index 6f49eba8f496..83d00b14c8d4 100644 --- a/dev-lang/cll1h/metadata.xml +++ b/dev-lang/cll1h/metadata.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/clojure/metadata.xml b/dev-lang/clojure/metadata.xml index d3f6b1a43343..5d5f934c032a 100644 --- a/dev-lang/clojure/metadata.xml +++ b/dev-lang/clojure/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">clojure/clojure</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">clojure/clojure</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/closure-compiler-bin/metadata.xml b/dev-lang/closure-compiler-bin/metadata.xml index 4b808e719a5a..484acbb0a841 100644 --- a/dev-lang/closure-compiler-bin/metadata.xml +++ b/dev-lang/closure-compiler-bin/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">google/closure-compiler</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">google/closure-compiler</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/coffee-script/metadata.xml b/dev-lang/coffee-script/metadata.xml index cd39081640ef..d63967ec9b19 100644 --- a/dev-lang/coffee-script/metadata.xml +++ b/dev-lang/coffee-script/metadata.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">jashkenas/coffeescript</remote-id> - </upstream> - <longdescription> + <longdescription> CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. The golden rule of CoffeeScript is: "It's just JavaScript." The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable, pretty-printed, and tends to run as fast or faster than the equivalent handwritten JavaScript. </longdescription> -</pkgmetadata> + <upstream> + <remote-id type="github">jashkenas/coffeescript</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/crystal/metadata.xml b/dev-lang/crystal/metadata.xml index 76b2f7772585..74c615137721 100644 --- a/dev-lang/crystal/metadata.xml +++ b/dev-lang/crystal/metadata.xml @@ -1,33 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <longdescription lang="en"> Crystal is a programming language that resembles Ruby but compiles to native code and tries to be much more efficient, at the cost of disallowing certain dynamic aspects of Ruby. </longdescription> - <use> - <flag name="debug"> + <upstream> + <remote-id type="github">manastech/crystal</remote-id> + </upstream> + <use> + <flag name="debug"> Build each module as a separate object file. Speeds build up. </flag> - <flag name="blocking-stdio-hack"> + <flag name="blocking-stdio-hack"> Keep STDIO file descriptors in blocking mode. </flag> - <flag name="yaml"> + <flag name="yaml"> Use the <pkg>dev-libs/libyaml</pkg> library to enable Crystal yaml module </flag> - <flag name="xml"> + <flag name="xml"> Use the <pkg>dev-libs/libxml2</pkg> library to enable Crystal xml module </flag> - </use> - <upstream> - <remote-id type="github">manastech/crystal</remote-id> - </upstream> -</pkgmetadata> - + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/cxprolog/metadata.xml b/dev-lang/cxprolog/metadata.xml index 96eff3ea40c0..e89f088d838d 100644 --- a/dev-lang/cxprolog/metadata.xml +++ b/dev-lang/cxprolog/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/duktape/duktape-2.6.0.ebuild b/dev-lang/duktape/duktape-2.6.0.ebuild index 9a5300f0e887..446fe2b1882e 100644 --- a/dev-lang/duktape/duktape-2.6.0.ebuild +++ b/dev-lang/duktape/duktape-2.6.0.ebuild @@ -13,7 +13,7 @@ LICENSE="MIT" # Upstream don't maintain binary compatibility # https://github.com/svaarala/duktape/issues/1524 SLOT="0/${PV}" -KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" PATCHES=( "${FILESDIR}/${PN}-2.6.0-respect-tc-env.patch" diff --git a/dev-lang/duktape/metadata.xml b/dev-lang/duktape/metadata.xml index 0ce1ed4de1e5..038e24d425ee 100644 --- a/dev-lang/duktape/metadata.xml +++ b/dev-lang/duktape/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>thev00d00@gentoo.org</email> - <name>Ian Whyman</name> - </maintainer> - <upstream> - <remote-id type="github">svaarala/duktape</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>thev00d00@gentoo.org</email> + <name>Ian Whyman</name> + </maintainer> + <upstream> + <remote-id type="github">svaarala/duktape</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 9f9de7f05df4..68c6d2064205 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -1,3 +1,2 @@ DIST elixir-1.10.4.tar.gz 2331003 BLAKE2B 8cb54bcb16762ae345ad9d36a25c28696fd5bb57cf97c5037c21458671e001cfe51a722287243c6a70fe3cea65c9c219e759c8312fc168e93974ac5f0870b47a SHA512 844e405cf344539a9d32dc7f1ead0dc1dfb0d70a9ab718269f4e25e5262f611f96346f5be93cf8e34a75c58c6aabb12e8a796c5cb182955922510c270ef169e7 -DIST elixir-1.11.2.tar.gz 2391833 BLAKE2B 1c11e96830c8719e05e5bc832d4e1d9ca5bb8036803360568fbf4a06a11bb8eb4656aaf1e57a7e04669ddc240d1c04c6a15475e98fcf613ea8bf52b15723fe7f SHA512 472a531353d5f393b0223008ac95ae67b0dc6708143df59a4dd359fdb631329f8a8bded886f53be232e076d194e14a76325fab51a59ec2451706f4f35836bc70 DIST elixir-1.11.3.tar.gz 2394406 BLAKE2B 066e11651265d63c713809f1968b7dc7faf70e8254ef0aec1978a3db0f92da6bb894e882a1a6c1ba8da13d234c91dc84d2d750b0e044e4cd8706986ec7b2f382 SHA512 4962bb9fcf5f4190a8da22a3e42df5b4e521d73771f6a067edb482b911b0f9fbd2883841d06d94ae4ad6b1db2f61f691e5de4c118c722a16f95830c67ce3e45b diff --git a/dev-lang/elixir/elixir-1.11.2.ebuild b/dev-lang/elixir/elixir-1.11.2.ebuild deleted file mode 100644 index 00e05b4cf117..000000000000 --- a/dev-lang/elixir/elixir-1.11.2.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Elixir programming language" -HOMEPAGE="https://elixir-lang.org" -SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 ErlPL-1.1" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86" -IUSE="test" - -RESTRICT="!test? ( test )" - -DEPEND=" - >=dev-lang/erlang-21:0=[ssl] -" -# 'mix' tool collides with sci-biology/phylip, bug #537514 -RDEPEND="${DEPEND} - !!sci-biology/phylip -" -DEPEND+=" - test? ( dev-vcs/git ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch - "${FILESDIR}"/${PN}-1.10.3-no-Q.patch - "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch - "${FILESDIR}"/${PN}-1.11.2-mksh.patch -) - -src_install() { - emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install - dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md -} diff --git a/dev-lang/elixir/metadata.xml b/dev-lang/elixir/metadata.xml index fbe86b3bebe7..6f1f41dfb806 100644 --- a/dev-lang/elixir/metadata.xml +++ b/dev-lang/elixir/metadata.xml @@ -1,30 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>styx.mp@gmail.com</email> - <name>Mikhail</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <upstream> - <bugs-to> - https://github.com/elixir-lang/elixir/issues - </bugs-to> - <changelog> - https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md - </changelog> - <doc lang="en"> - http://elixir-lang.org/docs.html - </doc> - <remote-id type="github"> - elixir-lang/elixir - </remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>styx.mp@gmail.com</email> + <name>Mikhail</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <upstream> + <remote-id type="github">
			elixir-lang/elixir
		</remote-id> + <changelog>
			https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md
		</changelog> + <bugs-to>
			https://github.com/elixir-lang/elixir/issues
		</bugs-to> + <doc lang="en">
			http://elixir-lang.org/docs.html
		</doc> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index a795d0c7e2c0..9213ce9ac495 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,9 +1,9 @@ DIST erlang-23.0.4.tar.gz 56394805 BLAKE2B 10a4e9e3084ad2d1bb10fa736d86eb03fa6b249f83b9d06bfef4c37f99ad86dd1415c2fbaa1524cddaf57dd228d25f388fa9fe9f5b4a03ba7477080e11020fb1 SHA512 53d4b7a5e76113bb3a9695a266e58dbebb57887b1eea4e8acb56bb85d194295231d739719d526dfc6d1f0bf745d7f059fdf5ec9dc79859f5b16a75c4d0a6b348 -DIST erlang-23.2.1.tar.gz 56580525 BLAKE2B 4b5d4be9d0501dd2eb5d44357ccc9a169dc3b5742380264a7929e6aebf1d003327b2c109aa7dc4ad668f1576376e54022ff240f41df7af9010184d643eae2371 SHA512 444c19fac295a979321ccde1f516156a25faa79d66437ddf7bc0a197f3fb8d2ddd6c056d565f9b6bc47e8444b8feda790c4844dbe95ec0b300428fb22c4e0531 DIST erlang-23.2.2.tar.gz 56594755 BLAKE2B 3f5c552d3cd070b36bc7a1112b9541f358001ee4ad49a62ccce3462b02b642d4abc0bf8844e5441168be850f5588cf4ecdbf545fcff60e7746cec637898f2c7e SHA512 26743a7a4b2e31e63c0940ed6fdad64427c22e0f08fc063e1b8639bea6fa89c6b24e9c87ca572475d3ce39a18857ef6143676653cdf97b374656ae49f5892633 DIST erlang-23.2.3.tar.gz 56590563 BLAKE2B 319dbdeedfd74dc6341494d5ed81734c15475ea364f0b5690ff4d8030d7aea30fe66831fa06197e8a7334d48bdb4f0345effcf92afe1b70dd0ab79b5700cba1c SHA512 c1c176d908ac0a2470926997ec62d0e2d330aac25202e24314af1d57171d460fd5582e9ece9e289d7eb5c2728a6966b130e14ada10ba8ead04d47a849287ded4 DIST erlang-23.2.4.tar.gz 56590253 BLAKE2B b15cb4c09c119cbf94978aa117c35451212b071b7ade2f426da920d8f44a7d229e9c1f11e82fec55efe97181f46b41123a1c30a757fdd25cfa81dca035b620af SHA512 12d10d0f2522a6df0007ee662335055dee3e2dad2be2a877e42c6fb7c3ca6ff613437a92523845a5e41c2b18ee2221de96c3d4a33acf5c3c5e4e3a1d093c2cac -DIST erlang-23.2.tar.gz 56581092 BLAKE2B f3191b99465ab18eaf13c6d15f79ae150fb04337450b3ff145532aab0da229c44c082bb138a79c84860f09107a363c34e2b2505ce38c6c8dea1ede5fbe3ce044 SHA512 3bdb464992387c5a352c11bf9dc49c6a982dac10865d2b668d8db6fb45db15f4d79d38976d04fbbd51568ee9efb8b5295bb06b6fee37b81fde6fa43c51dcc313 +DIST erlang-23.2.5.tar.gz 56602498 BLAKE2B c31d1e7d514f845f0775a9b032b3182f5600792b4b8621eb6e18dfc28e94a65d1ef993b689baaa440fd96c5485bd242a1bd48f1d27c1808bff702ed59a94e741 SHA512 8738adc67901e6a118338057e56f28e7c8a0482e452ec53b643d3af2c3aad04c95a856f9a4f0c2938d2db13fd6891c1be8770e34fa377444cd667da558033df3 +DIST erlang-23.2.6.tar.gz 56603314 BLAKE2B de710d1d36ffc2cba9c99aab7343fd686047ab31f8b4cb06f180564d3ad4a4f11f2d59d6b8f7b3c0a33054fbc28a595651a104c72aae57158ccca0d2eae344d9 SHA512 b8fb509e573188f3228192acb44a7df849f7e43a4ac03d566d7dfe530837630a17572857b114e8eadbc7236d169d26658a88f4a5896b28075b31e296ea4e63f1 DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927 DIST erlang_doc_html_23.2.tar.gz 36537148 BLAKE2B b19d3fb5836b50512db6913ccb9116bc06ef4677c9514db89714ac72a9e7569b2c52612c357ccbf9a12610000885cbc8a43cc17f80c533a3c65af89c1b592ba6 SHA512 0d334dfe46ecffd6ff720d176c4514e2d49ba1b5feccd80f8392a8335100a6c289207431d2c0da02043c923de083290f9fd23726a1d1481508acdd7596f67ea4 DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f diff --git a/dev-lang/erlang/erlang-23.2.2.ebuild b/dev-lang/erlang/erlang-23.2.2.ebuild index e78f4f36b069..49ccfd9fc16e 100644 --- a/dev-lang/erlang/erlang-23.2.2.ebuild +++ b/dev-lang/erlang/erlang-23.2.2.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-23.2.3.ebuild b/dev-lang/erlang/erlang-23.2.3.ebuild index e78f4f36b069..49ccfd9fc16e 100644 --- a/dev-lang/erlang/erlang-23.2.3.ebuild +++ b/dev-lang/erlang/erlang-23.2.3.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-23.2.1.ebuild b/dev-lang/erlang/erlang-23.2.5.ebuild index 27ebfc6b45ee..e78f4f36b069 100644 --- a/dev-lang/erlang/erlang-23.2.1.ebuild +++ b/dev-lang/erlang/erlang-23.2.5.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" @@ -50,7 +50,6 @@ S="${WORKDIR}/otp-OTP-${PV}" PATCHES=( "${FILESDIR}"/18.2.1-wx3.0.patch "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch - "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch ) SITEFILE=50"${PN}"-gentoo.el diff --git a/dev-lang/erlang/erlang-23.2.ebuild b/dev-lang/erlang/erlang-23.2.6.ebuild index 27ebfc6b45ee..e78f4f36b069 100644 --- a/dev-lang/erlang/erlang-23.2.ebuild +++ b/dev-lang/erlang/erlang-23.2.6.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" @@ -50,7 +50,6 @@ S="${WORKDIR}/otp-OTP-${PV}" PATCHES=( "${FILESDIR}"/18.2.1-wx3.0.patch "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch - "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch ) SITEFILE=50"${PN}"-gentoo.el diff --git a/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch b/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch deleted file mode 100644 index 3c3a119270dd..000000000000 --- a/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- a/lib/crypto/configure.in -+++ b/lib/crypto/configure.in -@@ -26,10 +26,11 @@ dnl define([AC_CACHE_SAVE], )dnl - AC_INIT(vsn.mk) - - if test -z "$ERL_TOP" || test ! -d "$ERL_TOP" ; then -- AC_CONFIG_AUX_DIRS(autoconf) -+ : -+ AC_CONFIG_AUX_DIR(autoconf) - else - erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) -+ AC_CONFIG_AUX_DIR(../../erts/autoconf) - fi - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then ---- a/lib/megaco/configure.in -+++ b/lib/megaco/configure.in -@@ -26,10 +26,11 @@ dnl define([AC_CACHE_SAVE], )dnl - AC_INIT(vsn.mk) - - if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) -+ : -+ AC_CONFIG_AUX_DIR(autoconf) - else - erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) -+ AC_CONFIG_AUX_DIR(../../erts/autoconf) - fi - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then ---- a/lib/odbc/configure.in -+++ b/lib/odbc/configure.in -@@ -26,10 +26,11 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(c_src/odbcserver.c) - - if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) -+ : -+ AC_CONFIG_AUX_DIR(autoconf) - else - erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) -+ AC_CONFIG_AUX_DIR(../../erts/autoconf) - fi - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then ---- a/lib/snmp/configure.in -+++ b/lib/snmp/configure.in -@@ -5,10 +5,11 @@ define([AC_CACHE_SAVE], )dnl - AC_INIT(vsn.mk) - - if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) -+ : -+ AC_CONFIG_AUX_DIR(autoconf) - else - erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) -+ AC_CONFIG_AUX_DIR(../../erts/autoconf) - fi - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then ---- a/lib/wx/configure.in -+++ b/lib/wx/configure.in -@@ -20,7 +20,7 @@ dnl %CopyrightEnd% - - AC_INIT() - --AC_CONFIG_AUX_DIRS($srcdir/autoconf) -+AC_CONFIG_AUX_DIR($srcdir/autoconf) - - AC_PREREQ(2.59) - -@@ -30,10 +30,11 @@ if test -f ./CONF_INFO; then - fi - - if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -+ : - AC_MSG_ERROR([ERL_TOP is not set]) - else - erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) -+ AC_CONFIG_AUX_DIR(../../erts/autoconf) - WX_BUILDING_INSIDE_ERLSRC=true - fi - ---- a/make/configure.in -+++ b/make/configure.in -@@ -82,7 +82,7 @@ AC_SUBST(ERL_TOP) - dnl - dnl Aux programs are found in erts/autoconf - dnl --AC_CONFIG_AUX_DIR(${srcdir}/erts/autoconf) -+AC_CONFIG_AUX_DIR(../erts/autoconf) - - dnl - dnl Figure out what we are running on. And in violation of autoconf diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml index 7e9a773063d1..001d54eda90a 100644 --- a/dev-lang/erlang/metadata.xml +++ b/dev-lang/erlang/metadata.xml @@ -1,26 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <maintainer type="person"> - <email>arkamar@atlas.cz</email> - <name>Petr Vaněk</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> - <use> - <flag name="hipe">HIgh Performance Erlang extension</flag> - <flag name="kpoll">Enable kernel polling support</flag> - </use> - <longdescription> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <maintainer type="person"> + <email>arkamar@atlas.cz</email> + <name>Petr Vaněk</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> Erlang is a programming language designed at the Ericsson Computer Science Laboratory. Open-source Erlang is being released to help encourage the spread of Erlang outside Ericsson. </longdescription> -</pkgmetadata> + + <use> + <flag name="hipe">HIgh Performance Erlang extension</flag> + <flag name="kpoll">Enable kernel polling support</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/esco/metadata.xml b/dev-lang/esco/metadata.xml index af98e87ab5b2..157b1884298d 100644 --- a/dev-lang/esco/metadata.xml +++ b/dev-lang/esco/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>pinkbyte@gentoo.org</email> - <name>Sergey Popov</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">esco</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">esco</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/execline/metadata.xml b/dev-lang/execline/metadata.xml index a297f89a0795..885d8d60b152 100644 --- a/dev-lang/execline/metadata.xml +++ b/dev-lang/execline/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <longdescription lang="en"> Execline is a non-interactive scripting language similar to sh. According to the home page, the syntax is far mor logical and predictable than sh, and has no security issues. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/f2c/metadata.xml b/dev-lang/f2c/metadata.xml index 52a68bb17fdb..2e00f34f556a 100644 --- a/dev-lang/f2c/metadata.xml +++ b/dev-lang/f2c/metadata.xml @@ -1,18 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> F2C compiles FORTRAN 77 sources by converting to C/C++ sources and compiling the later with gcc. The resulting binaries depend on the libf2c runtime library. </longdescription> - <longdescription lang="de"> + <longdescription lang="de"> F2C kompiliert FORTRAN 77 Quellcode durch Konvertierung in C/C++ Quellcode und deren anschließendes Kompilieren mit Hilfe von gcc. Die produzierten Binärdateien benötigen die Laufzeitbibliothek libf2c. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ferite/metadata.xml b/dev-lang/ferite/metadata.xml index e00696046401..2ae6bb2467f6 100644 --- a/dev-lang/ferite/metadata.xml +++ b/dev-lang/ferite/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="sourceforge">ferite</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="sourceforge">ferite</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/fpc/metadata.xml b/dev-lang/fpc/metadata.xml index f42de96b8d5a..a434b2a9d580 100644 --- a/dev-lang/fpc/metadata.xml +++ b/dev-lang/fpc/metadata.xml @@ -1,13 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>amynka@gentoo.org</email> - </maintainer> - <use> - <flag name="ide">Build and install the Free Pascal Compiler IDE</flag> - </use> - <upstream> - <remote-id type="sourceforge">freepascal</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>amynka@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="sourceforge">freepascal</remote-id> + </upstream> + <use> + <flag name="ide">Build and install the Free Pascal Compiler IDE</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/gdl/metadata.xml b/dev-lang/gdl/metadata.xml index 16e4a758b28f..25d03fbf154d 100644 --- a/dev-lang/gdl/metadata.xml +++ b/dev-lang/gdl/metadata.xml @@ -1,24 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> A free IDL (Interactive Data Language) compatible incremental compiler (ie. runs IDL programs). IDL is a registered trademark of ITT Visual Information Solutions. </longdescription> - <use> - <flag name="eigen">Build matrix manipulation with <pkg>dev-cpp/eigen</pkg></flag> - <flag name="hdf">Add support for the Hierarchical Data Format v.4</flag> - <flag name="glpk">Use GNU Linear Programming Kit <pkg>sci-mathematics/glpk</pkg></flag> - <flag name="gshhs">Add support for projection adn continent maps with <pkg>sci-geosciences/gshhs-data</pkg></flag> - <flag name="proj">Add support for <pkg>sci-libs/proj</pkg> (geographic projections)</flag> - <flag name="udunits">Add support for manipulating units of physical quantities</flag> - </use> - <upstream> - <remote-id type="sourceforge">gnudatalanguage</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="sourceforge">gnudatalanguage</remote-id> + </upstream> + <use> + <flag name="eigen">Build matrix manipulation with <pkg>dev-cpp/eigen</pkg></flag> + <flag name="hdf">Add support for the Hierarchical Data Format v.4</flag> + <flag name="glpk">Use GNU Linear Programming Kit <pkg>sci-mathematics/glpk</pkg></flag> + <flag name="gshhs">Add support for projection adn continent maps with <pkg>sci-geosciences/gshhs-data</pkg></flag> + <flag name="proj">Add support for <pkg>sci-libs/proj</pkg> (geographic projections)</flag> + <flag name="udunits">Add support for manipulating units of physical quantities</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/gforth/metadata.xml b/dev-lang/gforth/metadata.xml index 03e8585377c7..d81b01593620 100644 --- a/dev-lang/gforth/metadata.xml +++ b/dev-lang/gforth/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <use> - <flag name='check'>Enable build-time sanity check.</flag> - </use> -</pkgmetadata> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + + <use> + <flag name="check">Enable build-time sanity check.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ghc/metadata.xml b/dev-lang/ghc/metadata.xml index eef249cad285..f5158a643e40 100644 --- a/dev-lang/ghc/metadata.xml +++ b/dev-lang/ghc/metadata.xml @@ -1,16 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>haskell@gentoo.org</email> - <name>Gentoo Haskell</name> - </maintainer> - <use> - <flag name="binary">Install the binary version directly, rather than using it to build the source version.</flag> - <flag name="elfutils">Enable DWARF-based backtraces using <pkg>dev-libs/elfutils</pkg>.</flag> - <flag name="ghcbootstrap">Internal: Bootstrap GHC from an existing GHC installation.</flag> - <flag name="ghcmakebinary">Internal: Build binary friendly for redistribution.</flag> - <flag name="gmp">Use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).</flag> - <flag name="numa">Enable NUMA thread balancing policy using <pkg>sys-process/numactl</pkg>.</flag> - </use> -</pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + + <use> + <flag name="binary">Install the binary version directly, rather than using it to build the source version.</flag> + <flag name="elfutils">Enable DWARF-based backtraces using <pkg>dev-libs/elfutils</pkg>.</flag> + <flag name="ghcbootstrap">Internal: Bootstrap GHC from an existing GHC installation.</flag> + <flag name="ghcmakebinary">Internal: Build binary friendly for redistribution.</flag> + <flag name="gmp">Use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).</flag> + <flag name="numa">Enable NUMA thread balancing policy using <pkg>sys-process/numactl</pkg>.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml index d3aadec0e515..1eacf2061699 100644 --- a/dev-lang/gnat-gpl/metadata.xml +++ b/dev-lang/gnat-gpl/metadata.xml @@ -1,38 +1,40 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>ada@gentoo.org</email> - </maintainer> - <use> - <flag name="ada">Build the ADA language (GNAT) frontend</flag> - <flag name="awt">Useful only when building GCJ, this enables Abstract + <maintainer type="project"> + <email>ada@gentoo.org</email> + </maintainer> + + <use> + <flag name="ada">Build the ADA language (GNAT) frontend</flag> + <flag name="awt">Useful only when building GCJ, this enables Abstract Window Toolkit (AWT) peer support on top of GTK+</flag> - <flag name="bootstrap">Used to bootstrap gnat-gpl</flag> - <flag name="cilk">Support the Cilk Plus language (C/C++ based languages for parallel programming)</flag> - <flag name="fixed-point">Enable fixed-point arithmetic support for MIPS + <flag name="bootstrap">Used to bootstrap gnat-gpl</flag> + <flag name="cilk">Support the Cilk Plus language (C/C++ based languages for parallel programming)</flag> + <flag name="fixed-point">Enable fixed-point arithmetic support for MIPS targets in gcc (Warning: significantly increases compile time!) </flag> - <flag name="gcj">Build the GCJ Java language frontend.</flag> - <flag name="go">Build the GCC Go language frontend.</flag> - <flag name="graphite">Add support for the framework for loop + <flag name="gcj">Build the GCJ Java language frontend.</flag> + <flag name="go">Build the GCC Go language frontend.</flag> + <flag name="graphite">Add support for the framework for loop optimizations based on a polyhedral intermediate representation</flag> - <flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag> - <flag name="libssp">Build SSP support into a dedicated library rather + <flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag> + <flag name="libssp">Build SSP support into a dedicated library rather than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag> - <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag> - <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag> - <flag name="nptl">Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)</flag> - <flag name="objc">Build support for the Objective C code language + <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag> + <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag> + <flag name="nptl">Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)</flag> + <flag name="objc">Build support for the Objective C code language </flag> - <flag name="objc++">Build support for the Objective C++ language</flag> - <flag name="objc-gc">Build support for the Objective C code language + <flag name="objc++">Build support for the Objective C++ language</flag> + <flag name="objc-gc">Build support for the Objective C code language Garbage Collector</flag> - <flag name="pgo">Build GCC using Profile Guided Optimization (PGO)</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> -</pkgmetadata> + <flag name="pgo">Build GCC using Profile Guided Optimization (PGO)</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> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/gnuprologjava/metadata.xml b/dev-lang/gnuprologjava/metadata.xml index 96eff3ea40c0..e89f088d838d 100644 --- a/dev-lang/gnuprologjava/metadata.xml +++ b/dev-lang/gnuprologjava/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/go-bootstrap/metadata.xml b/dev-lang/go-bootstrap/metadata.xml index bf9239d9ce53..8ce2e6921efa 100644 --- a/dev-lang/go-bootstrap/metadata.xml +++ b/dev-lang/go-bootstrap/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <longdescription lang="en"> This package is used only to boot strap <pkg>dev-lang/go</pkg>. It is not meant to be used by end users directly. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 578221786ff2..b8ad7adfbba0 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -2,3 +2,4 @@ DIST go1.14.14.src.tar.gz 22557733 BLAKE2B aa3638c7a20f89e90bf17e9da1b12323cc8c0 DIST go1.14.15.src.tar.gz 22557340 BLAKE2B 1170cb9d5c0c6686c0c49b4bef1f5d7afcf495a3989fb98c51f1e881eaf1c7502a9517dd9da8d84e091bd6e0d5a88f1d448bf430733a69b44ae0b00c217ba2ba SHA512 94cacf8c86789600fae09a1da4055b9a436977b18488d85bb91494eece8a8e012e1b68924a8a50714c2d17db19d1e84a4a6bec91fa10fd8415c9739c9a348dc1 DIST go1.15.7.src.tar.gz 23017978 BLAKE2B 15b0827fb56b8e9208c65e8f7f11c7f67820efce1627b4123e937301bb437c597e87adfff9a2eee9aaf53ba0f22eb2f10746bafb7247b4250566f20181b7a2a0 SHA512 7b3e8bcd2fc95baad41f8b5f0456c009e01896d160e65c2670d51c23d8cfcf7a6801e831e6f9a8877fe58c8f54ac8f75bf6e7935b38ba7aaa51dc8e46cf76ddb DIST go1.15.8.src.tar.gz 23018628 BLAKE2B 234208b16865f0ac1567e12d3f2dee379f64220a8a04e4b4057d065d3b12e1a110688f165ddc25accf96eab7d8bd2da3717cdd18b74f8d391da8b404bf40ae4f SHA512 4b805425550aff5c38f1f66fa7f7b3282b20850b1c0735898ee62820080514a2a6ab573f1d6984656c5bb955ec2b10cef90fbb7ab6a6c8f1e75ebc0964a04a80 +DIST go1.16.src.tar.gz 20895394 BLAKE2B 7ac4939394f873d748b7436fccc926591d34e5f046d6a5dc4548e494b523ceae5f0c30e90494993536240ebf01563774fb2103cd2e7911f72997dd2d20aeb112 SHA512 9c43e0ebb2d35c694b652cae8d4040ce3f3c8c014abd9496c92c78cc015ecea5b5331e7c2acf098d0c24dec222454ea09d834df4b6bc90d46e9feeac0ac578bf diff --git a/dev-lang/go/go-1.16.ebuild b/dev-lang/go/go-1.16.ebuild new file mode 100644 index 000000000000..461f57dcd52f --- /dev/null +++ b/dev-lang/go/go-1.16.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2021 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 + +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-linux ~x86-linux ~x64-macos ~x64-solaris" + ;; + esac +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://golang.org" + +LICENSE="BSD" +SLOT="0/${PV}" + +BDEPEND="|| ( + dev-lang/go + dev-lang/go-bootstrap )" +RDEPEND="!<dev-go/go-tools-0_pre20150902" + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# 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) ]] +} + +src_compile() +{ + if has_version -b dev-lang/go; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b dev-lang/go-bootstrap; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + 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 + bash -x ./make.bash || die "build failed" +} + +src_test() +{ + go_cross_compile && return 0 + + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die +} + +src_install() +{ + # 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. + # The use of cp is deliberate in order to retain permissions + # [1] https://golang.org/issue/2775 + dodir /usr/lib/go + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done + + # install the @golang-rebuild set for Portage + insinto /usr/share/portage/config/sets + newins "${FILESDIR}"/go-sets.conf go.conf +} + +pkg_postinst() { + [[ -z ${REPLACING_VERSIONS} ]] && return + einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" + einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}" + einfo "due to the static linking nature of go." + einfo "If this is not done, the packages compiled with the older" + einfo "version of the compiler will not be updated until they are" + einfo "updated individually, which could mean they will have" + einfo "vulnerabilities." + einfo "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" + einfo "See https://bugs.gentoo.org/752153 for more info" +} diff --git a/dev-lang/go/metadata.xml b/dev-lang/go/metadata.xml index 1050d935da86..0eaaeb2fe844 100644 --- a/dev-lang/go/metadata.xml +++ b/dev-lang/go/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <longdescription lang="en"> Go is a new systems programming language developped at google by Rob Pike. It has garbage collection, coroutines, communication channels and a clean syntax. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/gprolog/metadata.xml b/dev-lang/gprolog/metadata.xml index 96eff3ea40c0..e89f088d838d 100644 --- a/dev-lang/gprolog/metadata.xml +++ b/dev-lang/gprolog/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/hy/metadata.xml b/dev-lang/hy/metadata.xml index c3656b2c2e2a..37a3eb7c2952 100644 --- a/dev-lang/hy/metadata.xml +++ b/dev-lang/hy/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <upstream> - <remote-id type="github">hylang/hy</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="github">hylang/hy</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/icon/metadata.xml b/dev-lang/icon/metadata.xml index 3a8dc81cb0aa..5414bb6318fd 100644 --- a/dev-lang/icon/metadata.xml +++ b/dev-lang/icon/metadata.xml @@ -1,15 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>cwills@witznd.net</email> - <name>Cheyenne Wills</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Gentoo Proxy Maintainers Project</name> - </maintainer> - <use> - <flag name="iplsrc">install the icon programming library source</flag> - </use> -</pkgmetadata> + <maintainer type="person"> + <email>cwills@witznd.net</email> + <name>Cheyenne Wills</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Gentoo Proxy Maintainers Project</name> + </maintainer> + + <use> + <flag name="iplsrc">install the icon programming library source</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/inform/metadata.xml b/dev-lang/inform/metadata.xml index 42730dae3fb8..720ec80d7d82 100644 --- a/dev-lang/inform/metadata.xml +++ b/dev-lang/inform/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> + <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> @@ -41,4 +41,6 @@ as a revival of the then-disused Infocom adventure game format, the Z-Machine, Inform came full circle when it produced Infocom's only text game of the 1990s: Zork: The Undiscovered Underground, by Mike Berlyn and Marc Blank. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/interprolog/metadata.xml b/dev-lang/interprolog/metadata.xml index 96eff3ea40c0..e89f088d838d 100644 --- a/dev-lang/interprolog/metadata.xml +++ b/dev-lang/interprolog/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ispc/metadata.xml b/dev-lang/ispc/metadata.xml index 285bd7dd7050..9e56040ed73b 100644 --- a/dev-lang/ispc/metadata.xml +++ b/dev-lang/ispc/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">ispc/ispc</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">ispc/ispc</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/janet/metadata.xml b/dev-lang/janet/metadata.xml index 9baceda37874..1b5087f13080 100644 --- a/dev-lang/janet/metadata.xml +++ b/dev-lang/janet/metadata.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <name>Oz Tiram</name> - <email>oz.tiram@gmail.com</email> -</maintainer> -<maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> -</maintainer> -<longdescription lang="en"> + <maintainer type="person"> + <email>oz.tiram@gmail.com</email> + <name>Oz Tiram</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> Janet is a functional and imperative programming language and bytecode interpreter. It is a modern lisp, but lists are replaced by other data structures with better utility and performance @@ -17,12 +17,13 @@ The language also supports bridging to native code written in C, meta-programming with macros, and bytecode assembly. </longdescription> -<upstream> - <remote-id type="github">janet-lang/janet</remote-id> -</upstream> -<use> - <flag name="static-libs">install janet static library archive, + <upstream> + <remote-id type="github">janet-lang/janet</remote-id> + </upstream> + <use> + <flag name="static-libs">install janet static library archive, you must enable this flag for using `jpm build` </flag> -</use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild index a4aa61225d8c..d08b847ee8bd 100644 --- a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild +++ b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild @@ -6,7 +6,7 @@ EAPI="7" inherit eutils SRC_URI="https://github.com/msteveb/jimtcl/archive/${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="amd64 ~arm ~arm64 ~m68k ~mips ~s390 x86" +KEYWORDS="amd64 arm ~arm64 ~m68k ~mips ~s390 x86" DESCRIPTION="Small footprint implementation of Tcl programming language" HOMEPAGE="https://jim.tcl.tk/" diff --git a/dev-lang/jimtcl/metadata.xml b/dev-lang/jimtcl/metadata.xml index 291af1db3c00..260925b7a09a 100644 --- a/dev-lang/jimtcl/metadata.xml +++ b/dev-lang/jimtcl/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">msteveb/jimtcl</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">msteveb/jimtcl</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/jsonnet/jsonnet-0.15.0.ebuild b/dev-lang/jsonnet/jsonnet-0.15.0.ebuild index 4c69b42734e4..15070e98cbfa 100644 --- a/dev-lang/jsonnet/jsonnet-0.15.0.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.15.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9,10} ) inherit toolchain-funcs flag-o-matic distutils-r1 -DESCRIPTION="A data templating language for app and tool developers " +DESCRIPTION="A data templating language for app and tool developers" HOMEPAGE="https://jsonnet.org/" SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="custom-optimization python" diff --git a/dev-lang/jsonnet/jsonnet-0.16.0-r2.ebuild b/dev-lang/jsonnet/jsonnet-0.16.0-r2.ebuild index be43410adf7c..383c48daec0c 100644 --- a/dev-lang/jsonnet/jsonnet-0.16.0-r2.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.16.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit toolchain-funcs flag-o-matic distutils-r1 -DESCRIPTION="A data templating language for app and tool developers " +DESCRIPTION="A data templating language for app and tool developers" HOMEPAGE="https://jsonnet.org/" SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="custom-optimization doc examples python" diff --git a/dev-lang/jsonnet/jsonnet-0.16.0.ebuild b/dev-lang/jsonnet/jsonnet-0.16.0.ebuild index 706d287de423..4a0adb8f2494 100644 --- a/dev-lang/jsonnet/jsonnet-0.16.0.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.16.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9,10} ) inherit toolchain-funcs flag-o-matic distutils-r1 -DESCRIPTION="A data templating language for app and tool developers " +DESCRIPTION="A data templating language for app and tool developers" HOMEPAGE="https://jsonnet.org/" SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="custom-optimization python" diff --git a/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild b/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild index 6f56f69b1e19..7a79ac5a1435 100644 --- a/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit toolchain-funcs flag-o-matic distutils-r1 -DESCRIPTION="A data templating language for app and tool developers " +DESCRIPTION="A data templating language for app and tool developers" HOMEPAGE="https://jsonnet.org/" SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" IUSE="custom-optimization doc examples python" diff --git a/dev-lang/jsonnet/metadata.xml b/dev-lang/jsonnet/metadata.xml index 6a3ebc349696..9028c9de2433 100644 --- a/dev-lang/jsonnet/metadata.xml +++ b/dev-lang/jsonnet/metadata.xml @@ -1,19 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>coles.david@gmail.com</email> - <name>David Coles</name> - </maintainer> - <maintainer type="person"> - <email>chutzpah@gentoo.org</email> - <name>Patrick McLean</name> - </maintainer> - <upstream> - <remote-id type="github">google/jsonnet</remote-id> - </upstream> - <use> - <flag name="custom-optimization">Build with user-specified compiler optimizations + <maintainer type="person"> + <email>coles.david@gmail.com</email> + <name>David Coles</name> + </maintainer> + <maintainer type="person"> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <upstream> + <remote-id type="github">google/jsonnet</remote-id> + </upstream> + <use> + <flag name="custom-optimization">Build with user-specified compiler optimizations (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> - </use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/julia-bin/metadata.xml b/dev-lang/julia-bin/metadata.xml index 33f454aec98f..a9bf72a59172 100644 --- a/dev-lang/julia-bin/metadata.xml +++ b/dev-lang/julia-bin/metadata.xml @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> - </maintainer> - <maintainer type="person"> - <email>jeffrey@icurse.nl</email> - <name>Jeffrey Lin</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>tamiko@gentoo.org</email> + <name>Matthias Maier</name> + </maintainer> + <maintainer type="person"> + <email>jeffrey@icurse.nl</email> + <name>Jeffrey Lin</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated @@ -25,7 +25,8 @@ functions, and overloading them for different combinations of argument types (which can also be user-defined). </longdescription> - <upstream> - <remote-id type="github">JuliaLang/julia</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">JuliaLang/julia</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/julia/metadata.xml b/dev-lang/julia/metadata.xml index 3acb5a656485..9f0932c39c1d 100644 --- a/dev-lang/julia/metadata.xml +++ b/dev-lang/julia/metadata.xml @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> - </maintainer> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>tamiko@gentoo.org</email> + <name>Matthias Maier</name> + </maintainer> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated @@ -25,10 +25,11 @@ functions, and overloading them for different combinations of argument types (which can also be user-defined). </longdescription> - <upstream> - <remote-id type="github">JuliaLang/julia</remote-id> - </upstream> - <use> - <flag name="system-llvm">(Try to) Use the system LLVM install. YMMV.</flag> - </use> -</pkgmetadata> + <upstream> + <remote-id type="github">JuliaLang/julia</remote-id> + </upstream> + <use> + <flag name="system-llvm">(Try to) Use the system LLVM install. YMMV.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/jwasm/metadata.xml b/dev-lang/jwasm/metadata.xml index be7d54b1219a..2677682bcaaa 100644 --- a/dev-lang/jwasm/metadata.xml +++ b/dev-lang/jwasm/metadata.xml @@ -1,11 +1,12 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">jwasm</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">jwasm</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/lazarus/metadata.xml b/dev-lang/lazarus/metadata.xml index fef814902c1b..2f117afeb116 100644 --- a/dev-lang/lazarus/metadata.xml +++ b/dev-lang/lazarus/metadata.xml @@ -1,13 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>amynka@gentoo.org</email> - </maintainer> - <use> - <flag name="minimal">Don't build extra packages from the bigide component</flag> - </use> - <upstream> - <remote-id type="sourceforge">downloads</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>amynka@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="sourceforge">downloads</remote-id> + </upstream> + <use> + <flag name="minimal">Don't build extra packages from the bigide component</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/lfe/metadata.xml b/dev-lang/lfe/metadata.xml index 9345ada5e45d..a5ca79cc27a3 100644 --- a/dev-lang/lfe/metadata.xml +++ b/dev-lang/lfe/metadata.xml @@ -1,17 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <longdescription lang="en"> LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang compiler. Code produced with it is compatible with "normal" Erlang code. An LFE evaluator and shell is also included. </longdescription> - <upstream> - <remote-id type="github">rvirding/lfe</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">rvirding/lfe</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/lisaac/metadata.xml b/dev-lang/lisaac/metadata.xml index 6f49eba8f496..83d00b14c8d4 100644 --- a/dev-lang/lisaac/metadata.xml +++ b/dev-lang/lisaac/metadata.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/logtalk/metadata.xml b/dev-lang/logtalk/metadata.xml index 7adf5e18089a..d1f9374d9a0b 100644 --- a/dev-lang/logtalk/metadata.xml +++ b/dev-lang/logtalk/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -<use> - <flag name="xslt">Support for generating html documentation using xslt</flag> - <flag name="fop">Support for generating pdf documentation using fop</flag> -</use> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <use> + <flag name="xslt">Support for generating html documentation using xslt</flag> + <flag name="fop">Support for generating pdf documentation using fop</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/lua/metadata.xml b/dev-lang/lua/metadata.xml index 0ce90a652d2d..0a6086a12d8e 100644 --- a/dev-lang/lua/metadata.xml +++ b/dev-lang/lua/metadata.xml @@ -1,16 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> -</maintainer> -<maintainer type="person"> - <email>robbat2@gentoo.org</email> - <name>Robin H. Johnson</name> -</maintainer> -<use> - <flag name="deprecated">make deprecated data structures/routines available</flag> - <flag name="test-complete">Run the complete (non-portable) testsuite</flag> -</use> -</pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + + <use> + <flag name="deprecated">make deprecated data structures/routines available</flag> + <flag name="test-complete">Run the complete (non-portable) testsuite</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml index ef8e19ce5906..85ab0c93d49c 100644 --- a/dev-lang/luajit/metadata.xml +++ b/dev-lang/luajit/metadata.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> - <use> - <flag name="lua52compat"> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + + <use> + <flag name="lua52compat"> Enable some upwards-compatible features from Lua 5.2 that are unlikely to break existing code. </flag> - </use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/maude/metadata.xml b/dev-lang/maude/metadata.xml index 2a557bd7618e..eb8def090ae9 100644 --- a/dev-lang/maude/metadata.xml +++ b/dev-lang/maude/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription> Maude is a high-performance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications. Maude has been influenced in important ways @@ -13,4 +13,6 @@ sublanguage. Besides supporting equational specification and programming, Maude also supports rewriting logic computation. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mercury-extras/metadata.xml b/dev-lang/mercury-extras/metadata.xml index d51dcb06bfde..abc9d5477c3b 100644 --- a/dev-lang/mercury-extras/metadata.xml +++ b/dev-lang/mercury-extras/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> + <maintainer type="person"> <email>keri@gentoo.org</email> <name>Keri Harris</name> -</maintainer> -<use> + </maintainer> + + <use> <flag name="tommath">Enable support for tommath library</flag> -</use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mercury/metadata.xml b/dev-lang/mercury/metadata.xml index 9ecd0bc6506f..d66b25a87584 100644 --- a/dev-lang/mercury/metadata.xml +++ b/dev-lang/mercury/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>keri@gentoo.org</email> - <name>Keri Harris</name> - </maintainer> - <use> - <flag name="erlang">Support Mercury Erlang grade</flag> - <flag name="trail">Support Mercury trail grades</flag> - </use> -</pkgmetadata> + <maintainer type="person"> + <email>keri@gentoo.org</email> + <name>Keri Harris</name> + </maintainer> + + <use> + <flag name="erlang">Support Mercury Erlang grade</flag> + <flag name="trail">Support Mercury trail grades</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/micropython/metadata.xml b/dev-lang/micropython/metadata.xml index e644fcc0141c..5885aa1dfdd2 100644 --- a/dev-lang/micropython/metadata.xml +++ b/dev-lang/micropython/metadata.xml @@ -1,18 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>monsieurp@gentoo.org</email> - <name>Patrice Clement</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <upstream> - <remote-id type="github">micropython/micropython</remote-id> - </upstream> - <longdescription lang="en"> + <maintainer type="person"> + <email>monsieurp@gentoo.org</email> + <name>Patrice Clement</name> + </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <longdescription lang="en"> The MicroPython project aims to put an implementation of Python 3.x on microcontrollers and small embedded systems. MicroPython implements the entire Python 3.4 syntax (including exceptions, @@ -27,4 +24,8 @@ MicroPython can execute scripts in textual source form or from precompiled bytecode, in both cases either from an on-device filesystem or "frozen" into the MicroPython executable. </longdescription> -</pkgmetadata> + <upstream> + <remote-id type="github">micropython/micropython</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mlton/metadata.xml b/dev-lang/mlton/metadata.xml index bcf28489a614..4dd43d21b71c 100644 --- a/dev-lang/mlton/metadata.xml +++ b/dev-lang/mlton/metadata.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <use> - <flag name="binary">install a binary version</flag> - <flag name="bootstrap-smlnj">Boostrap mlton with dev-lang/smlnj + <upstream> + <remote-id type="sourceforge">mlton</remote-id> + </upstream> + <use> + <flag name="binary">install a binary version</flag> + <flag name="bootstrap-smlnj">Boostrap mlton with dev-lang/smlnj (takes a long time)</flag> - <flag name="stage3">After bootstrap building mlton with + <flag name="stage3">After bootstrap building mlton with dev-lang/smlnj, rebuild mlton with the second stage build of mlton (recommended).</flag> - <flag name="pax_kernel">Enable if the user plans to run the + <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> - </use> - <upstream> - <remote-id type="sourceforge">mlton</remote-id> - </upstream> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mmix/metadata.xml b/dev-lang/mmix/metadata.xml index e7b0978f1b8a..bcf9b97a06dc 100644 --- a/dev-lang/mmix/metadata.xml +++ b/dev-lang/mmix/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> - </maintainer> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>tamiko@gentoo.org</email> + <name>Matthias Maier</name> + </maintainer> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest index ce8896647701..603a960aacf8 100644 --- a/dev-lang/moarvm/Manifest +++ b/dev-lang/moarvm/Manifest @@ -6,3 +6,4 @@ DIST MoarVM-2020.09.tar.gz 5361349 BLAKE2B 4846f7b44a238f6f2b40e829999c4939cb6cd DIST MoarVM-2020.10.tar.gz 5362845 BLAKE2B 1486fbbe5407aaf010a2b929458750989820e62d9baadcf66ae97df55c93914639bc988ffe30055fee0a0b0f88f73d9de8d253e138b6d594581160d976831280 SHA512 5251d564909313ca7a660d462370e899d415cbd0b493da189abde952d80992c3e04525b2d8ae5066c9c4ea2c99860e38f9a8beaee4ea0d53d9b32973104fa7d3 DIST MoarVM-2020.11.tar.gz 5402860 BLAKE2B f29ec4a8f4979fd65adb24cbfbbed586b69d47dd1176770e1e0e46a8bc35ef90146bae468fd6e088cd19201ba7e43d43d486d569970a81a695d6b642f57c2417 SHA512 c3ffe128db43316f93ad19f2804cd963cd2613dc46ffd29b099a165f122f6e7fdf28ce0b6c226a31f44abaeca72468f6774c39ceac3cea992596e8ce042ae7a5 DIST MoarVM-2020.12.tar.gz 5429137 BLAKE2B dbf9b0b29226dde10b27ddb9195678c86efc77eff16b57745d31dbcef316c8ba4f5233e2c3672b436d089ce59d4ed9acc908e483d081768946c088708caf5711 SHA512 2e95a3336f0b5687f525a5117daf6cd62da6c59fd6d96d508637a30ca5a0bc7a86a35bb21f09f29068e2ec940b859944838eec4c4a2412a3f3bf8320c3d9cfd5 +DIST MoarVM-2021.02.tar.gz 5451480 BLAKE2B a714b135296c309812719b7fb14e2ea999820599a23796403e6512952edba327e4f685fb5f8ec8ea3b5ef2fc12c4303a6077a71a5bc325cdd287e27cc87e3e01 SHA512 23f54c0746aec4b4b35adcb07eb7f8cc81751d3552ef537ed29353d3ff9d46544c495475cb2c147bb80cb0917e79216e142ee5cf643fa4e76f72caadb3354f1c diff --git a/dev-lang/moarvm/metadata.xml b/dev-lang/moarvm/metadata.xml index 544cc2f4ef43..73f5f991e6d5 100644 --- a/dev-lang/moarvm/metadata.xml +++ b/dev-lang/moarvm/metadata.xml @@ -1,22 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <maintainer type="project"> - <email>perl@gentoo.org</email> - <name>Gentoo Perl Project</name> - </maintainer> - <use> - <flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag> - <flag name="clang">Use clang compiler instead of GCC</flag> - <flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag> - <flag name="optimize">Enable optimization via CFLAGS</flag> - <flag name="ubsan">Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.</flag> - </use> - <upstream> - <remote-id type="github">MoarVM/MoarVM</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + <upstream> + <remote-id type="github">MoarVM/MoarVM</remote-id> + </upstream> + <use> + <flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag> + <flag name="clang">Use clang compiler instead of GCC</flag> + <flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag> + <flag name="optimize">Enable optimization via CFLAGS</flag> + <flag name="ubsan">Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/moarvm/moarvm-2020.05.ebuild b/dev-lang/moarvm/moarvm-2020.05.ebuild index 0c3192fc10f3..06b6882e8017 100644 --- a/dev-lang/moarvm/moarvm-2020.05.ebuild +++ b/dev-lang/moarvm/moarvm-2020.05.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.06.ebuild b/dev-lang/moarvm/moarvm-2020.06.ebuild index 7729babf1b4b..216b159c0bc3 100644 --- a/dev-lang/moarvm/moarvm-2020.06.ebuild +++ b/dev-lang/moarvm/moarvm-2020.06.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.07.ebuild b/dev-lang/moarvm/moarvm-2020.07.ebuild index 7729babf1b4b..216b159c0bc3 100644 --- a/dev-lang/moarvm/moarvm-2020.07.ebuild +++ b/dev-lang/moarvm/moarvm-2020.07.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.08.ebuild b/dev-lang/moarvm/moarvm-2020.08.ebuild index 7729babf1b4b..216b159c0bc3 100644 --- a/dev-lang/moarvm/moarvm-2020.08.ebuild +++ b/dev-lang/moarvm/moarvm-2020.08.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.09.ebuild b/dev-lang/moarvm/moarvm-2020.09.ebuild index 7729babf1b4b..216b159c0bc3 100644 --- a/dev-lang/moarvm/moarvm-2020.09.ebuild +++ b/dev-lang/moarvm/moarvm-2020.09.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.10.ebuild b/dev-lang/moarvm/moarvm-2020.10.ebuild index 7729babf1b4b..216b159c0bc3 100644 --- a/dev-lang/moarvm/moarvm-2020.10.ebuild +++ b/dev-lang/moarvm/moarvm-2020.10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.11.ebuild b/dev-lang/moarvm/moarvm-2020.11.ebuild index dfc9e614ad17..0cd02ff7913c 100644 --- a/dev-lang/moarvm/moarvm-2020.11.ebuild +++ b/dev-lang/moarvm/moarvm-2020.11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2020.12.ebuild b/dev-lang/moarvm/moarvm-2020.12.ebuild index dfc9e614ad17..0cd02ff7913c 100644 --- a/dev-lang/moarvm/moarvm-2020.12.ebuild +++ b/dev-lang/moarvm/moarvm-2020.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,6 @@ MY_PN="MoarVM" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/moarvm/moarvm-2021.02.ebuild b/dev-lang/moarvm/moarvm-2021.02.ebuild new file mode 100644 index 000000000000..0dc0bc8e4e43 --- /dev/null +++ b/dev-lang/moarvm/moarvm-2021.02.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic + +MY_PN="MoarVM" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + inherit git-r3 + KEYWORDS="" + S="${WORKDIR}/${P}" +else + SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" +HOMEPAGE="https://moarvm.org" +LICENSE="Artistic-2" +SLOT="0" + +IUSE="asan clang debug doc +jit optimize static-libs ubsan" + +RDEPEND="dev-libs/libatomic_ops + >=dev-libs/libuv-1.26 + dev-libs/libffi" +DEPEND="${RDEPEND} + clang? ( >=sys-devel/clang-3.1 ) + dev-lang/perl" + +DOCS=( CREDITS README.markdown ) + +# Tests are conducted via nqp +RESTRICT=test + +src_configure() { + MAKEOPTS+=" NOISY=1" + use doc && DOCS+=( docs/* ) + local prefix="${EPREFIX}/usr" + local libdir="${EPREFIX}/usr/$(get_libdir)" + einfo "--prefix '${prefix}'" + einfo "--libdir '${libdir}'" + local myconfigargs=( + "--prefix" "${prefix}" + "--has-libuv" + "--has-libatomic_ops" + "--has-libffi" + "--libdir" "${libdir}" + "--compiler" "$(usex clang clang gcc)" + "$(usex asan --asan)" + "$(usex debug --debug --no-debug)" + "$(usex optimize --optimize= --no-optimize)" + "$(usex static-libs --static)" + "$(usex ubsan --ubsan)" + ) + + perl Configure.pl "${myconfigargs[@]}" moarshared || die +} diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild index b8580ba67306..2d77cb43480d 100644 --- a/dev-lang/moarvm/moarvm-9999.ebuild +++ b/dev-lang/moarvm/moarvm-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -10,7 +10,6 @@ if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" EGIT_SUBMODULES=( '*' '-3rdparty/libatomicops' '-3rdparty/libuv' ) inherit git-r3 - KEYWORDS="" S="${WORKDIR}/${P}" else SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" diff --git a/dev-lang/mono-basic/metadata.xml b/dev-lang/mono-basic/metadata.xml index ce3d691cf0f5..f712450f364c 100644 --- a/dev-lang/mono-basic/metadata.xml +++ b/dev-lang/mono-basic/metadata.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <longdescription> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> This package contains the visual basic runtime and compiler, which are used by the mono project, to make Visual Basic .NET projects run under linux. Current compatibility level is Visual Basic 8 / .NET 2.0. </longdescription> - <upstream> - <bugs-to>https://github.com/mono/mono-basic/issues</bugs-to> - <remote-id type="github">mono/mono-basic</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">mono/mono-basic</remote-id> + <bugs-to>https://github.com/mono/mono-basic/issues</bugs-to> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mono/metadata.xml b/dev-lang/mono/metadata.xml index 537ed12badec..4b06216fae6c 100644 --- a/dev-lang/mono/metadata.xml +++ b/dev-lang/mono/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>dotnet@gentoo.org</email> - <name>Gentoo Dotnet Project</name> -</maintainer> -<use> - <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> - <flag name="xen">Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag> -</use> -</pkgmetadata> + <maintainer type="project"> + <email>dotnet@gentoo.org</email> + <name>Gentoo Dotnet Project</name> + </maintainer> + + <use> + <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> + <flag name="xen">Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mozart-stdlib/metadata.xml b/dev-lang/mozart-stdlib/metadata.xml index c301cedb922a..53de75fd1284 100644 --- a/dev-lang/mozart-stdlib/metadata.xml +++ b/dev-lang/mozart-stdlib/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> + <maintainer type="person"> <email>keri@gentoo.org</email> <name>Keri Harris</name> -</maintainer> -</pkgmetadata> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mozart/metadata.xml b/dev-lang/mozart/metadata.xml index 61b1b5e42a27..53de75fd1284 100644 --- a/dev-lang/mozart/metadata.xml +++ b/dev-lang/mozart/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>keri@gentoo.org</email> - <name>Keri Harris</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>keri@gentoo.org</email> + <name>Keri Harris</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest index c4b43650c73b..fbc2c2369cf8 100644 --- a/dev-lang/mujs/Manifest +++ b/dev-lang/mujs/Manifest @@ -1 +1,2 @@ DIST mujs-1.0.9.tar.gz 123113 BLAKE2B c55deaf14508c412394bf5fe3a53ef581d4e4726024d65f2ba5155eb2400a6e2f043c9f6721b170d19297e2cd38c62c462f3b4e102eb4bfe6e7857b40156c18b SHA512 a3dbc8dbf5c16b7de9803954fe38ea9f77c0e5b7de3895966ec0877e063d463c9950499791ea0d102e464bd0426413689f3edb15e38db3f13915d72f27556725 +DIST mujs-1.1.0.tar.gz 123450 BLAKE2B e7bc05d35566ff26346e713645e0f417a9acd1a73b5fb5c7f0c35bf940765fba1ab04199f4ed1dd6ce0e3bb2bf1547703335a1c125353da24de72f2b1adfb243 SHA512 10b61453f8483e3e67c95a742aa7868e255816b2ce25c84d8e24c5c737bad1f23ade67531c5c5bb914804be446da33c0cbe8e95a6d5889250dd8520ce56f23a0 diff --git a/dev-lang/mujs/files/mujs-1.1.0-flags.patch b/dev-lang/mujs/files/mujs-1.1.0-flags.patch new file mode 100644 index 000000000000..3c57f4699109 --- /dev/null +++ b/dev-lang/mujs/files/mujs-1.1.0-flags.patch @@ -0,0 +1,14 @@ +diff --git a/Makefile b/Makefile +index 1702e67..7b24457 100644 +--- a/Makefile ++++ b/Makefile +@@ -30,9 +30,6 @@ ifeq "$(build)" "debug" + else ifeq "$(build)" "sanitize" + CFLAGS += -pipe -g -fsanitize=address -fno-omit-frame-pointer + LDFLAGS += -fsanitize=address +-else ifeq "$(build)" "release" +- CFLAGS += -Os +- LDFLAGS += -Wl,-s + endif + + ifeq "$(HAVE_READLINE)" "yes" diff --git a/dev-lang/mujs/metadata.xml b/dev-lang/mujs/metadata.xml index e253a1b97495..c46906fde49c 100644 --- a/dev-lang/mujs/metadata.xml +++ b/dev-lang/mujs/metadata.xml @@ -1,16 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>sam@gentoo.org</email> - <name>Sam James</name> - </maintainer> - <longdescription> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <longdescription> MuJS is a lightweight Javascript interpreter designed for embedding in other software to extend them with scripting capabilities. </longdescription> - <upstream> - <bugs-to>https://github.com/ccxvii/mujs/issues</bugs-to> - <remote-id type="github">ccxvii/mujs</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">ccxvii/mujs</remote-id> + <bugs-to>https://github.com/ccxvii/mujs/issues</bugs-to> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/mujs/mujs-1.1.0.ebuild b/dev-lang/mujs/mujs-1.1.0.ebuild new file mode 100644 index 000000000000..af61b9b01bf5 --- /dev/null +++ b/dev-lang/mujs/mujs-1.1.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="An embeddable Javascript interpreter in C." +HOMEPAGE="https://mujs.com/ https://github.com/ccxvii/mujs" +SRC_URI="https://github.com/ccxvii/mujs/archive/${PV}.tar.gz -> ${P}.tar.gz" +# Not available right now. +#SRC_URI="https://mujs.com/downloads/${P}.tar.xz" + +LICENSE="ISC" +# subslot matches SONAME +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="static-libs" + +RDEPEND="sys-libs/readline:0=" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.1.0-flags.patch" +) + +src_prepare() { + default + + tc-export AR CC + + # library's ABI (and API) changes in ~each release: + # diff 'usr/includemujs.h' across releases to validate + append-cflags -fPIC -Wl,-soname=lib${PN}.so.${PV} +} + +src_compile() { + emake VERSION=${PV} prefix=/usr shared +} + +src_install() { + local myeconfargs=( + DESTDIR="${ED}" + install-shared + libdir="/usr/$(get_libdir)" + prefix="/usr" + VERSION="${PV}" + $(usex static-libs install-static '') + ) + + emake "${myeconfargs[@]}" + + mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so{,.${PV}} || die + + dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so + dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV:0:1} +} diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml index f7462a193d87..5ba8c742902c 100644 --- a/dev-lang/nasm/metadata.xml +++ b/dev-lang/nasm/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <longdescription> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <longdescription> The Netwide Assembler, NASM, is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and NetBSD/FreeBSD a.out, ELF, COFF, Microsoft 16-bit OBJ and Win32. It @@ -13,8 +13,9 @@ will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports Pentium, P6, MMX, 3DNow!, SSE and SSE2 opcodes, and has macro capability. </longdescription> - <upstream> - <remote-id type="sourceforge">nasm</remote-id> - <bugs-to>https://bugzilla.nasm.us/</bugs-to> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="sourceforge">nasm</remote-id> + <bugs-to>https://bugzilla.nasm.us/</bugs-to> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest index a8f288975e8b..575d3bc3c0a4 100644 --- a/dev-lang/nim/Manifest +++ b/dev-lang/nim/Manifest @@ -1 +1 @@ -DIST nim-1.4.2.tar.xz 4770616 BLAKE2B 95561a22fedaa1eb42f099589b7b13e6833d1804d1d9bf8c4ec6514a4db89622d7f678b19ce9bed1c3ac5dffa3956b73e6b12fa6335f8e39a8b0dee90ae50457 SHA512 a357eaa5ef6c71b296fe6c53ed25be8b864a2895871a4ef6f23f2d31ce1c17d6dfb12eaf2bb8e71d122b7cf46746873109f424388ac2b6e84826699c1c5493fe +DIST nim-1.4.4.tar.xz 4686420 BLAKE2B ad59365b07c04bace859f18f5bbbc8178e21ae69ab7e87dd68d80f6c95bbfdb6e738057e543c4fb562af07cc2085204c1a4f6a2bf7c0352f51f6b46f3cb680d1 SHA512 42db962295a6014ccb3e2df3c07248a3abac863169f16af0c947dc97ca1ada683484f95773dc5fc11118001e9a48f116787d34d71aa77bef18877ce04e1f4fe9 diff --git a/dev-lang/nim/metadata.xml b/dev-lang/nim/metadata.xml index b7796e3694d8..892ad5beeac2 100644 --- a/dev-lang/nim/metadata.xml +++ b/dev-lang/nim/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <upstream> - <remote-id type="github">nim-lang/Nim</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <upstream> + <remote-id type="github">nim-lang/Nim</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/nim/nim-1.4.2.ebuild b/dev-lang/nim/nim-1.4.4.ebuild index 9a273afb6271..3c52ea807c23 100644 --- a/dev-lang/nim/nim-1.4.2.ebuild +++ b/dev-lang/nim/nim-1.4.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest index 13900a24a5df..54df84db7046 100644 --- a/dev-lang/nqp/Manifest +++ b/dev-lang/nqp/Manifest @@ -6,3 +6,4 @@ DIST nqp-2020.09.tar.gz 3951646 BLAKE2B 9ec1d121f9dc276ad52ea22d43fb24fefeda009f DIST nqp-2020.10.tar.gz 3954398 BLAKE2B 5c44a20c3696bb596bd1d3088fba8db8c63ce6e612f00c2d24456dc7d908b12a214b4bde7e4e79505c39f6237a6f91578de47778185fa6cc3b6287c90e6c370e SHA512 279715fa0b2012852cc31b9e7898092510a1ba76005576a3ffe38f9dc8e9c002a4161be8f0b66e38c501e656a8124a320dbf2c90c89f53e57d0950e1baa1ea2b DIST nqp-2020.11.tar.gz 3954688 BLAKE2B d273c78c8f2083908b2815dc10787fec31404eb13c1e64253e7e5ae896d27a3755cf5c8045d47c4f465178568731e0d74951db6e45d103cf3ee18470124e97e0 SHA512 51b5e7f9d290bca7ada24cf9c12c61608be92269fc848976cada49f7445694e0f26929b5f9e90a9153eb379f0d74a6bb8068cd5ebf383d4501f75535b70e7605 DIST nqp-2020.12.tar.gz 3957981 BLAKE2B d45ad66ebb0788db6e7191b4b7af4093b73e63e5f66ab4ccab62163b0285adb7d4e18a7c906c34f99dd63e0920f4d6e16e11005eb5df1d726796e9f106f9c4f8 SHA512 4ce87dc868c91565ebe896db766403bb018b2f5ea919bd0fb5b173498ba124712ffa795ec4e219240e5aabb59c55285bee5e46d3ac3d5869fc445b0ab3ea8485 +DIST nqp-2021.02.tar.gz 3987077 BLAKE2B 3f67e33b948805a7c4dad1999e310d36da0cd8d4663b20ada5af6079c8ad2966c1f65e9f24c620f16480b7dea42a166f73fec61f3849e2cdd79b28ec017b0d7f SHA512 ff6cf66f4c1d9bccbd4cc5f52e49d380aaeef3fa060ced9e1da6c233e674fa90c08a5f1fa86e1a7beb5661d1271454934b520ba3e07e27cebaece343be84bdfe diff --git a/dev-lang/nqp/metadata.xml b/dev-lang/nqp/metadata.xml index c4bd99a587e8..17ca7e0d2d77 100644 --- a/dev-lang/nqp/metadata.xml +++ b/dev-lang/nqp/metadata.xml @@ -1,19 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <maintainer type="project"> - <email>perl@gentoo.org</email> - <name>Gentoo Perl Project</name> - </maintainer> - <use> - <flag name="clang">Toggle usage of the clang compiler in conjunction with MoarVM</flag> - <flag name="moar">Build the MoarVM backend (experimental/broken)</flag> - </use> - <upstream> - <remote-id type="github">perl6/nqp</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + <upstream> + <remote-id type="github">perl6/nqp</remote-id> + </upstream> + <use> + <flag name="clang">Toggle usage of the clang compiler in conjunction with MoarVM</flag> + <flag name="moar">Build the MoarVM backend (experimental/broken)</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/nqp/nqp-2020.05.ebuild b/dev-lang/nqp/nqp-2020.05.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.05.ebuild +++ b/dev-lang/nqp/nqp-2020.05.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.06.ebuild b/dev-lang/nqp/nqp-2020.06.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.06.ebuild +++ b/dev-lang/nqp/nqp-2020.06.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.07.ebuild b/dev-lang/nqp/nqp-2020.07.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.07.ebuild +++ b/dev-lang/nqp/nqp-2020.07.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.08.ebuild b/dev-lang/nqp/nqp-2020.08.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.08.ebuild +++ b/dev-lang/nqp/nqp-2020.08.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.09.ebuild b/dev-lang/nqp/nqp-2020.09.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.09.ebuild +++ b/dev-lang/nqp/nqp-2020.09.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.10.ebuild b/dev-lang/nqp/nqp-2020.10.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.10.ebuild +++ b/dev-lang/nqp/nqp-2020.10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.11.ebuild b/dev-lang/nqp/nqp-2020.11.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.11.ebuild +++ b/dev-lang/nqp/nqp-2020.11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2020.12.ebuild b/dev-lang/nqp/nqp-2020.12.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-2020.12.ebuild +++ b/dev-lang/nqp/nqp-2020.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nqp/nqp-2021.02.ebuild b/dev-lang/nqp/nqp-2021.02.ebuild new file mode 100644 index 000000000000..81e93919b90b --- /dev/null +++ b/dev-lang/nqp/nqp-2021.02.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit java-pkg-opt-2 multibuild + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/perl6/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" +HOMEPAGE="https://rakudo.org" + +LICENSE="Artistic-2" +SLOT="0" +IUSE="doc clang java +moar test" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="java? ( + dev-java/asm:4 + dev-java/jline:0 + dev-java/jna:4 + ) + moar? ( ~dev-lang/moarvm-${PV}[clang=] )" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.8 )" +DEPEND="${CDEPEND}" +BDEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.8 ) + dev-lang/perl" + +pkg_pretend() { + if has_version dev-lang/rakudo || has_version dev-lang/nqp; then + ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP" + ewarn "already being installed. So if it fails, try uninstalling both" + ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +java_prepare() { + # Don't clean stage0 jars. + einfo "Cleaning upstream jars" + java-pkg_clean 3rdparty/ + + # Don't use jars we just deleted. + sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \ + src/vm/jvm/runners/nqp-j || die +} + +src_prepare() { + MULTIBUILD_VARIANTS=() + use moar && MULTIBUILD_VARIANTS+=( moar ) + use java && MULTIBUILD_VARIANTS+=( jvm ) + + multibuild_copy_sources + + # This will pull in conditional java_prepare + default +} + +nqp_configure() { + pushd "${BUILD_DIR}" > /dev/null || die + local myconfargs=( + "--backend=${MULTIBUILD_VARIANT}" + "--prefix=${EPREFIX}/usr" ) + + perl Configure.pl "${myconfargs[@]}" || die + popd || die +} + +nqp_compile() { + if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then + emake -j1 \ + -C "${BUILD_DIR}" \ + THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \ + JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then + emake -j1 \ + -C "${BUILD_DIR}" + fi +} + +nqp_test() { + emake -j1 \ + -C "${BUILD_DIR}" \ + test +} + +nqp_install() { + # This is the actual reason we need multibuild.eclass. + # We need to distinguish the install procedure for MoarVM and JVM backends. + case "${MULTIBUILD_VARIANT}" in + moar) + emake \ + DESTDIR="${ED}" \ + -C "${BUILD_DIR}" \ + install + ;; + jvm) + pushd "${BUILD_DIR}" > /dev/null || die + # Set JAVA_PKG_JARDEST early. + java-pkg_init_paths_ + + # Upstream sets the classpath to this location. Perhaps it's + # used to locate the additional libraries? + java-pkg_addcp "${JAVA_PKG_JARDEST}" + + insinto "${JAVA_PKG_JARDEST}" + local jar + + for jar in *.jar; do + if has ${jar} ${PN}.jar ${PN}-runtime.jar; then + # jars for NQP itself. + java-pkg_dojar ${jar} + else + # jars used by NQP. + doins ${jar} + fi + done + + # Upstream uses -Xbootclasspath/a, which is faster due to lack + # of verification, but gjl isn't flexible enough yet. :( + java-pkg_dolauncher ${PN}-j --main ${PN} + dosym ${PN}-j /usr/bin/${PN} + dobin tools/jvm/eval-client.pl + popd > /dev/null || die + ;; + *) + die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." + ;; + esac +} + +src_configure() { + multibuild_foreach_variant nqp_configure +} + +src_compile() { + multibuild_foreach_variant nqp_compile +} + +src_test() { + multibuild_foreach_variant nqp_test +} + +src_install() { + multibuild_foreach_variant nqp_install + + dodoc CREDITS README.pod + use doc && dodoc -r docs/* +} diff --git a/dev-lang/nqp/nqp-9999.ebuild b/dev-lang/nqp/nqp-9999.ebuild index c41412d388c5..81e93919b90b 100644 --- a/dev-lang/nqp/nqp-9999.ebuild +++ b/dev-lang/nqp/nqp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,7 +8,6 @@ inherit java-pkg-opt-2 multibuild if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/perl6/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/nwcc/metadata.xml b/dev-lang/nwcc/metadata.xml index 8eb223c5161b..e38af6e1f888 100644 --- a/dev-lang/nwcc/metadata.xml +++ b/dev-lang/nwcc/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">nwcc</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">nwcc</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index 84240dde1f1b..bb30f38906e4 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -1,8 +1,7 @@ -DIST ocaml-4.04.2.tar.gz 4061873 BLAKE2B 756936592c7e0c87da27f154f07850eb3e4b2ed46ff3b36ff57541375840cd56b170dbe646ef6682f63d4e15ae209d3c125581803641f07403e9eb838c265519 SHA512 8b6a0319307cbb7451594d2f7c63851299d3e7d6ae7879e7525373304f9fd5a9b01d503ecd313a12a3cae24a4a7cb909f7aeebbb70efaa5277137189ea4558cb DIST ocaml-4.05.0.tar.gz 4431750 BLAKE2B c2ab003a13e0a581ebd0e1c96eeb8a9baea9bfe6bee08823b0e4541819201ec109f1846e13fc1aefa51a001eefbb8f73320ba854d41975fc68cef41bc75b1ecc SHA512 9a060ae4b741e1687277403e5bdb8f6eda2e2ebf6c45f7c0149b66ea1213cb26d13febfbb3f11c12543e244cfdd053b786b09c4145e2348e5d89a7206f7de225 DIST ocaml-4.09.0.tar.gz 4838748 BLAKE2B 80f29d535c64bf2371b480217723ed20b2b21cfd93ce31366a7b91e7ddffdf68db4e88d085288b7e21efee567a13f42ecff24c3a0115507b006acf844239cefd SHA512 dc0271e591bf929b751705835790949a9d741e12d085c8b207c3689b5838a02ea8de80da8b2605d2e6744f2f541b0d1694ffafff9509e99ce01f3a391f6ef2ae DIST ocaml-4.10.0.tar.gz 4927867 BLAKE2B 71b8448a10bf3049e3b005dfbb2030d479e69e4c2ef00055f1dacd38eff838b0a5c18b4883d899b5eb4cbd05bb7ca35867010794ed25682ad51b2fe19ef2114d SHA512 f39269d572b3f7755f7881b7a9fdfe5253e49d847835ae2a8695f67e3309fc1e925523d66ecbe1fb8bc0cc3b5602e077ce7feac4926aab571383766442265179 DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B ec5e92adb23c28a254247182c79ab555fd82603e02f24799049b8057abf869d18234302408c8ae89b9997a2b210ed6965e45c2c03e4f0cab34262ad3f6ebb528 SHA512 1dd827da07f01e815fd74dd7ee84db0900f24782f8f7fd426e2d71b9fb03c7b8045f22e018120a0446c362315751365d1bd8c1724edef2b182394e76eb0a07b2 DIST ocaml-4.11.1.tar.gz 5069552 BLAKE2B a731d4b60d7965c860dda5c9dfb26b968320760501ff3cac908b8cd96e34391c417e16077cdf753b27b85a79857451e6ff0b566a9158178026a0e6bd5240aac4 SHA512 93fa8b2ff71d5f645e3ed72913205e7d35aa523cfa87d1939d77e796495b94c2fdb4a429ea65330cdeecfb0a36f7ab053b15090d9baa151b58e5331148dc8150 -DIST ocaml-patches-8.tar.bz2 1803 BLAKE2B 5e76a198c2f5ca9f231d4e80499d784cf061ec79bf6b5e3aac917e1260d1f2b927f0f8015d39c01ce4fd481d32a5d211c31e081a7ab87ba1e7c7d5def95bc0fb SHA512 fc477fbb5bdec60a3c4d3dfa110119bb579560ac0e0e57e30e076da72643bda6359c06fd3745fd3436c5d611dbbd888ec2921e9d1920f4929df633c35a797411 +DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e50ed81e55578a3e778af990ca5d4ef9011753eee4e1a144da33eb76c95b1672dc99b76e65a2e107eee472fe06 SHA512 03d8a9f6e130142c121ff2eb3d54f584f1e7c8475f066a5803bb0edd2fa172ca06a56a3ec548b225f5c8b12112d7a68511b1e16f3ade075b5f02610d4247bbb3 DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0 diff --git a/dev-lang/ocaml/metadata.xml b/dev-lang/ocaml/metadata.xml index d0ecd9cc9290..ec91ca4fff60 100644 --- a/dev-lang/ocaml/metadata.xml +++ b/dev-lang/ocaml/metadata.xml @@ -1,19 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>ml@gentoo.org</email> - <name>ML</name> - </maintainer> - <maintainer type="person"> - <email>gienah@gentoo.org</email> - <name>Mark Wright</name> - </maintainer> - <use> - <flag name="flambda">Enables the Flambda optimizer: A new intermediate representation (introduced in ocaml 4.03) in the depths of the compiler designed to allow for better inlining.</flag> - <flag name="spacetime">Enables the Spacetime memory profiler. See https://caml.inria.fr/pub/docs/manual-ocaml/spacetime.html for more information.</flag> - </use> - <upstream> - <remote-id type="github">ocaml/ocaml</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>ml@gentoo.org</email> + <name>ML</name> + </maintainer> + <maintainer type="person"> + <email>gienah@gentoo.org</email> + <name>Mark Wright</name> + </maintainer> + <upstream> + <remote-id type="github">ocaml/ocaml</remote-id> + </upstream> + <use> + <flag name="flambda">Enables the Flambda optimizer: A new intermediate representation (introduced in ocaml 4.03) in the depths of the compiler designed to allow for better inlining.</flag> + <flag name="spacetime">Enables the Spacetime memory profiler. See https://caml.inria.fr/pub/docs/manual-ocaml/spacetime.html for more information.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild b/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild deleted file mode 100644 index 72014ebdabdb..000000000000 --- a/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit flag-o-matic eutils multilib versionator toolchain-funcs - -PATCHLEVEL="8" -MY_P="${P/_/-}" -DESCRIPTION="Type-inferring functional programming language descended from the ML family" -HOMEPAGE="https://ocaml.org" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz - mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" - -LICENSE="QPL-1.0 LGPL-2" -# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt, -# so here we go with the subslot. -SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="emacs flambda latex ncurses +ocamlopt X xemacs" - -RDEPEND=" - sys-libs/binutils-libs:= - ncurses? ( sys-libs/ncurses:0= ) - X? ( x11-libs/libX11 )" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -PDEPEND="emacs? ( app-emacs/ocaml-mode ) - xemacs? ( app-xemacs/ocaml )" - -S="${WORKDIR}/${MY_P}" -pkg_setup() { - # dev-lang/ocaml creates its own objects but calls gcc for linking, which will - # results in relocations if gcc wants to create a PIE executable - if gcc-specs-pie ; then - append-ldflags -nopie - ewarn "Ocaml generates its own native asm, you're using a PIE compiler" - ewarn "We have appended -nopie to ocaml build options" - ewarn "because linking an executable with pie while the objects are not pic will not work" - fi -} - -src_prepare() { - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 -} - -src_configure() { - export LC_ALL=C - local myconf="" - - # Causes build failures because it builds some programs with -pg, - # bug #270920 - filter-flags -fomit-frame-pointer - # Bug #285993 - filter-mfpmath sse - - # -ggdb3 & co makes it behave weirdly, breaks sexplib - replace-flags -ggdb* -ggdb - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - use ncurses || myconf="${myconf} -no-curses" - use X || myconf="${myconf} -no-graph" - use flambda && myconf="${myconf} -flambda" - - # ocaml uses a home-brewn configure script, preventing it to use econf. - RAW_LDFLAGS="$(raw-ldflags)" ./configure \ - --prefix "${EPREFIX}"/usr \ - --bindir "${EPREFIX}"/usr/bin \ - --target-bindir "${EPREFIX}"/usr/bin \ - --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \ - --mandir "${EPREFIX}"/usr/share/man \ - -target "${CHOST}" \ - -host "${CBUILD}" \ - -cc "$(tc-getCC)" \ - -as "$(tc-getAS)" \ - -aspp "$(tc-getCC) -c" \ - -partialld "$(tc-getLD) -r" \ - --with-pthread ${myconf} || die "configure failed!" - - # http://caml.inria.fr/mantis/view.php?id=4698 - export CCLINKFLAGS="${LDFLAGS}" -} - -src_compile() { - emake world - - # Native code generation can be disabled now - if use ocamlopt ; then - # bug #279968 - emake opt - emake opt.opt - fi -} - -src_test() { - if use ocamlopt ; then - emake -j1 tests - else - ewarn "${PN} testsuite requires ocamlopt useflag" - fi -} - -src_install() { - emake BINDIR="${ED}"/usr/bin \ - LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \ - MANDIR="${ED}"/usr/share/man \ - install - - # Symlink the headers to the right place - dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml - - dodoc Changes README.adoc - - # Create and envd entry for latex input files - if use latex ; then - echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc - fi - - # Install ocaml-rebuild portage set - insinto /usr/share/portage/config/sets - doins "${FILESDIR}/ocaml.conf" -} diff --git a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild deleted file mode 100644 index f1e64c43cdab..000000000000 --- a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit flag-o-matic eutils multilib versionator toolchain-funcs - -PATCHLEVEL="9" -MY_P="${P/_/-}" -DESCRIPTION="Type-inferring functional programming language descended from the ML family" -HOMEPAGE="https://ocaml.org" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz - mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" - -LICENSE="QPL-1.0 LGPL-2" -# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt, -# so here we go with the subslot. -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" -IUSE="emacs flambda latex ncurses +ocamlopt spacetime X xemacs" - -RDEPEND=" - sys-libs/binutils-libs:= - ncurses? ( sys-libs/ncurses:0= ) - spacetime? ( sys-libs/libunwind:= ) - X? ( x11-libs/libX11 )" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -PDEPEND="emacs? ( app-emacs/ocaml-mode ) - xemacs? ( app-xemacs/ocaml )" - -S="${WORKDIR}/${MY_P}" -pkg_setup() { - # dev-lang/ocaml creates its own objects but calls gcc for linking, which will - # results in relocations if gcc wants to create a PIE executable - if gcc-specs-pie ; then - append-ldflags -nopie - ewarn "Ocaml generates its own native asm, you're using a PIE compiler" - ewarn "We have appended -nopie to ocaml build options" - ewarn "because linking an executable with pie while the objects are not pic will not work" - fi -} - -src_prepare() { - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 -} - -src_configure() { - export LC_ALL=C - local myconf="" - - # Causes build failures because it builds some programs with -pg, - # bug #270920 - filter-flags -fomit-frame-pointer - # Bug #285993 - filter-mfpmath sse - - # -ggdb3 & co makes it behave weirdly, breaks sexplib - replace-flags -ggdb* -ggdb - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - use ncurses || myconf="${myconf} -no-curses" - use X || myconf="${myconf} -no-graph" - use flambda && myconf="${myconf} -flambda" - use spacetime && myconf="${myconf} -spacetime" - - # ocaml uses a home-brewn configure script, preventing it to use econf. - RAW_LDFLAGS="$(raw-ldflags)" ./configure \ - --prefix "${EPREFIX}"/usr \ - --bindir "${EPREFIX}"/usr/bin \ - --target-bindir "${EPREFIX}"/usr/bin \ - --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \ - --mandir "${EPREFIX}"/usr/share/man \ - -target "${CHOST}" \ - -host "${CBUILD}" \ - -cc "$(tc-getCC)" \ - -as "$(tc-getAS)" \ - -aspp "$(tc-getCC) -c" \ - -partialld "$(tc-getLD) -r" \ - --with-pthread ${myconf} || die "configure failed!" - - # http://caml.inria.fr/mantis/view.php?id=4698 - export CCLINKFLAGS="${LDFLAGS}" -} - -src_compile() { - emake world - - # Native code generation can be disabled now - if use ocamlopt ; then - # bug #279968 - emake opt - emake -j1 opt.opt - fi -} - -src_test() { - if use ocamlopt ; then - emake -j1 tests - else - ewarn "${PN} testsuite requires ocamlopt useflag" - fi -} - -src_install() { - emake BINDIR="${ED}"/usr/bin \ - LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \ - MANDIR="${ED}"/usr/share/man \ - install - - # Symlink the headers to the right place - dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml - - dodoc Changes README.adoc - - # Create and envd entry for latex input files - if use latex ; then - echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc - fi - - # Install ocaml-rebuild portage set - insinto /usr/share/portage/config/sets - doins "${FILESDIR}/ocaml.conf" -} diff --git a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild index dc6ca02c535e..ecf884d0ff1a 100644 --- a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI=7 -inherit flag-o-matic eutils multilib versionator toolchain-funcs +inherit flag-o-matic eutils multilib toolchain-funcs PATCHLEVEL="9" MY_P="${P/_/-}" @@ -25,13 +25,18 @@ RDEPEND=" spacetime? ( sys-libs/libunwind:= ) X? ( x11-libs/libX11 ) !dev-ml/num" -DEPEND="${RDEPEND} +BDEPEND="${RDEPEND} virtual/pkgconfig" - PDEPEND="emacs? ( app-emacs/ocaml-mode ) xemacs? ( app-xemacs/ocaml )" S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 + "${FILESDIR}"/${P}-gcc10.patch +) + pkg_setup() { # dev-lang/ocaml creates its own objects but calls gcc for linking, which will # results in relocations if gcc wants to create a PIE executable @@ -45,8 +50,8 @@ pkg_setup() { src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 - epatch "${FILESDIR}"/${P}-gcc10.patch + default + } src_configure() { @@ -104,7 +109,7 @@ src_test() { if use ocamlopt ; then emake -j1 tests else - ewarn "${PN} testsuite requires ocamlopt useflag" + ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." fi } @@ -116,16 +121,14 @@ src_install() { # Symlink the headers to the right place dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml - + # Create symlink for header files + dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml dodoc Changes README.adoc - - # Create and envd entry for latex input files + # Create envd entry for latex input files if use latex ; then - echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc + echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}/99ocamldoc" + doenvd "${T}/99ocamldoc" fi - # Install ocaml-rebuild portage set insinto /usr/share/portage/config/sets doins "${FILESDIR}/ocaml.conf" diff --git a/dev-lang/ocaml/ocaml-4.11.2.ebuild b/dev-lang/ocaml/ocaml-4.11.2.ebuild new file mode 100644 index 000000000000..280d813184b1 --- /dev/null +++ b/dev-lang/ocaml/ocaml-4.11.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" +DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="emacs flambda latex +ocamlopt spacetime xemacs" + +RDEPEND="sys-libs/binutils-libs:= + spacetime? ( sys-libs/libunwind:= )" +BDEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND="emacs? ( app-emacs/ocaml-mode ) + xemacs? ( app-xemacs/ocaml )" + +src_prepare() { + default + # Upstream build ignores LDFLAGS in several places. + sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \ + Makefile.config.in || die "LDFLAGS fix failed" +} + +src_configure() { + local opt=( + --bindir="${EPREFIX}/usr/bin" + --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml" + --mandir="${EPREFIX}/usr/share/man" + --prefix="${EPREFIX}/usr" + $(use_enable flambda) + $(use_enable spacetime) + ) + econf ${opt[@]} +} + +src_compile() { + if use ocamlopt ; then + env -u P emake world.opt + else + env -u P emake world + fi +} + +src_test() { + if use ocamlopt ; then + # OCaml tests only work when run sequentially + emake -j1 tests + else + ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." + fi +} + +src_install() { + default + dodir /usr/include + # Create symlink for header files + dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml + dodoc Changes README.adoc + # Create envd entry for latex input files + if use latex ; then + echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}/99ocamldoc" + doenvd "${T}/99ocamldoc" + fi + # Install ocaml-rebuild portage set + insinto /usr/share/portage/config/sets + doins "${FILESDIR}/ocaml.conf" +} diff --git a/dev-lang/open-cobol/metadata.xml b/dev-lang/open-cobol/metadata.xml index 9264d5aa4508..ab71ee32e15c 100644 --- a/dev-lang/open-cobol/metadata.xml +++ b/dev-lang/open-cobol/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">open-cobol</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">open-cobol</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest index 8df1a57c6ab0..a0ffc682c76e 100644 --- a/dev-lang/orc/Manifest +++ b/dev-lang/orc/Manifest @@ -1,3 +1 @@ -DIST orc-0.4.28.tar.xz 469460 BLAKE2B 86fa2d10a33fbffbb2b96827adbddaa81d0baa8135fe21fba338cbcd25a1c1e853873ec1c4ef5c0a32d66ba95f855f1f16ddbc32f68a89e5a98c75b9b0261aa7 SHA512 2ae3100e7d0c03eba9a8a10a8924da4d729e1967b63e5dfdf88c4aee907d7ece82c782d74f4cb7e28a366dd74ce5e1ddc6e2b971e5a2f879b0501cc313b93410 -DIST orc-0.4.29.tar.xz 465076 BLAKE2B f7c81429d95af7031f190a4c3d52959eda1835d3092493e3fa15e4b6719290c1c1f23459448f7c499ba4085ad8d7b9f49e687521d76823a1e8ce6d3916b39a37 SHA512 57aa75bbefa9ba9ffcce97affd504c13c57612e2409863c011555bed6ff6ba224d38ed66b715bf103679a8ee28ddae427db3d78c7b4a2ddfa7dbd72a4fa81726 DIST orc-0.4.31.tar.xz 177768 BLAKE2B f06fd6be70063ebc82b45c1801a53aab66b5fc8a85c33991602488ec8ed29f2271df20c3780655953cabe33e865530b1218aafa0592261bcc5dccc4a4b3945e7 SHA512 4e97597e70982dbfc239d1ef9a8913b0155e5aaac15d91162d7f73a1095bd944e27fbe6d6194b9f74af07b985a44b1d9dddbe917425e1ad9e8da17ce86495696 diff --git a/dev-lang/orc/files/0.4.29-test-rounding.patch b/dev-lang/orc/files/0.4.29-test-rounding.patch deleted file mode 100644 index 653132fcb8e0..000000000000 --- a/dev-lang/orc/files/0.4.29-test-rounding.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 73986d82e1ae60b224b401143cd4ce2c452bf326 Mon Sep 17 00:00:00 2001 -From: Doug Nazar <nazard@nazar.ca> -Date: Wed, 7 Aug 2019 00:11:35 -0400 -Subject: [PATCH] orctest: Switch nearby float comparison to ULP method - ---- - orc-test/orcarray.c | 7 ++----- - orc-test/orctest.c | 8 ++++---- - 2 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/orc-test/orcarray.c b/orc-test/orcarray.c -index c0666c5..b27a1f9 100644 ---- a/orc-test/orcarray.c -+++ b/orc-test/orcarray.c -@@ -211,9 +211,6 @@ orc_array_set_pattern_2 (OrcArray *array, OrcRandomContext *context, - } - } - --#define MIN_NONDENORMAL (1.1754944909521339405e-38) --#define MIN_NONDENORMAL_D (2.2250738585072014e-308) -- - int - orc_array_compare (OrcArray *array1, OrcArray *array2, int flags) - { -@@ -230,7 +227,7 @@ orc_array_compare (OrcArray *array1, OrcArray *array2, int flags) - for (i=0;i<array1->n;i++){ - if (isnan(a[i]) && isnan(b[i])) continue; - if (a[i] == b[i]) continue; -- if (fabs(a[i] - b[i]) < MIN_NONDENORMAL) continue; -+ if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue; - return FALSE; - } - } -@@ -247,7 +244,7 @@ orc_array_compare (OrcArray *array1, OrcArray *array2, int flags) - for (i=0;i<array1->n;i++){ - if (isnan(a[i]) && isnan(b[i])) continue; - if (a[i] == b[i]) continue; -- if (fabs(a[i] - b[i]) < MIN_NONDENORMAL_D) continue; -+ if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue; - return FALSE; - } - } -diff --git a/orc-test/orctest.c b/orc-test/orctest.c -index 9f0e942..54658bc 100644 ---- a/orc-test/orctest.c -+++ b/orc-test/orctest.c -@@ -44,8 +44,6 @@ - #define snprintf _snprintf - #endif - --#define MIN_NONDENORMAL (1.1754944909521339405e-38) -- - void _orc_profile_init(void); - - OrcRandomContext rand_context; -@@ -527,10 +525,12 @@ float_compare (OrcArray *array1, OrcArray *array2, int i, int j) - case 4: - if (isnan(*(float *)ptr1) && isnan(*(float *)ptr2)) return TRUE; - if (*(float *)ptr1 == *(float *)ptr2) return TRUE; -- if (fabs(*(float *)ptr1 - *(float *)ptr2) < MIN_NONDENORMAL) return TRUE; -+ if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE; - return FALSE; - case 8: -- /* FIXME */ -+ if (isnan(*(double *)ptr1) && isnan(*(double *)ptr2)) return TRUE; -+ if (*(double *)ptr1 == *(double *)ptr2) return TRUE; -+ if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE; - return FALSE; - } - return FALSE; --- -2.21.0 - diff --git a/dev-lang/orc/metadata.xml b/dev-lang/orc/metadata.xml index 2ac858de72bb..efe86a2e34e7 100644 --- a/dev-lang/orc/metadata.xml +++ b/dev-lang/orc/metadata.xml @@ -1,11 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> + <maintainer type="project"> <email>gstreamer@gentoo.org</email> <name>GStreamer package maintainers</name> -</maintainer> -<use> - <flag name="pax_kernel">Apply patch needed for pax enabled kernels.</flag> -</use> -</pkgmetadata> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/orc/orc-0.4.28-r1.ebuild b/dev-lang/orc/orc-0.4.28-r1.ebuild deleted file mode 100644 index 1d22e3f53076..000000000000 --- a/dev-lang/orc/orc-0.4.28-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic ltprune multilib-minimal pax-utils - -DESCRIPTION="The Oil Runtime Compiler, a just-in-time compiler for array operations" -HOMEPAGE="https://gstreamer.freedesktop.org/" -SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" - -LICENSE="BSD BSD-2" -SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~hppa ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="examples pax_kernel static-libs" - -RDEPEND="" -DEPEND="${RDEPEND} - app-arch/xz-utils - >=dev-util/gtk-doc-am-1.12 -" - -DOCS=( README RELEASE ) - -src_prepare() { - default - - # Do not build examples - sed -e '/SUBDIRS/ s:examples::' \ - -i Makefile.am Makefile.in || die -} - -multilib_src_configure() { - # any optimisation on PPC/Darwin yields in a complaint from the assembler - # Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) - # the same for Intel/Darwin, although the error message there is different - # but along the same lines - [[ ${CHOST} == *-darwin* ]] && filter-flags -O* - - # FIXME: handle backends per arch? What about cross-compiling for the other arches? - ECONF_SOURCE="${S}" econf \ - --disable-gtk-doc \ - --enable-backend=all \ - $(use_enable static-libs static) - # TODO: bug #645232 - Not ready for this yet, as it installs some headers to live and gst-plugins-base:0.10 includes some - # Additionally it doesn't seem good that FEATURES=test would change what files are installed (headers + orctest.so + orc-bugreport) - # $(use_enable test tests) -} - -multilib_src_install() { - emake DESTDIR="${D}" install - prune_libtool_files --all - - if use pax_kernel; then - pax-mark m "${ED}"usr/bin/orc-bugreport - pax-mark m "${ED}"usr/bin/orcc - pax-mark m "${ED}"usr/$(get_libdir)/liborc*.so* - fi -} - -multilib_src_install_all() { - einstalldocs - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins examples/{*.c,*.orc} - fi -} - -pkg_postinst() { - if use pax_kernel; then - ewarn "Please run \"revdep-pax\" after installation". - ewarn "It's provided by sys-apps/elfix." - fi -} diff --git a/dev-lang/orc/orc-0.4.29.ebuild b/dev-lang/orc/orc-0.4.29.ebuild deleted file mode 100644 index 11728d5cf617..000000000000 --- a/dev-lang/orc/orc-0.4.29.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic ltprune multilib-minimal pax-utils - -DESCRIPTION="The Oil Runtime Compiler, a just-in-time compiler for array operations" -HOMEPAGE="https://gstreamer.freedesktop.org/" -SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" - -LICENSE="BSD BSD-2" -SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~hppa ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="examples pax_kernel static-libs" - -RDEPEND="" -DEPEND="${RDEPEND} - app-arch/xz-utils - >=dev-util/gtk-doc-am-1.12 -" - -DOCS=( README RELEASE ) - -PATCHES=( - # Fixes some tests on various platforms (AMD Phenom, ARM, etc) with more suitable - # float comparison - https://gitlab.freedesktop.org/gstreamer/orc/issues/18 - "${FILESDIR}"/${PV}-test-rounding.patch -) - -src_prepare() { - default - - # Do not build examples - sed -e '/SUBDIRS/ s:examples::' \ - -i Makefile.am Makefile.in || die -} - -multilib_src_configure() { - # any optimisation on PPC/Darwin yields in a complaint from the assembler - # Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) - # the same for Intel/Darwin, although the error message there is different - # but along the same lines - [[ ${CHOST} == *-darwin* ]] && filter-flags -O* - - # FIXME: handle backends per arch? What about cross-compiling for the other arches? - ECONF_SOURCE="${S}" econf \ - --disable-gtk-doc \ - --enable-backend=all \ - $(use_enable static-libs static) - # TODO: bug #645232 - Not ready for this yet, as it installs some headers to live and gst-plugins-base:0.10 includes some - # Additionally it doesn't seem good that FEATURES=test would change what files are installed (headers + orctest.so + orc-bugreport) - # $(use_enable test tests) -} - -multilib_src_install() { - emake DESTDIR="${D}" install - prune_libtool_files --all - - if use pax_kernel; then - pax-mark m "${ED}"usr/bin/orc-bugreport - pax-mark m "${ED}"usr/bin/orcc - pax-mark m "${ED}"usr/$(get_libdir)/liborc*.so* - fi -} - -multilib_src_install_all() { - einstalldocs - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins examples/{*.c,*.orc} - fi -} - -pkg_postinst() { - if use pax_kernel; then - ewarn "Please run \"revdep-pax\" after installation". - ewarn "It's provided by sys-apps/elfix." - fi -} diff --git a/dev-lang/parrot/metadata.xml b/dev-lang/parrot/metadata.xml index 7faa8dfe9af4..e8804b348227 100644 --- a/dev-lang/parrot/metadata.xml +++ b/dev-lang/parrot/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>perl@gentoo.org</email> - <name>Gentoo Perl Project</name> -</maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/pcc/files/pcc-1.1.0-multiarch.patch b/dev-lang/pcc/files/pcc-1.1.0-multiarch.patch index 8420908e9f9d..8ee850ea655d 100644 --- a/dev-lang/pcc/files/pcc-1.1.0-multiarch.patch +++ b/dev-lang/pcc/files/pcc-1.1.0-multiarch.patch @@ -1,5 +1,5 @@ ---- cc/cc/cc.c 2014-12-06 09:52:55.000000000 +0000 -+++ cc/cc/cc.c.new 2015-03-09 09:22:25.569376330 +0000 +--- a/cc/cc/cc.c ++++ b/cc/cc/cc.c @@ -206,7 +206,7 @@ #define PCCLIBDIR NULL #endif diff --git a/dev-lang/pcc/metadata.xml b/dev-lang/pcc/metadata.xml index 40aa45df2b01..57392750405d 100644 --- a/dev-lang/pcc/metadata.xml +++ b/dev-lang/pcc/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/pcc/pcc-1.1.0-r1.ebuild b/dev-lang/pcc/pcc-1.1.0-r1.ebuild index a0e8475eaf22..4bee4b7522ef 100644 --- a/dev-lang/pcc/pcc-1.1.0-r1.ebuild +++ b/dev-lang/pcc/pcc-1.1.0-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 -inherit eutils versionator autotools +inherit autotools flag-o-matic DESCRIPTION="pcc portable c compiler" HOMEPAGE="https://pcc.ludd.ltu.se" @@ -13,25 +13,21 @@ SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" + DEPEND=">=dev-libs/pcc-libs-${PV}" RDEPEND="${DEPEND}" +PATCHES=( "${FILESDIR}"/${P}-multiarch.patch ) + src_prepare() { - sed -i -e 's/AC_CHECK_PROG(strip,strip,yes,no)//' configure.ac || die "Failed to fix configure.ac" - sed -i -e 's/AC_SUBST(strip)//' configure.ac || die "Failed to fix configure.ac more" + default + sed -i \ + -e 's/AC_CHECK_PROG(strip,strip,yes,no)//' \ + -e 's/AC_SUBST(strip)//' configure.ac || die eautoreconf - epatch "${FILESDIR}/${P}-multiarch.patch" || die } src_configure() { + append-cflags -fcommon econf --disable-stripping } - -src_compile() { - emake -} - -src_install() { - emake DESTDIR="${D}" install -} diff --git a/dev-lang/pcc/pcc-9999.ebuild b/dev-lang/pcc/pcc-9999.ebuild index 65a17a3fbbd3..226d73a21b1b 100644 --- a/dev-lang/pcc/pcc-9999.ebuild +++ b/dev-lang/pcc/pcc-9999.ebuild @@ -12,7 +12,6 @@ if [[ ${PV} = 9999 ]]; then inherit cvs ECVS_SERVER="pcc.ludd.ltu.se:/cvsroot" ECVS_MODULE="${PN}" - KEYWORDS="" S="${WORKDIR}/${PN}" else SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz" diff --git a/dev-lang/perl/metadata.xml b/dev-lang/perl/metadata.xml index 0edcddc60b41..ebe6750d0bfa 100644 --- a/dev-lang/perl/metadata.xml +++ b/dev-lang/perl/metadata.xml @@ -1,14 +1,15 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>perl@gentoo.org</email> - <name>Gentoo Perl Project</name> - </maintainer> - <use> - <flag name="ithreads">Enable Perl threads, has some compatibility problems</flag> - </use> - <upstream> - <remote-id type="github">arsv/perl-cross</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + <upstream> + <remote-id type="github">arsv/perl-cross</remote-id> + </upstream> + <use> + <flag name="ithreads">Enable Perl threads, has some compatibility problems</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index e4b919001b11..848750ea0ca4 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -1,10 +1,3 @@ -DIST php-7.2.34.tar.xz 12309432 BLAKE2B 50522786d39296bc7411931c4f357d53c7a25da264192a6a6e7f7594f3dee108e22974e00a4bdc4d3af269ab63d07b28045ff6b4f4f0c79672ed059882647b93 SHA512 7ecc3de3b5db41ec4ff6a5ce6c7e77dc330753c6f3fd87db4d07d6bb763a0b047e83afeef2251b4c6a5d2ff53fd9f3d7e99d091ef2e2c6ab8f18db7447d8a97d -DIST php-7.3.25.tar.xz 12136668 BLAKE2B b9bfb1de15a3f02bf5d228a2cf9b307c9eeadaea10cac22d40647db0147f4f93b41858ea4affa0701478dd397f0a87cae4e2f29a378f7c6730fdf7da5c48e0e8 SHA512 30b27deab12cf2544671afbbdaefd4bfea308eeed8e9c2150751c5bc9ece18d981bcc020eace35cbdbe88b45cffba8a1fca718fc4e74c3a7903d8b038015d31e -DIST php-7.3.26.tar.xz 12138088 BLAKE2B eb0090d1edff251341a9d7668a9a6d9ad2f45f7db902e7a51b133d77b0ac155248643ea2bb5fb68b9ba5f363bfdecf1db58dc41b78e5ae24ad66e4443f7c607e SHA512 36494c7907adf75378bcd2c8e5a4761271307d2b507df09c35b8f1114d189320bc7e73f1b05cb171aa93209dc2c3026256f7826e5563f13b99f1b4dbe9741732 DIST php-7.3.27.tar.xz 12137924 BLAKE2B f4648fdc2b8903ce1b68221eeb49e7764c5446a3d0d0d93e9cd2d8b4cb08e57229261f6fac4ebf35127e94afd5f157ec8f27659ce463e281784c755a3759481e SHA512 a5c186663d656b473f6165b433077057972b1454013ca0f99831be61bd7b7f1c841b8dae69951fa371f678ea3f0e5410518427ee08cb20611bfc00f263d4d47a -DIST php-7.4.13.tar.xz 10319848 BLAKE2B c1da97eb605f1fc2b36190bfe92feb1fd527f4aaf1483865561a08cf990e70445f5520c8abcea7d9c6482dc47e500507644e0cd2cc756cfa99adfec0359cd795 SHA512 3525f4fd4ea6d97ed75ed8360d2a851e8577c09247ae3c6eb7e7b43265ee418297d91c1022bf5bbb64d1eecdebbbc2e0f6d42b560f584a741b475db2c6897ea7 -DIST php-7.4.14.tar.xz 10326868 BLAKE2B 59099de517b276171539242332c7847b945c97ad73d82ad7555aa6eb37ea2fd923a554c715ddcc730a9b224af7878dfd373bb238a3611ba505eb26213397076d SHA512 5c48874d1e78d83297e98773089993ee3c8a7cdd8a611afc536eed8bc91cc4b2b492e1940923ccb7fe2dd039732082e568191e64923b74d4fc80362fbd06e6b7 DIST php-7.4.15.tar.xz 10332360 BLAKE2B 3217378a2fa9e3cd030f585696ac48c50bf4f2509401276783ceb3c757155fb4a06dde8fbb93588e96b16f1f8bbcb32337f58a31c2c0c2009d3659136453c4e1 SHA512 51a815852c08518d6706fc719e3bafd214889580cc5ca0e5049ae7e8f6173e83b9486bc9a69afd1ea4ab1778bb2879bd917595cd04cbcc50b182a10230f08175 -DIST php-8.0.0.tar.xz 10726788 BLAKE2B 16c4aa075ba5dee6d47086323cd152b33dc7b62ac6b3ab6637ec386c1048e256a160d72e72cbc88450af1e84389042ebf2d644d3361c9a34879cc494d5b9b64f SHA512 65630940c95436f3e3ecb71b9f1ca15bb4118267dbda604ed1ee009d528c21a3ec21f48a15e4dd3529fe9cd2b354c211a7b4975b5de43e1f2afa6656cabe1fd0 -DIST php-8.0.1.tar.xz 10642344 BLAKE2B 38e523f316c41de61b39e2f069018fa32cd9886a10ebe74cd772aa6003678821129292b61b6d1c2466ebf8c47b1bb98f0c686aefd3b1abf1aa560fb8ec954080 SHA512 6b21837bde4a4c7a550d49afb3650613a72bdfb1041294fa287936cf4b04027cd05c82fafc6f3978d77452c2539b198fe10c1241446431e7947e98d48d841ded DIST php-8.0.2.tar.xz 10650500 BLAKE2B cd087768e007e042f172d59b4c9f323b9ce98207c1a4d740a75f569e16eaaf4f1ac18ccc3fdaedde38c142435498a7fdb503a53e1c119d1b046c59ee403ef606 SHA512 a61056f07e55360fa0219a8fbe73bf559eef64bb854f968cf3d139c9375c399969dea6383a0da276539fbb70d6eaa93d26983f1696cc341aca7ca0fff25c1f08 diff --git a/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch b/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch deleted file mode 100644 index b5d2b473f1aa..000000000000 --- a/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch +++ /dev/null @@ -1,379 +0,0 @@ -Based on the following upstream commits: - -https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22 -https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7 -https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 - ---- a/ext/intl/breakiterator/breakiterator_class.cpp -+++ b/ext/intl/breakiterator/breakiterator_class.cpp -@@ -38,6 +38,7 @@ extern "C" { - } - - using PHP::CodePointBreakIterator; -+using icu::RuleBasedBreakIterator; - - /* {{{ Global variables */ - zend_class_entry *BreakIterator_ce_ptr; ---- a/ext/intl/breakiterator/breakiterator_class.h -+++ b/ext/intl/breakiterator/breakiterator_class.h -@@ -26,6 +26,8 @@ - - #ifndef USE_BREAKITERATOR_POINTER - typedef void BreakIterator; -+#else -+using icu::BreakIterator; - #endif - - typedef struct { ---- a/ext/intl/breakiterator/breakiterator_methods.cpp -+++ b/ext/intl/breakiterator/breakiterator_methods.cpp -@@ -32,6 +32,8 @@ extern "C" { - } - - using PHP::CodePointBreakIterator; -+using icu::BreakIterator; -+using icu::Locale; - - U_CFUNC PHP_METHOD(BreakIterator, __construct) - { ---- a/ext/intl/breakiterator/codepointiterator_internal.cpp -+++ b/ext/intl/breakiterator/codepointiterator_internal.cpp -@@ -33,6 +33,8 @@ typedef union { - - using namespace PHP; - -+using icu::UCharCharacterIterator; -+ - UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator); - - CodePointBreakIterator::CodePointBreakIterator() ---- a/ext/intl/breakiterator/codepointiterator_internal.h -+++ b/ext/intl/breakiterator/codepointiterator_internal.h -@@ -18,8 +18,11 @@ - #define CODEPOINTITERATOR_INTERNAL_H - - #include <unicode/brkiter.h> -+#include <unicode/unistr.h> - --using U_ICU_NAMESPACE::BreakIterator; -+using icu::BreakIterator; -+using icu::CharacterIterator; -+using icu::UnicodeString; - - namespace PHP { - ---- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp -+++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp -@@ -26,6 +26,9 @@ extern "C" { - #include "../intl_convertcpp.h" - #include "../intl_common.h" - -+using icu::RuleBasedBreakIterator; -+using icu::Locale; -+ - static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) { - return (RuleBasedBreakIterator*)bio->biter; - } ---- a/ext/intl/calendar/calendar_class.cpp -+++ b/ext/intl/calendar/calendar_class.cpp -@@ -34,6 +34,9 @@ extern "C" { - #include <assert.h> - } - -+using icu::GregorianCalendar; -+using icu::Locale; -+ - /* {{{ Global variables */ - zend_class_entry *Calendar_ce_ptr; - zend_class_entry *GregorianCalendar_ce_ptr; ---- a/ext/intl/calendar/calendar_class.h -+++ b/ext/intl/calendar/calendar_class.h -@@ -26,6 +26,8 @@ - - #ifndef USE_CALENDAR_POINTER - typedef void Calendar; -+#else -+using icu::Calendar; - #endif - - typedef struct { ---- a/ext/intl/calendar/calendar_methods.cpp -+++ b/ext/intl/calendar/calendar_methods.cpp -@@ -40,6 +40,8 @@ extern "C" { - } - #include "../common/common_enum.h" - -+using icu::Locale; -+ - U_CFUNC PHP_METHOD(IntlCalendar, __construct) - { - zend_throw_exception( NULL, ---- a/ext/intl/calendar/gregoriancalendar_methods.cpp -+++ b/ext/intl/calendar/gregoriancalendar_methods.cpp -@@ -23,6 +23,8 @@ - #include <unicode/locid.h> - #include <unicode/calendar.h> - #include <unicode/gregocal.h> -+#include <unicode/ustring.h> -+ - extern "C" { - #include "../php_intl.h" - #include "../intl_common.h" -@@ -34,6 +36,11 @@ extern "C" { - #include "zend_exceptions.h" - } - -+using icu::GregorianCalendar; -+using icu::Locale; -+using icu::UnicodeString; -+using icu::StringPiece; -+ - static inline GregorianCalendar *fetch_greg(Calendar_object *co) { - return (GregorianCalendar*)co->ucal; - } ---- a/ext/intl/common/common_date.cpp -+++ b/ext/intl/common/common_date.cpp -@@ -27,6 +27,9 @@ extern "C" { - - #include "zend_portability.h" - -+using icu::TimeZone; -+using icu::UnicodeString; -+ - /* {{{ timezone_convert_datetimezone - * The timezone in DateTime and DateTimeZone is not unified. */ - U_CFUNC TimeZone *timezone_convert_datetimezone(int type, ---- a/ext/intl/common/common_date.h -+++ b/ext/intl/common/common_date.h -@@ -28,6 +28,8 @@ U_CDECL_END - - #include <unicode/timezone.h> - -+using icu::TimeZone; -+ - U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func); - U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, - intl_error *err, const char *func); ---- a/ext/intl/common/common_enum.h -+++ b/ext/intl/common/common_enum.h -@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter); - U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter); - - #ifdef __cplusplus -+using icu::StringEnumeration; - U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object); - #endif - ---- a/ext/intl/converter/converter.c -+++ b/ext/intl/converter/converter.c -@@ -18,6 +18,8 @@ - #include "zend_exceptions.h" - - #include <unicode/utypes.h> -+#include <unicode/utf8.h> -+#include <unicode/utf16.h> - #include <unicode/ucnv.h> - #include <unicode/ustring.h> - ---- a/ext/intl/dateformat/dateformat_format_object.cpp -+++ b/ext/intl/dateformat/dateformat_format_object.cpp -@@ -33,6 +33,12 @@ extern "C" { - #include "../common/common_date.h" - } - -+using icu::Locale; -+using icu::DateFormat; -+using icu::GregorianCalendar; -+using icu::StringPiece; -+using icu::SimpleDateFormat; -+ - static const DateFormat::EStyle valid_styles[] = { - DateFormat::kNone, - DateFormat::kFull, ---- a/ext/intl/dateformat/dateformat_helpers.cpp -+++ b/ext/intl/dateformat/dateformat_helpers.cpp -@@ -28,6 +28,8 @@ extern "C" { - #include "../calendar/calendar_class.h" - } - -+using icu::GregorianCalendar; -+ - int datefmt_process_calendar_arg(zval* calendar_zv, - Locale const& locale, - const char *func_name, ---- a/ext/intl/dateformat/dateformat_helpers.h -+++ b/ext/intl/dateformat/dateformat_helpers.h -@@ -22,11 +22,16 @@ - #endif - - #include <unicode/calendar.h> -+#include <unicode/datefmt.h> - - extern "C" { - #include "../php_intl.h" - } - -+using icu::Locale; -+using icu::Calendar; -+using icu::DateFormat; -+ - int datefmt_process_calendar_arg(zval* calendar_zv, - Locale const& locale, - const char *func_name, ---- a/ext/intl/grapheme/grapheme_string.c -+++ b/ext/intl/grapheme/grapheme_string.c -@@ -24,6 +24,7 @@ - #include "grapheme_util.h" - - #include <unicode/utypes.h> -+#include <unicode/utf8.h> - #include <unicode/ucol.h> - #include <unicode/ustring.h> - #include <unicode/ubrk.h> -@@ -834,10 +835,10 @@ PHP_FUNCTION(grapheme_extract) - pstr = str + start; - - /* just in case pstr points in the middle of a character, move forward to the start of the next char */ -- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { -- char *str_end = str + str_len; -+ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { -+ unsigned char *str_end = str + str_len; - -- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { -+ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { - pstr++; - if ( pstr >= str_end ) { - intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, ---- a/ext/intl/intl_convertcpp.h -+++ b/ext/intl/intl_convertcpp.h -@@ -26,6 +26,8 @@ - #include <unicode/unistr.h> - #include <zend_types.h> - -+using icu::UnicodeString; -+ - int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status); - - zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status); ---- a/ext/intl/msgformat/msgformat_helpers.cpp -+++ b/ext/intl/msgformat/msgformat_helpers.cpp -@@ -78,6 +78,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) { - #endif - U_NAMESPACE_END - -+using icu::Formattable; -+using icu::Format; -+using icu::DateFormat; -+using icu::MessageFormat; -+#ifdef HAS_MESSAGE_PATTERN -+using icu::MessagePattern; -+#endif -+using icu::MessageFormatAdapter; -+using icu::FieldPosition; -+ - U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt) - { - int32_t fmt_count = 0; -@@ -229,15 +239,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, - UnicodeString typeString = mp.getSubstring(type_part); - /* This is all based on the rules in the docs for MessageFormat - * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */ -- if (typeString == "number") { -+#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1) -+ if (typeString == ASCII_LITERAL("number")) { - MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */ - if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) { - UnicodeString styleString = mp.getSubstring(style_part); -- if (styleString == "integer") { -+ if (styleString == ASCII_LITERAL("integer")) { - type = Formattable::kInt64; -- } else if (styleString == "currency") { -+ } else if (styleString == ASCII_LITERAL("currency")) { - type = Formattable::kDouble; -- } else if (styleString == "percent") { -+ } else if (styleString == ASCII_LITERAL("percent")) { - type = Formattable::kDouble; - } else { /* some style invalid/unknown to us */ - type = Formattable::kDouble; -@@ -245,12 +256,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, - } else { // if missing style, part, make it a double - type = Formattable::kDouble; - } -- } else if ((typeString == "date") || (typeString == "time")) { -+ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) { - type = Formattable::kDate; -- } else if ((typeString == "spellout") || (typeString == "ordinal") -- || (typeString == "duration")) { -+ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal")) -+ || (typeString == ASCII_LITERAL("duration"))) { - type = Formattable::kDouble; - } -+#undef ASCII_LITERAL - } else { - /* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a - * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern ---- a/ext/intl/normalizer/normalizer_normalize.c -+++ b/ext/intl/normalizer/normalizer_normalize.c -@@ -24,6 +24,7 @@ - #include "normalizer_class.h" - #include "normalizer_normalize.h" - #include "intl_convert.h" -+#include <unicode/utf8.h> - - /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] ) - * Normalize a string. }}} */ ---- a/ext/intl/timezone/timezone_class.cpp -+++ b/ext/intl/timezone/timezone_class.cpp -@@ -37,6 +37,8 @@ extern "C" { - #include <ext/date/php_date.h> - } - -+using icu::Calendar; -+ - /* {{{ Global variables */ - U_CDECL_BEGIN - zend_class_entry *TimeZone_ce_ptr = NULL; ---- a/ext/intl/timezone/timezone_class.h -+++ b/ext/intl/timezone/timezone_class.h -@@ -29,6 +29,8 @@ - - #ifndef USE_TIMEZONE_POINTER - typedef void TimeZone; -+#else -+using icu::TimeZone; - #endif - - typedef struct { ---- a/ext/intl/timezone/timezone_methods.cpp -+++ b/ext/intl/timezone/timezone_methods.cpp -@@ -23,6 +23,7 @@ - #include <unicode/locid.h> - #include <unicode/timezone.h> - #include <unicode/ustring.h> -+#include <unicode/calendar.h> - #include "intl_convertcpp.h" - - #include "../common/common_date.h" -@@ -37,6 +38,9 @@ extern "C" { - } - #include "common/common_enum.h" - -+using icu::Locale; -+using icu::Calendar; -+ - U_CFUNC PHP_METHOD(IntlTimeZone, __construct) - { - zend_throw_exception( NULL, ---- a/ext/intl/uchar/uchar.c -+++ b/ext/intl/uchar/uchar.c -@@ -3,6 +3,7 @@ - #include "intl_convert.h" - - #include <unicode/uchar.h> -+#include <unicode/utf8.h> - - #define IC_METHOD(mname) PHP_METHOD(IntlChar, mname) - --- -2.19.2 - diff --git a/dev-lang/php/files/php-7.2.34-use-after-free-bug76047.patch b/dev-lang/php/files/php-7.2.34-use-after-free-bug76047.patch deleted file mode 100644 index b3a864ee82a8..000000000000 --- a/dev-lang/php/files/php-7.2.34-use-after-free-bug76047.patch +++ /dev/null @@ -1,174 +0,0 @@ -Backport of https://git.php.net/?p=php-src.git;a=commit;h=ef1e4891b47949c8dc0f9482eef9454a0ecdfa1d - ---- a/Zend/tests/bug52361.phpt -+++ b/Zend/tests/bug52361.phpt -@@ -25,9 +25,8 @@ try { - --EXPECTF-- - 1. Exception: aaa in %sbug52361.php:5 - Stack trace: --#0 %sbug52361.php(13): aaa->__destruct() --#1 %sbug52361.php(16): bbb() --#2 {main} -+#0 %sbug52361.php(16): aaa->__destruct() -+#1 {main} - 2. Exception: bbb in %sbug52361.php:13 - Stack trace: - #0 %sbug52361.php(16): bbb() ---- /dev/null -+++ b/Zend/tests/bug76047.phpt -@@ -0,0 +1,68 @@ -+--TEST-- -+Bug #76047: Use-after-free when accessing already destructed backtrace arguments -+--FILE-- -+<?php -+ -+class Vuln { -+ public $a; -+ public function __destruct() { -+ unset($this->a); -+ $backtrace = (new Exception)->getTrace(); -+ var_dump($backtrace); -+ } -+} -+ -+function test($arg) { -+ $arg = str_shuffle(str_repeat('A', 79)); -+ $vuln = new Vuln(); -+ $vuln->a = $arg; -+} -+ -+function test2($arg) { -+ $$arg = 1; // Trigger symbol table -+ $arg = str_shuffle(str_repeat('A', 79)); -+ $vuln = new Vuln(); -+ $vuln->a = $arg; -+} -+ -+test('x'); -+test2('x'); -+ -+?> -+--EXPECTF-- -+array(1) { -+ [0]=> -+ array(6) { -+ ["file"]=> -+ string(%d) "%s" -+ ["line"]=> -+ int(%d) -+ ["function"]=> -+ string(10) "__destruct" -+ ["class"]=> -+ string(4) "Vuln" -+ ["type"]=> -+ string(2) "->" -+ ["args"]=> -+ array(0) { -+ } -+ } -+} -+array(1) { -+ [0]=> -+ array(6) { -+ ["file"]=> -+ string(%d) "%s" -+ ["line"]=> -+ int(%d) -+ ["function"]=> -+ string(10) "__destruct" -+ ["class"]=> -+ string(4) "Vuln" -+ ["type"]=> -+ string(2) "->" -+ ["args"]=> -+ array(0) { -+ } -+ } -+} ---- a/Zend/zend_vm_def.h -+++ b/Zend/zend_vm_def.h -@@ -2366,9 +2366,9 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) - uint32_t call_info = EX_CALL_INFO(); - - if (EXPECTED((call_info & (ZEND_CALL_CODE|ZEND_CALL_TOP|ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS|ZEND_CALL_ALLOCATED)) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - -- EG(current_execute_data) = EX(prev_execute_data); - if (UNEXPECTED(call_info & ZEND_CALL_RELEASE_THIS)) { - zend_object *object = Z_OBJ(execute_data->This); - #if 0 -@@ -2394,12 +2394,12 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) - LOAD_NEXT_OPLINE(); - ZEND_VM_LEAVE(); - } else if (EXPECTED((call_info & (ZEND_CALL_CODE|ZEND_CALL_TOP)) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - - if (UNEXPECTED(call_info & ZEND_CALL_HAS_SYMBOL_TABLE)) { - zend_clean_and_cache_symbol_table(EX(symbol_table)); - } -- EG(current_execute_data) = EX(prev_execute_data); - - /* Free extra args before releasing the closure, - * as that may free the op_array. */ -@@ -2449,6 +2449,7 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) - ZEND_VM_LEAVE(); - } else { - if (EXPECTED((call_info & ZEND_CALL_CODE) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - if (UNEXPECTED(call_info & (ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS))) { - if (UNEXPECTED(call_info & ZEND_CALL_HAS_SYMBOL_TABLE)) { -@@ -2456,7 +2457,6 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) - } - zend_vm_stack_free_extra_args_ex(call_info, execute_data); - } -- EG(current_execute_data) = EX(prev_execute_data); - if (UNEXPECTED(call_info & ZEND_CALL_CLOSURE)) { - OBJ_RELEASE((zend_object*)EX(func)->op_array.prototype); - } ---- a/Zend/zend_vm_execute.h -+++ b/Zend/zend_vm_execute.h -@@ -434,9 +434,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_ - uint32_t call_info = EX_CALL_INFO(); - - if (EXPECTED((call_info & (ZEND_CALL_CODE|ZEND_CALL_TOP|ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS|ZEND_CALL_ALLOCATED)) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - -- EG(current_execute_data) = EX(prev_execute_data); - if (UNEXPECTED(call_info & ZEND_CALL_RELEASE_THIS)) { - zend_object *object = Z_OBJ(execute_data->This); - #if 0 -@@ -462,12 +462,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_ - LOAD_NEXT_OPLINE(); - ZEND_VM_LEAVE(); - } else if (EXPECTED((call_info & (ZEND_CALL_CODE|ZEND_CALL_TOP)) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - - if (UNEXPECTED(call_info & ZEND_CALL_HAS_SYMBOL_TABLE)) { - zend_clean_and_cache_symbol_table(EX(symbol_table)); - } -- EG(current_execute_data) = EX(prev_execute_data); - - /* Free extra args before releasing the closure, - * as that may free the op_array. */ -@@ -517,6 +517,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_ - ZEND_VM_LEAVE(); - } else { - if (EXPECTED((call_info & ZEND_CALL_CODE) == 0)) { -+ EG(current_execute_data) = EX(prev_execute_data); - i_free_compiled_variables(execute_data); - if (UNEXPECTED(call_info & (ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS))) { - if (UNEXPECTED(call_info & ZEND_CALL_HAS_SYMBOL_TABLE)) { -@@ -524,7 +525,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_ - } - zend_vm_stack_free_extra_args_ex(call_info, execute_data); - } -- EG(current_execute_data) = EX(prev_execute_data); - if (UNEXPECTED(call_info & ZEND_CALL_CLOSURE)) { - OBJ_RELEASE((zend_object*)EX(func)->op_array.prototype); - } - diff --git a/dev-lang/php/files/php-7.4.13-issue80368.patch b/dev-lang/php/files/php-7.4.13-issue80368.patch deleted file mode 100644 index adad8f864ec1..000000000000 --- a/dev-lang/php/files/php-7.4.13-issue80368.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://github.com/php/php-src/commit/0f579fd7c8171cb0f7ecc8db912933df450f3861 -https://github.com/php/php-src/commit/ecee3f1209a7c0ac9f99c7f640b2f5df56656e58 - ---- a/ext/openssl/openssl.c -+++ b/ext/openssl/openssl.c -@@ -6496,7 +6496,9 @@ static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, c - int cipher_mode = EVP_CIPHER_mode(cipher_type); - memset(mode, 0, sizeof(struct php_openssl_cipher_mode)); - switch (cipher_mode) { --#if PHP_OPENSSL_API_VERSION >= 0x10100 -+#ifdef EVP_CIPH_OCB_MODE -+ /* Since OpenSSL 1.1, all AEAD ciphers use a common framework. We check for -+ * EVP_CIPH_OCB_MODE, because LibreSSL does not support it. */ - case EVP_CIPH_GCM_MODE: - case EVP_CIPH_OCB_MODE: - case EVP_CIPH_CCM_MODE: - diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml index d7afaed7acd0..5d1ca3b76684 100644 --- a/dev-lang/php/metadata.xml +++ b/dev-lang/php/metadata.xml @@ -1,69 +1,72 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>php-bugs@gentoo.org</email> - <name>PHP</name> - </maintainer> - <maintainer type="person"> - <email>mjo@gentoo.org</email> - <name>Michael Orlitzky</name> - </maintainer> - <use> - <flag name="argon2">Enable password hashing algorithm from <pkg>app-crypt/argon2</pkg></flag> - <flag name="bcmath">Add support for libbcmath</flag> - <flag name="cli">Enable CLI SAPI</flag> - <flag name="coverage"> + <maintainer type="project"> + <email>php-bugs@gentoo.org</email> + <name>PHP</name> + </maintainer> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + <name>Michael Orlitzky</name> + </maintainer> + + <use> + <flag name="argon2">Enable password hashing algorithm from <pkg>app-crypt/argon2</pkg></flag> + <flag name="bcmath">Add support for libbcmath</flag> + <flag name="cli">Enable CLI SAPI</flag> + <flag name="coverage"> Include gcov symbols for test coverage and lcov reports. Only useful for extension developers, and requires GCC. </flag> - <flag name="ctype">Enable ctype functions</flag> - <flag name="embed">Enable embed SAPI </flag> - <flag name="enchant">Add supports Enchant spelling library. </flag> - <flag name="ffi"> Add foreign function interface (ffi extension) support</flag> - <flag name="fileinfo"> Add fileinfo extension support</flag> - <flag name="filter">Add filter extension support</flag> - <flag name="flatfile">Add dbm support for flat files</flag> - <flag name="fpm">Enable the FastCGI Process Manager SAPI</flag> - <flag name="gd">Adds support for gd (bundled with PHP)</flag> - <flag name="hash">Enable the hash extension</flag> - <flag name="inifile">Add dbm support for .ini files</flag> - <flag name="json">Enable JSON support</flag> - <flag name="ldap-sasl">Add SASL support for the PHP LDAP extension</flag> - <flag name="lmdb">Enable support for <pkg>dev-db/lmdb</pkg> db backend</flag> - <flag name="intl"> + <flag name="ctype">Enable ctype functions</flag> + <flag name="embed">Enable embed SAPI </flag> + <flag name="enchant">Add supports Enchant spelling library. </flag> + <flag name="ffi"> Add foreign function interface (ffi extension) support</flag> + <flag name="fileinfo"> Add fileinfo extension support</flag> + <flag name="filter">Add filter extension support</flag> + <flag name="flatfile">Add dbm support for flat files</flag> + <flag name="fpm">Enable the FastCGI Process Manager SAPI</flag> + <flag name="gd">Adds support for gd (bundled with PHP)</flag> + <flag name="hash">Enable the hash extension</flag> + <flag name="inifile">Add dbm support for .ini files</flag> + <flag name="jit">Enable PCRE JIT support</flag> + <flag name="json">Enable JSON support</flag> + <flag name="ldap-sasl">Add SASL support for the PHP LDAP extension</flag> + <flag name="lmdb">Enable support for <pkg>dev-db/lmdb</pkg> db backend</flag> + <flag name="intl"> Enables the intl extension for extended internalization support </flag> - <flag name="opcache"> + <flag name="opcache"> Enables built-in opcode cache, replacing pecl-apc et al. </flag> - <flag name="pcntl">Add support for process creation functions</flag> - <flag name="pdo">Enable the bundled PDO extensions</flag> - <flag name="phar"> + <flag name="pcntl">Add support for process creation functions</flag> + <flag name="pdo">Enable the bundled PDO extensions</flag> + <flag name="phar"> Enables the phar extension to provide phar archive support </flag> - <flag name="phpdbg"> + <flag name="phpdbg"> Enable the PHP Debug Command Line SAPI (like gdb for php) </flag> - <flag name="session-mm"> + <flag name="session-mm"> Include <pkg>dev-libs/mm</pkg> support for session storage </flag> - <flag name="sharedmem">Add support for shared memory use</flag> - <flag name="simplexml">Support for SimpleXML</flag> - <flag name="sodium"> + <flag name="sharedmem">Add support for shared memory use</flag> + <flag name="simplexml">Support for SimpleXML</flag> + <flag name="sodium"> Enable support for crypto through <pkg>dev-libs/libsodium</pkg> </flag> - <flag name="sysvipc"> + <flag name="sysvipc"> Support for System V-compatible inter-process communication </flag> - <flag name="tokenizer">Add support for the PHP file parser</flag> - <flag name="tokyocabinet"> + <flag name="tokenizer">Add support for the PHP file parser</flag> + <flag name="tokyocabinet"> Enable support for <pkg>dev-db/tokyocabinet</pkg> db backend</flag> - <flag name="xmlreader">Enable XMLReader support</flag> - <flag name="xmlwriter">Enable XMLWriter support</flag> - <flag name="xslt">Enable the XSL extension</flag> - <flag name="wddx">Add support for Web Distributed Data eXchange</flag> - <flag name="webp">Enable webp support for GD in php-7.x</flag> - <flag name="zip-encryption">Enable ZIP file encryption from <pkg>dev-libs/libzip</pkg></flag> - </use> -</pkgmetadata> + <flag name="xmlreader">Enable XMLReader support</flag> + <flag name="xmlwriter">Enable XMLWriter support</flag> + <flag name="xslt">Enable the XSL extension</flag> + <flag name="wddx">Add support for Web Distributed Data eXchange</flag> + <flag name="webp">Enable webp support for GD in php-7.x</flag> + <flag name="zip-encryption">Enable ZIP file encryption from <pkg>dev-libs/libzip</pkg></flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/php/php-7.2.34-r1.ebuild b/dev-lang/php/php-7.2.34-r1.ebuild deleted file mode 100644 index 331c786bb1a2..000000000000 --- a/dev-lang/php/php-7.2.34-r1.ebuild +++ /dev/null @@ -1,764 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit flag-o-matic systemd autotools toolchain-funcs - -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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[apache2_modules_unixd(+),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-r3: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-2[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? ( 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 ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/php-freetype-2.9.1.patch" - "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch" - "${FILESDIR}/php-7.2.34-use-after-free-bug76047.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 - - 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 "../ext/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 - - # Fix building against >=ICU-68, https://bugs.php.net/80310 - append-cflags -DU_DEFINE_FALSE_AND_TRUE=1 - append-cxxflags -DU_DEFINE_FALSE_AND_TRUE=1 - - 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 - - local one_sapi - local sapi - 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 - - local sapi - 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="",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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.34-r2.ebuild b/dev-lang/php/php-7.2.34-r2.ebuild deleted file mode 100644 index 643a7372408c..000000000000 --- a/dev-lang/php/php-7.2.34-r2.ebuild +++ /dev/null @@ -1,764 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit flag-o-matic systemd autotools toolchain-funcs - -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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[apache2_modules_unixd(+),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-r3: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-2[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? ( 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:0= ) - 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 ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/php-freetype-2.9.1.patch" - "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch" - "${FILESDIR}/php-7.2.34-use-after-free-bug76047.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 - - 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 "../ext/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 - - # Fix building against >=ICU-68, https://bugs.php.net/80310 - append-cflags -DU_DEFINE_FALSE_AND_TRUE=1 - append-cxxflags -DU_DEFINE_FALSE_AND_TRUE=1 - - 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 - - local one_sapi - local sapi - 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 - - local sapi - 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="",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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.25.ebuild b/dev-lang/php/php-7.3.25.ebuild deleted file mode 100644 index f1d01ba617fc..000000000000 --- a/dev-lang/php/php-7.3.25.ebuild +++ /dev/null @@ -1,760 +0,0 @@ -# Copyright 1999-2021 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://www.php.net/" -SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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[apache2_modules_unixd(+),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-r3: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-2[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? ( 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 ) -" - -RESTRICT="!test? ( test )" - -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 - - 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 "../ext/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 - - local one_sapi - local sapi - 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 - - local sapi - 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="", 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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.26.ebuild b/dev-lang/php/php-7.3.26.ebuild deleted file mode 100644 index 1a6a422f3b76..000000000000 --- a/dev-lang/php/php-7.3.26.ebuild +++ /dev/null @@ -1,760 +0,0 @@ -# Copyright 1999-2021 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://www.php.net/" -SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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[apache2_modules_unixd(+),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-r3: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-2[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? ( 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:0= ) - 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 ) -" - -RESTRICT="!test? ( test )" - -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 - - 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 "../ext/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 - - local one_sapi - local sapi - 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 - - local sapi - 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="", 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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.26-r1.ebuild b/dev-lang/php/php-7.3.27-r1.ebuild index 7fbb614a6a33..b350d7454cad 100644 --- a/dev-lang/php/php-7.3.26-r1.ebuild +++ b/dev-lang/php/php-7.3.27-r1.ebuild @@ -35,7 +35,7 @@ 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 + intl iodbc ipv6 +jit +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 @@ -48,7 +48,7 @@ IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk # 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] + >=dev-libs/libpcre2-10.30[jit?,unicode] fpm? ( acl? ( sys-apps/acl ) ) apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) argon2? ( app-crypt/argon2:= ) @@ -422,12 +422,11 @@ src_configure() { # --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 + $(use_with jit pcre-jit) ) # Catch CFLAGS problems diff --git a/dev-lang/php/php-7.3.27.ebuild b/dev-lang/php/php-7.3.27.ebuild index 9955fb58f99f..9de4a1c7751b 100644 --- a/dev-lang/php/php-7.3.27.ebuild +++ b/dev-lang/php/php-7.3.27.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-7.4.13.ebuild b/dev-lang/php/php-7.4.13.ebuild deleted file mode 100644 index 611b04a1f2cd..000000000000 --- a/dev-lang/php/php-7.4.13.ebuild +++ /dev/null @@ -1,753 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlrpc? ( xml iconv ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# 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[apache2_modules_unixd(+),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 ) - ffi? ( >=dev-libs/libffi-3.0.11 ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( 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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - 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:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.7.6 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=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" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( - "${FILESDIR}"/php-iodbc-header-location.patch - "${FILESDIR}"/${P}-issue80368.patch -) - -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 - - 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 "../ext/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' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -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) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(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) - $(use_enable ipv6) - $(use_enable json) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xmlrpc) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable 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" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - 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 - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # 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) - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable 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-external-pcre affects ext/pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-external-pcre - --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 - - local one_sapi - local sapi - 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 - - local sapi - 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="", 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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.4.14.ebuild b/dev-lang/php/php-7.4.14.ebuild deleted file mode 100644 index 01e4b53ce2e7..000000000000 --- a/dev-lang/php/php-7.4.14.ebuild +++ /dev/null @@ -1,752 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlrpc? ( xml iconv ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# 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[apache2_modules_unixd(+),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 ) - ffi? ( >=dev-libs/libffi-3.0.11 ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( 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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - 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:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.7.6 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=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" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( - "${FILESDIR}"/php-iodbc-header-location.patch -) - -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 - - 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 "../ext/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' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -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) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(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) - $(use_enable ipv6) - $(use_enable json) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xmlrpc) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable 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" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - 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 - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # 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) - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable 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-external-pcre affects ext/pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-external-pcre - --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 - - local one_sapi - local sapi - 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 - - local sapi - 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="", 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 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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - 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#/usr}/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 - local m - 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.4.14-r1.ebuild b/dev-lang/php/php-7.4.15-r1.ebuild index b2e7b3262c02..592c09770ef7 100644 --- a/dev-lang/php/php-7.4.14-r1.ebuild +++ b/dev-lang/php/php-7.4.15-r1.ebuild @@ -37,7 +37,7 @@ IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk coverage +ctype curl debug enchant exif ffi +fileinfo +filter firebird +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + intl iodbc ipv6 +jit +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 selinux +session session-mm sharedmem @@ -79,7 +79,7 @@ RESTRICT="!test? ( test )" # 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] + >=dev-libs/libpcre2-10.30[jit?,unicode] fpm? ( acl? ( sys-apps/acl ) ) apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) argon2? ( app-crypt/argon2:= ) @@ -416,10 +416,9 @@ src_configure() { # we use the system copy of pcre # --with-external-pcre affects ext/pcre - # Many arches don't support pcre-jit our_conf+=( --with-external-pcre - --without-pcre-jit + $(use_with jit pcre-jit) ) # Catch CFLAGS problems diff --git a/dev-lang/php/php-7.4.15.ebuild b/dev-lang/php/php-7.4.15.ebuild index 1aa9e4a0aa33..a23a91b6bfaa 100644 --- a/dev-lang/php/php-7.4.15.ebuild +++ b/dev-lang/php/php-7.4.15.ebuild @@ -21,7 +21,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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-8.0.0.ebuild b/dev-lang/php/php-8.0.0.ebuild deleted file mode 100644 index bda8c364a3e5..000000000000 --- a/dev-lang/php/php-8.0.0.ebuild +++ /dev/null @@ -1,747 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/rc} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 kerberos ldap ldap-sasl libedit libressl lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# 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.7[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( www-servers/apache[apache2_modules_unixd(+),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.29.0 ) - enchant? ( app-text/enchant:2 ) - ffi? ( >=dev-libs/libffi-3.0.11 ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( 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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( >=dev-db/postgresql-9.1:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - 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:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.9.0 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=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" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" ) - -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 - - 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 "../ext/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' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -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 zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(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) - $(use_enable ipv6) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable 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" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - 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 - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # 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) - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable 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-external-pcre affects ext/pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-external-pcre - --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 - - local one_sapi - local sapi - 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 - - local sapi - 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="", 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 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$(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" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp$(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#/usr}/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 - local m - 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-8.0.1-r1.ebuild b/dev-lang/php/php-8.0.2-r1.ebuild index cdcf7cd4d0cf..c3b57be91fa5 100644 --- a/dev-lang/php/php-8.0.1-r1.ebuild +++ b/dev-lang/php/php-8.0.2-r1.ebuild @@ -37,7 +37,7 @@ IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk coverage +ctype curl debug enchant exif ffi +fileinfo +filter firebird +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 kerberos ldap ldap-sasl libedit libressl lmdb + intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit libressl lmdb mhash mssql mysql mysqli nls oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm readline selinux +session session-mm sharedmem @@ -78,7 +78,7 @@ RESTRICT="!test? ( test )" # the ones that can be detected to avoid a repeat of bug #564824. COMMON_DEPEND=" >=app-eselect/eselect-php-0.9.7[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[unicode] + >=dev-libs/libpcre2-10.30[jit?,unicode] fpm? ( acl? ( sys-apps/acl ) ) apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) argon2? ( app-crypt/argon2:= ) @@ -411,10 +411,9 @@ src_configure() { # we use the system copy of pcre # --with-external-pcre affects ext/pcre - # Many arches don't support pcre-jit our_conf+=( --with-external-pcre - --without-pcre-jit + $(use_with jit pcre-jit) ) # Catch CFLAGS problems diff --git a/dev-lang/polyml/metadata.xml b/dev-lang/polyml/metadata.xml index d54adc1d520f..8b903fa9fbe1 100644 --- a/dev-lang/polyml/metadata.xml +++ b/dev-lang/polyml/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <use> - <flag name="portable">Build the portable interpreter version of Poly/ML instead of native</flag> - </use> - <upstream> - <remote-id type="sourceforge">polyml</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="sourceforge">polyml</remote-id> + </upstream> + <use> + <flag name="portable">Build the portable interpreter version of Poly/ML instead of native</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/python-exec-conf/metadata.xml b/dev-lang/python-exec-conf/metadata.xml index aa2793060bf8..853174b8f2ab 100644 --- a/dev-lang/python-exec-conf/metadata.xml +++ b/dev-lang/python-exec-conf/metadata.xml @@ -1,8 +1,10 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild b/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild index e034247e44e5..8ae151f5ad3e 100644 --- a/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild +++ b/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild @@ -13,7 +13,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD-2" SLOT="2" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_}" diff --git a/dev-lang/python-exec/metadata.xml b/dev-lang/python-exec/metadata.xml index cef85cf6ce7d..98fb82322518 100644 --- a/dev-lang/python-exec/metadata.xml +++ b/dev-lang/python-exec/metadata.xml @@ -1,23 +1,20 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <upstream> - <maintainer status="active"> - <email>mgorny@gentoo.org</email> - <name>Michał Górny</name> - </maintainer> - <bugs-to>https://github.com/mgorny/python-exec/issues/</bugs-to> - <remote-id type="github">mgorny/python-exec</remote-id> - </upstream> - <use> - <flag name="native-symlinks"> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <upstream> + <remote-id type="github">mgorny/python-exec</remote-id> + <bugs-to>https://github.com/mgorny/python-exec/issues/</bugs-to> + </upstream> + <use> + <flag name="native-symlinks"> Install generic symlinks like python and python3. If this flag is disabled, only versioned python3.X executables will be available to end users and ebuilds not using python eclasses. </flag> - </use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild b/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild index 01a7dc17e20d..f086a5356cae 100644 --- a/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild +++ b/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${P}.tar LICENSE="BSD-2" SLOT="2" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 45902c68973f..f753f9009e94 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,31 +1,36 @@ -AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219da014dac12fdfcbcf5fb168bb9aa57be110f74d656aed46179ffe11e3c992d84a647e442b7b SHA512 30d0776a4004cd641e6f283658c3c24915a21ea15fe40e506ff2c3a5f95936aa00c9490b04ab25f29e9b7ac65cd88fd54ca0b08e000e73820b13c7c57c0bf5b2 -AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a -AUX python-2.7.15-PGO-r1.patch 3993 BLAKE2B e3e5e570e348108f363701a78fc0829cb278bdbdd2b08ab067839854f0017f5146d1b9d027ad4754f5d93fa24f85579743c0fca05493758ce403e16d758d2e24 SHA512 d070ff6b9bb127fc16a59521c0c5eac561b8ff8efda47268639dbc2e50b2911524c2a1abd83eec0beee9e6413bac04c06644754ce29d63e3fb866498a4b40e20 -AUX python-3.5-CVE-2020-8492.patch 10807 BLAKE2B 3d049653e861ef0a0ea10c8257234a16cf1c3b44d99a9b8590faceacb3bd477735cb492944dbb7cc1a0c85488887458f9fbec339de04a7c7e1d4f19fe01001ca SHA512 496c172afd650dff4c4f1a32df8ee77d38f4c64611fd5403c7dbf9e48c486d7a40a4fa2126910496e0b389fbf444e74f686c766c2bd6f807514f50a8a739baf6 -AUX test.support.unlink-ignore-EPERM.patch 870 BLAKE2B fd5ed44767842c9366fed9073a7cdb3f0b76047685447f5b241afafaabd577c3b97e35ade1bd919b692988267c66492356b6d28dedde55f260e6e5b065d30797 SHA512 ea67f732be08d02bab046127619eeb23738f1a121a516f5929bd6e1e91475624496ba281696d13f65f553ae7c8960c7b9cd3fe26b8f3e9a93068b93c23aeb017 -AUX test.support.unlink-ignore-PermissionError.patch 843 BLAKE2B 68ef6e72865247d8b2745c6815a6be0383a4ed1b81408279f0eeb5d5a745aadf2716a687285d730df29c320a6355ebda02bf2d945c2d3ebb1117c2794eb5583a SHA512 df0ee8c217462368c329126f2a95bcd649fed6d6a411db9e9d7def8a84ada9782acf86c60772f87a3672a9e0508a060f559c1a54ccb3b0c39e429c5b280b6ced DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c -DIST Python-3.10.0a3.tar.xz 18676916 BLAKE2B 86c8e3cd5d9658a2b1027558eda42294807173cac39010737dba6a0bf75a3a7211297cb79061085ab0cea52eaaba521140ff67c3b6edeebd677429191f4435b5 SHA512 a361c04081e9bd7e740c3311d92ec1428f12c589613ab39ed2bb1ac5aa20e4d8bc6d6e76eefc20edd459ecf8be1720f3985126be38407fcfb41f5a6efcea3998 -DIST Python-3.4.10.tar.xz 14559088 BLAKE2B ea1e333f04c286fe715c1ce97ade37c6a768e58a2e34da2ec51613a76c87a2e704f67d9ae8fd92a95366ab1814295028d7948e49b071d7e457b388176186c2e8 SHA512 d5d27d68049b61f135e21b12a800dbd4fc521d6935de178de6e2e88a989cda511d3c8fead90d14e38d2db0e528a74b22674e0da01c51ff4fad7d335ec6c3dbbc -DIST Python-3.5.9.tar.xz 15388876 BLAKE2B 6086ed2350b6dce3203360f24c2fddf77df65a5815d6da019809796b30c2f43440a9e349c7defd0187cfc3a50a387352dfa63594c2ec513dd6bf585e7c34ec51 SHA512 58127793adef42ed57ae4d56338268866e14c2d084f09f57f26fc6b1c9454e70cc6d3dffc638f8d56f182acc0884021a4dbb578f312dd6fc01995fa85e31377e +DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 +DIST Python-3.10.0a5.tar.xz 18286124 BLAKE2B 618a812c601cdf910dc5064ec8e6350f3473c368be92663de0a543aef8dab5d767db72e0c796e465dafb86e3ee6acf21f4d2d6d99128a3bb615b8ba6759c9b6f SHA512 d686f9044ea964af2b5556068c0d804511d3148b455643d06a8b566f265a5fa9a9a3713ff0c3fee2c0da9bba33b913983ea4fcb22d679cfdcb83c6de32aa575e +DIST Python-3.10.0a5.tar.xz.asc 833 BLAKE2B f92a03f8ce6d3396f053ab508aca55c937b5ae91462e2325842b4c00fc105a817df10fb4086273939a50f91fcd5d1003da2807d1b8ab0794e6ecd660d72515bf SHA512 4f1fe9b42830c89cb35ea1634fd7484f3bbf7ff22868c71fadc0601c3b02ff2ea386cfbc7ea167a2770d732aa01532fb7d4abb198a07e4710565e3eec138408c DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070 +DIST Python-3.6.12.tar.xz.asc 833 BLAKE2B a5eb9f907732bb5afd8f56115ab830ed6b6f4545e4063cfe316fb7aa1ba8694fcb8c936919b4045d9f5923446f8ea20978ead059078ed50ad48a82a3bb5ae941 SHA512 91d9ce0c471359f6aa3d5d5dcad7316ec6ed173f895a51e72b1853dc422fda57a00411c88fdc40a8e21888d964136b0b032e15b215c3b6c62ffc82bddc580860 +DIST Python-3.6.13.tar.xz 17213520 BLAKE2B 7c1938f92616d428d107a70397a9f7fc82377d0e3d26c2da4f5bcb79a54115f71498a5e7b5f601b6cff6f362ec1f689c3ac920eb248956e1e4f6c21602514dd1 SHA512 0482b3e7eea22b0635b61f06753e77c832c9431385c5ea1ecb8f60868262afd2b45c239badb8e906a33f035ffbf347b4a499fe6f0f008f1fa9ecc9de66c63947 +DIST Python-3.6.13.tar.xz.asc 833 BLAKE2B bc1df46c2e460c2d237647ecff84e12c75f6ed24a432d2f9cbefdead8a77d4468e5e4ed9f4debac593c63cf95d27c9f7d0f94dce69af8746cc71f0d0b1810245 SHA512 f6e8936a5e5b45d3ad41184717f5ed75debe29f81138fd1b75b53bc7d2905edff42b42dd7995b11ba6d80233c5c3755521edb19d7ac28d414bfebb2d1dfc0c86 +DIST Python-3.7.10.tar.xz 17392580 BLAKE2B b030db731d141b97f1be794a19382cc252c5bbf867661d09c9455640ebcfd3030e8a691f57fe91a2e0c4e5d3bd4f8f3de07fa4bd287a58900d8c6e1fba2f0583 SHA512 5cb61739acbd29f526d25073443398b2ca0eef30d01d134e8236c8bbc7ab0586c44ec00689f5a75e6aedc0170acf4551721ada5e967e4b99a146cfcaad949128 +DIST Python-3.7.10.tar.xz.asc 833 BLAKE2B a528daa1638b52f08fd69d197a2d4f8af59a620939957d450da6f5f8947b8eefbfb48ee50bb6327c8f3a352415dedc6e91ef23075fabbfd38c65575857065c74 SHA512 5d0fdcf60f0f4113b3055dd4097814b8b969d6cba4f2cc4cef6cd013b0e728375549b9d7818e6e94e6f0d4888188e751f4659a18f905e6e4c75783e2f323c4ef DIST Python-3.7.9.tar.xz 17389636 BLAKE2B 484833aa2aa4e29051a02969294f72099ff6f1a47d944b1a0dd15f8e6c22a0406d551bcbcd1048cf89defedaccf060733211e34b38e31fd8391dd823eaa35bc0 SHA512 e4217b25529b5336e43b63d17f3758a8177a58184564cf02bd92a312f58dba9e096485c9e3cb3544f966e847ea15b3ab30ed065d28a6ca52a6d7e0faddf7d9f9 +DIST Python-3.7.9.tar.xz.asc 833 BLAKE2B a95546b90ff87c13492d7f6e0d8e6d263557ffb55f72de212ec21ef5fb6b3c838e0a13c5696d577d1d7c46d0386698e8860d9819e6510e85aa88709011fe1e72 SHA512 922da6056029416e1dceefb83723911d5e2cc972d88c0bf1a08c35c8fe11279eb350c44834d2cc5ba94beb9b7655ecae28d8f5b6e3479eea7fcd09f67ec1e1c0 DIST Python-3.8.7.tar.xz 18261096 BLAKE2B 6ac20efef41e828cb796aabcb7808400d494b9b48759950c8c15ee90762394f6763163d8e37ab407c1c79ebb9cda09189eaa969a75f96c86a96ccee962443924 SHA512 6a27d8eab3076930df46b0cf127f9b664f8d4147349b2b98132f464deb7f69d87e0167e8ee8e6c64249125ad73760d965ecbc81c252b63a1e7aac95594c62b74 +DIST Python-3.8.7.tar.xz.asc 833 BLAKE2B a629251732d1ea6054564b6b1a9a2b3b716e20c8fad1b6b69a9c64aff7fe7fca7dc6cdeef52d9889873f1e349c1cb1c4fba4483d8ded6ab2cdd279ea4abaeb70 SHA512 ddbad087a1d116e743e11f50d29ee0563241e4397312fa76691bad30ef62908d281ba77b89dbd8f348faa50f1c953399d79ad6c2ab77828e690f3a5a3b708bc8 +DIST Python-3.8.8.tar.xz 18271736 BLAKE2B af0ff1acd919b365a58278e82678324ff884cc8120bcaf12e0e3afb1bd978e6469e256335df131935f51ff481fb83dda04e4b6f1cd1746611f9ec944db73d692 SHA512 64181db5aa48281284a3230436ebfb8cb91b645a9dec956fd48c0048334498477073fc4e14d6b426d0ef7fbcdcfd5d59cbf01a504e6c9014dc9529494b9309fb +DIST Python-3.8.8.tar.xz.asc 833 BLAKE2B a11188f9f68c518259de1a4e271bf56409d7356a7eb3dd8cbea7bbb0b5bc1b43f9aeb85bda4add65bbae906bef65cb20a30bcc77da04c0d383cd5b527821fd85 SHA512 0e6f11a310c1796dd056d9a4b63b5e03aa8dbd290088966e04a590a78c00003887dbfd7a7029a6cf8c5626ecd6ca91c1c16433bb0a41bf1225b02b8db8541b95 DIST Python-3.9.1.tar.xz 18897104 BLAKE2B bcbce176510e8e7c6ba6070588bedc52121c21c5271f59b3d629dfb542c51ee62622b2ca53a6e2041f1a51b2d089368cc4de9bb749e8ebad9a2c4eb4de83538e SHA512 b90029d6825751685983e9dcf0e0ec9e46f18e6c7d37b0dd7a245a94316f8c0090308ad7c2b2b49ed2514b0b909177231dd5bcad03031bf4624e37136fcf8019 -DIST python-gentoo-patches-2.7.18-r4.tar.xz 21352 BLAKE2B d322f5afd63813d7c9280c75f942bde75ee19793e121d0406c4f229ead53324bf3996342eed9a6c1aa474894afe7f2dd70aec38aee8042993a5274abc288fd31 SHA512 1cb0be8e79d0c6c55fcbe3f3dabf8b760aea0e60d888ea39d3e69de03b55738c50b2cca06586c1cd2896956f5764eefd6d3f9fbf2de0d0ddfd8aab86837976b6 -DIST python-gentoo-patches-3.10.0a1.tar.xz 8592 BLAKE2B 066fe89725469649a88a0b0c9f62d7d1380feb704ed12c696871cd595e4e920f23b54a2c771e15b5d2345dcdab21694365ef9b29e93f552f74d13642ebc59200 SHA512 e86df9e08ec7306f6457b5e3490171966022964fb700046587088bceb3d8977a45fe7e944f7dd39ad473000654f69f495b8c67edebb13bc12000b32716845533 -DIST python-gentoo-patches-3.4.10.tar.xz 21340 BLAKE2B c2ca41fc4bc81ae6be9426d772b1ffc09a4b2e2c021905886a92d85476871e6c3b51ca30c60eeede93ff8cd90628809cd8c6fb00041d16c1595ce1ba8369dac8 SHA512 27ee476c080a0d1c012ef5d3d8325db6e697e1c3d9611f0337668f3660a50e50e6529bd0fd8b3b5b6030c9be8f8a86d95fa59bc27085ce7d18a7e0b50afe9f4b -DIST python-gentoo-patches-3.5.9.tar.xz 13548 BLAKE2B 9afe277c1c7c42aee21b4279cea5539d31b4a7088fd124bedb9af34299252ef2ab275e602adb5dfbb6944d06b375161924b05fc690f7d0d78860ed3e5f89599c SHA512 def5435a315e58d3794d8bce8fb04105a36ff37bd90a437cf7588a0c0ec8d420af5b68009ab153823286e71e52056e12a0eba4dc4d958eeb8d6b914b24f0de81 -DIST python-gentoo-patches-3.6.12-r1.tar.xz 16540 BLAKE2B 8204b6f25e1f7c6fef024933d54bfa6085158ac624a6e5a8d51576da2047b6db791be5d071c483fdec5c033b8fa8ee3d4e176a3e442defa556b34a304de3b7f3 SHA512 ad74c73b4f963427e66ac6187e1569dbfbbe3c916c24971a1eba4ad7e2f94e39c970f80e197c0498820451f036b12f3076b46cfd73bb5d6d56183ac05453d9ad -DIST python-gentoo-patches-3.7.9-r1.tar.xz 15664 BLAKE2B 271b95a52f4ba83c1aee6f68385462c9af8f2ab575267ac068a793e99f7c9739eb4b98dfa7e9280510a709557d418db04f26b5b31bbfe95dfdc13c1773510d2d SHA512 38df628de2f2835f975f6f06395d32cd63051af87b9bf8b06eef2f987bde26a883923bcab333568c122554b900bb17995a8c7290b6a58f942bd942dcbc70d030 -DIST python-gentoo-patches-3.8.6.tar.xz 10956 BLAKE2B e3241d97f886d0a37f85735102db8f00902df59ee12e8501b6c7f549dd4b26a6289bf34ff8dba02b369ed7875fad3d18e177afe9e367db4cb06f2ee908482f9e SHA512 7afa8e54f7b7e6ab35edc16d4214384b8ad8a03068d1984656876d6477b278af931e8c797d03d1bed2f10f9d58ac387db1a43921e54fb17cf4b779f33820abc0 -DIST python-gentoo-patches-3.9.0rc1.tar.xz 8856 BLAKE2B 7bd032dfd047640c6a53633b5b9ee7b24199106b985230f772dda978d3b79fe0406eea64c4a842603a20afb71a90469befa7ec59a5ef1f793e4c901aa85952d1 SHA512 85a7d4397abf2a0f3c3d07a94a3e184ba3dcb347f3b70ee2cb77e81aac63846b01323a0228afd0fd1d32b3cafb64b18f82e6f5bfd88e4d564261ddae11e747eb -EBUILD python-2.7.18_p4.ebuild 11018 BLAKE2B 0ed1e2e881321ec826a713a2e87c6782867fe9c9b92cbb818ec3185e21d545c5111c49f707c0c6382d08c5327eb00aa1b49ece21aa44f02d5421d833559234c6 SHA512 bd97e9493c8c796f65d36442ec72ca0eb0114657221a68d251796b5ff3d1930273294f6edec8d49b0cb944b0160595604a9d088bdeef115c604913755b9fb624 -EBUILD python-3.10.0_alpha3.ebuild 10841 BLAKE2B 9dd919ce58a8a4e280249ba64ac343f12216975fae7716bf3d5dcc1e7157bb7fb9a3f1686bc82eff0c0c1130af480cb426d1af46e3e7332d88e2a509e1700bc9 SHA512 35cf3067272e109afd30dbc12911cf0878eacb0622a97f49cc4eb17b0662fc6dbf2a2ee1582f7a5de7ce1bdc8195e0154251e406c54286e32e9fcc7c59f1672f -EBUILD python-3.4.10_p1.ebuild 10783 BLAKE2B 219b73472df237e95ae0b62d3a35db2386ab6629dc068a69bc1e669ffec2c096952885036bc2903dbfbd28bd3ec1aff340ad187c734939f2bba4b5dbc9085182 SHA512 f934ab68cc6ebfa785b3c6b8cd69b7246d499510242a5e29d82b5daefcd5279f65958f61117f00b8800894790dc508aec08f8379969cd79c328e2ab629c87f63 -EBUILD python-3.5.9_p1.ebuild 11335 BLAKE2B 9ed29b0c10bb0676efae3f1df0aa5fe3eb7faf7f1f1b87c3daf7a876c69fb908f4a7ebcb34dfa191eb96538843506531260cafbfbf76bc96e4eb5130e1a136a7 SHA512 625e1691dd685b13f34669ca3fcce8521e6c2f32370820de44f679a890103fa83c9a791f8b95165eb324ee8789bfeb1cd26f4e5e5de41be0115884a20bc4ea66 -EBUILD python-3.6.12_p1.ebuild 10979 BLAKE2B 8984df39bca7be9a3c232cd591a4a5e94b5087a235455a1c781c3521e4e1c4692cd214acfa408af91b1cb9b60dedad3863e10acca2c48a71738e939cd58f1549 SHA512 821325a993bb23eb7f8fd9ffb2164585cbfae8a5ce5ede024f8f15040f042cf6b6b68b9d5d90226d20c77b2f39756b6d987bb1690b29dd981c8382f88e2d892f -EBUILD python-3.7.9_p1.ebuild 10807 BLAKE2B 29a3520bdcac1a3f1fdfeb378a6b478ce2ce323330ef0c9aa2c2638e0a8d62be64ee0b319d1aceba733a3213f36c423a64845e97a5476b48f3f3f99334ebbcfe SHA512 1f09f3d9ed75ea7c260fbd077df4448ac26338e63df48cc8153afb98e7e55da69fd811b567d2bcf4898f94133296a70db8430fc440ebda8eb443aeadb6088a11 -EBUILD python-3.8.7_p1.ebuild 10763 BLAKE2B 52d0d69fddba9ff3435e5826e3c12ca2601238b47f27ec0b88bca75c44f16cfb2cf2a2c72665a6140d725d7731a238e17c28786ad96a6873080a284efe11af77 SHA512 3cc3661cd97ff6a3b985462ce21a76699446074ca3dbd7822d0c95cb07f34c5466b1475f3d17c1468dee0ca26bdeb577304462d21c8e911656dbc0846dbf7868 -EBUILD python-3.9.1_p1.ebuild 10774 BLAKE2B 37bc2c78e92e9577298513a6a703c962862e8fcce9c28c2c53419f89012ec7a61d79bb3dbe20f1401b07ede2c5a7f1a608ef0f05fee8dca18c1f05a727750669 SHA512 f99a88bd1ebb3ef461ce3a520ec9fe162b21a52f267946e48a475f053f3d247f78aef7a2430bd4a2993fdc5f28d1e79068f0e85d0b080d4e055b1e842240c362 -MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d +DIST Python-3.9.1.tar.xz.asc 833 BLAKE2B dc445ed9797668c5f0777259ea83330815ee516dafc752e6a0d903bae5355e76360afa5ed318ce09bbbcfb4df6269b06b6fb6b7d9c074678b612bb1ea9e3148a SHA512 400259f499820e0499290402f095ee5454168907f539de705cad4f0e5586b1c67a0ac45b89bf099701be55146a5eed73dbc9e2cb15562fef34da2813ac82f342 +DIST Python-3.9.2.tar.xz 18889164 BLAKE2B f29f741ced22a58fbd2b4e2b5d133dc4971fc597de4a3918cff3ac24ff99d35e3796501eb770b1e7c650377aade8850aa2058808e2f02283563218c6a597af18 SHA512 b204d865e4c974951830008c381678876987da267c37bce3b4e488c07aa744658e57b8dc5d248051d0391f3b580e69877f7772abc0a0de5288349d448ccf0789 +DIST Python-3.9.2.tar.xz.asc 833 BLAKE2B e8ef4d1993382f089b2efa6e9ad49e74ffd2aad32f6412dc6148c340dae06d01388cf4741981cb4ab82839b6ff2553f2fa704c41353d4758ea8cc7596deed5fc SHA512 47705411c7e7b7e41948ccdc4ff17430af7c953f877442f2fecf4225e6a8e5b8313f0ace54c4e0faaa409e4e5cf75b7502962f40db9e4f12a52f5d622cb6d3ce +DIST python-gentoo-patches-2.7.18-r6.tar.xz 22740 BLAKE2B 1727fcab273dfe5e5739c7ce1cd7fb3c6bd13c2bda25a2e4e0609a2e727a69318a46b7c2173ea7746f8a124e778b276408adc9968ed2025b8643e660bb3d3ea3 SHA512 975fe72c5b2f4577563e8e972c70b7eec7203790a500e6f051fab1f66c71e5ae46fcb3c571a9e6346bf3a0d1dd48594a61bf2751007e4f5e3d19f8db6146c99d +DIST python-gentoo-patches-2.7.18_p7.tar.xz 26392 BLAKE2B 94a6312698789810af835a2ac8d87c34dc8d435a1ff4d5c9b7ae9175b92da6a4b204feabf9bb6db498fc6dcc17bb1b042b2b0b17ddc781587589b1ab0905396d SHA512 a3cd34f38a717183d9a8d6b91817a6ac989fb8ae4275f35cba4be810813a4c9c45f4e72d16aee33904eddaee77c4719b516392d629d2c4627c840e4ecc6bc121 +DIST python-gentoo-patches-3.10.0a5.tar.xz 8972 BLAKE2B b407e501037f2732ec0844ab033fcd6226ff96731f5e752b5a807c69aa57e678e9f170aab5dd3f69bd9d2951c82ecca4664354c11aca88a4a742281ab5d28887 SHA512 4dceba9adc33b06196f326dbeacb8b17eaeffebee98f0025d4faef8f047be9c20a153a8eb89a2b64f9248cbd8810ae4a5ebfc2534770a940825a5d8a4a02e068 +DIST python-gentoo-patches-3.10.0a5_p1.tar.xz 14336 BLAKE2B 953d77e59460bbd53bf41bc57e48957f6a6d08dc9f8a1adb4ad3c64a0a1281a15142952e6733c1dd9a5eadd6d81332db54dc4eb906e73ccfd35e0d18a8363962 SHA512 2c0f01c39e530a612e1ce64298d3f019f7313258b2dc75964b6ebdfcd98139d46fc5f673ee2e509602a2f825de23e3a6d96c234745098e1da83b6779dbbeb1fb +DIST python-gentoo-patches-3.6.12-r2.tar.xz 17988 BLAKE2B c252bce5ac49b9af11174d3c974d95c24ec280230cede75a7650cb914f8acb3d41b8d575e469fe7f274c6d3bc238847b82e815bf1444c5afd7292e00248e3365 SHA512 50813fbd810c8b865c0f0f8d56780af7a9e094336ba486ddd94ba8fb0a83b5373f41274bbb10c3d732449ee5b2076b7430404c02bfac10fb9b27f92de79c25e2 +DIST python-gentoo-patches-3.6.12_p3.tar.xz 22416 BLAKE2B deddb2b4b23f7caa2b40a0916f5426f28f616b8fc6834c237623fb4e633dfbe1f946ff7e54989664a662184e01721f15f21a1d379db633d7f245b23fac3d7e47 SHA512 49ffeba37003dc1afe27811d880469a991583efb73c28871717e51711533927996293c576082e35fff17db98e7ba6e512e84289c4b7ed5a6880b011a9741a59b +DIST python-gentoo-patches-3.6.13.tar.xz 11428 BLAKE2B 3f6ea5a5a79ba6b0d12d9d36c62232cbf0accbc3a8d792a12e2ed8ad5ce5079ac5a5d12493fbc36dff66b275a18a538c439fff02efdd77a68d5c974aa0e62a96 SHA512 118a8ca9d19b515d03ec834a950410bd8c8086dd9b3ea2e1dff5c7d3d42a4d873bccea62aa9d1b64f92892aecd090eb1337dec7d200668d55fece68eeacfa2dc +DIST python-gentoo-patches-3.7.10.tar.xz 10572 BLAKE2B 440d004985407beb256863d37e798dbf6626b0c26fd443a5651d76cd584323abe31a13f5370d9808cd385cd999693b59097ad6ef6142c255a7b306a632fc68cf SHA512 ffe567d05b9de5f58c6a6786a5ff28f5a09aec76a69e57ab025b1c7bab57f4087704d465c049017ffd2680cc7e7363a54c5313774c0214258fa99b56bb1d46fe +DIST python-gentoo-patches-3.7.9-r2.tar.xz 17068 BLAKE2B 2cb838e6ab2f76b5d08df42a1187f3cdeaf3e26d845307ddb6f492eb46cfb14da26f7ceaca7ca09a5304ba717006d182cb632a0927029419064673e58a06d232 SHA512 fd9bdc0ed989ff9ca5f343d2fd04a9e7f4c078e434b03288b19797dab71006d89d601cf91d651a1dbb8cc6c66e829c977cec98e971b30c5f5cc29a751dc34d50 +DIST python-gentoo-patches-3.7.9_p3.tar.xz 22000 BLAKE2B ca23030243727349f3c055854ad8ecf144dc567dd3ef5bf7d0b8cec8e2c97ba123d9b7af3c46e18c108e44fa9fea287c6cbb2e5438d84d5efa18023f82567610 SHA512 4d9f00352dd9f0d7aaf04bacb4a286dcefda25054bf7bef22ec5e5b4655bc0eac0a6b119291cb969d835167d5b81a831480ca12af734b11d44eb607c194ac616 +DIST python-gentoo-patches-3.8.7-r1.tar.xz 12572 BLAKE2B 7658ae56993674a7f57cb2b6d9f23e9d01fa75f00edcc67dc3474bba0361373555c44d47c155cf9ffcbd8551ff2ae56bc22a25bef1bf6b3efed7314b2824d777 SHA512 76d0e4d18fbeedc28430a3dd1656cfafdfefdae28978baddd3e0102d0fce83be173b58da74203fc6a90cf50c63fa612f0b78e65bc59a41dce4739eead398d352 +DIST python-gentoo-patches-3.8.7_p2.tar.xz 17708 BLAKE2B 495a24e0496be246d2beddfaaa8886049197ca5973dadccfcd26b3b2237e4b06b85f0e4d418db411d055ca3d0c1173e03dd5a62e29f64c133e8da6261b17c99b SHA512 c06f2fc1fe48be010e8230ac3d474b9c8386bba8f762dbe35d128ad63eaa1a4c2a5a991ec6044564331d0dec4f248a71e37959ebe666b0693d6ed41f460a67f7 +DIST python-gentoo-patches-3.8.8.tar.xz 10948 BLAKE2B 745f4a8d3a41c61a8bc96b550c230d0a33ea0e1ecff2aec46dd91c9573cbd3a880891bea446cb867412687ad5875e14da36df065a5bcf340c984b8e2a165f183 SHA512 31c9acec582a13703e95e4ea9fbedc764638c470b02d798e46de0dfddbdf65e0a07ce14ae95af78cf46c29bdfcec0f65bbde06518a742061e1805ae4699610eb +DIST python-gentoo-patches-3.9.1-r1.tar.xz 10464 BLAKE2B d69ce207020b7a34eb45c149ce88001167704763fbc373a8d5aff48a1d6337774dfb6c75d477442516b8dceb87b116e6d8cf3231334ced9b03aa970aa0d2e8e1 SHA512 72b1e37b1ceac9a0e95aa63a7dd404c69f60ae7a8aac472b8c17100c873a4d28d3291231643862c9d1cfaf990040f8e780590274314047adee199c159d745369 +DIST python-gentoo-patches-3.9.1_p2.tar.xz 15556 BLAKE2B 5e265ef8edee70694d73c6df6eb908a747be34e1e89b900d2470d41e7e043d179408bc643a52ade6e54e61a210ee8850d02a2cb452a9336f3973345c1d027158 SHA512 eabfd304b39975258705f5e9b238f709196ce0cbd3803f157dc77d864631a3eea380084a3a4de180e3ba7e92239608ae369e810f8066c0f1ff9fa251bbc1816c +DIST python-gentoo-patches-3.9.2.tar.xz 8824 BLAKE2B a1cd122837b50e6cf0459f86a1d88ecc4b266f5a0658975c9913f1f4e9cf6a79a0309c89c37421e92ab59f3854309cdea8ea233b771cdf517c7aea432e44bc53 SHA512 2e619ad2a7b2af2fef9070c85619e3104d99977f2c839eb1e20ed9cc3dd6c5092f7d9587c94e76d530f89272741fe6ce345e36448f6aa2800f2dc9b6b425b1e7 diff --git a/dev-lang/python/files/python-2.7.15-PGO-r1.patch b/dev-lang/python/files/python-2.7.15-PGO-r1.patch deleted file mode 100644 index 75c976702a50..000000000000 --- a/dev-lang/python/files/python-2.7.15-PGO-r1.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -ur Python-2.7.16.orig/Lib/distutils/ccompiler.py Python-2.7.16/Lib/distutils/ccompiler.py ---- Python-2.7.16.orig/Lib/distutils/ccompiler.py 2019-03-02 19:17:42.000000000 +0100 -+++ Python-2.7.16/Lib/distutils/ccompiler.py 2019-03-09 16:30:09.036803900 +0100 -@@ -14,7 +14,7 @@ - from distutils.spawn import spawn - from distutils.file_util import move_file - from distutils.dir_util import mkpath --from distutils.dep_util import newer_group -+from distutils.dep_util import newer_group, newer - from distutils.util import split_quoted, execute - from distutils import log - # following import is for backward compatibility -@@ -571,7 +571,9 @@ - src, ext = build[obj] - except KeyError: - continue -- self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) -+ if newer(src, obj): -+ # some extensions share source files so we need to avoid compiling the same source multiple times -+ self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) - - # Return *all* object filenames, not just the ones we just built. - return objects -diff -ur Python-2.7.16.orig/Lib/distutils/dep_util.py Python-2.7.16/Lib/distutils/dep_util.py ---- Python-2.7.16.orig/Lib/distutils/dep_util.py 2019-03-02 19:17:42.000000000 +0100 -+++ Python-2.7.16/Lib/distutils/dep_util.py 2019-03-09 16:30:09.036803900 +0100 -@@ -11,7 +11,7 @@ - from distutils.errors import DistutilsFileError - - def newer(source, target): -- """Tells if the target is newer than the source. -+ """Tells if the source is newer than the target. - - Return true if 'source' exists and is more recently modified than - 'target', or if 'source' exists and 'target' doesn't. -diff -ur Python-2.7.16.orig/Makefile.pre.in Python-2.7.16/Makefile.pre.in ---- Python-2.7.16.orig/Makefile.pre.in 2019-03-09 16:29:29.004188933 +0100 -+++ Python-2.7.16/Makefile.pre.in 2019-03-09 16:33:30.788823762 +0100 -@@ -209,9 +209,9 @@ - TCLTK_LIBS= @TCLTK_LIBS@ - - # The task to run while instrument when building the profile-opt target --# We exclude unittests with -x that take a rediculious amount of time to --# run in the instrumented training build or do not provide much value. --PROFILE_TASK=-m test.regrtest --pgo -x test_asyncore test_gdb test_multiprocessing test_subprocess -+# We exclude unittests with -x that take a ridiculous amount of time to -+# run in the instrumented training build or do not provide much value -+PROFILE_TASK=-m test.regrtest --pgo $(EXTRATESTOPTS) -x test_asyncore test_gdb test_multiprocessing test_subprocess test_xpickle - - # report files for gcov / lcov coverage report - COVERAGE_INFO= $(abs_builddir)/coverage.info -@@ -437,7 +437,7 @@ - - run_profile_task: - : # FIXME: can't run for a cross build -- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true -+ $(LLVM_PROF_FILE) _PYTHONNOSITEPACKAGES=1 $(RUNSHARED) ./$(BUILDPYTHON) -E $(PROFILE_TASK) || true # allow failures here - - build_all_merge_profile: - $(LLVM_PROF_MERGER) -diff -ur Python-2.7.16.orig/setup.py Python-2.7.16/setup.py ---- Python-2.7.16.orig/setup.py 2019-03-09 16:29:29.028188103 +0100 -+++ Python-2.7.16/setup.py 2019-03-09 16:30:09.037803866 +0100 -@@ -269,11 +269,13 @@ - # those environment variables passed into the setup.py phase. Here's - # a small set of useful ones. - compiler = os.environ.get('CC') -+ # it's important to get CFLAGS from the environment for proper extension PGO support -+ cflags = os.environ.get('CFLAGS', sysconfig.get_config_vars('CFLAGS')[0]) - args = {} - # unfortunately, distutils doesn't let us provide separate C and C++ - # compilers - if compiler is not None: -- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') -+ (ccshared,) = sysconfig.get_config_vars('CCSHARED') - args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags - self.compiler.set_executables(**args) - - diff --git a/dev-lang/python/files/python-3.5-CVE-2020-8492.patch b/dev-lang/python/files/python-3.5-CVE-2020-8492.patch deleted file mode 100644 index 924a3a69ac4c..000000000000 --- a/dev-lang/python/files/python-3.5-CVE-2020-8492.patch +++ /dev/null @@ -1,239 +0,0 @@ -From 0b297d4ff1c0e4480ad33acae793fbaf4bf015b4 Mon Sep 17 00:00:00 2001 -From: Victor Stinner <vstinner@python.org> -Date: Thu, 2 Apr 2020 02:52:20 +0200 -Subject: [PATCH] bpo-39503: CVE-2020-8492: Fix AbstractBasicAuthHandler - (GH-18284) - -The AbstractBasicAuthHandler class of the urllib.request module uses -an inefficient regular expression which can be exploited by an -attacker to cause a denial of service. Fix the regex to prevent the -catastrophic backtracking. Vulnerability reported by Ben Caller -and Matt Schwager. - -AbstractBasicAuthHandler of urllib.request now parses all -WWW-Authenticate HTTP headers and accepts multiple challenges per -header: use the realm of the first Basic challenge. - -Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com> ---- - Lib/test/test_urllib2.py | 90 ++++++++++++------- - Lib/urllib/request.py | 69 ++++++++++---- - .../2020-03-25-16-02-16.bpo-39503.YmMbYn.rst | 3 + - .../2020-01-30-16-15-29.bpo-39503.B299Yq.rst | 5 ++ - 4 files changed, 115 insertions(+), 52 deletions(-) - create mode 100644 Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst - create mode 100644 Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst - -diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py -index 8abedaac9850a..e69ac3e2136a2 100644 ---- a/Lib/test/test_urllib2.py -+++ b/Lib/test/test_urllib2.py -@@ -1446,40 +1446,64 @@ def test_osx_proxy_bypass(self): - bypass = {'exclude_simple': True, 'exceptions': []} - self.assertTrue(_proxy_bypass_macosx_sysconf('test', bypass)) - -- def test_basic_auth(self, quote_char='"'): -- opener = OpenerDirector() -- password_manager = MockPasswordManager() -- auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager) -- realm = "ACME Widget Store" -- http_handler = MockHTTPHandler( -- 401, 'WWW-Authenticate: Basic realm=%s%s%s\r\n\r\n' % -- (quote_char, realm, quote_char)) -- opener.add_handler(auth_handler) -- opener.add_handler(http_handler) -- self._test_basic_auth(opener, auth_handler, "Authorization", -- realm, http_handler, password_manager, -- "http://acme.example.com/protected", -- "http://acme.example.com/protected", -- ) -- -- def test_basic_auth_with_single_quoted_realm(self): -- self.test_basic_auth(quote_char="'") -- -- def test_basic_auth_with_unquoted_realm(self): -- opener = OpenerDirector() -- password_manager = MockPasswordManager() -- auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager) -- realm = "ACME Widget Store" -- http_handler = MockHTTPHandler( -- 401, 'WWW-Authenticate: Basic realm=%s\r\n\r\n' % realm) -- opener.add_handler(auth_handler) -- opener.add_handler(http_handler) -- with self.assertWarns(UserWarning): -+ def check_basic_auth(self, headers, realm): -+ with self.subTest(realm=realm, headers=headers): -+ opener = OpenerDirector() -+ password_manager = MockPasswordManager() -+ auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager) -+ body = '\r\n'.join(headers) + '\r\n\r\n' -+ http_handler = MockHTTPHandler(401, body) -+ opener.add_handler(auth_handler) -+ opener.add_handler(http_handler) - self._test_basic_auth(opener, auth_handler, "Authorization", -- realm, http_handler, password_manager, -- "http://acme.example.com/protected", -- "http://acme.example.com/protected", -- ) -+ realm, http_handler, password_manager, -+ "http://acme.example.com/protected", -+ "http://acme.example.com/protected") -+ -+ def test_basic_auth(self): -+ realm = "realm2@example.com" -+ realm2 = "realm2@example.com" -+ basic = f'Basic realm="{realm}"' -+ basic2 = f'Basic realm="{realm2}"' -+ other_no_realm = 'Otherscheme xxx' -+ digest = (f'Digest realm="{realm2}", ' -+ f'qop="auth, auth-int", ' -+ f'nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", ' -+ f'opaque="5ccc069c403ebaf9f0171e9517f40e41"') -+ for realm_str in ( -+ # test "quote" and 'quote' -+ f'Basic realm="{realm}"', -+ f"Basic realm='{realm}'", -+ -+ # charset is ignored -+ f'Basic realm="{realm}", charset="UTF-8"', -+ -+ # Multiple challenges per header -+ f'{basic}, {basic2}', -+ f'{basic}, {other_no_realm}', -+ f'{other_no_realm}, {basic}', -+ f'{basic}, {digest}', -+ f'{digest}, {basic}', -+ ): -+ headers = [f'WWW-Authenticate: {realm_str}'] -+ self.check_basic_auth(headers, realm) -+ -+ # no quote: expect a warning -+ with support.check_warnings(("Basic Auth Realm was unquoted", -+ UserWarning)): -+ headers = [f'WWW-Authenticate: Basic realm={realm}'] -+ self.check_basic_auth(headers, realm) -+ -+ # Multiple headers: one challenge per header. -+ # Use the first Basic realm. -+ for challenges in ( -+ [basic, basic2], -+ [basic, digest], -+ [digest, basic], -+ ): -+ headers = [f'WWW-Authenticate: {challenge}' -+ for challenge in challenges] -+ self.check_basic_auth(headers, realm) - - def test_proxy_basic_auth(self): - opener = OpenerDirector() -diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py -index 7fe50535da138..2a3d71554f4bf 100644 ---- a/Lib/urllib/request.py -+++ b/Lib/urllib/request.py -@@ -937,8 +937,15 @@ class AbstractBasicAuthHandler: - - # allow for double- and single-quoted realm values - # (single quotes are a violation of the RFC, but appear in the wild) -- rx = re.compile('(?:.*,)*[ \t]*([^ \t]+)[ \t]+' -- 'realm=(["\']?)([^"\']*)\\2', re.I) -+ rx = re.compile('(?:^|,)' # start of the string or ',' -+ '[ \t]*' # optional whitespaces -+ '([^ \t]+)' # scheme like "Basic" -+ '[ \t]+' # mandatory whitespaces -+ # realm=xxx -+ # realm='xxx' -+ # realm="xxx" -+ 'realm=(["\']?)([^"\']*)\\2', -+ re.I) - - # XXX could pre-emptively send auth info already accepted (RFC 2617, - # end of section 2, and section 1.2 immediately after "credentials" -@@ -950,27 +957,51 @@ def __init__(self, password_mgr=None): - self.passwd = password_mgr - self.add_password = self.passwd.add_password - -+ def _parse_realm(self, header): -+ # parse WWW-Authenticate header: accept multiple challenges per header -+ found_challenge = False -+ for mo in AbstractBasicAuthHandler.rx.finditer(header): -+ scheme, quote, realm = mo.groups() -+ if quote not in ['"', "'"]: -+ warnings.warn("Basic Auth Realm was unquoted", -+ UserWarning, 3) -+ -+ yield (scheme, realm) -+ -+ found_challenge = True -+ -+ if not found_challenge: -+ if header: -+ scheme = header.split()[0] -+ else: -+ scheme = '' -+ yield (scheme, None) -+ - def http_error_auth_reqed(self, authreq, host, req, headers): - # host may be an authority (without userinfo) or a URL with an - # authority -- # XXX could be multiple headers -- authreq = headers.get(authreq, None) -+ headers = headers.get_all(authreq) -+ if not headers: -+ # no header found -+ return - -- if authreq: -- scheme = authreq.split()[0] -- if scheme.lower() != 'basic': -- raise ValueError("AbstractBasicAuthHandler does not" -- " support the following scheme: '%s'" % -- scheme) -- else: -- mo = AbstractBasicAuthHandler.rx.search(authreq) -- if mo: -- scheme, quote, realm = mo.groups() -- if quote not in ['"',"'"]: -- warnings.warn("Basic Auth Realm was unquoted", -- UserWarning, 2) -- if scheme.lower() == 'basic': -- return self.retry_http_basic_auth(host, req, realm) -+ unsupported = None -+ for header in headers: -+ for scheme, realm in self._parse_realm(header): -+ if scheme.lower() != 'basic': -+ unsupported = scheme -+ continue -+ -+ if realm is not None: -+ # Use the first matching Basic challenge. -+ # Ignore following challenges even if they use the Basic -+ # scheme. -+ return self.retry_http_basic_auth(host, req, realm) -+ -+ if unsupported is not None: -+ raise ValueError("AbstractBasicAuthHandler does not " -+ "support the following scheme: %r" -+ % (scheme,)) - - def retry_http_basic_auth(self, host, req, realm): - user, pw = self.passwd.find_user_password(realm, host) -diff --git a/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst -new file mode 100644 -index 0000000000000..be80ce79d91ed ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst -@@ -0,0 +1,3 @@ -+:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request` -+now parses all WWW-Authenticate HTTP headers and accepts multiple challenges -+per header: use the realm of the first Basic challenge. -diff --git a/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst -new file mode 100644 -index 0000000000000..9f2800581ca5e ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst -@@ -0,0 +1,5 @@ -+CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class of the -+:mod:`urllib.request` module uses an inefficient regular expression which can -+be exploited by an attacker to cause a denial of service. Fix the regex to -+prevent the catastrophic backtracking. Vulnerability reported by Ben Caller -+and Matt Schwager. diff --git a/dev-lang/python/files/test.support.unlink-ignore-EPERM.patch b/dev-lang/python/files/test.support.unlink-ignore-EPERM.patch deleted file mode 100644 index 49f815daaac0..000000000000 --- a/dev-lang/python/files/test.support.unlink-ignore-EPERM.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 789c61e1a1966241d274012cdbd5fb9716448952 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Fri, 3 Apr 2020 10:37:56 -0400 -Subject: [PATCH] test.support.unlink: ignore EPERM - -Resolves test errors when running in the Gentoo sandbox environment. - -Bug: https://bugs.gentoo.org/679628 ---- - Lib/test/support/__init__.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py -index ccc11c1b4b0..c5ec06bb420 100644 ---- a/Lib/test/support/__init__.py -+++ b/Lib/test/support/__init__.py -@@ -291,7 +291,7 @@ def unlink(filename): - try: - _unlink(filename) - except OSError as exc: -- if exc.errno not in (errno.ENOENT, errno.ENOTDIR): -+ if exc.errno not in (errno.ENOENT, errno.ENOTDIR, errno.EPERM): - raise - - def rmdir(dirname): --- -2.26.0 - - diff --git a/dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch b/dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch deleted file mode 100644 index bdf74e0edcb1..000000000000 --- a/dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6e6402caa7962a9c9f7c5327f3c802545824f7f9 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Fri, 3 Apr 2020 10:37:56 -0400 -Subject: [PATCH] test.support.unlink: ignore PermissionError - -Resolves test errors when running in the Gentoo sandbox environment. - -Bug: https://bugs.gentoo.org/679628 ---- - Lib/test/support/__init__.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py -index 1f792d8514d..a0772480eb4 100644 ---- a/Lib/test/support/__init__.py -+++ b/Lib/test/support/__init__.py -@@ -488,7 +488,7 @@ else: - def unlink(filename): - try: - _unlink(filename) -- except (FileNotFoundError, NotADirectoryError): -+ except (FileNotFoundError, NotADirectoryError, PermissionError): - pass - - def rmdir(dirname): --- -2.26.0 - diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml index 98fa548446f3..05e0f9c656b6 100644 --- a/dev-lang/python/metadata.xml +++ b/dev-lang/python/metadata.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> -</maintainer> -<use> - <flag name="bluetooth">Build Bluetooth protocol support in socket module</flag> - <flag name="threads">Enable threading support. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> - <flag name="wide-unicode">Enable wide Unicode implementation which uses 4-byte Unicode characters. Switching of this USE flag changes ABI of Python and requires reinstallation of many Python modules. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> - <flag name="wininst">Install Windows executables required to create an executable installer for MS Windows.</flag> -</use> -</pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + + <use> + <flag name="bluetooth">Build Bluetooth protocol support in socket module</flag> + <flag name="threads">Enable threading support. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> + <flag name="wide-unicode">Enable wide Unicode implementation which uses 4-byte Unicode characters. Switching of this USE flag changes ABI of Python and requires reinstallation of many Python modules. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> + <flag name="wininst">Install Windows executables required to create an executable installer for MS Windows.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/python/python-2.7.18-r6.ebuild b/dev-lang/python/python-2.7.18-r6.ebuild new file mode 100644 index 000000000000..3d53fd524f25 --- /dev/null +++ b/dev-lang/python/python-2.7.18-r6.ebuild @@ -0,0 +1,358 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-2.7.18-r6" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86" +IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + 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 + sys-libs/db:4.4 + sys-libs/db:4.3 + sys-libs/db:4.2 + ) ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" + !build? ( app-misc/mime-types ) + !<=dev-lang/python-exec-2.4.6-r1" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +pkg_setup() { + if use berkdb; then + ewarn "'bsddb' module is out-of-date and no longer maintained inside" + ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally" + ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module" + ewarn "is provided by dev-python/bsddb3." + else + if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then + ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]" + ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." + ewarn "You might need to migrate your databases." + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + eautoreconf +} + +src_configure() { + # dbm module can be linked against berkdb or gdbm. + # Defaults to gdbm when both are enabled, #204343. + local disable + use berkdb || use gdbm || disable+=" dbm" + use berkdb || disable+=" _bsddb" + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + if tc-is-cross-compiler; then + # Force some tests that try to poke fs paths. + export ac_cv_file__dev_ptc=no + export ac_cv_file__dev_ptmx=yes + fi + + # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. + tc-export CXX + # The configure script fails to use pkg-config correctly. + # http://bugs.python.org/issue15506 + export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + if use berkdb; then + dbmliborder+="${dbmliborder:+:}bdb" + fi + + local myeconfargs=( + # The check is broken on clang, and gives false positive: + # https://bugs.gentoo.org/596798 + # (upstream dropped this flag in 3.2a4 anyway) + ac_cv_opt_olimit_ok=no + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --with-fpectl + --enable-shared + $(use_enable ipv6) + $(use_with threads) + $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --with-system-expat + --with-system-ffi + --without-ensurepip + ) + + OPT="" econf "${myeconfargs[@]}" + + if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + # Avoid invoking pgen for cross-compiles. + touch Include/graminit.h Python/graminit.c + + emake + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="distutils gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + + # Daylight saving time problem + # https://bugs.python.org/issue22067 + # https://bugs.gentoo.org/610628 + local -x TZ=UTC + + # Rerun failed tests in verbose mode (regrtest -w). + emake test EXTRATESTOPTS="-w" < /dev/tty + local result="$?" + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/$(get_libdir)/python${PYVER} + + emake DESTDIR="${D}" altinstall + + sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die + + # Fix collisions between different slots of Python. + mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die + mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die + mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die + rm "${ED}/usr/bin/smtpd.py" || die + + use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die + use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test} + + use threads || rm -r "${libdir}/multiprocessing" || die + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python + ln -s "../../../bin/python${PYVER}" \ + "${scriptdir}/python" || die + # python-config + ln -s "../../../bin/python${PYVER}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi + + # python2* is no longer wrapped, so just symlink it + local pymajor=${PYVER%.*} + dosym "python${PYVER}" "/usr/bin/python${pymajor}" + dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config" +} diff --git a/dev-lang/python/python-2.7.18_p4.ebuild b/dev-lang/python/python-2.7.18_p7.ebuild index 57fead8d19e6..65446e2f1aec 100644 --- a/dev-lang/python/python-2.7.18_p4.ebuild +++ b/dev-lang/python/python-2.7.18_p7.ebuild @@ -1,26 +1,29 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs +inherit autotools flag-o-matic pax-utils \ + python-utils-r1 toolchain-funcs verify-sig -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" +MY_P="Python-${PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-2.7.18-r4" +PATCHSET="python-gentoo-patches-${PV}" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl +threads tk +wide-unicode wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" # Do not add a dependency on dev-lang/python to this ebuild. # If you need to apply a patch which requires python for bootstrapping, please @@ -60,12 +63,17 @@ RDEPEND="app-arch/bzip2:= xml? ( >=dev-libs/expat-2.1:= )" # bluetooth requires headers from bluez DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) + bluetooth? ( net-wireless/bluez )" +BDEPEND=" virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" RDEPEND+=" - !build? ( app-misc/mime-types ) - !<=dev-lang/python-exec-2.4.6-r1" + !build? ( app-misc/mime-types ) + !<=dev-lang/python-exec-2.4.6-r1" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc pkg_setup() { if use berkdb; then @@ -82,6 +90,13 @@ pkg_setup() { fi } +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -90,7 +105,6 @@ src_prepare() { local PATCHES=( "${WORKDIR}/${PATCHSET}" - "${FILESDIR}/python-2.7.15-PGO-r1.patch" ) default @@ -148,15 +162,6 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # LTO needs this - if use lto; then - append-ldflags "${CFLAGS}" - fi - if tc-is-cross-compiler; then # Force some tests that try to poke fs paths. export ac_cv_file__dev_ptc=no @@ -169,11 +174,6 @@ src_configure() { # http://bugs.python.org/issue15506 export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - # Set LDFLAGS so we link modules with -lpython2.7 correctly. - # Needed on FreeBSD unless Python 2.7 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - local dbmliborder if use gdbm; then dbmliborder+="${dbmliborder:+:}gdbm" @@ -187,7 +187,6 @@ src_configure() { # https://bugs.gentoo.org/596798 # (upstream dropped this flag in 3.2a4 anyway) ac_cv_opt_olimit_ok=no - # glibc-2.30 removes it; since we can't cleanly force-rebuild # Python on glibc upgrade, remove it proactively to give # a chance for users rebuilding python before glibc @@ -198,8 +197,6 @@ src_configure() { $(use_enable ipv6) $(use_with threads) $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -221,11 +218,6 @@ src_configure() { } src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C @@ -233,16 +225,7 @@ src_compile() { # Avoid invoking pgen for cross-compiles. touch Include/graminit.h Python/graminit.c - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - emake EXTRATESTOPTS="${par_arg} -uall,-audio -x test_distutils" + emake # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -336,9 +319,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.10.0_alpha3.ebuild b/dev-lang/python/python-3.10.0_alpha5.ebuild index 82078ac1d1c7..741cc079a7b8 100644 --- a/dev-lang/python/python-3.10.0_alpha3.ebuild +++ b/dev-lang/python/python-3.10.0_alpha5.ebuild @@ -1,25 +1,29 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig MY_P="Python-${PV/_alpha/a}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.10.0a1" +PATCHSET="python-gentoo-patches-3.10.0a5" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test threads tk wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -28,8 +32,8 @@ RESTRICT="!test? ( test )" # patchset. See bug 447752. RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= app-arch/xz-utils:= + dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -57,9 +61,13 @@ DEPEND="${RDEPEND} BDEPEND=" sys-devel/autoconf-archive virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" RDEPEND+=" !build? ( app-misc/mime-types )" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + # large file tests involve a 2.5G file being copied (duplicated) CHECKREQS_DISK_BUILD=5500M @@ -71,6 +79,13 @@ pkg_setup() { use test && check-reqs_pkg_setup } +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -130,6 +145,7 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi + # https://bugs.gentoo.org/700012 if is-flagq -flto || is-flagq '-flto=*'; then append-cflags $(test-flags-CC -ffat-lto-objects) fi @@ -137,11 +153,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw @@ -158,8 +169,6 @@ src_configure() { --enable-shared $(use_enable ipv6) - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -173,12 +182,7 @@ src_configure() { OPT="" econf "${myeconfargs[@]}" - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then eerror "configure has detected that the sem_open function is broken." eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." die "Broken sem_open function (bug 496328)" @@ -190,22 +194,7 @@ src_compile() { # https://bugs.gentoo.org/594768 local -x LC_ALL=C - #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi + emake CPPFLAGS= CFLAGS= LDFLAGS= # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -231,7 +220,6 @@ src_test() { # bug 660358 local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") @@ -317,9 +305,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.10.0_alpha5_p1.ebuild b/dev-lang/python/python-3.10.0_alpha5_p1.ebuild new file mode 100644 index 000000000000..0e3988598fb7 --- /dev/null +++ b/dev-lang/python/python-3.10.0_alpha5_p1.ebuild @@ -0,0 +1,349 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +# autoconf-archive needed to eautoreconf +BDEPEND=" + sys-devel/autoconf-archive + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.4.10_p1.ebuild b/dev-lang/python/python-3.4.10_p1.ebuild deleted file mode 100644 index 6575d45906ba..000000000000 --- a/dev-lang/python/python-3.4.10_p1.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs - -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.4.10" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl +threads tk wininst +xml" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= - app-arch/xz-utils:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( - >=sys-libs/ncurses-5.2:= - readline? ( >=sys-libs/readline-4.1:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:= ) - libressl? ( dev-libs/libressl:= ) - ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - virtual/pkgconfig - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - "${FILESDIR}/test.support.unlink-ignore-PermissionError.patch" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - configure.ac \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # The configure script fails to use pkg-config correctly. - # http://bugs.python.org/issue15506 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - $(use_enable pgo optimizations) - $(use_with lto) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi - - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - # The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${PYVER}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.5.9_p1.ebuild b/dev-lang/python/python-3.5.9_p1.ebuild deleted file mode 100644 index f6d3c6066271..000000000000 --- a/dev-lang/python/python-3.5.9_p1.ebuild +++ /dev/null @@ -1,372 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs - -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.5.9" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test +threads tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= - app-arch/xz-utils:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:= ) - libressl? ( dev-libs/libressl:= ) - ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] ) - virtual/pkgconfig - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - "${FILESDIR}/test.support.unlink-ignore-PermissionError.patch" - "${FILESDIR}/python-3.5-CVE-2020-8492.patch" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - configure.ac \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/getpath.c \ - Modules/Setup.dist \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # The configure script fails to use pkg-config correctly. - # http://bugs.python.org/issue15506 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - $(use_enable pgo optimizations) - $(use_with lto) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi - - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - # The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${PYVER}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.6.12-r2.ebuild b/dev-lang/python/python-3.6.12-r2.ebuild new file mode 100644 index 000000000000..2b451daf8bcf --- /dev/null +++ b/dev-lang/python/python-3.6.12-r2.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}-r2" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + configure.ac \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --with-fpectl + --enable-shared + $(use_enable ipv6) + $(use_with threads) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb faulthandler" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/$(get_libdir)/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use threads || rm -r "${libdir}/multiprocessing" || die + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.6.12_p1.ebuild b/dev-lang/python/python-3.6.12_p3.ebuild index 9ed03c597272..0070a1017519 100644 --- a/dev-lang/python/python-3.6.12_p1.ebuild +++ b/dev-lang/python/python-3.6.12_p3.ebuild @@ -1,26 +1,29 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" +MY_P="Python-${PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}-r1" +PATCHSET="python-gentoo-patches-${PV}" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test +threads tk wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -52,11 +55,23 @@ RDEPEND="app-arch/bzip2:= # bluetooth requires headers from bluez DEPEND="${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" RDEPEND+=" !build? ( app-misc/mime-types )" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -124,18 +139,9 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - local dbmliborder if use gdbm; then dbmliborder+="${dbmliborder:+:}gdbm" @@ -151,8 +157,6 @@ src_configure() { --enable-shared $(use_enable ipv6) $(use_with threads) - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -166,11 +170,6 @@ src_configure() { OPT="" econf "${myeconfargs[@]}" - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then eerror "configure has detected that the sem_open function is broken." eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." @@ -179,32 +178,11 @@ src_configure() { } src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi - # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C - # The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi + emake CPPFLAGS= CFLAGS= LDFLAGS= # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -230,7 +208,6 @@ src_test() { # bug 660358 local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") @@ -319,9 +296,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.6.13.ebuild b/dev-lang/python/python-3.6.13.ebuild new file mode 100644 index 000000000000..0070a1017519 --- /dev/null +++ b/dev-lang/python/python-3.6.13.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + configure.ac \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --with-fpectl + --enable-shared + $(use_enable ipv6) + $(use_with threads) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb faulthandler" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/$(get_libdir)/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use threads || rm -r "${libdir}/multiprocessing" || die + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.7.9_p1.ebuild b/dev-lang/python/python-3.7.10.ebuild index ea134dfda9b8..f61897fc7963 100644 --- a/dev-lang/python/python-3.7.9_p1.ebuild +++ b/dev-lang/python/python-3.7.10.ebuild @@ -1,26 +1,29 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" +MY_P="Python-${PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}-r1" +PATCHSET="python-gentoo-patches-${PV}" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test threads tk wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -29,8 +32,8 @@ RESTRICT="!test? ( test )" # patchset. See bug 447752. RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= app-arch/xz-utils:= + dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -53,11 +56,23 @@ RDEPEND="app-arch/bzip2:= # bluetooth requires headers from bluez DEPEND="${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" RDEPEND+=" !build? ( app-misc/mime-types )" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -116,18 +131,9 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw @@ -144,8 +150,6 @@ src_configure() { --enable-shared $(use_enable ipv6) - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -159,12 +163,7 @@ src_configure() { OPT="" econf "${myeconfargs[@]}" - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then eerror "configure has detected that the sem_open function is broken." eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." die "Broken sem_open function (bug 496328)" @@ -172,32 +171,11 @@ src_configure() { } src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi - # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C - # The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi + emake CPPFLAGS= CFLAGS= LDFLAGS= # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -223,7 +201,6 @@ src_test() { # bug 660358 local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") @@ -311,9 +288,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.7.9-r2.ebuild b/dev-lang/python/python-3.7.9-r2.ebuild new file mode 100644 index 000000000000..471950ca5948 --- /dev/null +++ b/dev-lang/python/python-3.7.9-r2.ebuild @@ -0,0 +1,333 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}-r2" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.7.9_p3.ebuild b/dev-lang/python/python-3.7.9_p3.ebuild new file mode 100644 index 000000000000..f61897fc7963 --- /dev/null +++ b/dev-lang/python/python-3.7.9_p3.ebuild @@ -0,0 +1,333 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.8.7-r1.ebuild b/dev-lang/python/python-3.8.7-r1.ebuild new file mode 100644 index 000000000000..c63748409d2a --- /dev/null +++ b/dev-lang/python/python-3.8.7-r1.ebuild @@ -0,0 +1,337 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.8.7-r1" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.8.7_p1.ebuild b/dev-lang/python/python-3.8.7_p2.ebuild index d26e0833c823..71bd7c3f0613 100644 --- a/dev-lang/python/python-3.8.7_p1.ebuild +++ b/dev-lang/python/python-3.8.7_p2.ebuild @@ -1,26 +1,29 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" +MY_P="Python-${PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.8.6" +PATCHSET="python-gentoo-patches-${PV}" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test threads tk wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -29,8 +32,8 @@ RESTRICT="!test? ( test )" # patchset. See bug 447752. RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= app-arch/xz-utils:= + dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -53,11 +56,23 @@ RDEPEND="app-arch/bzip2:= # bluetooth requires headers from bluez DEPEND="${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" RDEPEND+=" !build? ( app-misc/mime-types )" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -117,18 +132,14 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw @@ -145,8 +156,6 @@ src_configure() { --enable-shared $(use_enable ipv6) - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -160,12 +169,7 @@ src_configure() { OPT="" econf "${myeconfargs[@]}" - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then eerror "configure has detected that the sem_open function is broken." eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." die "Broken sem_open function (bug 496328)" @@ -173,31 +177,11 @@ src_configure() { } src_compile() { - if use pgo; then - # disable distcc and ccache - export DISTCC_HOSTS="" - export CCACHE_DISABLE=1 - fi # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C - #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi + emake CPPFLAGS= CFLAGS= LDFLAGS= # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -223,7 +207,6 @@ src_test() { # bug 660358 local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") @@ -311,9 +294,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.8.8.ebuild b/dev-lang/python/python-3.8.8.ebuild new file mode 100644 index 000000000000..c4ef86dff67a --- /dev/null +++ b/dev-lang/python/python-3.8.8.ebuild @@ -0,0 +1,338 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.1-r1.ebuild b/dev-lang/python/python-3.9.1-r1.ebuild new file mode 100644 index 000000000000..f2741ba7625b --- /dev/null +++ b/dev-lang/python/python-3.9.1-r1.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV/_/}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.9.1-r1" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND="app-eselect/eselect-python" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.1_p1.ebuild b/dev-lang/python/python-3.9.1_p2.ebuild index d994de3137ba..c53d918faa4b 100644 --- a/dev-lang/python/python-3.9.1_p1.ebuild +++ b/dev-lang/python/python-3.9.1_p2.ebuild @@ -1,26 +1,29 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig -MY_P="Python-${PV%%_*}" -MY_PV="${PV%%_*}" +MY_P="Python-${PV%_p*}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.9.0rc1" +PATCHSET="python-gentoo-patches-${PV}" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 libressl lto +ncurses +readline pgo sqlite +ssl test threads tk wininst +xml" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -29,8 +32,8 @@ RESTRICT="!test? ( test )" # patchset. See bug 447752. RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= app-arch/xz-utils:= + dev-libs/libffi:= sys-apps/util-linux:= >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -53,10 +56,15 @@ RDEPEND="app-arch/bzip2:= # bluetooth requires headers from bluez DEPEND="${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) !sys-devel/gcc[libffi(-)]" RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND="app-eselect/eselect-python" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc # large file tests involve a 2.5G file being copied (duplicated) CHECKREQS_DISK_BUILD=5500M @@ -69,6 +77,13 @@ pkg_setup() { use test && check-reqs_pkg_setup } +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + src_prepare() { # Ensure that internal copies of expat, libffi and zlib are not used. rm -fr Modules/expat || die @@ -128,6 +143,7 @@ src_configure() { use hardened && replace-flags -O3 -O2 fi + # https://bugs.gentoo.org/700012 if is-flagq -flto || is-flagq '-flto=*'; then append-cflags $(test-flags-CC -ffat-lto-objects) fi @@ -135,11 +151,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw @@ -156,8 +167,6 @@ src_configure() { --enable-shared $(use_enable ipv6) - $(use_enable pgo optimizations) - $(use_with lto) --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --with-computed-gotos @@ -171,12 +180,7 @@ src_configure() { OPT="" econf "${myeconfargs[@]}" - # Would be appended if --with-lto was used - if test-flags flto >/dev/null ; then - append-flags -Wl,--export-dynamic - fi - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then eerror "configure has detected that the sem_open function is broken." eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." die "Broken sem_open function (bug 496328)" @@ -188,22 +192,7 @@ src_compile() { # https://bugs.gentoo.org/594768 local -x LC_ALL=C - #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay - - # extract the number of parallel jobs in MAKEOPTS - echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null - if [ $? -eq 0 ]; then - par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')" - else - par_arg="" - fi - export par_arg - - if use pgo; then - emake profile-opt PROFILE_TASK="-m test.regrtest ${par_arg} -w -uall,-audio -x test_gdb test_multiprocessing test_subprocess test_tokenize test_signal test_faulthandler test_asyncio test_ctypes test_compileall test_pyexpat test_runpy test_support test_threaded_import test_xmlrpc_net test_multiprocessing_spawn test_httpservers test_logging test_xmlrpc" - else - emake CPPFLAGS= CFLAGS= LDFLAGS= - fi + emake CPPFLAGS= CFLAGS= LDFLAGS= # Work around bug 329499. See also bug 413751 and 457194. if has_version dev-libs/libffi[pax_kernel]; then @@ -229,7 +218,6 @@ src_test() { # bug 660358 local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") @@ -315,9 +303,7 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - # for python-exec local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python diff --git a/dev-lang/python/python-3.9.2.ebuild b/dev-lang/python/python-3.9.2.ebuild new file mode 100644 index 000000000000..b4b4cbc7a33c --- /dev/null +++ b/dev-lang/python/python-3.9.2.ebuild @@ -0,0 +1,347 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND="app-eselect/eselect-python" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/qu-prolog/metadata.xml b/dev-lang/qu-prolog/metadata.xml index 8f04a5fdaa28..105ebd9fadf0 100644 --- a/dev-lang/qu-prolog/metadata.xml +++ b/dev-lang/qu-prolog/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> - </maintainer> - <use> - <flag name="pedro">Pedro subscription/notification communications system</flag> - </use> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <use> + <flag name="pedro">Pedro subscription/notification communications system</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest index eab66d6906aa..02dba791ba40 100644 --- a/dev-lang/rakudo/Manifest +++ b/dev-lang/rakudo/Manifest @@ -6,3 +6,4 @@ DIST rakudo-2020.09.tar.gz 4743378 BLAKE2B 4ccac6fa59ca80868e7525eabc05d358da926 DIST rakudo-2020.10.tar.gz 4755030 BLAKE2B 869f6dc6569093f7ad39d9c250d6564b6311cdefda2950784e54263bed6faca4b8653a9578b19f52819eb8e9f24e1f5f831468bf4620d885d4bb26944e22e8f4 SHA512 fcd00ac782ca28243ca2c6ceb45ff99322952086749aea01ccdfb5ae8c525cb6304fe5d20e7905a9808b1b7a1a96d7c4406847b10c0e4ea8b5fd7d053870f46a DIST rakudo-2020.11.tar.gz 5678270 BLAKE2B 314da91b516d509fcfcfff16e46444243083bdeb21294bc33a2996f1883317b663cc3442cbb6090c8339c5607b4e64a4c8c3c9f2fa5d728bd5c6513d6ef20bcf SHA512 d6c0f7849570b82611db311445f6b60000ecf1c0773d1bb5f4da0d27a9e0d443149ab72f954da2e75a8323d9be9c31f655dee1183a8ca714d89c63baa6e2489e DIST rakudo-2020.12.tar.gz 5690849 BLAKE2B 2f2bae068419279346d4dd49b734221d9a8bbeaac94b8fd44f03812ed33fbf8d4e096ba768388cb56571970d41f8ef319bf12d1f33a1cf36fe3ebb7ec6da40be SHA512 dfb94d1c8f75ec16e0149a37b57a9d9fc80ddaf256526edd3d3a23c0435881a187efbe88fd95a2174a9e9d93820987e561bb77745c7492e7ac50eb72879b4ab8 +DIST rakudo-2021.02.tar.gz 7530228 BLAKE2B 9b70b737abfe18ea43aea4c45d965567357ef811ab719b9013b8e31e610c91e2868dcdb978abe7a62a5e375ea81e1f914d8031b36c5947f73d32824c12f83dd2 SHA512 067abbc2d9f11251486c30aa70a7961f0864dd08aac12aaadf47c5d019066fb38433b2bcc27f5f70a50f6d213462df9fe6631c22e6ea0148f348659fb5030329 diff --git a/dev-lang/rakudo/metadata.xml b/dev-lang/rakudo/metadata.xml index 4223f6b2087b..d9b4ef46dd4c 100644 --- a/dev-lang/rakudo/metadata.xml +++ b/dev-lang/rakudo/metadata.xml @@ -1,16 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>patrick@gentoo.org</email> - <name>Patrick Lauer</name> - </maintainer> - <maintainer type="project"> - <email>perl@gentoo.org</email> - <name>Gentoo Perl Project</name> - </maintainer> - <use> - <flag name="clang">Use Clang to compile the MoarVM backend</flag> - <flag name="moar">Use the MoarVM as backend</flag> - </use> -</pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + + <use> + <flag name="clang">Use Clang to compile the MoarVM backend</flag> + <flag name="moar">Use the MoarVM as backend</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/rakudo/rakudo-2020.05.1.ebuild b/dev-lang/rakudo/rakudo-2020.05.1.ebuild index 4ba843c08746..7bea6a703259 100644 --- a/dev-lang/rakudo/rakudo-2020.05.1.ebuild +++ b/dev-lang/rakudo/rakudo-2020.05.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.06.ebuild b/dev-lang/rakudo/rakudo-2020.06.ebuild index 1353f67155bf..1a79ddccb62d 100644 --- a/dev-lang/rakudo/rakudo-2020.06.ebuild +++ b/dev-lang/rakudo/rakudo-2020.06.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.07.ebuild b/dev-lang/rakudo/rakudo-2020.07.ebuild index 1353f67155bf..1a79ddccb62d 100644 --- a/dev-lang/rakudo/rakudo-2020.07.ebuild +++ b/dev-lang/rakudo/rakudo-2020.07.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.08.1.ebuild b/dev-lang/rakudo/rakudo-2020.08.1.ebuild index 1353f67155bf..1a79ddccb62d 100644 --- a/dev-lang/rakudo/rakudo-2020.08.1.ebuild +++ b/dev-lang/rakudo/rakudo-2020.08.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.09.ebuild b/dev-lang/rakudo/rakudo-2020.09.ebuild index e912ccc2de62..8337e3f34074 100644 --- a/dev-lang/rakudo/rakudo-2020.09.ebuild +++ b/dev-lang/rakudo/rakudo-2020.09.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.10.ebuild b/dev-lang/rakudo/rakudo-2020.10.ebuild index e912ccc2de62..8337e3f34074 100644 --- a/dev-lang/rakudo/rakudo-2020.10.ebuild +++ b/dev-lang/rakudo/rakudo-2020.10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.11.ebuild b/dev-lang/rakudo/rakudo-2020.11.ebuild index e912ccc2de62..8337e3f34074 100644 --- a/dev-lang/rakudo/rakudo-2020.11.ebuild +++ b/dev-lang/rakudo/rakudo-2020.11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2020.12.ebuild b/dev-lang/rakudo/rakudo-2020.12.ebuild index e912ccc2de62..8337e3f34074 100644 --- a/dev-lang/rakudo/rakudo-2020.12.ebuild +++ b/dev-lang/rakudo/rakudo-2020.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/rakudo/rakudo-2021.02.ebuild b/dev-lang/rakudo/rakudo-2021.02.ebuild new file mode 100644 index 000000000000..8337e3f34074 --- /dev/null +++ b/dev-lang/rakudo/rakudo-2021.02.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit java-pkg-opt-2 + +DESCRIPTION="A compiler for the Perl 6 programming language" +HOMEPAGE="https://rakudo.org" + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" + inherit git-r3 +else + SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="Artistic-2" +SLOT="0" +# TODO: add USE="javascript" once that's usable in nqp +IUSE="clang java +moar test" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.7 )" +DEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.7 ) + >=dev-lang/perl-5.10" + +pkg_pretend() { + if has_version dev-lang/rakudo; then + ewarn "Rakudo is known to fail compilation/installation with Rakudo" + ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo," + ewarn "then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +src_configure() { + local backends + use moar && backends+="moar," + use java && backends+="jvm" + + local myargs=( + "--prefix=/usr" + "--sysroot=/" + "--sdkroot=/" + "--backends=${backends}" + ) + + perl Configure.pl "${myargs[@]}" || die + + if use java; then + NQP=$(java-pkg_getjars --with-dependencies nqp) + fi +} + +src_compile() { + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" +} + +src_install() { + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install +} + +src_test() { + RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default +} diff --git a/dev-lang/rakudo/rakudo-9999.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild index 9fb642f3c169..1c3e4d291cbc 100644 --- a/dev-lang/rakudo/rakudo-9999.ebuild +++ b/dev-lang/rakudo/rakudo-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -11,7 +11,6 @@ HOMEPAGE="https://rakudo.org" if [[ ${PV} == "9999" ]]; then EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" inherit git-r3 - KEYWORDS="" else SRC_URI="https://rakudo.org/downloads/${PN}/${P}.tar.gz" KEYWORDS="~amd64 ~x86" diff --git a/dev-lang/regina-rexx/metadata.xml b/dev-lang/regina-rexx/metadata.xml index ab9a547bb04b..173c4b37d3fb 100644 --- a/dev-lang/regina-rexx/metadata.xml +++ b/dev-lang/regina-rexx/metadata.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <longdescription lang="en"> + <longdescription lang="en"> Regina is a Rexx interpreter. Rexx is a programming language that was designed to be easy to use for inexperienced programmers yet powerful enough for experienced users. It is also a language ideally suited as a macro language for other applications. </longdescription> - <upstream> - <remote-id type="sourceforge">regina-rexx</remote-id> - <bugs-to>https://sourceforge.net/p/regina-rexx/bugs/</bugs-to> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="sourceforge">regina-rexx</remote-id> + <bugs-to>https://sourceforge.net/p/regina-rexx/bugs/</bugs-to> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/ruby/metadata.xml b/dev-lang/ruby/metadata.xml index 3a5415201c60..10df77454c06 100644 --- a/dev-lang/ruby/metadata.xml +++ b/dev-lang/ruby/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>ruby@gentoo.org</email> - <name>Gentoo Ruby Project</name> - </maintainer> - <use> - <flag name="rubytests">Install ruby tests that can only be run after ruby is installed</flag> - <flag name="rdoc">Install <pkg>dev-ruby/rdoc</pkg> after installing Ruby.</flag> - <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag> - </use> -</pkgmetadata> + <maintainer type="project"> + <email>ruby@gentoo.org</email> + <name>Gentoo Ruby Project</name> + </maintainer> + + <use> + <flag name="rubytests">Install ruby tests that can only be run after ruby is installed</flag> + <flag name="rdoc">Install <pkg>dev-ruby/rdoc</pkg> after installing Ruby.</flag> + <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml index 85a5a106c378..0c0d551c66dc 100644 --- a/dev-lang/rust-bin/metadata.xml +++ b/dev-lang/rust-bin/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>rust@gentoo.org</email> - <name>Rust Project</name> - </maintainer> - <use> - <flag name="clippy">Install clippy, Rust code linter</flag> - <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag> - <flag name="rustfmt">Install rustfmt, Rust code formatter</flag> - </use> -</pkgmetadata> + <maintainer type="project"> + <email>rust@gentoo.org</email> + <name>Rust Project</name> + </maintainer> + + <use> + <flag name="clippy">Install clippy, Rust code linter</flag> + <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag> + <flag name="rustfmt">Install rustfmt, Rust code formatter</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild index df69c8f7404c..f8a6a6b2ddbf 100644 --- a/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild @@ -13,7 +13,7 @@ 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 ~arm ~arm64 ppc64 x86" +KEYWORDS="amd64 arm arm64 ppc64 x86" IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt" DEPEND="" diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml index 1e4ffdc29a14..8035599e331c 100644 --- a/dev-lang/rust/metadata.xml +++ b/dev-lang/rust/metadata.xml @@ -1,23 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> - <maintainer type="project"> - <email>rust@gentoo.org</email> - <name>Rust Project</name> - </maintainer> - <use> - <flag name="clippy">Install clippy, Rust code linter</flag> - <flag name="miri">Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly)</flag> - <flag name="nightly">Enable nightly (UNSTABLE) features</flag> - <flag name="parallel-compiler">Build a multi-threaded rustc</flag> - <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag> - <flag name="rustfmt">Install rustfmt, Rust code formatter</flag> - <flag name="system-bootstrap">Bootstrap using installed rust compiler</flag> - <flag name="system-llvm">Use the system LLVM install</flag> - <flag name="wasm">Build support for the wasm32-unknown-unknown target</flag> - </use> -</pkgmetadata> + <maintainer type="person"> + <email>gyakovlev@gentoo.org</email> + <name>Georgy Yakovlev</name> + </maintainer> + <maintainer type="project"> + <email>rust@gentoo.org</email> + <name>Rust Project</name> + </maintainer> + + <use> + <flag name="clippy">Install clippy, Rust code linter</flag> + <flag name="miri">Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly)</flag> + <flag name="nightly">Enable nightly (UNSTABLE) features</flag> + <flag name="parallel-compiler">Build a multi-threaded rustc</flag> + <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag> + <flag name="rustfmt">Install rustfmt, Rust code formatter</flag> + <flag name="system-bootstrap">Bootstrap using installed rust compiler</flag> + <flag name="system-llvm">Use the system LLVM install</flag> + <flag name="wasm">Build support for the wasm32-unknown-unknown target</flag> + </use> + <origin>libressl-overlay</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/sassc/metadata.xml b/dev-lang/sassc/metadata.xml index 4451ee88e296..a10afc222151 100644 --- a/dev-lang/sassc/metadata.xml +++ b/dev-lang/sassc/metadata.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <longdescription lang="en"> + <longdescription lang="en"> SassC is a wrapper around libsass (http://github.com/sass/libsass) used to generate a useful command-line application that can be installed and packaged for several operating systems. </longdescription> - <upstream> - <remote-id type="github">sass/sassc</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">sass/sassc</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/sassc/sassc-3.6.1.ebuild b/dev-lang/sassc/sassc-3.6.1.ebuild index 82d1a97e1181..b3733561b697 100644 --- a/dev-lang/sassc/sassc-3.6.1.ebuild +++ b/dev-lang/sassc/sassc-3.6.1.ebuild @@ -6,7 +6,7 @@ EAPI=7 inherit autotools SRC_URI="https://github.com/sass/sassc/archive/${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux" +KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux" DESCRIPTION="A libsass command line driver" HOMEPAGE="https://github.com/sass/sassc" diff --git a/dev-lang/scala-bin/metadata.xml b/dev-lang/scala-bin/metadata.xml index 4422c51f84a2..30db406319e4 100644 --- a/dev-lang/scala-bin/metadata.xml +++ b/dev-lang/scala-bin/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>monsieurp@gentoo.org</email> - </maintainer> - <maintainer type="project"> - <email>java@gentoo.org</email> - <name>Java</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>monsieurp@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>java@gentoo.org</email> + <name>Java</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/scala/metadata.xml b/dev-lang/scala/metadata.xml index c9aa3c0473c0..784d6db22abf 100644 --- a/dev-lang/scala/metadata.xml +++ b/dev-lang/scala/metadata.xml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>java@gentoo.org</email> - <name>Java</name> - </maintainer> - <use> - <flag name="binary">Install from (Gentoo-compiled) binary instead of building from sources. Set this when you run out of memory during build.</flag> - </use> - <upstream> - <remote-id type="github">scala/scala</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + <name>Java</name> + </maintainer> + <upstream> + <remote-id type="github">scala/scala</remote-id> + </upstream> + <use> + <flag name="binary">Install from (Gentoo-compiled) binary instead of building from sources. Set this when you run out of memory during build.</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/smlnj/metadata.xml b/dev-lang/smlnj/metadata.xml index e7ce88d55f5e..d97e8db2bccd 100644 --- a/dev-lang/smlnj/metadata.xml +++ b/dev-lang/smlnj/metadata.xml @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> - <use> - <flag name="pax_kernel">Enable if the user plans to run the + + <use> + <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> - </use> -</pkgmetadata> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch new file mode 100644 index 000000000000..8814867c2ae7 --- /dev/null +++ b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch @@ -0,0 +1,31 @@ +--- a/include/macros.h ++++ b/include/macros.h +@@ -192,7 +192,7 @@ extern volatile int math_error; + #define RETURN(VALUE) {RSTSTK(); return (VALUE);} + #endif /* TRACE_DEPTH not defined */ + +-struct descr _NORET[1]; ++extern struct descr _NORET[1]; + #define NORET ((ptr_t)_NORET) + + /****************/ +--- a/isnobol4.c ++++ b/isnobol4.c +@@ -4,6 +4,7 @@ + + # include "mlink.h" + # include "parms.h" ++extern struct descr _NORET[1]; + static int + ENDALL(retval) + ret_t retval; +--- a/main.c ++++ b/main.c +@@ -46,6 +46,7 @@ struct vars *varp; + const char vers[] = VERSION; + const char vdate[] = VERSION_DATE; + const char snoname[] = "CSNOBOL4"; ++struct descr _NORET[1]; + + int + main(argc, argv) diff --git a/dev-lang/snobol/metadata.xml b/dev-lang/snobol/metadata.xml index a4e0d354f696..436a2a7e83c6 100644 --- a/dev-lang/snobol/metadata.xml +++ b/dev-lang/snobol/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>robbat2@gentoo.org</email> - <name>Robin H. Johnson</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/snobol/snobol-1.4.1.ebuild b/dev-lang/snobol/snobol-1.4.1-r1.ebuild index 15e3915a662c..22679eb48459 100644 --- a/dev-lang/snobol/snobol-1.4.1.ebuild +++ b/dev-lang/snobol/snobol-1.4.1-r1.ebuild @@ -1,10 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 -MY_P="${PN}4-${PV}" +inherit toolchain-funcs +MY_P="${PN}4-${PV}" DESCRIPTION="Phil Budne's port of Macro SNOBOL4 in C, for modern machines" HOMEPAGE="https://www.snobol4.org/csnobol4/" SRC_URI="ftp://ftp.snobol4.org/snobol/old/${MY_P}.tar.gz" @@ -14,39 +15,39 @@ SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="doc" -DEPEND=" - sys-devel/gcc - sys-devel/m4 - sys-libs/gdbm[berkdb] -" -S=${WORKDIR}/${MY_P} +DEPEND="sys-libs/gdbm[berkdb]" +RDEPEND="${DEPEND}" +BDEPEND="sys-devel/m4" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( "${FILESDIR}"/${P}-fno-common.patch ) src_prepare() { - sed -e '/autoconf/s:autoconf:./autoconf:g' \ - -i configure || die 'autoconf sed failed' - sed -e 's/$(INSTALL) -s/$(INSTALL)/' \ - -i Makefile2.m4 || die 'strip sed failed' - echo "ADD_OPT([${CFLAGS}])" >>${S}/local-config - echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >>${S}/local-config - echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >>${S}/local-config + default + sed -i -e '/autoconf/s:autoconf:./autoconf:g' configure || die + sed -i -e 's/$(INSTALL) -s/$(INSTALL)/' Makefile2.m4 || die + echo "ADD_OPT([${CFLAGS}])" >> local-config || die + echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >> local-config || die + echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >> local-config || die # this cannot work and will cause funny sandbox violations sed -i -e 's~/usr/bin/emerge info~~' timing || die "Failed to exorcise the sandbox violations" } src_configure() { + tc-export CC ./configure --prefix="${EPREFIX}/usr" \ --snolibdir="${EPREFIX}/usr/lib/snobol4" \ --mandir="${EPREFIX}/usr/share/man" \ - --add-cflags="${CFLAGS}" + --add-cflags="${CFLAGS}" || die } src_install() { emake DESTDIR="${D}" install - rm "${ED%/}"/usr/lib/snobol4/{load.txt,README} + rm "${ED}"/usr/lib/snobol4/{load.txt,README} || die dodoc doc/*txt - - use doc && dohtml doc/*html + use doc && dodoc -r doc/*html } diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest deleted file mode 100644 index ae89247fb3a6..000000000000 --- a/dev-lang/spark/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee -DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e -DIST spark-2019-20190517-19665-src.tar.gz 22778220 BLAKE2B b0e2141c4b8aa603ee51fe984654c502d214cc5461cf7afba90926b4f3393772bc755a4ec8ef307496f5c052d3c478312f987b79d8b31bec3e9dba962cedd419 SHA512 9ee15e1ae80720a0295ec8a59e1b414f82a4044ebd47f81f8daea7a155720bb151714d9e9c2830612f5530d906f6c393e84ffde16982afef547f1c8edc27e97a -DIST spark-gpl-2018-src.tar.gz 20244517 BLAKE2B efb8120a869eaf79aa513ea3b3393dcefdb548e66a00a630bfb9d28a59785c15362c111df3635423a7312c491c9929a7bcd8e7161607dc4d3acd6d1c27f3ca3e SHA512 83490a95c2d6401bcd077a8ec508eaf18609b5b480ccd9f247f4bb61164b5e52e34473526cd49ebdf5fd15ac422ed4a121dc50cab96241db02af9e32812a4df8 diff --git a/dev-lang/spark/files/spark-2017-gentoo.patch b/dev-lang/spark/files/spark-2017-gentoo.patch deleted file mode 100644 index 8258c9feab7e..000000000000 --- a/dev-lang/spark/files/spark-2017-gentoo.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/gnat2why/gnat2why_c.gpr 2017-10-04 21:41:41.613376056 +0200 -+++ b/gnat2why/gnat2why_c.gpr 2017-10-04 21:42:30.582572536 +0200 -@@ -1,4 +1,7 @@ - project Gnat2Why_C is - for Languages use ("C"); - for Object_Dir use "obj"; -+ package Compiler is -+ for Driver ("C") use External ("CC", "gcc"); -+ end Compiler; - end Gnat2Why_C; ---- a/gnatprove/configuration.adb 2019-11-08 19:20:16.876198539 +0100 -+++ b/gnatprove/configuration.adb 2019-11-08 19:21:13.550201663 +0100 -@@ -694,7 +694,9 @@ - Tree : Project_Tree; - - begin -- Set_Path_From_Gnatls (Proj_Env.all, "gnatls", GNAT_Version); -+ Set_Path_From_Gnatls (Proj_Env.all, -+ "gnatls", -+ GNAT_Version); - Free (GNAT_Version); - Set_Object_Subdir (Proj_Env.all, Subdir_Name); - Proj_Env.Register_Default_Language_Extension ("C", ".h", ".c"); diff --git a/dev-lang/spark/files/spark-2019-gentoo.patch b/dev-lang/spark/files/spark-2019-gentoo.patch deleted file mode 100644 index d940471dfcf8..000000000000 --- a/dev-lang/spark/files/spark-2019-gentoo.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/gnat2why/gnat2why_c.gpr 2017-10-04 21:41:41.613376056 +0200 -+++ b/gnat2why/gnat2why_c.gpr 2017-10-04 21:42:30.582572536 +0200 -@@ -1,4 +1,7 @@ - project Gnat2Why_C is - for Languages use ("C"); - for Object_Dir use "obj"; -+ package Compiler is -+ for Driver ("C") use External ("CC", "gcc"); -+ end Compiler; - end Gnat2Why_C; ---- a/gnatprove/configuration.adb 2019-11-28 08:13:36.857402405 +0100 -+++ b/gnatprove/configuration.adb 2019-11-28 08:14:23.777570096 +0100 -@@ -1161,7 +1161,9 @@ - - end if; - -- Set_Path_From_Gnatls (Proj_Env.all, "gnatls", GNAT_Version); -+ Set_Path_From_Gnatls (Proj_Env.all, -+ "gnatls", -+ GNAT_Version); - Free (GNAT_Version); - Set_Object_Subdir (Proj_Env.all, - Filesystem_String diff --git a/dev-lang/spark/metadata.xml b/dev-lang/spark/metadata.xml deleted file mode 100644 index 2516831ba9a7..000000000000 --- a/dev-lang/spark/metadata.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>ada@gentoo.org</email> - </maintainer> - <longdescription lang="en"> - SPARK is a software development technology specifically designed for - engineering high-reliability applications. It consists of a programming - language, a verification toolset and a design method which, taken - together, ensure that ultra-low defect software can be deployed in - application domains where high-reliability must be assured, for example - where safety and security are key requirements. - </longdescription> -</pkgmetadata> diff --git a/dev-lang/spark/spark-2018-r1.ebuild b/dev-lang/spark/spark-2018-r1.ebuild deleted file mode 100644 index ea1080f9be2c..000000000000 --- a/dev-lang/spark/spark-2018-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -ADA_COMPAT=( gnat_2018 ) -inherit ada toolchain-funcs multiprocessing - -MYP=${PN}-gpl-${PV} - -DESCRIPTION="Software development for high-reliability applications." -HOMEPAGE="https://libre.adacore.com" -SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a47 - -> ${MYP}-src.tar.gz - http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa5 - -> gnat-gpl-2018-src.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -RDEPEND=" - dev-ada/gnatcoll-core[${ADA_USEDEP},shared] - sci-mathematics/alt-ergo - sci-mathematics/why3-for-spark" -DEPEND="${RDEPEND} - dev-ada/gprbuild[${ADA_USEDEP}]" - -REQUIRED_USE="${ADA_REQUIRED_USE}" - -S="${WORKDIR}"/${MYP}-src - -PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch ) - -src_prepare() { - ln -sf "${WORKDIR}"/gnat-gpl-2018-src/src/ada gnat2why/gnat_src || die - default - sed -i \ - -e "s:gnatls:${GNATLS}:g" \ - gnatprove/configuration.adb || die -} - -src_compile() { - emake GPRARGS="-XLIBRARY_TYPE=relocatable" gnat2why - emake PROD="-XLIBRARY_TYPE=relocatable" gnatprove -} - -src_install() { - emake INSTALLDIR="${D}"/usr install - einstalldocs - dosym ../../../lib64/why3/why3server /usr/libexec/spark/bin/why3server - dobin install/bin/gnatprove - mv install/share/doc/spark/* "${D}"/usr/share/doc/${PF} || die - exeinto /usr/libexec/spark/bin - doexe install/bin/gnat2why - doexe install/bin/spark_memcached_wrapper - doexe install/bin/spark_report - doexe install/bin/spark_codepeer_wrapper - mv "${D}"/usr/bin/target.atp "${D}"/usr/libexec/spark/bin || die -} diff --git a/dev-lang/spark/spark-2019.ebuild b/dev-lang/spark/spark-2019.ebuild deleted file mode 100644 index 6e92fe6160a1..000000000000 --- a/dev-lang/spark/spark-2019.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -ADA_COMPAT=( gnat_2019 ) -PYTHON_COMPAT=( python2_7 python3_{6,7,8,9,10} ) - -inherit ada python-any-r1 toolchain-funcs multiprocessing - -DESCRIPTION="Software development for high-reliability applications." -HOMEPAGE="https://libre.adacore.com" -SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf912431e87a8f1c967d51 - -> ${P}-20190517-19665-src.tar.gz - http://mirrors.cdn.adacore.com/art/5cdf865331e87aa2cdf16b49 - -> gnat-2019-20190517-18C94-src.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -RDEPEND=" - dev-ada/gnatcoll-core[${ADA_USEDEP},shared] - sci-mathematics/alt-ergo - sci-mathematics/why3-for-spark" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-ada/gprbuild[${ADA_USEDEP}]" - -REQUIRED_USE="${ADA_REQUIRED_USE}" - -S="${WORKDIR}"/${P}-2019-20190517-19665-src - -PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) - -pkg_setup() { - ada_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - ln -sf "${WORKDIR}"/gnat-2019-20190517-18C94-src/src/ada gnat2why/gnat_src || die - default - sed -i \ - -e "s:gnatls:${GNATLS}:g" \ - gnatprove/configuration.adb || die -} - -src_compile() { - emake -C gnat2why GPRARGS="-XLIBRARY_TYPE=relocatable -v" - emake -C gnatprove PROD="-XLIBRARY_TYPE=relocatable -v" -} - -src_install() { - emake INSTALLDIR="${D}"/usr install - einstalldocs - dosym ../../../lib64/why3/why3server /usr/libexec/spark/bin/why3server - dobin install/bin/gnatprove - mv install/share/doc/spark/* "${D}"/usr/share/doc/${PF} || die - exeinto /usr/libexec/spark/bin - doexe install/bin/gnat2why - doexe install/bin/spark_memcached_wrapper - doexe install/bin/spark_report - doexe install/bin/spark_codepeer_wrapper - mv "${D}"/usr/bin/target.atp "${D}"/usr/libexec/spark/bin || die -} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 9636f572baf7..b7206085f8f1 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -2,8 +2,10 @@ DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551 DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c DIST firefox-78.6.0esr.source.tar.xz 338098664 BLAKE2B 9d082b6104bffbd0d918dc1adf2a01ac32613d8048faf399177834c4949714a00c1f4383b778a21d6b6684296d8f9bd44fa547ee2507a8631d206e3764d2ceeb SHA512 a1e2d6af0020784d00ed3cb4d778c136685e7c2f6ae536cc270fbd331d51d483d17dff9acd7ad8e6b3b231b9df894c146092889357b23715814a080c6f08d11a DIST firefox-78.7.1esr.source.tar.xz 334417504 BLAKE2B c0c90488ef9727363f03707c3d1e83ab5965a32775db9e6832883b94f265a3d95bb468648360fa3f016c34044f4c706db84125f7c5b545aaa1dedcf03196cb0c SHA512 d5828667ab07f5971049092102b7017472a835a3ab8581ba485a528e9b269aafdeeebecb4c882043459c2b901290c5525d795b04c1d4f30f7b74ee6cd7b18646 +DIST firefox-78.8.0esr.source.tar.xz 330937116 BLAKE2B dc2476e8bad026589e8889abf3c38b7a7283efefce99dedd8bfb73bdbcdf66c7480d388e9c3ffc28177abb9c4f78cc2c9f6049e7fcb0a161871a99bcc25fa8ea SHA512 0160aa6c408c2af66d24b74cf98e1a07ab1604e7b93ffcde79201f9d68e41e896ef965f1904de52d5dd82ffedae33ac96e93b871727bf5dd5983c5af2f1f439f DIST firefox-78esr-patches-07.tar.xz 66156 BLAKE2B 8f69883432dcbd484b1fb15e3fde1630b1424e502ba78d9ec3cbe70cb2676a6876853d3477c8bfe35e92bca91b200e2d14543de1778d895676a52d2608109af2 SHA512 b4a01d3499002bd33a7fb45a1a80e9e73ba27a0986b6bfa43b3482dd8d82a686a14ae0c5e013402c8c8f359a642632a40bf4c362a0e83a1f53b453914f42e3a7 -DIST firefox-78esr-patches-08.tar.xz 67108 BLAKE2B e9bcfeeda936832e1107d5dd1641f8833dcb1c99bee113b7591607294328b3739521a6811e0dfa64f36b44ab9a484ca69e15ad88b99ae810d767a2de2e4ffc4c SHA512 47a676d18bdc005db3f2d3c9b491df8f6347f50c1410d9f00cf19da86f3163a8ca45060b728f47f3cad02fcdaf6150f037ae26c95f4a5c8be6e7077a97890203 +DIST firefox-78esr-patches-09.tar.xz 67480 BLAKE2B dde764add31a755765df996aeb50bc647881f9956c9b18c87ccc1c79325ec6f4c3a7ae3a8be1a64c5d80a9aece90d05697a8920912a7a37fd62d62bf2e03a536 SHA512 aa0eb6183ead7efe231ecb2922f22d5028a9edb656e65bfebfbb175af868f8c8ae05668e4bc2a982befcd04698cca43d3abb5b261aa2931bc7d8c7808a8495f4 +DIST firefox-78esr-patches-10.tar.xz 66396 BLAKE2B c29b723e47c58b10885b220080568aba751e1b73c58e28fce62a2da4c4c3ba8c71b63e60448d17599a3df4446dbd9f9387b4b2b75da5ed1e545591aafe8ec83c SHA512 6bb9caf1f6867b894ab315a73f8ae6f381b5c80c90539f38e786ee653c72c0df055aade854faa23f22cab2253f54abaf918a756945b76ed88f5a224ba8a8f12f DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0 diff --git a/dev-lang/spidermonkey/metadata.xml b/dev-lang/spidermonkey/metadata.xml index 0e68089f7c5c..afe9be93992b 100644 --- a/dev-lang/spidermonkey/metadata.xml +++ b/dev-lang/spidermonkey/metadata.xml @@ -1,16 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>mozilla@gentoo.org</email> - <name>Gentoo Mozilla Team</name> - </maintainer> - <use> - <flag name="clang">Use Clang compiler instead of GCC</flag> - <flag name="custom-optimization">Build with user-specified compiler optimizations + <maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> + </maintainer> + + <use> + <flag name="clang">Use Clang compiler instead of GCC</flag> + <flag name="custom-optimization">Build with user-specified compiler optimizations (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> - <flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag> - <flag name="lto">Enable Link Time Optimization (LTO)</flag> - <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag> - </use> -</pkgmetadata> + <flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag> + <flag name="lto">Enable Link Time Optimization (LTO)</flag> + <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild deleted file mode 100644 index aba809049ed0..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -WANT_AUTOCONF="2.1" -PYTHON_COMPAT=( python2_7 python3_{6,7,8,9,10} ) -PYTHON_REQ_USE="threads" -inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils - -MY_PN="js" -TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))" -MY_P="${MY_PN}-${PV}" -TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" -DESCRIPTION="Stand-alone JavaScript C library" -HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz - https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz - " - -LICENSE="NPL-1.1" -SLOT="0/mozjs185" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 x86 ~x64-macos" -IUSE="debug minimal static-libs test" -RESTRICT="!test? ( test )" - -S="${WORKDIR}/${MY_P}" -BUILDDIR="${S}/js/src" - -RDEPEND=">=dev-libs/nspr-4.7.0 - sys-libs/readline:0= - x64-macos? ( dev-libs/jemalloc )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - app-arch/zip - virtual/pkgconfig" - -PATCHES=( - "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch - "${WORKDIR}"/sm0/${P}-fix-ppc64.patch - "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch - "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch - "${WORKDIR}"/sm0/${P}-perf_event-check.patch - "${WORKDIR}"/sm0/${P}-symbol-versions.patch - "${WORKDIR}"/sm0/${P}-ia64-fix.patch - "${WORKDIR}"/sm0/${P}-ia64-static-strings.patch - "${WORKDIR}"/sm0/${P}-isfinite.patch - "${FILESDIR}"/${PN}-perl-defined-array-check.patch - "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch - "${WORKDIR}"/sm0/${P}-gcc6.patch - "${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch - "${FILESDIR}"/${P}-LTO.patch -) - -DOCS=( ${S}/README ) -HTML_DOCS=( ${BUILDDIR}/README.html ) - -pkg_setup() { - if [[ ${MERGE_TYPE} != "binary" ]]; then - export LC_ALL="C" - fi -} - -src_prepare() { - pwd - - default - - cd "${BUILDDIR}" || die - eautoconf - - # remove options that are not correct from js-config - sed '/lib-filenames/d' -i "${BUILDDIR}"/js-config.in || die "failed to remove invalid option from js-config" -} - -src_configure() { - cd "${BUILDDIR}" || die - - CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ - LD="$(tc-getLD)" \ - ac_cv_lib_dnet_dnet_ntoa=no \ - ac_cv_lib_dnet_stub_dnet_ntoa=no \ - econf \ - ${myopts} \ - --enable-jemalloc \ - --enable-readline \ - --enable-threadsafe \ - --with-system-nspr \ - --disable-optimize \ - --disable-profile-guided-optimization \ - $(use_enable debug) \ - $(use_enable static-libs static) \ - $(use_enable test tests) -} - -cross_make() { - emake \ - CFLAGS="${BUILD_CFLAGS}" \ - CXXFLAGS="${BUILD_CXXFLAGS}" \ - AR="${BUILD_AR}" \ - CC="${BUILD_CC}" \ - CXX="${BUILD_CXX}" \ - RANLIB="${BUILD_RANLIB}" \ - "$@" -} -src_compile() { - cd "${BUILDDIR}" || die - if tc-is-cross-compiler; then - tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} - cross_make jscpucfg host_jsoplengen host_jskwgen - cross_make -C config nsinstall - mv {,native-}jscpucfg || die - mv {,native-}host_jskwgen || die - mv {,native-}host_jsoplengen || die - mv config/{,native-}nsinstall || die - sed -i \ - -e 's@./jscpucfg@./native-jscpucfg@' \ - -e 's@./host_jskwgen@./native-host_jskwgen@' \ - -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ - Makefile || die - sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die - rm -f config/host_nsinstall.o \ - config/host_pathsub.o \ - host_jskwgen.o \ - host_jsoplengen.o || die - fi - emake -} - -src_test() { - cd "${BUILDDIR}/jsapi-tests" || die - # for bug 415791 - pax-mark mr jsapi-tests - emake check -} - -src_install() { - cd "${BUILDDIR}" || die - emake DESTDIR="${D}" install - # bug 437520 , exclude js shell for small systems - if ! use minimal ; then - dobin shell/js - pax-mark m "${ED}/usr/bin/js" - fi - einstalldocs - - if ! use static-libs; then - # We can't actually disable building of static libraries - # They're used by the tests and in a few other places - find "${D}" -iname '*.a' -delete || die - fi -} diff --git a/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild index 15dda2a24f3a..d724fae56e1f 100644 --- a/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild @@ -4,7 +4,7 @@ EAPI="7" # Patch version -FIREFOX_PATCHSET="firefox-78esr-patches-08.tar.xz" +FIREFOX_PATCHSET="firefox-78esr-patches-09.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz" LLVM_MAX_SLOT=11 @@ -60,7 +60,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ppc64 ~s390 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ppc64 ~s390 x86" SLOT="78" LICENSE="MPL-2.0" diff --git a/dev-lang/spidermonkey/spidermonkey-78.8.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.8.0.ebuild new file mode 100644 index 000000000000..4825c1654e62 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-78.8.0.ebuild @@ -0,0 +1,446 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +# Patch version +FIREFOX_PATCHSET="firefox-78esr-patches-10.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz" + +LLVM_MAX_SLOT=11 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" + +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~s390 ~x86" + +SLOT="78" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + >=virtual/rust-1.41.0 + virtual/pkgconfig + || ( + ( + sys-devel/llvm:11 + clang? ( + sys-devel/clang:11 + lto? ( =sys-devel/lld-11* ) + ) + ) + ( + sys-devel/llvm:10 + clang? ( + sys-devel/clang:10 + lto? ( =sys-devel/lld-10* ) + ) + ) + ( + sys-devel/llvm:9 + clang? ( + sys-devel/clang:9 + lto? ( =sys-devel/lld-9* ) + ) + ) + ) + lto? ( + !clang? ( sys-devel/binutils[gold] ) + )" + +CDEPEND=">=dev-libs/icu-67.1:= + >=dev-libs/nspr-4.25 + sys-libs/readline:0= + >=sys-libs/zlib-1.2.3" + +DEPEND="${CDEPEND} + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" + +RDEPEND="${CDEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use lto ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="7600M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="7600M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die + eautoconf +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + --disable-jemalloc + --disable-optimize + --disable-strip + --enable-readline + --enable-shared-js + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + myeconfargs+=( --enable-rust-simd ) + fi + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + myeconfargs+=( --enable-lto ) + + if use clang ; then + myeconfargs+=( --enable-linker=lld ) + else + myeconfargs+=( --enable-linker=gold ) + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + if tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + local -a KNOWN_TESTFAILURES + KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js ) + KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js ) + KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js ) + KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js ) + KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js ) + KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js ) + KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js ) + KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js ) + + if use x86 ; then + KNOWN_TESTFAILURES+=( non262/Date/timeclip.js ) + KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js ) + KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js ) + KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js ) + fi + + if [[ $(tc-endian) == "big" ]] ; then + KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js ) + fi + + echo "" > "${T}"/known_failures.list || die + + local KNOWN_TESTFAILURE + for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do + echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list + done + + PYTHONPATH="${S}/tests/lib" \ + ${PYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + KNOWN_TESTFAILURES=() + + echo "" > "${T}"/known_failures.list || die + + for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do + echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list + done + + PYTHONPATH="${S}/tests/lib" \ + ${PYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/squirrel/metadata.xml b/dev-lang/squirrel/metadata.xml index cc06c944a210..545ff4a4044f 100644 --- a/dev-lang/squirrel/metadata.xml +++ b/dev-lang/squirrel/metadata.xml @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>slyfox@gentoo.org</email> - <name>Sergei Trofimovich</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">squirrel</remote-id> - <remote-id type="github">albertodemichelis/squirrel</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="person"> + <email>slyfox@gentoo.org</email> + <name>Sergei Trofimovich</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">squirrel</remote-id> + <remote-id type="github">albertodemichelis/squirrel</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/srf/metadata.xml b/dev-lang/srf/metadata.xml index d1565625819d..d43421db9c13 100644 --- a/dev-lang/srf/metadata.xml +++ b/dev-lang/srf/metadata.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> -<longdescription lang="en"> + <longdescription lang="en"> srf (Simple Recursive Functions) interprets a very simple programming language similar to Stephen Kleene's recursive functions. You can use srf to help understand recursive functions, or Peano arithmetic. </longdescription> -</pkgmetadata> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/swi-prolog/metadata.xml b/dev-lang/swi-prolog/metadata.xml index cf43740db6e7..e1611a27233d 100644 --- a/dev-lang/swi-prolog/metadata.xml +++ b/dev-lang/swi-prolog/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -<use> - <flag name="archive">Use libarchive for extension packs</flag> - <flag name="uuid">Use ossp-uuid for UUID pack</flag> - <flag name="yaml">Use libyaml for YAML pack</flag> -</use> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <use> + <flag name="archive">Use libarchive for extension packs</flag> + <flag name="uuid">Use ossp-uuid for UUID pack</flag> + <flag name="yaml">Use libyaml for YAML pack</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/swig/metadata.xml b/dev-lang/swig/metadata.xml index 6037d8308532..ac0af4e4fdda 100644 --- a/dev-lang/swig/metadata.xml +++ b/dev-lang/swig/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>scheme@gentoo.org</email> - <name>Gentoo Scheme Project</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="project"> + <email>scheme@gentoo.org</email> + <name>Gentoo Scheme Project</name> + </maintainer> + <longdescription lang="en"> SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of languages including common scripting languages such as Perl, Python, @@ -14,11 +14,12 @@ several interpreted and compiled Scheme implementations (Chicken, Guile, MzScheme) are supported. </longdescription> - <use> - <flag name="ccache">build ccache-swig(a fast compiler cache)</flag> - </use> - <upstream> - <remote-id type="github">swig/swig</remote-id> - <remote-id type="sourceforge">swig</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">swig/swig</remote-id> + <remote-id type="sourceforge">swig</remote-id> + </upstream> + <use> + <flag name="ccache">build ccache-swig(a fast compiler cache)</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/tcc/metadata.xml b/dev-lang/tcc/metadata.xml index 4f503c94254e..c12734bbfd78 100644 --- a/dev-lang/tcc/metadata.xml +++ b/dev-lang/tcc/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>dlan@gentoo.org</email> - <name>Yixun Lan</name> - </maintainer> -</pkgmetadata> + <maintainer type="person"> + <email>dlan@gentoo.org</email> + <name>Yixun Lan</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/tcc/tcc-9999.ebuild b/dev-lang/tcc/tcc-9999.ebuild index 4c61d36c9431..2858d4c7f2fb 100644 --- a/dev-lang/tcc/tcc-9999.ebuild +++ b/dev-lang/tcc/tcc-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -8,7 +8,6 @@ HOMEPAGE="https://bellard.org/tcc/" if [[ $PV == *9999* ]]; then EGIT_REPO_URI="https://repo.or.cz/r/tinycc.git" - KEYWORDS="" SRC_URI="" scm_eclass=git-r3 else diff --git a/dev-lang/tcl/metadata.xml b/dev-lang/tcl/metadata.xml index cd751414a99b..39fdd1399816 100644 --- a/dev-lang/tcl/metadata.xml +++ b/dev-lang/tcl/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>tcltk@gentoo.org</email> - <name>TCL/TK Herd.</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">tcl</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>tcltk@gentoo.org</email> + <name>TCL/TK Herd.</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">tcl</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/teyjus/metadata.xml b/dev-lang/teyjus/metadata.xml index 472f7ac2b56a..76f1ab8e36ca 100644 --- a/dev-lang/teyjus/metadata.xml +++ b/dev-lang/teyjus/metadata.xml @@ -1,11 +1,11 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>gienah@gentoo.org</email> - <name>Mark Wright</name> - </maintainer> - <longdescription lang="en"> + <maintainer type="person"> + <email>gienah@gentoo.org</email> + <name>Mark Wright</name> + </maintainer> + <longdescription lang="en"> The Teyjus system is an efficient implementation of the higher-order logic programming language Lambda Prolog. The main strength of Lambda Prolog, a language developed by Dale Miller and Gopalan Nadathur, is @@ -26,7 +26,8 @@ Xiaochu Qi as part of her doctoral dissertation work at the University of Minnesota. This virtual machine extensively exploits a special form of higher-order unification known as pattern unification. </longdescription> - <upstream> - <remote-id type="github">teyjus/teyjus</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">teyjus/teyjus</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/tk/metadata.xml b/dev-lang/tk/metadata.xml index ec2fb390faa4..9da6341b7fb6 100644 --- a/dev-lang/tk/metadata.xml +++ b/dev-lang/tk/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>tcltk@gentoo.org</email> - <name>Gentoo Tcltk Project</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">tcl</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>tcltk@gentoo.org</email> + <name>Gentoo Tcltk Project</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">tcl</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/tuprolog/metadata.xml b/dev-lang/tuprolog/metadata.xml index fe29a2cf16ab..02062986d643 100644 --- a/dev-lang/tuprolog/metadata.xml +++ b/dev-lang/tuprolog/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">tuprolog</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">tuprolog</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/vala/metadata.xml b/dev-lang/vala/metadata.xml index a6cf4ba175a4..0018ce6cec86 100644 --- a/dev-lang/vala/metadata.xml +++ b/dev-lang/vala/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>gnome@gentoo.org</email> - <name>Gentoo GNOME Desktop</name> - </maintainer> - <use> - <flag name="valadoc">Installs valadoc documentation generation tool</flag> - </use> -</pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + + <use> + <flag name="valadoc">Installs valadoc documentation generation tool</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/vala/vala-0.36.20.ebuild b/dev-lang/vala/vala-0.36.20.ebuild index f4c64cea1459..7eed0b4d5307 100644 --- a/dev-lang/vala/vala-0.36.20.ebuild +++ b/dev-lang/vala/vala-0.36.20.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -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 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.40.20.ebuild b/dev-lang/vala/vala-0.40.20.ebuild index e38c24e44f45..07b8e08051f4 100644 --- a/dev-lang/vala/vala-0.40.20.ebuild +++ b/dev-lang/vala/vala-0.40.20.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -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 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.40.23.ebuild b/dev-lang/vala/vala-0.40.23.ebuild index f0b64e970c76..07b8e08051f4 100644 --- a/dev-lang/vala/vala-0.40.23.ebuild +++ b/dev-lang/vala/vala-0.40.23.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 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.44.11.ebuild b/dev-lang/vala/vala-0.44.11.ebuild index ad3b31d0343f..a45edae6d298 100644 --- a/dev-lang/vala/vala-0.44.11.ebuild +++ b/dev-lang/vala/vala-0.44.11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.44" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.46.10.ebuild b/dev-lang/vala/vala-0.46.10.ebuild index b1b925c97f91..34568945839d 100644 --- a/dev-lang/vala/vala-0.46.10.ebuild +++ b/dev-lang/vala/vala-0.46.10.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.46" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.46.13.ebuild b/dev-lang/vala/vala-0.46.13.ebuild index b6264069e4ac..34568945839d 100644 --- a/dev-lang/vala/vala-0.46.13.ebuild +++ b/dev-lang/vala/vala-0.46.13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.46" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.48.6.ebuild b/dev-lang/vala/vala-0.48.6.ebuild index ee886530ce85..20f1897d7cd3 100644 --- a/dev-lang/vala/vala-0.48.6.ebuild +++ b/dev-lang/vala/vala-0.48.6.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.48" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.48.9.ebuild b/dev-lang/vala/vala-0.48.9.ebuild index 4aab4255e294..20f1897d7cd3 100644 --- a/dev-lang/vala/vala-0.48.9.ebuild +++ b/dev-lang/vala/vala-0.48.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.48" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/whitespace/metadata.xml b/dev-lang/whitespace/metadata.xml index b7878815d80d..3d015d9cde4c 100644 --- a/dev-lang/whitespace/metadata.xml +++ b/dev-lang/whitespace/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>haskell@gentoo.org</email> - <name>Gentoo Haskell</name> - </maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/xsb/metadata.xml b/dev-lang/xsb/metadata.xml index cabb7385917b..38908e18b37a 100644 --- a/dev-lang/xsb/metadata.xml +++ b/dev-lang/xsb/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">xsb</remote-id> - </upstream> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">xsb</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/yap/metadata.xml b/dev-lang/yap/metadata.xml index ee1b7050451c..7b7fd7788110 100644 --- a/dev-lang/yap/metadata.xml +++ b/dev-lang/yap/metadata.xml @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>prolog@gentoo.org</email> - <name>Prolog</name> -</maintainer> -<use> - <flag name="R">Enable support for connecting R to Prolog</flag> - <flag name="raptor">Enable support for Raptor RDF syntax libarary</flag> -</use> -</pkgmetadata> + <maintainer type="project"> + <email>prolog@gentoo.org</email> + <name>Prolog</name> + </maintainer> + + <use> + <flag name="R">Enable support for connecting R to Prolog</flag> + <flag name="raptor">Enable support for Raptor RDF syntax libarary</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/yasm/metadata.xml b/dev-lang/yasm/metadata.xml index d50bc759d0bb..8e20998bf65e 100644 --- a/dev-lang/yasm/metadata.xml +++ b/dev-lang/yasm/metadata.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> - </maintainer> -</pkgmetadata> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-lang/zig/metadata.xml b/dev-lang/zig/metadata.xml index 486ff3e79f03..a71f578c0850 100644 --- a/dev-lang/zig/metadata.xml +++ b/dev-lang/zig/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <use> - <flag name="experimental">Enable builds that do not support all of LLVM's target architectures</flag> - </use> - <upstream> - <remote-id type="github">ziglang/zig</remote-id> - </upstream> -</pkgmetadata> + <upstream> + <remote-id type="github">ziglang/zig</remote-id> + </upstream> + <use> + <flag name="experimental">Enable builds that do not support all of LLVM's target architectures</flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file |
