summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin18014 -> 18015 bytes
-rw-r--r--dev-lang/R/Manifest2
-rw-r--r--dev-lang/R/R-3.5.3.ebuild205
-rw-r--r--dev-lang/clojure/Manifest2
-rw-r--r--dev-lang/clojure/clojure-1.10.0.ebuild48
-rw-r--r--dev-lang/crystal/Manifest4
-rw-r--r--dev-lang/crystal/crystal-0.28.0.ebuild123
-rw-r--r--dev-lang/duktape/Manifest6
-rw-r--r--dev-lang/duktape/duktape-2.1.1.ebuild6
-rw-r--r--dev-lang/duktape/duktape-2.2.0.ebuild6
-rw-r--r--dev-lang/duktape/duktape-2.2.1.ebuild6
-rw-r--r--dev-lang/elixir/Manifest10
-rw-r--r--dev-lang/elixir/elixir-1.4.5.ebuild4
-rw-r--r--dev-lang/elixir/elixir-1.6.6.ebuild4
-rw-r--r--dev-lang/elixir/elixir-1.7.4.ebuild4
-rw-r--r--dev-lang/elixir/elixir-1.8.0.ebuild2
-rw-r--r--dev-lang/elixir/elixir-1.8.1.ebuild2
-rw-r--r--dev-lang/gnat-gpl/Manifest8
-rw-r--r--dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch31
-rw-r--r--dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch31
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild4
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2017.ebuild5
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild192
-rw-r--r--dev-lang/go/Manifest14
-rw-r--r--dev-lang/go/go-1.11.7.ebuild238
-rw-r--r--dev-lang/go/go-1.11.8.ebuild238
-rw-r--r--dev-lang/go/go-1.11.9.ebuild241
-rw-r--r--dev-lang/go/go-1.12.2.ebuild238
-rw-r--r--dev-lang/go/go-1.12.3.ebuild238
-rw-r--r--dev-lang/go/go-1.12.4.ebuild241
-rw-r--r--dev-lang/go/go-9999.ebuild5
-rw-r--r--dev-lang/hy/Manifest14
-rw-r--r--dev-lang/hy/hy-0.10.1.ebuild4
-rw-r--r--dev-lang/hy/hy-0.11.1.ebuild4
-rw-r--r--dev-lang/hy/hy-0.12.0.ebuild4
-rw-r--r--dev-lang/hy/hy-0.12.1.ebuild4
-rw-r--r--dev-lang/hy/hy-0.13.0.ebuild4
-rw-r--r--dev-lang/hy/hy-0.13.1.ebuild4
-rw-r--r--dev-lang/hy/hy-0.14.0.ebuild4
-rw-r--r--dev-lang/mercury-extras/Manifest4
-rw-r--r--dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild4
-rw-r--r--dev-lang/mono-basic/Manifest6
-rw-r--r--dev-lang/mono-basic/metadata.xml10
-rw-r--r--dev-lang/mono-basic/mono-basic-4.6-r1.ebuild16
-rw-r--r--dev-lang/mono-basic/mono-basic-4.6-r2.ebuild18
-rw-r--r--dev-lang/mono-basic/mono-basic-4.7.ebuild16
-rw-r--r--dev-lang/mono/Manifest2
-rw-r--r--dev-lang/mono/mono-5.20.1.19.ebuild108
-rw-r--r--dev-lang/mozart-stdlib/Manifest3
-rw-r--r--dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r1.ebuild6
-rw-r--r--dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r2.ebuild35
-rw-r--r--dev-lang/mozart/Manifest3
-rw-r--r--dev-lang/mozart/mozart-1.4.0-r3.ebuild8
-rw-r--r--dev-lang/mozart/mozart-1.4.0-r4.ebuild126
-rw-r--r--dev-lang/opendylan-bin/Manifest3
-rw-r--r--dev-lang/opendylan-bin/opendylan-bin-2019.1.ebuild34
-rw-r--r--dev-lang/orc/Manifest2
-rw-r--r--dev-lang/orc/orc-0.4.29.ebuild75
-rw-r--r--dev-lang/perl/Manifest11
-rw-r--r--dev-lang/perl/files/perl-5.28.0-dirhandle.patch99
-rw-r--r--dev-lang/perl/perl-5.28.0-r1.ebuild (renamed from dev-lang/perl/perl-5.26.1-r2.ebuild)83
-rw-r--r--dev-lang/perl/perl-5.28.2.ebuild (renamed from dev-lang/perl/perl-5.26.1-r1.ebuild)92
-rw-r--r--dev-lang/perl/perl-5.28.9999.ebuild7
-rw-r--r--dev-lang/php/Manifest2
-rw-r--r--dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch121
-rw-r--r--dev-lang/php/files/php-7.3.2-fix-iptcembed-bug77546.patch127
-rw-r--r--dev-lang/polyml/Manifest5
-rw-r--r--dev-lang/polyml/files/polyml-5.6-ffi3.patch18
-rw-r--r--dev-lang/polyml/polyml-5.6.ebuild6
-rw-r--r--dev-lang/polyml/polyml-5.8.ebuild58
-rw-r--r--dev-lang/python/Manifest7
-rw-r--r--dev-lang/python/files/3.4-getentropy-linux.patch40
-rw-r--r--dev-lang/python/files/python-3.4.5-cross.patch11
-rw-r--r--dev-lang/python/python-3.4.10.ebuild363
-rw-r--r--dev-lang/python/python-3.4.8.ebuild359
-rw-r--r--dev-lang/ruby/Manifest4
-rw-r--r--dev-lang/ruby/ruby-2.4.5.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.6.3.ebuild237
-rw-r--r--dev-lang/rust-bin/Manifest28
-rw-r--r--dev-lang/rust-bin/rust-bin-1.34.0-r1.ebuild160
-rw-r--r--dev-lang/rust-bin/rust-bin-1.34.1.ebuild171
-rw-r--r--dev-lang/rust/Manifest20
-rw-r--r--dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch41
-rw-r--r--dev-lang/rust/files/1.34.0-doc-build-fix.patch442
-rw-r--r--dev-lang/rust/files/1.34.0-libressl.patch29
-rw-r--r--dev-lang/rust/rust-1.34.0-r2.ebuild330
-rw-r--r--dev-lang/rust/rust-1.34.1.ebuild330
-rw-r--r--dev-lang/spidermonkey/Manifest4
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r1.ebuild2
-rw-r--r--dev-lang/swi-prolog/Manifest6
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.1.2.ebuild99
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.1.3.ebuild99
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.1.4.ebuild99
-rw-r--r--dev-lang/tcc/Manifest4
-rw-r--r--dev-lang/tcc/metadata.xml14
-rw-r--r--dev-lang/tcc/tcc-0.9.26-r1.ebuild66
-rw-r--r--dev-lang/tcc/tcc-0.9.26-r2.ebuild63
-rw-r--r--dev-lang/vala/Manifest18
-rw-r--r--dev-lang/vala/vala-0.32.1.ebuild33
-rw-r--r--dev-lang/vala/vala-0.34.16.ebuild33
-rw-r--r--dev-lang/vala/vala-0.36.18.ebuild2
-rw-r--r--dev-lang/vala/vala-0.36.19.ebuild (renamed from dev-lang/vala/vala-0.36.15.ebuild)2
-rw-r--r--dev-lang/vala/vala-0.40.14.ebuild2
-rw-r--r--dev-lang/vala/vala-0.40.15.ebuild53
-rw-r--r--dev-lang/vala/vala-0.42.7.ebuild (renamed from dev-lang/vala/vala-0.42.6.ebuild)0
106 files changed, 5035 insertions, 1448 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 8f0d2701e94b..0332dac9f3d7 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest
index d5bf39a65475..0597db3fc89d 100644
--- a/dev-lang/R/Manifest
+++ b/dev-lang/R/Manifest
@@ -9,9 +9,11 @@ DIST R-3.2.2.tar.gz 29772864 BLAKE2B f3f7ff9b9bd3cf685712e8997dd5a511a47e56ed261
DIST R-3.3.2.tar.gz 29440670 BLAKE2B 37308fb0caf19c33196b496d5b6f2f1b5b6f75e3ed985f2f0c4b0633d6191181de7f4cbd1ec986d76089a101d8895493cfe3b8563cfbc36f0b72a1ea14c748c5 SHA512 06a98687c0b180cb0bfd57440ea26088212d9f48948d503136475bf54b42d72cfec5bea7e333c0cedd60733bd614dd0f8c2eced7e24478b6c89f48e8d0c43482
DIST R-3.4.1.tar.gz 30200109 BLAKE2B 03602e9a48759caee8ce047fa6273df7a54af089de4489e21953c0e3fc7bfdf720d924f1e0167d3dbf65f63ed42ac10dea8b45289b921cda1c0e6d25a0063ebb SHA512 19bd50c87dc001ef947c15c1760f27ac8986ff6b43c6d90d3093ae184e42963027ef06faf31ec57ac9e519af7a35a2f53f8ea23ef75d800ebbd02945cedc4651
DIST R-3.5.1.tar.gz 29812849 BLAKE2B 9390934e5da5bd223eee717d4e4c5bd7d47291811318b2fdeac59216081cf9e63119f17bc8fee7235e2426852c50eb5948e6a2a3a632047f41b36460e2584967 SHA512 382cc6e200469dd168799948edcf3a0b869d7ef3b3176fdfc60752f3f37e6ba356323c47d8815a4d9ab6ad3a21cd045d26ef5e75107c8685328e0ffcfd172f7f
+DIST R-3.5.3.tar.gz 30205979 BLAKE2B 60dde4c1a7874df0b113630577d943d581d9e0844383a5cb7eda7f62470177d541704a888c33ded216f8b1f088cda493d7716693f5e2451effe3639ce2286dd1 SHA512 077cbd4bc9f19a3a2485afbd4d8e08e0754ddcb9a10164cbc8478f239d5ed0ffaf6796929f154cce1c8aea549c32d460049fc036dc326174d1dbb0a1ddb5f5ef
DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06
EBUILD R-3.2.2.ebuild 6029 BLAKE2B 53a91af83eed96a2c47c61ea3505efdb4f3960206bb6c5c39fbd758578b7b3cebc9d154d6a96c9ea9dfedbe851c0b97ff7066bac74ce598f3821730eb880e6e5 SHA512 45d3213900ba5a817867d1143e5f9d3aa2a418452ff7bd80b5ffdd2c8e056d281b85c0fcc222e3b7c11134ddf097503efee2d1ca5e152f17daa1d41026f69a21
EBUILD R-3.3.2.ebuild 6097 BLAKE2B 61e6e9f500d6d5f12f8c97c63a183cd0a54c976a4725675cbe3b29f68ca082c8d18e7927132046a94945a692da132c7ab2822039d07abdeefe99c618c1107773 SHA512 0900d19c06a05baa83ab7fb0f802953aa9caab41bd59347e97dd23f6abb4a4f01af5c133db7a5c39a05d8296dc4cef8a8f8b4247c1967b784857ab0979d18ea3
EBUILD R-3.4.1.ebuild 6305 BLAKE2B 825b0f75bdaa468e635d125f23a19ca694f5fcaf123476811dd4d556ff1126cfea3f0ba0022d6b11d77c2474ef25cbf76442ed33a60fe007798f337a6133194c SHA512 2e6f523d73c6847331f62cd3a1af9b46b67e96c7d610058df0f71c5a0fc49178332a03edc1f499a3c13d1ecf1ab6364e09d2bc8fa94bd8d38700d5489495ca32
EBUILD R-3.5.1.ebuild 6302 BLAKE2B d2b6b0fa24f3f79c807c99bdcbf7f7898096455df955cd8c08ce8d01b78eac86d32d456c1684e0f7bb087778886c0caaf356d0e9437f22050c7f38dc7002be9e SHA512 41ea0238ff7d823519be6f6be57f4026097be3451a92ee344abcc2fcdd98a99e5bb262f97ef21c5896dd46c2ff672f0ce39c178b68a011341c2f4377850486be
+EBUILD R-3.5.3.ebuild 6310 BLAKE2B efde95796be8d70eccbbb6afc85913bb1dbfacaa0784696e60b20b7444910c803d9b00dfb2c56297a80009c421fbc256d76bcadb5ee34a868d318d20a8c6952a SHA512 3267578587e8ab38d2fe5b902e8ff95c254f618efcb1d77e143fff4af9157bcba607c774f784b87e3233912575ea53be04fd8946ae9faee610d5daae3dd849f0
MISC metadata.xml 1140 BLAKE2B 774221eb531b4e80f0650b627b9ce53d9a2daf6342b1f19579d2d046e1c83aa497cc764870406b7ea3cf6cbae899cb6d460af92991d62bc6aea8da026a441822 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1
diff --git a/dev-lang/R/R-3.5.3.ebuild b/dev-lang/R/R-3.5.3.ebuild
new file mode 100644
index 000000000000..39eee89799d1
--- /dev/null
+++ b/dev-lang/R/R-3.5.3.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib toolchain-funcs
+
+# latest git commit for R bash completion: https://github.com/deepayan/rcompletion
+BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6
+
+DESCRIPTION="Language and environment for statistical computing and graphics"
+HOMEPAGE="http://www.r-project.org/"
+SRC_URI="
+ mirror://cran/src/base/R-3/${P}.tar.gz
+ https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion"
+
+LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
+REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
+
+CDEPEND="
+ app-arch/bzip2:0=
+ app-arch/xz-utils:0=
+ app-text/ghostscript-gpl
+ >=dev-libs/libpcre-8.35:3=
+ net-libs/libtirpc
+ net-misc/curl
+ virtual/blas:0
+ || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath )
+ cairo? ( x11-libs/cairo:0=[X=] x11-libs/pango:0= )
+ icu? ( dev-libs/icu:= )
+ jpeg? ( virtual/jpeg:0 )
+ lapack? ( virtual/lapack:0 )
+ perl? ( dev-lang/perl )
+ png? ( media-libs/libpng:0= )
+ readline? ( sys-libs/readline:0= )
+ tiff? ( media-libs/tiff:0= )
+ tk? ( dev-lang/tk:0= )
+ X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ doc? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsrecommended
+ )"
+
+RDEPEND="${CDEPEND}
+ >=sys-libs/zlib-1.2.5.1-r2:0[minizip]
+ java? ( >=virtual/jre-1.5 )"
+
+RESTRICT="minimal? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.4.1-parallel.patch
+ "${FILESDIR}"/${PN}-3.4.1-rmath-shared.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ if ! tc-check-openmp; then
+ ewarn "OpenMP is not available in your current selected compiler"
+ die "need openmp capable compiler"
+ fi
+ FORTRAN_NEED_OPENMP=1
+ fi
+ fortran-2_pkg_setup
+ filter-ldflags -Wl,-Bdirect -Bdirect
+ # avoid using existing R installation
+ unset R_HOME
+ # Temporary fix for bug #419761
+ if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then
+ append-flags -fno-ipa-cp-clone
+ fi
+}
+
+src_prepare() {
+ default
+
+ # fix packages.html for doc (gentoo bug #205103)
+ sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \
+ -i src/library/tools/R/Rd.R || die
+
+ # fix Rscript path when installed (gentoo bug #221061)
+ sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EROOT%/}/usr/$(get_libdir)/${PN}\"':" \
+ -i src/unix/Makefile.in || die "sed unix Makefile failed"
+
+ # fix HTML links to manual (gentoo bug #273957)
+ sed -e 's:\.\./manual/:manual/:g' \
+ -i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed"
+
+ use lapack && \
+ export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
+
+ if use X; then
+ export R_BROWSER="$(type -p xdg-open)"
+ export R_PDFVIEWER="$(type -p xdg-open)"
+ fi
+ use perl && \
+ export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}"
+
+ # don't search /usr/local
+ sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die
+ # Fix for Darwin (OS X)
+ if use prefix; then
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \
+ -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \
+ -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \
+ -e "/SHLIB_EXT/s/\.so/.dylib/" \
+ -i configure.ac || die
+ # sort of "undo" 2.14.1-rmath-shared.patch
+ sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \
+ -i src/nmath/standalone/Makefile.in || die
+ else
+ append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib"
+ fi
+ fi
+ AT_M4DIR=m4
+ eautoreconf
+}
+
+src_configure() {
+ # --with-system-tre \
+ # tre is patched from upstream
+ econf \
+ --enable-byte-compiled-packages \
+ --enable-R-shlib \
+ --disable-R-framework \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ rdocdir="${EPREFIX}/usr/share/doc/${PF}" \
+ $(use_enable java) \
+ $(use_enable nls) \
+ $(use_enable openmp) \
+ $(use_enable profile R-profiling) \
+ $(use_enable profile memory-profiling) \
+ $(use_enable static-libs static) \
+ $(use_enable static-libs R-static-lib) \
+ $(use_with cairo) \
+ $(use_with icu ICU) \
+ $(use_with jpeg jpeglib) \
+ $(use_with lapack) \
+ $(use_with !minimal recommended-packages) \
+ $(use_with png libpng) \
+ $(use_with readline) \
+ $(use_with tiff libtiff) \
+ $(use_with tk tcltk) \
+ $(use_with tk tk-config "${EPREFIX}"/usr/$(get_libdir)/tkConfig.sh) \
+ $(use_with tk tcl-config "${EPREFIX}"/usr/$(get_libdir)/tclConfig.sh) \
+ $(use_with X x)
+}
+
+src_compile() {
+ export VARTEXFONTS="${T}/fonts"
+ emake AR="$(tc-getAR)"
+ emake -C src/nmath/standalone \
+ shared $(use static-libs && echo static) AR="$(tc-getAR)"
+ use doc && emake info pdf
+}
+
+src_install() {
+ default
+ emake -j1 -C src/nmath/standalone DESTDIR="${D}" install
+
+ if use doc; then
+ emake DESTDIR="${D}" install-info install-pdf
+ dosym ../manual /usr/share/doc/${PF}/html/manual
+ fi
+
+ cat > 99R <<-EOF
+ LDPATH=${EROOT%/}/usr/$(get_libdir)/${PN}/lib
+ R_HOME=${EROOT%/}/usr/$(get_libdir)/${PN}
+ EOF
+ doenvd 99R
+ newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN}
+ # The buildsystem has a different understanding of install_names than
+ # we require. Since it builds modules like shared objects (wrong), many
+ # objects (all modules) get an incorrect install_name. Fixing the build
+ # system here is not really trivial.
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local mod
+ pushd "${ED}"/usr/$(get_libdir)/R > /dev/null
+ for mod in $(find . -name "*.dylib") ; do
+ mod=${mod#./}
+ install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" \
+ "${mod}"
+ done
+ popd > /dev/null
+ fi
+ docompress -x /usr/share/doc/${PF}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,NEWS.rds}
+}
+
+pkg_postinst() {
+ if use java; then
+ einfo "Re-initializing java paths for ${P}"
+ R CMD javareconf
+ fi
+}
diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest
index 79cc7537f7d5..a85f7bfdea29 100644
--- a/dev-lang/clojure/Manifest
+++ b/dev-lang/clojure/Manifest
@@ -1,5 +1,7 @@
+DIST clojure-1.10.0.tar.gz 678715 BLAKE2B 8f69a327e94e173864b3d8b81e92ab716c70be9fa59bbd836889cb75a8d44518a3aa2a8fbec50a04f2e7d1afdb07ffef2f7069077e22ef91f321c5fb122d2bb9 SHA512 d53d2322662974d2eed97d7870f0f91822de8acb91e30b50b0dca4186ee667c46b2b5863e080d89e3bfe63d090c6ac2e25617f74d1434bae2ca1e73ae9a36012
DIST clojure-1.8.0.tar.gz 627688 BLAKE2B 7dc3029e38e574cd32c74cce1f3ae03890869023d5fb2e8138f2fdc4461b3f9e119c4b6042e2b7caee9561b664b49cbaf79378ef1fdd0fd78c4d712c3b9d95de SHA512 fa5714397e679f77260db054bdc0891a311e7bd14bfceb2dd0494480fb9cf21fc74dd295e75070105ff0cdd50842390a748d8782397c549f51d85d18d54a1231
DIST clojure-1.9.0.tar.gz 641645 BLAKE2B 767241c7f252a2977511adf257b1805f81a96594cff2b1b9837c782cfaabd49ae8e6eef30398e7e277952124e843967ac635985da97e2e7c5cc98ec177f3d79c SHA512 8877c654f6aa8ad990593e69b611388659973e5d1d46cf8f6cfae59c4033424a3c7eebd477539784cbd7974f7ff30580f76d8a4117414491f38e18ac3b4efb27
+EBUILD clojure-1.10.0.ebuild 968 BLAKE2B cd857a4c34c65daeadc8d5a793591c467b259de314ecd54e72bca834abd0644dbea8a0ad1ab383f24631c78c5ef54f3324656b0242c500f137f8e3c4f489a5ac SHA512 34199215a92da5199f1297d17d39a5b123a9f28633b521e076cae8e20ed2f833d3fe9bc88b4ccaaf044f65aa59fd6a5dd6c64c0dcb5bbee8e8a0dd986db7cc6b
EBUILD clojure-1.8.0.ebuild 779 BLAKE2B d415833f59ac76342dda84f41eab55785639c30f18ac16bf023f535563d6d6ea3b103909624fe907d718d73de94f2b199568faa85140c6239873572ba716c1e6 SHA512 2f7c5c20f310e935de6e00961f14a1cf4ab15b8645cd92fc596595aa343abe24f5979eabe3e2572f5aa0a3834c953d834f76662846686f671200904bce3e9154
EBUILD clojure-1.9.0-r1.ebuild 1063 BLAKE2B cad11c72f38e52e491f93609e37d57246044612a0a80c21a8cb41d2010e6191dc07a5a197b55f24397188355cf7d0a33215494e16f81681fae326529bfa90f5d SHA512 fddec1f4d3f3ec275dea4bd0187e26bdc0ae447c723a1b0e7b72625b513dd414b5fdde6ba65032da7f1b83886ce10bb58f78232d7cc836024e0b76fb505b888f
MISC metadata.xml 252 BLAKE2B 738fe12dbc3869c6805e9f90ec607615f0ef13904c794e181e80fca986675cfe884cdbae333fe4837f8bec0f25235ad5d1c223ccd4f01e3355b4f261abe3767c SHA512 471e24b868f43f66916b081b0f2b7995830020f886a33f177a10556a60f824decfe63fc5128e5184b9edc2e157d3f022cb1913303b3cffe4aa9233025843b9dd
diff --git a/dev-lang/clojure/clojure-1.10.0.ebuild b/dev-lang/clojure/clojure-1.10.0.ebuild
new file mode 100644
index 000000000000..1df71774d54e
--- /dev/null
+++ b/dev-lang/clojure/clojure-1.10.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+JAVA_PKG_IUSE="test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="General-purpose programming language with an emphasis on functional programming"
+HOMEPAGE="https://clojure.org/"
+SRC_URI="https://github.com/clojure/clojure/tarball/${P} -> ${P}.tar.gz"
+
+LICENSE="EPL-1.0 Apache-2.0 BSD"
+SLOT="1.10"
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+RESTRICT="test" # patches welcome to fix the test
+
+CDEPEND="
+ dev-java/ant-core:0
+ dev-java/maven-bin:3.6"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.8"
+
+S="${WORKDIR}/clojure-clojure-76b87a6"
+
+DOCS=( changes.md CONTRIBUTING.md readme.txt )
+
+src_compile() {
+ ./antsetup.sh || die "antsetup.sh failed"
+ eant -f build.xml jar
+}
+
+src_test() {
+ eant -f build.xml test
+}
+
+src_install() {
+ java-pkg_newjar "${PN}.jar"
+ java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
+ einstalldocs
+}
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 4f5650e1cdf8..4c871f8b784e 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -30,6 +30,9 @@ DIST crystal-0.27.0-1-linux-x86_64.tar.gz 37933811 BLAKE2B 76bb57b556f14ae8ce219
DIST crystal-0.27.0.tar.gz 2025777 BLAKE2B 0a5cc02a516586b033c65efd8e28a13ac0ed67fddbd1a1f0a88a484dff825bec8f6b03b16938c750e99e0c7c1c12a3fd3fc87e61d038b25b7707e0e7f2913fae SHA512 02b0e1d43d699d1dd91f4b979c8ab8909264e5f1fcc344f6110bebb808c0ee764a943368cce9d33a258adb9631ed4f445e1f771d5a9e50fcd337fc8b319616cf
DIST crystal-0.27.1.tar.gz 2061304 BLAKE2B 1776525925a25f72cf83f1a6076ab8b2bf1602c9d8c6a1fff8869c200faa35de008655f046ff60fb3733c8c3577f3544184080ee39acedfde006b9fd63d6c844 SHA512 8c6dd9489aff5d4b3e119ef6f531a3248c20f3da97c44dd3febe551adc67f5d87aa4f7679cbcc0dcde0374f3f5a3c523da6dff32a7ac95a9db1406102e980822
DIST crystal-0.27.2.tar.gz 2061466 BLAKE2B 49f4d2c33412589e7ea131460508a8716d10285d6e248d4e6f9287acc559a864737af2317f2a50332b68704d9d0bf6d3e4d13ad5e5a66e433dbbdd1bc8e523bc SHA512 dcb5948f373d4a7b17e6bdd45697a43e86ec7eb38bdafaade982df9adacbc5a24f2b08f327e41b853bb8f6ec8272411d14defee4e510c430c5dd1370afca42ae
+DIST crystal-0.28.0-1-linux-i686.tar.gz 31888259 BLAKE2B a2f72a5e05abbcc7f4a6003f22ad059e07de59660f114d8e5d0fa225ac51d2465174c41cc81dd7c561f52832ffd9203a0a1cf5606e8633e36fcecd3899463775 SHA512 bc0fcb199abacc068e907f0e8fc8feeecfda4e5312201b4a6af96e76730df3130f6d9f40141c3182c9e99c0600455124cb33ef60194fb4e47ea3826d7090e755
+DIST crystal-0.28.0-1-linux-x86_64.tar.gz 30088308 BLAKE2B e12b0cc9aa5ef354e0f06423a8d3be54ba42eee358cdfd7c6632d5ea08c2ed7e441eb4e162224cf8780bd3ba33e02916f1a7d061a48577d8a4d0eed4578723b3 SHA512 13b7b889ee6d17b905375883baa883fc4d631f6a22c2399aafba1020142e96072670f46584264445b531ece87c6f4b3e89367c62b0c2587c119dd6242ec06762
+DIST crystal-0.28.0.tar.gz 2108702 BLAKE2B 75b743c65ae2063ecbcff7514a3fac53ecc0e25866dd91a34368bdb1bf2a72e9b8e9b6c8325f1b0589693efa78c93bd246f1e764569307519375f7d7429bea55 SHA512 ea0d0938fa90db1b8e395e1daf777c36be5366046c1df7764409e14cf490b4e5f502c62a567e1cf1375684fac58afb71ccc39a5d5974eb29ef9bb5be59fa0a10
EBUILD crystal-0.24.2.ebuild 2374 BLAKE2B 62f5e228fc38ad340d2e77ee1817410a5ef418405a09ba42c52f6067e5d303cb6836694ecb5b2d59b2cc00022ead788109a98ac6a124356d72783f926526c2fc SHA512 5812f5e4174c3320601684f3ac2ef235eb4aca4dee5632fc243839e8c61fa1c738086db17f840b68300887244ea6232d5d990725c1d85021d1a934c8a0560e92
EBUILD crystal-0.25.0.ebuild 2369 BLAKE2B 2146aba6dedff0c3fcbcd8d018c8c15906eb7050e9cea358fe2c70de8f1a76242de583e798c39769e6a89832403a6c5eda8b50bfd882889c9a80a638919482e9 SHA512 48a19dd3c5bd501dbb00b44f4eb2e3d934e835bac4361f2f1dab9aab2812aa40a8e19b6838db006ee4735cdf09d720206120b730fcd7af79e1745866a7422ff7
EBUILD crystal-0.26.0.ebuild 2437 BLAKE2B a2ef50459ec827303b1ffcda38110b096e42252f85364b0199bcf2d9f64747b51ad72a35ff54d1ad48ac442a912a5db34f825dbae3e96db1f38f6b14d19dd281 SHA512 ac9c8d35211d41be615cf7a9c46181b4b83334d2da975cd621ee0480665c8130d18299d3d62f45bf60b95c35a02c6c0e1aff51a14e1967a7d9228c2107c987b8
@@ -37,4 +40,5 @@ EBUILD crystal-0.26.1.ebuild 2696 BLAKE2B 820ed8d2957bd9b9863115318d3041f3428adf
EBUILD crystal-0.27.0.ebuild 3125 BLAKE2B ec1bcc46d303723566f9c90d8532483b1de2113ba7d105f7d6b8d413f23261feb61b6a46dc0a6bb461d4d436f8175f6f2576fb97a2d154852a434819f66164c3 SHA512 1e7a4ed435535b1479f7bf972258159a264275e43c300b2864ef96601bebd9a5772f26f70e1c04fac13766cc984786030e8d7cafbca313972484c3f132e2f2c8
EBUILD crystal-0.27.1.ebuild 3062 BLAKE2B da693c76e1948477b0b1c630017c263363c2269b833e525c6d35a3722600ad282c4a0bf198fc3e36827a19d1b9ce67bc1273f2a9d1495ff09111d69eaef988ec SHA512 7cdab42df495f2944a79384744f99da21c9f6fb6c7acb154cc1e34065db8fa7dff7dc0364e859f09601a62c95ebcdc6885a0920e4214b6b43f062809e066c674
EBUILD crystal-0.27.2.ebuild 3110 BLAKE2B 34c672cb96386852cd05db8e7b2c7df70080af78165be5c7bb18e9003d98f035e0ee88e5534f5e751d3efd1ddd415deaa43aaae05353248fe489db37813d0b3d SHA512 05fc51ef67d0b1fc7e34ac4aeb7bd74e9d48441acf4fa69a078f6235ef5945a7e500b9822d41ae8102bb4c77d6f6b6f03b0a7d9738ea02e136f89946c3ffa7d7
+EBUILD crystal-0.28.0.ebuild 3111 BLAKE2B 395b3d382c1578834daef033e091e6f1f2491e8a4df611c1913bba4cc5cefec2c6a5b3981f972e9545358db47e2dbc40fa8a9bac3914389b8b4d2f98a0c5de34 SHA512 1b33728ebab77a8e32016f4415515cd453874ac8504b0cf14d27143a3e8aa8d69c9835f5640e49f1667b229ba9567ecdc75ca95d93052c40c4a2de7800062394
MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02
diff --git a/dev-lang/crystal/crystal-0.28.0.ebuild b/dev-lang/crystal/crystal-0.28.0.ebuild
new file mode 100644
index 000000000000..fa78117f9c56
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.28.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=0.28.0-1
+BV_AMD64=${BV}-linux-x86_64
+BV_X86=${BV}-linux-i686
+
+DESCRIPTION="The Crystal Programming Language"
+HOMEPAGE="https://crystal-lang.org"
+SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
+ amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
+ x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
+
+RESTRICT=test # not stable for day-to-day runs
+
+# Not compatible with llvm-7
+LLVM_MAX_SLOT=6
+
+# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
+DEPEND="
+ sys-devel/llvm:${LLVM_MAX_SLOT}
+ dev-libs/boehm-gc[static-libs,threads]
+ dev-libs/libatomic_ops
+ dev-libs/libevent
+ dev-libs/libpcre
+ sys-libs/libunwind
+ dev-libs/pcl
+ dev-libs/gmp:0
+"
+RDEPEND="${DEPEND}
+ xml? ( dev-libs/libxml2 )
+ yaml? ( dev-libs/libyaml )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.27.1-verbose.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
+ "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
+ #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
+ "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
+ "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
+ "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
+)
+
+src_prepare() {
+ default
+
+ use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
+}
+
+src_compile() {
+ local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
+ if [[ ! -d ${bootstrap_path} ]]; then
+ eerror "Binary tarball does not contain expected directory:"
+ die "'${bootstrap_path}' path does not exist."
+ fi
+
+ emake \
+ $(usex debug "" release=1) \
+ progress=true \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ PATH="${bootstrap_path}:${PATH}" \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+ use doc && emake docs
+}
+
+src_test() {
+ # EXTRA_SPEC_FLAGS is useful to debug individual tests
+ # as part of full build:
+ # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
+ emake spec \
+ $(usex debug "" release=1) \
+ progress=true \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ \
+ "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
+}
+
+src_install() {
+ insinto /usr/$(get_libdir)/crystal
+ doins -r src/.
+ dobin .build/crystal
+
+ insinto /usr/share/zsh/site-functions
+ newins etc/completion.zsh _crystal
+
+ use examples && dodoc -r samples
+
+ if use doc ; then
+ docinto api
+ dodoc -r docs/.
+ fi
+
+ newbashcomp etc/completion.bash ${PN}
+}
diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest
index 53a43e476244..1928ebe9cdc3 100644
--- a/dev-lang/duktape/Manifest
+++ b/dev-lang/duktape/Manifest
@@ -2,7 +2,7 @@ AUX duktape.pc 218 BLAKE2B 3864f90f3ec1d77733736e16f99c0bab796502d3306759106357c
DIST duktape-2.1.1.tar.xz 1024568 BLAKE2B 9b8a5ef07052f685233e62a0ffac31c5ca2b41b90a82bd288edb4f7c495457c065dffb162a6b225b2aab48f41758dfca6031efbcf2e4b82fe590abab46465c2d SHA512 51e5146b083b460f005ce93e369aebf9981e33a3e888f3e91fd175b7f018a93981e8f6f9ff9bbd865ad30f1424fcb21c18334450050909cda5f74caf11b25479
DIST duktape-2.2.0.tar.xz 969136 BLAKE2B f0567bec70a5a0055937007dc2891816bda214295f0373dd1039ee82c5c97111c1601fe3b0421690d968b8ce2d1fd0df18b2e3b786daabb5d1327cee5f980cf0 SHA512 6fe67660ad4cfbab37b9048840bd8c42ee9585441c17253e1f17cb06e4527d1413851bc167d8b013990d5cae9f8e6eb4cb6ff80866f55bd8d67b0cf47580be7c
DIST duktape-2.2.1.tar.xz 966496 BLAKE2B fc458035fea9b3c5f26ac538b0ddb19ca0f93b8d20e3d51b3428e72a18797c15e6aeb6111ff05818e54529f199084b2803582d54b19040d16e58462405889449 SHA512 af78a1680cb796e1eedca78264a9c3344cd8149b3c54dc5109f21a0c65ee24097f6f18eceefbf336cda9eda7cb347a0484badfe765f3b93e1c1620b099999f25
-EBUILD duktape-2.1.1.ebuild 981 BLAKE2B 25de184279d1d125eeee0691ba1ab21bbc537602bb8067a799f1682ad61a3e886768f37c4637a356be49c39f5492617c29d6a939db571278ed72a7ab73b3d1c8 SHA512 6d8bdb857de247fad2bee557c7df1fd6422dde70c36313a0ee5efa99ff9fff129b21d944c1a7ba372dd73c9da13013e75483bb08558d3e356679d2722809aba6
-EBUILD duktape-2.2.0.ebuild 981 BLAKE2B 05e9f13ce05e68479f0cf6f4fdd30db7d54724030b8d400ba7df541fa0c74eabae0074dc5cdf63511746c9f8b0277f4d43f2e33059002ef6b7a2dfd1c6845a26 SHA512 df56de8556085d401f0226a745a05deeb2ffc8a6460bb055b7c649fb8bec5a01a650c876c14fe4337a30741dc3dc04b6f64813af1ab4039dd14aad8ad3d8f49b
-EBUILD duktape-2.2.1.ebuild 978 BLAKE2B 8459dfa0fe51b8eb242f23f7267d897f6b400abd39f75e4b67b74254d1aac49f72707ed55d287876ebe053556b1c7ffdc38110c34a169b45adcbae8f37c7252a SHA512 add1db6731ce23552a638d68d029dbd93438b809b9610aaa6247a8b39242a1c26d8632d65db415a2732889b8e1e255952076f7c86cd1384e02972293e9138e69
+EBUILD duktape-2.1.1.ebuild 980 BLAKE2B 1269eaec8defb134e5a7baf4478ef855efbd50763037826db314d7e91703f2e3fc8479923ec0cb0c9062c63e8d867cb8bd4d9937eb776083846efd3d06a97219 SHA512 8c3cddb808fdc353762b946a4128a0e9aae4a1b6025dc7157993988d6c10e094d5ac46a090734bd9a9cfaf3307f3b066c23941e227b87ea3cbd5793d8993138e
+EBUILD duktape-2.2.0.ebuild 980 BLAKE2B 1269eaec8defb134e5a7baf4478ef855efbd50763037826db314d7e91703f2e3fc8479923ec0cb0c9062c63e8d867cb8bd4d9937eb776083846efd3d06a97219 SHA512 8c3cddb808fdc353762b946a4128a0e9aae4a1b6025dc7157993988d6c10e094d5ac46a090734bd9a9cfaf3307f3b066c23941e227b87ea3cbd5793d8993138e
+EBUILD duktape-2.2.1.ebuild 980 BLAKE2B 1269eaec8defb134e5a7baf4478ef855efbd50763037826db314d7e91703f2e3fc8479923ec0cb0c9062c63e8d867cb8bd4d9937eb776083846efd3d06a97219 SHA512 8c3cddb808fdc353762b946a4128a0e9aae4a1b6025dc7157993988d6c10e094d5ac46a090734bd9a9cfaf3307f3b066c23941e227b87ea3cbd5793d8993138e
MISC metadata.xml 477 BLAKE2B 8aa33e556bbac581fbf57393f8ba92e731e03ab91df9c34f442bec4f02f9ce69d455673e5074b037bd1b134653f1c11850b4f20eb0fa282fb0aa22d9e5c8517d SHA512 72024950f8fdb4c54f48cafd73d139c52230108fa9ba032c72a2bc847ec2d760d280879b17fb032ee22e147a4b9dcab5281e69985a157711a9d03c75c55a06c5
diff --git a/dev-lang/duktape/duktape-2.1.1.ebuild b/dev-lang/duktape/duktape-2.1.1.ebuild
index 976fa042698a..311fee357a5a 100644
--- a/dev-lang/duktape/duktape-2.1.1.ebuild
+++ b/dev-lang/duktape/duktape-2.1.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Embeddable Javascript engine"
-HOMEPAGE="http://duktape.org"
-SRC_URI="http://duktape.org/${P}.tar.xz"
+HOMEPAGE="https://duktape.org"
+SRC_URI="https://duktape.org/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-lang/duktape/duktape-2.2.0.ebuild b/dev-lang/duktape/duktape-2.2.0.ebuild
index ca7d7d4b2e18..311fee357a5a 100644
--- a/dev-lang/duktape/duktape-2.2.0.ebuild
+++ b/dev-lang/duktape/duktape-2.2.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Embeddable Javascript engine"
-HOMEPAGE="http://duktape.org"
-SRC_URI="http://duktape.org/${P}.tar.xz"
+HOMEPAGE="https://duktape.org"
+SRC_URI="https://duktape.org/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-lang/duktape/duktape-2.2.1.ebuild b/dev-lang/duktape/duktape-2.2.1.ebuild
index 13e2afcd3471..311fee357a5a 100644
--- a/dev-lang/duktape/duktape-2.2.1.ebuild
+++ b/dev-lang/duktape/duktape-2.2.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Embeddable Javascript engine"
-HOMEPAGE="http://duktape.org"
-SRC_URI="http://duktape.org/${P}.tar.xz"
+HOMEPAGE="https://duktape.org"
+SRC_URI="https://duktape.org/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest
index b17becc1dc6f..3ca6385ebd10 100644
--- a/dev-lang/elixir/Manifest
+++ b/dev-lang/elixir/Manifest
@@ -3,9 +3,9 @@ DIST elixir-1.6.6.tar.gz 2078742 BLAKE2B 4a793ac55db97c1d604d5f0012758d039f4a26e
DIST elixir-1.7.4.tar.gz 2139938 BLAKE2B 8515fbbb89db64efbda8834f2368ee4391a4e0ed042812a059f0d640b0c9028bec330ba192aaec7988d83635bbc25d2a6891236571c3817a76f6477594899b94 SHA512 594e76601e0d6f7eeddfcaa9b76a2e5c66f702a497599fffc5e9255790c18ac5e00b986fc45fd3b90335522f51272bcd4bcf2b9f8951b94eebfb1d56ac7cebc2
DIST elixir-1.8.0.tar.gz 2179052 BLAKE2B 5bbeb9133360509974c874365ceec1f9ee225b19124817f480a4789936d310ee52624eefb58598dc63b6c30c4f8d0ff512b1472656ed8f6c3fc5c2df207b8d0d SHA512 6a917c4499f543a2e2cd33bebb3a2b5a5cbf848ece53eb5bc9625297185d058307024da305d7ae4211086ef172cd6bf1de9fe8cbc7768f34b0fcc5cbf661b433
DIST elixir-1.8.1.tar.gz 2177865 BLAKE2B 2f078849eb7ebd8a5b1ac3e894e6340146a0e72c462a251be529d404128478a4e4c913653e85797a3ced035de38ae4de93b84f65df9b6174206e41e00da9e3dd SHA512 114970707505cbf89f8fa55d5c54989dded7feb39cb3674e88f64e19f1a0680086ae49c856fb76fb7eaf0142fa0a0b81b1d5b9570825e05f083a9c580b0ca017
-EBUILD elixir-1.4.5.ebuild 610 BLAKE2B da40f0452c6571e8c72f1dc85e845ffced68579db1903479d4df21d20447d3d800ebd69ad75da3675213feee30d0438fa868a377d6cba94b365bac14adbd6132 SHA512 a05d132efcde374b0772b17a92cd13ffb78ab4a8d72c4b33c9cee3ab1312df0d1c7621627042895594ab563f75161f55f0382a348867254be4b3706440f77c17
-EBUILD elixir-1.6.6.ebuild 742 BLAKE2B 017a3956c75e57c612a3f3b2836536da678bc189a95092117aee9bc0602df9e1df26c1ddd8f8ac6a95a354c45b4f6511963add65f83e38efcb486699aa978a37 SHA512 fc902f86e10586266e825fb6eb508389d936470377161c19e45ea0e90287c36c53642db605d8e1241b329e47cc487975c2809484ffc87d3f11e29d15a2685824
-EBUILD elixir-1.7.4.ebuild 684 BLAKE2B 5ff4aa8db3b8e43be0c8de1bf6592772bf44e786de3917b7efe86e2eb2a81c7cfc777ebf3a31a7e85117040a86e796e0dc74c5c54386f7822dff38a5f9e8c100 SHA512 1ccf3527ede24d498a22f9cbdee31577ca77922083cff13f63c346ff774e40d7aa9bd0cb6a621e3845c5213614fce6e2b3bcce4db51f17db4a75f34ebb3aed46
-EBUILD elixir-1.8.0.ebuild 684 BLAKE2B d92004a061ccc91a1caeee726f2d81d00ca99d8fd38c381ba1c4c43ea79eb993c7d329837d00f65751b24ab92a63c6890d52aaeacd27ba93481859a60bd62fd4 SHA512 3c70c2a04ea018650ca724799ed46943ed3e7dc3e76c71302abb47e28f0eda3fe386bbaf6e3ce4f4f0ca41cc5ff6dcdd4ba6805ce92d13c201d014d4bbb8c1c3
-EBUILD elixir-1.8.1.ebuild 684 BLAKE2B d92004a061ccc91a1caeee726f2d81d00ca99d8fd38c381ba1c4c43ea79eb993c7d329837d00f65751b24ab92a63c6890d52aaeacd27ba93481859a60bd62fd4 SHA512 3c70c2a04ea018650ca724799ed46943ed3e7dc3e76c71302abb47e28f0eda3fe386bbaf6e3ce4f4f0ca41cc5ff6dcdd4ba6805ce92d13c201d014d4bbb8c1c3
+EBUILD elixir-1.4.5.ebuild 614 BLAKE2B 1d29d2f6ba47804cada038d39347b1b24a0e03fa1bf4d9efd0fe10593dcf7af60f9bc0858ea25a4d889fc4992086d13db193bfcedbb59700e6e2bb1a9b93bb88 SHA512 e35ca3693d2d0c92dc4a4de6327ed7bf8cbeb1d65e82affb9378ce24c6e4b4ae044a7a2ba8094ceaf06a3fac987303aaa73b72b7aa38e7537e0da6f58fa3cbf2
+EBUILD elixir-1.6.6.ebuild 746 BLAKE2B c684140dd07198c8f9594e7ee8b290acdbe34abe989e40a79714c92d002bebfe122c9f2f2111ed55f3c27dff47b0c9d6bd47e82bc3dc01777f942c4e983f056e SHA512 bb58abda1e577b7b966d8acb16b78d02380317ed7f74d4eebd46b78914c83704b3b9b4ee31cb9d1aa3e143d4b8cfddc55353b82b12239dc019a79a23e570ad73
+EBUILD elixir-1.7.4.ebuild 691 BLAKE2B 030f157b651da66aa0b97cc7237e0c7b41edd3ecfaf43cb3028961dc2fffd0654e843d6e7bd7b7f91d0dca65cb34eb469459c71fdfb3a76d133fcb633361d8ee SHA512 aa83013a884153a36d4b2aa818d911ae0b13b295aede5ff8c9d1b496817fb146c4e45652c2a3113e0506f210df116f6438dc1c6a701a86787a552ce02df25b45
+EBUILD elixir-1.8.0.ebuild 691 BLAKE2B 030f157b651da66aa0b97cc7237e0c7b41edd3ecfaf43cb3028961dc2fffd0654e843d6e7bd7b7f91d0dca65cb34eb469459c71fdfb3a76d133fcb633361d8ee SHA512 aa83013a884153a36d4b2aa818d911ae0b13b295aede5ff8c9d1b496817fb146c4e45652c2a3113e0506f210df116f6438dc1c6a701a86787a552ce02df25b45
+EBUILD elixir-1.8.1.ebuild 688 BLAKE2B 924c32ce6b2ff150aa9bdcbf74f7448d167711cc44d81a7757cacb810e7d5ad7862846e13235f48f8e0516345f5db8bfbf2e1be28f6846b830d4b5bf8751d7c7 SHA512 6e2f9206f43b4fdfd11636e573cfbe9146da3a9ef6d87de771d09352b7954fd50e8649774dae1821035cc2522deaf3b32e90fe8f5b77bf05e99dbba77c679ae0
MISC metadata.xml 790 BLAKE2B 33e4a37225c8f5bd142c5cbbe097ad3330f6c5b1115f834c1c20613281bdc0afa0927734ec3b0a2b1da595980abeec2fcf2bb20e725f5701590d1c3629972910 SHA512 5489797d3771c405edb4c9883082f780279470d7821dbdd1a4790bcdc74c0e31327c8f15286dc421bfe426d7371d6be2819e707389f425101e2d0d0577475586
diff --git a/dev-lang/elixir/elixir-1.4.5.ebuild b/dev-lang/elixir/elixir-1.4.5.ebuild
index a00a4c6afd24..741573a67179 100644
--- a/dev-lang/elixir/elixir-1.4.5.ebuild
+++ b/dev-lang/elixir/elixir-1.4.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
IUSE=""
DEPEND=">=dev-lang/erlang-18[ssl]"
diff --git a/dev-lang/elixir/elixir-1.6.6.ebuild b/dev-lang/elixir/elixir-1.6.6.ebuild
index 844bd80c8914..c9b63b817a39 100644
--- a/dev-lang/elixir/elixir-1.6.6.ebuild
+++ b/dev-lang/elixir/elixir-1.6.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
IUSE=""
DEPEND=">=dev-lang/erlang-18[ssl]"
diff --git a/dev-lang/elixir/elixir-1.7.4.ebuild b/dev-lang/elixir/elixir-1.7.4.ebuild
index 55dec41ac77f..e82dfcd159dd 100644
--- a/dev-lang/elixir/elixir-1.7.4.ebuild
+++ b/dev-lang/elixir/elixir-1.7.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
IUSE=""
DEPEND=">=dev-lang/erlang-18[ssl]"
diff --git a/dev-lang/elixir/elixir-1.8.0.ebuild b/dev-lang/elixir/elixir-1.8.0.ebuild
index 197157b5e5b3..e82dfcd159dd 100644
--- a/dev-lang/elixir/elixir-1.8.0.ebuild
+++ b/dev-lang/elixir/elixir-1.8.0.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
IUSE=""
DEPEND=">=dev-lang/erlang-18[ssl]"
diff --git a/dev-lang/elixir/elixir-1.8.1.ebuild b/dev-lang/elixir/elixir-1.8.1.ebuild
index 197157b5e5b3..ed43f171a3cd 100644
--- a/dev-lang/elixir/elixir-1.8.1.ebuild
+++ b/dev-lang/elixir/elixir-1.8.1.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
IUSE=""
DEPEND=">=dev-lang/erlang-18[ssl]"
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 95709217af43..434aaa808b79 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -9,7 +9,9 @@ AUX gnat-gpl-2016-bootstrap.patch 2698 BLAKE2B 2fe9519590f0870aa201d550e027eaec3
AUX gnat-gpl-2016-finalization.patch 8125 BLAKE2B dae1c3f3bc98c6d4e56388888576487af5df0aab3d68bd30b991e9a87d49411592acbab989739c02b27a5789087d8913a0b8ab1764ce01e7709f9838e42232a2 SHA512 b304cebf1461fb50dc9a3e3e7a87f25474d7e10e483226bef6c1de576f0f59d83e2f0a048fab17c3772865770b34f3e7f67ec70f5cd60ea2db4314d7f6d45e6b
AUX gnat-gpl-2016-gentoo.patch 2811 BLAKE2B 495e66d5fb3c184be946269a9f360bfaf8dc2b6b38449a74a7ec61ac9c1c3790833480f1f9614e8e152d9fab45366c7284747c3f05891c77812aa14248671644 SHA512 ba147b3cb4374eb3c8fe530b92a5ffa564170d8df26dc455a48dae3ec92ca0fee9525cb67229855b34c8b8d48a985a083f7ea70ec2b4d13f652296f04c03e4a0
AUX gnat-gpl-2016-profile.patch 5593 BLAKE2B fe874e0543be671a9ede195c3cb01b9902357df4b412eaf3bf300bf032abd6e0a26fe2fd0dc0e71528ce9a6e454b83d9621a437c9efab629086f354eb1b3ff9f SHA512 ea45d2fcf98f4859676afb01439639e54e30cced8dbaf12fd9562dd805bd35ed2711a618834fe3acc8ad855386e58c9aeed007d046e300b60bbe6155d07386b7
+AUX gnat-gpl-2016-ustat.patch 1389 BLAKE2B a52707196c5caa9e025a900adfd8109d28a9382a65d6dfadf31e36037e0f26322bc560466837185d4930a0dcfa35d198c8256b0d6dfac87652a16351250a70ea SHA512 32c2b3dbdc291bcecad926a496923e81451d649e74cb0f2d69231ce7f38061e6ddde0ee5c7769c70015532070fc312f8801572157736aa7683973e6d1877863c
AUX gnat-gpl-2017-gentoo.patch 4510 BLAKE2B 468059269978e5bbf85d09f2d4086c5fade1f7cdb4c14e9a12b596a96b3cf93e0bf894cf77ef2f81dd56b3aa2e7dc65c8642f7b688ec7cf8514152051e33564f SHA512 48ed94e3e5a2473f98ac6877640f64fc5e5a705a95e0c92a2d19b6a77597e49e77ed409af15302fba0c2403b38c13847c6eeb1f4626f57bc3c128f542dfaa893
+AUX gnat-gpl-2017-ustat.patch 1363 BLAKE2B c5b8fb511e84e7df9db96754e5f966d08626c300cdb6de0b124a69e0c9c32158a19669e60bbc649ead0f2ce85c3c6ae8bb5aae11297d164d0c2bce618ea43881 SHA512 4c71913303b8e2bcaeded7303be198b9aa898968da365e6e2a41b555ab144485a55b57ad9949f5c7c07c400fa577795f2b7219006ce553ab6ed3109cca74d67a
AUX gnat-gpl-2018-gentoo.patch 634 BLAKE2B 949911111848fd4834de4b3a0d93d6f617b4ae05f9911564a01ab377c5715dfe21ec33c94c5d52815ad2a636809ce01b617cd8a2f132783b084bafc6c4265ead SHA512 f4a541780b6d00af32d38b71ce6a39516aff9c2df15429c40d297ebba03ab148786aa0f1218b90aedb36eb36a9c4a490b52883e3830a5e58bfc5d22987c00ece
DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517
@@ -23,6 +25,7 @@ DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 BLAKE2B e3c298bd80b83e72d6ea9b4ec777d4f2
DIST gcc-6.3.0.tar.bz2 99903185 BLAKE2B 3dc1e965afcad665d659fbb953978ef297ddbdd4d8918d36b35e977f8a2786b986f6875af2f12c599cc827b2b725d8b79ac021c9b51fb1d6d274318a59aa182c SHA512 234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78
DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33
DIST gcc-7.3.0-patches-1.6.tar.bz2 11313 BLAKE2B cdb823d73a66949cd73f9ebff50cf1cdbb59f04b439a700c239110d36982d70c8acd219402ce8aea26f848d5067856d9aa54470ea683678bbfe9fe08a9f592d1 SHA512 7670deb57e07a83a05f54d962c0faa36d91d8cf43f9f023d3231983e98768d9f90f2a3c9a95f69853086012474fc336bc47fc4af4ab9337b69c89415ce61c1c4
+DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345
DIST gcc-7.3.0.tar.xz 62462388 BLAKE2B dc8f132b21bd0543c3d9dd17557038aafe65675aa73c540954234a3c972b4c31c939149bd50183d072ab6c8d16919e19daeaaffd619ce2ccd62dbdf9a5bb3302 SHA512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4
DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd
DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a
@@ -32,7 +35,8 @@ DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688
DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8
DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a96945670104064671a232c0c12271ee141a3a5d148b8507bdab83cb8a0677c57b78e690060088308c51732bad3715964f SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098
DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e
-EBUILD gnat-gpl-2016-r3.ebuild 5843 BLAKE2B c7878a2fc6f24724039124ea8167e4b6709f7897772cdf181d8b868deb25df7a106a4b0d22f52d008ec340f67471cb25e4522f0282140d1fa1294d2e98bdd4c1 SHA512 bd955748b1648c9e3ab446e560a9696efc10e7d185d1e90835bb01da5b5d18b658acec76a4f84e45e09de0d148c5b83a2048849bd42536270599fa21dd92adac
-EBUILD gnat-gpl-2017.ebuild 4916 BLAKE2B 63c46822894529952dec8f45723b09e590c69269bfc4b3408dc6d720fa72b574956aa3e2a8adc51c400baf02414454d3153022e59cb69ebb4c5c9214fefcc40f SHA512 3d7d6b8fac5e9d0be36df050451a959437796d63f30a678d756af7e9aa5a036d13d2a25a2dcbd16aee799c44cb41ade35ca5771a43dc779ec74d341cd835d99b
+EBUILD gnat-gpl-2016-r3.ebuild 5905 BLAKE2B 421c328830738c064bc1fa5654b82eac90f2abf0204b6699f01721de5f1446c3cb988288e73c338aad5ece6616ce067e9e7e1ff15116a472a0946555b4e31ed8 SHA512 62d29d412290e76a491f24330878dc17cbeb92ddda8693f1ce4bd240947d3e0d3361e05b4973f8b91ff4f1fa06f48f63ea6baa89675782b0363d267a2ff4bda8
+EBUILD gnat-gpl-2017.ebuild 4976 BLAKE2B d1bbf049cc17f778a3d0260fb2394898085415ca87fa59a5f1c349b4c3b62bb5a049214057ae76c75bae57df9f5ed6bd59fd55bf816a4e6a1683a90964b644e5 SHA512 3dbb26da721729e5c65ba905ddc41e8993feaa928546124a0079118435013555b9afd9422f2029ff6ed84ab613e5587c98b5a58d19a691cfe12c73a46cf130a8
EBUILD gnat-gpl-2018-r1.ebuild 4999 BLAKE2B 3c9bfaaeab7166d326a87301baee8c151462726fcf61af58dbd9921cbfc5dafa78205c0169e2a54f14a568ce1d958980b2d20113daa65ce10cc7a60328ed0d1b SHA512 4daba04ee89a83dbebb325955dd47c54468fd5a33c56370be432553b47a0fd27df408d62b70af4321bad69b9e51463d4e6cfba7f24480704bf4c6b30d01c971a
+EBUILD gnat-gpl-2018-r2.ebuild 5028 BLAKE2B 9bfb2bedb7722c3546d75b98537c99eec45631b5848071756c57e7bb6356ea4af01bd4a26d5d97e3695654a76c109efe660e151e4dc01e01f09bd99cb0b286e6 SHA512 4cb31eeb0346b71d43df23230c69bda628b4ea860e14c08aece33de37af803ee6e7392776eb5c59145d10c57e80adb595e1a81f5f64a9401638fac59559c2578
MISC metadata.xml 1928 BLAKE2B b1caee350b6656a838a0f83698760edfa7f53d0715a3ce18f443c5bef26827ccf9a858a918a8822b89a2fa70e34cb282ddcd9f0746691a0f10cbda4b368ac1ac SHA512 bd0b8cb4961903f004fb2d5fdd260e6b15936730148d192edf4e59b04c5f1dc991940069edc02b38f859ad1470e16e028c122403043a4f99ba7af753085867fd
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch
new file mode 100644
index 000000000000..ee0d22dcc9fd
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch
@@ -0,0 +1,31 @@
+--- a/gcc-4.9-gpl-2016-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:53:11.382114157 +0200
++++ b/gcc-4.9-gpl-2016-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:57:10.725037767 +0200
+@@ -81,7 +81,6 @@
+ #include <sys/statvfs.h>
+ #include <sys/timex.h>
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -163,7 +162,19 @@
+ unsigned struct_old_utsname_sz = sizeof(struct old_utsname);
+ unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname);
+ unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+- unsigned struct_ustat_sz = sizeof(struct ustat);
++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++ // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++ || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++ || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ #endif // SANITIZER_LINUX
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
new file mode 100644
index 000000000000..505c23b03a01
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
@@ -0,0 +1,31 @@
+--- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:53:11.382114157 +0200
++++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:57:10.725037767 +0200
+@@ -150,7 +150,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -243,7 +242,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+- unsigned struct_ustat_sz = sizeof(struct ustat);
++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++ // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++ || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++ || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+ unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
index b9eabc786360..86322c8996a0 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -146,6 +146,8 @@ src_prepare() {
epatch "${FILESDIR}/${P}-finalization.patch"
# add profile for gnat_util compatibility
epatch "${FILESDIR}/${P}-profile.patch"
+ # fix missing ustat.h
+ epatch "${FILESDIR}/${P}-ustat.patch"
toolchain_src_prepare
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
index bdcc9a45caf9..92ca34365050 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -125,6 +125,9 @@ src_prepare() {
-e 's:$(P) ::g' \
gcc/ada/gcc-interface/Makefile.in \
|| die "sed failed"
+ # fix missing ustat.h
+ epatch "${FILESDIR}/${P}-ustat.patch"
+
toolchain_src_prepare
}
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild
new file mode 100644
index 000000000000..68a8127b6a55
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2018-r2.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.8"
+
+TOOLCHAIN_GCC_PV=7.3.0
+GCC_CONFIG_VER=7.3.1
+
+inherit eutils toolchain-funcs toolchain
+
+REL=7
+MYP=gcc-${REL}-gpl-${PV}-src
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI+="
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa5
+ -> ${P}-src.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa7
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa6
+ -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz
+ bootstrap? (
+ amd64? (
+ http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+ ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
+ ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+LICENSE+=" GPL-2 GPL-3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bootstrap"
+
+RDEPEND="!sys-devel/gcc:${GCC_CONFIG_VER}"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.13 )
+ >=sys-devel/binutils-2.20"
+
+S="${WORKDIR}"/${MYP}
+PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
+
+pkg_setup() {
+ toolchain_pkg_setup
+
+ if use amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
+ else
+ GCC=${ADA:-$(tc-getCC)}
+ fi
+
+ gnatbase=$(basename ${GCC})
+ gnatpath=$(dirname ${GCC})
+
+ GNATMAKE=${gnatbase/gcc/gnatmake}
+ if [[ ${gnatpath} != "." ]] ; then
+ GNATMAKE="${gnatpath}/${GNATMAKE}"
+ fi
+}
+
+src_unpack() {
+ if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
+ eerror "You need a gcc compiler that provides the Ada Compiler:"
+ eerror "1) use gcc-config to select the right compiler or"
+ eerror "2) set the bootstrap use flag"
+ die "ada compiler not available"
+ fi
+
+ GCC_A_FAKEIT="
+ ${P}-src.tar.gz
+ ${MYP}.tar.gz
+ gcc-interface-${REL}-gpl-${PV}-src.tar.gz"
+ if use bootstrap; then
+ GCC_A_FAKEIT="${GCC_A_FAKEIT} ${BTSTRP}.tar.gz"
+ fi
+
+ toolchain_src_unpack
+ if use bootstrap; then
+ rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die
+ fi
+}
+
+src_prepare() {
+ CC=${GCC}
+ CXX="${gnatbase/gcc/g++}"
+ GNATBIND="${gnatbase/gcc/gnatbind}"
+ GNATLINK="${gnatbase/gcc/gnatlink}"
+ GNATLS="${gnatbase/gcc/gnatls}"
+ if [[ ${gnatpath} != "." ]] ; then
+ CXX="${gnatpath}/${CXX}"
+ GNATBIND="${gnatpath}/${GNATBIND}"
+ GNATLINK="${gnatpath}/${GNATLINK}"
+ GNATLS="${gnatpath}/${GNATLS}"
+ fi
+ mkdir bin || die
+ ln -s $(which ${GCC}) bin/gcc || die
+ ln -s $(which ${CXX}) bin/g++ || die
+ ln -s $(which ${GNATMAKE}) bin/gnatmake || die
+ ln -s $(which ${GNATBIND}) bin/gnatbind || die
+ ln -s $(which ${GNATLINK}) bin/gnatlink || die
+ ln -s $(which ${GNATLS}) bin/gnatls || die
+
+ cd ..
+ mv ${P}-src/src/ada ${MYP}/gcc/ || die
+ mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ rm patch/91_all_bmi-i386-PR-target-81763.patch || die
+ rm patch/93_all_copy-constructible-fix.patch || die
+ rm patch/95*.patch || die
+ rm patch/98*.patch || die
+ cd -
+ sed -i \
+ -e 's:$(P) ::g' \
+ gcc/ada/gcc-interface/Makefile.in \
+ || die "sed failed"
+ toolchain_src_prepare
+}
+
+src_configure() {
+ export PATH=${PWD}/bin:${PATH}
+ local trueGCC_BRANCH_VER=${GCC_BRANCH_VER}
+ GCC_BRANCH_VER=$(gcc-version)
+ downgrade_arch_flags
+ GCC_BRANCH_VER=${trueGCC_BRANCH_VER}
+ toolchain_src_configure \
+ --enable-languages=ada \
+ --disable-libada
+}
+
+src_compile() {
+ unset ADAFLAGS
+ toolchain_src_compile
+ gcc_do_make "-C gcc gnatlib-shared"
+ ln -s gcc ../build/prev-gcc || die
+ ln -s ${CHOST} ../build/prev-${CHOST} || die
+ gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+ toolchain_src_install
+ cd "${D}"${BINPATH}
+ for x in gnat*; do
+ # For some reason, g77 gets made instead of ${CTARGET}-g77...
+ # this should take care of that
+ if [[ -f ${x} ]] ; then
+ # In case they're hardlinks, clear out the target first
+ # otherwise the mv below will complain.
+ rm -f ${CTARGET}-${x}
+ mv ${x} ${CTARGET}-${x}
+ fi
+
+ if [[ -f ${CTARGET}-${x} ]] ; then
+ if ! is_crosscompile ; then
+ ln -sf ${CTARGET}-${x} ${x}
+ dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ /usr/bin/${x}-${GCC_CONFIG_VER}
+ fi
+ # Create versioned symlinks
+ dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ /usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER}
+ fi
+
+ if [[ -f ${CTARGET}-${x}-${GCC_CONFIG_VER} ]] ; then
+ rm -f ${CTARGET}-${x}-${GCC_CONFIG_VER}
+ ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_CONFIG_VER}
+ fi
+ done
+}
+
+pkg_postinst () {
+ toolchain_pkg_postinst
+ einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
+ einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
+ einfo "Even if the c/c++ compilers are using almost the same patched"
+ einfo "source as the sys-devel/gcc package its use is not extensively"
+ einfo "tested, and not supported for updating your system, except for ada"
+ einfo "related packages"
+}
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 764537aa4176..7e50b1c4611c 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -10,8 +10,20 @@ DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8
DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a
DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d
DIST go1.11.6.src.tar.gz 21113406 BLAKE2B e7372e9bf6190295176c66a328b3e31f9201776f16f1165136e24bdaf5c514d7895dd5880514fa054ee958ed5ff96814de9a555e47b3f6dddd388d1e57c0d05f SHA512 bc29df69a08a4e9e703de72b5eda5f2d63b78f18f3e7a1173eae5c6dd767f29f1b865a2fc3f692e15277df2d45e74ee17875b275eb3fc50aac2b88082e618bf5
+DIST go1.11.7.src.tar.gz 21113223 BLAKE2B e58a947a43e8dbabbe6d4dc1384239b01160e4d9cc88ed866c8d6e5a0ef66dd89203b9fb95c14c5fcc50ad47f75b17440cf1df34cb793a435d7744e630845307 SHA512 26bc2a3ab51ebe1179cd83897dae6ca17f30126189bf2c0b60060a25f3f22e72bcda383055825a9151948f074a103a177ab5550f5c2d088448bdf5455448061e
+DIST go1.11.8.src.tar.gz 21113433 BLAKE2B 272ef36664a180640f14afba18d2f715d5a335134b33cea449d14fd3b568c2322bbbac7aab254987fbd7dcf3d486dc8b1f62f14577ae2e57b21de1720d0f29a7 SHA512 00b57b0ebbbf53f4de718bf40e5dfdaf57cafa9932917d22e9723b5a33a62d335013ab49753d98f8fe30c71daca95c7addd921825fe0c3885942b342773050cc
+DIST go1.11.9.src.tar.gz 21113156 BLAKE2B 330ff9456dbffd3254187ea37a1801b9abacbec2033e9afefbf09d0554e640de68861aedb0229199ac81211316c080a7a98bad641a13bc7f106e2a3f0c7e8a05 SHA512 97593b382ae49388dfc1178dd2438888dc24fba27d3267fd772ecbe10c35f44b1cd3a0987219cca3dd38dcc23ce2c9669fd7da26cc2e5719e2ce77650f877156
DIST go1.12.1.src.tar.gz 21963082 BLAKE2B fd9c0ca19e6bd285c52034a88df1a58f96b957483362fac2e0c0f2a9dddde0543e7569d76fb93eff473774d152db361bfe9bdd354d80412c71ee5c4162010346 SHA512 b3fdfb874e6e0e0b50458085724fbd8e8b9be212df3f777b97db340aa3b80f32ee08d646a57a8a7d52ff6f19657d884dd25018c866c6173473aafa20a58f1975
+DIST go1.12.2.src.tar.gz 21965624 BLAKE2B 9f4fbe62b37ccaf62517b2e5df3e1ada0155b7cb79067c2a74100df6d96ba89b0e372b5f1b1037b0cf98ea9f52623de00055793d011e5e39e92773a0cd87e41d SHA512 f7b8ffe8d3de7b456ba595deece5b092db8645e95d901826c33428af0151731921437222dcb5d52c9d937da4ebeb3192c30aa17052aa88c9e425e96cac2d79bb
+DIST go1.12.3.src.tar.gz 21965718 BLAKE2B 226b1028eb47cee8ccc0b72130a098a65211cf0e54030fe626b6b9cf1c16993e0a9677a443c07abd997e0f2bfbc1711c703a40869ae1ecbb8b8dfa0fbf31c0b2 SHA512 bd33e958f2e8550da14afc0576928d00d2b8ecac569ddcf3551e44a342ce78ad3934e36109cbe6c15d31c55448ccc092f6e1fbf82685d6702402ab67106a1424
+DIST go1.12.4.src.tar.gz 21965966 BLAKE2B 6a6d2712769d9195795ca14a7c33a4e025c572317c0a9118f4f610c56f907e0eec99d2ecca37cc6e2005a42b842080d93895d4dfed206f23db32f3b848c9c57f SHA512 45ced5fc23a2786a652dbe66de7bbc039efaba29d884d797d6d0a6eaffb61dfb897905f0733ce74704f8760b1fdedb9963e26c1d9d8dee4a4676e74da5df8792
EBUILD go-1.11.6.ebuild 5963 BLAKE2B 11728beb9ff7ab042631ff558e14e3214b62a3eef6f4f7fd6671877904c8e58046ed9e6be6b91d486002e720a9e175ca7339aac599a41f05dd3d587ed69da179 SHA512 6f7dff5a3ed05a56ecb88121cc94d350b8e9cf8535727e83dac06183dfe8242b1a6bb946491e3ee01232aeb942bd65caac95d2920dd11ba09653a04df15c0a23
+EBUILD go-1.11.7.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a
+EBUILD go-1.11.8.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a
+EBUILD go-1.11.9.ebuild 6087 BLAKE2B 0ef7eb38e338151f82e441dda1576868cdd91cd2e7c868479add5e9e8e92a6431106f9d9b64bb6a4e2c50c505349132422d6b2a8efc799bc5d9069ee5cad2948 SHA512 607189784f3acac77674d99efea42465562a4740d8a32559286b8eb51113c00738db5f211919c4800c1d60313314060e911615e99ab197474ffdff01e637e664
EBUILD go-1.12.1.ebuild 5963 BLAKE2B 11728beb9ff7ab042631ff558e14e3214b62a3eef6f4f7fd6671877904c8e58046ed9e6be6b91d486002e720a9e175ca7339aac599a41f05dd3d587ed69da179 SHA512 6f7dff5a3ed05a56ecb88121cc94d350b8e9cf8535727e83dac06183dfe8242b1a6bb946491e3ee01232aeb942bd65caac95d2920dd11ba09653a04df15c0a23
-EBUILD go-9999.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a
+EBUILD go-1.12.2.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a
+EBUILD go-1.12.3.ebuild 5966 BLAKE2B 3c8cdf22159162824418120e5807e703918d19b4791fdf08b9b7800978b251aecd8da23517149ce88e73cbc23ffed1141afcd10de690eba9b24e52e4302c8505 SHA512 f13b7ae8102a1bf9a7dca556a3405ee1a9b314d36953718cf110f14e3060dadd8b9703096b56f42c98bae7dc18fabfc22f0e128deec8a43af02c4114026d440a
+EBUILD go-1.12.4.ebuild 6087 BLAKE2B 0ef7eb38e338151f82e441dda1576868cdd91cd2e7c868479add5e9e8e92a6431106f9d9b64bb6a4e2c50c505349132422d6b2a8efc799bc5d9069ee5cad2948 SHA512 607189784f3acac77674d99efea42465562a4740d8a32559286b8eb51113c00738db5f211919c4800c1d60313314060e911615e99ab197474ffdff01e637e664
+EBUILD go-9999.ebuild 6089 BLAKE2B 38d7288bbc5cfdf11a6648a0386e600a67564424c782d736fbe4880a13ffd5bfb5eed075a5f6355d0dfb338d4429745b5250af56fab64c9ad9f25dde0f4a87e4 SHA512 8b31e38038d3315f3aea7d0d364f661de247f434dc80abb1feebe3e3418b03c47fbf565384417a4316239991cdb2059c4fe542e4d4c43eb4dd251f53e4e81e6f
MISC metadata.xml 538 BLAKE2B 78502c369a490804b2c69eef864276c2be5d0ee84ec189b6cc8584f8f42668a35f3c74bd25ceb53c469716337cbab908c576ca880c492f5961fedafc74cc346f SHA512 514a441a522218fdca543a22370e965a2bfc1f1f2c37e77431143329bb3d3f4f53e99ad5d7f7d7c61877f77387a777f7b4f339b9a3e45322d01d39d3d0ea1309
diff --git a/dev-lang/go/go-1.11.7.ebuild b/dev-lang/go/go-1.11.7.ebuild
new file mode 100644
index 000000000000..4cb21b53d193
--- /dev/null
+++ b/dev-lang/go/go-1.11.7.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-1.11.8.ebuild b/dev-lang/go/go-1.11.8.ebuild
new file mode 100644
index 000000000000..4cb21b53d193
--- /dev/null
+++ b/dev-lang/go/go-1.11.8.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-1.11.9.ebuild b/dev-lang/go/go-1.11.9.ebuild
new file mode 100644
index 000000000000..8fafeb455ba2
--- /dev/null
+++ b/dev-lang/go/go-1.11.9.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack "go${MY_PV}.src.tar.gz"
+ fi
+ use gccgo ||
+ unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-1.12.2.ebuild b/dev-lang/go/go-1.12.2.ebuild
new file mode 100644
index 000000000000..4cb21b53d193
--- /dev/null
+++ b/dev-lang/go/go-1.12.2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-1.12.3.ebuild b/dev-lang/go/go-1.12.3.ebuild
new file mode 100644
index 000000000000..4cb21b53d193
--- /dev/null
+++ b/dev-lang/go/go-1.12.3.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-1.12.4.ebuild b/dev-lang/go/go-1.12.4.ebuild
new file mode 100644
index 000000000000..8fafeb455ba2
--- /dev/null
+++ b/dev-lang/go/go-1.12.4.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+BOOTSTRAP_VERSION="bootstrap-1.8"
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+BOOTSTRAP_URI="
+ ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
+ ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
+"
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x64-solaris"
+ # The upstream tests fail under portage but pass if the build is
+ # run according to their documentation [1].
+ # I am restricting the tests on released versions until this is
+ # solved.
+ # [1] https://golang.org/issues/18442
+ RESTRICT="test"
+ ;;
+ esac
+esac
+
+# If gccgo is not being used to build Go, there is no way to know the
+# architecture or operating system of the build machine, so we need to
+# download all of our bootstrap archives to allow this ebuild to work
+# under crossdev.
+#
+# https://bugs.gentoo.org/671394
+SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://golang.org"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="gccgo"
+
+BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
+RDEPEND="!<dev-go/go-tools-0_pre20150902"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="
+ usr/lib/go/src/debug/elf/testdata/*.obj
+ usr/lib/go/src/*.gox
+ "
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch()
+{
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm()
+{
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os()
+{
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+pkg_pretend()
+{
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+src_unpack()
+{
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack "go${MY_PV}.src.tar.gz"
+ fi
+ use gccgo ||
+ unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
+}
+
+src_compile()
+{
+ export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
+ if use gccgo; then
+ mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
+ local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
+ [[ -x ${go_binary} ]] || go_binary=$(
+ find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
+ sort -V | tail -n1)
+ [[ -x ${go_binary} ]] ||
+ die "go-$(gcc-major-version): command not found"
+ ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+ fi
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ if [[ ${ARCH} == arm ]]; then
+ export GOARM=$(go_arm)
+ fi
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+src_test()
+{
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+src_install()
+{
+ local bin_path f x
+
+ dodir /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] https://golang.org/issue/2775
+ #
+ # deliberately use cp to retain permissions
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+ einstalldocs
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
+ libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
+ install_name_tool -id "${libmac64}" "${D}${libmac64}"
+ fi
+}
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index 4cb21b53d193..deea6d5a588f 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -157,8 +157,11 @@ src_unpack()
{
if [[ ${PV} = 9999 ]]; then
git-r3_src_unpack
+ else
+ unpack "go${MY_PV}.src.tar.gz"
fi
- default
+ use gccgo ||
+ unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
}
src_compile()
diff --git a/dev-lang/hy/Manifest b/dev-lang/hy/Manifest
index 427dbad7dcf9..997023255400 100644
--- a/dev-lang/hy/Manifest
+++ b/dev-lang/hy/Manifest
@@ -9,12 +9,12 @@ DIST hy-0.13.1.tar.gz 383213 BLAKE2B e002218811cadf8db558284e7124114891c76df334a
DIST hy-0.14.0.tar.gz 403692 BLAKE2B 4d20574151c443e002e365bceecc11b2bdcd7aa294073c58cba4ec8a958534c9f1256848ef57e4d5dd3ec345decaa53db43768a78af542ba8a59ff50489486b1 SHA512 a04da48592058b8ad3e7d2a787149622bfcf61c01a341ccc166c2e25e18ed7616b6567b529cf4f6d80a9cecf44aac175577ebf185c77e941a11a258f8563da9e
DIST hy-0.15.0.tar.gz 411900 BLAKE2B 88a7500ecebacd7995aba1efbabead22ce656b1d6e275c5c726ce9b27746729344adfd35f2dfb4247c6d41101317eecfd98e0379e84f88ffea85bfaef2101797 SHA512 d4a08c7df494c5f9ae9a48e51b642cf8c30850209765fb80304132b57fb1133a839c82945662550d1417f4cae4e15f25da388be180143ed7b28fe8d5129844cc
EBUILD hy-0.10.0.ebuild 807 BLAKE2B 03d4a01ecf3f0446e80ea3e2e925540a9544a5539f558246f6701b2e9fb536b843e9415d4ec525b6d2f2cbc9b619185c930f79d67910d6247a75cb6cf080f2ae SHA512 19341e28a59212b19ac3713773b2f0111b85302b581a0068dbcc433500935f9d8f7289011e4e03211c8fd7ca047aff210236b01be3877f0a4a9c08143b48bc9f
-EBUILD hy-0.10.1.ebuild 817 BLAKE2B 999099c504645da0849beee79a99b8b6f55b55bc25ba7986c2e3f8e72e92c164ddf3acb0fe3d648f172ee40c49ea7b853d0c5d7ba1033a709ff60a430b9d3391 SHA512 673d7dea190c41d50c68e396da6c9c336e5c879c1271aeeac195d9ca5f99d61b04f2fd0c57097283727f2b9318d08f859774de273916249feb89bdd1511f69a3
-EBUILD hy-0.11.1.ebuild 1074 BLAKE2B 020f79c22d1ee7ac106b4514d185f9acd4f633c5c1e7e253b017586b7c47ad50f9a379cf9cb6ac6b544d45371b2002d2c3d1c363654d56f99dbbc0c037971377 SHA512 31ef5c2a2a4b95b2ffa8d42a89ee3cc43bf460bdef00e3d33d264bff824fb04579764363a2b549f27792f556dcfdcbbebb0b261b6d3d08a533ac121bb6995aaf
-EBUILD hy-0.12.0.ebuild 1074 BLAKE2B 4b5dcb068fe68fa368818baae7d432c9699bd43ae2b9fbab889ec73fdde6259cd5de42a883e1aa4c5ea3d052068ae27b15a22084482388a00a5f0466cea17b7c SHA512 d949bb55f82f616ee272dbd82e03699c2b382916728b42b10c91a67aa986a0b116a3ec6b231d840271576c1a753d5e8235da377c9e5723db612255a98e90b832
-EBUILD hy-0.12.1.ebuild 1080 BLAKE2B 54a1eb432f10c82d461cc1568696c17d81ab4bcc985782f93477b6563342eea63226a8c37e0706ed929f9a828dc2f199f13f7e30da79a7983a774ae5a6347000 SHA512 241fae912c048907fccf4a9321a082df4f2c379ecddb64f7747862cefea9a2ca6f65175d585e9720630877c8399583d2f2c42ca44a87ae1bcf5152a81ef28df1
-EBUILD hy-0.13.0.ebuild 1036 BLAKE2B f818641b2cd4792715b677baf83f3e13fc5098774297fbc93f1d8c3a006637fcd8c6db549da65b2debd0fdd242e4ab933c087f13d42a82be33660df38c144ce1 SHA512 9c2605a00ec3ccbdcb6d5a5fde924f9a72b386d126469e38434c2eaccc9791b48a19cb92c2e84b32eadf6d99225d59aacbdc8c809643120fac61fbd85b89a35c
-EBUILD hy-0.13.1.ebuild 1036 BLAKE2B f818641b2cd4792715b677baf83f3e13fc5098774297fbc93f1d8c3a006637fcd8c6db549da65b2debd0fdd242e4ab933c087f13d42a82be33660df38c144ce1 SHA512 9c2605a00ec3ccbdcb6d5a5fde924f9a72b386d126469e38434c2eaccc9791b48a19cb92c2e84b32eadf6d99225d59aacbdc8c809643120fac61fbd85b89a35c
-EBUILD hy-0.14.0.ebuild 967 BLAKE2B 7ae59ec7fdf62805b804f67ed312f69a9bd8f79c868ecb412c274981d414c4e33d404e7c4d90acf8a4e14ec6d0802f3494b67ccdfdda3aafbfe278c4c974abf1 SHA512 aedd6cabbbaa45ef21d135a45f171ae403914e152d04509be1d35c04bb3c495d56225203d636cb401953a32fa234d231f093b33027eab0c8073ad2122ea6cd82
+EBUILD hy-0.10.1.ebuild 804 BLAKE2B 218819a7413a8c2651d9142efcefc0a292d491e9012612ffda5968ad4a0ba1a22cf7e7fa5101cd24963872972213c996eed027c80273deae0f424e089a5ddecf SHA512 19e604e22dc2b9cc09bbb2c069eb5ee398741e897c6c8343c9d33f8ea77085de8772a278179692db8280ae0039e613b328a8ace37885b199468b3e2bb8e7cbe0
+EBUILD hy-0.11.1.ebuild 1067 BLAKE2B 5ffd62ab6ef562192d94c5d8861136adbcbb1c0ac78191f223356fe3786402ae7a119e9708cdbf6a8b9ce960dbdfbf47297348256eef9db44767fbad410981d3 SHA512 297cdeaf66f4f5fc74f0a7bc89f942f93596a74020f253be45dbef5f0462a84d01db858741c5e6d130991a6ec22da233ee905a348f2af5ee099f50f33f6bcdfa
+EBUILD hy-0.12.0.ebuild 1067 BLAKE2B 5ffd62ab6ef562192d94c5d8861136adbcbb1c0ac78191f223356fe3786402ae7a119e9708cdbf6a8b9ce960dbdfbf47297348256eef9db44767fbad410981d3 SHA512 297cdeaf66f4f5fc74f0a7bc89f942f93596a74020f253be45dbef5f0462a84d01db858741c5e6d130991a6ec22da233ee905a348f2af5ee099f50f33f6bcdfa
+EBUILD hy-0.12.1.ebuild 1073 BLAKE2B 9d235d490e930796598b876bd4c8ac019692fdfc6acfad16c7f403623099a56c1a6d57fd35c7e6e249702c1f456d82fdf9416d1be7b77dd65c2461b99106d3d4 SHA512 f1d96e757e37b1151c3f26617107c92fc3f11d6a2f585ee02010ed3faf202513108b1d0d5fe1382a856dea6fcc339b726910c0072a5ffe017c6dfe95f48d1a92
+EBUILD hy-0.13.0.ebuild 1029 BLAKE2B 5666e2a28f9f05ab5e96a2760b058bf846e93714212c59ce31db731ec3a336c8b4313f6fde76aaaa16f779c371c4358a9362fe8cbe46e802546802b282853e05 SHA512 c868bfaed08e27c0489c47b4c9e7a0be5bb9ac98e938cf53b10d0833df9be3a2db371b81c3fef8ed12de7f842641cff30b782b4c755d8642bfe81715db32358e
+EBUILD hy-0.13.1.ebuild 1029 BLAKE2B 5666e2a28f9f05ab5e96a2760b058bf846e93714212c59ce31db731ec3a336c8b4313f6fde76aaaa16f779c371c4358a9362fe8cbe46e802546802b282853e05 SHA512 c868bfaed08e27c0489c47b4c9e7a0be5bb9ac98e938cf53b10d0833df9be3a2db371b81c3fef8ed12de7f842641cff30b782b4c755d8642bfe81715db32358e
+EBUILD hy-0.14.0.ebuild 960 BLAKE2B 81199e92f145174a2b570997e78e82509a56369b81d3538c52d34e4fce561f77df5975ad7f85e2c6c7757866bbcd8173d0e1084a5e37bc9e39146b028ff9548b SHA512 849b75ee4a9a9e25a9c0578af6afac75d79689275c6a6fbc04691c0a581847d19be336f8f11c6f18fcdea01673c087affba9c5dcf1f0d7db3837a7a06f4df905
EBUILD hy-0.15.0.ebuild 1106 BLAKE2B 3612f3d31e1e24e88f02c809cdf6f2696dccfc7446c2d8ac858c9c4494747a28994ab18ca1f0d20c1c01570eed80779c2164cac3b9ea2ee44c6e65853f75c486 SHA512 cc99dd55a60a38e8241f3116e0725a7a0fc9871061f60780e54e679f7d492c93529b0535ca7c95ae4d668dea605622dbeac00522e9005ea389c0b5ab4277a493
MISC metadata.xml 331 BLAKE2B 1377771edc92d3cd1ea685b43816a4ffd6c84d06245f00414df594d9d1aee498ca2a5ede2d92c2f0607fd26127730a8f7e1e6eadf6fd916325967b282e32f092 SHA512 97afa7992933d5088e939afd4005e188fd2979ccf7fc21561561b14e1eecfee61e867288c21b4a396fc5ca4926fd3d62c9d8c5be217b9392a5208371fa3aa719
diff --git a/dev-lang/hy/hy-0.10.1.ebuild b/dev-lang/hy/hy-0.10.1.ebuild
index 8db7f55d0185..860d13e0951a 100644
--- a/dev-lang/hy/hy-0.10.1.ebuild
+++ b/dev-lang/hy/hy-0.10.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python2_7 python3_4)
+PYTHON_COMPAT=(python2_7)
inherit distutils-r1
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.11.1.ebuild b/dev-lang/hy/hy-0.11.1.ebuild
index 409b60389bf9..e03e52c7f871 100644
--- a/dev-lang/hy/hy-0.11.1.ebuild
+++ b/dev-lang/hy/hy-0.11.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5})
+PYTHON_COMPAT=(python{2_7,3_5})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.12.0.ebuild b/dev-lang/hy/hy-0.12.0.ebuild
index bc27ab71eb3c..e03e52c7f871 100644
--- a/dev-lang/hy/hy-0.12.0.ebuild
+++ b/dev-lang/hy/hy-0.12.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5})
+PYTHON_COMPAT=(python{2_7,3_5})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.12.1.ebuild b/dev-lang/hy/hy-0.12.1.ebuild
index 63fcce06bf62..aadb5d9ad33b 100644
--- a/dev-lang/hy/hy-0.12.1.ebuild
+++ b/dev-lang/hy/hy-0.12.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5})
+PYTHON_COMPAT=(python{2_7,3_5})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.13.0.ebuild b/dev-lang/hy/hy-0.13.0.ebuild
index f42227b60a04..767483bf247d 100644
--- a/dev-lang/hy/hy-0.13.0.ebuild
+++ b/dev-lang/hy/hy-0.13.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5})
+PYTHON_COMPAT=(python{2_7,3_5})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.13.1.ebuild b/dev-lang/hy/hy-0.13.1.ebuild
index f42227b60a04..767483bf247d 100644
--- a/dev-lang/hy/hy-0.13.1.ebuild
+++ b/dev-lang/hy/hy-0.13.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5})
+PYTHON_COMPAT=(python{2_7,3_5})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/hy/hy-0.14.0.ebuild b/dev-lang/hy/hy-0.14.0.ebuild
index 151303bbb2e1..c7f7b5a7c07e 100644
--- a/dev-lang/hy/hy-0.14.0.ebuild
+++ b/dev-lang/hy/hy-0.14.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
RESTRICT="test" # needs some pointy sticks. Seriously.
-PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
+PYTHON_COMPAT=(python{2_7,3_5,3_6})
inherit distutils-r1 eutils
DESCRIPTION="A LISP dialect running in python"
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index 76bad2df7673..40a9cb587517 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -1,4 +1,4 @@
-DIST mercury-extras-14.01.1-gentoo-patchset-1.tar.gz 3847 BLAKE2B ce30b98c5cfe96ad67bd6fa5a8d03ebdfe6f4539e39a970ce48eb794b663d7164ae38a619beb4ce85d6cc3a1e3b5a5ee8fa59b6acd00dc6d23670fceac87734e SHA512 2afad01fb778d0e84e8d83a507b37080974840c81408827559df455d8082552131cdbfdae59c77f2f7bc3a643a087f1563c6c67d527f7b0bdef3412385bf4818
+DIST mercury-extras-14.01.1-gentoo-patchset-2.tar.gz 4021 BLAKE2B 6fd5551ec01dd7303a8e1c5661ebec5e33226c1604955f4f69d15e532744584d50bb6cb0e2939c87fd62eb10b1f2f394425ef88cab3e96b81a08a3dcbe695059 SHA512 947ce6fabf661e431f53e4f0a4679eea3ee3fa0c2c585b51cb8b5c9dff98d75697654d5860db3364203e0e657c4d5f68cae1bca469bd0b3f7de9583e97413529
DIST mercury-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c
-EBUILD mercury-extras-14.01.1.ebuild 4599 BLAKE2B ba26033f215cf28b7b2aa28180396fb65e39cd281b08fb4ac877744a6fb97af85f89f7ec0ed3ff2dd10162d5813f1be16f2f6bca5248868a39d72881dfa498d5 SHA512 c451c8d2b49b1eeccfc896d9012d7ab67147767f52c8aae52fda013a8ca26de758d2cc246a1d40d75de08623760b57529f56c2edef5ecaaeaf1bc0dbc5788964
+EBUILD mercury-extras-14.01.1.ebuild 4596 BLAKE2B 2a163c700495577c7698e8adae99df8737eccabfd3ab115bc5a5444d78707adbc0ba903b3c963667cfc16634c28fd1ea6bbbcc71a7f6891ca5b9b00c0fa66716 SHA512 cc87fd4db958301a10901380321e6d4c434ea61919a106c3ec11295bb80d05b216c4c40bd3a06b354d453cf7a82860d20c9caccdd465c14fb838e0de6342122a
MISC metadata.xml 240 BLAKE2B 6b5ab0d76c5748af7bd1800d11864869d7365b8d53e2fd2ec66c1092dd1fdac8461b20c029ffe835357542ca69f789ce867988d64c43019e02fe9e3691f0f9bd SHA512 7cd99ce62ca4f9307fa7dfdbfd0ff9d8ff7485c58cd08cd684065aca4b570f8655587425f6a240453a9e86452de41f26f8b82aa81c023764d0beb47daa1b15d3
diff --git a/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild b/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild
index e8d26a4cb814..cd9279191c5b 100644
--- a/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild
+++ b/dev-lang/mercury-extras/mercury-extras-14.01.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils multilib
-PATCHSET_VER="1"
+PATCHSET_VER="2"
MY_P=mercury-srcdist-${PV}
DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library"
diff --git a/dev-lang/mono-basic/Manifest b/dev-lang/mono-basic/Manifest
index fa7e59e27e4a..09dfb4e81916 100644
--- a/dev-lang/mono-basic/Manifest
+++ b/dev-lang/mono-basic/Manifest
@@ -1,7 +1,3 @@
-DIST mono-basic-4.6.tar.bz2 2051520 BLAKE2B 0fc4961e9beb0894dcc081ecd06abf8a2e1c3d1aa6bb129b72d2c87ab15e9e779c0305f030515b18bd218ac595cd03ebad2fef5403dfc5aeb7a58b8886d085a0 SHA512 a8b50f9fa0d2e7533429722e584f42ee3e3794e1e013a2ca75b616b2b7b8c755dbe0722187b5e0982b9ebb8b5d22310a21fcfd55a6c027ee6eadcc7887e106d9
DIST mono-basic-4.7.tar.bz2 2051806 BLAKE2B 8d8beb26bfc79c5ff648d671fc92d0f15204694ac735d1ab0c375547f7f4a89519f24bc512ecc16ae93455c7c28978ef2112804335a02b9ccb63e537298e11d5 SHA512 c690f81d7af64d1592bc480be230abc93480728288291fe85de5c8b273eb6127d619c3bd02f2acd285b9b055ef4f2970a764b34f49f15e59ed238d01c151c99a
-EBUILD mono-basic-4.6-r1.ebuild 362 BLAKE2B 618f679c8799d411890b6cc04659c483e625cf61fcbb90170f40e836b7dc70f0a43b5e8a74e882c41d6e38da6fae1b702b56bff81479cc889ba4a1ca30278254 SHA512 af3b3f01bf27ee045698b2f5eafbdac6aa38e78880059a484c22e0bf271702a105c26e44d2d045bf318d66886b05c221ca7c05ff4e8a87b9f8ba7d1b0c5daed9
-EBUILD mono-basic-4.6-r2.ebuild 375 BLAKE2B 7ea4e3d10bc03ed640f17bfbc87d07f745a2fae6a86a472eefcce58a7985bad16042b6df1dda5e79e40b84cbb58e31231b644a2dda1991a8b119bc9653220a61 SHA512 57971e4e0ab20b2341edc4f1e444aea60446b7b088b4167831ee5f14fa445258e9605c333908c12fe6909ae867f31c05c2997580d58095bfaf55ba12323d03f5
EBUILD mono-basic-4.7-r1.ebuild 374 BLAKE2B f86e7a246ba83716bfde0c0ab0f21d4c5ebff02218e902205ab469d7ee63e6cc3c70b2037ad23fed8a3a11b17c4a98d285e8d44ec3cfc059952c5f16b0671f97 SHA512 48aac92049d0c33c96ac711de894145874d1911e88d2796c3175891834f63e2ddf2626bb10c6fb11284f14d2e48eac584bf768d2f7b5f60c29b959985cb6eedb
-EBUILD mono-basic-4.7.ebuild 360 BLAKE2B 46c2cc0d9f60948231b3242130f042a2a90517d87ebd27630281a0b239ff0ba316c5ae481f0e3226c2c03516ba1f3ee7230d3a2c00eb73eeeec4d2746a82a3b7 SHA512 8c7955d9e62c3f065dabe59c0a4fa3be3f52fa238f3c8033abd8ff45d882b70dc8f326af304bb44b06996e42bc5127a2c40f809853df743f2d48e51e01fac6d3
-MISC metadata.xml 369 BLAKE2B 99bc89ce5469bce6e867ce73fa66fee3fa41bf2166453c3606b03b1f3879f837c46d41068430e217a7ab4b0d0096650762095ffe5f13382ab055e5815f90ebb1 SHA512 5d49b66d13a6055421fc9e9a180d6d5657e367cfdc6e74a13c16955cc1bfda765605f0ab7c0d7d5f67ce847e09306fef52a2fb621eccdf358e5d21e82129a2b3
+MISC metadata.xml 766 BLAKE2B b020d6001a3d1288f1e9e5821145e47ec1d9e1f459ab5a7b6a5bf74bcba7701668f4e65440c7613fbe211e55429c1220fc79264373c52b553a94783f93ad576a SHA512 3d178db762eed9ab7398087edb52c49ede7b03f0ba34e3198502fb876eac5c0553cbcd7935b9efb2dd05ff63f079bf292db466ce6c49a70e321eabfed2b377fc
diff --git a/dev-lang/mono-basic/metadata.xml b/dev-lang/mono-basic/metadata.xml
index 54d5423c4060..bc520d854aef 100644
--- a/dev-lang/mono-basic/metadata.xml
+++ b/dev-lang/mono-basic/metadata.xml
@@ -9,4 +9,14 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</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>
diff --git a/dev-lang/mono-basic/mono-basic-4.6-r1.ebuild b/dev-lang/mono-basic/mono-basic-4.6-r1.ebuild
deleted file mode 100644
index a8dac49698aa..000000000000
--- a/dev-lang/mono-basic/mono-basic-4.6-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit mono-env
-
-DESCRIPTION="Visual Basic Compiler and Runtime"
-HOMEPAGE="https://www.mono-project.com/docs/about-mono/languages/visualbasic/"
-
-KEYWORDS="-* amd64 ~x86"
-LICENSE="LGPL-2 MIT"
-SLOT="0"
-
-RDEPEND="dev-lang/mono"
-DEPEND="${RDEPEND}"
diff --git a/dev-lang/mono-basic/mono-basic-4.6-r2.ebuild b/dev-lang/mono-basic/mono-basic-4.6-r2.ebuild
deleted file mode 100644
index 5b752c1c6b9e..000000000000
--- a/dev-lang/mono-basic/mono-basic-4.6-r2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit mono-env
-
-DESCRIPTION="Visual Basic Compiler and Runtime"
-HOMEPAGE="https://www.mono-project.com/docs/about-mono/languages/visualbasic/"
-
-KEYWORDS="~amd64 x86"
-LICENSE="LGPL-2 MIT"
-SLOT="0"
-
-RDEPEND="dev-lang/mono"
-DEPEND="${RDEPEND}"
-
-RESTRICT="test"
diff --git a/dev-lang/mono-basic/mono-basic-4.7.ebuild b/dev-lang/mono-basic/mono-basic-4.7.ebuild
deleted file mode 100644
index ec04d4fd795e..000000000000
--- a/dev-lang/mono-basic/mono-basic-4.7.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit mono-env
-
-DESCRIPTION="Visual Basic Compiler and Runtime"
-HOMEPAGE="https://www.mono-project.com/docs/about-mono/languages/visualbasic/"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="LGPL-2 MIT"
-SLOT="0"
-
-RDEPEND="dev-lang/mono"
-DEPEND="${RDEPEND}"
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 765b163d9180..101b1c0a5238 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -8,9 +8,11 @@ DIST mono-4.8.0.524.tar.bz2 87392723 BLAKE2B ac17c3da6d6c08c4cb72c4fa300ded92625
DIST mono-5.14.0.177.tar.bz2 219729440 BLAKE2B c21af7f541e5fcd456faeaf654ded7937da5241feb94b0de464a880915d758791ff7a645dbcb4023e7cced7ab0854bb8da0cc246abc6ab575bb278aa58fdc8c7 SHA512 f13afbe4289e177705642f79f4236710bdc8db8e956782c5370baf22207d6713f7997ec286c7742416c8206d2da205f295437d1afcdc430628d13e32f0e87d2d
DIST mono-5.16.0.220.tar.bz2 231487021 BLAKE2B e5154c5e356bc277a8809471e5bf8a87092224f54f08535d9860229040bdd3fec304404b893ddd36253f58b351e7023ce9649521a0e850fabfefb3e6700473c1 SHA512 f5266b28747dd7735acb047e1d7a3660d9984126e518885babba6cce5b8dd9959134f7b5c6cd79309b4fb1feaf9af9d0015fdbc2d4bd088928a279b5c1dcefb3
DIST mono-5.18.1.0.tar.bz2 246472409 BLAKE2B 15cc6cf3700b52ed36836cc4c7c46c2780bb67659dad95fb552d4e3dd362ec1dae362ef054e3db58adc4262bb3f3b6ea11d53a505e57ccf125865337996440bd SHA512 3df43887751e7f73d516d0e2fe5c412542beaa949727135e3ef1b3e538ca1d8062c55d5394f1c01cece857ed8064b6f37984e46108160fae7623b9d0a48cd380
+DIST mono-5.20.1.19.tar.bz2 246790204 BLAKE2B 02e2f60394470a2dd24822b956a84fca78153d5c700118591d26f25c5a471204ed5d0220f8a3d894ab9f85b07f7af751dbe27831a75001546b42d6533b1cefa7 SHA512 498fffc70c524cf21477196b6fdc3c5d03a719098c0a0ca40c29e239588675ddc0538659e4119171316f8f35555fcd42390d474dff0b795bf67188bc34a35ae0
EBUILD mono-4.4.1.0.ebuild 3384 BLAKE2B fd16089b151c1666ceda7d05285fa8a10143a4157e46b75a3412b42dec80c0929f9ba8d9523ac65b64fb827ea8d1ad88fbe98a5e7d0d12423b970912d0ae50e4 SHA512 6c9c9ce5e19a33e4dbc1b0cdb2d17804a67eed5061e422358c971de5a2eb95b2848c4515312a4b082087c50040c1e7f9c687a134ca30354d8f4bde796432b126
EBUILD mono-4.8.0.524.ebuild 3025 BLAKE2B e076a2771ffe50f999905f2565e741edc24c5e5b7998a92b528011cc9d03aa0cf0decfc538e9acba41afc7afb42e6486da29353940f4bef467288a5ca2e22998 SHA512 73c6b525881aa71e829214fc3ba05aa172942e3a441d79903af39b385e12eb31cae7083972a69a6bc1e29af98c5fa4828a7d96dc3c8564fca8daa01204ff8a5a
EBUILD mono-5.14.0.177.ebuild 2968 BLAKE2B 17e110b05811a8c82cda8a5931cfdee4c4cb9b00ec86c4a5c8e4c205ab20743c8e61876822055e3ba065d9ee9d29595cf08cedcb7a87f4b53468b408c1a3f7d7 SHA512 2385767fee4277490ac3be828baf8c09c99534658ea708e025cdaa43830a36df3c96f5b4a089ac9a9026ab9c4989cf6379b93330ffe29ce1b5beac7198fb5047
EBUILD mono-5.16.0.220.ebuild 3022 BLAKE2B 4596e60c26b9ea401f6322319a61e4a8faaa0245ab43db186102285497cf4a6864dfcf375f1e722664a049cbbe6ec52e4c84e720f63e8585d2f8c06841c906d5 SHA512 396f4e8a6f2d1b3ea4c960fb0fd571b919734b92b940364fef75f4b1f60a69d9604f089d91c88adddd243718dcd14e92c6e803d58f737a58dbb69293b89651f7
EBUILD mono-5.18.1.0.ebuild 2791 BLAKE2B 953c99cf90884c4103fb02b73888f4ea03643aee3becdbbaaa40eb960fcb7fefed5b9fe06b395d1ff7a237915ab534a4ee2cf9127dcc47153f23a69e9a1f092f SHA512 ec90f06ac470c152ef215578fced5dc6ad0b3f542d07500f2152e88581c20c827b4307f6acf2841de4d2a9a802e8a4d3bb66f2ad236d60271b7640a8cc8ee2df
+EBUILD mono-5.20.1.19.ebuild 2981 BLAKE2B 2d664d8798884909c708ea6dfe2cd5b91255a74e61a4d7451d42329c317b2031a37cff2d0671b4c73f34ce9f3255d34f7b7051b858c07c373ee41cb8e846c226 SHA512 5d38862e7ae993331c209060334b53ddd8d68eff32ad179d9d70f42170fcf0d2cd8ac78f5082338b6d9bd18824625fbb6ea5f117703bb6661814ea509c44f2c6
MISC metadata.xml 507 BLAKE2B 91655de22fc1ff309c36ecef9d77aa8cada0b8f13ae30677665de837e99b7b43622a1dc0c677b0f5455c06b8e8a295c3c4f39753f66e749163a4f002ee481016 SHA512 e072a1abbf66276b0d139c3e918593010312c2059a0c6feba7b324689cdf90efe28bef0286ad9888125acfdd1fed2dee3e05e79a0aeb7f9ec1809bd128cf8a20
diff --git a/dev-lang/mono/mono-5.20.1.19.ebuild b/dev-lang/mono/mono-5.20.1.19.ebuild
new file mode 100644
index 000000000000..a84490dfc5cd
--- /dev/null
+++ b/dev-lang/mono/mono-5.20.1.19.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+
+SLOT="0"
+
+IUSE="nls minimal pax_kernel xen doc"
+
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.mono-project.com/Main_Page"
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+
+SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.bz2"
+
+COMMONDEPEND="
+ !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
+ ia64? ( sys-libs/libunwind )
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ sys-devel/bc
+ virtual/yacc
+ pax_kernel? ( sys-apps/elfix )
+ dev-util/cmake
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch
+ "${FILESDIR}"/mono-5.12-try-catch.patch
+)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ if use kernel_linux; then
+ if linux_config_exists; then
+ linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+ else
+ # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+ ewarn "kernel config not found"
+ ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+ ewarn "See https://bugs.gentoo.org/261869 for more info."
+ fi
+ fi
+}
+
+pkg_setup() {
+ mono-env_pkg_setup
+}
+
+src_prepare() {
+ # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
+ # get killed in the build proces when MPROTECT is enable. #286280
+ # RANDMMAP kill the build proces to #347365
+ # use paxmark.sh to get PT/XT logic #532244
+ if use pax_kernel ; then
+ ewarn "We are disabling MPROTECT on the mono binary."
+
+ # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
+ sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
+ fi
+
+ # mono build system can fail otherwise
+ strip-flags
+
+ # prebuilt files were left in tarball by accident:
+ rm -rv external/corefx/src/Native/Unix/System.Native/.libs || die
+ rm -rv external/corefx/src/Native/Unix/System.Native/*.{o,lo} || die
+
+ default
+
+ # PATCHES contains configure.ac patch
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-silent-rules
+ $(use_with xen xen_opt)
+ --without-ikvm-native
+ --disable-dtrace
+ $(use_with doc mcs-docs)
+ $(use_enable nls)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ cd mcs/tests || die
+ emake check
+}
+
+multilib_src_install() {
+ default_src_install
+
+ # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
+ # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html
+ # for reference.
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
+}
diff --git a/dev-lang/mozart-stdlib/Manifest b/dev-lang/mozart-stdlib/Manifest
index a87210ba8f61..a4399309ef83 100644
--- a/dev-lang/mozart-stdlib/Manifest
+++ b/dev-lang/mozart-stdlib/Manifest
@@ -1,5 +1,6 @@
AUX mozart-stdlib-1.4.0-docroot.patch 770 BLAKE2B fb8474a1dbc33dae9fff1bb0011f0a8de0a22f78305d2820d1f5f982339097e9d0170833d94e824b61d86af3d3515703fe31bc312a63f87c8769eaa0506da893 SHA512 5d506dedb42194083afe56c3a22f3653fef1616f69956c8e11de3aa592d29e95d45de507cc630007c0c29970d21b7dbc12bb34b74f33ada255578054d9dbe731
AUX mozart-stdlib-1.4.0-ozload.patch 719 BLAKE2B db5dd3e738698c8ef6c5b6b827a0fae93d7d7d6af43f764d9a0aad163b2d3e4d4cb367cf558c33b7472fb97ee1e4a848cac9a7aa10afbc0976524ff9cc796302 SHA512 08ad85533a6aaa846c3fcb3839f319890084d32d39439b2aa432cbcc39e1483201abed0716d3d2eff4d3d5c03ca1916dc6ffec6882110b625cdc549626b262b2
DIST mozart-1.4.0.20080704-std.tar.gz 1305359 BLAKE2B 1dc665a801f2ab1a87b6256279cf097053865b6d78c8131f15188b5b5e25d4b70c34c8dc590b9c4c708ece9821ba1d46fc62ddec698471ff5c629dfcee171a71 SHA512 5b9d9811d739c3533b7f1fa98757d842b506d58a3fd5d89ee2c1d9c036b3130f152da05b19036c8c1609057e361d71b106a728afea47140ebab3b4fc82441aed
-EBUILD mozart-stdlib-1.4.0-r1.ebuild 895 BLAKE2B 610a9ae46db419e5cf74468e50df0461137a00da3253237adf96ebac436f07455d01d2b6ffffba83b0bb7cf11aa26a2a2dda622bfa9fbd1a223b751252de363e SHA512 d9e3a4e41c20822e227143cdf9fce9160f669aded0be38464431760bdce3decf58494bc4c0f95960b92aeeebfd9cd153e690eec1c0d7bd6ff3f70e8c86418ff2
+EBUILD mozart-stdlib-1.4.0-r1.ebuild 898 BLAKE2B 1e291476d723ed0bed02fb2c8158deeea93b6f33aa52cc0a682b612ede50ae8ba8049ff6a1956ab88a8684fbdcf5031659741619ad0b49b16851a0e96db171a5 SHA512 aefb4e7033996fe1a5d6418fa1b64fdb07702f28ff859b7d3c34dc5612d55a508cd9ae9fa016a1a64ed67b665a979e68c4bf5ed0f18a96cf64c11eb94d44957b
+EBUILD mozart-stdlib-1.4.0-r2.ebuild 802 BLAKE2B 2eb3953b6943c2932da90ad28b690f04e5e716c46517fea610124037bc794555b9338a2649424c88c185e013bae79278dde891765d2168e5e8540ff9146f9d71 SHA512 c39d19444770041ca90ab802b841623e500142fd7e444240c482cf41c47381edcdddfed894a69127ea0361ca4575be573f6eb664ccf2c01d7be4065472097d20
MISC metadata.xml 240 BLAKE2B 6b5ab0d76c5748af7bd1800d11864869d7365b8d53e2fd2ec66c1092dd1fdac8461b20c029ffe835357542ca69f789ce867988d64c43019e02fe9e3691f0f9bd SHA512 7cd99ce62ca4f9307fa7dfdbfd0ff9d8ff7485c58cd08cd684065aca4b570f8655587425f6a240453a9e86452de41f26f8b82aa81c023764d0beb47daa1b15d3
diff --git a/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r1.ebuild b/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r1.ebuild
index 53c6e040555f..898c3bfdbede 100644
--- a/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r1.ebuild
+++ b/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="2"
@@ -8,8 +8,8 @@ inherit eutils
MY_P="mozart-${PV}.20080704-std"
DESCRIPTION="The Mozart Standard Library"
-HOMEPAGE="http://www.mozart-oz.org/"
-SRC_URI="http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-std.tar.gz"
+HOMEPAGE="https://mozart.github.io/ https://github.com/mozart/mozart"
+SRC_URI="mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}.tar.gz"
LICENSE="Mozart"
SLOT="0"
diff --git a/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r2.ebuild b/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r2.ebuild
new file mode 100644
index 000000000000..5ea3d580e6ae
--- /dev/null
+++ b/dev-lang/mozart-stdlib/mozart-stdlib-1.4.0-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="mozart-${PV}.20080704-std"
+
+DESCRIPTION="The Mozart Standard Library"
+HOMEPAGE="https://mozart.github.io/ https://github.com/mozart/mozart"
+SRC_URI="mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}.tar.gz"
+LICENSE="Mozart"
+
+SLOT="0"
+KEYWORDS="-amd64 ~ppc -ppc64 ~x86"
+
+DEPEND="dev-lang/mozart"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${P}-ozload.patch
+ "${FILESDIR}"/${P}-docroot.patch )
+
+src_install() {
+ emake \
+ PREFIX="${D}"/usr/lib/mozart \
+ DOCROOT="${D}"/usr/share/doc/${PF} \
+ install
+
+ dosym /usr/lib/mozart/bin/ozmake /usr/bin/ozmake
+
+ doman ozmake/ozmake.1
+ docinto mozart-ozmake
+ dodoc ozmake/{DESIGN,NOTES,README}
+}
diff --git a/dev-lang/mozart/Manifest b/dev-lang/mozart/Manifest
index ac0ffcf67dc0..ce10e69f1de2 100644
--- a/dev-lang/mozart/Manifest
+++ b/dev-lang/mozart/Manifest
@@ -2,5 +2,6 @@ AUX 50mozart-gentoo.el 482 BLAKE2B f98c3c44f0e9ddfad7ee957e4c0dd3b24a01905ce0928
DIST mozart-1.4.0-gentoo-patchset-5.tar.gz 24700 BLAKE2B c3b14bd7d8a762b84a098a9e42dfe09b5b902fdfe6c8e8dcebe7198eaaf0e89cbb101ec3765713db0fbddb6f3b9741ed927af98df48aed496d7864f6bc5f6999 SHA512 99db9bf62682fd306c4b665d99ab3b48a787c26230d5e8db2e3564684eff2e41ac0c6bb6a612afa0446555dcb1e419ae7ef1dbfec4c918d769d51dafeeee8462
DIST mozart-1.4.0.20080704-doc.tar.gz 4085020 BLAKE2B 33eaf57c91dd62d9aa79651095aa5d095086d76dfa16bd5f520962229338c00556fcf3ac01eca1769c687f990110e95fa887d56391346af780d55166708338a1 SHA512 25f8f4b603ae7f4ef054a79a2baa4e10074f8a95f762b75fd88480526fb073b5b4874c269d116a960017a9e7ef989dd9f41853b0ff76e08b2cad2de2090c2eb4
DIST mozart-1.4.0.20080704-src.tar.gz 11848201 BLAKE2B 0ceeb7dbd3f6858d1a4fee76f2a99eeb3127a07fd31b6760748ac8b8b638c36caaa873154be6481c3dc4b5196ef04cb0c10be421bd87dc3bc4e6b29357622d8d SHA512 f1114662c8c603cc2ac530d4ea1d22a0581f6e1b4d5cb57ccf899b8051ea48dbcf2fa2b62173359a754367a5456a7cb121a208d6a246248207599b0470525229
-EBUILD mozart-1.4.0-r3.ebuild 2910 BLAKE2B a778d17b22a1e93eea78b877c6e2a3b77cd2dd68429093ae673bfc160069adb912ef99ed1cb649ddbdb4de8591317def746a50ad5439266392ed71b6bf37bf8c SHA512 1bd1922a512239d1c5e031c6f003d1c862cfba77c27f40ca36b081856f2d3a415e0c91edd8bad4a52649a88cf4a098cd81e00e4f2b5648b4b8d27f77d76d4df3
+EBUILD mozart-1.4.0-r3.ebuild 2894 BLAKE2B 6f026769a720aab6c301530041015195efa3997a8a80df1b1cee00425ac581054005109dca73a7ee4681673745314b0f5b67c74456732eb875f5c6a2fa1149d4 SHA512 e888b5fbce71d17ba4f8ec8ff53614ba3f62e9f3e02d2c706d01b372a101bc1f674e4aa7c5d1c8ab48f4ce0d2b462c7944650ddb7f66e8722d468229b7721c9d
+EBUILD mozart-1.4.0-r4.ebuild 2886 BLAKE2B bf1ee4cc38bf48de2c996cf97af3b0ff86ce60da0d77c0e7771b86bc9b3428325eaceb615b6aaa90db1b6b57bfc46d4fef7d8f7ee948fabcd34d6cc8afd8e4f4 SHA512 3506e05c23b75fd287e59a468bc81469d72329b8bde81cbc4496f6da399aa4918fb5a0e3a26132957bb7bcbe7253030d8c467da87d0d9ec5cac2c0ee4c22cf17
MISC metadata.xml 248 BLAKE2B 15dcca8e423036aaf3d73f9557507d39f7a22a6fa36d83405d8180df441adc50b9d61f8dd720a9d0045f5b3e6ebc9785fcf8f1340c253b2d277404672d395c1b SHA512 b296da55efb17a1040203bc1f5f3bfa8160711fdb72f0543739e6efe48b75427c082eb6c405d99b3256e8d536d3d29f71fdd0fd8d281cb9a9967060ea467a034
diff --git a/dev-lang/mozart/mozart-1.4.0-r3.ebuild b/dev-lang/mozart/mozart-1.4.0-r3.ebuild
index 5c828c75cabd..8f96e42f8843 100644
--- a/dev-lang/mozart/mozart-1.4.0-r3.ebuild
+++ b/dev-lang/mozart/mozart-1.4.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -9,11 +9,11 @@ PATCHSET_VER="5"
MY_P="mozart-${PV}.20080704"
DESCRIPTION="Advanced development platform for intelligent, distributed applications"
-HOMEPAGE="http://www.mozart-oz.org/"
+HOMEPAGE="https://mozart.github.io/ https://github.com/mozart/mozart"
SRC_URI="
- http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz
+ mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}-src.tar.gz
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz
- doc? ( http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-doc.tar.gz )"
+ doc? ( mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}-doc.tar.gz )"
SLOT="0"
LICENSE="Mozart"
diff --git a/dev-lang/mozart/mozart-1.4.0-r4.ebuild b/dev-lang/mozart/mozart-1.4.0-r4.ebuild
new file mode 100644
index 000000000000..f94dc9760e3b
--- /dev/null
+++ b/dev-lang/mozart/mozart-1.4.0-r4.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp-common
+
+PATCHSET_VER="5"
+MY_P="mozart-${PV}.20080704"
+
+DESCRIPTION="Advanced development platform for intelligent, distributed applications"
+HOMEPAGE="https://mozart.github.io/ https://github.com/mozart/mozart"
+SRC_URI="
+ mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}-src.tar.gz
+ mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz
+ doc? ( mirror://sourceforge/project/mozart-oz/v1/1.4.0-2008-07-02-tar/${MY_P}-doc.tar.gz )"
+
+SLOT="0"
+LICENSE="Mozart"
+KEYWORDS="-amd64 ~ppc -ppc64 ~x86"
+IUSE="doc emacs examples gdbm static tcl threads tk"
+
+RDEPEND="
+ dev-lang/perl
+ dev-libs/gmp:0=
+ sys-libs/zlib
+ emacs? ( virtual/emacs )
+ gdbm? ( sys-libs/gdbm )
+ tcl? (
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex"
+
+SITEFILE=50${PN}-gentoo.el
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ default
+ eapply "${WORKDIR}"/${PV}
+}
+
+src_configure() {
+ local myconf="\
+ --without-global-oz \
+ --enable-opt=none"
+
+ if use tcl && use tk ; then
+ myconf="${myconf} --enable-wish"
+ else
+ myconf="${myconf} --disable-wish"
+ fi
+
+ econf \
+ ${myconf} \
+ --disable-doc \
+ --enable-contrib \
+ --disable-contrib-micq \
+ $(use_enable doc contrib-doc) \
+ $(use_enable gdbm contrib-gdbm) \
+ $(use_enable tk contrib-tk) \
+ $(use_enable emacs compile-elisp) \
+ $(use_enable static link-static) \
+ $(use_enable threads threaded)
+}
+
+src_compile() {
+ emake bootstrap
+}
+
+src_test() {
+ # Mozart tests must be run single-threaded
+ cd "${S}"/share/test || die
+ emake -j1 boot-oztest
+ emake -j1 boot-check
+}
+
+src_install() {
+ emake \
+ PREFIX="${D}"/usr/lib/mozart \
+ ELISPDIR="${D}${SITELISP}/${PN}" \
+ install
+
+ dosym /usr/lib/mozart/bin/convertTextPickle /usr/bin/convertTextPickle
+ dosym /usr/lib/mozart/bin/oldpickle2text /usr/bin/oldpickle2text
+ dosym /usr/lib/mozart/bin/ozc /usr/bin/ozc
+ dosym /usr/lib/mozart/bin/ozd /usr/bin/ozd
+ dosym /usr/lib/mozart/bin/ozengine /usr/bin/ozengine
+ dosym /usr/lib/mozart/bin/ozl /usr/bin/ozl
+ dosym /usr/lib/mozart/bin/ozplatform /usr/bin/ozplatform
+ dosym /usr/lib/mozart/bin/oztool /usr/bin/oztool
+ dosym /usr/lib/mozart/bin/pickle2text /usr/bin/pickle2text
+ dosym /usr/lib/mozart/bin/text2pickle /usr/bin/text2pickle
+
+ if use emacs; then
+ dosym /usr/lib/mozart/bin/oz /usr/bin/oz
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ dodoc "${S}"/README
+ if use doc ; then
+ docinto html
+ dodoc -r "${WORKDIR}"/mozart/doc/*
+ fi
+
+ if use examples; then
+ cd "${S}"/share || die
+ insinto /usr/share/doc/${PF}
+ doins -r examples demo
+ rm -rf $(find "${ED}"/usr/share/doc/${PF}/examples \
+ -name Makefile -o -name Makefile.in) || die
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/opendylan-bin/Manifest b/dev-lang/opendylan-bin/Manifest
index 88e04563609a..d3887809e250 100644
--- a/dev-lang/opendylan-bin/Manifest
+++ b/dev-lang/opendylan-bin/Manifest
@@ -8,9 +8,12 @@ DIST opendylan-2013.2-x86-linux.tar.bz2 32953359 BLAKE2B c482cbf7498120b789e7216
DIST opendylan-2013.2-x86_64-linux.tar.bz2 48471480 BLAKE2B 49dd5cd1f8e0756031933aaf595ca0b7a2525e58cd67952ddaf50ef9ae83e971655479fea3e47f5c10ba610253b8945b6f0e25219dbeff05d27687881d07559c SHA512 cac4205e47bee41dfa99cf059897025a60942fb0e73c970f26fffba7c77ceebcd789e0acb110ad636d6b8ebac947632e9d28e8d0887e4d4b7be2bc2791c1eeac
DIST opendylan-2014.1-x86-linux.tar.bz2 42086000 BLAKE2B 7c56962867348f8ec4de74bf37a52ebe0dd0b7aaab242217e660599667b5fbb498e83b14b21dec2622c1dbc7437edb434105105127da37e63917fce17d3a1829 SHA512 8411db8cf56b6b4dad11d29ab49f3d9d21d93b05af2c45a5fee0cea1a56eb471b40cb6cbd622f1db995284c499a1c5a5b7d509e31ae6f4f4afe1595a2f4aab79
DIST opendylan-2014.1-x86_64-linux.tar.bz2 49625384 BLAKE2B a2fdf67efe41c0f91e071b83bb03c214bb596cba1e051a4014677c822f9d34a4d3efea21c3e8cb230b065c75e8ae040e157f5d1ecc48a0531fb152852ed6948d SHA512 4d88ab8c6916e82465d846b32a86da0ec654d40a2a1310a7b05897d9bfa325c839713f46f62081b968793b3713a61cb74158c405cb724fa5fdf4c97596e1c6bf
+DIST opendylan-2019.1-x86-linux.tar.bz2 48674460 BLAKE2B 24bb8a47c36fb55972a72c49acca74808dd9091eca9cf6dd2c0a2f3e650dc4f52d323b38f1bb064830b90859b130425a9369fd5791b6f1dd8e3b2123103331c1 SHA512 74338f8f5eb7ad886624ce206fc30689e087aa3620b724af0ef34be006f937c9228ea4cdf86b0b96b496f6506d07e90ae7d3429b01c7c9e1a80bd1118edfc437
+DIST opendylan-2019.1-x86_64-linux.tar.bz2 66704263 BLAKE2B 062c8ebec898594cbb8e446b30a5b1b37541c5a4e193f0f7afe7c73b90ac5c35a58dd4caa407f22708a0d2fd39ecf5ebd50a0eaf519b842997a524b15f7ee7f5 SHA512 172ad77c3e6f4e2248c9c27e28a7d9769578ab65c42af0228eaec41d9f950a284c44673191b48f527dcb2232a4dfa2dfec118a51b79e2e4742c1a7d157e07842
EBUILD opendylan-bin-2011.1.ebuild 926 BLAKE2B 3f8b473d6f557962469672475240fc5d9d982f3f83cd4429e358e562842de638ea5dd08e1372c1cd4c2148f2435cf3bc8850bd9298307148a56a9a8dff7be965 SHA512 8ce68c1fd3638783c4478cd17abb4efa1e984a9d0679a9e69fd974ad7cb6de908481004064b57cff656176e6e2412c3173df21687c305e920c393d3f8bb4f5cb
EBUILD opendylan-bin-2012.1.ebuild 926 BLAKE2B 301a0c9f81279725c83fc2456fba7159f3a7849da760c2e58556d2055bcf96029977df6b3ac9806d14747b5f504e98154c441574b7115bc8d6d7789702e85c17 SHA512 017254e4a8366fdb5e6a659759849cd62978f4c9dcdee59864210f86d96a972a7a14d7a8d650a9745a7d802c7d6417d25cb354f153240505fbec6639567123d4
EBUILD opendylan-bin-2013.1.ebuild 926 BLAKE2B 28e5b976005508b925b5e20bb5ce82909b43840a3d37a60d6c28d1df98f5a75df8ec9fdb0273df9bf1932a3da1342a17dded7bbd36b3acc0e194d27a382f4663 SHA512 7da5b4e5b7710e80ef7f3fd3c2c350598a24f8b4942d60390781ccd2311ed8a04e329463737ef69efe9ae55d67aa33e5fe9fda5b53b8d7e399f27b1a5450089f
EBUILD opendylan-bin-2013.2.ebuild 926 BLAKE2B ac665a2988d4e63ce7825cfcf744648130ecd7ffb450d481e8ff1d1bd6c0a667b8be5f591012a3b37499a779bcc5650617c6456dc8eec99f3558d03d9a7ad883 SHA512 ed47276b2d01199d27b407390a11d0815e601ee54f8d4bebdad7d2702c239acff6eb62f63712293e6c5de6e82fda92d4a179dc4fa11f498cb884890cc6ade75c
EBUILD opendylan-bin-2014.1.ebuild 925 BLAKE2B 1b65b8a33d4e1ea79d40ad53aa01c53e201d6b4e4dc79f33091cdecca668e67a5c8b522e3335b0b35b910d3fadbe3cc372f818604e83419987283c16f4698fae SHA512 ace8f94560d7f9b8a788411b0436052473a6232b7eec1a19c8dab8eb66868d3fb67027239d5113a58353548e84ab84505cbc17e23853df82c820383a8fd5e771
+EBUILD opendylan-bin-2019.1.ebuild 942 BLAKE2B bdd893af446e60fa302d39e98ce8baf36550f49672e158077d9fd4cafd1413cd2c48165dfdaef6c96a61d0968649405fa759cdd7bf35fe7fc5bd3e594b758a9b SHA512 c8a57f824403a8236058f3c285106063020f95c78a9f8a1c64b4b564a299cd014c234b7a5a7605a3c2d9e1fafd485ad6bf74e957817efbab1c698d5b73c31f45
MISC metadata.xml 247 BLAKE2B 5a20af3c9732ef7dba68131a08988652f5c93a6d186a82c4deb1bb9c06dc3ae73152a0d241cc346637f7b11caf4676da43301ba596c67b66669535e71db0b03e SHA512 29cf52c16b0cce69899d9c2da8acd9144b7d760442aa323b854dceadb42459e009545193b1df7911ac2241b59f4819b4a6bb1d206d6f57953f770031433bb6b7
diff --git a/dev-lang/opendylan-bin/opendylan-bin-2019.1.ebuild b/dev-lang/opendylan-bin/opendylan-bin-2019.1.ebuild
new file mode 100644
index 000000000000..178291c8b680
--- /dev/null
+++ b/dev-lang/opendylan-bin/opendylan-bin-2019.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OpenDylan language runtime environment (prebuilt)"
+
+MY_PN="opendylan"
+MY_P="${MY_PN}-${PV}"
+HOMEPAGE="http://opendylan.org"
+SRC_URI="amd64? ( http://opendylan.org/downloads/${MY_PN}/${PV}/${MY_P}-x86_64-linux.tar.bz2 )
+ x86? ( http://opendylan.org/downloads/${MY_PN}/${PV}/${MY_P}-x86-linux.tar.bz2 )"
+LICENSE="Opendylan"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+
+IUSE=""
+
+DEPEND="dev-libs/boehm-gc
+ sys-libs/libunwind"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() { :; }
+src_compile() { :; }
+
+src_install() {
+ # this is a precompiled tarball
+ mkdir -p "${D}/opt/${MY_P}"
+ cp -ar "${S}"/* "${D}/opt/${MY_P}" || die "Failed to copy stuff"
+ mkdir -p "${D}/etc/env.d/opendylan"
+ echo "export PATH=/opt/opendylan-${PV}/bin:\$PATH" > "${D}/etc/env.d/opendylan/99-opendylan-bin" || die "Failed to add env settings"
+}
diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest
index e30094adab90..b669943141e8 100644
--- a/dev-lang/orc/Manifest
+++ b/dev-lang/orc/Manifest
@@ -1,3 +1,5 @@
DIST orc-0.4.28.tar.xz 469460 BLAKE2B 86fa2d10a33fbffbb2b96827adbddaa81d0baa8135fe21fba338cbcd25a1c1e853873ec1c4ef5c0a32d66ba95f855f1f16ddbc32f68a89e5a98c75b9b0261aa7 SHA512 2ae3100e7d0c03eba9a8a10a8924da4d729e1967b63e5dfdf88c4aee907d7ece82c782d74f4cb7e28a366dd74ce5e1ddc6e2b971e5a2f879b0501cc313b93410
+DIST orc-0.4.29.tar.xz 465076 BLAKE2B f7c81429d95af7031f190a4c3d52959eda1835d3092493e3fa15e4b6719290c1c1f23459448f7c499ba4085ad8d7b9f49e687521d76823a1e8ce6d3916b39a37 SHA512 57aa75bbefa9ba9ffcce97affd504c13c57612e2409863c011555bed6ff6ba224d38ed66b715bf103679a8ee28ddae427db3d78c7b4a2ddfa7dbd72a4fa81726
EBUILD orc-0.4.28-r1.ebuild 2193 BLAKE2B bac3f7d982f8b488c4668963bcd98cf5d079792c7814e28681072f909da2ebcf553243b206bacff7d777c859d787f5eeaeb8017fbe206066dc3352845f73c705 SHA512 5c975b44e2e2933eb5945336dffbc8ec06f9f0ef65ef89af61ea188bc7029273f8b5ab70b3c2559ea9712c1b5bfcc4878bda2853a5c9f72cdd5a3e1c5681fd03
+EBUILD orc-0.4.29.ebuild 2194 BLAKE2B 5a0640eb9e242ca431331a57fd18bcc9d2696cb33a5c565d5e32db4e9647d42888655e884ae32f4a1b03ee25b0c3baa84ff20f534564c72e079abba933655cd8 SHA512 ba1ad3885150fd3d55d8357c5624e31e34e96ca40b2e5e4a907ed3978caf8f9c4bc2a925124f6bf037229ddac5f2fba40ef5a3b337fcd2cacdd265ed7f0e5845
MISC metadata.xml 354 BLAKE2B b24bce431d7ad10e9231e89b522e67de16192ee4e48281b8a17f002692632449ab676cb9df6ff5a22563d6f9657ee6be11e452bac41f8a537c598822efab85d1 SHA512 4f17c4c3faa3f2c5feaefe4727b3500360f7cc5486c794e9a34608c3e437b4e2cc266bc9e0e2b3824952a8da62421fda59e9bc5140ee88898f8f7bdde402762f
diff --git a/dev-lang/orc/orc-0.4.29.ebuild b/dev-lang/orc/orc-0.4.29.ebuild
new file mode 100644
index 000000000000..974ea15e13d4
--- /dev/null
+++ b/dev-lang/orc/orc-0.4.29.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic 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-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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/perl/Manifest b/dev-lang/perl/Manifest
index c2fbd9c590db..4d3a73ac66ea 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -1,24 +1,25 @@
AUX perl-5.24-libnsl.patch 613 BLAKE2B 3d802f2d9203765630690a12dce5bc339dc0ec3531b47d23cb27877d1159d74b4c0c225fb21fb71257a3b125b72008f6a9b2d174fcd66e3b80f271abccc6f6f2 SHA512 19241053ecb83f5427a7361d222d87ba20c7cc59b2c6cdff011e4f9c59d828e703f0de17dcebb886772278c8dd269bf2b95978a2dededc0bf4ef9056733a3ed4
AUX perl-5.26.2-hppa.patch 3231 BLAKE2B d59eab55eea3daceb0d3df39778d43ebaee2c065c052ca048ec17c06fa90049eb7fd5ae40092f11248de25cdf9cff96dc69626e7f3269b24cf618004deeb5859 SHA512 24856ae3c637c58d16d543240f5028e137c33c7aeae7c0c3dfa1a69b621057a84ab4ddf8b12ac6ef251381af4b190c200262bec9bdaa6001199dbd1d15cf4bae
+AUX perl-5.28.0-dirhandle.patch 3709 BLAKE2B cb7bc1fa84d2a2823980378e28faf13596c540b3801a77e304e3495707eefe897d6f6783178b695b997fb7dd5287cfd5a90d6d1117183ed71116aba70e02dd7d SHA512 7586f2e646ad64828d5f08eece2e6d3eb60be566754078859ad369b0340c749afe62be2eda149db69dcf3002094eb9eec2ddd7c3721f030c84f9f6587b6d1541
DIST perl-5.24.3-patches-2.tar.xz 23980 BLAKE2B 5de7ac2cc5238d0b8460a294ae2e8da1455f89a63691a4fc022d49756ed4c0e577672149de7bd475d10f4860b4a98dc1db0c6f32abaf80f8c04658f6ca706e11 SHA512 f13c5fac65e11d691b77231cc98b0a57b6ccabd66535835bc387410dc88c298d31fa471bcd9f4e86d4d51b0402483283c23dcd53d69e0dbabc77b9db6fea4936
DIST perl-5.24.3.tar.xz 11574740 BLAKE2B 79e719d1d0fcea3eea71653f276d0d093d8d1f6b1f981b053f25e6891c57af9ee1982f65ce4a31e4c5844eb11a7966f25c6b459cc7de51cf62b9127be96f6f25 SHA512 139c92c0ea0ee7bd5912ad52cc275e0732ceb0865d8b67c301e1fc5a96ae126a26432b4450a2bbc7fe65b8e1dd8adde92ea2cc91ee39cb13ec3c5096e8f787ec
DIST perl-5.24.4-patches-1.tar.xz 24244 BLAKE2B aa4557a887e57d584c738058ed147f1b4f80f491223e1476c16abdc371bbe133f5d99ea3be11e44101b5343680823ab29c5d26cc8a8ca222275ba4bc092cd5d9 SHA512 465f22269d6c07be5616de223c712ab57d7060fdb4fcc4d79ab23aae79fa61517dbed112bb3a2541d3368a02d046b769ef8fa50a7b91379ad03ca4bf3387e518
DIST perl-5.24.4.tar.xz 11580256 BLAKE2B efdb9f0e52604207fc73e040c999f40e364f546e3e872dd6709cc6b5209179742fab083319238142581c324847d5e24a3e6a011decc901827d3eb213d00a1666 SHA512 a50bf162d9e62a558a4137d44383eb3fe2001e1eaa574aad7abae851b544dee1dacb849c101023db49b2740925691f5e367fa36ab5dda90634143076c8e4d2f3
-DIST perl-5.26.1-patches-1.tar.xz 16764 BLAKE2B 95fb086d214bf27dedfdc96f927e11ca6e2a237aabc268b3e26ca9868eeede3916fe6adc9ab890bc6bbc9977fa4a3c200188f91d506652c1f45f7ebdda9857e2 SHA512 24d7f5e1344a768bbf170376b131498fa234881d10edc259ff7a31572467e2fe1084ce6a2a9ef4d4ec5924ca95488064235d6e02b83acba727a856cd1e4c9ebc
-DIST perl-5.26.1.tar.xz 11922848 BLAKE2B 8ba5ac50bc6bc3cea1ede7dbd9b41566bd3f62e432d9a1f5ee45837cc3051c1edc037a13d73d4c867edc7833f9dfa8a9d22216e14a19df179ba030a03d3acc07 SHA512 13faa7bcd7ed8c490c37e9032c115af06c9b8152b75f8062409dd72d263d1314480e8a9a883490de1b448b2e6d53b6a87d108e2eceb17de2524d5857c6a7d300
DIST perl-5.26.2-patches-1.tar.xz 17100 BLAKE2B 681239e438945285e006ee1d1e2a9eb888fc9b425e6fbd4822e65e1fe1ced2216de76485b9792d3fee28783a588c09e1d34c294ef43d81055c4566af37fe9b6c SHA512 2a274150d2dba406c6efb67ec236f67032a51ff1788b30ea556e74b2f02fab68f5029ebd4b9d4daeb16b3a63fa7aa1744d323bf637a9d21946f19f33b69da245
DIST perl-5.26.2.tar.xz 11931624 BLAKE2B 2d54b155ace7c70a33adbe9911ba5384281aa49a0f6d4f452f4249b4deb58804268b473457470488f7592e041221f552b09156eb55c10078002aae3715446d9a SHA512 fd54c90da250144c81b94587c01c49fa367f84c54406f1d360ddab4a41589a7b19efc1707f95c95d6357fae66fc3f6f00bf69dd7741db114c7034a14f52be65f
DIST perl-5.28.0-patches-1.tar.xz 17128 BLAKE2B f16843d9ecf27fa7d42dd59e1591d618ba9ad6b14f4e56bab4019af043eb79559cc7dbc4a1b1e580c18b7ba0b5d71c4da3e3f94955889629a655e7028492a066 SHA512 e05a492ba045ac71d20393099815bed8e4f491bed79a352e83537561eb256d4f672e0125c5cca9e45150c01d3ad463a070a49e845b3c17806d9f77a872d0352a
DIST perl-5.28.0.tar.xz 12410536 BLAKE2B 620cca33c6d354b8b200bfff43dd155e6f89b9fe318f530d38c853a2b66fe67cc8410b6e5ab2a793d7ef578f2295a6fc4872483f81b5439d8573d75c5239fcfb SHA512 de701e37371b81cecf06098bb2c09017bde9cebaf9537d58838d0adf605ac2ecf739897b0a73576a7adb74d4cf65591ec4d2ed1f94b7191e695f88cb7e214a39
+DIST perl-5.28.2-patches-2.tar.xz 17332 BLAKE2B 74977d4b08e891225a3e0408473df048f6999a1a5044cb68dd205c3a95d5dcceafdaf59c277fd0a0853d5e818c2011434a88aee095cdfcb8ddc393e3a95f93c2 SHA512 b095f7966b8f09f64a6d7e425de91457ecdfddf7d2e73c5ab93632babcd37d0ab74175139484ed019aac09bc4c17ddce38eb75cebc3a80e4d47bbf7b15624c18
+DIST perl-5.28.2.tar.xz 12374448 BLAKE2B 82a49fcf3c29ff7241fae7ffaa1bf9f99d8cbfa6d00d5fd9ff7c3c23a461287322e12acba318c8de8507092e33b05549142bc5194bdb4b516994c9cdc0cb3f92 SHA512 0f2e4f7cb5d8cf6e00054b3842907e29b6c85902d97fb881d5bea65edbc875fef4e15e064561fac7c8db4939586576dd76a225026c7cca9624261c887b1fdb08
DIST perl-cross-1.1.7.tar.gz 97622 BLAKE2B c58dd51492cfbda6fc58b43d9de45c35dd5ed5768ca8db61b5ac092ad6c0067386597875d6613c75671f026387ba474ce8c28789d6d77b9dcfc4cf4bf7227126 SHA512 b64d487129b295ec6d996606b8b8559de681e1cf7c3e3167d6d646d5d7a848d7929b1ab698d1f950e265213749772fc74d209cea5020b61e133c8f8851b7cfa0
DIST perl-cross-1.1.9.tar.gz 102939 BLAKE2B 438ea75a14c4d60fdf3cb2f3671c736d229a83af210ba4fe6e79b989c6c4b45500d0221ec65bc71e1d43d234ec1daa20b3a19be6ceb01e638810900dbe3664a7 SHA512 002441012bd31f1ea71341707d91f89b76266c187c9d28f947ed5eddbcc6e3155e8dfd4b1814331561c3557764fea25bf6a938f08bcd4adfb5895361ad5a269a
DIST perl-cross-1.2.2.tar.gz 106073 BLAKE2B c4eaf5d60dd0ac88a9653cea399f5583a699d35f94a69a36ef9d3cde0017901ff68029f12a3af6e0fd34d46accbb6be009167fadb790da8065f6b85115f1c9b8 SHA512 49dc190018b891daac68a954e2a9bab6294920f02b585c530dcc47af03e8ab51d402455202d45121fa206ee743986ddd50323658c179d2c15cb6af7a2eb0958c
EBUILD perl-5.24.3-r1.ebuild 17393 BLAKE2B 999d7df269e15390e4f7d146ff94eda5301981353083c933dd89af42a9ce0cece3f6e87d8917572cd38141f0e25e9c864660624fa4c4459940d0dd190527d53f SHA512 61a2760d1a17ffe0ae6cde23b4b707876822aa2355fa834b23a878a3df3d5d070e5b0a74a991d617ad1e026c0fcc3d2a05609d575567edc57b2cf101bde8e0bf
EBUILD perl-5.24.4.ebuild 17363 BLAKE2B 84744ba06ce9dc0cab51aae3da10917679a20b5997f13154c269285173a6c6b0ec20ae365b059daa52f86f2addcf97dbe8866a29cd2c9c32ee51030de9a44bf7 SHA512 d393349752cfcdb53bd6d99559ad1eb5385e716f772bc4377e07bc3d7064a293e5cc0369feca2094513e710e8724c2a0a82fcf342ad68c4e1d2c1d0d42200071
-EBUILD perl-5.26.1-r1.ebuild 19255 BLAKE2B a29acfd3ea358d0d46886aae104acf8e55ad7c9380848343ad84dfc58294645fa6c72c4cbc598e54072585f880175581ef25e7e6e2a9080764968ab925cdbb9d SHA512 4630da50892ac674de4b9e5858ffd9b1c50b08558a91a1579958f728aaf3d9581b3f960c0d9caf5a460c3435a626c9294d8abc73c7f7da098199018a144a5788
-EBUILD perl-5.26.1-r2.ebuild 19668 BLAKE2B 5936c92398cf8a889bd946705f2667abd07fc81a64ea3f8c44cd83f3c29719352f4ea938b8d7fb7e3d5d138dcba12f94692166aaca8d98a3640c772850ec9e5c SHA512 154b021e91b01ecd55a5af50bc530f080745b122cd5a77652589c236d4bceea93f4379a1c8e751eb1787118e3133e1f5daab8dccf88365f7976c8a015591190e
EBUILD perl-5.26.2.ebuild 20018 BLAKE2B 35fc87f0fd3d14255553214e5d16a15390469265e7a1dbd9942668d96ffea825228da4c63fdddbfa70df869746559d7966b81dd1343c1bcebb1c87718bb1a3b3 SHA512 23672000c34668a207d3ec6629950310542996be5225271500f52d42779e6b77370db02a32c28953cfc7d479153d418af8ad6ddfb90ceb6437fdd4086b5a5a92
EBUILD perl-5.26.9999.ebuild 20031 BLAKE2B d6e3d8053ddbe6b3bd6fad32c2453b996ac5aea5d854354540bf3de7bd55cb2282f6c72122928d037318c5f6d54755b45f56a52ea8704c3fc4824f70a2776b9c SHA512 11d55af2d0f4ea7546b0633e4056e2cc3699b75061c4ba80e0bd17be358c9ea4900b780089853bef21718f6101257b0a9f9e15624b609332c10831d8f02bdb44
+EBUILD perl-5.28.0-r1.ebuild 20236 BLAKE2B 608747d86cbe672d7233291190a565d23c4f28cd6097a45bcbc06dcf17b554f32fe97091788b5adcc5b7c846ca385858e29735533d65bc234ea632a1ed233361 SHA512 8883fd710690238faa4f411df41074fc735108258f53402bf344f88df8710d121057def411c9743a15dd8a0f388c5e3f37631b064116de1b94a1aa329eeab03d
EBUILD perl-5.28.0.ebuild 20176 BLAKE2B 66db6330cc0536313b23bd84272fcbbf12cac02eff0cf6e5f1b45de66f77ab6eedcfc80f1925a15c82ef004234e4a82d15cae6993c6c5030c90378bb2c58dc66 SHA512 92eaffde9ebbc2cf8c6339eec71520ab4288a9e392eca4282db9b4281b29979f8854273239b650e2435aa8fd1bc525548ff79fe58fd8f5e1c7bc87ebaddfb322
-EBUILD perl-5.28.9999.ebuild 20176 BLAKE2B 66db6330cc0536313b23bd84272fcbbf12cac02eff0cf6e5f1b45de66f77ab6eedcfc80f1925a15c82ef004234e4a82d15cae6993c6c5030c90378bb2c58dc66 SHA512 92eaffde9ebbc2cf8c6339eec71520ab4288a9e392eca4282db9b4281b29979f8854273239b650e2435aa8fd1bc525548ff79fe58fd8f5e1c7bc87ebaddfb322
+EBUILD perl-5.28.2.ebuild 20155 BLAKE2B 8188a7b44c2944e3058467e7726f8e212a08bebf59436f925b1570d0d1d177cc9d550c10a5e48ff769695928537885ea93840780fb3696e156c678f20bab822f SHA512 5a124fb217156acf4fc5b03686b37a11d552b6981f6346f5d518430f2affdb849d64648e87cd9e5af771d713212022e11b931f70c67b15541bc75e20daa19fc4
+EBUILD perl-5.28.9999.ebuild 20126 BLAKE2B 46357f9a9fd629397c501f07092144e24766b802d221a34545eb70d20b61fd709f63717006d9aca69c89278d80c00b1149cb9c137ea7c246a9928b80e76a1e14 SHA512 521aee984f134933e1335e79c1f9f4cbb89520db55b882e6a8c6288030dbc004d401e64f737f6edaae51e4f3243699a340e33c768bd21e6ac9276cfc88daeffd
MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583
diff --git a/dev-lang/perl/files/perl-5.28.0-dirhandle.patch b/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
new file mode 100644
index 000000000000..02debe5ac2b6
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
@@ -0,0 +1,99 @@
+From e0eae03760cafde89463c4d3d238be9a629f7fca Mon Sep 17 00:00:00 2001
+From: Tony Cook <tony@develop-help.com>
+Date: Mon, 2 Jul 2018 10:43:19 +1000
+Subject: [PATCH] (perl #133314) always close the directory handle on clean up
+
+Previously the directory handle was only closed if the rest of the
+magic free clean up is done, but in most success cases that code
+doesn't run, leaking the directory handle.
+
+So always close the directory if our AV is available.
+
+(cherry picked from commit 3d5e9c119db6b727684fe75dfcfe5831c4351bec)
+---
+ doio.c | 56 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 31 insertions(+), 25 deletions(-)
+
+diff --git a/doio.c b/doio.c
+index 4b8923f77c..16daf9fd11 100644
+--- a/doio.c
++++ b/doio.c
+@@ -1163,44 +1163,50 @@ S_argvout_free(pTHX_ SV *io, MAGIC *mg) {
+
+ /* mg_obj can be NULL if a thread is created with the handle open, in which
+ case we leave any clean up to the parent thread */
+- if (mg->mg_obj && IoIFP(io)) {
+- SV **pid_psv;
++ if (mg->mg_obj) {
+ #ifdef ARGV_USE_ATFUNCTIONS
+ SV **dir_psv;
+ DIR *dir;
++
++ dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
++ assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
++ dir = INT2PTR(DIR *, SvIV(*dir_psv));
+ #endif
+- PerlIO *iop = IoIFP(io);
++ if (IoIFP(io)) {
++ SV **pid_psv;
++ PerlIO *iop = IoIFP(io);
+
+- assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
++ assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
+
+- pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
++ pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
+
+- assert(pid_psv && *pid_psv);
++ assert(pid_psv && *pid_psv);
+
+- if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
+- /* if we get here the file hasn't been closed explicitly by the
+- user and hadn't been closed implicitly by nextargv(), so
+- abandon the edit */
+- SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
+- const char *temp_pv = SvPVX(*temp_psv);
++ if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
++ /* if we get here the file hasn't been closed explicitly by the
++ user and hadn't been closed implicitly by nextargv(), so
++ abandon the edit */
++ SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
++ const char *temp_pv = SvPVX(*temp_psv);
+
+- assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
+- (void)PerlIO_close(iop);
+- IoIFP(io) = IoOFP(io) = NULL;
++ assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
++ (void)PerlIO_close(iop);
++ IoIFP(io) = IoOFP(io) = NULL;
+ #ifdef ARGV_USE_ATFUNCTIONS
+- dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
+- assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
+- dir = INT2PTR(DIR *, SvIV(*dir_psv));
+- if (dir) {
+- if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
+- NotSupported(errno))
+- (void)UNLINK(temp_pv);
+- closedir(dir);
+- }
++ if (dir) {
++ if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
++ NotSupported(errno))
++ (void)UNLINK(temp_pv);
++ }
+ #else
+- (void)UNLINK(temp_pv);
++ (void)UNLINK(temp_pv);
+ #endif
++ }
+ }
++#ifdef ARGV_USE_ATFUNCTIONS
++ if (dir)
++ closedir(dir);
++#endif
+ }
+
+ return 0;
+--
+2.21.0
+
diff --git a/dev-lang/perl/perl-5.26.1-r2.ebuild b/dev-lang/perl/perl-5.28.0-r1.ebuild
index a913f5694dbe..500797a2101e 100644
--- a/dev-lang/perl/perl-5.26.1-r2.ebuild
+++ b/dev-lang/perl/perl-5.28.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -6,17 +6,19 @@ EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
-CROSS_VER=1.1.7
-PATCH_BASE="perl-5.26.1-patches-${PATCH_VER}"
+CROSS_VER=1.2.2
+PATCH_BASE="perl-5.28.0-patches-${PATCH_VER}"
-DIST_AUTHOR=SHAY
+PATCHES=( "${FILESDIR}/${P}-dirhandle.patch" ) #bug 677306
+
+DIST_AUTHOR=XSAWYERX
# Greatest first, don't include yourself
# Devel point-releases are not ABI-intercompatible, but stable point releases are
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN="5.26.0"
+PERL_BIN_OLDVERSEN=""
if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.26.1-RC1
+ DIST_VERSION=5.28.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
@@ -74,23 +76,21 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
-PATCHES=( "${FILESDIR}/perl-5.24-libnsl.patch" )
-
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.180.0 cpan
- src_remove_dual perl-core/Digest-SHA 5.960.0 shasum
- src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp
+ src_remove_dual perl-core/Archive-Tar 2.280.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.200.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.10.0 shasum
+ src_remove_dual perl-core/Encode 2.970.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.390.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails
- src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp
- src_remove_dual perl-core/Module-CoreList 5.201.709.222.600_rc corelist
+ src_remove_dual perl-core/JSON-PP 2.970.10 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.201.806.220 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc
- src_remove_dual perl-core/Test-Harness 3.380.0 prove
- src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Test-Harness 3.420.0 prove
+ src_remove_dual perl-core/podlators 4.100.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 4.100.0 /usr/share/man/man1/perlpodstyle.1
}
check_rebuild() {
@@ -138,6 +138,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -287,15 +288,6 @@ echo "${patchoutput}" >> "${S}/MANIFEST"
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
- sed -i \
- -e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \
- -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \
- cnf/diffs/perl5-${PV}/customized.patch || die
-
- sed -i \
- -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \
- Makefile || die
-
# bug 604072
MAKEOPTS+=" -j1"
export MAKEOPTS
@@ -308,6 +300,17 @@ src_prepare_dynamic() {
src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
+
+ if use hppa ; then
+ epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # do NOT mess with nsl, on Solaris this is always necessary,
+ # when -lsocket is used e.g. to get h_errno
+ sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die
+ fi
+
einfo "Applying patches from ${PATCH_BASE} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
@@ -326,15 +329,15 @@ src_prepare() {
fi
# Use errno.h from prefix rather than from host system, bug #645804
- if use prefix; then
+ if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
fi
if [[ ${CHOST} == *-solaris* ]] ; then
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- PATCHES=( ${PATCHES[@]/*libnsl.patch/} )
+ # set a soname, fix linking against just built libperl
+ sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
fi
+
default
}
@@ -370,6 +373,9 @@ src_configure() {
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
use sparc && myconf -Ud_longdbl
export BUILD_BZIP2=0
@@ -455,6 +461,15 @@ src_configure() {
[[ ${CHOST} == *-darwin* ]] && \
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+ # Older macOS with non-Apple GCC chokes on inline in system headers
+ # using c89 mode as injected by cflags.SH
+ [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
+ append-cflags -Dinline=__inline__
+
+ # fix unaligned access misdetection
+ # https://rt.perl.org/Public/Bug/Display.html?id=133495
+ [[ ${CHOST} == sparc*-solaris* ]] && myconf "-Dd_u32align='define'"
+
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
# Prefix itself we don't do multilib either, so make sure perl can find
# something compatible.
@@ -549,6 +564,8 @@ src_configure() {
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
+ export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
+ export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
if [[ ${EUID} == 0 ]] ; then
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
return 0
diff --git a/dev-lang/perl/perl-5.26.1-r1.ebuild b/dev-lang/perl/perl-5.28.2.ebuild
index 7e570ce3afde..c2029dbe6b17 100644
--- a/dev-lang/perl/perl-5.26.1-r1.ebuild
+++ b/dev-lang/perl/perl-5.28.2.ebuild
@@ -1,22 +1,24 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-PATCH_VER=1
-CROSS_VER=1.1.7
-PATCH_BASE="perl-5.26.1-patches-${PATCH_VER}"
+PATCH_VER=2
+CROSS_VER=1.2.2
+PATCH_BASE="perl-5.28.2-patches-${PATCH_VER}"
+PATCH_DEV=dilfridge
DIST_AUTHOR=SHAY
# Greatest first, don't include yourself
# Devel point-releases are not ABI-intercompatible, but stable point releases are
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN="5.26.0"
+PERL_BIN_OLDVERSEN="5.28.0"
+
if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.26.1-RC1
+ DIST_VERSION=5.28.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
@@ -40,7 +42,7 @@ SRC_URI="
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
mirror://gentoo/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~kentnl/distfiles/${PATCH_BASE}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
"
HOMEPAGE="https://www.perl.org/"
@@ -75,20 +77,20 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.180.0 cpan
- src_remove_dual perl-core/Digest-SHA 5.960.0 shasum
- src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp
+ src_remove_dual perl-core/Archive-Tar 2.300.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.200.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.10.0 shasum
+ src_remove_dual perl-core/Encode 2.970.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.390.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails
- src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp
- src_remove_dual perl-core/Module-CoreList 5.201.709.222.600_rc corelist
+ src_remove_dual perl-core/JSON-PP 2.970.10 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.201.904.190 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc
- src_remove_dual perl-core/Test-Harness 3.380.0 prove
- src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Test-Harness 3.420.0 prove
+ src_remove_dual perl-core/podlators 4.100.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 4.100.0 /usr/share/man/man1/perlpodstyle.1
}
check_rebuild() {
@@ -136,6 +138,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -285,15 +288,6 @@ echo "${patchoutput}" >> "${S}/MANIFEST"
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
- sed -i \
- -e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \
- -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \
- cnf/diffs/perl5-${PV}/customized.patch || die
-
- sed -i \
- -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \
- Makefile || die
-
# bug 604072
MAKEOPTS+=" -j1"
export MAKEOPTS
@@ -306,6 +300,17 @@ src_prepare_dynamic() {
src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
+
+ if use hppa ; then
+ epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # do NOT mess with nsl, on Solaris this is always necessary,
+ # when -lsocket is used e.g. to get h_errno
+ sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die
+ fi
+
einfo "Applying patches from ${PATCH_BASE} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
@@ -323,6 +328,16 @@ src_prepare() {
ext/NDBM_File/Makefile.PL || die
fi
+ # Use errno.h from prefix rather than from host system, bug #645804
+ if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
+ sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # set a soname, fix linking against just built libperl
+ sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
+ fi
+
default
}
@@ -358,6 +373,9 @@ src_configure() {
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
use sparc && myconf -Ud_longdbl
export BUILD_BZIP2=0
@@ -443,6 +461,15 @@ src_configure() {
[[ ${CHOST} == *-darwin* ]] && \
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+ # Older macOS with non-Apple GCC chokes on inline in system headers
+ # using c89 mode as injected by cflags.SH
+ [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
+ append-cflags -Dinline=__inline__
+
+ # fix unaligned access misdetection
+ # https://rt.perl.org/Public/Bug/Display.html?id=133495
+ [[ ${CHOST} == sparc*-solaris* ]] && myconf "-Dd_u32align='define'"
+
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
# Prefix itself we don't do multilib either, so make sure perl can find
# something compatible.
@@ -537,6 +564,8 @@ src_configure() {
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
+ export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
+ export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
if [[ ${EUID} == 0 ]] ; then
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
return 0
@@ -559,9 +588,10 @@ src_install() {
rm -f "${ED}"${coredir}/${LIBPERL}
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
+
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
fi
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild
index 71fc2b82b39b..21d7a3f69eea 100644
--- a/dev-lang/perl/perl-5.28.9999.ebuild
+++ b/dev-lang/perl/perl-5.28.9999.ebuild
@@ -586,9 +586,10 @@ src_install() {
rm -f "${ED}"${coredir}/${LIBPERL}
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
+
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
fi
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 499a5d85a0c4..4fb703c9f5d1 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,8 +1,6 @@
AUX 20php5-envd 145 BLAKE2B 06476b8fc04d1e835496b417ac752f0834ddbe8584e4fddc6db0aa5e6845b82cdea0a1355c77125375dcdd0f0a3c19de5f3a8a64ee93950f96c437a16f971567 SHA512 581aa86479e3cd584ee1bc6dc6d4a135fe8ec343fe5519566d728d81f7018cfb23658bd0c0368951d380982c75adbb4f45acf3c146868aaf4e4ec8e9f2fad1ce
-AUX php-7.1.25-intl-detect-icu-via-pkg-config.patch 4608 BLAKE2B 3639c5a39bae61d3032c18a85982769c2d8a5837a67cc8b3ec7cd25263d15f4923a04c74f21b10cd5cc17c0cd9d657431dc3052cddaa289a6eb1dac0cf975350 SHA512 567fb3486af02e487cdde11e2a6f706b2fc19722e5e9f4b63320bb2226e30ff79b14780f3f661378bf5bea2150b47af93fb5b39003465895fdf420691d4dbc44
AUX php-7.1.25-intl-use-icu-namespace.patch 11396 BLAKE2B 7664703a7bafb38d252f5eeec926ee0b7eaf4d75e71ef98c2e7d3f612b7d48d38b66764286d67299a38a704500db2e3215dc375d64a8f277b904aff80211fa60 SHA512 c7b61cade203a338a576aff0b4b76a22f0d686d53e91fbf4c5171e0429317460f7404c78a0c076a3000957100af2d17caba6245bf37afc6177fb43c7fafa7679
AUX php-7.2.13-intl-use-icu-namespace.patch 11499 BLAKE2B 0dca597d5afd0309595499e3ff860e2d83183e570d02f202a1e2966d430606f09b8dc7427c4007e791914c8ee093a2e7cbf7372baa7896ac06d1912f2e707c09 SHA512 1332eb76feda2100685e319ae046512cf12b55a0d2be537c2172ccf035b547d851f84fb7941389882d7e3d674d91441e018c7b8f1e3f0d4cced05c314d5821fe
-AUX php-7.3.2-fix-iptcembed-bug77546.patch 5521 BLAKE2B b03839e092308b4fbbb1624015ca77e9c7acd71efb5bfdb4bc003decdfca86b89e5e462c1e1df69b97c71415fa9207fbe723add1239b99b5db502884e3fcd799 SHA512 68c88ecd93f3b45e8967f61db06da4aa77054879a3e18137c94fab9524e53a841b19ac0b179467cfd9ba5a9cf5c0091e6a36b56e7291501bc123057487aa13d8
AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd
AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8
AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
diff --git a/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch b/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch
deleted file mode 100644
index 2d4254d6e59e..000000000000
--- a/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-Based on the following upstream commits:
-
-https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52
-https://github.com/php/php-src/pull/3701
-https://github.com/php/php-src/commit/2bd299f7318492fd7e5cafffa562d76ba60e69d4
-
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2205,52 +2205,16 @@ dnl
- dnl Common setup macro for ICU
- dnl
- AC_DEFUN([PHP_SETUP_ICU],[
-- PHP_ARG_WITH(icu-dir,,
-- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no)
-+ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1])
-
-- if test "$PHP_ICU_DIR" = "no"; then
-- PHP_ICU_DIR=DEFAULT
-- fi
--
-- if test "$PHP_ICU_DIR" = "DEFAULT"; then
-- dnl Try to find icu-config
-- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin])
-- else
-- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config"
-- fi
--
-- AC_MSG_CHECKING([for location of ICU headers and libraries])
--
-- dnl Trust icu-config to know better what the install prefix is..
-- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null`
-- if test "$?" != "0" || test -z "$icu_install_prefix"; then
-- AC_MSG_RESULT([not found])
-- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.])
-- else
-- AC_MSG_RESULT([$icu_install_prefix])
--
-- dnl Check ICU version
-- AC_MSG_CHECKING([for ICU 4.0 or greater])
-- icu_version_full=`$ICU_CONFIG --version`
-- ac_IFS=$IFS
-- IFS="."
-- set $icu_version_full
-- IFS=$ac_IFS
-- icu_version=`expr [$]1 \* 1000 + [$]2`
-- AC_MSG_RESULT([found $icu_version_full])
--
-- if test "$icu_version" -lt "4000"; then
-- AC_MSG_ERROR([ICU version 4.0 or later is required])
-- fi
-+ PHP_EVAL_INCLINE($ICU_CFLAGS)
-+ PHP_EVAL_LIBLINE($ICU_LIBS, $1)
-
-- ICU_VERSION=$icu_version
-- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
-- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
-- PHP_EVAL_INCLINE($ICU_INCS)
-- PHP_EVAL_LIBLINE($ICU_LIBS, $1)
-+ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
-+ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
-
-- ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags`
-- ICU_CXXFLAGS="$ICU_CXXFLAGS -DU_USING_ICU_NAMESPACE=1"
-+ if test "$PKG_CONFIG icu-io --atleast-version=60"; then
-+ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
- fi
- ])
-
---- a/ext/intl/config.m4
-+++ b/ext/intl/config.m4
-@@ -9,15 +9,7 @@ if test "$PHP_INTL" != "no"; then
- PHP_SETUP_ICU(INTL_SHARED_LIBADD)
- PHP_SUBST(INTL_SHARED_LIBADD)
- PHP_REQUIRE_CXX()
-- INTL_COMMON_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
-- if test "$icu_version" -ge "4002"; then
-- icu_spoof_src=" spoofchecker/spoofchecker_class.c \
-- spoofchecker/spoofchecker.c\
-- spoofchecker/spoofchecker_create.c\
-- spoofchecker/spoofchecker_main.c"
-- else
-- icu_spoof_src=""
-- fi
-+ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
- PHP_NEW_EXTENSION(intl, php_intl.c \
- intl_error.c \
- intl_convert.c \
-@@ -68,9 +60,12 @@ if test "$PHP_INTL" != "no"; then
- transliterator/transliterator_methods.c \
- uchar/uchar.c \
- idn/idn.c \
-- $icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
-+ spoofchecker/spoofchecker_class.c \
-+ spoofchecker/spoofchecker.c\
-+ spoofchecker/spoofchecker_create.c\
-+ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
-
-- PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
-+ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \
- common/common_enum.cpp \
- common/common_date.cpp \
- dateformat/dateformat_format_object.cpp \
-@@ -89,11 +84,12 @@ if test "$PHP_INTL" != "no"; then
- breakiterator/rulebasedbreakiterator_methods.cpp \
- breakiterator/codepointiterator_internal.cpp \
- breakiterator/codepointiterator_methods.cpp"
-- PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $ICU_CXXFLAGS"
-+
-+ PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
- if test "$ext_shared" = "no"; then
-- PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS)
-+ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS)
- else
-- PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS, shared_objects_intl, yes)
-+ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes)
- fi
-
- PHP_ADD_BUILD_DIR($ext_builddir/collator)
---
-2.19.2
-
diff --git a/dev-lang/php/files/php-7.3.2-fix-iptcembed-bug77546.patch b/dev-lang/php/files/php-7.3.2-fix-iptcembed-bug77546.patch
deleted file mode 100644
index e157d250f2fb..000000000000
--- a/dev-lang/php/files/php-7.3.2-fix-iptcembed-bug77546.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-https://git.php.net/?p=php-src.git;a=commit;h=f27f9022660d28c13c6209f4679768dcbd961b43
-
---- a/ext/standard/iptc.c
-+++ b/ext/standard/iptc.c
-@@ -273,7 +273,7 @@ PHP_FUNCTION(iptcembed)
- iptcdata_len++; /* make the length even */
- }
-
-- psheader[ 2 ] = (char) (iptcdata_len+28)>>8;
-+ psheader[ 2 ] = (char) ((iptcdata_len+28)>>8);
- psheader[ 3 ] = (iptcdata_len+28)&0xff;
-
- for (inx = 0; inx < 28; inx++) {
---- /dev/null
-+++ b/ext/standard/tests/image/iptcembed_002.phpt
-@@ -0,0 +1,110 @@
-+--TEST--
-+iptcembed() valid jpg stream
-+--FILE--
-+<?php
-+/*
-+# source code to generate base64 use behind as $base64_1x1_jpeg
-+# we don't want to be gd library dependant for this test
-+$file="1x1.jpg";
-+$ret=imagejpeg(imagecreatetruecolor(1, 1), $file, 100);
-+echo md5(file_get_contents($file)).PHP_EOL;
-+echo base64_encode(file_get_contents($file)).PHP_EOL;
-+unlink($file);
-+*/
-+
-+/*
-+test description :
-+1) create local file 1x1 jpeg (without iptc) (use base64 content to create file)
-+2) generate iptcdata string with function iptc_make_tag describe behind
-+3) use iptcembed php function with our 1x1 jpeg file and our iptcdata string
-+4) write local file2 with iptcembed return content
-+5) various check on file2 to verify that's a valid jpeg file with our tags
-+*/
-+
-+
-+#iptc_make_tag function from http://php.net/iptcembed
-+function iptc_make_tag($rec, $data, $value)
-+ {
-+ $length = strlen($value);
-+ $retval = chr(0x1C) . chr($rec) . chr($data);
-+ if($length < 0x8000) { $retval .= chr($length >> 8) . chr($length & 0xFF); }
-+ else { $retval .= chr(0x80) . chr(0x04) . chr(($length >> 24) & 0xFF) . chr(($length >> 16) & 0xFF) . chr(($length >> 8) & 0xFF) . chr($length & 0xFF); }
-+ return $retval . $value;
-+ }
-+
-+
-+$file="1x1.jpg";
-+$file2="1x1_with_iptc_tags.jpg";
-+$base64_1x1_jpeg="/9j/4AAQSkZJRgABAQEAYABgAAD//gA8Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBxdWFsaXR5ID0gMTAwCv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAQMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP8AP/oA/9k=";
-+#write file
-+$fd=fopen($file,"wb");
-+if ($fd) { fputs($fd,base64_decode($base64_1x1_jpeg)); fclose($fd); }
-+else { echo "error cant write $file".PHP_EOL;exit(1); }
-+#check file md5
-+$md5=md5_file($file);
-+if ($md5!="07dd8594450e8c18ab8a79d7cb4573c7") { echo "md5 error".PHP_EOL;exit(1); }
-+#check jpeg properties
-+list($width, $height, $type, $attr) = getimagesize($file,$info);
-+if ($width!=1) { echo "width error".PHP_EOL;exit(1); }
-+if ($height!=1) { echo "height error".PHP_EOL;exit(1); }
-+if ($type!=2) { echo "type error".PHP_EOL;exit(1); }
-+if (!isset($info["APP0"])) { echo "APP0 error".PHP_EOL;exit(1); }
-+
-+#our iptc tags
-+$tags=array();
-+$tags["2#105"]= "Tauren";
-+$tags["2#120"]= "Tauren with Trunk";
-+$tags["2#110"]= "Copyright 2004-2016, Blizzard";
-+$tags["2#025"]= "Tauren, Chaman, Blizzard";
-+$tags["2#090"]= "Thunder Bluffs";
-+#feed iptc string for iptcembed
-+$iptc='';
-+foreach ($tags as $tag => $string) { $rec=$tag[0]; $tag = substr($tag, 2); $iptc .= iptc_make_tag($rec, $tag, $string); }
-+#check iptc string md5
-+if (md5(base64_encode($iptc))!="7056c4b3060f92a4f9e5b7d0caa61859") { echo "iptc md5 error".PHP_EOL;exit(1); }
-+
-+#use iptcembed to get jpeg stream content with iptc tags
-+$content = iptcembed($iptc, $file,0);
-+
-+#write new image with iptc tags
-+if ($content === false) {echo "iptcembed error".PHP_EOL;exit(1); }
-+$fd=fopen($file2,"wb");
-+if ($fd) { fputs($fd,$content); fclose($fd); }
-+else { echo "error cant write $file2".PHP_EOL;exit(1); }
-+
-+
-+#check jpeg properties for new image with iptc tags
-+echo "new generated image with itpc tags : $file2".PHP_EOL;
-+$ret = getimagesize($file2,$info);
-+if ($ret===false) { echo "getimagesize error".PHP_EOL;exit(1); }
-+list($width, $height, $type, $attr) = $ret;
-+if ($width!=1) { echo "width error".PHP_EOL;exit(1); }
-+if ($height!=1) { echo "height error".PHP_EOL;exit(1); }
-+if ($type!=2) { echo "type error".PHP_EOL;exit(1); }
-+if (!isset($info["APP0"])) { echo "APP0 error".PHP_EOL;exit(1); }
-+if (!isset($info["APP13"])) { echo "APP13 error".PHP_EOL;exit(1); }
-+
-+$error=0;
-+$iptc_data_from_created_image = iptcparse($info['APP13']);
-+foreach ($tags as $tag => $string) {
-+ #check if tag exists
-+ if (!isset($iptc_data_from_created_image[$tag])) {
-+ echo "error iptc tag $tag not found".PHP_EOL;
-+ $error++;
-+ } else {
-+ #check value
-+ if ($iptc_data_from_created_image[$tag][0]!=$string) {
-+ echo "error tag $tag : bad value ($string != ".$iptc_data_from_created_image[$tag][0].")".PHP_EOL;
-+ $error++;
-+ }
-+ }
-+}
-+#clean before exit
-+@unlink($file);
-+@unlink($file2);
-+if ($error==0) { echo "OK".PHP_EOL;exit(0);}
-+echo "something wrong: $error errors".PHP_EOL;
-+?>
-+--EXPECT--
-+new generated image with itpc tags : 1x1_with_iptc_tags.jpg
-+OK
---
diff --git a/dev-lang/polyml/Manifest b/dev-lang/polyml/Manifest
index b3fb98e3a32c..5c530d4595e9 100644
--- a/dev-lang/polyml/Manifest
+++ b/dev-lang/polyml/Manifest
@@ -10,7 +10,9 @@ AUX polyml-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch
AUX polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch 1247 BLAKE2B 7df0a97bdb56d264b090bebad500d4f1f4354d8d66feed289a4f535e63d3357a33a6533acd4170e7c4e69bf477f56355684b3037f0c895adad299de20cf246d0 SHA512 ac2d1baff1c8d743ee783ac81f31df12cc4598874dd5a9a7855cd06fb179af2c64bc02a87d85a72238f19c805128143693839bd0a58d9a4002bc75fae985303b
AUX polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch 951 BLAKE2B c2aa5777c35d27d0c403f6676b323a280e43c30bbacdcbfc6535d39b66031b11e6e40074ecd3fb72b40953942fb53cb88d62f82e47cff072a4e53ca973615019 SHA512 644e90f26ef80aa8e945257eafa4da1ee2da9d353db40b5c6e367d032f41db4a6589a2527bce9d84d45794d88d31edaeb3cea53d57b4421bf209f6c07be69cf0
AUX polyml-5.6-configure.patch 390 BLAKE2B 7f20e9de1c00a429ed86ab33cd05bd2aed0a4c431d92f52e7c93c4c44f4f4611637299020d3cbf7c32b9d43f868757f4b7c534f68e5b7120c75ee0b27b5f8316 SHA512 d868d6739e88ccacf7ab5ee495ffaa54fb3ace83c57633fde2d97fb894c9e0c81e896e15192318f9b8bbcb678efb95a827549a0fd30d2ca87473b582fa09f850
+AUX polyml-5.6-ffi3.patch 584 BLAKE2B 6c7e38c077968f439f03739a4d95bad6d5f631b4cf4e1a51a58ae6273c40a1ae5dbd1fe3aa6e338215f9cedec950435e846351275be7bccb80fd313965888b78 SHA512 22bb8e13672ddb0a8f7a3ed9908fb652e238c849b553ab3ceb9b33daebc35d6502dbff3f099ab933f4e2639b5eac2294e21d45bfc96dcb1b9c6be0129c57232d
DIST polyml-5.6.tar.gz 6066166 BLAKE2B dc7e35ad1f51f270f9043736bca8b3d8a96e208dfa2833a2de3c06c969e8bb9d5e92c3ab025e4e55539188a9d6d5000b7befdd3cfc17aa3b0e54315778ab71b0 SHA512 cd4f25c225831dec512f7136dfda4ba31abd6939d9e8e0cacdb6d48212488b56ba5969c76e76fcbfcfa83d015a67d9cf62457286086f3c2b3f7914a7939d7b59
+DIST polyml-5.8.tar.gz 9817105 BLAKE2B 93992c8baa78017bfda6c2151d1f48805829b77c0b7ed9bec87c951fc4a4236459ed59aab1eca88ed4a1d7aa10eb9734f93324583e012b18bb7d8cce84b5a35b SHA512 50baed79b50b14bd87acc637de93fd6d0f05e61fe0f03682a12a1d2c5f382313488d48f84b49ad915b01acc5a3a5769fb05fcaa7b24499c56402ddd3ba393930
DIST polyml.5.4.1.tar.gz 6107319 BLAKE2B 1fdff3b26fa7554a0f3d31cca0dc4a4e013fb930e6295cd6107012bc67e87db1f64916087edb34e403c3e1a88b26bff947c1cc9d946fe93ac7a1144434d15081 SHA512 4a7b404ed648b5a9fd9d52917214688d15f4f9a5f4570ba13b52a8304bde1cc4b534f539ffc3c9554283816ae130e4c898a179d776df6d3220fba9743a19b175
DIST polyml.5.5.1.tar.gz 5465794 BLAKE2B 0ae6973c866cdf33e0eeb26475c95f26f11eca13458ab52c2c6fd3f4b3034cd5e71a7e4dbff5574070a11833479bff2723066bfc71367d71cd6e4f9f17a5cba1 SHA512 283954c8bf5599d83ea69916b827b1acae7137fe4add67537026092da2e6f1a89d71d3a394dbba599bbe9e967ded1446f39f4d81afb90301532db6be949f7a6f
DIST polyml.5.5.2.tar.gz 5599140 BLAKE2B 08b7c4be7c52bd8f57c53f6caa24be7ab457c7419459192f33369bf3c7024002ffd98dfd7af4db53c3a2484f9c966010a635f4e09e9edf8a62b5d5230f9a04bf SHA512 248c2a38c4691898bc1243a041f4683bf227d9c8a98c6c3545af2a8a3249ed5ed96f33f90cb2dede8809b42f33c0557650147302cfe046a5fba965ccd93cbc5b
@@ -19,5 +21,6 @@ EBUILD polyml-5.4.1.ebuild 882 BLAKE2B 33f67a532e3df08bdeba0daf156a89e04e8dd43b3
EBUILD polyml-5.5.0.ebuild 1121 BLAKE2B c32bffc9837edaa9dbe300f448006f06ae19bf55e29285859476f52de198df6997093d310a24ac9541ef5c372c9159db3c875a9abaef34bee7389448aa331fed SHA512 2b0462751288f026c6770639aaaaff37546bea6d363f016412b2909cc9738d98c2b059aab24f6198cfc7051cf06ef2ba89c76d48a037f95f442befc05be5a005
EBUILD polyml-5.5.1.ebuild 1806 BLAKE2B 1ecd752ae24a16765064f85dc6aa380b1762b839c8d065c679e2bceab3946d918d574162b5a495dfcc75bed91ddc45862f15795407d24b55604ff68688ecb3d6 SHA512 95d7210500e6135b9b1858ccecdd734339083f2ffca5237c4a61d77b7afe4fe140f335bfd5e5702defe21a8c9987f1f81dd446a9a90b261d4588c48509e89538
EBUILD polyml-5.5.2.ebuild 1963 BLAKE2B 0afb1711c472cccedc5be5fd0ae16a0334ca86339e29d7b34a027dbde181543b0fc76e9419dc2733cf99bd1bd9a153ba716bc9436c562a339e4c3112dea35f8b SHA512 1f090742acbe4b175a3d26fd785ae5958f8dec0bda6d7fd6a3feeec43bee3606f6b877da4f3dc1401edf67e5ef0bb5bf21e3609beebaf1b651669ef44482cda7
-EBUILD polyml-5.6.ebuild 1148 BLAKE2B a1a1382832b8f3f230a83ff7964f0a75a9d7c8596fd0c896155c698201d59c101982fae43ffdc7fca39b538cb0bdaf17b824ba1ebd4fdf69f1118f25b715900e SHA512 1c20c87d8361b5b2c8486a14578c735ee7f2e7f780a7657a046ce79665c7df989c3df8dc19d8087ea0e08ac86a73e8c02e45ab91a01adbbf07b1cad34a212ee0
+EBUILD polyml-5.6.ebuild 1204 BLAKE2B 787ecb938335da20e70beb7f09967659499d4e4a40265148139aa1ee0d6d5397fb95421398fcc7be790ac13a3cae5edf5c23c542c52a266c5b3418a7a41048ff SHA512 7cbf771fb1d557f5e96bc5c82aa46eb4f6b355fcbcb598601150ad89683da47d1b7a1ba561018e7987f26923ec7039d6deee3a518427b0d39a841fc4ec1f77aa
+EBUILD polyml-5.8.ebuild 1214 BLAKE2B 2c26b02a8d49677661d9ac15df5dd8e61ddccf2a8e7b5b9d29c727be640b9a9a30494218152fdf4cd837c6cd1892b55bdf6beb07bea19ee93386c60c00b63625 SHA512 5e41ab18a73ec4854ff3f33ea83626b13c3aaf2f373612c5bbba33c4414ae332d5eca488b6985df217344ecd5d78f11a288e882d9fd07088c2a56a35dc2fb7f7
MISC metadata.xml 670 BLAKE2B 3f5e0084001a3b90b5343ac2005b3a7aadb03b9895311edc46ff64007ac126815a64e8ae674d247a844a8121e61fd7cbbbf0f3ebea733bfd3989210a35e4f72e SHA512 7a2b3853acd46379a5ea03a6ca6d18df36dc1e59cf7bbc29c2b21388fef3c8fb8fb59259e29d5e8b6730b741fd44989ba2d6b1ae3e08117cfa88845d328bba37
diff --git a/dev-lang/polyml/files/polyml-5.6-ffi3.patch b/dev-lang/polyml/files/polyml-5.6-ffi3.patch
new file mode 100644
index 000000000000..bf15871d2742
--- /dev/null
+++ b/dev-lang/polyml/files/polyml-5.6-ffi3.patch
@@ -0,0 +1,18 @@
+--- a/libpolyml/polyffi.cpp 2019-04-05 23:10:23.509729312 +0200
++++ b/libpolyml/polyffi.cpp 2019-04-05 23:10:38.895485058 +0200
+@@ -89,7 +89,6 @@
+ // Unfortunately the ABI entries are enums rather than #defines so we
+ // can't test individual entries.
+ #ifdef X86_WIN32
+- {"sysv", FFI_SYSV},
+ {"stdcall", FFI_STDCALL},
+ {"thiscall", FFI_THISCALL},
+ {"fastcall", FFI_FASTCALL},
+@@ -97,7 +96,6 @@
+ #elif defined(X86_WIN64)
+ {"win64", FFI_WIN64},
+ #elif defined(X86_ANY)
+- {"sysv", FFI_SYSV},
+ {"unix64", FFI_UNIX64},
+ #endif
+ { "default", FFI_DEFAULT_ABI}
diff --git a/dev-lang/polyml/polyml-5.6.ebuild b/dev-lang/polyml/polyml-5.6.ebuild
index 1182c2d0766c..6ec40e592410 100644
--- a/dev-lang/polyml/polyml-5.6.ebuild
+++ b/dev-lang/polyml/polyml-5.6.ebuild
@@ -20,7 +20,10 @@ RDEPEND="X? ( x11-libs/motif:0 )
virtual/libffi"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}"/${P}-configure.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-configure.patch
+ "${FILESDIR}"/${P}-ffi3.patch
+)
src_prepare() {
default
@@ -32,6 +35,7 @@ src_configure() {
--enable-shared \
--disable-static \
--with-system-libffi \
+ --with-pic=pic-only \
$(use_with X x) \
$(use_with gmp) \
$(use_with portable) \
diff --git a/dev-lang/polyml/polyml-5.8.ebuild b/dev-lang/polyml/polyml-5.8.ebuild
new file mode 100644
index 000000000000..b38959ceb053
--- /dev/null
+++ b/dev-lang/polyml/polyml-5.8.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools pax-utils
+
+DESCRIPTION="Poly/ML is a full implementation of Standard ML"
+HOMEPAGE="https://www.polyml.org"
+SRC_URI="https://codeload.github.com/polyml/polyml/tar.gz/v${PV} -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="X elibc_glibc +gmp portable test +threads"
+
+RDEPEND="X? ( x11-libs/motif:0 )
+ gmp? ( >=dev-libs/gmp-5 )
+ elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) )
+ virtual/libffi"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6-configure.patch
+ "${FILESDIR}"/${PN}-5.6-ffi3.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --disable-static \
+ --with-system-libffi \
+ --with-pic=pic-only \
+ $(use_with X x) \
+ $(use_with gmp) \
+ $(use_with portable) \
+ $(use_with threads)
+}
+
+src_compile() {
+ # Bug 453146 - dev-lang/polyml-5.5.0: fails to build (pax kernel?)
+ pushd libpolyml || die "Could not cd to libpolyml"
+ emake
+ popd
+ emake polyimport
+ pax-mark m "${S}/.libs/polyimport"
+ emake
+ pax-mark m "${S}/.libs/poly"
+}
+
+src_test() {
+ emake tests || die "tests failed"
+}
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index aa7074377649..6df35eecfffd 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,4 +1,3 @@
-AUX 3.4-getentropy-linux.patch 1766 BLAKE2B b0999a96833f2b6db936f0c97f8405c8b6eb2fcf926f4c4c41590d903435c1435be21795ea1d44355f5c2e3a745b1528bf04cfda362372a12f796fd1bb51629a SHA512 52e888819b3c265e0920efa00911311a2029a6a80162ca56e69892ffc49c28487852882b27e560b9f8ff1c16ee41d074423b6c565596b37c6efca2dd8eb45675
AUX 3.6-disable-nis.patch 864 BLAKE2B a960b2f44ff1358677ebb0cf82bcff1ddc7812ed511d0f492fdac07c848f0de8dbd0e8a9200b276709532b5524eed9e779b33d6c4ee34c1f9d23e4eb1f862d99 SHA512 a86a17c90743e8a3712ceaf14ea1a88b96bd5504a4feaadc0168f3211c2afbc130fad8147a40d7ac65268ff1d6293b0c3f98ad36845efebeacfc628149ef13f3
AUX 3.6.5-disable-nis.patch 297 BLAKE2B 86ca3e6b9aa1bcd9af55ea5f1ad835b60154d23339bf9d02404a5c50b774c556f482138f35d005c9a96b95b6fd9be94ac634164d0b8d173c15fbf841163cabba SHA512 e0a31d256c70159dcbd362ff35b7561c94087851514637bd2b26b6a1b3199309f81eb82305adec7f8d01118dd0856c5228863319ced1e275fbf6f4932034e855
AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219da014dac12fdfcbcf5fb168bb9aa57be110f74d656aed46179ffe11e3c992d84a647e442b7b SHA512 30d0776a4004cd641e6f283658c3c24915a21ea15fe40e506ff2c3a5f95936aa00c9490b04ab25f29e9b7ac65cd88fd54ca0b08e000e73820b13c7c57c0bf5b2
@@ -8,7 +7,6 @@ AUX python-2.7.10-system-libffi.patch 1232 BLAKE2B 3483385cbbf7ef2304cf109d05b5e
AUX python-2.7.5-nonfatal-compileall.patch 750 BLAKE2B a7999a6c5a706fbab213cd8a01c6df9b130537556d59bf50b1f5ca223bb9dcd24ccfef48e70e5d3a8afe2b9c6236e1ada87d5899052a2b39f05c4644697953e2 SHA512 d2e93e2a6fcd55d516df0ddaca31af97faed677ea6b4be282eb99e7864f8a7399b5ca11139844a4b3c264832183483b0f4c8c9865c05de0e8520e6d2c8f1dbc6
AUX python-2.7.9-ncurses-pkg-config.patch 305 BLAKE2B 92962397a1e74d9dca8bc232400e84673e0989239e6952c2ba9f25db6f9da343334e0ad325e8932fcec3f9a50e62d4e9b81a8d7a776cdbfc2d0399601591f534 SHA512 2c18b5041a7a2f306dd4d0d6695bd851ca14c9107b2e3e856ec094bc53c7cc407b49e1f4813ee9e753b3ad2d4f6edda943a66bb1e6c895ab956a5f84d30646c6
AUX python-3.4.3-ncurses-pkg-config.patch 302 BLAKE2B b12910200cfe075362f8ea21320ccfa57a276918ee8601805b0d541556fd62251a81b3875b2bd3fe9634fce9e30d04b0cfb1f740e6fe816464af03e04f4011e1 SHA512 9e2bc2af0077d6282d9512b172d80ee294c47a6d41855474eed641afa8139ce4667a64c4676f5b2e40a90278b780a46e998d1096422ed0fe1d83b973dc455dc2
-AUX python-3.4.5-cross.patch 494 BLAKE2B 584e03cd740ed434fee8355b1c55205c7553a6786de7735cecd04a40593b33f8810b1b78a9036eab86c636c74c24d13d5f0e6688af5f3f61bfece938880e92b4 SHA512 66c387fa873d9aec0aa7ba2d2c6468c315dd44e96434ce6519f79de5ad820928b1b926b0a2e3a94c73d919b8f2d80c3e71964dc6870d2c7e05844a9e3b1866b8
AUX python-3.5-distutils-OO-build.patch 3667 BLAKE2B 2010889d44f2dc8c6c16a25a83a3a8f36f08b0ac857a429f7ed536a87bb64c3e2d1f5f70f42c2b56fedd3fdb81eb269801233bd2e821fc9edec547a0d3d8255e SHA512 5e25d46a7d11b16a7183aaecf82f914506fae552aaaa3d69aca6445c131dff39d4cf13588fa109ce16d41e43355539bee8390a2c454f3696df5a06edb6a5ca77
AUX python-3.5.5-hash-unaligned.patch 1451 BLAKE2B 30a0225118e17bf7f9177d423f50ec557c015f29f20ed48368fdaef482ecb4f572390bc3c551757ff633cdadfd2da73b1b6e9d88e8504c31c31d12d4858b9a1d SHA512 8a0f7acefc4e28c10df6d9d9ff4022cddc05167ce3c49caae32b58d221deee45741dd6c4930e83a653b5f088cf021d408ad88c3bb407440c8f1be2b8079d757a
AUX python-3.5.5-libressl-compatibility.patch 2158 BLAKE2B e171337d466b00720ea960a167abb26a3795ad1c516a770f3c2622753139bf4a166e43e3c479b87eeb62b9e325c3d5de71642e7be4b4d36c3919e0743c226ca6 SHA512 cbb7d9cd8bd8d39ec2a9b39ff494d1d93f4d91190f5f1dcbe293871427b1ad459729dd5ce4cb8efe22e5847b477c24fd5f076bd79c94b3e7d14d159be3313f75
@@ -16,8 +14,6 @@ AUX python-3.6.5-hash-unaligned.patch 1293 BLAKE2B d1e22b4f4c55d308b129801464e34
AUX python-3.6.5-libressl-compatibility.patch 3852 BLAKE2B 8e6860903f51bd1e783e1547d3eed76059eeea317ce0f2f98bd44df55c9be8a62973f687a029a972cac6cce63687763f824ad878d0548ec8ed71bf4c42d4b45b SHA512 4ae0e189f232d52303645391962c8390b00ae62fec45a03ddbad1b34a3eee5ef24c4d17c8a58709e452618ee0b570c2af7c01e456d285f02f5048fbbd2695ddc
DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
DIST Python-2.7.16.tar.xz 12752104 BLAKE2B 7d6b5b853f9974d44e04dd35ecdffaab87511e183b4b01dd4f8f4ee109c4b4ab208f045708f69717be9d3a706aa078b71438ed482c062c0b89c12730eae074ae SHA512 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0
-DIST Python-3.4.10.tar.xz 14559088 BLAKE2B ea1e333f04c286fe715c1ce97ade37c6a768e58a2e34da2ec51613a76c87a2e704f67d9ae8fd92a95366ab1814295028d7948e49b071d7e457b388176186c2e8 SHA512 d5d27d68049b61f135e21b12a800dbd4fc521d6935de178de6e2e88a989cda511d3c8fead90d14e38d2db0e528a74b22674e0da01c51ff4fad7d335ec6c3dbbc
-DIST Python-3.4.8.tar.xz 14576444 BLAKE2B 262b82fbc0e4852216d2edf05f9e9194bc93be7b14a2d6ef56789b808cff274e58b2fa7134955464fd05ab36181b5861aeca31e2e05b27f0f58ac66d145bd56b SHA512 478552c72efe606cb1993024b81839c51d01f1c949564c007ab2b76016f110e1f7bd418e5de3f4f93b466ce7dbe6583d3c150830d1f28f75e0809625b568a7ec
DIST Python-3.5.5.tar.xz 15351440 BLAKE2B 217cb7f51e04d57983ce053ff4276d056e17c8223b6f3d87b69f556453fe2ae3d4dc2c1a6b9c2c6aad033cea9b40cd32264d8208cc81a1ec34ff252379bf95b8 SHA512 c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22
DIST Python-3.5.7.tar.xz 15324736 BLAKE2B 0f1dd80584385b7f859652c85dc6b51bf71cd9f1d53fcf1716c54e8ffc3d2a36ef9969956e4429ac1ba878dad1e9acbb5f82ddb6a9923886bf3c84b3327dfecb SHA512 83f57451e1d7082bf19e4e49a0902e9257e381836d9a04154a6b276135fa49e5c96b6869eed9ec4475e06b76556c1ae89f5cca111b762eb8b2dee6f65373e0f4
DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
@@ -26,7 +22,6 @@ DIST Python-3.7.2.tar.xz 17042320 BLAKE2B 79b06b7d38590b7ad00850a4323156bfee07c4
DIST Python-3.7.3.tar.xz 17108364 BLAKE2B ac86ea442519a02f0afcb0d0ec70cb288ae28df63fc9f575ee4d8e03e6e31aff9ad2ff18ff5787d922727bd1c6f1a488f94541cd9787ac932d041c93847dea34 SHA512 6d9b7c0f1764e0f655a39430a3af6f7b5e3c9b7166c042e780677a54b17ad4ca6d0d9cba262c82b1b70bba8f7c28883dad4cc0d7cc194fc7d2c1b5f4f08a763a
DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
DIST python-gentoo-patches-2.7.16.tar.xz 13904 BLAKE2B 218b46f8656f4a792dcd47eabca6d59a1558276b77676544991ee75914cd76dda84c36f43e72e477b850dd4cb52374d289f20dccd244a3b52ae5debaf3363432 SHA512 83f90545231c663a34c6925352a357a2b15997ac0362578a1893304c5070b5251922585ae8bc1bafb68d306bcddd4cdba4b6406648d473bd3e980eef65fe3ecd
-DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 BLAKE2B 2a636f5500f4c7d354f421133f086cba9a25c30d5feaaa2dc25c9c588125d7c9097baecaa11f31548fa598b5dc137ca310ad86222510c0a955fa632a6d0a4b06 SHA512 41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab
DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 BLAKE2B 4a7d71feff18c7c8c109bed10748348484d314183c3de3ec950d5ca5ce7048bb322c470f3f5bff2d63eb7f2ed99c0fe75c621df050273d9d118681b28926061d SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec
DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7
DIST python-gentoo-patches-3.6.8.tar.xz 11224 BLAKE2B 5fe38282bcf28df18e0bd37756c880ae191ea738dc92f1cf83f682cfdc52525b9c44287dc99191a73d75c90672ab501b56adf49515b35ff1fdee88c8dc07b175 SHA512 89e700663db25d6d78eee1d4bfdab686c5341a794062f3a63df3485ac0b58deb4b4885d24701f3ae138d06ca783be92e310e1100c6d633910c33732f3cb0d7df
@@ -34,8 +29,6 @@ DIST python-gentoo-patches-3.7.2.tar.xz 9776 BLAKE2B fe451c3fb44a1ace4489d1bc68d
DIST python-gentoo-patches-3.7.3-0.tar.xz 9800 BLAKE2B b3e1df06cc2c404f08d2da7ea7d44c3612c5b4f908c58d469084b4e78ee4c3024e57879b3f83027d980c9f5e065804e3e144ba734b1da357d3d073c22c14b02e SHA512 deeaf5fbd1d557d4c40c770c1bd772b835bf5ced1842b964fd8ad1aa652b706782301e8a860d6fd1909d90246a8f48a9aaf384d047fca594f96d6771c2901338
EBUILD python-2.7.15.ebuild 10811 BLAKE2B f828de10018c8a29ffec4fc405e5ad92f5d88c5230a4de428755a25494c65ff81e72e85e12a6de152381d4ffc54bdac04b1a699648331660a311b47b25e3c266 SHA512 d76caa98de7a649fab7d630bb14e2bfd38d74822ff42d863dd6d5307b0788d73490c6c83cabd14e126f477a17483bef2af7de5dda921b22e49f7e85ec35bcd18
EBUILD python-2.7.16.ebuild 10679 BLAKE2B 63282d1024e96d1c3f0c0cebcc4e039cb4a90a2098355cc02395d1937c41901ec979318e2ee7fd150932088b37f95f7ef65c751785d23589d36bcca14f38ab9c SHA512 6155aa7547b467974074c02d2e49ff639a10a10394f67771e23a0f17644a9a016ab46bb9480650aa3fbb721b5145d2fdb48bcff1246e8ca0235780815b3b8a55
-EBUILD python-3.4.10.ebuild 10845 BLAKE2B 7eeebc558502155185a83a0e510b57f9d0ff598aa4e503c51f92fc88d0c60d24f7b3f65167e62c499b4b77466cedc53a2723149e35cf2d3e2c937427acbc417e SHA512 f7fbc486c5609e8a6b73e639740ab56ccf8a3482e361f219944f88d9a975c97aa0c5edef2575f2af78ad689c67bc418e24af509c6cd8dc38bd868e89713a2dd8
-EBUILD python-3.4.8.ebuild 10635 BLAKE2B 6b8efbe96637839138d30d5962fdd0c1f8ec2ccc495a473ab99d911dae7cfabe16164f221d36523d8617e9fd56dd37a7369ae1770c120b1ed6d72a8a415d9be8 SHA512 d2f0a2f16cbe5e549b07bce9ad8dc3b6ad6db4ebcdf2dcc6f611b7c563504c62729b60a653b05528c6d9b69aac947f0d13156e759258861a0efae6619e2840ed
EBUILD python-3.5.5.ebuild 10835 BLAKE2B 3963285067d084dac6a95b3a362b47f097c25e3d2bc8699e47c66b2322aaa4cd4a59bf61774a075356f770ea4328f076650e10b5cf1789e9d312c974928e39f4 SHA512 8286b1a0494984743fdb7d0b7ea6c8a0a8a91f8774f67b2cbd10988a53cc3de3f1d0f5ba135e4b7fc59aa6edaf097363e56f69fd6d01f7d1973aa36797fcdc20
EBUILD python-3.5.7.ebuild 10999 BLAKE2B 435e939cbb4257522a80028dca5b13ff27a81042cbae0462ab85bc77ca1427d0d9e897a0634c5a10e9dd0ac742cbfb8af902b024c71b442403c0860f834c82a2 SHA512 2b14a19861dbf0a290b2b2d29d69527cb77a2da232d8ff74759469e8604314d6f386b455e23a33bda23ef4433a051730649f63a9987c9a1bb3ee50c3329c9c14
EBUILD python-3.6.5.ebuild 10176 BLAKE2B f12972b6a9e4890bd148e47e666f9e63b51bb2de34a1624fa99e3900a5e31092433b917d85a6044eb76dabb6f4bbaf354f35e8547bc91704a108d6f8dc079e3c SHA512 72ea63116b9513535d57682dae6d9f52a1cd26d4da4e1ecbecc67e8d11d6ef1a4764fdb863bfb8d74a42d19133035f0797af589c91293ccee3bb289e6b429707
diff --git a/dev-lang/python/files/3.4-getentropy-linux.patch b/dev-lang/python/files/3.4-getentropy-linux.patch
deleted file mode 100644
index 9f12389bb253..000000000000
--- a/dev-lang/python/files/3.4-getentropy-linux.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 5635d44079e1bbd9c495951ede8d078e7b8d67d5 Mon Sep 17 00:00:00 2001
-From: Victor Stinner <victor.stinner@gmail.com>
-Date: Mon, 9 Jan 2017 11:10:41 +0100
-Subject: [PATCH] Don't use getentropy() on Linux
-
-Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but
-read from /dev/urandom to get random bytes, for example in os.urandom(). On
-Linux, getentropy() is implemented which getrandom() is blocking mode, whereas
-os.urandom() should not block.
----
- Python/random.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/Python/random.c b/Python/random.c
-index af3d0bd0d5..dc6400d3b8 100644
---- a/Python/random.c
-+++ b/Python/random.c
-@@ -67,9 +67,16 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
- return 0;
- }
-
--/* Issue #25003: Don' use getentropy() on Solaris (available since
-- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
--#elif defined(HAVE_GETENTROPY) && !defined(sun)
-+/* Issue #25003: Don't use getentropy() on Solaris (available since
-+ Solaris 11.3), it is blocking whereas os.urandom() should not block.
-+
-+ Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
-+ implements it with the getrandom() syscall which can fail with ENOSYS,
-+ and this error is not supported in py_getentropy() and getrandom() is called
-+ with flags=0 which blocks until system urandom is initialized, which is not
-+ the desired behaviour to seed the Python hash secret nor for os.urandom():
-+ see the PEP 524 which was only implemented in Python 3.6. */
-+#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
- #define PY_GETENTROPY 1
-
- /* Fill buffer with size pseudo-random bytes generated by getentropy().
---
-2.15.0.rc2
-
diff --git a/dev-lang/python/files/python-3.4.5-cross.patch b/dev-lang/python/files/python-3.4.5-cross.patch
deleted file mode 100644
index 7a016ffbd488..000000000000
--- a/dev-lang/python/files/python-3.4.5-cross.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Lib/distutils/command/build_ext.py
-+++ b/Lib/distutils/command/build_ext.py
-@@ -729,7 +729,7 @@
- if sysconfig.get_config_var('Py_ENABLE_SHARED'):
- pythonlib = 'python{}.{}{}'.format(
- sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff,
-- sys.abiflags)
-+ sysconfig.get_config_var('ABIFLAGS'))
- return ext.libraries + [pythonlib]
- else:
- return ext.libraries
diff --git a/dev-lang/python/python-3.4.10.ebuild b/dev-lang/python/python-3.4.10.ebuild
deleted file mode 100644
index 5db97b347101..000000000000
--- a/dev-lang/python/python-3.4.10.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-
-MY_P="Python-${PV/_/}"
-PATCHSET_VERSION="3.4.6-0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
-
-LICENSE="PSF-2"
-SLOT="3.4/3.4m"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline 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:0=
- app-arch/xz-utils:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libffi:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:0=[berkdb] )
- ncurses? (
- >=sys-libs/ncurses-5.2:0=
- readline? ( >=sys-libs/readline-4.1:0= )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- tk? (
- >=dev-lang/tcl-8.0:0=
- >=dev-lang/tk-8.0:0=
- dev-tcltk/blt:0=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:0= )
- !!<sys-apps/sandbox-2.6-r1"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- virtual/pkgconfig
- >=sys-devel/autoconf-2.65
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-S="${WORKDIR}/${MY_P}"
-
-PYVER=${SLOT%/*}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat
- rm -fr Modules/_ctypes/libffi*
- rm -fr Modules/zlib
-
- if tc-is-cross-compiler; then
- # Invokes BUILDPYTHON, which is built for the host arch
- local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
- fi
-
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
- epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
- epatch "${FILESDIR}/${PN}-3.4.5-cross.patch"
- epatch "${FILESDIR}/3.4-getentropy-linux.patch"
- epatch "${FILESDIR}/3.6-disable-nis.patch"
- epatch "${FILESDIR}/python-3.5.5-hash-unaligned.patch"
-
- epatch_user
-
- 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@@"
-
- 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
-
- # 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
-
- BUILD_DIR="${WORKDIR}/${CHOST}"
- mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- ECONF_SOURCE="${S}" OPT="" \
- econf \
- --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 \
- --with-system-expat \
- --with-system-ffi \
- --without-ensurepip
-
- 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 || die
-
- cd "${BUILD_DIR}" || die
-
- 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
-
- cd "${BUILD_DIR}" || die
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" 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}
-
- cd "${BUILD_DIR}" || die
-
- emake DESTDIR="${D}" altinstall
-
- 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 -f "${ED}usr/$(get_libdir)/libpython3.so"
-
- # 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 elibc_uclibc && rm -fr "${libdir}/test"
- use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
- use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
-
- use threads || rm -fr "${libdir}/multiprocessing"
- use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
-
- dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
- doins -r "${S}"/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
-}
-
-pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn
- ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
diff --git a/dev-lang/python/python-3.4.8.ebuild b/dev-lang/python/python-3.4.8.ebuild
deleted file mode 100644
index 33fdfa12e3e4..000000000000
--- a/dev-lang/python/python-3.4.8.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-
-MY_P="Python-${PV/_/}"
-PATCHSET_VERSION="3.4.6-0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
-
-LICENSE="PSF-2"
-SLOT="3.4/3.4m"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline 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:0=
- app-arch/xz-utils:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libffi:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:0=[berkdb] )
- ncurses? (
- >=sys-libs/ncurses-5.2:0=
- readline? ( >=sys-libs/readline-4.1:0= )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- tk? (
- >=dev-lang/tcl-8.0:0=
- >=dev-lang/tk-8.0:0=
- dev-tcltk/blt:0=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:0= )
- !!<sys-apps/sandbox-2.6-r1"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- >=sys-devel/autoconf-2.65
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-S="${WORKDIR}/${MY_P}"
-
-PYVER=${SLOT%/*}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat
- rm -fr Modules/_ctypes/libffi*
- rm -fr Modules/zlib
-
- if tc-is-cross-compiler; then
- # Invokes BUILDPYTHON, which is built for the host arch
- local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
- fi
-
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
- epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
- epatch "${FILESDIR}/${PN}-3.4.5-cross.patch"
- epatch "${FILESDIR}/3.4-getentropy-linux.patch"
- epatch "${FILESDIR}/3.6-disable-nis.patch"
- epatch "${FILESDIR}/python-3.5.5-hash-unaligned.patch"
-
- epatch_user
-
- 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@@"
-
- eautoreconf
-}
-
-src_configure() {
- local disable
- 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
-
- # 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
-
- BUILD_DIR="${WORKDIR}/${CHOST}"
- mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- ECONF_SOURCE="${S}" OPT="" \
- econf \
- --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 \
- --with-system-expat \
- --with-system-ffi \
- --without-ensurepip
-
- 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 || die
-
- cd "${BUILD_DIR}" || die
-
- 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
-
- cd "${BUILD_DIR}" || die
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" 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}
-
- cd "${BUILD_DIR}" || die
-
- emake DESTDIR="${D}" altinstall
-
- 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 -f "${ED}usr/$(get_libdir)/libpython3.so"
-
- # 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 elibc_uclibc && rm -fr "${libdir}/test"
- use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
- use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
-
- use threads || rm -fr "${libdir}/multiprocessing"
- use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
-
- dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
- doins -r "${S}"/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
-}
-
-pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn
- ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 8fcc489b4647..e881da5d2789 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -20,14 +20,16 @@ DIST ruby-2.5.5.tar.xz 11459832 BLAKE2B ced1105a87e7df8f82a65ca8d1d329d5a9d110d2
DIST ruby-2.6.0.tar.xz 11918536 BLAKE2B f51fe57c1ff83d99c834f29d1bcc8e847f7a4cd3a10e202391327373d9d803fcc356d210cc07b9038915039a7462c0263fa7567b63366d1ab6273b9a82e651d1 SHA512 c56eaf85ef7b79deb34ee4590b143c07f4fc83eb79775290761aee5a7c63374659613538a41f25706ed6e19e49d5c67a1014c24d17f29948294c7abd0b0fcea8
DIST ruby-2.6.1.tar.xz 11872964 BLAKE2B 789d1a174b02538e92a66372814b8be45f30187f99df15922e3dd899222fd5feea196ed0a352a19246d8c822e0eb97e8f4ff8229a6c00ac5c60cb214460b7289 SHA512 fb36289a955f0596c683cdadf1e4a9a9fd35222b1e1c6160c2e7cd82e5befd40a7aa4361e55f7a8f83c06ee899ec493821c7db34a60c4ac3bca0e874d33ef1a9
DIST ruby-2.6.2.tar.xz 11889840 BLAKE2B 817919c078869c2ad8d5c9d8c8b7ee77e8b0e3339c2ef662a94a666a859f762fa63c6f8534027abd368e91fe4e3e1fe68fa984cbf12f76cff8c0c66f0114914f SHA512 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a
+DIST ruby-2.6.3.tar.xz 11904360 BLAKE2B 8113e5a19b967cdf995a3c8d3c83aeab3bf89e975d3b039c64259e97f20dbe9ebd96ada093f9d330516d16ef78bb0ecbbac8f3facd467aa13f1f70b23b992f82 SHA512 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8
DIST ruby-patches-2.3.8-r1.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1
EBUILD ruby-2.3.8-r1.ebuild 6877 BLAKE2B aa01c8cecf39d0ff2f221d4b51a79d258df1a31687bb3b18154ffd4b998fe73e43304339eb3d49ed6b691ac96cb821730c866a180d4199d8659dc53b24a43790 SHA512 03bfc466d6f8890c353056d702c9af7c0dd789606d3f7b3f83b087ab5bdb619fafcf6fd1021e73b5f37b78fa9214b9a473ba2b3619ea7e51a13fe2d35ad7cce0
EBUILD ruby-2.4.5-r1.ebuild 6653 BLAKE2B a62d8e82bcdd8dc0fe40b23163a202789df2345a237905180c3f1a87b48664d959492cb9b488125b363d04f3d5e69398f260c4cddba14d6c19587445e6a56dcb SHA512 878744fca945aca6dd9a4a66c4030b52868da3aa44256974131ddbe0f4aefd2916388b389b458bd58e670114a32c01e2024084dde2e5cc472344508c8656112b
-EBUILD ruby-2.4.5.ebuild 6639 BLAKE2B f65d2222da50c671e2a3f369ead18c7a736709a3fa5b5630e92f7faf2f0e4d81add663b63de91e94432786997099ea8efb98222dc40f2d83cc39f94410908afe SHA512 31e9207b49054adc86796f24baf271b6bd7ed1ab55417c5ca34b287644d1d9b5a82fd08564b24f1e5760a6258d554cc94ff56b730f211aa420161aa34ef13e64
+EBUILD ruby-2.4.5.ebuild 6638 BLAKE2B 60776351e5ae33272a850e56380e97e31e847ecc2465af1fbd248412420fd059d64d874b405def2a27cdb0607338adb26d23832370a3bd2570e2997b14a75763 SHA512 8dd3dd6f0eed58577c126da3b6d2a777b5b31b1d445acaf887cd5f47e6ce3cb65317903a895bf0655e4c82f2d1ac8aec4bf6d72b818cbf788de844818839f2ca
EBUILD ruby-2.4.6.ebuild 6653 BLAKE2B a62d8e82bcdd8dc0fe40b23163a202789df2345a237905180c3f1a87b48664d959492cb9b488125b363d04f3d5e69398f260c4cddba14d6c19587445e6a56dcb SHA512 878744fca945aca6dd9a4a66c4030b52868da3aa44256974131ddbe0f4aefd2916388b389b458bd58e670114a32c01e2024084dde2e5cc472344508c8656112b
EBUILD ruby-2.5.3.ebuild 6441 BLAKE2B 9c8fd5b761a8653983be1a7e37df0f7b515dab2bf566ee9d8327635f47d2605904795bc90a6396d1c7b667c3792a4fc0f45683bdc6b8b63def204129189e2afa SHA512 f875337bd521bd1dec9543f95079a025c214c925f18deee54e477010ad2f9a7fe7ca65b26a614081023c6551661bdb8dce0ce55415ce99c83b5fb9c52ce6db86
EBUILD ruby-2.5.5.ebuild 6441 BLAKE2B 97c692de717b9d44e0d9b8d103724ec38d21dff92abf72cadd0d71be84a06571de25e03df7b7504d5454d2a285d2e4d35111d86b0243d4e5c354e08286160af4 SHA512 f92219d85d450f8a4fbc6a234bde80e697a5227039648a57cae6232072311298f9f347ee38cfb7bc3a3d05d758fce3a1e19de367fa40b1b3c545f5c4895a7957
EBUILD ruby-2.6.0-r1.ebuild 6890 BLAKE2B d6fba006b8616d5a2f1d71fc2c61c9f347d43a595b175e14fb3cd66f9484815147c783db0798253b9e055da8cc8430d8ad29912f2f9269108390f19c833cfb5a SHA512 47cafef57f8cd522263f09c1b412fc09904be59b1a2cf2f16ad84c48b1683103adffbe38a4e42e989cde50ecf23c34f9b61163f9193c9188ad2a535207a52110
EBUILD ruby-2.6.1.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55
EBUILD ruby-2.6.2.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55
+EBUILD ruby-2.6.3.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55
MISC metadata.xml 824 BLAKE2B e426ed390cdea118f3301d329ce93729095bafb0a04db9a64edfd709251d6f16f91153d56976f99b82d7a9df4a452513d65593732ccbd7f71332870b52f369a7 SHA512 b6f4fab5888fb9605164d7f627edc86514ec2f83d9dd8c74003ccc5a0d9b6a306986930e027e81f09928fc7ac6677a7de58cebf75c31c2ada73e2a506a447453
diff --git a/dev-lang/ruby/ruby-2.4.5.ebuild b/dev-lang/ruby/ruby-2.4.5.ebuild
index bcd79ecb3247..549506214159 100644
--- a/dev-lang/ruby/ruby-2.4.5.ebuild
+++ b/dev-lang/ruby/ruby-2.4.5.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
RDEPEND="
diff --git a/dev-lang/ruby/ruby-2.6.3.ebuild b/dev-lang/ruby/ruby-2.6.3.ebuild
new file mode 100644
index 000000000000..9ab0d7c1a5d6
--- /dev/null
+++ b/dev-lang/ruby/ruby-2.6.3.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic multilib
+
+MY_P="${PN}-$(ver_cut 1-3)"
+S=${WORKDIR}/${MY_P}
+
+SLOT=$(ver_cut 1-2)
+MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
+RUBYVERSION=${SLOT}.0
+
+DESCRIPTION="An object-oriented scripting language"
+HOMEPAGE="https://www.ruby-lang.org/"
+SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz"
+
+LICENSE="|| ( Ruby-BSD BSD-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( sys-libs/gdbm:= )
+ jemalloc? ( dev-libs/jemalloc )
+ jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl )
+ )
+ socks5? ( >=net-proxy/dante-1.1.13 )
+ tk? (
+ dev-lang/tcl:0=[threads]
+ dev-lang/tk:0=[threads]
+ )
+ dev-libs/libyaml
+ virtual/libffi:=
+ sys-libs/readline:0=
+ sys-libs/zlib
+ >=app-eselect/eselect-ruby-20171225
+"
+
+DEPEND="${RDEPEND}"
+
+BUNDLED_GEMS="
+ >=dev-ruby/did_you_mean-1.2.1[ruby_targets_ruby26]
+ >=dev-ruby/minitest-5.11.3[ruby_targets_ruby26]
+ >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby26]
+ >=dev-ruby/power_assert-1.1.3[ruby_targets_ruby26]
+ >=dev-ruby/rake-12.3.2[ruby_targets_ruby26]
+ >=dev-ruby/test-unit-3.2.9[ruby_targets_ruby26]
+ >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby26]
+"
+
+PDEPEND="
+ ${BUNDLED_GEMS}
+ virtual/rubygems[ruby_targets_ruby26]
+ >=dev-ruby/bundler-1.17.2[ruby_targets_ruby26]
+ >=dev-ruby/json-2.0.2[ruby_targets_ruby26]
+ rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby26] )
+ xemacs? ( app-xemacs/ruby-modes )"
+
+src_prepare() {
+ # 005 does not compile bigdecimal and is questionable because it
+ # compiles ruby in a non-standard way, may be dropped
+ eapply "${FILESDIR}"/2.6/010*.patch
+
+ einfo "Unbundling gems..."
+ cd "$S"
+ # Remove bundled gems that we will install via PDEPEND, bug
+ # 539700.
+ rm -fr gems/* || die
+
+ einfo "Removing bundled libraries..."
+ rm -fr ext/fiddle/libffi-3.2.1 || die
+
+ eapply_user
+
+ eautoreconf
+}
+
+src_configure() {
+ local modules= myconf=
+
+ # -fomit-frame-pointer makes ruby segfault, see bug #150413.
+ filter-flags -fomit-frame-pointer
+ # In many places aliasing rules are broken; play it safe
+ # as it's risky with newer compilers to leave it as it is.
+ append-flags -fno-strict-aliasing
+ # SuperH needs this
+ use sh && append-flags -mieee
+
+ # Socks support via dante
+ if use socks5 ; then
+ # Socks support can't be disabled as long as SOCKS_SERVER is
+ # set and socks library is present, so need to unset
+ # SOCKS_SERVER in that case.
+ unset SOCKS_SERVER
+ fi
+
+ # Increase GC_MALLOC_LIMIT if set (default is 8000000)
+ if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
+ append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
+ fi
+
+ # ipv6 hack, bug 168939. Needs --enable-ipv6.
+ use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
+
+ # Determine which modules *not* to build depending in the USE flags.
+ if ! use berkdb ; then
+ modules="${modules},dbm"
+ fi
+ if ! use gdbm ; then
+ modules="${modules},gdbm"
+ fi
+ if ! use ssl ; then
+ modules="${modules},openssl"
+ fi
+ if ! use tk ; then
+ modules="${modules},tk"
+ fi
+
+ # Provide an empty LIBPATHENV because we disable rpath but we do not
+ # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
+ # #564272
+ INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
+ --program-suffix=${MY_SUFFIX} \
+ --with-soname=ruby${MY_SUFFIX} \
+ --docdir=${EPREFIX}/usr/share/doc/${P} \
+ --enable-shared \
+ --enable-pthread \
+ --disable-rpath \
+ --with-out-ext="${modules}" \
+ $(use_with jemalloc jemalloc) \
+ $(use_enable jit jit-support ) \
+ $(use_enable socks5 socks) \
+ $(use_enable doc install-doc) \
+ --enable-ipv6 \
+ $(use_enable static-libs static) \
+ $(use_enable static-libs install-static-library) \
+ $(use_with static-libs static-linked-ext) \
+ $(use_enable debug) \
+ ${myconf} \
+ --enable-option-checking=no \
+ || die "econf failed"
+
+ # Makefile is broken because it lacks -ldl
+ rm -rf ext/-test-/popen_deadlock || die
+}
+
+src_compile() {
+ emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" || die "emake failed"
+}
+
+src_test() {
+ emake -j1 V=1 test || die "make test failed"
+
+ elog "Ruby's make test has been run. Ruby also ships with a make check"
+ elog "that cannot be run until after ruby has been installed."
+ elog
+ if use rubytests; then
+ elog "You have enabled rubytests, so they will be installed to"
+ elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
+ elog "than root, and you must place them into a writeable directory."
+ elog "Then call: "
+ elog
+ elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
+ else
+ elog "Enable the rubytests USE flag to install the make check tests"
+ fi
+}
+
+src_install() {
+ # Remove the remaining bundled gems. We do this late in the process
+ # since they are used during the build to e.g. create the
+ # documentation.
+ rm -rf ext/json || die
+ rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
+
+ # Ruby is involved in the install process, we don't want interference here.
+ unset RUBYOPT
+
+ local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
+
+ LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
+ for d in $(find "${S}/ext" -type d) ; do
+ RUBYLIB="${RUBYLIB}:$d"
+ done
+ export LD_LIBRARY_PATH RUBYLIB
+
+ # Create directory for the default gems
+ local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
+ mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
+
+ emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install || die "make install failed"
+
+ # Remove installed rubygems and rdoc copy
+ rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
+ rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
+ rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
+ rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
+
+ if use doc; then
+ emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc || die "make install-doc failed"
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r sample
+ fi
+
+ dodoc ChangeLog NEWS doc/NEWS* README* || die
+
+ if use rubytests; then
+ pushd test
+ insinto /usr/share/${PN}-${SLOT}/test
+ doins -r .
+ popd
+ fi
+}
+
+pkg_postinst() {
+ if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
+ eselect ruby set ruby${MY_SUFFIX}
+ fi
+
+ elog
+ elog "To switch between available Ruby profiles, execute as root:"
+ elog "\teselect ruby set ruby(23|24|...)"
+ elog
+}
+
+pkg_postrm() {
+ eselect ruby cleanup
+}
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index addda9851827..7865c422d935 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -69,10 +69,38 @@ DIST rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz 126030216 BLAKE2B b1d1b996b8
DIST rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz 130922680 BLAKE2B db63d859631703e845efac57074e0f33f80a3b52b2e9dc8707b81892eee8fc922fa5a7d4b7b1f45fb5f19ea4d7f6fde9212f1c6e99e7e4c30dbc02aa87b0df7e SHA512 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144
DIST rust-1.33.0-s390x-unknown-linux-gnu.tar.xz 134441220 BLAKE2B e6f0a6e54e4e1fde10f54f66615d44442b7cb5eb5bda43d55ee791328c7ecd61505b3d84719df82b7c5c7ae473b7041512f2cf346281518d7d78d0e22112fa05 SHA512 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205
DIST rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz 155298128 BLAKE2B af5bc628bc054bd354d5af78e53cd2ffbfbdf2c2d3a3e58eeb593f148c54024fa5905aa53a69c514d6d41e48688697e1ce8adb866817c77cdf541399f6e7956f SHA512 b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8
+DIST rust-1.34.0-aarch64-unknown-linux-gnu.tar.xz 120855004 BLAKE2B cdd8a4d4504577eab17aeefefba08253312061f2c6092026a98a3190f3003f5bccb741e9fbcdcea29dd38b494b9f0ea6412afb345ef2488c95ddbb6e58b60daa SHA512 de477af06ec3e7260d9071d9f18a84463125492f1f98df0b4422743fbd1db0dc0ee488bce93738ee394169af4eeb94be84dd19fab1c7fc6eda79431a26d2d24c
+DIST rust-1.34.0-arm-unknown-linux-gnueabi.tar.xz 122526516 BLAKE2B 396eb99c20fba62a15093a82e7d2df3d03d91cc97b9601294b0dc0866c2c8a251bd555ce86597db4d68de94055aaecf01efdf011cf4af2a1f35f00ffacb7c3ce SHA512 afd953d6109781f510532f7e2e8344842b07171e1fc2f56a3be50a77bba79820e0dc7bcde4419f1f218ee3f1628284b3c42e63b3dc8ee7fad86c751d419f623a
+DIST rust-1.34.0-arm-unknown-linux-gnueabihf.tar.xz 122918872 BLAKE2B 9cc2878f69e32c39af32928662a5351d4ff810fd4d6a9dde5e73737cbc4284e6f813687fee4c6ad9bb0e87b912b06b289e7b06eff4ba87f1b6bf802800effa14 SHA512 8ae0a5ba27f983b4fc33e1c928451c5dca0ee04b96448a1f18448605b91f5433da1ccd964c6650f19248b89ade5e92631a78550d609a169a370beaf6d01233a9
+DIST rust-1.34.0-armv7-unknown-linux-gnueabihf.tar.xz 124648648 BLAKE2B 409f4a991672bbd130913ba63920abf687cb7bde43f1458284e23b31531d4339d0cd935515edd5da1f2d49059860d3932ca2bd5f017b9df77f5075f742518575 SHA512 923b2e81c6e388ee293a5550c06181ec0ae91b61055716e226c445b7036e758c1b8e988c125baadf0501e17f7ede0eb46ad43ec55038d36a9443e92fc297dcb0
+DIST rust-1.34.0-i686-unknown-linux-gnu.tar.xz 169552532 BLAKE2B 15ac40601d2434da1f3f37a20417804678317a2f23f0494a2c0dacdd2a41fa7b2a385f0744a8cfcd730c4bf4ed77cdb6f5343f4ccdbd30da6a5d58a0328a0282 SHA512 b0a8c022e3ba2df82827a02c9647c18649c8aa0e6cf830957883bee1013cb11dc36e8e26cef4531068d3a14af0f854256cc273732033b36c8f696392b918fcb5
+DIST rust-1.34.0-mips-unknown-linux-gnu.tar.xz 113552848 BLAKE2B fc2eac31b4e2d106fbc5bd7528cc8d05452aa5e95943edea7e0802e2e05e4246d26a22c79ad3d55cbf940459f0e6c8cd98022ecf3fd964e7d027b0edfcd67122 SHA512 c9dc9043aba2882b426dcf330701ff9912a0417c7b80b5f4cafea2d1934f68eb15a1bf0aaf8cbaf728bc56ff32a8250ed47bd123b8f784184b5e59442160eb3c
+DIST rust-1.34.0-mips64-unknown-linux-gnuabi64.tar.xz 119139144 BLAKE2B 9da97e096105aa0c5d94b0357fd27af209484bb393333c77fc66501b39ae94dd96044828848cd1f1bb5b588f4bd8fa984389d3dccfc3cd077e0fa24245d66bd6 SHA512 f1dc0e81ea0387f8689d5b2168690c5e85a03b5a04a14ba6c7ff28d90c2a0b8d7698f7585754870940d547ea006c1ab18127197a36548e1fc4f8ff08f5529302
+DIST rust-1.34.0-mipsel-unknown-linux-gnu.tar.xz 115847776 BLAKE2B 79a2023ea85e6e8fdad4d1d6b4a48fe724850db0f1ee5c7ae1303242a59e3ef5c383f5ed9c4959b04766bacf9c56b4d8f1d4c87580558d44790a3c94dbdeddc5 SHA512 07e7da6467771b455ed94b83451a45cc582cb86cd57949dbdef4beb38eaa01f7e9f0799d49864c014891a5ace39fc09d909585058f6c46f0799bc1c6f9734f2f
+DIST rust-1.34.0-powerpc-unknown-linux-gnu.tar.xz 116836732 BLAKE2B ed6cb4c0974b9f40726d3331973fbc632427a9bfb35cabdffe5b81fff3ed71cc55f7fcbbfda9a579cfa646637242e40a7c9c38fd36cf69f5ec125b4df494c370 SHA512 d9f89a0f90eaf9898f6d46deb84327cdda15b3d92599e8c27c11708115bebc0914076576cced6628f69ae2035a50f78eb2a5e695e1028cec900cc7b0f26a29b4
+DIST rust-1.34.0-powerpc64-unknown-linux-gnu.tar.xz 125810152 BLAKE2B 6ae7fd1e78638dc807c6633b567f11372e7c6f8cf8f9fc381d39c39d8f43bf714609298566cd92fee1db6eb1d4da3ca607deed90d6509546cbdf4dbd12dd291a SHA512 f1c044a8be65075f40f9358e9d4258cee19a14c2de42b6c161b325f65529dd9bcedb0f3078de624c0b572b85f5bbd1be93dc2049eadf658815d60b8d6835a689
+DIST rust-1.34.0-powerpc64le-unknown-linux-gnu.tar.xz 129639888 BLAKE2B eeb3e27d677f5dd816ca8395e66bb063d3f0a82af9ed1a123f9bcb1124441e740a8e8511c848f10533398a0008b6b1668a1f4bbcecdacd1772eca02a89164456 SHA512 2bf9aa71af041c45e29ad8d10d96088e4fb04dac70bd278f9896b25b63c4c673bca954aaf3a139ef13100e252871d0a1fb4c69d5b88b1ac3fe8657642580e802
+DIST rust-1.34.0-s390x-unknown-linux-gnu.tar.xz 134441480 BLAKE2B 423071ec0799f0b0608b71b7d3e65e6797474f4769adb22756b467187dcbe95cb8f377f3574571d9d45a890372fac037e66b4ff23691ae28e545b8e451ec23f9 SHA512 14f46e08f0251ed302ad71c20b5797cd73063b0396fb6654b8d5ee9e27d59f9477a4819a1ae8e04ebd8b25006e92f43a0ef9b2fc53e5029b621746a256153f3c
+DIST rust-1.34.0-x86_64-unknown-linux-gnu.tar.xz 157382624 BLAKE2B 0e87efe48dfe5a9b588ea86378057a31c84b08f5f1bc0740c197962d8cae320b0418c42efdf7573dd22fbfd829f29f2a1d1a8c942d65051c14c2fe25cfe15071 SHA512 2ad2a9a2871be53498876db6146e6bff12c4f63a0cb3f71cfdc62602cf7be91ef3a9f6a2ba8f426d68e5ed31ae53c5d28fe4ca898e4774227bb98b770b0a36c4
+DIST rust-1.34.1-aarch64-unknown-linux-gnu.tar.xz 120842956 BLAKE2B 12593640903692fa651ef392accb7e438225d4b29886964244afe1e7d62d7a255a065baa931109b87f0aab3caa6394d67075abd77c27f1343c500dac831014c5 SHA512 9c0b09faad1b19f3d758657ce37dbcc94a1fe76857648d90f51dbebdbe169183eb86a267d920b4bc88f7cd8c057d77bcafc2060082eee27a18c6e965098f21e0
+DIST rust-1.34.1-arm-unknown-linux-gnueabi.tar.xz 122498772 BLAKE2B 05da544b995c371ba189ac89b2ccfe172c0700cf487d30a456ae3ce63f68ec8cd56ec0f339acc8742910c14bf135c9615224dbdd1e593fd41ba8457ae148ffa4 SHA512 edf56e72e88484226c4a97e3741b2074cc720e134d093d31d4e7df93ab15aa4700a4daad718fb8bd4073f41f7de6950b6ff901704a7b15e8d966dfa03625c89a
+DIST rust-1.34.1-arm-unknown-linux-gnueabihf.tar.xz 122856028 BLAKE2B 916355132d3a9f7a2f3845f03a48d2dbcae5cfac03af510c0453eb51f65f83c4cb3acc93e32deed96d534b048de595e13168b6d83da03ccf1d575083408be524 SHA512 42edef7faeb76e31449193348445c89f1958380c14c31b9b5ecfaa32cb6b32ede46edf9a450993a475152bc3b9e342d2432513bd0e80196964ddb2cd8ec80400
+DIST rust-1.34.1-armv7-unknown-linux-gnueabihf.tar.xz 124571496 BLAKE2B b5282d706352e39dd986afd68565a0eb35b029f3b513e5c3e4e07dc4fc36a351536e4976c65db532acd9db4d07ea24ec5bb65238571e5bf17f0d9589c889aec5 SHA512 5955acdfba0f330903fdb3e2b550db246c91dedc1a42a56818c918e1ce656217d0a6117a1493e444ba35187a5bb4ecb78a8ace76aff1741aa7fcedef97741068
+DIST rust-1.34.1-i686-unknown-linux-gnu.tar.xz 169612152 BLAKE2B de955ed364060f5458f2c65a51c8b9e75f881bf1e3a1d5f53847205684ef8ac856d459f2f7552f746100fc8f9f8732a5b44cdddb5425f23f6754ba874834d106 SHA512 a68a69107d21f3cf9a5541a85d96cbe64aba6fa0f433690643edcb837c029276d14e72b0b7500257e57aeee476d516bd0eb09fe1d558118a67bb9c986b218ca1
+DIST rust-1.34.1-mips-unknown-linux-gnu.tar.xz 113489824 BLAKE2B caf2a320cb579b65da17383749ecb35ed3f8a3774b2ceab3cd9ed84d4d6b2462c4c69dbc8d95a8de653ccb8b3fe2ee52044a955bad073cfb627b6a00378c235a SHA512 9e6a50541cacb7242c99b63094f6150b466ddfc1306b5912b3dfd46b11babc87e2cbd97c8c8ea7be3df6f40ae10f79ca169476408c83730cedd1260d2e096809
+DIST rust-1.34.1-mips64-unknown-linux-gnuabi64.tar.xz 119091428 BLAKE2B 2075aafbcbde8c27c232446165ed7d1cde0fdd3d00df3ba82ec768cd0e4ce88ec2f7498600482c49c74a4e9e383fe5ca9ab00f6d18307518c284adbb73415920 SHA512 b8f9762ed07a83291d04263acd277a466f65d8a05fe34381e608368aa3c94a41e942ed724694814db52a36d19f6ba0c8902238266d6c981cd2b0eb6b10308821
+DIST rust-1.34.1-mipsel-unknown-linux-gnu.tar.xz 115830252 BLAKE2B 62213b476a806acaab54849fc463cfdd363ae74fd054fe2084063c40ce132bb17eda20182fb1971763b0c77de877bfd8225d87f954c4d6f7d9af5be18a723d44 SHA512 bbc8c0eb907caf3efa6e0e6b4d8a77121c95024367f5e8b42c32e67b5c19394044d98fa96492d35b0f83472316a99824c6291a6839baf44ba271afd5e41200a5
+DIST rust-1.34.1-powerpc-unknown-linux-gnu.tar.xz 116813560 BLAKE2B 52060b202cb504d06e9d3b34e1c2ce22ccc7faed5d259b7d671ea05b73dae3313738090ffddffebf1b5e4cb59585ef8ff266ca07ae39429a40a412406e2e7b47 SHA512 67cfb13bb0d2b05729cfb1fc3d243a28ead878fe1b766c6f94f2f24555c595719e504aefd0e3c69bafc1dc64f27471c9055ec4cb00a2009e9a747d3af496b05a
+DIST rust-1.34.1-powerpc64-unknown-linux-gnu.tar.xz 125707228 BLAKE2B 51261982774dcb4f644ba1e6f401406e22871bbc9d92584ccbb941929a045bb5bf2ef34b4c8c30fe401fa11939208379e8aea48e89badd85cc8529f2051df32e SHA512 d26208042f31624acc38846973d4e2f5b6d8eb00b5661083e42bfe3a0e960fa9b1fafe5d7cd803acb9ef82082d2ee818043dddf52e6d0df0eac44e022f5086e6
+DIST rust-1.34.1-powerpc64le-unknown-linux-gnu.tar.xz 129553036 BLAKE2B 5a069bdb4ee78ee9791c4d38d5fa999b5503f7969fdf1c97ec71fca00c659dfc83a27749549f14c3cf37288c9ad5e809eb3ece7b7cd436b9dd6086f837c31bfe SHA512 539d76729b96fc7047f785f167926e6673f3ff02e06fdd78c23b4b29228b60f8151b3b1455a83e3b7f81ec3d428e3980f3607e07c505e62e84cf1afe5b0c03b4
+DIST rust-1.34.1-s390x-unknown-linux-gnu.tar.xz 134397572 BLAKE2B e51487209fca4dd894abca3b6a1c595ca00ef6c6248dd9ebfc3899ab1d40b2c24d1841579acf251350b28ae57db9648dba7bb19b2d523771e63c91447d2373c5 SHA512 20ef3fe57537d09d7f230e57db59fa2030fd6378e911dc2cfec47849c6a551d48e7d54824770aa00751f953f895a7718832a687b3be5f632d8c95c2e5fed0861
+DIST rust-1.34.1-x86_64-unknown-linux-gnu.tar.xz 157366684 BLAKE2B c55f03046d7aa98372b8642152391536f8bce4f7e39a1d1292e44b0f434e8278fe7353362f35c966dad7a985849b5ab94977b7320e8b15f54a0b360d9ae8ff54 SHA512 88226cc1c4492fec35ed32433d9f1a2a2b284d5803d37111ff3d1ee63b2f0500722ea1b9a771cd80853dbc5b9a0ad382baeb362d7edf82ef49a093ae780470ee
EBUILD rust-bin-1.29.1-r1.ebuild 5626 BLAKE2B 7d27715a7beb483ccf7062437993a36d05a0ed427d8f6774301575b93135382f97edac7fd2bd449e6d6ad6a98793cb09d5d8f27cc037e85c76712a5e1226c071 SHA512 75d18f6228221d9d465dbf32fcccb06246dc93bfddc4f7e54a50871e67f7bb5282e6b2fb1939103572969ea04cff51470a9e44093f5d9aff442ae493489082f2
EBUILD rust-bin-1.29.2-r1.ebuild 4713 BLAKE2B a68d944fcf5c107d1af181d3549423505d65897a2d3ddd2e041f14dceceb3b99e1a9b4552df333b20c7356279befbd5992e41188c4a4351438c5221aae821060 SHA512 befff3078c9a71be9532ba8f0b59899de2bf5c3a3d44189b4daa7cc8f27f7620d010f5e4590ebd663090a5ca3f2bf6bf2016e6b8a392b8f1ea39cf0b7a71afff
EBUILD rust-bin-1.30.1-r1.ebuild 4462 BLAKE2B 46e87d76b2f80c9cdf25d32fb8923f47b2c54b3522a5f19df1317e3b0c167918e5eb17aa8ce6c4341c1e020d632d80b1d1389b2b45ecb7c9e38cf29d218e974a SHA512 a677a84aa5a8e588c7218b709eda7dbdb69453da6e6135b3c419257662e96cf30be17eac5336ac5def27c43871cbd4245420403816b2f228f74b5b0c318400e4
EBUILD rust-bin-1.31.1.ebuild 4450 BLAKE2B a4c35b3a113d18c684b63831ef241b3cc7611244915d38f9872cfb370a6b4454059af17d9161fd6fe35a10523495c409bfceb7bb74606a85db965eef9621a38f SHA512 46722a36c23be6bccfb79a9e57522b4642c7b7cd2672171324aef35b96d8636af395f95118795c2cc7e8aa467b9ba70fdcbb1655cc17f0907920df939f81be9d
EBUILD rust-bin-1.32.0.ebuild 4856 BLAKE2B b7099ca2e312bf344a609ad0c13a2c8662aa954f4c28941014309d7a942ce4dee5b7baeb76b4220f414997c444bb79642992e1247046b78dff1830f65cafae5c SHA512 98153414cc7bbb78e38060af97baaef9dfc67289dc5338eeee9618a219c25fb2b9ad2f25e786e7cc277e87faa96912c0236b9720a60d4fc2c9ba1d0bb1027659
EBUILD rust-bin-1.33.0.ebuild 4856 BLAKE2B b7099ca2e312bf344a609ad0c13a2c8662aa954f4c28941014309d7a942ce4dee5b7baeb76b4220f414997c444bb79642992e1247046b78dff1830f65cafae5c SHA512 98153414cc7bbb78e38060af97baaef9dfc67289dc5338eeee9618a219c25fb2b9ad2f25e786e7cc277e87faa96912c0236b9720a60d4fc2c9ba1d0bb1027659
+EBUILD rust-bin-1.34.0-r1.ebuild 5062 BLAKE2B 983065a54c6673aaf9b003dc29adf46c72fa1951c7a9a2154cfd979886a274a025bf931309d6cf4ffbafb21a8b5071687681b4e79068206f439cfae5e3b4ffb4 SHA512 307e57cf0b17c1f5bc6a4bc3fa36504960f9ccb41ed942d8a169afae66fc609c15295b8b3ee9e7500a01eb27c731b070137b2c460d3da097d4be673518e7d714
+EBUILD rust-bin-1.34.1.ebuild 5536 BLAKE2B ba6dc2eb563381201e7314c982efb1b8247747498beacd70089ac82a7447f60ad70a47aa6928367a55d79fcf091908236b09140a6c8ee407a8fe85021aebb0a1 SHA512 4cc45da4078021b18e6ef4f409218abe68519aa42fd4f0f53491fca40cd0f19bb5f425180ee3b1b53f065f82820d3a157e59718793d24a9c629cadb43241457d
MISC metadata.xml 435 BLAKE2B 5725f771e138720715bb1a5f317bbe0757d981da2059320e5be70583c3a98dcc4fc23141a3b489cdcffa2a53dfaf621b0ee0336a3ca6a05bf7bf8db1b06cf0c3 SHA512 af938d75754d54ed33a87410cdac16fe4b74614e3c5e352c2c1f906137f0a3e96a2eb1036d0aa7b2a17b629b05d44fdf44348b53f7720c770c6e6cae2a715f16
diff --git a/dev-lang/rust-bin/rust-bin-1.34.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.34.0-r1.ebuild
new file mode 100644
index 000000000000..ca8ec5ef8c12
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.34.0-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils bash-completion-r1 rust-toolchain toolchain-funcs
+
+MY_P="rust-${PV}"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+SRC_URI="$(rust_all_arch_uris ${MY_P})"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
+
+DEPEND=""
+RDEPEND=">=app-eselect/eselect-rust-20190311
+ sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/libssh2
+ net-misc/curl[ssl]
+ !dev-lang/rust:0
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+ opt/${P}/bin/*-${PV}
+ opt/${P}/lib/*.so
+ opt/${P}/lib/rustlib/*/bin/*
+ opt/${P}/lib/rustlib/*/lib/*.so
+ opt/${P}/lib/rustlib/*/lib/*.rlib*
+"
+
+pkg_pretend () {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ default
+ mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+src_install() {
+ local std=$(grep 'std' ./components)
+ local components="rustc,cargo,${std}"
+ use doc && components="${components},rust-docs"
+ use clippy && components="${components},clippy-preview"
+ use rustfmt && components="${components},rustfmt-preview"
+ ./install.sh \
+ --components="${components}" \
+ --disable-verify \
+ --prefix="${D}/opt/${P}" \
+ --mandir="${D}/usr/share/${P}/man" \
+ --disable-ldconfig \
+ || die
+
+ local rustc=rustc-bin-${PV}
+ local rustdoc=rustdoc-bin-${PV}
+ local rustgdb=rust-gdb-bin-${PV}
+ local rustgdbgui=rust-gdbgui-bin-${PV}
+ local rustlldb=rust-lldb-bin-${PV}
+
+ mv "${D}/opt/${P}/bin/rustc" "${D}/opt/${P}/bin/${rustc}" || die
+ mv "${D}/opt/${P}/bin/rustdoc" "${D}/opt/${P}/bin/${rustdoc}" || die
+ mv "${D}/opt/${P}/bin/rust-gdb" "${D}/opt/${P}/bin/${rustgdb}" || die
+ mv "${D}/opt/${P}/bin/rust-gdbgui" "${D}/opt/${P}/bin/${rustgdbgui}" || die
+ mv "${D}/opt/${P}/bin/rust-lldb" "${D}/opt/${P}/bin/${rustlldb}" || die
+
+ dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
+ dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
+ dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
+ dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
+ dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
+
+ local cargo=cargo-bin-${PV}
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}".bin || die
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${D}/opt/${P}/bin/${cargo}".bin || die
+ cat <<- 'EOF' > "${D}/opt/${P}/bin/${cargo}"
+ #!/bin/sh
+ OPENSSL_ppccap=0 $(realpath $0).bin "${@}"
+ EOF
+ fperms +x "/opt/${P}/bin/${cargo}"
+ else
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ fi
+ dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
+ if use clippy; then
+ local clippy_driver=clippy-driver-bin-${PV}
+ local cargo_clippy=cargo-clippy-bin-${PV}
+ mv "${D}/opt/${P}/bin/clippy-driver" "${D}/opt/${P}/bin/${clippy_driver}" || die
+ mv "${D}/opt/${P}/bin/cargo-clippy" "${D}/opt/${P}/bin/${cargo_clippy}" || die
+ dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
+ dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
+ fi
+ if use rustfmt; then
+ local rustfmt=rustfmt-bin-${PV}
+ local cargo_fmt=cargo-fmt-bin-${PV}
+ mv "${D}/opt/${P}/bin/rustfmt" "${D}/opt/${P}/bin/${rustfmt}" || die
+ mv "${D}/opt/${P}/bin/cargo-fmt" "${D}/opt/${P}/bin/${cargo_fmt}" || die
+ dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
+ dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
+ fi
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="/opt/${P}/lib"
+ MANPATH="/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ echo /usr/bin/cargo >> "${T}/provider-${P}"
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB now,"
+ elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/rust-bin/rust-bin-1.34.1.ebuild b/dev-lang/rust-bin/rust-bin-1.34.1.ebuild
new file mode 100644
index 000000000000..ab89e254ae0b
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.34.1.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils bash-completion-r1 rust-toolchain toolchain-funcs
+
+MY_P="rust-${PV}"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+SRC_URI="$(rust_all_arch_uris ${MY_P})"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
+
+DEPEND=""
+RDEPEND=">=app-eselect/eselect-rust-20190311
+ sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/libssh2
+ net-misc/curl[ssl]
+ !dev-lang/rust:0
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+ opt/${P}/bin/*-${PV}
+ opt/${P}/lib/*.so
+ opt/${P}/lib/rustlib/*/bin/*
+ opt/${P}/lib/rustlib/*/lib/*.so
+ opt/${P}/lib/rustlib/*/lib/*.rlib*
+"
+
+pkg_pretend () {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ default
+ mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+src_install() {
+ local std=$(grep 'std' ./components)
+ local components="rustc,cargo,${std}"
+ use doc && components="${components},rust-docs"
+ use clippy && components="${components},clippy-preview"
+ use rustfmt && components="${components},rustfmt-preview"
+ ./install.sh \
+ --components="${components}" \
+ --disable-verify \
+ --prefix="${D}/opt/${P}" \
+ --mandir="${D}/usr/share/${P}/man" \
+ --disable-ldconfig \
+ || die
+
+ local rustc=rustc-bin-${PV}
+ local rustdoc=rustdoc-bin-${PV}
+ local rustgdb=rust-gdb-bin-${PV}
+ local rustgdbgui=rust-gdbgui-bin-${PV}
+ local rustlldb=rust-lldb-bin-${PV}
+
+ mv "${D}/opt/${P}/bin/rustc" "${D}/opt/${P}/bin/${rustc}" || die
+ mv "${D}/opt/${P}/bin/rustdoc" "${D}/opt/${P}/bin/${rustdoc}" || die
+ mv "${D}/opt/${P}/bin/rust-gdb" "${D}/opt/${P}/bin/${rustgdb}" || die
+ mv "${D}/opt/${P}/bin/rust-gdbgui" "${D}/opt/${P}/bin/${rustgdbgui}" || die
+ mv "${D}/opt/${P}/bin/rust-lldb" "${D}/opt/${P}/bin/${rustlldb}" || die
+
+ dosym "${rustc}" "/opt/${P}/bin/rustc"
+ dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
+ dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
+ dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
+ dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
+
+ dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
+ dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
+ dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
+ dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
+ dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
+
+ local cargo=cargo-bin-${PV}
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}".bin || die
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${D}/opt/${P}/bin/${cargo}".bin || die
+ cat <<- 'EOF' > "${D}/opt/${P}/bin/${cargo}"
+ #!/bin/sh
+ OPENSSL_ppccap=0 $(realpath $0).bin "${@}"
+ EOF
+ fperms +x "/opt/${P}/bin/${cargo}"
+ else
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ fi
+ dosym "${cargo}" "/opt/${P}/bin/cargo"
+ dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
+ if use clippy; then
+ local clippy_driver=clippy-driver-bin-${PV}
+ local cargo_clippy=cargo-clippy-bin-${PV}
+ mv "${D}/opt/${P}/bin/clippy-driver" "${D}/opt/${P}/bin/${clippy_driver}" || die
+ mv "${D}/opt/${P}/bin/cargo-clippy" "${D}/opt/${P}/bin/${cargo_clippy}" || die
+ dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
+ dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
+ dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
+ dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
+ fi
+ if use rustfmt; then
+ local rustfmt=rustfmt-bin-${PV}
+ local cargo_fmt=cargo-fmt-bin-${PV}
+ mv "${D}/opt/${P}/bin/rustfmt" "${D}/opt/${P}/bin/${rustfmt}" || die
+ mv "${D}/opt/${P}/bin/cargo-fmt" "${D}/opt/${P}/bin/${cargo_fmt}" || die
+ dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
+ dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
+ dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
+ dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
+ fi
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="/opt/${P}/lib"
+ MANPATH="/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ echo /usr/bin/cargo >> "${T}/provider-${P}"
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB now,"
+ elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 22fbd7c838b9..0da02198a34e 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,9 +1,12 @@
+AUX 0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch 1493 BLAKE2B 7776443fff61cb2265194946e362fddee9b9a6a121b4f02acafeba2873e997d71e2cea0487d0421ccef6fb60b602986b7e7101fa71ca0839755d3ad0b9757faa SHA512 555df431e915bae6dfd7377303ad3a0e2fd7205b71671d74c4917d5dd88e817389e3ead8b9ebe4686d8c45111335ec94e9bd46a0400e01fe593eb0736f0256fb
AUX 1.29.2-clippy-sysroot.patch 2571 BLAKE2B 1f65355cf47fb1ee2bd15f7424b6bf98106028fa46a8f89ab639acdc3a131684898dcda42abd6d5d7bc09c857990dcea86467b3c96e8e6d47b90726d9176a221 SHA512 2577c7540be9a197343bc06b5de52ba42832cbb2799997bb9778e6e392a421cfe6bce9ce48793d60af7a8f3e0ade0c79e0adbfc1125fbcd89b01e97ab96b8d30
AUX 1.30.1-clippy-sysroot.patch 2870 BLAKE2B 84f6c52fc8f757b509655852810d52c7aef50c7a5678e746d525e41888c50995d23f030373e4c37d829ed794d1890f380bc944eae601b97957d2b35d733b5d6b SHA512 8b2601e7699d3a1b004ac5559add37eb939332aacf136b9b6397f314dbcbe9015f1ff5ac906e80a4a913b0cdf4f5410d779721b136ecbe1a4af8380668bb7765
AUX 1.32.0-fix-configure-of-bundled-llvm.patch 1481 BLAKE2B b340b8d1986b0f4dd6c983927c6af4ccc3a730054041e9b61db19c0adfd726714a99f7000eda21a33ea209daa3371abb0022c6f085e0faeee42156c86f8ffbdd SHA512 72fd31fb6e893d1ceb994ab47693243a330a80bd071e6dfe7fb01a20419b68c6b2818cd9c41b68615d7dd4d6a48bac131d7c6de02c3e99c57526cef616947d73
AUX 1.32.0-libressl.patch 7782 BLAKE2B 11a7c9f92931384b55937cc1b2ccd85f80dc3df8f927751b4180223a9f24ae2aabd47686030a208c0bca2a495c902f76a675d45561c02680d8dabaf25a64368f SHA512 3cb88c83b58e11ca2681fd10c6748c4b369c03d7f331889aada5d4bf16a6746ea160df8ec860d164a9a59975147f881d77e7dbb8ad7d1da72e526581a368882a
AUX 1.32.0-system-llvm-7-SIGSEGV.patch 1521 BLAKE2B d5595ffdba23e41ea299605968f7e7407e8bf5d764b1c0c4f1934185012dff1b857c1c41c0f80b08bc21921a6cad24bc046ed9282c238593db7b13bdb27c443c SHA512 9ac1da18e6f67cf4918b529a72b8deda6bdfe4e6a5439a858f31da3e07d48983221bffa7bdaacb32f6285af95690f88fa5783f7c333cbb65fc2b807e5b3ea8f8
AUX 1.33.0-clippy-sysroot.patch 3090 BLAKE2B cd3c11669e63c6fce527910b80add322bcdcfefb45f7936fb8b73750b81da445839669b6e973fc14730766c746d1da6906643183375af275070606e3ba716be8 SHA512 f54b8f1ad74ab0bcb7cd579385980df0fd986b03290bba2dd5f3c78a1994e3ec64a870d77e6c2a9ea83a113d972b8221f5e3e2131b23be9aea882b08af512b0d
+AUX 1.34.0-doc-build-fix.patch 17719 BLAKE2B 9fa2ce19c51c5fd6fdbf113f22f16db741ef97323d2d0807ffd66d5ffe52e1af1c8fe663fb3f24797b427f6689bbb624c2b4ea7840f17ad50924b21c84e06176 SHA512 5b5098b4c2110c9f5272015dfc04756ee9a9fb1c52763ccc2b3c1349146ebf2e0cbe5ef7fc5d30860024eb626a645409e78da26b9d88c25d8fabc5846905e786
+AUX 1.34.0-libressl.patch 7747 BLAKE2B 6c977bf710049a14333ae2e05ac051b117cccbc6b2e42f041ec9538ae523d2014255e95c997a01de60861e136ee465bdc4c113c395df12e0022bb340070633f1 SHA512 6a6405faadec3f7a483adc6f61fe312f5779e66620fe307fc27414aa1721ca6cdfc57ab153cd2d00ba0e37bc4aad8b6cf3ac29f43190a8367b9fd22204c40344
DIST rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz 98937652 BLAKE2B 836d3dd4e583fa50dd317c3bea56257e6ea19defdb38c16be6debb2854e147c8a92c4832263e4ac314136022a176526fe7d3774a3c5a84cd8d364cd2a1532860 SHA512 8d9acbc90ddaa1e0de0234a21798b19b5365ea371a12f9a143c6ebacbb48f57344da6e827e867513be502bce2801de27a0dbbacdf8618c653aeb58026b6c469c
DIST rust-1.28.0-arm-unknown-linux-gnueabi.tar.xz 104676648 BLAKE2B b26b23c3605e6584c51e0e914dbb3be60996e079e52ff2d4850ed43c1f1f7cd5ac575b40dbe852f927d36654f5ab7e384548f3a92b3466bfbb1cda7f9f069bcb SHA512 a1eaf1d7826ebfe222d233cabd8b88073ca2c8dd42a0b870e324dfc63e7290308418222c56802bc421c9bda119dc7c5f3e225ff33cacad5776b79cbcc1a877b2
DIST rust-1.28.0-arm-unknown-linux-gnueabihf.tar.xz 104992084 BLAKE2B df97766d7abf73f668a2936834bc0f35739289eeeb5395276a2fdfd5b6c0baee3ba1eee1099f19d4f4f1cbd1a33cf62ad888dd3d1856b613ac853c6a17650741 SHA512 3b58b83f38bf8d8e841ae6614d72bb6e6faf75fb7c19abc5451548b0e6de0ef3b64dfbc70481a1e40f74074bfad701aa7a58296b4a0d07957a418bd3cd769917
@@ -69,16 +72,33 @@ DIST rust-1.32.0-powerpc64-unknown-linux-gnu.tar.xz 120518816 BLAKE2B 9666c809b8
DIST rust-1.32.0-powerpc64le-unknown-linux-gnu.tar.xz 124278796 BLAKE2B cee79918a210c34918cf183c918099cd2c246d881576f80e960492c7d5ae1920a43f2d4424700543a7cf50cc5f18618b6d4abfac1e856c9e8711fb73429571b7 SHA512 058c1ebe58bb22e8ff791a74edb058e7494e2673dd1d91ffad646ec71cfdc240e934b44fbae6e58639143b33161d314224e7d1c7b2cc35677bf9eab901e130eb
DIST rust-1.32.0-s390x-unknown-linux-gnu.tar.xz 128857448 BLAKE2B ab0ce58315d116a0aaed007d03df7be4ecfeee01fd6e368173e8aa023b2ae1d922824e92b103aaf205ed2adf1f9da78abd229fff313c24e32ea3fad68f8bdda3 SHA512 4f32934472356d9b7e15abb0fa07be9eddccc7b9e0a1834bbee5ff279c6ece9174d942e2feed611f9b697613ee3b76f8a8ab68559b6d075e740aeab117223325
DIST rust-1.32.0-x86_64-unknown-linux-gnu.tar.xz 147868652 BLAKE2B 616e69d80dd0e7de2ac86f2090825c8a991ad1b88155d21d0eef89b7aea418ba8bb0140eeb497c417c77afc770f51498020ee86cfd059533500c0cb88f0130b6 SHA512 5c5def0c415b0f34e1e7476841a0bd3f91fe4bde8321c7b06b1cd2a3d10a3d676ed16a26561929ce39c3c2cbcf7a16960c5decca9e385afe8295da32b4fb7a17
+DIST rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz 121877852 BLAKE2B accab68c374afe3eafa38e7ad33c32c427db8d0caab722461075c679af2406d991453a8e529a013b99a5841ef9a5e047cdc9ca88dbebab0c904f4afd99c2b851 SHA512 51f6ca909411fd3b3c05baedc38be8a29923966e7cd6960a10152886687132d4ef9750140c5121b9486d6f6ee1ed7ff35f8105c9f0731fe98ce750d0ea9c528f
+DIST rust-1.33.0-arm-unknown-linux-gnueabi.tar.xz 122944304 BLAKE2B c9c29d9409d5829029ffc444c890c0bba0ea213c0a4eb169e65447b6183b0693ab26d48db2fb0be5a325f6ebb7588f90e18b8377f46276d519fcdf5a637ddae7 SHA512 7911dd32cb415d69c05041f450540312d6a78efea36646b4d409a01a0809d94c2eb6a20bfc27772f50cfa0cfed076c3cf5ce62509820819111226f6974f05844
+DIST rust-1.33.0-arm-unknown-linux-gnueabihf.tar.xz 123280648 BLAKE2B be19b75623995c0f986d56318887685e70b682caa735adeac259a3f4b67f56537dc43a2a5d696db66547cb523227498c9fcc4213b28df12e5d26999f3caaa7ee SHA512 a0850de543cd11efab4d67bde498e5897f66bbffa1671c4bb6d31fc709dc0869e322e18982dffd199ad6ff7cee282475b04a563fd11a4c7df86f872b02fcce93
+DIST rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz 125019964 BLAKE2B d5d25099719e4ba9bedeb1de89ec3ecb53cbf9d5540de83f723250f5c0130d0a8a7e7a1956cf1581fd709a806b7d42a55dcc94cf9d5e164cd0638a84f65f2f37 SHA512 25a16c576d826115fdac5a55b89bf3372dfb39c563f2ce7d39b0a7a3c9bdc43eaf10974dfa42e26c5aa04aee169ced3e797fa46fa82bd9f4ceddeddaf6687659
+DIST rust-1.33.0-i686-unknown-linux-gnu.tar.xz 168000488 BLAKE2B 62ee1355ddcc09723bd604faba92a602da68768ab741820905b473ff590e1bc7a2bd755db129d04efe9820326bfeb1b5ff54de37188e6b58ef45ec4144c05ada SHA512 f61f97c529232fd6d7587bbf34c41dd9cc334272b1d523464d7b964aba5a102edaff8d387445e3fdb2b9587c1cdd870e97b9572c9421e79ee047479443f1896d
+DIST rust-1.33.0-mips-unknown-linux-gnu.tar.xz 115251736 BLAKE2B 6785896dd969c52c49edb265d2883d48debb0bed77aecbec0a913ec0d7751d747d9a3d5db2b8fdbdec9a9f598bf13a2870987740f79a75042a030d549cb1d7a0 SHA512 17c76e83a6be9813b842909177dbab89abc2ffa4b97c32a45d8e9c0cb69311570d3797932d49b8c26522c812cb9fc86d00a3787a9a413d57140349d75dfd266a
+DIST rust-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz 123408336 BLAKE2B f45ed3ab2c899bbdfbdbd3f50f3db1aaeb0fab32f1693cd432132d6e5713cbea63876d7e506eba8c25f5f28a946b524438837c9342f7b7cdf446910698136a34 SHA512 40998fe7ea3f40bb39d7a6d2dc16043aaaf0cbd2cda912b6deeb42fe02da480d4a218810610fc6e31686ab89db1da0cddb6b2599e98c3ba6856fef7c0d64bae7
+DIST rust-1.33.0-mipsel-unknown-linux-gnu.tar.xz 117489676 BLAKE2B b35648ede3694707cea887c0856e016ac98c53c8099202c30e819805564fcfa3d43410980980b8b9c977b4cbf97e185a4049311cda67e0dd5443136c6fe43ae0 SHA512 957a16738b3fc37b916593cb2e5a2d503da08bfe9517f3537483fa48781073e9f54eb14f8f9afc3d2e85fcd45ee0eb3fce1dc2680b5667e67520af363eeeb134
+DIST rust-1.33.0-powerpc-unknown-linux-gnu.tar.xz 117067768 BLAKE2B a968d0eaa52edaa3b5f99d11b34b9f24930a1639277a92d5d68cf80007b8f026daabd07c5379fd18a82c904939172a677be6a0baa9c73785b1ee19d7d04fa66a SHA512 8129b248ea55e427d29d8a637081d1744c08368178ca55c5367c485959984d41d093044ced29825194287a5bda3d491148f36c4c16d6efac797bb8c3af9800e7
+DIST rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz 126030216 BLAKE2B b1d1b996b833ebf8e8fb29d1395192a4354cac4d5381a3ac4f7b8338a19b3b49e5bd318268ee6cd075fa7b69d539e8d2dc021eddfda794791cb1a154b7d2b7e8 SHA512 7d53501d20119ba8d9723650800cdbde17e4ed1719f6258c48c25113082e0400d9ac74ca1bfca54722dbb2049f7b5d34177bb613031c1611daa2545e1706c745
+DIST rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz 130922680 BLAKE2B db63d859631703e845efac57074e0f33f80a3b52b2e9dc8707b81892eee8fc922fa5a7d4b7b1f45fb5f19ea4d7f6fde9212f1c6e99e7e4c30dbc02aa87b0df7e SHA512 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144
+DIST rust-1.33.0-s390x-unknown-linux-gnu.tar.xz 134441220 BLAKE2B e6f0a6e54e4e1fde10f54f66615d44442b7cb5eb5bda43d55ee791328c7ecd61505b3d84719df82b7c5c7ae473b7041512f2cf346281518d7d78d0e22112fa05 SHA512 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205
+DIST rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz 155298128 BLAKE2B af5bc628bc054bd354d5af78e53cd2ffbfbdf2c2d3a3e58eeb593f148c54024fa5905aa53a69c514d6d41e48688697e1ce8adb866817c77cdf541399f6e7956f SHA512 b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8
DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7
DIST rustc-1.29.2-src.tar.xz 61888912 BLAKE2B f59b0bf45caa6f6136f92ffbaa612bbc6a340c8694ec69d75aadace9180c36753f985641915524388b52cc108f8f5b71840ee3a6c0b1fcff6decb61d2d8a161e SHA512 d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38
DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 170767b64efe670086e7c4e73838b489a155a72c703148f83cad29d401a825a94a1def3aa462ba527e1bd08181c7a9be0e404c25f012906541c3d739eb57e9e5 SHA512 e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5
DIST rustc-1.31.1-src.tar.xz 96915864 BLAKE2B bedfe1d56e2f99bb43b4b652d540aedf0a86c47b8493f28fb29e5af3135ff469ed40775bc2ee25ac5bd28a264ecba0094d7c9b6aae25ea365ed3e6f354ffa40b SHA512 d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02
DIST rustc-1.32.0-src.tar.xz 99602696 BLAKE2B ab26247e3ecb75dbe373254c1c49f46c00a5a4db2b9cedffccb30122ea3b7de2761d6995b5423d0105caf85cc9542b4c21d487385faa34c835398c3320ccbd3b SHA512 487c405fed6430f62d2d0c38b65f6223b1c5074c7a0d3734dc8b3bb72fca255f5727e49541749569713a0c3e9a67eff574ba5698e8dceca6f0ef20b50f99aa42
DIST rustc-1.33.0-src.tar.xz 100635400 BLAKE2B 1fe8ffcfab8324a93a07b9b9ac9cd050fd9d660fb24884761e8ce5e5a67ce5b6df8513e1440090b39c3ced9cb5ced43f07cc9b0337d39625d2cf4aa9e083cfef SHA512 3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147
+DIST rustc-1.34.0-src.tar.xz 95055768 BLAKE2B 5df848369e8087ac10c57d9818e644e51be1d4a89e68341a2a49a09f0902c153ba5fab2d82e4178742b3ac4205249347950d0685259f6b1fe0761ec4daf87518 SHA512 cf9952cafe42987f84a6fe9e351a401f2db35c33ddc87d2efb762c4c33a643ffe516f00d848a1ae759f48cea1504243b6169c29ab28ba2e6b00a51422c745861
+DIST rustc-1.34.1-src.tar.xz 95048260 BLAKE2B 41e034aa0e5ea71aa21d6b5700134fc2e1391915309aa14e11426b1c0a3ad213c5b11f67df3f1beebd885d9d3bb358b12a10dd2095cbcb6b2a18870e977568f8 SHA512 c9ee59a98e0300c16a9044424fbaad0e1d5f026279b9cb238ab5bfe02c6b111780ec5f9884c4cac67d5ee91833e301bc23bd457026982587982b2fb80a528dca
EBUILD rust-1.29.1-r1.ebuild 8002 BLAKE2B b1c0f7bb8607faab03876b472224d5f1c2dadef67441fe834a9765d0aa5c483c027af028719407ec9acb3d4a4337c78ababf1afac8a9421a70519e9e90dd6d9c SHA512 c299357f8423c140a41ffcd178c2fb6b9ff46df11403df31d5bb3d039c8494284c73f706ba94546ebebdb6f82e22c5fc5e07a213feaab078e7a94b72807fe2a0
EBUILD rust-1.29.2-r1.ebuild 7534 BLAKE2B 43c508d7642a46035317595c7fa937316cca0f8807beea498d82c1f16e897d4703d3623b0893034f4807de6ab7a9ff9f8e899e33709f545b64eb9ab5ee56e4cb SHA512 3d49193701daf987d23463c62f8d7ba2e9a53c5e04d1e1c97fbd21e344d03ed0adaef3bffc8062db0dc9492201270ded01f1b270b2e9ab7168b57c8bf550c5af
EBUILD rust-1.30.1-r1.ebuild 8207 BLAKE2B d78ee4c3a6ae06b9ba343721dff150348ce86ef060bcabbc3d523d6acf89c0c9ad6b2a8713c1376515060a285ade75286b4f2c9c67e09e0d56a3f5f8be17b49b SHA512 1ef857ee44e8d6fc55dfc546d6636c4368ed74300b901b01a1bf22291fc3562b9262231e567b9d4df80407c721548f2f2cc2fb6222d8598b4169618cfc7f18c7
EBUILD rust-1.31.1.ebuild 8205 BLAKE2B 349c6817d25ac006b66e10702cb11f061afdaad818f9dad7e708ef941e8e01a906e496fe52153d48c25428bb7b45c777589dbdd5c969b628e401086d86aabd49 SHA512 7c648f97105d9be1bc7eaa3904bf4af923eaf3dd8bc4da62a8662eb761d06e7a6a389aefa71fe13b56fa61560763897541a677fca9b4cfc698fe0a4b1c422828
EBUILD rust-1.32.0.ebuild 8672 BLAKE2B 64c5bc60a4b2acb5c10e51990cfd31b30868bb0a68e5bb6b457d1ec9e278c4f49e82eeb34ef936f8ae27124061e989ef93a47fa5b5c09d9de2fd0e70f58391f2 SHA512 e07f819613b47d9ccebb0890e512f9510c58775602a362152cf8a78074d0a994dc710454f9a35956c7a6bf023655746f3bf9da879e7f00a5bb232cdc1e78b03e
EBUILD rust-1.33.0.ebuild 8754 BLAKE2B 420025a98acb698403e55308a9e3340c535ce1a7459143b4611311b69c7057b8568746d1a5c2822434db01c1e51da01170b54ea177afe3d9d5eb3ca9958eceba SHA512 db6840cb69852a569912aff53427b3062d3f4807f80b30dcc4181cbca28765854ca4ac070dfa77744e38c636a49e9f12a98b1f0337b71be7368f757042238f71
+EBUILD rust-1.34.0-r2.ebuild 9061 BLAKE2B 485ea73226c89ff401932a3c84e9b663a545dfca61ba756c2d6914d64a830c5be67327d22fab78136b2539d519a4a86373db83d53545cdf44dd72222050c8b39 SHA512 315007aec97acae7d5e2a82ee5900712368a44054e92fc5e68a0d54b1077e71b9faff46455fff5008822d824bff6defc1f7779d85a98feb6260c2fbb9cbcbee3
+EBUILD rust-1.34.1.ebuild 9061 BLAKE2B 485ea73226c89ff401932a3c84e9b663a545dfca61ba756c2d6914d64a830c5be67327d22fab78136b2539d519a4a86373db83d53545cdf44dd72222050c8b39 SHA512 315007aec97acae7d5e2a82ee5900712368a44054e92fc5e68a0d54b1077e71b9faff46455fff5008822d824bff6defc1f7779d85a98feb6260c2fbb9cbcbee3
MISC metadata.xml 634 BLAKE2B 394e75b1b5b5d9fad1d87dca27d7807bfce9eb723bc339dbb7c0630dc5abd3669e9469a9e75da74925d16d63c78971b0e7c84710db9b2cd15e87d81f49968903 SHA512 9e02acc0ad17e2f502c6082b5df9aeb6b9655783892a85d67855b3f6a79ec36dca610170bb002116c354626d44282c4e35e30cdf6b5e49745cfc6a990f55731c
diff --git a/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch b/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
new file mode 100644
index 000000000000..b33311c0de88
--- /dev/null
+++ b/dev-lang/rust/files/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
@@ -0,0 +1,41 @@
+From 1f68002cb725c6a8fb5ca8425c1c86495a053f4f Mon Sep 17 00:00:00 2001
+From: Michal Gorny <mgorny@gentoo.org>
+Date: Thu, 4 Apr 2019 14:21:38 +0000
+Subject: [PATCH] [llvm] [cmake] Add additional headers only if they exist
+
+Modify the add_header_files_for_glob() function to only add files
+that do exist, rather than all matches of the glob. This fixes CMake
+error when one of the include directories (which happen to include
+/usr/include) contain broken symlinks.
+
+Differential Revision: https://reviews.llvm.org/D59632
+
+llvm-svn: 357701
+---
+ llvm/cmake/modules/LLVMProcessSources.cmake | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake
+index 7cbd2863500..d0be0e8b3ba 100644
+--- a/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
++++ b/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
+@@ -30,7 +30,15 @@ endmacro(add_td_sources)
+
+ function(add_header_files_for_glob hdrs_out glob)
+ file(GLOB hds ${glob})
+- set(${hdrs_out} ${hds} PARENT_SCOPE)
++ set(filtered)
++ foreach(file ${hds})
++ # Explicit existence check is necessary to filter dangling symlinks
++ # out. See https://bugs.gentoo.org/674662.
++ if(EXISTS ${file})
++ list(APPEND filtered ${file})
++ endif()
++ endforeach()
++ set(${hdrs_out} ${filtered} PARENT_SCOPE)
+ endfunction(add_header_files_for_glob)
+
+ function(find_all_header_files hdrs_out additional_headerdirs)
+--
+2.21.0
+
diff --git a/dev-lang/rust/files/1.34.0-doc-build-fix.patch b/dev-lang/rust/files/1.34.0-doc-build-fix.patch
new file mode 100644
index 000000000000..52b8d6ea7f73
--- /dev/null
+++ b/dev-lang/rust/files/1.34.0-doc-build-fix.patch
@@ -0,0 +1,442 @@
+From 9efc93c96dd6746460cef916d307b72ba21a7fd0 Mon Sep 17 00:00:00 2001
+From: Mark Rousskov <mark.simulacrum@gmail.com>
+Date: Sun, 3 Mar 2019 09:29:59 -0700
+Subject: [PATCH 1/2] Tools built by the bootstrap compiler must be built by it
+
+This avoids building compilers that we don't need -- most tools will work
+just fine with the downloaded compiler.
+---
+ src/bootstrap/doc.rs | 6 ++-
+ src/bootstrap/test.rs | 10 ++--
+ src/bootstrap/tool.rs | 104 +++++++++++++++++++++++++++---------------
+ 3 files changed, 78 insertions(+), 42 deletions(-)
+
+diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
+index e0ad0422a6ce..621e3a95473e 100644
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -883,7 +883,11 @@ impl Step for ErrorIndex {
+ builder.info(&format!("Documenting error index ({})", target));
+ let out = builder.doc_out(target);
+ t!(fs::create_dir_all(&out));
+- let mut index = builder.tool_cmd(Tool::ErrorIndex);
++ let compiler = builder.compiler(2, builder.config.build);
++ let mut index = tool::ErrorIndex::command(
++ builder,
++ compiler,
++ );
+ index.arg("html");
+ index.arg(out.join("error-index.html"));
+
+diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
+index 51412f79c3d0..5abf9d699784 100644
+--- a/src/bootstrap/test.rs
++++ b/src/bootstrap/test.rs
+@@ -414,7 +414,6 @@ impl Step for Miri {
+
+ #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+ pub struct CompiletestTest {
+- stage: u32,
+ host: Interned<String>,
+ }
+
+@@ -427,16 +426,14 @@ impl Step for CompiletestTest {
+
+ fn make_run(run: RunConfig<'_>) {
+ run.builder.ensure(CompiletestTest {
+- stage: run.builder.top_stage,
+ host: run.target,
+ });
+ }
+
+ /// Runs `cargo test` for compiletest.
+ fn run(self, builder: &Builder<'_>) {
+- let stage = self.stage;
+ let host = self.host;
+- let compiler = builder.compiler(stage, host);
++ let compiler = builder.compiler(0, host);
+
+ let mut cargo = tool::prepare_tool_cargo(builder,
+ compiler,
+@@ -1426,7 +1423,10 @@ impl Step for ErrorIndex {
+ t!(fs::create_dir_all(&dir));
+ let output = dir.join("error-index.md");
+
+- let mut tool = builder.tool_cmd(Tool::ErrorIndex);
++ let mut tool = tool::ErrorIndex::command(
++ builder,
++ builder.compiler(compiler.stage, builder.config.build),
++ );
+ tool.arg("markdown")
+ .arg(&output)
+ .env("CFG_BUILD", &builder.config.build)
+diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
+index fc1a17d54667..4f2aa0b795dc 100644
+--- a/src/bootstrap/tool.rs
++++ b/src/bootstrap/tool.rs
+@@ -250,9 +250,9 @@ pub fn prepare_tool_cargo(
+ cargo
+ }
+
+-macro_rules! tool {
++macro_rules! bootstrap_tool {
+ ($(
+- $name:ident, $path:expr, $tool_name:expr, $mode:expr
++ $name:ident, $path:expr, $tool_name:expr
+ $(,llvm_tools = $llvm:expr)*
+ $(,is_external_tool = $external:expr)*
+ ;
+@@ -266,10 +266,7 @@ macro_rules! tool {
+
+ impl Tool {
+ pub fn get_mode(&self) -> Mode {
+- let mode = match self {
+- $(Tool::$name => $mode,)+
+- };
+- mode
++ Mode::ToolBootstrap
+ }
+
+ /// Whether this tool requires LLVM to run
+@@ -282,27 +279,15 @@ macro_rules! tool {
+
+ impl<'a> Builder<'a> {
+ pub fn tool_exe(&self, tool: Tool) -> PathBuf {
+- let stage = self.tool_default_stage(tool);
+ match tool {
+ $(Tool::$name =>
+ self.ensure($name {
+- compiler: self.compiler(stage, self.config.build),
++ compiler: self.compiler(0, self.config.build),
+ target: self.config.build,
+ }),
+ )+
+ }
+ }
+-
+- pub fn tool_default_stage(&self, tool: Tool) -> u32 {
+- // Compile the error-index in the same stage as rustdoc to avoid
+- // recompiling rustdoc twice if we can. Otherwise compile
+- // everything else in stage0 as there's no need to rebootstrap
+- // everything.
+- match tool {
+- Tool::ErrorIndex if self.top_stage >= 2 => self.top_stage,
+- _ => 0,
+- }
+- }
+ }
+
+ $(
+@@ -321,7 +306,8 @@ macro_rules! tool {
+
+ fn make_run(run: RunConfig<'_>) {
+ run.builder.ensure($name {
+- compiler: run.builder.compiler(run.builder.top_stage, run.builder.config.build),
++ // snapshot compiler
++ compiler: run.builder.compiler(0, run.builder.config.build),
+ target: run.target,
+ });
+ }
+@@ -331,7 +317,7 @@ macro_rules! tool {
+ compiler: self.compiler,
+ target: self.target,
+ tool: $tool_name,
+- mode: $mode,
++ mode: Mode::ToolBootstrap,
+ path: $path,
+ is_optional_tool: false,
+ source_type: if false $(|| $external)* {
+@@ -347,21 +333,67 @@ macro_rules! tool {
+ }
+ }
+
+-tool!(
+- Rustbook, "src/tools/rustbook", "rustbook", Mode::ToolBootstrap;
+- ErrorIndex, "src/tools/error_index_generator", "error_index_generator", Mode::ToolRustc;
+- UnstableBookGen, "src/tools/unstable-book-gen", "unstable-book-gen", Mode::ToolBootstrap;
+- Tidy, "src/tools/tidy", "tidy", Mode::ToolBootstrap;
+- Linkchecker, "src/tools/linkchecker", "linkchecker", Mode::ToolBootstrap;
+- CargoTest, "src/tools/cargotest", "cargotest", Mode::ToolBootstrap;
+- Compiletest, "src/tools/compiletest", "compiletest", Mode::ToolBootstrap, llvm_tools = true;
+- BuildManifest, "src/tools/build-manifest", "build-manifest", Mode::ToolBootstrap;
+- RemoteTestClient, "src/tools/remote-test-client", "remote-test-client", Mode::ToolBootstrap;
+- RustInstaller, "src/tools/rust-installer", "fabricate", Mode::ToolBootstrap,
+- is_external_tool = true;
+- RustdocTheme, "src/tools/rustdoc-themes", "rustdoc-themes", Mode::ToolBootstrap;
++bootstrap_tool!(
++ Rustbook, "src/tools/rustbook", "rustbook";
++ UnstableBookGen, "src/tools/unstable-book-gen", "unstable-book-gen";
++ Tidy, "src/tools/tidy", "tidy";
++ Linkchecker, "src/tools/linkchecker", "linkchecker";
++ CargoTest, "src/tools/cargotest", "cargotest";
++ Compiletest, "src/tools/compiletest", "compiletest", llvm_tools = true;
++ BuildManifest, "src/tools/build-manifest", "build-manifest";
++ RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
++ RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
++ RustdocTheme, "src/tools/rustdoc-themes", "rustdoc-themes";
+ );
+
++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
++pub struct ErrorIndex {
++ pub compiler: Compiler,
++}
++
++impl ErrorIndex {
++ pub fn command(builder: &Builder<'_>, compiler: Compiler) -> Command {
++ let mut cmd = Command::new(builder.ensure(ErrorIndex {
++ compiler
++ }));
++ add_lib_path(
++ vec![PathBuf::from(&builder.sysroot_libdir(compiler, compiler.host))],
++ &mut cmd,
++ );
++ cmd
++ }
++}
++
++impl Step for ErrorIndex {
++ type Output = PathBuf;
++
++ fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
++ run.path("src/tools/error_index_generator")
++ }
++
++ fn make_run(run: RunConfig<'_>) {
++ // Compile the error-index in the same stage as rustdoc to avoid
++ // recompiling rustdoc twice if we can.
++ let stage = if run.builder.top_stage >= 2 { run.builder.top_stage } else { 0 };
++ run.builder.ensure(ErrorIndex {
++ compiler: run.builder.compiler(stage, run.builder.config.build),
++ });
++ }
++
++ fn run(self, builder: &Builder<'_>) -> PathBuf {
++ builder.ensure(ToolBuild {
++ compiler: self.compiler,
++ target: self.compiler.host,
++ tool: "error_index_generator",
++ mode: Mode::ToolRustc,
++ path: "src/tools/error_index_generator",
++ is_optional_tool: false,
++ source_type: SourceType::InTree,
++ extra_features: Vec::new(),
++ }).expect("expected to build -- essential tool")
++ }
++}
++
+ #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+ pub struct RemoteTestServer {
+ pub compiler: Compiler,
+@@ -625,7 +657,7 @@ impl<'a> Builder<'a> {
+ /// `host`.
+ pub fn tool_cmd(&self, tool: Tool) -> Command {
+ let mut cmd = Command::new(self.tool_exe(tool));
+- let compiler = self.compiler(self.tool_default_stage(tool), self.config.build);
++ let compiler = self.compiler(0, self.config.build);
+ self.prepare_tool_cmd(compiler, tool, &mut cmd);
+ cmd
+ }
+@@ -637,7 +669,7 @@ impl<'a> Builder<'a> {
+ fn prepare_tool_cmd(&self, compiler: Compiler, tool: Tool, cmd: &mut Command) {
+ let host = &compiler.host;
+ let mut lib_paths: Vec<PathBuf> = vec![
+- if compiler.stage == 0 && tool != Tool::ErrorIndex {
++ if compiler.stage == 0 {
+ self.build.rustc_snapshot_libdir()
+ } else {
+ PathBuf::from(&self.sysroot_libdir(compiler, compiler.host))
+
+From 03718ed67a7b8fd57fc27316ec57ac3bc0f13d06 Mon Sep 17 00:00:00 2001
+From: Mark Rousskov <mark.simulacrum@gmail.com>
+Date: Sun, 3 Mar 2019 09:50:56 -0700
+Subject: [PATCH 2/2] Permit getting stage 0 rustdoc
+
+This allows us to e.g. test compiletest, including doctests, in stage 0
+without building a fresh compiler and rustdoc.
+---
+ src/bootstrap/builder.rs | 15 +++++++--------
+ src/bootstrap/dist.rs | 2 +-
+ src/bootstrap/doc.rs | 8 ++++----
+ src/bootstrap/test.rs | 8 ++++----
+ src/bootstrap/tool.rs | 8 +++++---
+ 5 files changed, 21 insertions(+), 20 deletions(-)
+
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index 7e6c0a9f52aa..f8b7f25a7543 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -668,20 +668,19 @@ impl<'a> Builder<'a> {
+ .map(|entry| entry.path())
+ }
+
+- pub fn rustdoc(&self, host: Interned<String>) -> PathBuf {
+- self.ensure(tool::Rustdoc { host })
++ pub fn rustdoc(&self, compiler: Compiler) -> PathBuf {
++ self.ensure(tool::Rustdoc { compiler })
+ }
+
+- pub fn rustdoc_cmd(&self, host: Interned<String>) -> Command {
++ pub fn rustdoc_cmd(&self, compiler: Compiler) -> Command {
+ let mut cmd = Command::new(&self.out.join("bootstrap/debug/rustdoc"));
+- let compiler = self.compiler(self.top_stage, host);
+ cmd.env("RUSTC_STAGE", compiler.stage.to_string())
+ .env("RUSTC_SYSROOT", self.sysroot(compiler))
+ // Note that this is *not* the sysroot_libdir because rustdoc must be linked
+ // equivalently to rustc.
+ .env("RUSTDOC_LIBDIR", self.rustc_libdir(compiler))
+ .env("CFG_RELEASE_CHANNEL", &self.config.channel)
+- .env("RUSTDOC_REAL", self.rustdoc(host))
++ .env("RUSTDOC_REAL", self.rustdoc(compiler))
+ .env("RUSTDOC_CRATE_VERSION", self.rust_version())
+ .env("RUSTC_BOOTSTRAP", "1");
+
+@@ -689,7 +688,7 @@ impl<'a> Builder<'a> {
+ cmd.env_remove("MAKEFLAGS");
+ cmd.env_remove("MFLAGS");
+
+- if let Some(linker) = self.linker(host) {
++ if let Some(linker) = self.linker(compiler.host) {
+ cmd.env("RUSTC_TARGET_LINKER", linker);
+ }
+ cmd
+@@ -751,7 +750,7 @@ impl<'a> Builder<'a> {
+ // This is the intended out directory for compiler documentation.
+ my_out = self.compiler_doc_out(target);
+ }
+- let rustdoc = self.rustdoc(compiler.host);
++ let rustdoc = self.rustdoc(compiler);
+ self.clear_if_dirty(&my_out, &rustdoc);
+ } else if cmd != "test" {
+ match mode {
+@@ -897,7 +896,7 @@ impl<'a> Builder<'a> {
+ .env(
+ "RUSTDOC_REAL",
+ if cmd == "doc" || cmd == "rustdoc" || (cmd == "test" && want_rustdoc) {
+- self.rustdoc(compiler.host)
++ self.rustdoc(compiler)
+ } else {
+ PathBuf::from("/path/to/nowhere/rustdoc/not/required")
+ },
+diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
+index 2dae3f9135d8..3045cda125ee 100644
+--- a/src/bootstrap/dist.rs
++++ b/src/bootstrap/dist.rs
+@@ -479,7 +479,7 @@ impl Step for Rustc {
+ t!(fs::create_dir_all(image.join("bin")));
+ builder.cp_r(&src.join("bin"), &image.join("bin"));
+
+- builder.install(&builder.rustdoc(compiler.host), &image.join("bin"), 0o755);
++ builder.install(&builder.rustdoc(compiler), &image.join("bin"), 0o755);
+
+ // Copy runtime DLLs needed by the compiler
+ if libdir != "bin" {
+diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
+index 621e3a95473e..ae329286486d 100644
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -335,7 +335,7 @@ fn invoke_rustdoc(
+ let footer = builder.src.join("src/doc/footer.inc");
+ let version_info = out.join("version_info.html");
+
+- let mut cmd = builder.rustdoc_cmd(compiler.host);
++ let mut cmd = builder.rustdoc_cmd(compiler);
+
+ let out = out.join("book");
+
+@@ -415,7 +415,7 @@ impl Step for Standalone {
+ }
+
+ let html = out.join(filename).with_extension("html");
+- let rustdoc = builder.rustdoc(compiler.host);
++ let rustdoc = builder.rustdoc(compiler);
+ if up_to_date(&path, &html) &&
+ up_to_date(&footer, &html) &&
+ up_to_date(&favicon, &html) &&
+@@ -425,7 +425,7 @@ impl Step for Standalone {
+ continue
+ }
+
+- let mut cmd = builder.rustdoc_cmd(compiler.host);
++ let mut cmd = builder.rustdoc_cmd(compiler);
+ cmd.arg("--html-after-content").arg(&footer)
+ .arg("--html-before-content").arg(&version_info)
+ .arg("--html-in-header").arg(&favicon)
+@@ -824,7 +824,7 @@ impl Step for Rustdoc {
+ builder.ensure(Rustc { stage, target });
+
+ // Build rustdoc.
+- builder.ensure(tool::Rustdoc { host: compiler.host });
++ builder.ensure(tool::Rustdoc { compiler: compiler });
+
+ // Symlink compiler docs to the output directory of rustdoc documentation.
+ let out_dir = builder.stage_out(compiler, Mode::ToolRustc)
+diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
+index 5abf9d699784..6b9960c355c5 100644
+--- a/src/bootstrap/test.rs
++++ b/src/bootstrap/test.rs
+@@ -177,7 +177,7 @@ impl Step for Cargotest {
+ cmd.arg(&builder.initial_cargo)
+ .arg(&out_dir)
+ .env("RUSTC", builder.rustc(compiler))
+- .env("RUSTDOC", builder.rustdoc(compiler.host)),
++ .env("RUSTDOC", builder.rustdoc(compiler)),
+ );
+ }
+ }
+@@ -560,7 +560,7 @@ impl Step for RustdocTheme {
+ builder.sysroot_libdir(self.compiler, self.compiler.host),
+ )
+ .env("CFG_RELEASE_CHANNEL", &builder.config.channel)
+- .env("RUSTDOC_REAL", builder.rustdoc(self.compiler.host))
++ .env("RUSTDOC_REAL", builder.rustdoc(self.compiler))
+ .env("RUSTDOC_CRATE_VERSION", builder.rust_version())
+ .env("RUSTC_BOOTSTRAP", "1");
+ if let Some(linker) = builder.linker(self.compiler.host) {
+@@ -995,7 +995,7 @@ impl Step for Compiletest {
+ || (mode == "ui" && is_rustdoc_ui)
+ {
+ cmd.arg("--rustdoc-path")
+- .arg(builder.rustdoc(compiler.host));
++ .arg(builder.rustdoc(compiler));
+ }
+
+ cmd.arg("--src-base")
+@@ -1451,7 +1451,7 @@ fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) ->
+ }
+
+ builder.info(&format!("doc tests for: {}", markdown.display()));
+- let mut cmd = builder.rustdoc_cmd(compiler.host);
++ let mut cmd = builder.rustdoc_cmd(compiler);
+ builder.add_rust_test_threads(&mut cmd);
+ cmd.arg("--test");
+ cmd.arg(markdown);
+diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
+index 4f2aa0b795dc..5fb83caac06c 100644
+--- a/src/bootstrap/tool.rs
++++ b/src/bootstrap/tool.rs
+@@ -430,7 +430,9 @@ impl Step for RemoteTestServer {
+
+ #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+ pub struct Rustdoc {
+- pub host: Interned<String>,
++ /// This should only ever be 0 or 2.
++ /// We sometimes want to reference the "bootstrap" rustdoc, which is why this option is here.
++ pub compiler: Compiler,
+ }
+
+ impl Step for Rustdoc {
+@@ -444,12 +446,12 @@ impl Step for Rustdoc {
+
+ fn make_run(run: RunConfig<'_>) {
+ run.builder.ensure(Rustdoc {
+- host: run.host,
++ compiler: run.builder.compiler(run.builder.top_stage, run.host),
+ });
+ }
+
+ fn run(self, builder: &Builder<'_>) -> PathBuf {
+- let target_compiler = builder.compiler(builder.top_stage, self.host);
++ let target_compiler = self.compiler;
+ if target_compiler.stage == 0 {
+ if !target_compiler.is_snapshot(builder) {
+ panic!("rustdoc in stage 0 must be snapshot rustdoc");
diff --git a/dev-lang/rust/files/1.34.0-libressl.patch b/dev-lang/rust/files/1.34.0-libressl.patch
new file mode 100644
index 000000000000..d5705f88af52
--- /dev/null
+++ b/dev-lang/rust/files/1.34.0-libressl.patch
@@ -0,0 +1,29 @@
+diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
+index b5c539431..9428e81b1 100644
+--- a/vendor/openssl-sys/.cargo-checksum.json
++++ b/vendor/openssl-sys/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"c8bc352b94d05afeaeb96300341a695c70c3b62c46793a5c035aaf42e22b69d1","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58fa19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"b09af0445220130b1b1c45791a316435f7400cf2fab3abe9c419f4f8028cfb9c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"fae5176c2b149d190c9611b58c5882312b5c0e483d1a404cfdf850473314a58f","build/main.rs":"45da6667bd8b1a35354ee1636df0b55f9d13d4ae45dd1fef5cf17c615c372bfd","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"4f12d2f4c2a493888db669d1ecfd55df40861a78cae65957f801ed91dc2cae30","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"29aa053b67b47515fd15812aa0a90ff35dd9fa347da2beeba96d6deafeb9d945","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"520b282b92fa372a75bc16696dc3ee7a9a5752e517a18862182a3e9f5a976d28","src/dsa.rs":"3c294c5c45235497396ac803b723b3a0cb5bd3609f5dec18338b5b014c2adeb9","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"b22d27b01a70652384866b3d0d01d2f7a0421b2ba2db9268ed379fef4b1ac034","src/err.rs":"81230711e081277e0b6dae4ff21266052d075688c758c2b0720001849ef9192d","src/evp.rs":"13a8a71154545d7c478e156edb21beb219824937aba6b29c6bc6ef895c735a3d","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"17b5a1faa0fe3ab777c8cb0039a3dffd8922b211bf1330c2cd0c3e02f624353c","src/macros.rs":"a7c95174fd4cfeb42f730c7c0744194009520249888dbf43968571219fd6dfa1","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"619177f939328597e4bcf9c41fdf4d0aa9207d779c6e0dafddbe2eab9b1a6a98","src/pem.rs":"3ae1c53dbc126a04c188575294111cc04c215c2f3e031192d5cc05952f011ddf","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"a0bf64f1f8ff9f6e5dbed6c38d8fa2d3d1c5dfcfe6dd3ff79f7737b072ce4681","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"e69d3b9b8f2f8ae1ed3905a4dbe064ad1b7c1eaf21d7eabb86ecdb5b41e2120a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"fd85a1683064def0a9e07d803b90102229adc1d58fa19cf4e56976f0dd7425b9","src/x509.rs":"839be2feb74755ab7df66a024ad27dfa70ce4f7889229d9152ba999f3a54b914","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"66fd646ea4caf5ce81e3c881e88d85462519c4e97a7f82e82ca8ac52ea830ad2"},"package":"1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"}
+diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
+index 69def400e..08cc96eb9 100644
+--- a/vendor/openssl-sys/build/main.rs
++++ b/vendor/openssl-sys/build/main.rs
+@@ -505,6 +505,7 @@ See rust-openssl README for more information:
+ (8, 1) => ('8', '1'),
+ (8, _) => ('8', 'x'),
+ (9, 0) => ('9', '0'),
++ (9, _) => ('9', 'x'),
+ _ => version_error(),
+ };
+
+@@ -545,7 +546,7 @@ fn version_error() -> ! {
+ "
+
+ This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
+-through 2.9.0, but a different version of OpenSSL was found. The build is now aborting
++through 2.9.x, but a different version of OpenSSL was found. The build is now aborting
+ due to this version mismatch.
+
+ "
diff --git a/dev-lang/rust/rust-1.34.0-r2.ebuild b/dev-lang/rust/rust-1.34.0-r2.ebuild
new file mode 100644
index 000000000000..3409dc5c4f4a
--- /dev/null
+++ b/dev-lang/rust/rust-1.34.0-r2.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
+
+inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
+else
+ ABI_VER="$(ver_cut 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+ $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 9.
+# 3. Specify LLVM_MAX_SLOT, e.g. 8.
+LLVM_DEPEND="
+ || (
+ sys-devel/llvm:8[llvm_targets_WebAssembly?]
+ )
+ <sys-devel/llvm-9:=
+"
+LLVM_MAX_SLOT=8
+
+COMMON_DEPEND="
+ sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/libssh2
+ net-libs/http-parser:=
+ net-misc/curl[ssl]
+ system-llvm? (
+ ${LLVM_DEPEND}
+ )
+"
+
+DEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ dev-util/cmake"
+RDEPEND="${COMMON_DEPEND}
+ >=app-eselect/eselect-rust-20190311
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ wasm? ( llvm_targets_WebAssembly )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
+ "${FILESDIR}"/1.34.0-doc-build-fix.patch
+ "${FILESDIR}"/1.34.0-libressl.patch # bug 684224
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pre_build_checks() {
+ CHECKREQS_DISK_BUILD="7G"
+ CHECKREQS_MEMORY="4G"
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ CHECKREQS_DISK_BUILD="10G"
+ CHECKREQS_MEMORY="16G"
+ fi
+ eshopts_pop
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+ use system-llvm && llvm_pkg_setup
+}
+
+src_prepare() {
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
+
+ "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
+
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${rust_stage0_root}"/bin/cargo || die
+ export OPENSSL_ppccap=0
+ fi
+
+ default
+}
+
+src_configure() {
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
+ fi
+ rust_targets="${rust_targets#,}"
+
+ local extended="true" tools="\"cargo\","
+ if use clippy; then
+ tools="\"clippy\",$tools"
+ fi
+ if use rls; then
+ tools="\"rls\",\"analysis\",\"src\",$tools"
+ fi
+ if use rustfmt; then
+ tools="\"rustfmt\",$tools"
+ fi
+
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ rust_target="$(rust_abi)"
+
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ [build]
+ build = "${rust_target}"
+ host = ["${rust_target}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = ${extended}
+ tools = [${tools}]
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "$(get_libdir)/${P}"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ default-linker = "$(tc-getCC)"
+ channel = "stable"
+ rpath = false
+ lld = $(toml_usex wasm)
+ EOF
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ cat <<- EOF >> "${S}"/config.env
+ CFLAGS_${rust_target}=${arch_cflags}
+ EOF
+
+ cat <<- EOF >> "${S}"/config.toml
+ [target.${rust_target}]
+ cc = "$(tc-getBUILD_CC)"
+ cxx = "$(tc-getBUILD_CXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+ if use system-llvm; then
+ cat <<- EOF >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ EOF
+ fi
+ done
+
+ if use wasm; then
+ cat <<- EOF >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "rust-lld"
+ EOF
+ fi
+}
+
+src_compile() {
+ env $(cat "${S}"/config.env)\
+ "${EPYTHON}" ./x.py build -v --config="${S}"/config.toml -j$(makeopts_jobs) \
+ --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
+}
+
+src_install() {
+ local rust_target abi_libdir
+
+ env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v || die
+
+ mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
+ mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
+ mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
+ mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
+ if use clippy; then
+ mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
+ mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
+ fi
+ if use rls; then
+ mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
+ fi
+ if use rustfmt; then
+ mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
+ mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
+ fi
+
+ # Copy shared library versions of standard libraries for all targets
+ # into the system's abi-dependent lib directories because the rust
+ # installer only does so for the native ABI.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ if [ ${v##*.} = ${DEFAULT_ABI} ]; then
+ continue
+ fi
+ abi_libdir=$(get_abi_LIBDIR ${v##*.})
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ mkdir -p "${ED}/usr/${abi_libdir}"
+ cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
+ "${ED}/usr/${abi_libdir}" || die
+ done
+
+ dodoc COPYRIGHT
+
+ # FIXME:
+ # Really not sure if that env is needed, specailly LDPATH
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
+ MANPATH="${EPREFIX}/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ echo /usr/bin/cargo >> "${T}/provider-${P}"
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
+ ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
+ ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/rust/rust-1.34.1.ebuild b/dev-lang/rust/rust-1.34.1.ebuild
new file mode 100644
index 000000000000..3409dc5c4f4a
--- /dev/null
+++ b/dev-lang/rust/rust-1.34.1.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
+
+inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
+else
+ ABI_VER="$(ver_cut 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+ $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 9.
+# 3. Specify LLVM_MAX_SLOT, e.g. 8.
+LLVM_DEPEND="
+ || (
+ sys-devel/llvm:8[llvm_targets_WebAssembly?]
+ )
+ <sys-devel/llvm-9:=
+"
+LLVM_MAX_SLOT=8
+
+COMMON_DEPEND="
+ sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/libssh2
+ net-libs/http-parser:=
+ net-misc/curl[ssl]
+ system-llvm? (
+ ${LLVM_DEPEND}
+ )
+"
+
+DEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ dev-util/cmake"
+RDEPEND="${COMMON_DEPEND}
+ >=app-eselect/eselect-rust-20190311
+ !dev-util/cargo
+ rustfmt? ( !dev-util/rustfmt )"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ wasm? ( llvm_targets_WebAssembly )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
+ "${FILESDIR}"/1.34.0-doc-build-fix.patch
+ "${FILESDIR}"/1.34.0-libressl.patch # bug 684224
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pre_build_checks() {
+ CHECKREQS_DISK_BUILD="7G"
+ CHECKREQS_MEMORY="4G"
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ CHECKREQS_DISK_BUILD="10G"
+ CHECKREQS_MEMORY="16G"
+ fi
+ eshopts_pop
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+ use system-llvm && llvm_pkg_setup
+}
+
+src_prepare() {
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
+
+ "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
+
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${rust_stage0_root}"/bin/cargo || die
+ export OPENSSL_ppccap=0
+ fi
+
+ default
+}
+
+src_configure() {
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
+ fi
+ rust_targets="${rust_targets#,}"
+
+ local extended="true" tools="\"cargo\","
+ if use clippy; then
+ tools="\"clippy\",$tools"
+ fi
+ if use rls; then
+ tools="\"rls\",\"analysis\",\"src\",$tools"
+ fi
+ if use rustfmt; then
+ tools="\"rustfmt\",$tools"
+ fi
+
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ rust_target="$(rust_abi)"
+
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ [build]
+ build = "${rust_target}"
+ host = ["${rust_target}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = ${extended}
+ tools = [${tools}]
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "$(get_libdir)/${P}"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ default-linker = "$(tc-getCC)"
+ channel = "stable"
+ rpath = false
+ lld = $(toml_usex wasm)
+ EOF
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ cat <<- EOF >> "${S}"/config.env
+ CFLAGS_${rust_target}=${arch_cflags}
+ EOF
+
+ cat <<- EOF >> "${S}"/config.toml
+ [target.${rust_target}]
+ cc = "$(tc-getBUILD_CC)"
+ cxx = "$(tc-getBUILD_CXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+ if use system-llvm; then
+ cat <<- EOF >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ EOF
+ fi
+ done
+
+ if use wasm; then
+ cat <<- EOF >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "rust-lld"
+ EOF
+ fi
+}
+
+src_compile() {
+ env $(cat "${S}"/config.env)\
+ "${EPYTHON}" ./x.py build -v --config="${S}"/config.toml -j$(makeopts_jobs) \
+ --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
+}
+
+src_install() {
+ local rust_target abi_libdir
+
+ env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v || die
+
+ mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
+ mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
+ mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
+ mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
+ mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
+ if use clippy; then
+ mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
+ mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
+ fi
+ if use rls; then
+ mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
+ fi
+ if use rustfmt; then
+ mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
+ mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
+ fi
+
+ # Copy shared library versions of standard libraries for all targets
+ # into the system's abi-dependent lib directories because the rust
+ # installer only does so for the native ABI.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ if [ ${v##*.} = ${DEFAULT_ABI} ]; then
+ continue
+ fi
+ abi_libdir=$(get_abi_LIBDIR ${v##*.})
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ mkdir -p "${ED}/usr/${abi_libdir}"
+ cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
+ "${ED}/usr/${abi_libdir}" || die
+ done
+
+ dodoc COPYRIGHT
+
+ # FIXME:
+ # Really not sure if that env is needed, specailly LDPATH
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
+ MANPATH="${EPREFIX}/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ EOF
+ echo /usr/bin/cargo >> "${T}/provider-${P}"
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
+ ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
+ ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 332866f535ac..16f00944200d 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -24,6 +24,6 @@ EBUILD spidermonkey-17.0.0-r5.ebuild 3563 BLAKE2B 4b5294071559ee1e8487dfa5df388e
EBUILD spidermonkey-24.2.0-r4.ebuild 3989 BLAKE2B a859c05afcfe262398de5f0b4d0c148eaf2d94f57e9f029814982efcc740acbfc8349e756f75b3ce83a746571e27a31d88c78126b1b1e0cc9154e4b86f53dc8e SHA512 ca080e9993b2c10aed9abd0d54bd0722e8f4a53ed755f60389e9bf6b0d3347115ca7cc347b708592619ef69f6f1f38e5c9778c949f7224e579e7da09cd269067
EBUILD spidermonkey-38.3.0.ebuild 3869 BLAKE2B 261c49b9ab0c2f16fc782638b820e7ea34e9f09009a9ea9912baa1645a7a75fca5909d15482f53a55f17b72a10ad7fe27072976e4202b7381d57ede955ff0abf SHA512 c001b60b127eccbeb8e2f44f5995ad28496232a2eb663672876457476253341f2219e168784315f540c486558b97e9f0b5e49d914c39e1823a5b22ad14194ca8
EBUILD spidermonkey-45.0.2.ebuild 3980 BLAKE2B 8f5b8aaba2c9ffc9adf16ff14216375434ddb3511add9817022e2913b41b415fdb3a2899ab341dc3e389460dbdf6d00cfb86270e8fd7a8de78eda6bbfc73b6ee SHA512 f99a6f6385e9cd39b8f6acb63b4c5f6e05250eb475e7906c6b06251c2a3de593d2617cbed3ef9f5c13b6009bcac6cb9b989ec362e0bfc6e351adcbec033d2806
-EBUILD spidermonkey-52.9.1_pre1.ebuild 4244 BLAKE2B fefec5669a23546b2207b0b80064c1fc844e3fc7f5c482a5680a27387146b5ccb3215276d742dec39753120372274d19b0d2109bab8c1fb6c26c224d5e06c6f9 SHA512 985833199058bd51063ab2b8f1f73e39f36dd23fec50681bd08b49c1e2ad4fc7891893fd13b675f814010dd562bace588ef3b2c6f9f66656eda12296f9cfba9d
-EBUILD spidermonkey-60.5.2_p0-r1.ebuild 3772 BLAKE2B 93053ea9749a139e6605a8608a3344c4b4121fdd0c1d24998ed94efcc7490106f50605f340bbeb28868f7376e131efbde474d1fca2258f7b9ac887237154dab0 SHA512 6f77d56e1ddb1834e559d596b0282cb098a0faec3e344a9d26f84aa750060c682eb3a68f707d4858bb07bbabb2ae68941f0f821caaeb901f8c8d5c61396cde78
+EBUILD spidermonkey-52.9.1_pre1.ebuild 4243 BLAKE2B c1c21b3641ab8251bac198eb1a848d6669a34f3ddd05e95ce5e54bf2c782144921d8afb244e93cacb54160e9556b4c2990b66948053b3b4fa8d37d45a27807f9 SHA512 4b138054469b0a5773bf02f94ba53720e4b47629af7d4f184487ad4aecbe61d48781995f9126d3d99d762733effb8f65cbc1225b9e9d622e25f944b0f600c450
+EBUILD spidermonkey-60.5.2_p0-r1.ebuild 3779 BLAKE2B 47f93208a32fa782ef96b9f0cf42cb60cb9d0dca79f8d174afe377e144e0a6f8c0c8a74ddb9565ad787ce04e714538b5054d6544df0d481090a65fd5d704341a SHA512 3ad32eb683e85896cf331f4e5366367689c5917d8789f48073e94fb954c646350e0293b7784de2a54c573a4875d94ea3edf92375088b5180195541ab4a5b27cd
MISC metadata.xml 906 BLAKE2B 8557bb4bfdce358f543be3ff571177d61beb5713ba6fa4c24c8e91522ca30f8c5b1bf42abd0324164cc6febd04d07c1ae3a311d6d68d62992be6368c20650ca9 SHA512 a411a781913fe81801799d4d801645fd8029ee4fb727431589cb948f97464edd828b8d86969b2207880432db8e8e627fad829fd95394fa121bb0ae97ae8249b0
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
index 9324e9d313f8..575f17d42dd0 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.
LICENSE="NPL-1.1"
SLOT="52"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug minimal +system-icu test"
RESTRICT="ia64? ( test )"
diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r1.ebuild
index 9652ecde83f3..1cf651bf5db7 100644
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r1.ebuild
@@ -79,7 +79,7 @@ src_configure() {
$(use_enable jit ion) \
$(use_enable test tests) \
XARGS="/usr/bin/xargs" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ CONFIG_SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
}
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 4e2acc970eb5..5059e21424f3 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -7,6 +7,9 @@ DIST swipl-8.0.0.tar.gz 10352830 BLAKE2B f5ce1c5d0d48b4904a09b16c0b84b3a0c7385d0
DIST swipl-8.0.1.tar.gz 10364104 BLAKE2B 638ce216c361fe0a85d691989894c113714511628cb305ac990a60cc376a3c5d4f373461e0f2ee66df9954913c6fe7c45d4ef2660dd6fed5bca9339c692a9882 SHA512 40ffb9ecf213ae49b397e5a37d6fb90b83fc353a8408662e193e289c87de9e851427f6523061f067050b258ddad1ded157caf8124149c0335203b9bf08e7baf6
DIST swipl-8.1.0.tar.gz 10353486 BLAKE2B 421bf72b3a1d269d009da99e65b655a21fd100ecee27f98668a65b491bc0befaa6900c0771c685a5a9b8063a973bdc268410660b51cf808d245ca7ce7cc75f4d SHA512 84c92df24054de33bffd535009c0dc6b6dfd734aeb3bb64b99c80e580961f5305e3acae19ab9d24b1fc34c9e1d71b4dfe14b903d5581d110280edd8386e23a3a
DIST swipl-8.1.1.tar.gz 10378521 BLAKE2B 5753ecb40c7e1877bc369ced28b3e0d13a3ecc1c48a5fe7e8f5bf45a83da1ae7c6ad600c46145c387b0858f38c7868918d972c90ed1f6c0f8bd98f9683098942 SHA512 eeb1a2521e62bfbb64ab3f570d08523acd7587566d91fc821b1683c6f09e7dddcf0d65a26ad18e209f9283ab714b75cccd83201c5b71df042f34c573fd0aa403
+DIST swipl-8.1.2.tar.gz 10433753 BLAKE2B 0137be404b855ee470ad4a96e74833fda83370a690baa6793fdc5ba6a0180694b494da17294a44912228630e0ab2d0042fb54152dd9a4c11298dc6ffc0f48f01 SHA512 c700275529e9f43568f2698fce7d65d017f47fa738f9fceba6ebab9f35a7dba1e1a0251c240b8ad3a313bbe157a7e586c45025985dbd7f92bf1b55cf83020f8f
+DIST swipl-8.1.3.tar.gz 10507142 BLAKE2B 6171eba64a70e48517287900346a43f90fbacb7e409a5331188647423997c700bc44c0d2d714af49ab38646da224295148a76bee700753c365952819b051dc2a SHA512 cb698684cf6e98b01c9e466514be82ceeea5d308dc483c5ddb4d539244e7e8787d0ccc473eebbfd708e0e25d34402256f3f943740e559a462199977469f93c59
+DIST swipl-8.1.4.tar.gz 10547608 BLAKE2B dc6184e35e9ddb2b82579262c33abae64de53e690209940223176182c6e6120b1a4869829e8da299cbff1dc6474ffd2bc142c58da332b7e7e28c1b65245e04fc SHA512 e425d2d3bde8c3d375870bfaf1c70e143c4ef7596c2441f66a2cab7c1e6081c1d1e49e4c2f65c2f0cc181a0c0bb87c859430e38e057c713f4bdff979eba95153
EBUILD swi-prolog-7.4.2.ebuild 3398 BLAKE2B 368ef93ceb17042a28699f9aa469e6b5c39aa29154b810e43fd050ab3bc1079f83680cfac8f4108c7c297a51e9bdd28357a0b6241c08faef3ea5f81ab1605558 SHA512 76d094f62e442ac86d32eaf467179fdcf4d4edf6034f711104e91f8a01b7e343208ef0b6e492ed18c8c0605b96a48f1adef8f3903f861c716e882cb9695b0dd2
EBUILD swi-prolog-7.6.3.ebuild 3395 BLAKE2B 6445c399d7a7518bcd4ce05b9ea0bf50c7d0297d5a24d9ef84a48c36600077cea8c8b77b010d28e25dfe0766e12d1f560f42e5597a602f6bdfc7351ea6e0fa62 SHA512 830766267d3e4b60897dfcdab5263cee600ccfa2cd80f970ef3b4c3695cc3ddf9989ae85527f45cdf124898210f108a98a32a613de2543a8db813d42482b0687
EBUILD swi-prolog-7.6.4.ebuild 3456 BLAKE2B 55d9eb2b52f47dc7fd5df9f2743775e7aabd4f070d93e31f51b038f278604909f1f48dbb4cbd12ba96614f8619923712c465d424eb224874ba158f1670d615d5 SHA512 cf64a47e39b21557915fcd6e88ac5bb01fc56bb26afebf81dedaa087ac12a3c5952383a55594dbe22de8885c6a3afd47858963a4c0c68f705be20045a518d12d
@@ -14,4 +17,7 @@ EBUILD swi-prolog-8.0.0.ebuild 2466 BLAKE2B 801f8b9c6e3f9d5140cdbdad9bf6932dc3bc
EBUILD swi-prolog-8.0.1.ebuild 2466 BLAKE2B 801f8b9c6e3f9d5140cdbdad9bf6932dc3bc73f8f9fa95c6007e65bdb883b14fe800e63a4de610da01cd32cb8ceb8567ebebaf53b347aa0241905892011de925 SHA512 7f59cf9a185c20e2386d2c806650d024836fbe65da66af5ac07e3d5f3912ceb71fd39dcbd943fa56c4fb9117c17d4ae6d3c28fcf158b046e6abc4a1a43f29e7f
EBUILD swi-prolog-8.1.0.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
EBUILD swi-prolog-8.1.1.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
+EBUILD swi-prolog-8.1.2.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
+EBUILD swi-prolog-8.1.3.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
+EBUILD swi-prolog-8.1.4.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3
diff --git a/dev-lang/swi-prolog/swi-prolog-8.1.2.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.2.ebuild
new file mode 100644
index 000000000000..b986aa50d899
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.1.2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ epatch "${WORKDIR}"/${PV}
+ fi
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ eapply_user
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.1.3.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.3.ebuild
new file mode 100644
index 000000000000..b986aa50d899
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.1.3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ epatch "${WORKDIR}"/${PV}
+ fi
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ eapply_user
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.1.4.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.4.ebuild
new file mode 100644
index 000000000000..b986aa50d899
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.1.4.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ epatch "${WORKDIR}"/${PV}
+ fi
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ eapply_user
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/tcc/Manifest b/dev-lang/tcc/Manifest
index 33aaad84a633..e13aa48deb32 100644
--- a/dev-lang/tcc/Manifest
+++ b/dev-lang/tcc/Manifest
@@ -2,9 +2,7 @@ AUX clang.patch 441 BLAKE2B 6b60d1fd80301abdd707a8310e0c93d12e91bb9d680b72db13c4
AUX linker.patch 667 BLAKE2B b84f58dd0c460e36c90c6ff3f6cc342034daede23bae157152c7c44ac845c0cd30c6773966227a0d0cb6b08bb70770323c04209c880b2150414687e973717207 SHA512 aadbd3676b5333ae3b8a04c75117633ca8b08c5fa0f695b9f7ff7d3019ff06211c986d0a0986c7dc329621cc1a57e23d50924fd49cf1367490d962fcef4b4efe
DIST tcc-0.9.26.tar.bz2 525906 BLAKE2B 588e387d563ddede9842ac9012df36520fb1596bd3047fda2684ab44e49f8c1a35c1560c2fee724933cfcad5d618d84df853b72e1fee144b551cb67f7af1558a SHA512 abdbe208498cf4865a2036b5426616f5888b9b0e8d5d2fda6d1dd4afab3386167f12eca87d8a5c4c9b7dc88620d983ddce3e874b7dfa9c21eceea29ffa635d53
DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7
-EBUILD tcc-0.9.26-r1.ebuild 1568 BLAKE2B fab0abb6b2ec74a17ce36a28cbd42c61f5a70b293049fba563d4b753ec538936ef6d75b329a745cc27affaf177d6d825333f19949b0d71be327d6d7e2599344d SHA512 621f6d0dd29148f329245e8385d9d37fe742cc993f6d33ab1993cd4c8879c5d7b022210f8487051de4988e7a2dd4866e662dd572c6d5c8b4b67a4ad6bf2be740
-EBUILD tcc-0.9.26-r2.ebuild 1538 BLAKE2B e28c7c8b8e796d762f848676997bf10fbe11cc1fedb9a943bdb2f7a43d4a5a29d5dd617b3750dab56e3239653c42fb54f8937ea5257c0db30336f04dc49e67c0 SHA512 efc4358782dbfea9bddefe26328fd20e4d70ec2debb76bf9a7942d1d9eed3120749ff3cc1e6bde50dfa58d550b44efaa5a730082ba497f652304234a45500b31
EBUILD tcc-0.9.26-r3.ebuild 1702 BLAKE2B 01eb3abfd82d3e76b799a14fe8593b64144975becb784182df81c0516f93fd8818fb0ea6f11bfb32e6c7fede220ad91d09d9f51d9702d0fb22e119fea18aaed4 SHA512 578de3aa7211dddfc4b5d08cf33d13d730140866a71b300e1753100cda606a9676efff847dea7f6420bad17e9e23844bd618557095aa33c6ee386583a136e569
EBUILD tcc-0.9.27.ebuild 1545 BLAKE2B f162a055e57f04656b73ceb5edc43de3f69b893c7e3d94ce1749cf8604f1a366ec774769c0365b0160b1b7260ee245807e176481098998452216d72e226ad6ac SHA512 17da77bf834848d81396e715f23b81282f820a7fee07646b3a6b2c868a73a3852a3a53f521cd72d4f7ec5c930a1b9668bf16ae309f6fc10c96ba9ef9cf235bd3
EBUILD tcc-9999.ebuild 1692 BLAKE2B fe9b98bb754a65cd7dabb4e5fbd528b1226df26c610b69ec3c84f1b3d14908af5eaf2fedff1c31cf08748778f9dd1b7edc3a4de2be1066aec192127f0b9d6f1e SHA512 90ba80835413a83a545d6545286626dd95f42f0ee3991609633f6ad1e29469a4a59edd0b23d57babed6a7ddc4f35781b9f324172a0d687fe26f5b7d155909b6c
-MISC metadata.xml 316 BLAKE2B b344343dfa24e8c1d5743fbb628c6abec535a89722195816d8b58d8c1291c320fa98fda44151736c8f362f0186608977321f914fc3f09f88eb9efa17ec064ce1 SHA512 87e93f1667a8b911d4f8e79d05ab06aca7933d347387157e9a1d5d79260f976e6e9df2c172656acf5e961afbbeae640868ba28ade4c6e73ed09e020f9bd14978
+MISC metadata.xml 296 BLAKE2B 462027e1d9376620315a4740919c364088046fd44ab966260c6c6b165e503da13363cf485cdbcfa97717746b76c10069d1a5bf775643277ef47ce68e99f1c885 SHA512 b098dffc9f50966e80349d0fca166363191bd5e4cca786c3cdefd613f46c59b4abc2208cf22a75bcc5459531905713ac6ada2cc2ad77231c0ecdc1fef1bcf8f1
diff --git a/dev-lang/tcc/metadata.xml b/dev-lang/tcc/metadata.xml
index 56d7c4404e32..e9e27ec895b5 100644
--- a/dev-lang/tcc/metadata.xml
+++ b/dev-lang/tcc/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>wizardedit@gentoo.org</email>
- <name>Austin English</name>
- </maintainer>
- <longdescription>
- Tiny C compiler
- </longdescription>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <longdescription>
+ Tiny C compiler
+ </longdescription>
</pkgmetadata>
diff --git a/dev-lang/tcc/tcc-0.9.26-r1.ebuild b/dev-lang/tcc/tcc-0.9.26-r1.ebuild
deleted file mode 100644
index 07171a4fca78..000000000000
--- a/dev-lang/tcc/tcc-0.9.26-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="A very small C compiler for ix86/amd64"
-HOMEPAGE="https://bellard.org/tcc/"
-SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="dev-lang/perl" # doc generation
-# Both tendra and tinycc install /usr/bin/tcc
-RDEPEND="!dev-lang/tendra"
-IUSE="test"
-
-src_prepare() {
- # Don't strip
- sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile || die
-
- # Fix examples
- sed -i -e '1{
- i#! /usr/bin/tcc -run
- /^#!/d
- }' examples/ex*.c || die
- sed -i -e '1s/$/ -lX11/' examples/ex4.c || die
-
- # fix texi2html invocation
- sed -i -e 's/-number//' Makefile || die
- sed -i -e 's/--sections//' Makefile || die
-}
-
-src_configure() {
- use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise
- # better fixes welcome, it feels wrong to hack the env like this
- # not autotools, so call configure directly
- ./configure --cc="$(tc-getCC)" \
- --bindir=/usr/bin \
- --libdir=/usr/$(get_libdir) \
- --tccdir=tcc \
- --includedir=/usr/include \
- --docdir=/usr/share/doc/${PF} \
- --mandir=/usr/share/man
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc Changelog README TODO VERSION
- #dohtml tcc-doc.html
- exeinto /usr/share/doc/${PF}/examples
- doexe examples/ex*.c
-}
-
-src_test() {
- # this is using tcc bits that don't know as-needed etc.
- TCCFLAGS="" emake test
-}
diff --git a/dev-lang/tcc/tcc-0.9.26-r2.ebuild b/dev-lang/tcc/tcc-0.9.26-r2.ebuild
deleted file mode 100644
index 757cc7d58e06..000000000000
--- a/dev-lang/tcc/tcc-0.9.26-r2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="A very small C compiler for ix86/amd64"
-HOMEPAGE="https://bellard.org/tcc/"
-SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux"
-
-DEPEND="dev-lang/perl" # doc generation
-# Both tendra and tinycc install /usr/bin/tcc
-RDEPEND="!dev-lang/tendra"
-IUSE="test"
-
-src_prepare() {
- # Don't strip
- sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile || die
-
- # Fix examples
- sed -i -e '1{
- i#! /usr/bin/tcc -run
- /^#!/d
- }' examples/ex*.c || die
- sed -i -e '1s/$/ -lX11/' examples/ex4.c || die
-
- # fix texi2html invocation
- sed -i -e 's/-number//' Makefile || die
- sed -i -e 's/--sections//' Makefile || die
-}
-
-src_configure() {
- use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise
- # better fixes welcome, it feels wrong to hack the env like this
- # not autotools, so call configure directly
- ./configure --cc="$(tc-getCC)" \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc Changelog README TODO VERSION
- #dohtml tcc-doc.html
- exeinto /usr/share/doc/${PF}/examples
- doexe examples/ex*.c
-}
-
-src_test() {
- # this is using tcc bits that don't know as-needed etc.
- TCCFLAGS="" emake test
-}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index 52009b1e7501..a1ecf1b218f0 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -1,15 +1,13 @@
AUX 0.40-Allow-disabling-the-build-of-valadoc.patch 4585 BLAKE2B 4f0ee3cb4a47f4479ba29b3acfa173fcf045bedafa677544147969d63b05734de31fe6ce135bfa529f28583318cf8a8e76cd32f372d3513a859ebcbb560ebae1 SHA512 de1c71ac885ca88c7276c2e0b8e92ab63587b662f927cae423775908cec4bfd4bbfdf14f069c541a599e001e7e66712f04b9f45bc88882cc7ee5b0f582bd8229
AUX 0.40-valadoc-doclets-data-parallel-installable.patch 6105 BLAKE2B 24f3a2c44125da3dfc93c6c7426d85de59ef79baa3e96b898b0c01f8e46b8939e6f5ec1ab3ef1f84052ccef6a3bb61d3c86329aba228f3356b879ee6d867f045 SHA512 87d810c135844ebdbc011bccb66ac58ad77b773ed0513d96cd465b3a34103e308c9fc134c9701ec0df56d49644ecfe73ceafd2fde02699347253bbaabffbbb0f
-DIST vala-0.32.1.tar.xz 2759528 BLAKE2B cce23844ee5769216ef5cccb20476f4bdd2cb809a226236dd8a6bd533bb8ceb5b87add1d4d1c9eec60e0a94e64cafafcd1f46b2b2ae12fc951515fe8571e2195 SHA512 d59db1bd9132f93f187c30ccabff9d21fe8685293a6494e5b009d883de4f844cc4b8dc5d3b6eb4e026a93490f2e4ff7ba83ff22a093c6f8f85e68d83f5fe1bb0
-DIST vala-0.34.16.tar.xz 2795676 BLAKE2B 64428099c209e13a6aad09233af650f412efa191ff4873fae1dbfb9bcc252e13d4e152733c9f199cd23323872fd912807a685980f651c1f784bfaffae7bf4162 SHA512 6411d55524a6c717c2eaf5cc1231ac931400e3f66d151a8b8856910258eb5bd7affe3a90946de34feb51aabfafce721b8d57f61e0475095b275d20b73cc4bbec
-DIST vala-0.36.15.tar.xz 2880300 BLAKE2B ea83bde6396f3be1c96038d63ae30b18fa070a6f7a06b75569bfed9d7792c898201a1f24d000f5b6415bb890cf975758341a97f22db74da02fcbeb3f283e546f SHA512 1c8f888832b2dd4248737a5a27f00f42d8bab2fe0a0790a7df5c426f4e3e1d0919ed0f6f6fd905be758ed477ba840e18f608e67811389c811ba65710094abe61
DIST vala-0.36.18.tar.xz 2905668 BLAKE2B ed7f8a38e99fd75945071cf54190631b0ccddbb682da9790bb07b4d334063679bfb002bcf6e5c6c1807ca2b1c4e80659441779c113a7b05f9b4ff291f5ada201 SHA512 69d76fddee8e52e54dc8a3dbe1c0ffc5aeaede096f52614c3a7e18d28ec7a6a31aa617719a4d27a7a15867cd740888f5b381cd612d8fc010f1ea9fd9389d0655
+DIST vala-0.36.19.tar.xz 2909240 BLAKE2B 8b41ab516a6e5c9eef6e4f5590cfa49892e69a8bf28837c2816fb2024a91d614df3b0007554aad3ab8a87b18f174c5571289e0264d3a724fb223276d03a3001b SHA512 cb275146537f3cf0678d7de5c0ee1b1b364fef11099f3c3aaba48c1d0b839fd313cc04bef981f36e5f08b3cbb08cd3aef930357e4ee1ed52fefef446aede6449
DIST vala-0.40.14.tar.xz 3398668 BLAKE2B 6df1e47439000e1a49dda4d58651b7039737a2648563fc4e09d679bf63d968d9dafcc9ab5e371ca450bab70163f9fb1fb30ffa75451940f9a1518d7fb3a5ebf1 SHA512 0387bbcf35055f2b4a8f790370847bcc12a92d7969d9ed583b0630be8b637a9e28895508da9cdfab8baf97ad5fdc9249bf82e31e6c1ee19d0026f5061c027db8
-DIST vala-0.42.6.tar.xz 3354840 BLAKE2B 0cc5c91967cbadda8c12143d4de6ebffa60c7031bc314338e7ca1e036866b460bf78e28b7f7737bee8243198ffa655c99b3e743d639c5d2b5ed93f210fc692bc SHA512 664fa303d6b2b037254bc6e19d79b7894444f5c38fb7b1fcb73f37512dc97bc01c8ddbb23563093e271c562a9fb49c96fcc9019889a57a95a4e8e162c8619f2f
-EBUILD vala-0.32.1.ebuild 715 BLAKE2B a81943848c92a1440ed5617a7a6d800b63b361fd3db3c3656eb0778772c9504dcef40d2c71e468b291e2703bff79e07c30ccea5ea36445cb0df9a1ceb54bb0f4 SHA512 44d75eacd2d10c7c1706d7fafb99f12276bc55b7a923fc6c3d6c8a8e0a0c54f7e32575e13b9401d908f0881cc66b5e154654b2b9fdde95f46d98b71f926a18af
-EBUILD vala-0.34.16.ebuild 715 BLAKE2B 40e94f7518e832aefcd7d647a565bcc4b7aef6e986b37df132503db72581d9b2fd10220770378218f436b3a5ed77f26285d41a3d5e6b358b4f86d50aeca0c734 SHA512 a08465abf95da596e216e0b0df18331f6f0a9b06cffb90e9fb9c6b15edaad66cfc19be8059bd183107e90dfc7092ab05044f80f5f93372ecc1a3a6cdc0266095
-EBUILD vala-0.36.15.ebuild 798 BLAKE2B 6def4d1f13ee1fd84f2405da15b6cab064ec882b2ba4fd497636966414308dddefda9357d0559b052277476becf2856ca923f62007f0a319ea90cc3a0fcf572d SHA512 2bbd7d899f35cfbe72ee2c9304ff2d68e87babb06fa6f8c2ea94edbe95cb3b039e33e565d5af6cda978cf6e8517cc5cd51f763dcf6f9963c5c5ae30ae434555e
-EBUILD vala-0.36.18.ebuild 802 BLAKE2B 8a116d0b17ac16c456f3b573eb9304b2f54ec21a9d301a1a7c8053f7c142b2bc33871561375b175122f1834a56d3df27f322b5175665b0101d73f83eca42e458 SHA512 e9c5b07990fa336bca731c084dd2f40572eface34ffbbccea7199523211fc0bb57457764ccfd822fc075b87b69519967a88dfe2d2f0f1a2ecdb406054629fa24
-EBUILD vala-0.40.14.ebuild 1189 BLAKE2B 92707ae76daae37f340740293b2e1f2cd4e570b8962f53cfed75f22006d2d8da95b04318333327bbd2e354f20010fd5396b39530f2a35d453990f931a6d42622 SHA512 03dd94a7575f807b9dbc9b25f6cd5fc72dff5541fb7b0b7fda0c22361759e06b99711592a0cb5e0eed759df35e55b54f81857b27411717fd74540151ceed9414
-EBUILD vala-0.42.6.ebuild 1195 BLAKE2B 045fe01bf1cbe617009e26d10bebf09212104391c6f5e669d85f59a61a8985646b48e3846e0e703905dcccfa50ef83b9539c447af06d9d22515700ad38e6cce8 SHA512 583b0be174b98b4d1941a02a68fdd60d1e8da6cb3adfadff25c1f9f5612634fdf418e6c4aa02d405ddeb21c20f3ee0309713ee81ea1d8869c30d58b6b0710cc6
+DIST vala-0.40.15.tar.xz 3406020 BLAKE2B aaa2967a140fae94b4609f4b54f2e37c71fe79453cb3ea30568ee018d2227d1c45061440ad632bcfc53650fbe4dba2f062d8095f95936623a49efb5e97f2c2bb SHA512 abb918b00afab7a85586f9bd26b78be87e19b725752cbb77dd428da2e6241b1f3d4aaa70e3e6daf6f373562d02f1ff8016e6c9107e2bf088d9b84334adecdda2
+DIST vala-0.42.7.tar.xz 3362192 BLAKE2B 59f76d43f4bf80f75681c386cb30c4686bf93444bcd371900b134e0338ab865cf61d4cfd35facfff47c78075c384028cbcbd318eb927444f15862f7a28bccaa1 SHA512 d9044b126c91f3b1835a7182a054464339e4e2e52e63df90f43d2d5d9cba06fd6bb7eed5f6aa4d502f43f0a1232610d39d244952cfca54f63eb019e764899eca
+EBUILD vala-0.36.18.ebuild 798 BLAKE2B 6def4d1f13ee1fd84f2405da15b6cab064ec882b2ba4fd497636966414308dddefda9357d0559b052277476becf2856ca923f62007f0a319ea90cc3a0fcf572d SHA512 2bbd7d899f35cfbe72ee2c9304ff2d68e87babb06fa6f8c2ea94edbe95cb3b039e33e565d5af6cda978cf6e8517cc5cd51f763dcf6f9963c5c5ae30ae434555e
+EBUILD vala-0.36.19.ebuild 808 BLAKE2B 9f04ce6dca0a2f2098014661f0ffad732fc0108593df0cd6ec494f90da46eb0d38d88fc8c4d7123af9b001f71e11d0e187328bf1055c0624368ae798caafbe94 SHA512 9dca2bedc887fdd6289a68ace481745ec4091d8463595577267ef596a46159f3a0aa5198d57b5e7a363b4bb5a7af9b3b981b4d2a908202ed32e977ad0eeaa043
+EBUILD vala-0.40.14.ebuild 1185 BLAKE2B 1cb8b3efdd6f010c5524aabced06132f9f90920d3345e216df0dcb555ab2d4c10afa196271b2623d71d5b4dc57ce2705677275c1da7c0099925e82d5cb1eac26 SHA512 5e271726a2e71902440df5c03897f9c1960d83bb6eff5d2f4a1213d791190a2f34a81fdefb165427c9ca3a92aacdc801c5bb4be5b98fca27ed0b9adafc4d5158
+EBUILD vala-0.40.15.ebuild 1195 BLAKE2B b81057d991d4bd6555a1053f76ab928b0ca4d929fa7f4ca72f09e6b5e8da4d771aa40c2d3226764e52cfe2dc1726e8a2eab74b6279b1214f53be04ea56293e49 SHA512 efae3d53b21dd8cb35d503320a39797007a8eaccefb06e7cfcb1a4a52dda3988fe2c85cbc0eba8594027eaaa3e528d5c7f3a1c761fcb026eb59cb6e28c971f3f
+EBUILD vala-0.42.7.ebuild 1195 BLAKE2B 045fe01bf1cbe617009e26d10bebf09212104391c6f5e669d85f59a61a8985646b48e3846e0e703905dcccfa50ef83b9539c447af06d9d22515700ad38e6cce8 SHA512 583b0be174b98b4d1941a02a68fdd60d1e8da6cb3adfadff25c1f9f5612634fdf418e6c4aa02d405ddeb21c20f3ee0309713ee81ea1d8869c30d58b6b0710cc6
MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283
diff --git a/dev-lang/vala/vala-0.32.1.ebuild b/dev-lang/vala/vala-0.32.1.ebuild
deleted file mode 100644
index bdf5937820e0..000000000000
--- a/dev-lang/vala/vala-0.32.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2
-
-DESCRIPTION="Compiler for the GObject type system"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
-
-LICENSE="LGPL-2.1"
-SLOT="0.32"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="test"
-
-RDEPEND="
- >=dev-libs/glib-2.32:2
- >=dev-libs/vala-common-${PV}
-"
-DEPEND="${RDEPEND}
- !${CATEGORY}/${PN}:0
- dev-libs/libxslt
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc
- test? (
- dev-libs/dbus-glib
- >=dev-libs/glib-2.26:2
- dev-libs/gobject-introspection )
-"
-
-src_configure() {
- gnome2_src_configure --disable-unversioned
-}
diff --git a/dev-lang/vala/vala-0.34.16.ebuild b/dev-lang/vala/vala-0.34.16.ebuild
deleted file mode 100644
index 9ed204f028ea..000000000000
--- a/dev-lang/vala/vala-0.34.16.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2
-
-DESCRIPTION="Compiler for the GObject type system"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
-
-LICENSE="LGPL-2.1"
-SLOT="0.34"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="test"
-
-RDEPEND="
- >=dev-libs/glib-2.32:2
- >=dev-libs/vala-common-${PV}
-"
-DEPEND="${RDEPEND}
- !${CATEGORY}/${PN}:0
- dev-libs/libxslt
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc
- test? (
- dev-libs/dbus-glib
- >=dev-libs/glib-2.26:2
- dev-libs/gobject-introspection )
-"
-
-src_configure() {
- gnome2_src_configure --disable-unversioned
-}
diff --git a/dev-lang/vala/vala-0.36.18.ebuild b/dev-lang/vala/vala-0.36.18.ebuild
index a7ea07745c17..9b171ffa1b20 100644
--- a/dev-lang/vala/vala-0.36.18.ebuild
+++ b/dev-lang/vala/vala-0.36.18.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1"
SLOT="0.36"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
IUSE="test"
RDEPEND="
diff --git a/dev-lang/vala/vala-0.36.15.ebuild b/dev-lang/vala/vala-0.36.19.ebuild
index 9b171ffa1b20..4d1cbf2216f0 100644
--- a/dev-lang/vala/vala-0.36.15.ebuild
+++ b/dev-lang/vala/vala-0.36.19.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1"
SLOT="0.36"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
IUSE="test"
RDEPEND="
diff --git a/dev-lang/vala/vala-0.40.14.ebuild b/dev-lang/vala/vala-0.40.14.ebuild
index 0a843dd941c4..af1745032a89 100644
--- a/dev-lang/vala/vala-0.40.14.ebuild
+++ b/dev-lang/vala/vala-0.40.14.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1"
SLOT="0.40"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
IUSE="test valadoc"
RDEPEND="
diff --git a/dev-lang/vala/vala-0.40.15.ebuild b/dev-lang/vala/vala-0.40.15.ebuild
new file mode 100644
index 000000000000..770448d2d76e
--- /dev/null
+++ b/dev-lang/vala/vala-0.40.15.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1"
+SLOT="0.40"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+IUSE="test valadoc"
+
+RDEPEND="
+ >=dev-libs/glib-2.40.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+"
+DEPEND="${RDEPEND}
+ !${CATEGORY}/${PN}:0
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+PATCHES=(
+ # From master
+ "${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch
+ # Add missing bits to make valadoc parallel installable
+ "${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch
+)
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.42.6.ebuild b/dev-lang/vala/vala-0.42.7.ebuild
index c46a0b9cc04e..c46a0b9cc04e 100644
--- a/dev-lang/vala/vala-0.42.6.ebuild
+++ b/dev-lang/vala/vala-0.42.7.ebuild