summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-07-24 02:11:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-07-24 02:11:45 +0100
commitb49088575eb777ced2551f484da86317332d6087 (patch)
treebf9a151cf2d61956340d555659ffc098ee1da466 /eclass
parent514d1bbe260df2521fe60f1a3ec87cfcfde1a829 (diff)
gentoo resync : 24.07.2021
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin36175 -> 36161 bytes
-rw-r--r--eclass/apache-2.eclass8
-rw-r--r--eclass/fortran-2.eclass12
-rw-r--r--eclass/kernel-2.eclass4
-rw-r--r--eclass/kernel-install.eclass16
-rw-r--r--eclass/llvm.org.eclass15
-rw-r--r--eclass/ruby-fakegem.eclass20
-rw-r--r--eclass/ruby-ng.eclass33
-rw-r--r--eclass/stardict.eclass6
-rw-r--r--eclass/toolchain.eclass9
-rw-r--r--eclass/vim-plugin.eclass12
11 files changed, 78 insertions, 57 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 4da1fdc826bb..69d6e3f96550 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index a67597447ba3..3da388952c4c 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -10,7 +10,7 @@
# This eclass handles apache-2.x ebuild functions such as LoadModule generation
# and inter-module dependency checking.
-inherit autotools flag-o-matic multilib ssl-cert user toolchain-funcs
+inherit autotools flag-o-matic multilib ssl-cert toolchain-funcs
[[ ${CATEGORY}/${PN} != www-servers/apache ]] \
&& die "Do not use this eclass with anything else than www-servers/apache ebuilds!"
@@ -136,6 +136,8 @@ unset -f _apache2_set_mpms
# Dependencies
RDEPEND="
+ acct-group/apache
+ acct-user/apache
dev-lang/perl
>=dev-libs/apr-1.5.1:=
=dev-libs/apr-util-1*:=[gdbm=,ldap?]
@@ -435,10 +437,6 @@ check_upgrade() {
apache-2_pkg_setup() {
check_upgrade
- # setup apache user and group
- enewgroup apache 81
- enewuser apache 81 -1 /var/www apache
-
setup_mpm
setup_modules
diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 9d0c71703e49..2409cfcda5be 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-2.eclass
@@ -69,6 +69,9 @@ if [[ ! ${_FORTRAN_2_CLASS} ]]; then
for _f_use in ${FORTRAN_NEEDED}; do
case ${_f_use} in
always)
+ if [[ ${EAPI} != [56] ]]; then
+ BDEPEND+=" virtual/fortran"
+ fi
DEPEND+=" virtual/fortran"
RDEPEND+=" virtual/fortran"
break
@@ -77,9 +80,16 @@ for _f_use in ${FORTRAN_NEEDED}; do
break
;;
test)
- DEPEND+=" ${_f_use}? ( virtual/fortran )"
+ if [[ ${EAPI} != [56] ]]; then
+ BDEPEND+=" ${_f_use}? ( virtual/fortran )"
+ else
+ DEPEND+=" ${_f_use}? ( virtual/fortran )"
+ fi
;;
*)
+ if [[ ${EAPI} != [56] ]]; then
+ BDEPEND+=" ${_f_use}? ( virtual/fortran )"
+ fi
DEPEND+=" ${_f_use}? ( virtual/fortran )"
RDEPEND+=" ${_f_use}? ( virtual/fortran )"
;;
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 831dd5b5dd40..f94dd9c43982 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -8,7 +8,7 @@
# John Mylchreest <johnm@gentoo.org>
# Mike Pagano <mpagano@gentoo.org>
# <so many, many others, please add yourself>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Eclass for kernel packages
# @DESCRIPTION:
# This is the kernel.eclass rewrite for a clean base regarding the 2.6
@@ -201,7 +201,7 @@
inherit estack toolchain-funcs
[[ ${EAPI:-0} == 6 ]] && inherit eapi7-ver
case ${EAPI:-0} in
- 6|7)
+ 6|7|8)
EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \
pkg_{setup,preinst,postinst,postrm} ;;
*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index e6b9cbe45c0e..b80a8d6ea93b 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -388,11 +388,23 @@ kernel-install_src_test() {
# @FUNCTION: kernel-install_pkg_preinst
# @DESCRIPTION:
-# Stub out mount-boot.eclass.
+# Verify whether the kernel has been installed correctly.
kernel-install_pkg_preinst() {
debug-print-function ${FUNCNAME} "${@}"
- # (no-op)
+ local ver="${PV}${KV_LOCALVERSION}"
+ local kdir="${ED}/usr/src/linux-${ver}"
+ local relfile="${kdir}/include/config/kernel.release"
+ [[ ! -d ${kdir} ]] && die "Kernel directory ${kdir} not installed!"
+ [[ ! -f ${relfile} ]] && die "Release file ${relfile} not installed!"
+ local release="$(<"${relfile}")"
+ if [[ ${release} != ${PV}* ]]; then
+ eerror "Kernel release mismatch!"
+ eerror " expected (PV): ${PV}*"
+ eerror " found: ${release}"
+ eerror "Please verify that you are applying the correct patches."
+ die "Kernel release mismatch (${release} instead of ${PV}*)"
+ fi
}
# @FUNCTION: kernel-install_install_all
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 7f4aa723e0a5..83f8127a4bd7 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Common bits for fetching & unpacking llvm.org projects
# @DESCRIPTION:
# The llvm.org eclass provides common code to fetch and unpack parts
@@ -30,7 +30,7 @@
# @CODE
case "${EAPI:-0}" in
- 7)
+ 7|8)
;;
*)
die "Unsupported EAPI=${EAPI} for ${ECLASS}"
@@ -167,10 +167,7 @@ llvm.org_set_globals() {
# == phase functions ==
-EXPORT_FUNCTIONS src_unpack
-if ver_test -ge 10.0.1_rc; then
- EXPORT_FUNCTIONS src_prepare
-fi
+EXPORT_FUNCTIONS src_unpack src_prepare
# @FUNCTION: llvm.org_src_unpack
# @DESCRIPTION:
@@ -205,6 +202,12 @@ llvm.org_src_unpack() {
fi
if [[ -n ${LLVM_PATCHSET} ]]; then
+ local nocomp=$(grep -r -L "^Gentoo-Component:" \
+ "${WORKDIR}/llvm-gentoo-patchset-${LLVM_PATCHSET}")
+ if [[ -n ${nocomp} ]]; then
+ die "Patches lacking Gentoo-Component found: ${nocomp}"
+ fi
+
# strip patches that don't match current components
local IFS='|'
grep -E -r -L "^Gentoo-Component:.*(${components[*]})" \
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 9b2fd39ccf14..76a80f6b9be2 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -8,7 +8,7 @@
# Author: Diego E. Pettenò <flameeyes@gentoo.org>
# Author: Alex Legler <a3li@gentoo.org>
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 4 5 6 7 8
# @BLURB: An eclass for installing Ruby packages to behave like RubyGems.
# @DESCRIPTION:
# This eclass allows to install arbitrary Ruby libraries (including Gems),
@@ -60,7 +60,7 @@ RUBY_FAKEGEM_TASK_TEST="${RUBY_FAKEGEM_TASK_TEST-test}"
# - yard (calls `yard`, adds dev-ruby/yard to the dependencies);
# - none
case ${EAPI} in
- 4|5|6)
+ 5|6)
RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rake}"
;;
*)
@@ -129,17 +129,11 @@ RUBY_FAKEGEM_BINDIR="${RUBY_FAKEGEM_BINDIR-bin}"
# legacy way to install extensions for a long time.
RUBY_FAKEGEM_EXTENSION_LIBDIR="${RUBY_FAKEGEM_EXTENSION_LIBDIR-lib}"
-case "${EAPI:-0}" in
- 0|1|2|3)
- die "Unsupported EAPI=${EAPI} (too old) for ruby-fakegem.eclass" ;;
- 4|5|6|7)
- ;;
- *)
- die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
- ;;
+case ${EAPI} in
+ 5|6|7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-
RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}"
@@ -203,7 +197,7 @@ SRC_URI="https://rubygems.org/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}$
ruby_add_bdepend "virtual/rubygems !!dev-ruby/psych"
ruby_add_rdepend virtual/rubygems
case ${EAPI} in
- 4|5|6)
+ 5|6)
;;
*)
ruby_add_depend virtual/rubygems
@@ -318,7 +312,7 @@ ruby_fakegem_metadata_gemspec() {
# See RUBY_FAKEGEM_REQUIRE_PATHS for setting extra require paths.
ruby_fakegem_genspec() {
case ${EAPI} in
- 4|5|6) ;;
+ 5|6) ;;
*)
eqawarn "Generating generic fallback gemspec *without* dependencies"
eqawarn "This will only work when there are no runtime dependencies"
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 0c569bfcdcc6..ac9c117c0c02 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -8,7 +8,7 @@
# Author: Diego E. Pettenò <flameeyes@gentoo.org>
# Author: Alex Legler <a3li@gentoo.org>
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: An eclass for installing Ruby packages with proper support for multiple Ruby slots.
# @DESCRIPTION:
# The Ruby eclass is designed to allow an easier installation of Ruby packages
@@ -68,7 +68,7 @@
local inherits=""
case ${EAPI} in
- 4|5)
+ 5)
inherits="eutils toolchain-funcs"
;;
6)
@@ -83,15 +83,12 @@ inherit ${inherits} multilib ruby-utils
EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_test src_install pkg_setup
+# S is no longer automatically assigned when it doesn't exist.
+S="${WORKDIR}"
+
case ${EAPI} in
- 0|1|2|3)
- die "Unsupported EAPI=${EAPI} (too old) for ruby-ng.eclass" ;;
- 4|5|6|7)
- # S is no longer automatically assigned when it doesn't exist.
- S="${WORKDIR}"
- ;;
- *)
- die "Unknown EAPI=${EAPI} for ruby-ng.eclass"
+ 5|6|7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
# @FUNCTION: ruby_implementation_depend
@@ -210,7 +207,7 @@ ruby_add_rdepend() {
1) ;;
2)
case ${EAPI} in
- 4|5|6)
+ 5|6)
[[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in ruby_add_rdepend for $CATEGORY/$PF"
ruby_add_rdepend "$(_ruby_wrap_conditions "$1" "$2")"
return
@@ -232,7 +229,7 @@ ruby_add_rdepend() {
# Add the dependency as a test-dependency since we're going to
# execute the code during test phase.
case ${EAPI} in
- 4|5|6) DEPEND="${DEPEND} test? ( ${dependency} )" ;;
+ 5|6) DEPEND="${DEPEND} test? ( ${dependency} )" ;;
*) BDEPEND="${BDEPEND} test? ( ${dependency} )" ;;
esac
if ! has test "$IUSE"; then
@@ -255,7 +252,7 @@ ruby_add_bdepend() {
1) ;;
2)
case ${EAPI} in
- 4|5|6)
+ 5|6)
[[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in ruby_add_bdepend for $CATEGORY/$PF"
ruby_add_bdepend "$(_ruby_wrap_conditions "$1" "$2")"
return
@@ -273,7 +270,7 @@ ruby_add_bdepend() {
local dependency=$(_ruby_atoms_samelib "$1")
case ${EAPI} in
- 4|5|6) DEPEND="${DEPEND} $dependency" ;;
+ 5|6) DEPEND="${DEPEND} $dependency" ;;
*) BDEPEND="${BDEPEND} $dependency" ;;
esac
RDEPEND="${RDEPEND}"
@@ -286,7 +283,7 @@ ruby_add_bdepend() {
# ruby_add_bdepend.
ruby_add_depend() {
case ${EAPI} in
- 4|5|6) die "only available in EAPI 7 and newer" ;;
+ 5|6) die "only available in EAPI 7 and newer" ;;
*) ;;
esac
@@ -354,7 +351,7 @@ if [[ ${RUBY_OPTIONAL} != yes ]]; then
RDEPEND="${RDEPEND} $(ruby_implementations_depend)"
REQUIRED_USE+=" || ( $(ruby_get_use_targets) )"
case ${EAPI} in
- 4|5|6) ;;
+ 5|6) ;;
*) BDEPEND="${BDEPEND} $(ruby_implementations_depend)" ;;
esac
fi
@@ -458,7 +455,7 @@ ruby-ng_src_unpack() {
_ruby_apply_patches() {
case ${EAPI} in
- 4|5)
+ 5)
for patch in "${RUBY_PATCHES[@]}"; do
if [ -f "${patch}" ]; then
epatch "${patch}"
@@ -506,7 +503,7 @@ ruby-ng_src_prepare() {
# Handle PATCHES and user supplied patches via the default phase
case ${EAPI} in
- 4|5)
+ 5)
;;
*)
_ruby_invoke_environment all default
diff --git a/eclass/stardict.eclass b/eclass/stardict.eclass
index 0061353f4abc..d07fee03b446 100644
--- a/eclass/stardict.eclass
+++ b/eclass/stardict.eclass
@@ -39,7 +39,7 @@ S="${WORKDIR}"/${DICT_P}
LICENSE="GPL-2"
SLOT="0"
-IUSE="gzip"
+IUSE="+zlib"
DEPEND="
|| (
@@ -47,13 +47,13 @@ DEPEND="
app-text/sdcv
app-text/goldendict
)
- gzip? (
+ zlib? (
app-arch/gzip
app-text/dictd
)"
stardict_src_compile() {
- if use gzip; then
+ if use zlib; then
for file in *.idx; do
[[ -f $file ]] && gzip ${file}
done
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 57a2c95dd10a..5bfa58e4a207 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -157,7 +157,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
tc_version_is_at_least 4.7 && IUSE+=" go"
# sanitizer support appeared in gcc-4.8, but <gcc-5 does not
# support modern glibc.
- tc_version_is_at_least 5 && IUSE+=" +sanitize"
+ tc_version_is_at_least 5 && IUSE+=" +sanitize" TC_FEATURES+=(sanitize)
# Note:
# <gcc-4.8 supported graphite, it required forked ppl
# versions which we dropped. Since graphite was also experimental in
@@ -245,6 +245,13 @@ if tc_has_feature gcj ; then
"
fi
+if tc_has_feature sanitize ; then
+ # libsanitizer relies on 'crypt.h' to be present
+ # on target. glibc user to provide it unconditionally.
+ # Nowadays it's a standalone library: #802648
+ DEPEND+=" sanitize? ( virtual/libcrypt )"
+fi
+
if tc_has_feature systemtap ; then
# gcc needs sys/sdt.h headers on target
DEPEND+=" systemtap? ( dev-util/systemtap )"
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index 6b72d66111d3..50e727e98f4e 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -126,31 +126,31 @@ update_vim_afterscripts() {
display_vim_plugin_help() {
local h
- if ! has_version ${CATEGORY}/${PN} ; then
- if [[ -n "${VIM_PLUGIN_HELPFILES}" ]] ; then
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if [[ -n ${VIM_PLUGIN_HELPFILES} ]]; then
elog " "
elog "This plugin provides documentation via vim's help system. To"
elog "view it, use:"
- for h in ${VIM_PLUGIN_HELPFILES} ; do
+ for h in ${VIM_PLUGIN_HELPFILES}; do
elog " :help ${h}"
done
elog " "
- elif [[ -n "${VIM_PLUGIN_HELPTEXT}" ]] ; then
+ elif [[ -n ${VIM_PLUGIN_HELPTEXT} ]]; then
elog " "
while read h ; do
elog "$h"
done <<<"${VIM_PLUGIN_HELPTEXT}"
elog " "
- elif [[ -n "${VIM_PLUGIN_HELPURI}" ]] ; then
+ elif [[ -n ${VIM_PLUGIN_HELPURI} ]]; then
elog " "
elog "Documentation for this plugin is available online at:"
elog " ${VIM_PLUGIN_HELPURI}"
elog " "
fi
- if has "filetype" "${VIM_PLUGIN_MESSAGES}" ; then
+ if has filetype ${VIM_PLUGIN_MESSAGES}; then
elog "This plugin makes use of filetype settings. To enable these,"
elog "add lines like:"
elog " filetype plugin on"