summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-office/lyx/lyx-2.3.3.ebuild1
-rw-r--r--app-office/lyx/lyx-2.3.5.2.ebuild1
-rw-r--r--dev-libs/check/check-0.15.2.ebuild2
-rw-r--r--dev-python/hypothesis/hypothesis-5.24.4.ebuild2
-rw-r--r--eclass/chromium-2.eclass4
-rw-r--r--eclass/edos2unix.eclass21
-rw-r--r--eclass/eutils.eclass179
-rw-r--r--eclass/gnome2.eclass2
-rw-r--r--eclass/l10n.eclass54
-rw-r--r--eclass/mate.eclass4
-rw-r--r--eclass/toolchain.eclass77
-rw-r--r--eclass/wrapper.eclass59
-rw-r--r--media-sound/lash/lash-0.5.4-r4.ebuild2
-rw-r--r--sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild8
-rw-r--r--sys-libs/db/db-5.3.28-r4.ebuild2
15 files changed, 212 insertions, 206 deletions
diff --git a/app-office/lyx/lyx-2.3.3.ebuild b/app-office/lyx/lyx-2.3.3.ebuild
index 64d788415e11..2874b1624996 100644
--- a/app-office/lyx/lyx-2.3.3.ebuild
+++ b/app-office/lyx/lyx-2.3.3.ebuild
@@ -47,7 +47,6 @@ RDEPEND="${PYTHON_DEPS}
app-text/ps2eps
app-text/texlive
dev-tex/chktex
- dev-tex/dvipost
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-mathscience
diff --git a/app-office/lyx/lyx-2.3.5.2.ebuild b/app-office/lyx/lyx-2.3.5.2.ebuild
index 0af25298c9df..cfb1f9bc72d2 100644
--- a/app-office/lyx/lyx-2.3.5.2.ebuild
+++ b/app-office/lyx/lyx-2.3.5.2.ebuild
@@ -47,7 +47,6 @@ RDEPEND="${PYTHON_DEPS}
app-text/ps2eps
app-text/texlive
dev-tex/chktex
- dev-tex/dvipost
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-mathscience
diff --git a/dev-libs/check/check-0.15.2.ebuild b/dev-libs/check/check-0.15.2.ebuild
index ac78b16ae62e..3ee413e53444 100644
--- a/dev-libs/check/check-0.15.2.ebuild
+++ b/dev-libs/check/check-0.15.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/libcheck/check/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc subunit test"
# Tests seem to timeout on ppc* systems, #736661
diff --git a/dev-python/hypothesis/hypothesis-5.24.4.ebuild b/dev-python/hypothesis/hypothesis-5.24.4.ebuild
index e5cdf867b640..aa35615cd316 100644
--- a/dev-python/hypothesis/hypothesis-5.24.4.ebuild
+++ b/dev-python/hypothesis/hypothesis-5.24.4.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python"
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/eclass/chromium-2.eclass b/eclass/chromium-2.eclass
index c9cfe5acebee..b3d63f302d05 100644
--- a/eclass/chromium-2.eclass
+++ b/eclass/chromium-2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: chromium-2.eclass
@@ -126,7 +126,7 @@ chromium_pkg_die() {
fi
# No ricer bugs.
- if use_if_iuse custom-cflags; then
+ if in_iuse custom-cflags && use custom-cflags; then
ewarn
ewarn "You have enabled the custom-cflags USE flag."
ewarn "Please disable it before reporting a bug."
diff --git a/eclass/edos2unix.eclass b/eclass/edos2unix.eclass
new file mode 100644
index 000000000000..8b774844cb8a
--- /dev/null
+++ b/eclass/edos2unix.eclass
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: edos2unix.eclass
+# @MAINTAINER:
+# base-system@gentoo.org
+# @BLURB: convert files from DOS CRLF to UNIX LF line endings
+
+# @FUNCTION: edos2unix
+# @USAGE: <file> [more files ...]
+# @DESCRIPTION:
+# A handy replacement for dos2unix, recode, fixdos, etc... This allows
+# you to remove all of these text utilities from DEPEND variables
+# because this is a script based solution. Just give it a list of files
+# to convert and they will all be changed from the DOS CRLF format to
+# the UNIX LF format.
+
+edos2unix() {
+ [[ $# -eq 0 ]] && return 0
+ sed -i 's/\r$//' -- "$@" || die
+}
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 20dec774f2f5..20ebe31c10a4 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,9 +1,10 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: eutils.eclass
# @MAINTAINER:
# base-system@gentoo.org
+# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
# @BLURB: many extra (but common) functions that are used in ebuilds
# @DESCRIPTION:
# The eutils eclass contains a suite of functions that complement
@@ -13,24 +14,32 @@
#
# Due to the nature of this eclass, some functions may have maintainers
# different from the overall eclass!
+#
+# This eclass is DEPRECATED and must not be inherited by any new ebuilds
+# or eclasses. Use the more specific split eclasses instead, or native
+# package manager functions when available.
if [[ -z ${_EUTILS_ECLASS} ]]; then
_EUTILS_ECLASS=1
# implicitly inherited (now split) eclasses
case ${EAPI:-0} in
-0|1|2|3|4|5|6)
- inherit desktop epatch estack ltprune multilib preserve-libs \
- toolchain-funcs vcs-clean
- ;;
+ 0|1|2|3|4|5|6)
+ inherit desktop edos2unix epatch estack l10n ltprune multilib \
+ preserve-libs toolchain-funcs vcs-clean wrapper
+ ;;
+ 7) inherit edos2unix l10n wrapper ;;
+ *) die "${ECLASS} is banned in EAPI ${EAPI}" ;;
esac
# @FUNCTION: emktemp
# @USAGE: [temp dir]
# @DESCRIPTION:
-# Cheap replacement for when debianutils (and thus mktemp)
-# does not exist on the users system.
+# Cheap replacement for when coreutils (and thus mktemp) does not exist
+# on the user's system.
emktemp() {
+ eqawarn "emktemp is deprecated. Create a temporary file in \${T} instead."
+
local exe="touch"
[[ $1 == -d ]] && exe="mkdir" && shift
local topdir=$1
@@ -60,114 +69,6 @@ emktemp() {
fi
}
-# @FUNCTION: edos2unix
-# @USAGE: <file> [more files ...]
-# @DESCRIPTION:
-# A handy replacement for dos2unix, recode, fixdos, etc... This allows you
-# to remove all of these text utilities from DEPEND variables because this
-# is a script based solution. Just give it a list of files to convert and
-# they will all be changed from the DOS CRLF format to the UNIX LF format.
-edos2unix() {
- [[ $# -eq 0 ]] && return 0
- sed -i 's/\r$//' -- "$@" || die
-}
-
-# @FUNCTION: strip-linguas
-# @USAGE: [<allow LINGUAS>|<-i|-u> <directories of .po files>]
-# @DESCRIPTION:
-# Make sure that LINGUAS only contains languages that
-# a package can support. The first form allows you to
-# specify a list of LINGUAS. The -i builds a list of po
-# files found in all the directories and uses the
-# intersection of the lists. The -u builds a list of po
-# files found in all the directories and uses the union
-# of the lists.
-strip-linguas() {
- local ls newls nols
- if [[ $1 == "-i" ]] || [[ $1 == "-u" ]] ; then
- local op=$1; shift
- ls=$(find "$1" -name '*.po' -exec basename {} .po ';'); shift
- local d f
- for d in "$@" ; do
- if [[ ${op} == "-u" ]] ; then
- newls=${ls}
- else
- newls=""
- fi
- for f in $(find "$d" -name '*.po' -exec basename {} .po ';') ; do
- if [[ ${op} == "-i" ]] ; then
- has ${f} ${ls} && newls="${newls} ${f}"
- else
- has ${f} ${ls} || newls="${newls} ${f}"
- fi
- done
- ls=${newls}
- done
- else
- ls="$@"
- fi
-
- nols=""
- newls=""
- for f in ${LINGUAS} ; do
- if has ${f} ${ls} ; then
- newls="${newls} ${f}"
- else
- nols="${nols} ${f}"
- fi
- done
- [[ -n ${nols} ]] \
- && einfo "Sorry, but ${PN} does not support the LINGUAS:" ${nols}
- export LINGUAS=${newls:1}
-}
-
-# @FUNCTION: make_wrapper
-# @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath]
-# @DESCRIPTION:
-# Create a shell wrapper script named wrapper in installpath
-# (defaults to the bindir) to execute target (default of wrapper) by
-# first optionally setting LD_LIBRARY_PATH to the colon-delimited
-# libpaths followed by optionally changing directory to chdir.
-make_wrapper() {
- local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5
- local tmpwrapper=$(emktemp)
- has "${EAPI:-0}" 0 1 2 && local EPREFIX=""
-
- (
- echo '#!/bin/sh'
- if [[ -n ${libdir} ]] ; then
- local var
- if [[ ${CHOST} == *-darwin* ]] ; then
- var=DYLD_LIBRARY_PATH
- else
- var=LD_LIBRARY_PATH
- fi
- cat <<-EOF
- if [ "\${${var}+set}" = "set" ] ; then
- export ${var}="\${${var}}:${EPREFIX}${libdir}"
- else
- export ${var}="${EPREFIX}${libdir}"
- fi
- EOF
- fi
- [[ -n ${chdir} ]] && printf 'cd "%s" &&\n' "${EPREFIX}${chdir}"
- # We don't want to quote ${bin} so that people can pass complex
- # things as ${bin} ... "./someprog --args"
- printf 'exec %s "$@"\n' "${bin/#\//${EPREFIX}/}"
- ) > "${tmpwrapper}"
- chmod go+rx "${tmpwrapper}"
-
- if [[ -n ${path} ]] ; then
- (
- exeopts -m 0755
- exeinto "${path}"
- newexe "${tmpwrapper}" "${wrapper}"
- ) || die
- else
- newbin "${tmpwrapper}" "${wrapper}" || die
- fi
-}
-
path_exists() {
eerror "path_exists has been removed. Please see the following post"
eerror "for a replacement snippet:"
@@ -182,55 +83,13 @@ path_exists() {
#
# Note that this function should not be used in the global scope.
use_if_iuse() {
+ eqawarn "use_if_iuse is deprecated."
+ eqawarn "Define it as a local function, or inline it:"
+ eqawarn " in_iuse foo && use foo"
in_iuse $1 || return 1
use $1
}
-# @FUNCTION: optfeature
-# @USAGE: <short description> <package atom to match> [other atoms]
-# @DESCRIPTION:
-# Print out a message suggesting an optional package (or packages)
-# not currently installed which provides the described functionality.
-#
-# The following snippet would suggest app-misc/foo for optional foo support,
-# app-misc/bar or app-misc/baz[bar] for optional bar support
-# and either both app-misc/a and app-misc/b or app-misc/c for alphabet support.
-# @CODE
-# optfeature "foo support" app-misc/foo
-# optfeature "bar support" app-misc/bar app-misc/baz[bar]
-# optfeature "alphabet support" "app-misc/a app-misc/b" app-misc/c
-# @CODE
-optfeature() {
- debug-print-function ${FUNCNAME} "$@"
- local i j msg
- local desc=$1
- local flag=0
- shift
- for i; do
- for j in ${i}; do
- if has_version "${j}"; then
- flag=1
- else
- flag=0
- break
- fi
- done
- if [[ ${flag} -eq 1 ]]; then
- break
- fi
- done
- if [[ ${flag} -eq 0 ]]; then
- for i; do
- msg=" "
- for j in ${i}; do
- msg+=" ${j} and"
- done
- msg="${msg:0: -4} for ${desc}"
- elog "${msg}"
- done
- fi
-}
-
case ${EAPI:-0} in
0|1|2|3|4)
diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index a16fc916c6d2..1a4ff451df32 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -296,7 +296,7 @@ gnome2_src_install() {
if has ${EAPI:-0} 4; then
if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then
ebegin "Removing .la files"
- if ! use_if_iuse static-libs ; then
+ if ! in_iuse static-libs || ! use static-libs ; then
find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
fi
eend
diff --git a/eclass/l10n.eclass b/eclass/l10n.eclass
index 0b2d287afa7f..7bd8f382fbe3 100644
--- a/eclass/l10n.eclass
+++ b/eclass/l10n.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: l10n.eclass
@@ -14,6 +14,9 @@
# determining the cross-section between the user's set LINGUAS and what
# is offered by the package.
+if [[ -z ${_L10N_ECLASS} ]]; then
+_L10N_ECLASS=1
+
# @ECLASS-VARIABLE: PLOCALES
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -120,3 +123,52 @@ l10n_get_locales() {
fi
printf "%s" "${locs}"
}
+
+# @FUNCTION: strip-linguas
+# @USAGE: [<allow LINGUAS>|<-i|-u> <directories of .po files>]
+# @DESCRIPTION:
+# Make sure that LINGUAS only contains languages that a package can
+# support. The first form allows you to specify a list of LINGUAS.
+# The -i builds a list of po files found in all the directories and uses
+# the intersection of the lists. The -u builds a list of po files found
+# in all the directories and uses the union of the lists.
+strip-linguas() {
+ local ls newls nols
+ if [[ $1 == "-i" ]] || [[ $1 == "-u" ]] ; then
+ local op=$1; shift
+ ls=$(find "$1" -name '*.po' -exec basename {} .po ';'); shift
+ local d f
+ for d in "$@" ; do
+ if [[ ${op} == "-u" ]] ; then
+ newls=${ls}
+ else
+ newls=""
+ fi
+ for f in $(find "$d" -name '*.po' -exec basename {} .po ';') ; do
+ if [[ ${op} == "-i" ]] ; then
+ has ${f} ${ls} && newls="${newls} ${f}"
+ else
+ has ${f} ${ls} || newls="${newls} ${f}"
+ fi
+ done
+ ls=${newls}
+ done
+ else
+ ls="$@"
+ fi
+
+ nols=""
+ newls=""
+ for f in ${LINGUAS} ; do
+ if has ${f} ${ls} ; then
+ newls="${newls} ${f}"
+ else
+ nols="${nols} ${f}"
+ fi
+ done
+ [[ -n ${nols} ]] \
+ && einfo "Sorry, but ${PN} does not support the LINGUAS:" ${nols}
+ export LINGUAS=${newls:1}
+}
+
+fi
diff --git a/eclass/mate.eclass b/eclass/mate.eclass
index d7dd2dbceec0..34d5e47acc22 100644
--- a/eclass/mate.eclass
+++ b/eclass/mate.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mate.eclass
@@ -120,7 +120,7 @@ mate_src_configure() {
local mateconf=()
# Pass --disable-static whenever possible
- if ! use_if_iuse static-libs; then
+ if ! in_iuse static-libs || ! use static-libs; then
if grep -q "enable-static" "${ECONF_SOURCE:-.}"/configure; then
mateconf+=( --disable-static )
fi
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6fb3eb941a2c..32996a2f8f71 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -398,10 +398,13 @@ SRC_URI=$(get_gcc_src_uri)
#---->> pkg_pretend <<----
toolchain_pkg_pretend() {
- if ! use_if_iuse cxx ; then
- use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
- use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
- use_if_iuse gcj && ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
+ if ! _tc_use_if_iuse cxx ; then
+ _tc_use_if_iuse go && \
+ ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
+ _tc_use_if_iuse objc++ && \
+ ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
+ _tc_use_if_iuse gcj && \
+ ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
fi
want_minispecs
@@ -461,7 +464,8 @@ toolchain_src_prepare() {
*) die "Update toolchain_src_prepare() for ${EAPI}." ;;
esac
- if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
+ if ( tc_version_is_at_least 4.8.2 || _tc_use_if_iuse hardened ) \
+ && ! use vanilla ; then
make_gcc_hard
fi
@@ -481,7 +485,7 @@ toolchain_src_prepare() {
fi
# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
- if tc_version_is_at_least 4.3 && use_if_iuse gcj ; then
+ if tc_version_is_at_least 4.3 && _tc_use_if_iuse gcj ; then
if tc_version_is_at_least 4.5 ; then
einfo "Copying ecj-4.5.jar"
cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
@@ -578,13 +582,13 @@ make_gcc_hard() {
# Gcc >= 6.X we can use configurations options to turn pie/ssp on as default
if tc_version_is_at_least 6.0 ; then
- if use_if_iuse pie ; then
+ if _tc_use_if_iuse pie ; then
einfo "Updating gcc to use automatic PIE building ..."
fi
- if use_if_iuse ssp ; then
+ if _tc_use_if_iuse ssp ; then
einfo "Updating gcc to use automatic SSP building ..."
fi
- if use_if_iuse hardened ; then
+ if _tc_use_if_iuse hardened ; then
# Will add some hardened options as default, like:
# -fstack-clash-protection
# -z now
@@ -594,7 +598,7 @@ make_gcc_hard() {
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
fi
else
- if use_if_iuse hardened ; then
+ if _tc_use_if_iuse hardened ; then
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
if hardened_gcc_works ; then
@@ -830,12 +834,12 @@ toolchain_src_configure() {
fi
# Build compiler itself using LTO
- if tc_version_is_at_least 9.1 && use_if_iuse lto ; then
+ if tc_version_is_at_least 9.1 && _tc_use_if_iuse lto ; then
confgcc+=( --with-build-config=bootstrap-lto )
fi
# Support to disable pch when building libstdcxx
- if tc_version_is_at_least 6.0 && ! use_if_iuse pch ; then
+ if tc_version_is_at_least 6.0 && ! _tc_use_if_iuse pch ; then
confgcc+=( --disable-libstdcxx-pch )
fi
@@ -1124,13 +1128,13 @@ toolchain_src_configure() {
fi
if tc_version_is_at_least 4.0 ; then
- if use_if_iuse libssp ; then
+ if _tc_use_if_iuse libssp ; then
confgcc+=( --enable-libssp )
else
if hardened_gcc_is_stable ssp; then
export gcc_cv_libc_provides_ssp=yes
fi
- if use_if_iuse ssp; then
+ if _tc_use_if_iuse ssp; then
# On some targets USE="ssp -libssp" is an invalid
# configuration as target libc does not provide
# stack_chk_* functions. Do not disable libssp there.
@@ -1569,7 +1573,7 @@ gcc_do_make() {
# resulting binaries natively ^^;
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
else
- if tc_version_is_at_least 3.3 && use_if_iuse pgo; then
+ if tc_version_is_at_least 3.3 && _tc_use_if_iuse pgo; then
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}
else
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
@@ -1623,7 +1627,7 @@ gcc_do_make() {
emake -C gcc gnattools
fi
- if ! is_crosscompile && use_if_iuse cxx && use_if_iuse doc ; then
+ if ! is_crosscompile && _tc_use_if_iuse cxx && _tc_use_if_iuse doc ; then
if type -p doxygen > /dev/null ; then
if tc_version_is_at_least 4.3 ; then
cd "${CTARGET}"/libstdc++-v3/doc
@@ -2220,44 +2224,48 @@ gcc-lang-supported() {
has $1 ${TOOLCHAIN_ALLOWED_LANGS}
}
+_tc_use_if_iuse() {
+ in_iuse $1 && use $1
+}
+
is_ada() {
gcc-lang-supported ada || return 1
- use_if_iuse ada
+ _tc_use_if_iuse ada
}
is_cxx() {
gcc-lang-supported 'c++' || return 1
- use_if_iuse cxx
+ _tc_use_if_iuse cxx
}
is_d() {
gcc-lang-supported d || return 1
- use_if_iuse d
+ _tc_use_if_iuse d
}
is_f77() {
gcc-lang-supported f77 || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_f95() {
gcc-lang-supported f95 || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_fortran() {
gcc-lang-supported fortran || return 1
- use_if_iuse fortran
+ _tc_use_if_iuse fortran
}
is_gcj() {
gcc-lang-supported java || return 1
- use_if_iuse cxx && use_if_iuse gcj
+ _tc_use_if_iuse cxx && _tc_use_if_iuse gcj
}
is_go() {
gcc-lang-supported go || return 1
- use_if_iuse cxx && use_if_iuse go
+ _tc_use_if_iuse cxx && _tc_use_if_iuse go
}
is_jit() {
@@ -2266,22 +2274,22 @@ is_jit() {
# to generate code for a target. On target like avr
# libgcclit.so can't link at all: bug #594572
is_crosscompile && return 1
- use_if_iuse jit
+ _tc_use_if_iuse jit
}
is_multilib() {
tc_version_is_at_least 3 || return 1
- use_if_iuse multilib
+ _tc_use_if_iuse multilib
}
is_objc() {
gcc-lang-supported objc || return 1
- use_if_iuse objc
+ _tc_use_if_iuse objc
}
is_objcxx() {
gcc-lang-supported 'obj-c++' || return 1
- use_if_iuse cxx && use_if_iuse objc++
+ _tc_use_if_iuse cxx && _tc_use_if_iuse objc++
}
# Grab a variable from the build system (taken from linux-info.eclass)
@@ -2306,12 +2314,12 @@ hardened_gcc_works() {
[[ ${CTARGET} == *-freebsd* ]] && return 1
want_pie || return 1
- use_if_iuse nopie && return 1
+ _tc_use_if_iuse nopie && return 1
hardened_gcc_is_stable pie
return $?
elif [[ $1 == "ssp" ]] ; then
[[ -n ${SPECS_VER} ]] || return 1
- use_if_iuse nossp && return 1
+ _tc_use_if_iuse nossp && return 1
hardened_gcc_is_stable ssp
return $?
else
@@ -2349,12 +2357,12 @@ want_minispecs() {
if tc_version_is_at_least 6.0 ; then
return 0
fi
- if tc_version_is_at_least 4.3.2 && use_if_iuse hardened ; then
+ if tc_version_is_at_least 4.3.2 && _tc_use_if_iuse hardened ; then
if ! want_pie ; then
ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
elif use vanilla ; then
ewarn "You will not get hardened features if you have the vanilla USE-flag."
- elif use_if_iuse nopie && use_if_iuse nossp ; then
+ elif _tc_use_if_iuse nopie && _tc_use_if_iuse nossp ; then
ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
elif ! hardened_gcc_works ; then
ewarn "Your $(tc-arch) arch is not supported."
@@ -2368,11 +2376,12 @@ want_minispecs() {
}
want_pie() {
- ! use_if_iuse hardened && [[ -n ${PIE_VER} ]] && use_if_iuse nopie && return 1
+ ! _tc_use_if_iuse hardened && [[ -n ${PIE_VER} ]] \
+ && _tc_use_if_iuse nopie && return 1
[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
tc_version_is_at_least 4.3.2 && return 1
[[ -z ${PIE_VER} ]] && return 1
- use_if_iuse nopie || return 0
+ _tc_use_if_iuse nopie || return 0
return 1
}
diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
new file mode 100644
index 000000000000..399c7cc269d4
--- /dev/null
+++ b/eclass/wrapper.eclass
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: wrapper.eclass
+# @MAINTAINER:
+# base-system@gentoo.org
+# @BLURB: create a shell wrapper script
+
+if [[ -z ${_WRAPPER_ECLASS} ]]; then
+_WRAPPER_ECLASS=1
+
+# @FUNCTION: make_wrapper
+# @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath]
+# @DESCRIPTION:
+# Create a shell wrapper script named wrapper in installpath
+# (defaults to the bindir) to execute target (default of wrapper)
+# by first optionally setting LD_LIBRARY_PATH to the colon-delimited
+# libpaths followed by optionally changing directory to chdir.
+make_wrapper() {
+ local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5
+ local tmpwrapper="${T}/tmp.wrapper.${wrapper##*/}"
+ has "${EAPI:-0}" 0 1 2 && local EPREFIX=""
+
+ (
+ echo '#!/bin/sh'
+ if [[ -n ${libdir} ]] ; then
+ local var
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ var=DYLD_LIBRARY_PATH
+ else
+ var=LD_LIBRARY_PATH
+ fi
+ cat <<-EOF
+ if [ "\${${var}+set}" = "set" ] ; then
+ export ${var}="\${${var}}:${EPREFIX}${libdir}"
+ else
+ export ${var}="${EPREFIX}${libdir}"
+ fi
+ EOF
+ fi
+ [[ -n ${chdir} ]] && printf 'cd "%s" &&\n' "${EPREFIX}${chdir}"
+ # We don't want to quote ${bin} so that people can pass complex
+ # things as ${bin} ... "./someprog --args"
+ printf 'exec %s "$@"\n' "${bin/#\//${EPREFIX}/}"
+ ) > "${tmpwrapper}"
+ chmod go+rx "${tmpwrapper}"
+
+ if [[ -n ${path} ]] ; then
+ (
+ exeopts -m 0755
+ exeinto "${path}"
+ newexe "${tmpwrapper}" "${wrapper}"
+ ) || die
+ else
+ newbin "${tmpwrapper}" "${wrapper}" || die
+ fi
+}
+
+fi
diff --git a/media-sound/lash/lash-0.5.4-r4.ebuild b/media-sound/lash/lash-0.5.4-r4.ebuild
index 3b1f8030c14b..509836997f0b 100644
--- a/media-sound/lash/lash-0.5.4-r4.ebuild
+++ b/media-sound/lash/lash-0.5.4-r4.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="alsa debug gtk python static-libs" # doc
BDEPEND="
diff --git a/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild b/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild
index 2c6c2ef18761..1374a47e8583 100644
--- a/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild
+++ b/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild
@@ -34,10 +34,18 @@ PATCHES=(
# slightly broken
RESTRICT="test"
+src_prepare() {
+ default
+
+ sed -i "s/\bar\b/$(tc-getAR)/g" libwchar/Makefile.mk || die
+}
+
src_compile() {
append-cppflags -D_GNU_SOURCE
emake -j1 \
CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
CFLAGS="${CFLAGS}" \
CFLAGS2="${CFLAGS}" \
CFLAGSS="${CFLAGS}" \
diff --git a/sys-libs/db/db-5.3.28-r4.ebuild b/sys-libs/db/db-5.3.28-r4.ebuild
index 8d5fff7d1cee..f7e6241d511b 100644
--- a/sys-libs/db/db-5.3.28-r4.ebuild
+++ b/sys-libs/db/db-5.3.28-r4.ebuild
@@ -29,7 +29,7 @@ done
LICENSE="Sleepycat"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc java cxx tcl test"
REQUIRED_USE="test? ( tcl )"