summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-crypt/mit-krb5/Manifest2
-rw-r--r--app-crypt/mit-krb5/mit-krb5-1.14.5.ebuild147
-rw-r--r--app-crypt/mit-krb5/mit-krb5-1.15.1.ebuild148
-rw-r--r--app-emulation/fuse-utils/metadata.xml10
-rw-r--r--app-emulation/fuse/metadata.xml10
-rw-r--r--app-emulation/libspectrum/metadata.xml10
-rw-r--r--eclass/cvs.eclass28
-rw-r--r--eclass/flag-o-matic.eclass11
-rw-r--r--eclass/java-ant-2.eclass40
-rw-r--r--eclass/mysql-multilib-r1.eclass12
-rw-r--r--eclass/perl-functions.eclass2
-rw-r--r--eclass/python-any-r1.eclass26
-rw-r--r--eclass/python-r1.eclass59
-rw-r--r--eclass/python-single-r1.eclass56
-rw-r--r--eclass/python-utils-r1.eclass49
-rw-r--r--eclass/ruby-fakegem.eclass5
-rw-r--r--eclass/ruby-ng.eclass11
-rwxr-xr-xeclass/tests/python-utils-r1.sh4
-rw-r--r--eclass/toolchain-funcs.eclass6
-rw-r--r--eclass/unpacker.eclass18
-rw-r--r--profiles/package.mask65
21 files changed, 571 insertions, 148 deletions
diff --git a/app-crypt/mit-krb5/Manifest b/app-crypt/mit-krb5/Manifest
index 21175547e902..37b1a756547d 100644
--- a/app-crypt/mit-krb5/Manifest
+++ b/app-crypt/mit-krb5/Manifest
@@ -1,4 +1,6 @@
DIST krb5-1.14.2.tar.gz 12264762 SHA256 6bcad7e6778d1965e4ce4af21d2efdc15b274c5ce5c69031c58e4c954cda8b27 SHA512 8e0d8203740aac78b65a62c0f79998b56dae23725763f645ae13a92dc4263d193e7334f84e278ca873d2b72d425f47cd4b68b58690d029dccce41e8a157b16f0 WHIRLPOOL 18a3729f5bfb928318f5cc28c919cbc49ee9179199ee82445922a5f2e8afbf4ed5a31f7e710877f8c12ef75f326723e7410608ce538983ce1b811e16091d72a1
DIST krb5-1.14.3.tar.gz 12279888 SHA256 cd4620d520cf0df0dd8791309912df2bb20fcba76790b9fba4e25c1da08ff2c9 SHA512 97f42bb7e0f69e337b949b451bf925f604e7ef9336c32bd4d62224a8c4a37e631f5a6fc01016bbdf268bbb60fa58712e244e00a1ab5a8bceede6a676482235aa WHIRLPOOL 30803fbd74f90c1b0e16783d36b7a648f4bf2fd8391f722589cdcbea28a7e826789fd7da3ed984f4555b18e72aa7f4e3096299f0edc7a9165c98eb078f5efe07
DIST krb5-1.14.4.tar.gz 12283989 SHA256 03a61a4280c9161771fb39019085dbe6a57aa602080515ff93b43cd6137e0b95 SHA512 5eb16b909d69143bfa8b2a7ba4c0deb74408462a5ec1241e97f37e30d29e259767be91a4533119e2c5e92d1fcbcab97038b2e45ad3361b5a61c3dc562c6d0d67 WHIRLPOOL 9a4ed044fd96fef4875ba9d281a94b5ee9d393e9f2c92c3bc65600fb447928358918389aef2d1f371e4726213b9497d63719b981a819cdacf791eb1385f5b850
+DIST krb5-1.14.5.tar.gz 12322802 SHA256 262485c15af1208b69b55bef39cd246a892b5f41adf1956055ba52884a4dc7bf SHA512 2484f9581b5e0b99cc49ba7f8770ea3a8751e756c98cc552d92ca223575eac58f6f1a9c268254ead4435d2d49b50ccf3181eb7bdbd56874c43f91bcfc2a66d3b WHIRLPOOL 638c046cf257cdb0f5b940681790ab779f103b4488413979ac3072b3117f251710a284910dbcb8806d965c3a97ea2f62965050de0e07356208b23786cebfde08
+DIST krb5-1.15.1.tar.gz 9375538 SHA256 437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45 SHA512 068b4c012722d8c232049d2a617f7ee28ceeaba6be94a78439e69e37b66cfdc49085641e42cfb03b2fbb72d21517b537e437061ec4dd2bf864f31e55e05fe918 WHIRLPOOL 1415295882eccbaf550d05d4b5bcae77c3c6fde1f5354b2ffac09f73148f22a223c38d73d80eb4c0e3b7e9fd528891645e114713e11a5eaa14520cdbe6b097c6
DIST krb5-1.15.tar.gz 9327157 SHA256 fd34752774c808ab4f6f864f935c49945f5a56b62240b1ad4ab1af7b4ded127c SHA512 e71008ac3055a511ecbe6adfb9b328f0a01b33e8a73276d75b80d5db783f7bde63987c855584fb6075a6f5c88135d9871f51b2469e34ac8ee3d89b9add22d8f1 WHIRLPOOL 77572929805f2db35b46e6cf5d83058376025c7a924c1f5034ffaa18c209ecd9078c9ff5142f7848f76e6d586db8ec4c985dba32bbbe27d439c3cd8288ef59e8
diff --git a/app-crypt/mit-krb5/mit-krb5-1.14.5.ebuild b/app-crypt/mit-krb5/mit-krb5-1.14.5.ebuild
new file mode 100644
index 000000000000..c4ebe7f83b23
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.14.5.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils flag-o-matic multilib-minimal python-any-r1 versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="http://web.mit.edu/kerberos/www/"
+SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +keyutils libressl nls openldap +pkinit selinux +threads test xinetd"
+
+CDEPEND="
+ !!app-crypt/heimdal
+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+ )
+ keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ pkinit? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+ )
+ xinetd? ( sys-apps/xinetd )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${CDEPEND}
+ ${PYTHON_DEPS}
+ virtual/yacc
+ doc? ( virtual/latex-base )
+ test? (
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0
+ dev-util/dejagnu
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/krb5-config
+)
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+ epatch "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+ epatch "${FILESDIR}/${PN}-1.14.2-redeclared-ttyname.patch"
+ epatch "${FILESDIR}/${PN}-1.14.4-disable-nls.patch"
+
+ # Make sure we always use the system copies.
+ rm -rf util/{et,ss,verto}
+ sed -i 's:^[[:space:]]*util/verto$::' configure.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # QA
+ append-flags -fno-strict-aliasing
+ append-flags -fno-strict-overflow
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use keyutils || export ac_cv_header_keyutils_h=no
+ ECONF_SOURCE=${S} \
+ WARN_CFLAGS="set" \
+ econf \
+ $(use_with openldap ldap) \
+ "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+ $(use_enable nls) \
+ $(use_enable pkinit) \
+ $(use_enable threads thread-support) \
+ --without-hesiod \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --enable-dns-for-realm \
+ --enable-kdc-lookaside-cache \
+ --with-system-verto \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ emake -j1
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ install
+}
+
+multilib_src_install_all() {
+ # default database dir
+ keepdir /var/lib/krb5kdc
+
+ cd ..
+ dodoc README
+
+ if use doc; then
+ dohtml -r doc/html/*
+ docinto pdf
+ dodoc doc/pdf/*.pdf
+ fi
+
+ newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+ newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+ newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+ newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+ newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+ newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+ insinto /etc
+ newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+ insinto /var/lib/krb5kdc
+ newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+ if use openldap ; then
+ insinto /etc/openldap/schema
+ doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/kpropd.xinetd" kpropd
+ fi
+}
diff --git a/app-crypt/mit-krb5/mit-krb5-1.15.1.ebuild b/app-crypt/mit-krb5/mit-krb5-1.15.1.ebuild
new file mode 100644
index 000000000000..43d73e446296
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.15.1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools flag-o-matic multilib-minimal python-any-r1 versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="http://web.mit.edu/kerberos/www/"
+SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +keyutils libressl nls openldap +pkinit selinux +threads test xinetd"
+
+CDEPEND="
+ !!app-crypt/heimdal
+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+ )
+ keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ pkinit? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+ )
+ xinetd? ( sys-apps/xinetd )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${CDEPEND}
+ ${PYTHON_DEPS}
+ virtual/yacc
+ doc? ( virtual/latex-base )
+ test? (
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0
+ dev-util/dejagnu
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/krb5-config
+)
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+ eapply -p2 "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+ eapply -p0 "${FILESDIR}/${PN}-1.14.2-redeclared-ttyname.patch"
+ eapply "${FILESDIR}/${PN}-1.14.4-disable-nls.patch"
+
+ # Make sure we always use the system copies.
+ rm -rf util/{et,ss,verto}
+ sed -i 's:^[[:space:]]*util/verto$::' configure.in || die
+
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ # QA
+ append-flags -fno-strict-aliasing
+ append-flags -fno-strict-overflow
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use keyutils || export ac_cv_header_keyutils_h=no
+ ECONF_SOURCE=${S} \
+ WARN_CFLAGS="set" \
+ econf \
+ $(use_with openldap ldap) \
+ "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+ $(use_enable nls) \
+ $(use_enable pkinit) \
+ $(use_enable threads thread-support) \
+ --without-hesiod \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --enable-dns-for-realm \
+ --enable-kdc-lookaside-cache \
+ --with-system-verto \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ emake -j1
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ install
+}
+
+multilib_src_install_all() {
+ # default database dir
+ keepdir /var/lib/krb5kdc
+
+ cd ..
+ dodoc README
+
+ if use doc; then
+ dodoc -r doc/html
+ docinto pdf
+ dodoc doc/pdf/*.pdf
+ fi
+
+ newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+ newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+ newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+ newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+ newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+ newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+ insinto /etc
+ newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+ insinto /var/lib/krb5kdc
+ newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+ if use openldap ; then
+ insinto /etc/openldap/schema
+ doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/kpropd.xinetd" kpropd
+ fi
+}
diff --git a/app-emulation/fuse-utils/metadata.xml b/app-emulation/fuse-utils/metadata.xml
index fc8525d05d23..a335d4fddda0 100644
--- a/app-emulation/fuse-utils/metadata.xml
+++ b/app-emulation/fuse-utils/metadata.xml
@@ -1,15 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jmfo1982@yahoo.es</email>
- <name>José Manuel Ferrer Ortiz</name>
- <description>Proxied Maintainer. Please assign on bugs.</description>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> for low-level crypto of some
features, including logfiles.</flag>
diff --git a/app-emulation/fuse/metadata.xml b/app-emulation/fuse/metadata.xml
index 418dc2953f6c..5615225f706b 100644
--- a/app-emulation/fuse/metadata.xml
+++ b/app-emulation/fuse/metadata.xml
@@ -1,15 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jmfo1982@yahoo.es</email>
- <description>Proxied Maintainer. Please assign on bugs.</description>
- <name>José Manuel Ferrer Ortiz</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">fuse-emulator</remote-id>
</upstream>
diff --git a/app-emulation/libspectrum/metadata.xml b/app-emulation/libspectrum/metadata.xml
index 0a155ba9350b..7c39ec376afa 100644
--- a/app-emulation/libspectrum/metadata.xml
+++ b/app-emulation/libspectrum/metadata.xml
@@ -1,15 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jmfo1982@yahoo.es</email>
- <name>José Manuel Ferrer Ortiz</name>
- <description>Proxied Maintainer. Please CC on bugs.</description>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
libspectrum is a library designed to make the input and output of some ZX
Spectrum emulator files slightly easier. It is intended to be usable on Unix
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index 6d1adea11a4c..e2121f4724f2 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cvs.eclass
@@ -352,22 +352,22 @@ cvs_fetch() {
fi
# Commands to run
- cmdlogin="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_pass}\" login"
- cmdupdate="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_nopass}\" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME}"
- cmdcheckout="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_nopass}\" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE}"
+ cmdlogin=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_pass}" login )
+ cmdupdate=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME} )
+ cmdcheckout=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE} )
# Execute commands
cd "${ECVS_TOP_DIR}"
if [[ ${ECVS_AUTH} == "pserver" ]] ; then
- einfo "Running ${cmdlogin}"
- eval ${cmdlogin} || die "cvs login command failed"
+ einfo "Running ${cmdlogin[*]}"
+ "${cmdlogin[@]}" || die "cvs login command failed"
if [[ ${mode} == "update" ]] ; then
- einfo "Running ${cmdupdate}"
- eval ${cmdupdate} || die "cvs update command failed"
+ einfo "Running ${cmdupdate[*]}"
+ "${cmdupdate[@]}" || die "cvs update command failed"
elif [[ ${mode} == "checkout" ]] ; then
- einfo "Running ${cmdcheckout}"
- eval ${cmdcheckout} || die "cvs checkout command failed"
+ einfo "Running ${cmdcheckout[*]}"
+ "${cmdcheckout[@]}" || die "cvs checkout command failed"
fi
elif [[ ${ECVS_AUTH} == "ext" || ${ECVS_AUTH} == "no" ]] ; then
# Hack to support SSH password authentication
@@ -461,11 +461,11 @@ EOF
fi
if [[ ${mode} == "update" ]] ; then
- einfo "Running ${cmdupdate}"
- eval ${cmdupdate} || die "cvs update command failed"
+ einfo "Running ${cmdupdate[*]}"
+ "${cmdupdate[@]}" || die "cvs update command failed"
elif [[ ${mode} == "checkout" ]] ; then
- einfo "Running ${cmdcheckout}"
- eval ${cmdcheckout} || die "cvs checkout command failed"
+ einfo "Running ${cmdcheckout[*]}"
+ "${cmdcheckout[@]}" || die "cvs checkout command failed"
fi
# Restore environment variable values
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 6d41ddd30f71..b2f3742b3ecf 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -116,7 +116,7 @@ _filter-var() {
done
new+=( "${f}" )
done
- eval export ${var}=\""${new[*]}"\"
+ export ${var}="${new[*]}"
}
# @FUNCTION: filter-flags
@@ -270,7 +270,7 @@ replace-flags() {
[[ ${f} == ${1} ]] && f=${2}
new+=( "${f}" )
done
- eval export ${var}=\""${new[*]}"\"
+ export ${var}="${new[*]}"
done
return 0
@@ -295,9 +295,8 @@ replace-cpu-flags() {
}
_is_flagq() {
- local x var
- eval var=\""\${$1[*]}"\"
- for x in ${var} ; do
+ local x var="$1[*]"
+ for x in ${!var} ; do
[[ ${x} == $2 ]] && return 0
done
return 1
@@ -411,7 +410,7 @@ strip-flags() {
if [[ ${!var} != "${new[*]}" ]] ; then
einfo "strip-flags: ${var}: changed '${!var}' to '${new[*]}'"
fi
- eval export ${var}=\""${new[*]}"\"
+ export ${var}="${new[*]}"
done
set +f # re-enable pathname expansion
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index a72fb948eeef..b49adc3137f1 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -160,16 +160,12 @@ java-ant_bsfix() {
find_args="${find_args} -type f ( -name ${JAVA_PKG_BSFIX_NAME// / -o -name } )"
- # This voodoo is done for paths with spaces
- local bsfix_these
- while read line; do
- [[ -z ${line} ]] && continue
- bsfix_these="${bsfix_these} '${line}'"
- done <<-EOF
- $(find . ${find_args})
- EOF
+ local bsfix_these=() line
+ while IFS= read -r -d $'\0' line; do
+ bsfix_these+=( "${line}" )
+ done < <(find . ${find_args} -print0)
- [[ "${bsfix_these// /}" ]] && eval java-ant_bsfix_files ${bsfix_these}
+ [[ "${bsfix_these[@]}" ]] && java-ant_bsfix_files "${bsfix_these[@]}"
popd > /dev/null || die
}
@@ -227,7 +223,7 @@ java-ant_bsfix_files() {
eerror "Please file a bug about this on bugs.gentoo.org"
die "Could not find valid -source/-target values"
else
- local files
+ local files=()
for file in "${@}"; do
debug-print "${FUNCNAME}: ${file}"
@@ -240,7 +236,7 @@ java-ant_bsfix_files() {
chmod u+w "${file}" || die "chmod u+w ${file} failed"
fi
- files="${files} -f '${file}'"
+ files+=( -f "${file}" )
done
# for javadoc target and all in one pass, we need the new rewriter.
@@ -254,7 +250,7 @@ java-ant_bsfix_files() {
if [[ -x ${rewriter4} && ${JAVA_ANT_ENCODING} ]]; then
[[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] && local gcp="-g"
[[ ${JAVA_ANT_ENCODING} ]] && local enc="-e ${JAVA_ANT_ENCODING}"
- eval echo "cElementTree rewriter"
+ echo "cElementTree rewriter"
debug-print "${rewriter4} extra args: ${gcp} ${enc}"
${rewriter4} ${gcp} ${enc} \
-c "${JAVA_PKG_BSFIX_SOURCE_TAGS}" source ${want_source} \
@@ -262,31 +258,31 @@ java-ant_bsfix_files() {
"${@}" || die "build-xml-rewrite failed"
elif [[ ! -f ${rewriter3} ]]; then
debug-print "Using second generation rewriter"
- eval echo "Rewriting source attributes"
- eval xml-rewrite-2.py ${files} \
+ echo "Rewriting source attributes"
+ xml-rewrite-2.py "${files[@]}" \
-c -e ${JAVA_PKG_BSFIX_SOURCE_TAGS// / -e } \
-a source -v ${want_source} || _bsfix_die "xml-rewrite2 failed: ${file}"
- eval echo "Rewriting target attributes"
- eval xml-rewrite-2.py ${files} \
+ echo "Rewriting target attributes"
+ xml-rewrite-2.py "${files[@]}" \
-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
-a target -v ${want_target} || _bsfix_die "xml-rewrite2 failed: ${file}"
- eval echo "Rewriting nowarn attributes"
- eval xml-rewrite-2.py ${files} \
+ echo "Rewriting nowarn attributes"
+ xml-rewrite-2.py "${files[@]}" \
-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
-a nowarn -v yes || _bsfix_die "xml-rewrite2 failed: ${file}"
if [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
- eval echo "Adding gentoo.classpath to javac tasks"
- eval xml-rewrite-2.py ${files} \
+ echo "Adding gentoo.classpath to javac tasks"
+ xml-rewrite-2.py "${files[@]}" \
-c -e javac -e xjavac -a classpath -v \
'\${gentoo.classpath}' \
|| _bsfix_die "xml-rewrite2 failed"
fi
else
debug-print "Using third generation rewriter"
- eval echo "Rewriting attributes"
+ echo "Rewriting attributes"
local bsfix_extra_args=""
# WARNING KEEP THE ORDER, ESPECIALLY FOR CHANGED ATTRIBUTES!
if [[ -n ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
@@ -333,7 +329,7 @@ java-ant_bsfix_files() {
debug-print "bsfix_extra_args: ${bsfix_extra_args}"
- eval ${rewriter3} ${files} \
+ ${rewriter3} "${files[@]}" \
-c --source-element ${JAVA_PKG_BSFIX_SOURCE_TAGS// / --source-element } \
--source-attribute source --source-value ${want_source} \
--target-element ${JAVA_PKG_BSFIX_TARGET_TAGS// / --target-element } \
diff --git a/eclass/mysql-multilib-r1.eclass b/eclass/mysql-multilib-r1.eclass
index f82cc101af05..c22ff72f0876 100644
--- a/eclass/mysql-multilib-r1.eclass
+++ b/eclass/mysql-multilib-r1.eclass
@@ -941,19 +941,19 @@ mysql-multilib-r1_pkg_config() {
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && version_is_at_least "5.7.6" ; then
# --initialize-insecure will not set root password
# --initialize would set a random one in the log which we don't need as we set it ourselves
- cmd="${EROOT}usr/sbin/mysqld"
+ cmd=( "${EROOT}usr/sbin/mysqld" )
initialize_options="--initialize-insecure '--init-file=${sqltmp}'"
sqltmp="" # the initialize will take care of it
else
- cmd="${EROOT}usr/share/mysql/scripts/mysql_install_db"
- [[ -f "${cmd}" ]] || cmd="${EROOT}usr/bin/mysql_install_db"
+ cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
fi
- cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}' ${initialize_options}"
- einfo "Command: $cmd"
- eval $cmd \
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ${initialize_options} )
+ einfo "Command: ${cmd[*]}"
+ "${cmd[@]}" \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 8b798d65ac6a..4f6872500c20 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -275,7 +275,7 @@ perl_check_env() {
errored=1
# Read ENV Value
- eval "value=\$$i";
+ value=${!i};
# Print ENV name/value pair
if [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index a1dd4282c1ef..69f7bb736d22 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: python-any-r1.eclass
@@ -57,8 +57,6 @@ fi
EXPORT_FUNCTIONS pkg_setup
-if [[ ! ${_PYTHON_ANY_R1} ]]; then
-
# @ECLASS-VARIABLE: PYTHON_COMPAT
# @REQUIRED
# @DESCRIPTION:
@@ -148,24 +146,36 @@ if [[ ! ${_PYTHON_ANY_R1} ]]; then
# @CODE
_python_any_set_globals() {
- local usestr i PYTHON_PKG_DEP
+ local usestr deps i PYTHON_PKG_DEP
[[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]"
_python_set_impls
- PYTHON_DEPS=
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
python_export "${i}" PYTHON_PKG_DEP
# note: need to strip '=' slot operator for || deps
- PYTHON_DEPS="${PYTHON_PKG_DEP%=} ${PYTHON_DEPS}"
+ deps="${PYTHON_PKG_DEP%=} ${deps}"
done
- PYTHON_DEPS="|| ( ${PYTHON_DEPS})"
- readonly PYTHON_DEPS
+ deps="|| ( ${deps})"
+
+ if [[ ${PYTHON_DEPS+1} ]]; then
+ if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
+ eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
+ eerror "Before: ${PYTHON_DEPS}"
+ eerror "Now : ${deps}"
+ die "PYTHON_DEPS integrity check failed"
+ fi
+ else
+ PYTHON_DEPS=${deps}
+ readonly PYTHON_DEPS
+ fi
}
_python_any_set_globals
unset -f _python_any_set_globals
+if [[ ! ${_PYTHON_ANY_R1} ]]; then
+
# @FUNCTION: python_gen_any_dep
# @USAGE: <dependency-block>
# @DESCRIPTION:
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 929ec8fa8f89..df57cf1e1322 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: python-r1.eclass
@@ -51,6 +51,8 @@ fi
[[ ${EAPI} == [45] ]] && inherit eutils
inherit multibuild python-utils-r1
+fi
+
# @ECLASS-VARIABLE: PYTHON_COMPAT
# @REQUIRED
# @DESCRIPTION:
@@ -165,14 +167,13 @@ inherit multibuild python-utils-r1
# @CODE
_python_set_globals() {
- PYTHON_DEPS=
- local i PYTHON_PKG_DEP
+ local deps i PYTHON_PKG_DEP
_python_set_impls
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
python_export "${i}" PYTHON_PKG_DEP
- PYTHON_DEPS+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) "
+ deps+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) "
done
local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" )
@@ -186,29 +187,58 @@ _python_set_globals() {
local flags_st=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/-python_single_target_}" )
optflags+=,${flags_st[@]/%/(-)}
-
- IUSE=${flags[*]}
- PYTHON_REQUIRED_USE="|| ( ${flags[*]} )"
- PYTHON_USEDEP=${optflags// /,}
+ local requse="|| ( ${flags[*]} )"
+ local usedep=${optflags// /,}
# 1) well, python-exec would suffice as an RDEP
# but no point in making this overcomplex, BDEP doesn't hurt anyone
# 2) python-exec should be built with all targets forced anyway
# but if new targets were added, we may need to force a rebuild
- # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4,
- # just fix :2 since := deps are not supported.
if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then
die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2"
- elif [[ ${EAPI} != 4 ]]; then
- PYTHON_DEPS+=">=dev-lang/python-exec-2:=[${PYTHON_USEDEP}]"
else
- PYTHON_DEPS+="dev-lang/python-exec:2[${PYTHON_USEDEP}]"
+ deps+=">=dev-lang/python-exec-2:=[${usedep}]"
+ fi
+
+ if [[ ${PYTHON_DEPS+1} ]]; then
+ # IUSE is magical, so we can't really check it
+ # (but we verify PYTHON_COMPAT already)
+
+ if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
+ eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
+ eerror "Before: ${PYTHON_DEPS}"
+ eerror "Now : ${deps}"
+ die "PYTHON_DEPS integrity check failed"
+ fi
+
+ # these two are formality -- they depend on PYTHON_COMPAT only
+ if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then
+ eerror "PYTHON_REQUIRED_USE have changed between inherits!"
+ eerror "Before: ${PYTHON_REQUIRED_USE}"
+ eerror "Now : ${requse}"
+ die "PYTHON_REQUIRED_USE integrity check failed"
+ fi
+
+ if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
+ eerror "PYTHON_USEDEP have changed between inherits!"
+ eerror "Before: ${PYTHON_USEDEP}"
+ eerror "Now : ${usedep}"
+ die "PYTHON_USEDEP integrity check failed"
+ fi
+ else
+ IUSE=${flags[*]}
+
+ PYTHON_DEPS=${deps}
+ PYTHON_REQUIRED_USE=${requse}
+ PYTHON_USEDEP=${usedep}
+ readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
fi
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
}
_python_set_globals
unset -f _python_set_globals
+if [[ ! ${_PYTHON_R1} ]]; then
+
# @FUNCTION: _python_validate_useflags
# @INTERNAL
# @DESCRIPTION:
@@ -476,6 +506,7 @@ _python_obtain_impls() {
MULTIBUILD_VARIANTS=()
+ local impl
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
has "${impl}" "${PYTHON_COMPAT[@]}" && \
use "python_targets_${impl}" && MULTIBUILD_VARIANTS+=( "${impl}" )
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 3b89ef57cfef..fc51c4ec2377 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: python-single-r1.eclass
@@ -56,8 +56,6 @@ fi
EXPORT_FUNCTIONS pkg_setup
-if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
-
# @ECLASS-VARIABLE: PYTHON_COMPAT
# @REQUIRED
# @DESCRIPTION:
@@ -180,7 +178,6 @@ if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
_python_single_set_globals() {
_python_set_impls
- PYTHON_DEPS=
local i PYTHON_PKG_DEP
local flags_mt=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" )
@@ -191,12 +188,13 @@ _python_single_set_globals() {
IUSE="${flags_mt[*]}"
+ local deps requse usedep
if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
# There is only one supported implementation; set IUSE and other
# variables without PYTHON_SINGLE_TARGET.
- PYTHON_REQUIRED_USE="${flags_mt[*]}"
+ requse=${flags_mt[*]}
python_export "${_PYTHON_SUPPORTED_IMPLS[0]}" PYTHON_PKG_DEP
- PYTHON_DEPS="${flags_mt[*]}? ( ${PYTHON_PKG_DEP} ) "
+ deps="${flags_mt[*]}? ( ${PYTHON_PKG_DEP} ) "
# Force on the python_single_target_* flag for this impl, so
# that any dependencies that inherit python-single-r1 and
# happen to have multiple implementations will still need
@@ -205,7 +203,7 @@ _python_single_set_globals() {
else
# Multiple supported implementations; honor PYTHON_SINGLE_TARGET.
IUSE+=" ${flags[*]}"
- PYTHON_REQUIRED_USE="^^ ( ${flags[*]} )"
+ requse="^^ ( ${flags[*]} )"
# Ensure deps honor the same python_single_target_* flag as is set
# on this package.
optflags+=,${flags[@]/%/(+)?}
@@ -214,32 +212,58 @@ _python_single_set_globals() {
# The chosen targets need to be in PYTHON_TARGETS as well.
# This is in order to enforce correct dependencies on packages
# supporting multiple implementations.
- PYTHON_REQUIRED_USE+=" python_single_target_${i}? ( python_targets_${i} )"
+ requse+=" python_single_target_${i}? ( python_targets_${i} )"
python_export "${i}" PYTHON_PKG_DEP
- PYTHON_DEPS+="python_single_target_${i}? ( ${PYTHON_PKG_DEP} ) "
+ deps+="python_single_target_${i}? ( ${PYTHON_PKG_DEP} ) "
done
fi
- PYTHON_USEDEP=${optflags// /,}
+ usedep=${optflags// /,}
# 1) well, python-exec would suffice as an RDEP
# but no point in making this overcomplex, BDEP doesn't hurt anyone
# 2) python-exec should be built with all targets forced anyway
# but if new targets were added, we may need to force a rebuild
- # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4,
- # just fix :2 since := deps are not supported.
if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then
die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2"
- elif [[ ${EAPI} != 4 ]]; then
- PYTHON_DEPS+=">=dev-lang/python-exec-2:=[${PYTHON_USEDEP}]"
else
- PYTHON_DEPS+="dev-lang/python-exec:2[${PYTHON_USEDEP}]"
+ deps+=">=dev-lang/python-exec-2:=[${usedep}]"
+ fi
+
+ if [[ ${PYTHON_DEPS+1} ]]; then
+ if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
+ eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
+ eerror "Before: ${PYTHON_DEPS}"
+ eerror "Now : ${deps}"
+ die "PYTHON_DEPS integrity check failed"
+ fi
+
+ # these two are formality -- they depend on PYTHON_COMPAT only
+ if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then
+ eerror "PYTHON_REQUIRED_USE have changed between inherits!"
+ eerror "Before: ${PYTHON_REQUIRED_USE}"
+ eerror "Now : ${requse}"
+ die "PYTHON_REQUIRED_USE integrity check failed"
+ fi
+
+ if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
+ eerror "PYTHON_USEDEP have changed between inherits!"
+ eerror "Before: ${PYTHON_USEDEP}"
+ eerror "Now : ${usedep}"
+ die "PYTHON_USEDEP integrity check failed"
+ fi
+ else
+ PYTHON_DEPS=${deps}
+ PYTHON_REQUIRED_USE=${requse}
+ PYTHON_USEDEP=${usedep}
+ readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
fi
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
}
_python_single_set_globals
unset -f _python_single_set_globals
+if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
+
# @FUNCTION: python_gen_usedep
# @USAGE: <pattern> [...]
# @DESCRIPTION:
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 3937d066a095..c75c4678e310 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -114,22 +114,39 @@ _python_set_impls() {
_python_impl_supported "${i}"
done
- _PYTHON_SUPPORTED_IMPLS=()
- _PYTHON_UNSUPPORTED_IMPLS=()
+ local supp=() unsupp=()
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
if has "${i}" "${PYTHON_COMPAT[@]}"; then
- _PYTHON_SUPPORTED_IMPLS+=( "${i}" )
+ supp+=( "${i}" )
else
- _PYTHON_UNSUPPORTED_IMPLS+=( "${i}" )
+ unsupp+=( "${i}" )
fi
done
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 0 ]]; then
+ if [[ ! ${supp[@]} ]]; then
die "No supported implementation in PYTHON_COMPAT."
fi
- readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS
+ if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} ]]; then
+ # set once already, verify integrity
+ if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} != ${supp[@]} ]]; then
+ eerror "Supported impls (PYTHON_COMPAT) changed between inherits!"
+ eerror "Before: ${_PYTHON_SUPPORTED_IMPLS[*]}"
+ eerror "Now : ${supp[*]}"
+ die "_PYTHON_SUPPORTED_IMPLS integrity check failed"
+ fi
+ if [[ ${_PYTHON_UNSUPPORTED_IMPLS[@]} != ${unsupp[@]} ]]; then
+ eerror "Unsupported impls changed between inherits!"
+ eerror "Before: ${_PYTHON_UNSUPPORTED_IMPLS[*]}"
+ eerror "Now : ${unsupp[*]}"
+ die "_PYTHON_UNSUPPORTED_IMPLS integrity check failed"
+ fi
+ else
+ _PYTHON_SUPPORTED_IMPLS=( "${supp[@]}" )
+ _PYTHON_UNSUPPORTED_IMPLS=( "${unsupp[@]}" )
+ readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS
+ fi
}
# @ECLASS-VARIABLE: PYTHON
@@ -984,18 +1001,18 @@ python_wrapper_setup() {
_EOF_
chmod +x "${workdir}"/bin/${x} || die
done
+ fi
- # Now, set the environment.
- # But note that ${workdir} may be shared with something else,
- # and thus already on top of PATH.
- if [[ ${PATH##:*} != ${workdir}/bin ]]; then
- PATH=${workdir}/bin${PATH:+:${PATH}}
- fi
- if [[ ${PKG_CONFIG_PATH##:*} != ${workdir}/pkgconfig ]]; then
- PKG_CONFIG_PATH=${workdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
- fi
- export PATH PKG_CONFIG_PATH
+ # Now, set the environment.
+ # But note that ${workdir} may be shared with something else,
+ # and thus already on top of PATH.
+ if [[ ${PATH##:*} != ${workdir}/bin ]]; then
+ PATH=${workdir}/bin${PATH:+:${PATH}}
+ fi
+ if [[ ${PKG_CONFIG_PATH##:*} != ${workdir}/pkgconfig ]]; then
+ PKG_CONFIG_PATH=${workdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
fi
+ export PATH PKG_CONFIG_PATH
}
# @FUNCTION: python_is_python3
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 69ab29f7fb85..b1795fa46c93 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -521,9 +521,8 @@ all_fakegem_install() {
if [[ -d "${bindir}" ]]; then
pushd "${bindir}" &>/dev/null || die
- local binaries=$(eval ls ${RUBY_FAKEGEM_BINWRAP})
- for binary in $binaries; do
- ruby_fakegem_binwrapper $binary
+ for binary in ${RUBY_FAKEGEM_BINWRAP}; do
+ ruby_fakegem_binwrapper "${binary}"
done
popd &>/dev/null || die
fi
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 6bdc210e4faa..13b00553c0b0 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-ng.eclass
@@ -325,7 +325,14 @@ _ruby_invoke_environment() {
;;
esac
pushd "${WORKDIR}"/all &>/dev/null || die
- sub_S=$(eval ls -d "${sub_S}" 2>/dev/null)
+ # use an array to trigger filename expansion
+ # fun fact: this expansion fails in src_unpack() but the original
+ # code did not have any checks for failed expansion, so we can't
+ # really add one now without redesigning stuff hard.
+ sub_S=( ${sub_S} )
+ if [[ ${#sub_S[@]} -gt 1 ]]; then
+ die "sub_S did expand to multiple paths: ${sub_S[*]}"
+ fi
popd &>/dev/null || die
fi
diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh
index 383c9229811f..414ad5c53d6b 100755
--- a/eclass/tests/python-utils-r1.sh
+++ b/eclass/tests/python-utils-r1.sh
@@ -167,8 +167,10 @@ test_is "_python_impl_supported python2_6" 1
test_is "_python_impl_supported python2_7" 0
test_is "_python_impl_supported python3_1" 1
test_is "_python_impl_supported python3_2" 1
-test_is "_python_impl_supported python3_3" 0
+test_is "_python_impl_supported python3_3" 1
test_is "_python_impl_supported python3_4" 0
+test_is "_python_impl_supported python3_5" 0
+test_is "_python_impl_supported python3_6" 0
test_is "_python_impl_supported pypy1_8" 1
test_is "_python_impl_supported pypy1_9" 1
test_is "_python_impl_supported pypy2_0" 1
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index dec786994f2d..a0c359a950b2 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: toolchain-funcs.eclass
@@ -168,8 +168,8 @@ tc-getBUILD_PKG_CONFIG() { tc-getBUILD_PROG PKG_CONFIG pkg-config "$@"; }
tc-export() {
local var
for var in "$@" ; do
- [[ $(type -t tc-get${var}) != "function" ]] && die "tc-export: invalid export variable '${var}'"
- eval tc-get${var} > /dev/null
+ [[ $(type -t "tc-get${var}") != "function" ]] && die "tc-export: invalid export variable '${var}'"
+ "tc-get${var}" > /dev/null
done
}
diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index 8c55cc5319b8..6e9961206469 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: unpacker.eclass
@@ -218,30 +218,30 @@ unpack_makeself() {
debug-print "Detected Makeself version ${ver} ... using ${skip} as offset"
fi
case ${exe} in
- tail) exe="tail -n +${skip} '${src}'";;
- dd) exe="dd ibs=${skip} skip=1 if='${src}'";;
+ tail) exe=( tail -n +${skip} "${src}" );;
+ dd) exe=( dd ibs=${skip} skip=1 if="${src}" );;
*) die "makeself cant handle exe '${exe}'"
esac
# lets grab the first few bytes of the file to figure out what kind of archive it is
local filetype tmpfile="${T}/${FUNCNAME}"
- eval ${exe} 2>/dev/null | head -c 512 > "${tmpfile}"
+ "${exe[@]}" 2>/dev/null | head -c 512 > "${tmpfile}"
filetype=$(file -b "${tmpfile}") || die
case ${filetype} in
*tar\ archive*)
- eval ${exe} | tar --no-same-owner -xf -
+ "${exe[@]}" | tar --no-same-owner -xf -
;;
bzip2*)
- eval ${exe} | bzip2 -dc | tar --no-same-owner -xf -
+ "${exe[@]}" | bzip2 -dc | tar --no-same-owner -xf -
;;
gzip*)
- eval ${exe} | tar --no-same-owner -xzf -
+ "${exe[@]}" | tar --no-same-owner -xzf -
;;
compress*)
- eval ${exe} | gunzip | tar --no-same-owner -xf -
+ "${exe[@]}" | gunzip | tar --no-same-owner -xf -
;;
XZ*)
- eval ${exe} | unxz | tar --no-same-owner -xf -
+ "${exe[@]}" | unxz | tar --no-same-owner -xf -
;;
*)
eerror "Unknown filetype \"${filetype}\" ?"
diff --git a/profiles/package.mask b/profiles/package.mask
index a6a62f5fb393..efa1f80b7572 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -29,6 +29,71 @@
#--- END OF EXAMPLES ---
+# Gnome Team <gnome@gentoo.org> (08 Mar 2017)
+# GNOME 3.24 mask (#611270)
+>=x11-themes/adwaita-icon-theme-3.23
+>=app-accessibility/at-spi2-core-2.23
+>=dev-libs/atk-2.23
+>=dev-cpp/atkmm-2.25
+>=sys-apps/baobab-3.23
+>=media-gfx/eog-3.23
+>=www-client/epiphany-3.23
+>=gnome-extra/evolution-data-server-3.23
+>=gnome-base/gdm-3.23
+>=sci-geosciences/geocode-glib-3.23
+>=dev-libs/gjs-1.47
+>=dev-libs/glib-2.51
+>=dev-cpp/glibmm-2.51
+>=x11-themes/gnome-backgrounds-2.23
+>=gnome-extra/gnome-boxes-3.23
+>=gnome-extra/gnome-calculator-3.23
+>=gnome-extra/gnome-calendar-3.23
+>=gnome-extra/gnome-clocks-3.23
+>=gnome-base/gnome-control-center-3.23
+>=gnome-base/gnome-desktop-3.23
+>=sys-apps/gnome-disk-utility-3.23
+>=gnome-extra/gnome-logs-3.23
+>=sci-geosciences/gnome-maps-3.23
+>=net-libs/gnome-online-accounts-3.23
+>=media-gfx/gnome-photos-3.23
+>=gnome-base/gnome-session-3.23
+>=gnome-base/gnome-settings-daemon-3.23
+>=gnome-base/gnome-shell-3.23
+>=gnome-extra/gnome-shell-extensions-3.23
+>=gnome-extra/gnome-software-3.23
+>=gnome-extra/gnome-system-monitor-3.23
+>=x11-terms/gnome-terminal-3.23
+>=dev-libs/gobject-introspection-1.51
+>=gnome-base/gsettings-desktop-schemas-3.23
+>=app-text/gspell-1.3
+>=net-libs/gtk-vnc-0.7
+>=x11-libs/gtksourceview-3.23
+>=gnome-base/gvfs-1.31
+>=dev-libs/libgee-0.19
+>=gnome-base/libgtop-2.35
+>=net-libs/libsoup-2.57
+>=x11-wm/mutter-3.23
+>=gnome-base/nautilus-3.23
+>=app-accessibility/orca-3.23
+>=dev-cpp/pangomm-2.41
+>=media-video/totem-3.23
+>=app-misc/tracker-1.11
+>=dev-lang/vala-0.35
+>=x11-libs/vte-0.47
+>=gnome-base/dconf-editor-3.23
+>=dev-util/devhelp-3.23
+>=mail-client/evolution-3.23
+>=dev-vcs/gitg-3.23
+>=gnome-extra/gnome-builder-3.23
+>=games-board/gnome-mines-3.23
+>=media-sound/gnome-music-3.23
+>=games-arcade/gnome-nibbles-3.23
+>=games-puzzle/hitori-3.23
+>=games-puzzle/lightsoff-3.23
+>=net-irc/polari-3.23
+>=net-misc/rygel-0.33
+>=games-puzzle/swell-foop-3.23
+
# Maciej Mrozowski <reavertm@gmail.com> (08 Mar 2017)
# Fails to build against simgear, with recent compilers, bug 611980
games-util/atlas