From f1af93971b7490792d8541bc790e0d8c6d787059 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 6 Sep 2019 10:28:05 +0100 Subject: gentoo resync : 06.08.2019 --- eclass/Manifest.gz | Bin 37149 -> 37157 bytes eclass/acct-group.eclass | 3 ++- eclass/acct-user.eclass | 9 +++++---- eclass/cargo.eclass | 27 +++++++++++++++++++++++++- eclass/check-reqs.eclass | 44 +++++++++++++++++++++++++------------------ eclass/kernel-2.eclass | 26 +++++++++++++++++++------ eclass/kodi-addon.eclass | 12 ++++++++---- eclass/libretro-core.eclass | 34 +++++++++++++++++++++++---------- eclass/meson.eclass | 6 ++++-- eclass/mozcoreconf-v6.eclass | 6 +++--- eclass/toolchain.eclass | 44 +++++++++++++++++++++++++++++-------------- eclass/xorg-3.eclass | 2 ++ 12 files changed, 150 insertions(+), 63 deletions(-) (limited to 'eclass') diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz index f396a1b21217..2535aa437de7 100644 Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass index d5ccd209c9e3..99919789b2c7 100644 --- a/eclass/acct-group.eclass +++ b/eclass/acct-group.eclass @@ -7,6 +7,7 @@ # @AUTHOR: # Michael Orlitzky # Michał Górny +# @SUPPORTED_EAPIS: 7 # @BLURB: Eclass used to create and maintain a single group entry # @DESCRIPTION: # This eclass represents and creates a single group entry. The name @@ -35,7 +36,7 @@ _ACCT_GROUP_ECLASS=1 case ${EAPI:-0} in 7) ;; - *) die "EAPI=${EAPI} not supported";; + *) die "EAPI=${EAPI:-0} not supported";; esac inherit user diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass index fa4f9daef8f7..0ce7545cd1c5 100644 --- a/eclass/acct-user.eclass +++ b/eclass/acct-user.eclass @@ -7,6 +7,7 @@ # @AUTHOR: # Michael Orlitzky # Michał Górny +# @SUPPORTED_EAPIS: 7 # @BLURB: Eclass used to create and maintain a single user entry # @DESCRIPTION: # This eclass represents and creates a single user entry. The name @@ -43,7 +44,7 @@ _ACCT_USER_ECLASS=1 case ${EAPI:-0} in 7) ;; - *) die "EAPI=${EAPI} not supported";; + *) die "EAPI=${EAPI:-0} not supported";; esac inherit user @@ -107,7 +108,7 @@ readonly ACCT_USER_NAME # @REQUIRED # @DESCRIPTION: # List of groups the user should belong to. This must be a bash -# array. +# array. # << Boilerplate ebuild variables >> @@ -167,8 +168,8 @@ eislocked() { *) # NB: 'no password' and 'locked' are indistinguishable # but we also expire the account which is more clear - [[ $(getent shadow ftp | cut -d: -f2) == '!'* ]] && - [[ $(getent shadow ftp | cut -d: -f8) == 1 ]] + [[ $(getent shadow "$1" | cut -d: -f2) == '!'* ]] && + [[ $(getent shadow "$1" | cut -d: -f8) == 1 ]] ;; esac } diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass index b16e0e9d6336..44d11cdb8380 100644 --- a/eclass/cargo.eclass +++ b/eclass/cargo.eclass @@ -12,7 +12,12 @@ if [[ -z ${_CARGO_ECLASS} ]]; then _CARGO_ECLASS=1 -CARGO_DEPEND="virtual/cargo" +if [[ ${PV} == *9999* ]]; then + # we need at least this for cargo vendor subommand + CARGO_DEPEND=">=virtual/cargo-1.37.0" +else + CARGO_DEPEND="virtual/cargo" +fi case ${EAPI} in 6) DEPEND="${CARGO_DEPEND}";; @@ -97,6 +102,26 @@ cargo_src_unpack() { cargo_gen_config } +# @FUNCTION: cargo_live_src_unpack +# @DESCRIPTION: +# Runs 'cargo fetch' and vendors downloaded crates for offline use, used in live ebuilds + +cargo_live_src_unpack() { + debug-print-function ${FUNCNAME} "$@" + + [[ "${PV}" == *9999* ]] || die "${FUNCNAME} only allowed in live/9999 ebuilds" + [[ "${EBUILD_PHASE}" == unpack ]] || die "${FUNCNAME} only allowed in src_unpack" + + mkdir -p "${S}" || die + + pushd "${S}" > /dev/null || die + CARGO_HOME="${ECARGO_HOME}" cargo fetch || die + CARGO_HOME="${ECARGO_HOME}" cargo vendor "${ECARGO_VENDOR}" || die + popd > /dev/null || die + + cargo_gen_config +} + # @FUNCTION: cargo_gen_config # @DESCRIPTION: # Generate the $CARGO_HOME/config necessary to use our local registry diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 689944c87700..192d6fa740dc 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 2004-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: check-reqs.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Bo Ørsted Andresen # Original Author: Ciaran McCreesh -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 +# @SUPPORTED_EAPIS: 4 5 6 7 # @BLURB: Provides a uniform way of handling ebuild which have very high build requirements # @DESCRIPTION: # This eclass provides a uniform way of handling ebuilds which have very high @@ -60,13 +60,13 @@ if [[ ! ${_CHECK_REQS_ECLASS_} ]]; then # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M -EXPORT_FUNCTIONS pkg_setup -case "${EAPI:-0}" in - 0|1|2|3) ;; - 4|5|6|7) EXPORT_FUNCTIONS pkg_pretend ;; - *) die "EAPI=${EAPI} is not supported" ;; +case ${EAPI:-0} in + 4|5|6|7) ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac +EXPORT_FUNCTIONS pkg_pretend pkg_setup + # Obsolete function executing all the checks and printing out results check_reqs() { eerror "Package calling old ${FUNCNAME} function." @@ -123,9 +123,6 @@ check-reqs_run() { # some people are *censored* unset CHECKREQS_FAILED - [[ ${EAPI:-0} == [0123] ]] && local MERGE_TYPE="" - - # use != in test, because MERGE_TYPE only exists in EAPI 4 and later if [[ ${MERGE_TYPE} != binary ]]; then [[ -n ${CHECKREQS_MEMORY} ]] && \ check-reqs_memory \ @@ -140,12 +137,12 @@ check-reqs_run() { if [[ ${MERGE_TYPE} != buildonly ]]; then [[ -n ${CHECKREQS_DISK_USR} ]] && \ check-reqs_disk \ - "${EROOT}/usr" \ + "${EROOT%/}/usr" \ "${CHECKREQS_DISK_USR}" [[ -n ${CHECKREQS_DISK_VAR} ]] && \ check-reqs_disk \ - "${EROOT}/var" \ + "${EROOT%/}/var" \ "${CHECKREQS_DISK_VAR}" fi } @@ -245,6 +242,7 @@ check-reqs_memory() { local size=${1} local actual_memory + local actual_swap check-reqs_start_phase \ ${size} \ @@ -252,19 +250,29 @@ check-reqs_memory() { if [[ -r /proc/meminfo ]] ; then actual_memory=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) + actual_swap=$(awk '/SwapTotal/ { print $2 }' /proc/meminfo) else - actual_memory=$(sysctl hw.physmem 2>/dev/null ) - [[ "$?" == "0" ]] && - actual_memory=$(echo $actual_memory | sed -e 's/^[^:=]*[:=]//' ) + actual_memory=$(sysctl hw.physmem 2>/dev/null) + [[ $? -eq 0 ]] && actual_memory=$(echo "${actual_memory}" \ + | sed -e 's/^[^:=]*[:=][[:space:]]*//') + actual_swap=$(sysctl vm.swap_total 2>/dev/null) + [[ $? -eq 0 ]] && actual_swap=$(echo "${actual_swap}" \ + | sed -e 's/^[^:=]*[:=][[:space:]]*//') fi if [[ -n ${actual_memory} ]] ; then - if [[ ${actual_memory} -lt $(check-reqs_get_kibibytes ${size}) ]] ; then + if [[ ${actual_memory} -ge $(check-reqs_get_kibibytes ${size}) ]] ; then + eend 0 + elif [[ -n ${actual_swap} && $((${actual_memory} + ${actual_swap})) \ + -ge $(check-reqs_get_kibibytes ${size}) ]] ; then + ewarn "Amount of main memory is insufficient, but amount" + ewarn "of main memory combined with swap is sufficient." + ewarn "Build process may make computer very slow!" + eend 0 + else eend 1 check-reqs_unsatisfied \ ${size} \ "RAM" - else - eend 0 fi else eend 1 diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index 95011df82d87..784b3929d436 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -1233,17 +1233,31 @@ unipatch() { local GCC_MINOR_VER=$(gcc-minor-version) # optimization patch for gcc < 8.X and kernel > 4.13 - if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ ${GCC_MAJOR_VER} -gt 4 ]]; then - if kernel_is ge 4 13 ; then + if kernel_is ge 4 13 ; then + if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ ${GCC_MAJOR_VER} -gt 4 ]]; then UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" - fi - # optimization patch for gcc >= 8 and kernel ge 4.13 - elif [[ "${GCC_MAJOR_VER}" -ge 8 ]]; then - if kernel_is ge 4 13; then + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + # optimization patch for gcc >= 8 and kernel ge 4.13 + elif [[ "${GCC_MAJOR_VER}" -eq 8 ]]; then # support old kernels for a period. For now, remove as all gcc versions required are masked UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" + elif [[ "${GCC_MAJOR_VER}" -eq 9 ]] && [[ ${GCC_MINOR_VER} -ge 1 ]]; then + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + else + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" fi + else + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch" + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" + UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch" + UNIPATCH_DROP+=" 5012_enable-cpu-optimizations-for-gcc91.patch" fi fi done diff --git a/eclass/kodi-addon.eclass b/eclass/kodi-addon.eclass index 8f34ccd92a56..e924dbdd6972 100644 --- a/eclass/kodi-addon.eclass +++ b/eclass/kodi-addon.eclass @@ -4,27 +4,31 @@ # @ECLASS: kodi-addon.eclass # @MAINTAINER: # candrews@gentoo.org -# @SUPPORTED_EAPIS: 4 5 6 +# @SUPPORTED_EAPIS: 4 5 6 7 # @BLURB: Helper for correct building and (importantly) installing Kodi addon packages. # @DESCRIPTION: # Provides a src_configure function for correct CMake configuration -inherit multilib cmake-utils +inherit cmake-utils case "${EAPI:-0}" in 4|5|6) - EXPORT_FUNCTIONS src_configure + inherit multilib + ;; + 7) ;; *) die "EAPI=${EAPI} is not supported" ;; esac +EXPORT_FUNCTIONS src_configure + # @FUNCTION: kodi-addon_src_configure # @DESCRIPTION: # Configure handling for Kodi addons kodi-addon_src_configure() { mycmakeargs+=( - -DCMAKE_INSTALL_LIBDIR=$(get_libdir)/kodi + -DCMAKE_INSTALL_LIBDIR=${EPREFIX%/}/usr/$(get_libdir)/kodi ) cmake-utils_src_configure diff --git a/eclass/libretro-core.eclass b/eclass/libretro-core.eclass index 6825ef24ddab..61713a84b90a 100644 --- a/eclass/libretro-core.eclass +++ b/eclass/libretro-core.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 2018-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: libretro-core.eclass @@ -44,9 +44,13 @@ IUSE="debug" # @DESCRIPTION: # Name of this Libretro core. The libretro-core_src_install() phase function # will install the shared library "${S}/${LIBRETRO_CORE_NAME}_libretro.so" as a -# Libretro core. Defaults to the name of the current package excluding the -# "libretro-" prefix (e.g., "mgba" for the package "libretro-mgba"). -: ${LIBRETRO_CORE_NAME:=${PN#libretro-}} +# Libretro core. Defaults to the name of the current package with the +# "libretro-" prefix excluded and hyphens replaced with underscores +# (e.g. genesis_plus_gx for libretro-genesis-plus-gx) +if [[ -z "${LIBRETRO_CORE_NAME}" ]]; then + LIBRETRO_CORE_NAME=${PN#libretro-} + LIBRETRO_CORE_NAME=${LIBRETRO_CORE_NAME//-/_} +fi # @ECLASS-VARIABLE: LIBRETRO_COMMIT_SHA # @DESCRIPTION: @@ -72,12 +76,6 @@ else fi inherit flag-o-matic -# @ECLASS-VARIABLE: LIBRETRO_CORE_LIB_FILE -# @REQUIRED -# @DESCRIPTION: -# Absolute path of this Libretro core's shared library. -: ${LIBRETRO_CORE_LIB_FILE:="${S}/${LIBRETRO_CORE_NAME}_libretro.so"} - case "${EAPI:-0}" in 6|7) EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install @@ -130,6 +128,7 @@ libretro-core_src_prepare() { -e 's/\r$//g' \ -e "/flags.*=/s:-O[[:digit:]]:${CFLAGS}:g" \ -e "/CFLAGS.*=/s:-O[[:digit:]]:${CFLAGS}:g" \ + -e "/CXXFLAGS.*=/s:-O[[:digit:]]:${CXXFLAGS}:g" \ -e "/.*,--version-script=.*/s:$: ${LDFLAGS} ${LIBS}:g" \ -e "/\$(CC)/s:\(\$(SHARED)\):\1 ${LDFLAGS} ${LIBS}:" \ -e 's:\(\$(CC)\):\1 \$(CFLAGS):g' \ @@ -168,12 +167,27 @@ libretro-core_src_compile() { $([[ -f Makefile.libretro ]] && echo '-f Makefile.libretro') } +# @VARIABLE: LIBRETRO_CORE_LIB_FILE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Absolute path of this Libretro core's shared library. +# src_install. +# @CODE +# src_install() { +# local LIBRETRO_CORE_LIB_FILE="${S}/somecore_libretro.so" +# +# libretro-core_src_install +# } +# @CODE + # @FUNCTION: libretro-core_src_install # @DESCRIPTION: # The libretro-core src_install function which is exported. # # This function installs the shared library for this Libretro core. libretro-core_src_install() { + local LIBRETRO_CORE_LIB_FILE=${LIBRETRO_CORE_LIB_FILE:-"${S}/${LIBRETRO_CORE_NAME}_libretro.so"} + # Absolute path of the directory containing Libretro shared libraries. local libretro_lib_dir="/usr/$(get_libdir)/libretro" # If this core's shared library exists, install that. diff --git a/eclass/meson.eclass b/eclass/meson.eclass index cb213e15e12e..fa859ace996f 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -244,12 +244,13 @@ meson_src_configure() { } # @FUNCTION: meson_src_compile +# @USAGE: [extra ninja arguments] # @DESCRIPTION: # This is the meson_src_compile function. meson_src_compile() { debug-print-function ${FUNCNAME} "$@" - eninja -C "${BUILD_DIR}" + eninja -C "${BUILD_DIR}" "$@" } # @FUNCTION: meson_src_test @@ -276,12 +277,13 @@ meson_src_test() { } # @FUNCTION: meson_src_install +# @USAGE: [extra ninja install arguments] # @DESCRIPTION: # This is the meson_src_install function. meson_src_install() { debug-print-function ${FUNCNAME} "$@" - DESTDIR="${D}" eninja -C "${BUILD_DIR}" install + DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@" einstalldocs } diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass index b5c3537eaf4d..2789e6046b9f 100644 --- a/eclass/mozcoreconf-v6.eclass +++ b/eclass/mozcoreconf-v6.eclass @@ -212,7 +212,7 @@ mozconfig_init() { if use clang ; then # Nothing to do :; - elif tc-ld-is-gold ; then + elif tc-ld-is-gold || use lto; then append-ldflags -Wl,--no-keep-memory else append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads @@ -229,12 +229,12 @@ mozconfig_init() { append-flags -fPIC ;; ppc64) - append-flags -fPIC -mminimal-toc + append-flags -fPIC # Reduce the memory requirements for linking if use clang ; then # Nothing to do :; - elif tc-ld-is-gold ; then + elif tc-ld-is-gold || use lto; then append-ldflags -Wl,--no-keep-memory else append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index d7f6f1993652..bc7d7b1c2609 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -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 # Maintainer: Toolchain Ninjas @@ -136,7 +136,7 @@ else # is commonly used as a main compiler. GCC_EBUILD_TEST_FLAG='regression-test' fi -IUSE="${GCC_EBUILD_TEST_FLAG} vanilla +nls +nptl" +IUSE="${GCC_EBUILD_TEST_FLAG} vanilla +nls" TC_FEATURES=() @@ -145,7 +145,7 @@ tc_has_feature() { } if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then - IUSE+=" altivec debug +cxx +fortran" TC_FEATURES+=(fortran) + IUSE+=" altivec debug +cxx +fortran +nptl" TC_FEATURES+=(fortran nptl) [[ -n ${PIE_VER} ]] && IUSE+=" nopie" [[ -n ${HTB_VER} ]] && IUSE+=" boundschecking" [[ -n ${D_VER} ]] && IUSE+=" d" @@ -1100,10 +1100,12 @@ toolchain_src_configure() { # destructors", but apparently requires glibc. case ${CTARGET} in *-uclibc*) - confgcc+=( - --disable-__cxa_atexit - $(use_enable nptl tls) - ) + if tc_has_feature nptl ; then + confgcc+=( + --disable-__cxa_atexit + $(use_enable nptl tls) + ) + fi tc_version_is_between 3.3 3.4 && confgcc+=( --enable-sjlj-exceptions ) if tc_version_is_between 3.4 4.3 ; then confgcc+=( --enable-clocale=uclibc ) @@ -1238,10 +1240,11 @@ toolchain_src_configure() { ### library options if tc_version_is_between 3.0 7.0 ; then - if ! is_gcj ; then + if is_gcj ; then + confgcc+=( --disable-gjdoc ) + use awt && confgcc+=( --enable-java-awt=gtk ) + else confgcc+=( --disable-libgcj ) - elif use awt ; then - confgcc+=( --enable-java-awt=gtk ) fi fi @@ -1815,6 +1818,7 @@ toolchain_src_install() { dodir /etc/env.d/gcc create_gcc_env_entry + create_revdep_rebuild_entry # Setup the gcc_env_entry for hardened gcc 4 with minispecs want_minispecs && copy_minispecs_gcc_specs @@ -1961,8 +1965,8 @@ toolchain_src_install() { # for people who are testing as non-root. chown -R root:0 "${D}${LIBPATH}" 2>/dev/null - # Move pretty-printers to gdb datadir to shut ldconfig up - local py gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/} + # Installing gdb pretty-printers into gdb-specific location. + local py gdbdir=/usr/share/gdb/auto-load${LIBPATH} pushd "${D}${LIBPATH}" >/dev/null for py in $(find . -name '*-gdb.py') ; do local multidir=${py%/*} @@ -2122,8 +2126,6 @@ create_gcc_env_entry() { fi cat <<-EOF > ${gcc_envd_file} - PATH="${BINPATH}" - ROOTPATH="${BINPATH}" GCC_PATH="${BINPATH}" LDPATH="${ldpaths}" MANPATH="${DATAPATH}/man" @@ -2135,6 +2137,20 @@ create_gcc_env_entry() { EOF } +create_revdep_rebuild_entry() { + local revdep_rebuild_base="/etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER}" + local revdep_rebuild_file="${ED}${revdep_rebuild_base}" + + is_crosscompile || return 0 + + dodir /etc/revdep-rebuild + cat <<-EOF > "${revdep_rebuild_file}" + # Generated by ${CATEGORY}/${PF} + # Ignore libraries built for ${CTARGET}, https://bugs.gentoo.org/692844. + SEARCH_DIRS_MASK="${LIBPATH}" + EOF +} + copy_minispecs_gcc_specs() { # on gcc 6 we don't need minispecs if tc_version_is_at_least 6.0 ; then diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass index 217aadecb3b3..b8dca22726d1 100644 --- a/eclass/xorg-3.eclass +++ b/eclass/xorg-3.eclass @@ -72,6 +72,7 @@ IUSE="" if [[ ${XORG_MODULE} == auto ]]; then case ${CATEGORY} in app-doc) XORG_MODULE=doc/ ;; + media-fonts) XORG_MODULE=font/ ;; x11-apps|x11-wm) XORG_MODULE=app/ ;; x11-misc|x11-themes) XORG_MODULE=util/ ;; x11-base) XORG_MODULE=xserver/ ;; @@ -140,6 +141,7 @@ if [[ ${XORG_STATIC} == yes \ && ${CATEGORY} != app-doc \ && ${CATEGORY} != x11-apps \ && ${CATEGORY} != x11-drivers \ + && ${CATEGORY} != media-fonts \ && ${PN} != util-macros \ && ${PN} != xbitmaps \ && ${PN} != xorg-cf-files \ -- cgit v1.2.3