diff options
-rw-r--r-- | app-office/lyx/lyx-2.3.3.ebuild | 1 | ||||
-rw-r--r-- | app-office/lyx/lyx-2.3.5.2.ebuild | 1 | ||||
-rw-r--r-- | dev-libs/check/check-0.15.2.ebuild | 2 | ||||
-rw-r--r-- | dev-python/hypothesis/hypothesis-5.24.4.ebuild | 2 | ||||
-rw-r--r-- | eclass/chromium-2.eclass | 4 | ||||
-rw-r--r-- | eclass/edos2unix.eclass | 21 | ||||
-rw-r--r-- | eclass/eutils.eclass | 179 | ||||
-rw-r--r-- | eclass/gnome2.eclass | 2 | ||||
-rw-r--r-- | eclass/l10n.eclass | 54 | ||||
-rw-r--r-- | eclass/mate.eclass | 4 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 77 | ||||
-rw-r--r-- | eclass/wrapper.eclass | 59 | ||||
-rw-r--r-- | media-sound/lash/lash-0.5.4-r4.ebuild | 2 | ||||
-rw-r--r-- | sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild | 8 | ||||
-rw-r--r-- | sys-libs/db/db-5.3.28-r4.ebuild | 2 |
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 )" |