From 4df3bf9762850b34cd1ead5c80374d1a0fc3362e Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@redcorelinux.org>
Date: Mon, 12 Jul 2021 08:41:54 +0100
Subject: gentoo resync : 12.07.2021

---
 eclass/Manifest.gz            | Bin 36314 -> 36339 bytes
 eclass/autotools.eclass       |  21 +++++++++---
 eclass/ghc-package.eclass     |  10 +++---
 eclass/gnustep-2.eclass       |   9 +++--
 eclass/gnustep-base.eclass    |  11 ++----
 eclass/gstreamer-meson.eclass |  58 +++++++++++++++++++++++++++++++
 eclass/haskell-cabal.eclass   |  43 ++++++-----------------
 eclass/qmake-utils.eclass     |  78 ++++--------------------------------------
 eclass/qt5-build.eclass       |   7 ++--
 eclass/ruby-utils.eclass      |   6 ++--
 eclass/s6.eclass              |   8 ++---
 eclass/vala.eclass            |   6 ++--
 12 files changed, 116 insertions(+), 141 deletions(-)

(limited to 'eclass')

diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 47157a14846c..27f4f22088b7 100644
Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index b386654c8328..837f9e7a9aab 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: autotools.eclass
 # @MAINTAINER:
 # base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: Regenerates auto* build scripts
 # @DESCRIPTION:
 # This eclass is for safely handling autotooled software packages that need to
@@ -31,7 +31,7 @@ case ${EAPI} in
 		# Needed for eqawarn
 		inherit eutils
 		;;
-	7) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
 esac
 
@@ -373,10 +373,21 @@ eautoconf() {
 		die "No configure.{ac,in} present!"
 	fi
 
+
 	if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
-		eqawarn "This package has a configure.in file which has long been deprecated.  Please"
-		eqawarn "update it to use configure.ac instead as newer versions of autotools will die"
-		eqawarn "when it finds this file.  See https://bugs.gentoo.org/426262 for details."
+		case ${EAPI:-0} in
+			0|1|2|3|4|5|6|7)
+				eqawarn "This package has a configure.in file which has long been deprecated.  Please"
+				eqawarn "update it to use configure.ac instead as newer versions of autotools will die"
+				eqawarn "when it finds this file.  See https://bugs.gentoo.org/426262 for details."
+			;;
+		*)
+				# Move configure file to the new location only on newer EAPIs to ensure
+				# checks are done rather than retroactively breaking ebuilds.
+				eqawarn "Moving configure.in to configure.ac (bug #426262)"
+				mv configure.{in,ac} || die
+			;;
+		esac
 	fi
 
 	# Install config.guess and config.sub which are required by many macros
diff --git a/eclass/ghc-package.eclass b/eclass/ghc-package.eclass
index 5decbaa228e8..1d90c7fc383e 100644
--- a/eclass/ghc-package.eclass
+++ b/eclass/ghc-package.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: ghc-package.eclass
 # @MAINTAINER:
 # "Gentoo's Haskell Language team" <haskell@gentoo.org>
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
+# @SUPPORTED_EAPIS: 6 7 8
 # @AUTHOR:
 # Original Author: Andres Loeh <kosmikus@gentoo.org>
 # @BLURB: This eclass helps with the Glasgow Haskell Compiler's package configuration utility.
@@ -14,10 +14,10 @@
 inherit multiprocessing
 
 # Maintain version-testing compatibility with ebuilds not using EAPI 7.
-case "${EAPI:-0}" in
-	0|1|2|3|7) ;;
-	4|5|6) inherit eapi7-ver ;;
-	*) die "EAPI ${EAPI} unsupported." ;;
+case ${EAPI} in
+	7|8) ;;
+	6) inherit eapi7-ver ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
 # GHC uses it's own native code generator. Portage's
diff --git a/eclass/gnustep-2.eclass b/eclass/gnustep-2.eclass
index fc3d2d0fe3bd..2d615db3a1f2 100644
--- a/eclass/gnustep-2.eclass
+++ b/eclass/gnustep-2.eclass
@@ -4,14 +4,14 @@
 # @ECLASS: gnustep-2.eclass
 # @MAINTAINER:
 # GNUstep Herd <gnustep@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: eclass for GNUstep Apps, Frameworks, and Bundles build
 # @DESCRIPTION:
 # This eclass sets up GNUstep environment to properly install
 # GNUstep packages
 
 case ${EAPI:-0} in
-	[567]) ;;
+	[5678]) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -34,9 +34,8 @@ RDEPEND="${DEPEND}"
 
 # The following gnustep-based EXPORT_FUNCTIONS are available:
 # * gnustep-base_pkg_setup
-# * gnustep-base_src_unpack (EAPI 0|1 only)
-# * gnustep-base_src_prepare (EAPI>=2 only)
-# * gnustep-base_src_configure (EAPI>=2 only)
+# * gnustep-base_src_prepare
+# * gnustep-base_src_configure
 # * gnustep-base_src_compile
 # * gnustep-base_src_install
 # * gnustep-base_pkg_postinst
diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index 2f836eb2830f..fb4a48b734cd 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -4,14 +4,14 @@
 # @ECLASS: gnustep-base.eclass
 # @MAINTAINER:
 # GNUstep Herd <gnustep@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: Internal handling of GNUstep pacakges
 # @DESCRIPTION:
 # Inner gnustep eclass, should only be inherited directly by gnustep-base
 # packages
 
 case ${EAPI:-0} in
-	[567]) inherit eutils ;;
+	[5678]) inherit eutils ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -50,13 +50,6 @@ gnustep-base_pkg_setup() {
 	filter-flags -fomit-frame-pointer
 }
 
-gnustep-base_src_unpack() {
-	unpack ${A}
-	cd "${S}"
-
-	gnustep-base_src_prepare
-}
-
 gnustep-base_src_prepare() {
 	if [[ -f ./GNUmakefile ]] ; then
 		# Kill stupid includes that are simply overdone or useless on normal
diff --git a/eclass/gstreamer-meson.eclass b/eclass/gstreamer-meson.eclass
index f1962073fd2b..03ec98c17b95 100644
--- a/eclass/gstreamer-meson.eclass
+++ b/eclass/gstreamer-meson.eclass
@@ -77,6 +77,64 @@ gstreamer_get_plugins() {
 		"/^# Feature options for plugins (with|that need) external deps$/,/^#.*$/s;^option\('([^']*)'.*;\1;p" \
 		"${S}/meson_options.txt" || die "Failed to extract options for plugins with external deps"
 	)
+
+	# opencv and hls in gst-plugins-bad are split, can't be properly detected
+	if grep -q "option('opencv'" "${EMESON_SOURCE}"/meson_options.txt ; then
+		GST_PLUGINS_EXT_DEPS="${GST_PLUGINS_EXT_DEPS}
+opencv"
+	fi
+	if grep -q "option('hls'" "${EMESON_SOURCE}"/meson_options.txt ; then
+		GST_PLUGINS_EXT_DEPS="${GST_PLUGINS_EXT_DEPS}
+hls"
+	fi
+}
+
+# @FUNCTION: gstreamer_system_package
+# @USAGE: <gstaudio_dep:gstreamer-audio> [...]
+# @DESCRIPTION:
+# Walks through meson.build in order to make sure build will link against system
+# libraries.
+# Takes a list of path fragments and corresponding pkgconfig libraries
+# separated by colon (:). Will replace the path fragment by the output of
+# pkgconfig.
+gstreamer_system_package() {
+	local pdir directory libs pkgconfig pc tuple plugin_dir
+	pkgconfig=$(tc-getPKG_CONFIG)
+
+	for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do
+		pdir=$(gstreamer_get_plugin_dir ${plugin_dir})
+
+		for tuple in $@ ; do
+			dependency=${tuple%:*}
+			pc=${tuple#*:}-${SLOT}
+			sed -e "1i${dependency} = dependency('${pc}', required : true)" \
+				-i "${pdir}"/meson.build || die
+		done
+	done
+}
+
+# @FUNCTION: gstreamer_system_library
+# @USAGE: <gstbasecamerabin_dep:libgstbasecamerabinsrc> [...]
+# @DESCRIPTION:
+# Walks through meson.build in order to make sure build will link against system
+# libraries.
+# Takes a list of path fragments and corresponding pkgconfig libraries
+# separated by colon (:). Will replace the path fragment by the output of
+# pkgconfig.
+gstreamer_system_library() {
+	local pdir directory libs pkgconfig pc tuple plugin_dir
+	pkgconfig=$(tc-getPKG_CONFIG)
+
+	for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do
+		pdir=$(gstreamer_get_plugin_dir ${plugin_dir})
+
+		for tuple in $@ ; do
+			dependency=${tuple%:*}
+			pc=${tuple#*:}-${SLOT}
+			sed -e "1i${dependency} = cc.find_library('${pc}', required : true)" \
+				-i "${pdir}"/meson.build || die
+		done
+	done
 }
 
 # @ECLASS-VARIABLE: GST_PLUGINS_BUILD_DIR
diff --git a/eclass/haskell-cabal.eclass b/eclass/haskell-cabal.eclass
index 5b67f43f0c5a..0e41325b3061 100644
--- a/eclass/haskell-cabal.eclass
+++ b/eclass/haskell-cabal.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: haskell-cabal.eclass
 # @MAINTAINER:
 # Haskell herd <haskell@gentoo.org>
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
+# @SUPPORTED_EAPIS: 6 7 8
 # @AUTHOR:
 # Original author: Andres Loeh <kosmikus@gentoo.org>
 # Original author: Duncan Coutts <dcoutts@gentoo.org>
@@ -40,7 +40,16 @@
 #                  FEATURE can be removed once https://github.com/haskell/cabal/issues/7213
 #                  is fixed.
 
-inherit eutils ghc-package multilib toolchain-funcs
+case ${EAPI} in
+	# eutils is for eqawarn
+	6|7) inherit eutils ;;
+	8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+inherit ghc-package multilib toolchain-funcs
+
+EXPORT_FUNCTIONS pkg_setup src_configure src_compile src_test src_install pkg_postinst pkg_postrm
 
 # @ECLASS-VARIABLE: CABAL_EXTRA_CONFIGURE_FLAGS
 # @USER_VARIABLE
@@ -113,21 +122,11 @@ inherit eutils ghc-package multilib toolchain-funcs
 # Set to anything else to disable.
 : ${CABAL_REPORT_OTHER_BROKEN_PACKAGES:=yes}
 
-HASKELL_CABAL_EXPF="pkg_setup src_compile src_test src_install pkg_postinst pkg_postrm"
-
 # 'dev-haskell/cabal' passes those options with ./configure-based
 # configuration, but most packages don't need/don't accept it:
 # #515362, #515362
 QA_CONFIGURE_OPTIONS+=" --with-compiler --with-hc --with-hc-pkg --with-gcc"
 
-case "${EAPI:-0}" in
-	0|1) ;;
-	2|3|4|5|6|7) HASKELL_CABAL_EXPF+=" src_configure" ;;
-	*) die "EAPI ${EAPI} unsupported." ;;
-esac
-
-EXPORT_FUNCTIONS ${HASKELL_CABAL_EXPF}
-
 for feature in ${CABAL_FEATURES}; do
 	case ${feature} in
 		haddock)    CABAL_USE_HADDOCK=yes;;
@@ -141,9 +140,6 @@ for feature in ${CABAL_FEATURES}; do
 		test-suite) CABAL_TEST_SUITE=yes;;
 		rebuild-after-doc-workaround) CABAL_REBUILD_AFTER_DOC_WORKAROUND=yes;;
 
-		# does nothing, removed 2016-09-04
-		bin)        ;;
-
 		*) CABAL_UNKNOWN="${CABAL_UNKNOWN} ${feature}";;
 	esac
 done
@@ -315,7 +311,6 @@ cabal-show-brokens-and-die() {
 
 cabal-configure() {
 	local cabalconf=()
-	has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
 
 	if [[ -n "${CABAL_USE_HADDOCK}" ]] && use doc; then
 		# We use the bundled with GHC version if exists
@@ -452,8 +447,6 @@ cabal-build() {
 }
 
 cabal-copy() {
-	has "${EAPI:-0}" 0 1 2 && ! use prefix && ED=${D}
-
 	set -- copy --destdir="${D}" "$@"
 	echo ./setup "$@"
 	./setup "$@" || die "setup copy failed"
@@ -535,20 +528,8 @@ cabal_src_configure() {
 
 # exported function: cabal-style bootstrap configure and compile
 cabal_src_compile() {
-	# it's a common mistake when one bumps ebuild to EAPI="2" (and upper)
-	# and forgets to separate src_compile() to src_configure()/src_compile().
-	# Such error leads to default src_configure and we lose all passed flags.
-	if ! has "${EAPI:-0}" 0 1; then
-		local passed_flag
-		for passed_flag in "$@"; do
-			[[ ${passed_flag} == --flags=* ]] && \
-				eqawarn "QA Notice: Cabal option '${passed_flag}' has effect only in src_configure()"
-		done
-	fi
-
 	cabal-is-dummy-lib && return
 
-	has src_configure ${HASKELL_CABAL_EXPF} || haskell-cabal_src_configure "$@"
 	cabal-build
 
 	if [[ -n "$CABAL_USE_HADDOCK" ]] && use doc; then
@@ -616,8 +597,6 @@ haskell-cabal_src_test() {
 
 # exported function: cabal-style copy and register
 cabal_src_install() {
-	has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
-
 	if ! cabal-is-dummy-lib; then
 		cabal-copy
 		cabal-pkg
diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 0d49eb94382c..1f09cbd9ca77 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: qmake-utils.eclass
@@ -6,7 +6,7 @@
 # qt@gentoo.org
 # @AUTHOR:
 # Davide Pesavento <pesa@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Common functions for qmake-based packages.
 # @DESCRIPTION:
 # Utility eclass providing wrapper functions for Qt5 qmake.
@@ -14,63 +14,15 @@
 # This eclass does not set any metadata variables nor export any phase
 # functions. It can be inherited safely.
 
-if [[ -z ${_QMAKE_UTILS_ECLASS} ]]; then
-_QMAKE_UTILS_ECLASS=1
-
 case ${EAPI} in
-	7) ;;
-	*) die "EAPI=${EAPI:-0} is not supported" ;;
+	7|8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-inherit toolchain-funcs
-
-# @FUNCTION: _qmake-utils_banned_func
-# @INTERNAL
-# @DESCRIPTION:
-# Banned functions are banned.
-_qmake-utils_banned_func() {
-	die "${FUNCNAME[1]} is banned in EAPI 7 and later"
-}
-
-# @FUNCTION: qt4_get_bindir
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qt4_get_bindir() {
-	_qmake-utils_banned_func
-}
-
-# @FUNCTION: qt4_get_headerdir
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qt4_get_headerdir() {
-	_qmake-utils_banned_func
-}
-
-# @FUNCTION: qt4_get_libdir
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qt4_get_libdir() {
-	_qmake-utils_banned_func
-}
-
-# @FUNCTION: qt4_get_mkspecsdir
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qt4_get_mkspecsdir() {
-	_qmake-utils_banned_func
-}
+if [[ -z ${_QMAKE_UTILS_ECLASS} ]]; then
+_QMAKE_UTILS_ECLASS=1
 
-# @FUNCTION: qt4_get_plugindir
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qt4_get_plugindir() {
-	_qmake-utils_banned_func
-}
+inherit toolchain-funcs
 
 # @FUNCTION: qt5_get_bindir
 # @DESCRIPTION:
@@ -108,22 +60,6 @@ qt5_get_plugindir() {
 	echo $(qt5_get_libdir)/qt5/plugins
 }
 
-# @FUNCTION: qmake-utils_find_pro_file
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-qmake-utils_find_pro_file() {
-	_qmake-utils_banned_func
-}
-
-# @FUNCTION: eqmake4
-# @INTERNAL
-# @DESCRIPTION:
-# Banned.
-eqmake4() {
-	_qmake-utils_banned_func
-}
-
 # @FUNCTION: eqmake5
 # @USAGE: [arguments for qmake]
 # @DESCRIPTION:
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index e94f3f33a101..bc5928d33140 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -10,15 +10,14 @@
 # @BLURB: Eclass for Qt5 split ebuilds.
 # @DESCRIPTION:
 # This eclass contains various functions that are used when building Qt5.
-# Requires EAPI 7.
 
 if [[ ${CATEGORY} != dev-qt ]]; then
-	die "qt5-build.eclass is only to be used for building Qt 5"
+	die "${ECLASS} is only to be used for building Qt 5"
 fi
 
 case ${EAPI} in
-	7)	: ;;
-	*)	die "qt5-build.eclass: unsupported EAPI=${EAPI:-0}" ;;
+	7) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
 # @ECLASS-VARIABLE: QT5_MODULE
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 4db362e2cd50..2506aee25541 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -6,7 +6,7 @@
 # Ruby team <ruby@gentoo.org>
 # @AUTHOR:
 # Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: An eclass for supporting ruby scripts and bindings in non-ruby packages
 # @DESCRIPTION:
 # The ruby-utils eclass is designed to allow an easier installation of
@@ -16,7 +16,7 @@
 # functions. It can be inherited safely.
 
 case ${EAPI:-0} in
-	[567]) ;;
+	[5678]) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -33,7 +33,7 @@ if [[ ! ${_RUBY_UTILS} ]]; then
 # provide for a better first installation experience.
 
 # All stable RUBY_TARGETS
-RUBY_TARGETS_PREFERENCE="ruby26 ruby25 "
+RUBY_TARGETS_PREFERENCE="ruby26 "
 
 # All other active ruby targets
 RUBY_TARGETS_PREFERENCE+="ruby27 ruby30"
diff --git a/eclass/s6.eclass b/eclass/s6.eclass
index b84d5a166db9..25960ba4a1db 100644
--- a/eclass/s6.eclass
+++ b/eclass/s6.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: s6.eclass
 # @MAINTAINER:
 # William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: helper functions to install s6 services
 # @DESCRIPTION:
 # This eclass provides helpers to install s6 services.
@@ -25,9 +25,9 @@
 # }
 # @CODE
 
-case ${EAPI:-0} in
-	5|6|7) ;;
-	*) die "${ECLASS}.eclass: API in EAPI ${EAPI} not yet established" ;;
+case ${EAPI} in
+	5|6|7|8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
 # @FUNCTION: _s6_get_servicedir
diff --git a/eclass/vala.eclass b/eclass/vala.eclass
index 59b5f671c5d4..0431bb86377c 100644
--- a/eclass/vala.eclass
+++ b/eclass/vala.eclass
@@ -28,12 +28,12 @@ _VALA_ECLASS=1
 
 # @ECLASS-VARIABLE: VALA_MIN_API_VERSION
 # @DESCRIPTION:
-# Minimum vala API version (e.g. 0.36).
+# Minimum vala API version (e.g. 0.44).
 VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.44}
 
 # @ECLASS-VARIABLE: VALA_MAX_API_VERSION
 # @DESCRIPTION:
-# Maximum vala API version (e.g. 0.36).
+# Maximum vala API version (e.g. 0.52).
 VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.52}
 
 # @ECLASS-VARIABLE: VALA_USE_DEPEND
@@ -52,7 +52,7 @@ vala_api_versions() {
 	local minimal_supported_minor_version minor_version
 
 	# Dependency atoms are not generated for Vala versions older than 0.${minimal_supported_minor_version}.
-	minimal_supported_minor_version="36"
+	minimal_supported_minor_version="44"
 
 	for ((minor_version = ${VALA_MAX_API_VERSION#*.}; minor_version >= ${VALA_MIN_API_VERSION#*.}; minor_version = minor_version - 2)); do
 		# 0.38 was never in main tree; remove the special case once minimal_supported_minor_version >= 40
-- 
cgit v1.2.3