summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/acct-group.eclass6
-rw-r--r--eclass/acct-user.eclass12
-rw-r--r--eclass/ada.eclass10
-rw-r--r--eclass/apache-module.eclass19
-rw-r--r--eclass/app-alternatives.eclass8
-rw-r--r--eclass/aspell-dict-r1.eclass4
-rw-r--r--eclass/autotools.eclass71
-rw-r--r--eclass/bash-completion-r1.eclass24
-rw-r--r--eclass/cdrom.eclass6
-rw-r--r--eclass/check-reqs.eclass30
-rw-r--r--eclass/depend.apache.eclass47
-rw-r--r--eclass/desktop.eclass16
-rw-r--r--eclass/dist-kernel-utils.eclass10
-rw-r--r--eclass/distutils-r1.eclass88
-rw-r--r--eclass/dotnet-pkg-base.eclass30
-rw-r--r--eclass/dotnet-pkg.eclass4
-rw-r--r--eclass/dotnet.eclass4
-rw-r--r--eclass/dune.eclass12
-rw-r--r--eclass/emboss-r3.eclass4
-rw-r--r--eclass/flag-o-matic.eclass14
-rw-r--r--eclass/fortran-2.eclass34
-rw-r--r--eclass/gap-pkg.eclass7
-rw-r--r--eclass/gkrellm-plugin.eclass4
-rw-r--r--eclass/gnuconfig.eclass35
-rw-r--r--eclass/go-module.eclass8
-rw-r--r--eclass/greadme.eclass10
-rw-r--r--eclass/guile-single.eclass10
-rw-r--r--eclass/guile-utils.eclass16
-rw-r--r--eclass/guile.eclass28
-rw-r--r--eclass/java-pkg-2.eclass6
-rw-r--r--eclass/java-utils-2.eclass25
-rw-r--r--eclass/kernel-build.eclass12
-rw-r--r--eclass/kernel-install.eclass28
-rw-r--r--eclass/latex-package.eclass14
-rw-r--r--eclass/libtool.eclass12
-rw-r--r--eclass/linux-mod-r1.eclass16
-rw-r--r--eclass/llvm-r1.eclass10
-rw-r--r--eclass/llvm-utils.eclass10
-rw-r--r--eclass/llvm.eclass8
-rw-r--r--eclass/lua-single.eclass12
-rw-r--r--eclass/lua-utils.eclass20
-rw-r--r--eclass/lua.eclass8
-rw-r--r--eclass/mercurial.eclass4
-rw-r--r--eclass/mono-env.eclass6
-rw-r--r--eclass/mozcoreconf-v6.eclass2
-rw-r--r--eclass/mozextension.eclass4
-rw-r--r--eclass/mozlinguas-v2.eclass4
-rw-r--r--eclass/multibuild.eclass16
-rw-r--r--eclass/multilib-build.eclass24
-rw-r--r--eclass/multilib-minimal.eclass8
-rw-r--r--eclass/multilib.eclass6
-rw-r--r--eclass/multiprocessing.eclass6
-rw-r--r--eclass/nuget.eclass2
-rw-r--r--eclass/out-of-source-utils.eclass10
-rw-r--r--eclass/pax-utils.eclass6
-rw-r--r--eclass/perl-functions.eclass19
-rw-r--r--eclass/php-pear-r2.eclass24
-rw-r--r--eclass/portability.eclass6
-rw-r--r--eclass/postgres-multi.eclass4
-rw-r--r--eclass/postgres.eclass4
-rw-r--r--eclass/prefix.eclass6
-rw-r--r--eclass/preserve-libs.eclass6
-rw-r--r--eclass/pypi.eclass4
-rw-r--r--eclass/python-any-r1.eclass8
-rw-r--r--eclass/python-r1.eclass30
-rw-r--r--eclass/python-single-r1.eclass12
-rw-r--r--eclass/python-utils-r1.eclass88
-rw-r--r--eclass/readme.gentoo-r1.eclass12
-rw-r--r--eclass/rebar-utils.eclass8
-rw-r--r--eclass/rebar.eclass12
-rw-r--r--eclass/rebar3.eclass14
-rw-r--r--eclass/rocm.eclass2
-rw-r--r--eclass/ruby-fakegem.eclass103
-rw-r--r--eclass/ruby-ng-gnome2.eclass12
-rw-r--r--eclass/ruby-ng.eclass135
-rw-r--r--eclass/ruby-single.eclass4
-rw-r--r--eclass/ruby-utils.eclass10
-rw-r--r--eclass/scons-utils.eclass2
-rw-r--r--eclass/secureboot.eclass8
-rw-r--r--eclass/selinux-policy-2.eclass2
-rw-r--r--eclass/shell-completion.eclass16
-rw-r--r--eclass/strip-linguas.eclass6
-rw-r--r--eclass/systemd.eclass98
-rw-r--r--eclass/tmpfiles.eclass14
-rw-r--r--eclass/toolchain-funcs.eclass7
-rw-r--r--eclass/toolchain.eclass8
-rw-r--r--eclass/tree-sitter-grammar.eclass10
-rw-r--r--eclass/udev.eclass22
-rw-r--r--eclass/vcs-clean.eclass12
-rw-r--r--eclass/vcs-snapshot.eclass4
-rw-r--r--eclass/vdr-plugin-2.eclass22
-rw-r--r--eclass/vim-doc.eclass14
-rw-r--r--eclass/vim-plugin.eclass24
-rw-r--r--eclass/vim-spell.eclass6
-rw-r--r--eclass/virtualx.eclass14
-rw-r--r--eclass/waf-utils.eclass4
-rw-r--r--eclass/webapp.eclass54
-rw-r--r--eclass/wrapper.eclass8
-rw-r--r--eclass/xdg-utils.eclass12
-rw-r--r--eclass/xdg.eclass8
-rw-r--r--kde-plasma/bluedevil/Manifest1
-rw-r--r--kde-plasma/bluedevil/bluedevil-6.2.0.ebuild42
-rw-r--r--kde-plasma/breeze-grub/Manifest1
-rw-r--r--kde-plasma/breeze-grub/breeze-grub-6.2.0.ebuild23
-rw-r--r--kde-plasma/breeze-gtk/Manifest1
-rw-r--r--kde-plasma/breeze-gtk/breeze-gtk-6.2.0.ebuild32
-rw-r--r--kde-plasma/breeze-plymouth/Manifest1
-rw-r--r--kde-plasma/breeze-plymouth/breeze-plymouth-6.2.0.ebuild28
-rw-r--r--kde-plasma/breeze/Manifest1
-rw-r--r--kde-plasma/breeze/breeze-6.2.0.ebuild69
-rw-r--r--kde-plasma/discover/Manifest1
-rw-r--r--kde-plasma/discover/discover-6.2.0.ebuild97
-rw-r--r--kde-plasma/drkonqi/Manifest1
-rw-r--r--kde-plasma/drkonqi/drkonqi-6.2.0.ebuild90
-rw-r--r--kde-plasma/flatpak-kcm/Manifest1
-rw-r--r--kde-plasma/flatpak-kcm/flatpak-kcm-6.2.0.ebuild35
-rw-r--r--kde-plasma/kactivitymanagerd/Manifest1
-rw-r--r--kde-plasma/kactivitymanagerd/kactivitymanagerd-6.2.0.ebuild34
-rw-r--r--kde-plasma/kde-cli-tools-common/Manifest1
-rw-r--r--kde-plasma/kde-cli-tools-common/kde-cli-tools-common-6.2.0.ebuild15
-rw-r--r--kde-plasma/kde-cli-tools/Manifest1
-rw-r--r--kde-plasma/kde-cli-tools/kde-cli-tools-6.2.0.ebuild59
-rw-r--r--kde-plasma/kde-gtk-config/Manifest1
-rw-r--r--kde-plasma/kde-gtk-config/kde-gtk-config-6.2.0.ebuild43
-rw-r--r--kde-plasma/kdecoration/Manifest1
-rw-r--r--kde-plasma/kdecoration/kdecoration-6.2.0.ebuild22
-rw-r--r--kde-plasma/kdeplasma-addons/Manifest1
-rw-r--r--kde-plasma/kdeplasma-addons/kdeplasma-addons-6.2.0.ebuild73
-rw-r--r--kde-plasma/kdesu-gui/Manifest1
-rw-r--r--kde-plasma/kdesu-gui/files/kdesu-gui-6.1.80-build-only-kdesu.patch72
-rw-r--r--kde-plasma/kdesu-gui/kdesu-gui-6.2.0.ebuild53
-rw-r--r--kde-plasma/kgamma/Manifest1
-rw-r--r--kde-plasma/kgamma/kgamma-6.2.0.ebuild30
-rw-r--r--kde-plasma/kglobalacceld/Manifest1
-rw-r--r--kde-plasma/kglobalacceld/kglobalacceld-6.2.0.ebuild53
-rw-r--r--kde-plasma/kinfocenter/Manifest1
-rw-r--r--kde-plasma/kinfocenter/kinfocenter-6.2.0.ebuild94
-rw-r--r--kde-plasma/kmenuedit/Manifest1
-rw-r--r--kde-plasma/kmenuedit/kmenuedit-6.2.0.ebuild38
-rw-r--r--kde-plasma/kpipewire/Manifest1
-rw-r--r--kde-plasma/kpipewire/kpipewire-6.2.0.ebuild45
-rw-r--r--kde-plasma/krdp/Manifest1
-rw-r--r--kde-plasma/krdp/krdp-6.2.0.ebuild51
-rw-r--r--kde-plasma/kscreen/Manifest1
-rw-r--r--kde-plasma/kscreen/kscreen-6.2.0.ebuild57
-rw-r--r--kde-plasma/kscreenlocker/Manifest1
-rw-r--r--kde-plasma/kscreenlocker/kscreenlocker-6.2.0.ebuild79
-rw-r--r--kde-plasma/ksshaskpass/Manifest1
-rw-r--r--kde-plasma/ksshaskpass/ksshaskpass-6.2.0.ebuild49
-rw-r--r--kde-plasma/ksystemstats/Manifest1
-rw-r--r--kde-plasma/ksystemstats/ksystemstats-6.2.0.ebuild44
-rw-r--r--kde-plasma/kwallet-pam/Manifest1
-rw-r--r--kde-plasma/kwallet-pam/kwallet-pam-6.2.0.ebuild37
-rw-r--r--kde-plasma/kwayland-integration/Manifest1
-rw-r--r--kde-plasma/kwayland-integration/kwayland-integration-6.2.0.ebuild48
-rw-r--r--kde-plasma/kwayland/Manifest1
-rw-r--r--kde-plasma/kwayland/kwayland-6.2.0.ebuild42
-rw-r--r--kde-plasma/kwin/Manifest1
-rw-r--r--kde-plasma/kwin/kwin-6.2.0.ebuild143
-rw-r--r--kde-plasma/kwrited/Manifest1
-rw-r--r--kde-plasma/kwrited/kwrited-6.2.0.ebuild25
-rw-r--r--kde-plasma/layer-shell-qt/Manifest1
-rw-r--r--kde-plasma/layer-shell-qt/layer-shell-qt-6.2.0.ebuild31
-rw-r--r--kde-plasma/libkscreen/Manifest1
-rw-r--r--kde-plasma/libkscreen/libkscreen-6.2.0.ebuild37
-rw-r--r--kde-plasma/libksysguard/Manifest1
-rw-r--r--kde-plasma/libksysguard/libksysguard-6.2.0.ebuild43
-rw-r--r--kde-plasma/libplasma/Manifest1
-rw-r--r--kde-plasma/libplasma/libplasma-6.2.0.ebuild69
-rw-r--r--kde-plasma/milou/Manifest1
-rw-r--r--kde-plasma/milou/milou-6.2.0.ebuild29
-rw-r--r--kde-plasma/ocean-sound-theme/Manifest1
-rw-r--r--kde-plasma/ocean-sound-theme/ocean-sound-theme-6.2.0.ebuild15
-rw-r--r--kde-plasma/oxygen-sounds/Manifest1
-rw-r--r--kde-plasma/oxygen-sounds/oxygen-sounds-6.2.0.ebuild15
-rw-r--r--kde-plasma/oxygen/Manifest1
-rw-r--r--kde-plasma/oxygen/oxygen-6.2.0.ebuild73
-rw-r--r--kde-plasma/plasma-activities-stats/Manifest1
-rw-r--r--kde-plasma/plasma-activities-stats/plasma-activities-stats-6.2.0.ebuild27
-rw-r--r--kde-plasma/plasma-activities/Manifest1
-rw-r--r--kde-plasma/plasma-activities/plasma-activities-6.2.0.ebuild29
-rw-r--r--kde-plasma/plasma-browser-integration/Manifest1
-rw-r--r--kde-plasma/plasma-browser-integration/plasma-browser-integration-6.2.0.ebuild46
-rw-r--r--kde-plasma/plasma-desktop/Manifest1
-rw-r--r--kde-plasma/plasma-desktop/files/plasma-desktop-6.1.80-override-include-dirs.patch103
-rw-r--r--kde-plasma/plasma-desktop/plasma-desktop-6.2.0.ebuild179
-rw-r--r--kde-plasma/plasma-disks/Manifest1
-rw-r--r--kde-plasma/plasma-disks/plasma-disks-6.2.0.ebuild39
-rw-r--r--kde-plasma/plasma-firewall/Manifest1
-rw-r--r--kde-plasma/plasma-firewall/plasma-firewall-6.2.0.ebuild60
-rw-r--r--kde-plasma/plasma-integration/Manifest1
-rw-r--r--kde-plasma/plasma-integration/plasma-integration-6.2.0.ebuild88
-rw-r--r--kde-plasma/plasma-meta/plasma-meta-6.2.0.ebuild149
-rw-r--r--kde-plasma/plasma-nm/Manifest1
-rw-r--r--kde-plasma/plasma-nm/plasma-nm-6.2.0.ebuild77
-rw-r--r--kde-plasma/plasma-pa/Manifest1
-rw-r--r--kde-plasma/plasma-pa/plasma-pa-6.2.0.ebuild44
-rw-r--r--kde-plasma/plasma-sdk/Manifest1
-rw-r--r--kde-plasma/plasma-sdk/plasma-sdk-6.2.0.ebuild42
-rw-r--r--kde-plasma/plasma-systemmonitor/Manifest1
-rw-r--r--kde-plasma/plasma-systemmonitor/plasma-systemmonitor-6.2.0.ebuild43
-rw-r--r--kde-plasma/plasma-thunderbolt/Manifest1
-rw-r--r--kde-plasma/plasma-thunderbolt/plasma-thunderbolt-6.2.0.ebuild36
-rw-r--r--kde-plasma/plasma-vault/Manifest1
-rw-r--r--kde-plasma/plasma-vault/plasma-vault-6.2.0.ebuild50
-rw-r--r--kde-plasma/plasma-welcome/Manifest1
-rw-r--r--kde-plasma/plasma-welcome/plasma-welcome-6.2.0.ebuild37
-rw-r--r--kde-plasma/plasma-workspace-wallpapers/Manifest1
-rw-r--r--kde-plasma/plasma-workspace-wallpapers/plasma-workspace-wallpapers-6.2.0.ebuild20
-rw-r--r--kde-plasma/plasma-workspace/Manifest1
-rw-r--r--kde-plasma/plasma-workspace/plasma-workspace-6.2.0.ebuild234
-rw-r--r--kde-plasma/plasma5support/Manifest1
-rw-r--r--kde-plasma/plasma5support/plasma5support-6.2.0.ebuild38
-rw-r--r--kde-plasma/plymouth-kcm/Manifest1
-rw-r--r--kde-plasma/plymouth-kcm/plymouth-kcm-6.2.0.ebuild36
-rw-r--r--kde-plasma/polkit-kde-agent/Manifest1
-rw-r--r--kde-plasma/polkit-kde-agent/polkit-kde-agent-6.2.0.ebuild34
-rw-r--r--kde-plasma/powerdevil/Manifest1
-rw-r--r--kde-plasma/powerdevil/powerdevil-6.2.0.ebuild81
-rw-r--r--kde-plasma/print-manager/Manifest1
-rw-r--r--kde-plasma/print-manager/print-manager-6.2.0.ebuild68
-rw-r--r--kde-plasma/qqc2-breeze-style/Manifest1
-rw-r--r--kde-plasma/qqc2-breeze-style/qqc2-breeze-style-6.2.0.ebuild28
-rw-r--r--kde-plasma/sddm-kcm/Manifest1
-rw-r--r--kde-plasma/sddm-kcm/sddm-kcm-6.2.0.ebuild40
-rw-r--r--kde-plasma/systemsettings/Manifest1
-rw-r--r--kde-plasma/systemsettings/systemsettings-6.2.0.ebuild52
-rw-r--r--kde-plasma/wacomtablet/Manifest1
-rw-r--r--kde-plasma/wacomtablet/wacomtablet-6.2.0.ebuild56
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/Manifest1
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-6.2.0.ebuild66
-rw-r--r--net-fs/samba/Manifest5
-rw-r--r--net-fs/samba/samba-4.18.10.ebuild386
-rw-r--r--net-fs/samba/samba-4.18.8.ebuild386
-rw-r--r--net-fs/samba/samba-4.19.4.ebuild385
-rw-r--r--net-fs/samba/samba-4.20.0.ebuild385
-rw-r--r--net-fs/samba/samba-4.20.1.ebuild385
-rw-r--r--sys-libs/ldb/Manifest1
-rw-r--r--sys-libs/ldb/ldb-2.9.0.ebuild173
239 files changed, 4500 insertions, 3154 deletions
diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 00908dbd8982..ac6dc960ca24 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -89,7 +89,7 @@ S=${WORKDIR}
# Performs sanity checks for correct eclass usage, and early-checks
# whether requested GID can be enforced.
acct-group_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# verify ACCT_GROUP_ID
[[ -n ${ACCT_GROUP_ID} ]] || die "Ebuild error: ACCT_GROUP_ID must be set!"
@@ -131,7 +131,7 @@ acct-group_pkg_pretend() {
# @DESCRIPTION:
# Installs sysusers.d file for the group.
acct-group_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# check for the override, use PN in case this is an overlay and
# ACCT_GROUP_NAME is not PN and not valid in a bash variable name
@@ -156,7 +156,7 @@ acct-group_src_install() {
# @DESCRIPTION:
# Creates the group if it does not exist yet.
acct-group_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${EUID} -ne 0 || -n ${EPREFIX} ]]; then
einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 19c5239eaede..b3bcff7e550c 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -155,7 +155,7 @@ S=${WORKDIR}
# Generate appropriate RDEPEND from ACCT_USER_GROUPS. This must be
# called if ACCT_USER_GROUPS are set.
acct-user_add_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# ACCT_USER_GROUPS sanity check
if [[ $(declare -p ACCT_USER_GROUPS) != "declare -a"* ]]; then
@@ -218,7 +218,7 @@ eislocked() {
# Performs sanity checks for correct eclass usage, and early-checks
# whether requested UID can be enforced.
acct-user_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# verify that acct-user_add_deps() has been called
# (it verifies ACCT_USER_GROUPS itself)
@@ -267,7 +267,7 @@ acct-user_pkg_pretend() {
# Installs a keep-file into the user's home directory to ensure it is
# owned by the package, and sysusers.d file.
acct-user_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Replace reserved characters in comment
: "${ACCT_USER_COMMENT:=${DESCRIPTION//[:,=]/;}}"
@@ -328,7 +328,7 @@ acct-user_src_install() {
# Creates the user if it does not exist yet. Sets permissions
# of the home directory in install image.
acct-user_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset _ACCT_USER_ADDED
@@ -397,7 +397,7 @@ acct-user_pkg_preinst() {
# Updates user properties if necessary. This needs to be done after
# new home directory is installed.
acct-user_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${_ACCT_USER_ADDED} ]]; then
# We just added the user; no need to update it
@@ -481,7 +481,7 @@ acct-user_pkg_postinst() {
# @DESCRIPTION:
# Ensures that the user account is locked out when it is removed.
acct-user_pkg_prerm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${REPLACED_BY_VERSION} ]]; then
return
diff --git a/eclass/ada.eclass b/eclass/ada.eclass
index faff19a6ac85..9206bfcc42ca 100644
--- a/eclass/ada.eclass
+++ b/eclass/ada.eclass
@@ -110,7 +110,7 @@ readonly _ADA_ALL_IMPLS
# unsupported, returns 1 -- and the caller should ignore the entry.
# If it is invalid, dies with an appropriate error message.
_ada_impl_supported() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: takes exactly 1 argument (impl)."
@@ -208,7 +208,7 @@ _ada_set_impls() {
# They are described more completely in the eclass
# variable documentation.
ada_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -404,7 +404,7 @@ unset -f _ada_single_set_globals
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
ada_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${EADA}}
local impl=${2:-${EADA}}
@@ -470,7 +470,7 @@ ada_wrapper_setup() {
# Determine what the selected Ada implementation is and set
# the Ada build environment up for it.
ada_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset EADA
@@ -518,7 +518,7 @@ ada_setup() {
# @DESCRIPTION:
# Runs ada_setup.
ada_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && ada_setup
}
diff --git a/eclass/apache-module.eclass b/eclass/apache-module.eclass
index 07bdb79e08a2..880205a30539 100644
--- a/eclass/apache-module.eclass
+++ b/eclass/apache-module.eclass
@@ -4,7 +4,7 @@
# @ECLASS: apache-module.eclass
# @MAINTAINER:
# apache-bugs@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Provides a common set of functions for apache modules
# @DESCRIPTION:
# This eclass handles apache modules in a sane way.
@@ -44,15 +44,10 @@
# </IfDefine>
# @CODE
-
if [[ -z ${_APACHE_MODULE_ECLASS} ]]; then
_APACHE_MODULE_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -110,7 +105,7 @@ inherit depend.apache
# Internal function to construct the default ${APXS2_S} path if required.
apache_cd_dir() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR="${APXS2_S}"
@@ -128,7 +123,7 @@ apache_cd_dir() {
# Internal function to construct the default ${APACHE2_MOD_FILE} if required.
apache_mod_file() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local MOD_FILE="${APACHE2_MOD_FILE:-$(apache_cd_dir)/.libs/${PN}.so}"
@@ -140,7 +135,7 @@ apache_mod_file() {
# optional first argument `html'; if the first argument is equals `html', only
# html files are returned, otherwise normal (non-html) docs are returned.
apache_doc_magic() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local DOCS=
@@ -166,7 +161,7 @@ apache_doc_magic() {
# module requires a different build setup than this, use ${APXS} in your own
# src_compile routine.
apache-module_src_compile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR=$(apache_cd_dir)
cd "${CD_DIR}" || die "cd ${CD_DIR} failed"
@@ -185,7 +180,7 @@ apache-module_src_compile() {
# 55_mod_foo.conf, APACHE2_MOD_CONF would be 55_mod_foo. ${DOCFILES} contains
# the list of files you want filed as documentation.
apache-module_src_install() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR=$(apache_cd_dir)
pushd "${CD_DIR}" >/dev/null || die "cd ${CD_DIR} failed"
@@ -227,7 +222,7 @@ apache-module_src_install() {
# @DESCRIPTION:
# This prints out information about the installed module and how to enable it.
apache-module_pkg_postinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n "${APACHE2_MOD_DEFINE}" ]] ; then
local my_opts="-D ${APACHE2_MOD_DEFINE// / -D }"
diff --git a/eclass/app-alternatives.eclass b/eclass/app-alternatives.eclass
index c6924bfc6d2a..32afedba1e68 100644
--- a/eclass/app-alternatives.eclass
+++ b/eclass/app-alternatives.eclass
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: app-alternatives.eclass
@@ -21,7 +21,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} unsupported."
esac
-if [[ ! ${_APP_ALTERNATIVES_ECLASS} ]]; then
+if [[ -z ${_APP_ALTERNATIVES_ECLASS} ]]; then
_APP_ALTERNATIVES_ECLASS=1
# @ECLASS_VARIABLE: ALTERNATIVES
@@ -36,7 +36,7 @@ _APP_ALTERNATIVES_ECLASS=1
# @DESCRIPTION:
# Set ebuild metadata variables.
_app-alternatives_set_globals() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${ALTERNATIVES@a} != *a* ]]; then
die 'ALTERNATIVES must be an array.'
@@ -71,7 +71,7 @@ _app-alternatives_set_globals
# @DESCRIPTION:
# Get the flag name for the selected alternative (i.e. the USE flag set).
get_alternative() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local flag
for flag in "${ALTERNATIVES[@]%%:*}"; do
diff --git a/eclass/aspell-dict-r1.eclass b/eclass/aspell-dict-r1.eclass
index 1a3bd0b21b24..6d10c9fb302e 100644
--- a/eclass/aspell-dict-r1.eclass
+++ b/eclass/aspell-dict-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: aspell-dict-r1.eclass
@@ -41,7 +41,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_ASPELL_DICT_R1_ECLASS} ]]; then
+if [[ -z ${_ASPELL_DICT_R1_ECLASS} ]]; then
_ASPELL_DICT_R1_ECLASS=1
# Most of those aspell packages have an idiosyncratic versioning scheme,
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 641612f37193..518f6addcc50 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -4,7 +4,7 @@
# @ECLASS: autotools.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Regenerates auto* build scripts
# @DESCRIPTION:
# This eclass is for safely handling autotooled software packages that need to
@@ -27,16 +27,10 @@ if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then
_AUTOTOOLS_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-[[ ${EAPI} == 6 ]] && inherit eqawarn
-
GNUCONFIG_AUTO_DEPEND=no
inherit gnuconfig libtool
@@ -184,12 +178,7 @@ RDEPEND=""
# ebuilds form conditional depends by using ${AUTOTOOLS_DEPEND} in
# their own DEPEND string.
: "${AUTOTOOLS_AUTO_DEPEND:=yes}"
-if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then
- case ${EAPI} in
- 6) DEPEND=${AUTOTOOLS_DEPEND} ;;
- *) BDEPEND=${AUTOTOOLS_DEPEND} ;;
- esac
-fi
+[[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] && BDEPEND=${AUTOTOOLS_DEPEND}
_AUTOTOOLS_AUTO_DEPEND=${AUTOTOOLS_AUTO_DEPEND} # See top of eclass
unset _automake_atom _autoconf_atom
@@ -398,22 +387,16 @@ eaclocal() {
# - ${BROOT}/usr/share/aclocal
# - ${ESYSROOT}/usr/share/aclocal
# See bug #677002
- if [[ ${EAPI} != 6 ]] ; then
- if [[ ! -f "${T}"/aclocal/dirlist ]] ; then
- mkdir "${T}"/aclocal || die
- cat <<- EOF > "${T}"/aclocal/dirlist || die
- ${BROOT}/usr/share/aclocal
- ${ESYSROOT}/usr/share/aclocal
- EOF
- fi
-
- local system_acdir=" --system-acdir=${T}/aclocal"
- else
- local system_acdir=""
+ if [[ ! -f "${T}"/aclocal/dirlist ]] ; then
+ mkdir "${T}"/aclocal || die
+ cat <<- EOF > "${T}"/aclocal/dirlist || die
+ ${BROOT}/usr/share/aclocal
+ ${ESYSROOT}/usr/share/aclocal
+ EOF
fi
[[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && \
- autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags) ${system_acdir}
+ autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags) --system-acdir="${T}"/aclocal
}
# @FUNCTION: _elibtoolize
@@ -455,7 +438,7 @@ eautoconf() {
if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
case ${EAPI} in
- 6|7)
+ 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."
@@ -543,21 +526,13 @@ eautopoint() {
# use gettext directly. So we have to copy it in manually since
# we can't let `autopoint` do it for us.
config_rpath_update() {
- local dst src
-
- case ${EAPI} in
- 6)
- src="${EPREFIX}/usr/share/gettext/config.rpath"
- ;;
- *)
- src="${BROOT}/usr/share/gettext/config.rpath"
- ;;
- esac
+ local src="${BROOT}/usr/share/gettext/config.rpath"
[[ $# -eq 0 ]] && set -- $(find -name config.rpath)
[[ $# -eq 0 ]] && return 0
einfo "Updating all config.rpath files"
+ local dst
for dst in "$@" ; do
einfo " ${dst}"
cp "${src}" "${dst}" || die
@@ -575,16 +550,7 @@ autotools_env_setup() {
local pv
for pv in ${_LATEST_AUTOMAKE[@]/#*:} ; do
# Break on first hit to respect _LATEST_AUTOMAKE order.
- local hv_args=""
- case ${EAPI} in
- 6)
- hv_args="--host-root"
- ;;
- *)
- hv_args="-b"
- ;;
- esac
- has_version ${hv_args} "=dev-build/automake-${pv}*" && export WANT_AUTOMAKE="${pv}" && break
+ has_version -b "=dev-build/automake-${pv}*" && export WANT_AUTOMAKE="${pv}" && break
done
# During bootstrap in prefix there might be no automake merged yet
@@ -604,16 +570,7 @@ autotools_env_setup() {
local pv
for pv in ${_LATEST_AUTOCONF[@]/#*:} ; do
# Break on first hit to respect _LATEST_AUTOCONF order.
- local hv_args=""
- case ${EAPI} in
- 6)
- hv_args="--host-root"
- ;;
- *)
- hv_args="-b"
- ;;
- esac
- has_version ${hv_args} "=dev-build/autoconf-${pv}*" && export WANT_AUTOCONF="${pv}" && break
+ has_version -b "=dev-build/autoconf-${pv}*" && export WANT_AUTOCONF="${pv}" && break
done
# During bootstrap in prefix there might be no autoconf merged yet
diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass
index be506793ae94..2220cb2be508 100644
--- a/eclass/bash-completion-r1.eclass
+++ b/eclass/bash-completion-r1.eclass
@@ -4,7 +4,7 @@
# @ECLASS: bash-completion-r1.eclass
# @MAINTAINER:
# mgorny@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: A few quick functions to install bash-completion files
# @EXAMPLE:
#
@@ -23,16 +23,12 @@
# }
# @CODE
-if [[ ! ${_BASH_COMPLETION_R1_ECLASS} ]]; then
+if [[ -z ${_BASH_COMPLETION_R1_ECLASS} ]]; then
_BASH_COMPLETION_R1_ECLASS=1
inherit toolchain-funcs
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -45,7 +41,7 @@ esac
# @EXAMPLE:
# _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion
_bash-completion-r1_get_bashdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if $(tc-getPKG_CONFIG) --exists bash-completion &>/dev/null; then
local path
@@ -63,7 +59,7 @@ _bash-completion-r1_get_bashdir() {
# @DESCRIPTION:
# Get unprefixed bash-completion completions directory.
_bash-completion-r1_get_bashcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions
}
@@ -73,7 +69,7 @@ _bash-completion-r1_get_bashcompdir() {
# @DESCRIPTION:
# Get unprefixed bash-completion helpers directory.
_bash-completion-r1_get_bashhelpersdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_bash-completion-r1_get_bashdir helpersdir /usr/share/bash-completion/helpers
}
@@ -82,7 +78,7 @@ _bash-completion-r1_get_bashhelpersdir() {
# @DESCRIPTION:
# Get the bash-completion completions directory.
get_bashcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_bash-completion-r1_get_bashcompdir)"
}
@@ -92,7 +88,7 @@ get_bashcompdir() {
# @DESCRIPTION:
# Get the bash-completion helpers directory.
get_bashhelpersdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_bash-completion-r1_get_bashhelpersdir)"
}
@@ -103,7 +99,7 @@ get_bashhelpersdir() {
# Install bash-completion files passed as args. Has EAPI-dependent failure
# behavior (like doins).
dobashcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -118,7 +114,7 @@ dobashcomp() {
# Install bash-completion file under a new name. Has EAPI-dependent failure
# behavior (like newins).
newbashcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -132,7 +128,7 @@ newbashcomp() {
# @DESCRIPTION:
# Alias <basename> completion to one or more commands (<alias>es).
bashcomp_alias() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -lt 2 ]] && die "Usage: ${FUNCNAME} <basename> <alias>..."
local base=${1} f
diff --git a/eclass/cdrom.eclass b/eclass/cdrom.eclass
index 4f7ba663beba..c4d7d59beadb 100644
--- a/eclass/cdrom.eclass
+++ b/eclass/cdrom.eclass
@@ -4,7 +4,7 @@
# @ECLASS: cdrom.eclass
# @MAINTAINER:
# games@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Functions for CD-ROM handling
# @DESCRIPTION:
# Acquire CD(s) for those lovely CD-based emerges. Yes, this violates
@@ -19,10 +19,6 @@ if [[ -z ${_CDROM_ECLASS} ]]; then
_CDROM_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass
index 02ff61187c45..11eec694ef04 100644
--- a/eclass/check-reqs.eclass
+++ b/eclass/check-reqs.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Bo Ørsted Andresen <zlin@gentoo.org>
# Original Author: Ciaran McCreesh <ciaranm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Provides a uniform way of handling ebuilds with very high build requirements
# @DESCRIPTION:
# This eclass provides a uniform way of handling ebuilds which have very high
@@ -42,10 +42,6 @@ if [[ -z ${_CHECK_REQS_ECLASS} ]]; then
_CHECK_REQS_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -111,7 +107,7 @@ check-reqs_pkg_pretend() {
# @DESCRIPTION:
# Internal function that checks the variables that should be defined.
check-reqs_prepare() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_prepare "$@"
}
@@ -138,7 +134,7 @@ _check-reqs_prepare() {
# @DESCRIPTION:
# Internal function that runs the check based on variable settings.
check-reqs_run() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_run "$@"
}
@@ -167,12 +163,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
}
@@ -183,7 +179,7 @@ _check-reqs_run() {
# Internal function that returns number in KiB.
# Returns 1024**2 for 1G or 1024**3 for 1T.
check-reqs_get_kibibytes() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_get_kibibytes "$@"
}
@@ -217,7 +213,7 @@ _check-reqs_get_kibibytes() {
# Internal function that returns the numerical value without the unit.
# Returns "1" for "1G" or "150" for "150T".
check-reqs_get_number() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_get_number "$@"
}
@@ -244,7 +240,7 @@ _check-reqs_get_number() {
# Internal function that returns the unit without the numerical value.
# Returns "GiB" for "1G" or "TiB" for "150T".
check-reqs_get_unit() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_get_unit "$@"
}
@@ -277,7 +273,7 @@ _check-reqs_get_unit() {
# Internal function that prints the warning and dies if required based on
# the test results.
check-reqs_output() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_get_unit "$@"
}
@@ -312,7 +308,7 @@ _check-reqs_output() {
# @DESCRIPTION:
# Internal function that checks size of RAM.
check-reqs_memory() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_memory "$@"
}
@@ -371,7 +367,7 @@ _check-reqs_memory() {
# @DESCRIPTION:
# Internal function that checks space on the harddrive.
check-reqs_disk() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_disk "$@"
}
@@ -415,7 +411,7 @@ _check-reqs_disk() {
# @DESCRIPTION:
# Internal function that inform about started check
check-reqs_start_phase() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_start_phase "$@"
}
@@ -443,7 +439,7 @@ _check-reqs_start_phase() {
# It has different output between pretend and setup phase,
# where in pretend phase it is fatal.
check-reqs_unsatisfied() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_check-reqs_unsatisfied "$@"
}
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 60926c298f04..e1818be28af3 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -4,7 +4,7 @@
# @ECLASS: depend.apache.eclass
# @MAINTAINER:
# apache-bugs@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Functions to allow ebuilds to depend on apache
# @DESCRIPTION:
# This eclass handles depending on apache in a sane way and provides information
@@ -40,11 +40,10 @@
# }
# @CODE
+if [[ -z ${_DEPEND_APACHE_ECLASS} ]]; then
+_DEPEND_APACHE_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -124,7 +123,7 @@ APACHE2_4_DEPEND="=www-servers/apache-2.4*"
# ==============================================================================
_init_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# WARNING: Do not use these variables with anything that is put
# into the dependency cache (DEPEND/RDEPEND/etc)
@@ -144,7 +143,7 @@ _init_apache2_late() {
}
_init_no_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
APACHE_VERSION="0"
}
@@ -159,7 +158,7 @@ _init_no_apache() {
# apache-2.x support. If the myiuse parameter is not given it defaults to
# apache2.
depend.apache_pkg_setup() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${EBUILD_PHASE}" != "setup" ]]; then
die "$FUNCNAME() should be called in pkg_setup()"
@@ -185,7 +184,7 @@ depend.apache_pkg_setup() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
want_apache2 "$@"
}
@@ -197,7 +196,7 @@ want_apache() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local myiuse=${1:-apache2}
IUSE="${IUSE} ${myiuse}"
@@ -214,10 +213,10 @@ want_apache2() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2_2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
- case ${EAPI:-0} in
- 6|7)
+ case ${EAPI} in
+ 7)
local myiuse=${1:-apache2}
IUSE="${IUSE} ${myiuse}"
DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
@@ -238,7 +237,7 @@ want_apache2_2() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2_4() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local myiuse=${1:-apache2}
IUSE="${IUSE} ${myiuse}"
@@ -250,7 +249,7 @@ want_apache2_4() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache.
need_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
need_apache2
}
@@ -258,7 +257,7 @@ need_apache() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.x.
need_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
DEPEND="${DEPEND} ${APACHE2_DEPEND}"
RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
@@ -269,10 +268,10 @@ need_apache2() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.2.x.
need_apache2_2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
- case ${EAPI:-0} in
- 6|7)
+ case ${EAPI} in
+ 7)
DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
_init_apache2
@@ -287,7 +286,7 @@ need_apache2_2() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.4.x.
need_apache2_4() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
DEPEND="${DEPEND} ${APACHE2_4_DEPEND}"
RDEPEND="${RDEPEND} ${APACHE2_4_DEPEND}"
@@ -300,7 +299,7 @@ need_apache2_4() {
# dependency without USE-flag, in which case want_apache does not work.
# DO NOT call this function in global scope.
has_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if has_version '>=www-servers/apache-2'; then
_init_apache2
@@ -316,7 +315,7 @@ has_apache() {
# built with a threaded MPM. If the myflag parameter is not given it defaults to
# threads.
has_apache_threads() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has_version 'www-servers/apache[threads]'; then
return
@@ -339,7 +338,7 @@ has_apache_threads() {
# package if apache has been built with a threaded MPM. If the myflag parameter
# is not given it defaults to threads.
has_apache_threads_in() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has_version 'www-servers/apache[threads]'; then
return
@@ -357,4 +356,6 @@ has_apache_threads_in() {
fi
}
+fi
+
EXPORT_FUNCTIONS pkg_setup
diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index 144514c8f7c2..2ab96ba6b770 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.eclass
@@ -4,21 +4,17 @@
# @ECLASS: desktop.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: support for desktop files, menus, and icons
+if [[ -z ${_DESKTOP_ECLASS} ]]; then
+_DESKTOP_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_DESKTOP_ECLASS} ]]; then
-_DESKTOP_ECLASS=1
-
# @FUNCTION: make_desktop_entry
# @USAGE: <command> [name] [icon] [type] [fields]
# @DESCRIPTION:
@@ -216,7 +212,7 @@ make_desktop_entry() {
insopts -m 0644
insinto /usr/share/applications
doins "${desktop}"
- ) || die "installing desktop file failed"
+ )
}
# @FUNCTION: make_session_desktop
@@ -357,7 +353,7 @@ _iconins() {
if [[ ${funcname} == newicon ]] ; then
newins "$@"
fi
- ) || die
+ )
}
# @FUNCTION: doicon
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index bb058d488a13..67ba459f0ebe 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -72,7 +72,7 @@ dist-kernel_get_image_path() {
# the kernel version, <image> full path to the image, <system.map>
# full path to System.map.
dist-kernel_install_kernel() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
local version=${1}
@@ -125,7 +125,7 @@ dist-kernel_install_kernel() {
# This function is to be used in pkg_postinst() of ebuilds installing
# kernel modules that are included in the initramfs.
dist-kernel_reinstall_initramfs() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "${FUNCNAME}: invalid arguments"
local kernel_dir=${1}
@@ -148,7 +148,7 @@ dist-kernel_reinstall_initramfs() {
# @DESCRIPTION:
# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version.
dist-kernel_PV_to_KV() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local pv=${1}
@@ -165,7 +165,7 @@ dist-kernel_PV_to_KV() {
# Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_*
# setting in the kernel config and USE=modules-compress.
dist-kernel_get_module_suffix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
@@ -194,7 +194,7 @@ dist-kernel_get_module_suffix() {
# Traverse path for duplicate (un)compressed modules and remove all
# but the newest variant.
dist-kernel_compressed_module_cleanup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local path=${1}
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 5a6ebdcede8a..c3a7d112b03f 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -44,11 +44,6 @@
# For more information, please see the Python Guide:
# https://projects.gentoo.org/python/guide/
-case ${EAPI} in
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
# @ECLASS_VARIABLE: DISTUTILS_EXT
# @PRE_INHERIT
# @DEFAULT_UNSET
@@ -225,6 +220,11 @@ esac
if [[ -z ${_DISTUTILS_R1_ECLASS} ]]; then
_DISTUTILS_R1_ECLASS=1
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
inherit flag-o-matic
inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs
@@ -493,7 +493,7 @@ unset -f _distutils_set_globals
# python_compile_all(), you can call the original implementation
# as sphinx_compile_all.
distutils_enable_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ge 1 ]] || die "${FUNCNAME} takes at least one arg: <subdir>"
_DISTUTILS_SPHINX_SUBDIR=${1}
@@ -589,7 +589,7 @@ distutils_enable_sphinx() {
# This function must be called in global scope, after RDEPEND has been
# declared. Take care not to overwrite the variables set by it.
distutils_enable_tests() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${1} in
--install)
@@ -670,7 +670,7 @@ distutils_enable_tests() {
#
# This command dies on failure.
esetup.py() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -729,7 +729,7 @@ distutils_install_for_testing() {
# This function must only be used in python_test(). The created file
# will automatically be removed upon leaving the test phase.
distutils_write_namespace() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${DISTUTILS_USE_PEP517:-no} != no ]]; then
die "${FUNCNAME} is available only in PEP517 mode"
@@ -935,7 +935,7 @@ _distutils-r1_print_package_versions() {
# At some point in the future, it may also apply eclass-specific
# distutils patches and/or quirks.
distutils-r1_python_prepare_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
_distutils-r1_check_all_phase_mismatch
@@ -1022,7 +1022,7 @@ _distutils-r1_create_setup_cfg() {
[install]
compile = True
optimize = 2
- root = ${D%/}
+ root = ${D}
_EOF_
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
@@ -1057,7 +1057,7 @@ _distutils-r1_copy_egg_info() {
# Print the DISTUTILS_USE_PEP517 value corresponding to the backend
# passed as the only argument.
_distutils-r1_backend_to_key() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local backend=${1}
case ${backend} in
@@ -1109,7 +1109,7 @@ _distutils-r1_backend_to_key() {
# Read (or guess, in case of setuptools) the build-backend
# for the package in the current directory.
_distutils-r1_get_backend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local build_backend legacy_fallback
if [[ -f pyproject.toml ]]; then
@@ -1179,7 +1179,7 @@ _distutils-r1_get_backend() {
#
# This function is intended for expert use only.
distutils_wheel_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${#} -ne 2 ]]; then
die "${FUNCNAME} takes exactly two arguments: <root> <wheel>"
fi
@@ -1236,7 +1236,7 @@ distutils_wheel_install() {
# wrapping executables. The wheel path is returned
# in DISTUTILS_WHEEL_PATH variable.
distutils_pep517_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: root"
if [[ ! ${DISTUTILS_USE_PEP517:-no} != no ]]; then
@@ -1448,7 +1448,7 @@ declare -g -A DISTUTILS_WHEELS=()
# function will be appended to setup.py invocation, i.e. passed
# as options to the 'build' command.
distutils-r1_python_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -1514,7 +1514,7 @@ distutils-r1_python_compile() {
# @DESCRIPTION:
# Moves and wraps all installed scripts/executables as necessary.
_distutils-r1_wrap_scripts() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "usage: ${FUNCNAME} <bindir>"
local bindir=${1}
@@ -1522,10 +1522,10 @@ _distutils-r1_wrap_scripts() {
local scriptdir=$(python_get_scriptdir)
local f python_files=() non_python_files=()
- if [[ -d ${D%/}${scriptdir} ]]; then
- for f in "${D%/}${scriptdir}"/*; do
+ if [[ -d ${D}${scriptdir} ]]; then
+ for f in "${D}${scriptdir}"/*; do
[[ -d ${f} ]] && die "Unexpected directory: ${f}"
- debug-print "${FUNCNAME}: found executable at ${f#${D%/}/}"
+ debug-print "${FUNCNAME}: found executable at ${f#${D}/}"
local shebang
read -r shebang < "${f}"
@@ -1537,7 +1537,7 @@ _distutils-r1_wrap_scripts() {
non_python_files+=( "${f}" )
fi
- mkdir -p "${D%/}${bindir}" || die
+ mkdir -p "${D}${bindir}" || die
done
for f in "${python_files[@]}"; do
@@ -1553,8 +1553,8 @@ _distutils-r1_wrap_scripts() {
for f in "${non_python_files[@]}"; do
local basename=${f##*/}
- debug-print "${FUNCNAME}: moving ${f#${D%/}/} to ${bindir}/${basename}"
- mv "${f}" "${D%/}${bindir}/${basename}" || die
+ debug-print "${FUNCNAME}: moving ${f#${D}/} to ${bindir}/${basename}"
+ mv "${f}" "${D}${bindir}/${basename}" || die
done
fi
}
@@ -1568,7 +1568,7 @@ _distutils-r1_wrap_scripts() {
#
# This function is used only if distutils_enable_tests is called.
distutils-r1_python_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${_DISTUTILS_TEST_RUNNER} ]]; then
die "${FUNCNAME} can be only used after calling distutils_enable_tests"
@@ -1611,7 +1611,7 @@ distutils-r1_python_test() {
# Any parameters passed to this function will be appended
# to the setup.py invocation (i.e. as options to the 'install' command).
distutils-r1_python_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -1662,8 +1662,8 @@ distutils-r1_python_install() {
find "${BUILD_DIR}"/install -type d -empty -delete || die
[[ -d ${BUILD_DIR}/install ]] && merge_root=1
else
- local root=${D%/}/_${EPYTHON}
- [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/}
+ local root=${D}/_${EPYTHON}
+ [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D}
# inline DISTUTILS_ARGS logic from esetup.py in order to make
# argv overwriting easier
@@ -1717,7 +1717,7 @@ distutils-r1_python_install() {
fi
if [[ ${merge_root} ]]; then
- multibuild_merge_root "${root}" "${D%/}"
+ multibuild_merge_root "${root}" "${D}"
fi
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
_distutils-r1_wrap_scripts "${scriptdir}"
@@ -1728,7 +1728,7 @@ distutils-r1_python_install() {
# @DESCRIPTION:
# The default python_install_all(). It installs the documentation.
distutils-r1_python_install_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_distutils-r1_check_all_phase_mismatch
einstalldocs
@@ -1748,7 +1748,7 @@ distutils-r1_python_install_all() {
# holding the per-implementation copy of sources. BUILD_DIR points
# to the 'build' subdirectory.
distutils-r1_run_phase() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${DISTUTILS_IN_SOURCE_BUILD} ]]; then
[[ ${DISTUTILS_USE_PEP517} ]] &&
@@ -1869,7 +1869,7 @@ _distutils-r1_run_common_phase() {
# Run the given phase for each implementation if multiple implementations
# are enabled, once otherwise.
_distutils-r1_run_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# store for restoring after distutils-r1_run_phase.
local _DISTUTILS_INITIAL_CWD=${PWD}
@@ -1890,7 +1890,7 @@ _distutils-r1_run_foreach_impl() {
}
distutils-r1_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
local _DISTUTILS_DEFAULT_CALLED
@@ -1913,7 +1913,7 @@ distutils-r1_src_prepare() {
}
distutils-r1_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_configure >/dev/null; then
@@ -1933,7 +1933,7 @@ distutils-r1_src_configure() {
# Verify the the match between files installed between this and previous
# implementation.
_distutils-r1_compare_installed_files() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# QA check requires diff(1).
if ! type -P diff &>/dev/null; then
@@ -1971,7 +1971,7 @@ _distutils-r1_compare_installed_files() {
# Post-phase function called after python_compile. In PEP517 mode,
# it adjusts the install tree for venv-style usage.
_distutils-r1_post_python_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local root=${BUILD_DIR}/install
if [[ ${DISTUTILS_USE_PEP517} && -d ${root} ]]; then
@@ -2005,7 +2005,7 @@ _distutils-r1_post_python_compile() {
}
distutils-r1_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_compile >/dev/null; then
@@ -2040,7 +2040,7 @@ _distutils-r1_clean_egg_info() {
# @DESCRIPTION:
# Post-phase function called after python_test.
_distutils-r1_post_python_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${DISTUTILS_USE_PEP517} ]]; then
_distutils-r1_clean_egg_info
@@ -2048,7 +2048,7 @@ _distutils-r1_post_python_test() {
}
distutils-r1_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_test >/dev/null; then
@@ -2069,7 +2069,7 @@ distutils-r1_src_test() {
# Find and remove setuptools-style namespaces in the specified
# directory.
_distutils-r1_strip_namespace_packages() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local sitedir=${1}
local f ns had_any=
@@ -2098,9 +2098,9 @@ _distutils-r1_strip_namespace_packages() {
# Post-phase function called after python_install. Performs QA checks.
# In PEP517 mode, additionally optimizes installed Python modules.
_distutils-r1_post_python_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
- local sitedir=${D%/}$(python_get_sitedir)
+ local sitedir=${D}$(python_get_sitedir)
if [[ -d ${sitedir} ]]; then
_distutils-r1_strip_namespace_packages "${sitedir}"
@@ -2161,13 +2161,13 @@ _distutils-r1_check_namespace_pth() {
while IFS= read -r -d '' f; do
pth+=( "${f}" )
- done < <(find "${ED%/}" -name '*-nspkg.pth' -print0)
+ done < <(find "${ED}" -name '*-nspkg.pth' -print0)
if [[ ${pth[@]} ]]; then
eerror "The following *-nspkg.pth files were found installed:"
eerror
for f in "${pth[@]}"; do
- eerror " ${f#${ED%/}}"
+ eerror " ${f#${ED}}"
done
eerror
eerror "The presence of those files may break namespaces in Python 3.5+. Please"
@@ -2181,7 +2181,7 @@ _distutils-r1_check_namespace_pth() {
}
distutils-r1_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_install >/dev/null; then
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index a2d95f15a2fb..15e9ba703baa 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -188,7 +188,7 @@ dotnet-pkg-base_get-configuration() {
#
# This function is used inside "dotnet-pkg-base_setup".
dotnet-pkg-base_get-output() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${DOTNET_PKG_CONFIGURATION} ]] &&
die "${FUNCNAME[0]}: DOTNET_PKG_CONFIGURATION is not set."
@@ -266,7 +266,7 @@ dotnet-pkg-base_setup() {
#
# Used by "dotnet-pkg_src_prepare" from the "dotnet-pkg" eclass.
dotnet-pkg-base_remove-global-json() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local file="${1:-.}"/global.json
@@ -282,7 +282,7 @@ dotnet-pkg-base_remove-global-json() {
# @DESCRIPTION:
# Call dotnet, passing the supplied arguments.
edotnet() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${DOTNET_PKG_EXECUTABLE} ]] ; then
die "${FUNCNAME[0]}: DOTNET_PKG_EXECUTABLE not set. Was dotnet-pkg-base_setup called?"
@@ -301,7 +301,7 @@ edotnet() {
# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
dotnet-pkg-base_info() {
if [[ ${CATEGORY}/${PN} == dev-dotnet/csharp-gentoodotnetinfo ]] ; then
- debug-print-function "${FUNCNAME[0]}: ${P} is a special package, skipping dotnet-pkg-base_info"
+ debug-print-function ${FUNCNAME} "${P} is a special package, skipping dotnet-pkg-base_info"
elif command -v gentoo-dotnet-info >/dev/null ; then
gentoo-dotnet-info || die "${FUNCNAME[0]}: failed to execute gentoo-dotnet-info"
else
@@ -316,7 +316,7 @@ dotnet-pkg-base_info() {
#
# Used by "dotnet-pkg_remove-bad" from the "dotnet-pkg" eclass.
dotnet-pkg-base_sln-remove() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified"
[[ -z ${2} ]] && die "${FUNCNAME[0]}: no project file specified"
@@ -334,7 +334,7 @@ dotnet-pkg-base_sln-remove() {
# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_test" from
# the "dotnet-pkg" eclass.
dotnet-pkg-base_foreach-solution() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local directory="${1}"
shift
@@ -362,7 +362,7 @@ dotnet-pkg-base_foreach-solution() {
#
# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
dotnet-pkg-base_restore() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a restore_args=(
--runtime "${DOTNET_PKG_RUNTIME}"
@@ -385,7 +385,7 @@ dotnet-pkg-base_restore() {
# Additionally any number of "args" maybe be given, they are appended to
# the "dotnet" command invocation.
dotnet-pkg-base_restore-tools() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a tool_restore_args=(
--add-source "${NUGET_PACKAGES}"
@@ -421,7 +421,7 @@ dotnet-pkg-base_restore_tools() {
#
# Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass.
dotnet-pkg-base_build() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a build_args=(
--configuration "${DOTNET_PKG_CONFIGURATION}"
@@ -459,7 +459,7 @@ dotnet-pkg-base_build() {
#
# Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass.
dotnet-pkg-base_test() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a test_args=(
--configuration "${DOTNET_PKG_CONFIGURATION}"
@@ -479,7 +479,7 @@ dotnet-pkg-base_test() {
#
# Installation directory is relative to "ED".
dotnet-pkg-base_install() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local installation_directory="${1:-/usr/share/${P}}"
@@ -495,7 +495,7 @@ dotnet-pkg-base_install() {
#
# For more info see the "_DOTNET_PKG_LAUNCHERDEST" variable.
dotnet-pkg-base_launcherinto() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no directory specified"
@@ -519,7 +519,7 @@ dotnet-pkg-base_launcherinto() {
#
# For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable.
dotnet-pkg-base_append-launchervar() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified"
@@ -553,7 +553,7 @@ dotnet-pkg-base_append_launchervar() {
#
# The path is prepended by "EPREFIX".
dotnet-pkg-base_dolauncher() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local executable_path executable_name
@@ -618,7 +618,7 @@ dotnet-pkg-base_dolauncher() {
#
# The path is prepended by "EPREFIX".
dotnet-pkg-base_dolauncher-portable() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dll_path="${1}"
local executable_name="${2}"
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 59a8ae799f86..44a806f2af39 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -210,7 +210,7 @@ dotnet-pkg_src_unpack() {
#
# Used by "dotnet-pkg_src_prepare".
dotnet-pkg_remove-bad() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified"
@@ -246,7 +246,7 @@ dotnet-pkg_src_prepare() {
#
# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_compile".
dotnet-pkg_foreach-project() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dotnet_project
for dotnet_project in "${DOTNET_PKG_PROJECTS[@]}" ; do
diff --git a/eclass/dotnet.eclass b/eclass/dotnet.eclass
index 1fb288dd1094..aeaee2f58e94 100644
--- a/eclass/dotnet.eclass
+++ b/eclass/dotnet.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: dotnet.eclass
@@ -17,7 +17,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_DOTNET_ECLASS} ]]; then
+if [[ -z ${_DOTNET_ECLASS} ]]; then
_DOTNET_ECLASS=1
BDEPEND="dev-lang/mono"
diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index ba54e87ceaf9..cfe81433a5bc 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_DUNE_ECLASS} ]]; then
+if [[ -z ${_DUNE_ECLASS} ]]; then
_DUNE_ECLASS=1
# @ECLASS_VARIABLE: DUNE_PKG_NAME
@@ -55,7 +55,7 @@ BDEPEND="
# edune clean
# @CODE
edune() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
edo dune "${@}"
}
@@ -74,7 +74,7 @@ edune() {
# dune-release build --target @install menhir menhirLib menhirSdk
# @CODE
dune-release() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local subcommand
local target
@@ -120,7 +120,7 @@ dune-release() {
# dune-compile menhir menhirLib menhirSdk
# @CODE
dune-compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
dune-release build --target @install "${@}"
}
@@ -135,7 +135,7 @@ dune-compile() {
# dune-test menhir menhirLib menhirSdk
# @CODE
dune-test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
dune-release runtest "${@}"
}
@@ -159,7 +159,7 @@ dune_src_test() {
# dune-install menhir menhirLib menhirSdk
# @CODE
dune-install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a pkgs=( "${@}" )
diff --git a/eclass/emboss-r3.eclass b/eclass/emboss-r3.eclass
index 84e258e02058..5db69dd86332 100644
--- a/eclass/emboss-r3.eclass
+++ b/eclass/emboss-r3.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: emboss-r3.eclass
@@ -38,7 +38,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_EMBOSS_R3_ECLASS} ]]; then
+if [[ -z ${_EMBOSS_R3_ECLASS} ]]; then
_EMBOSS_R3_ECLASS=1
inherit flag-o-matic
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 02cd2dcfc592..3e67e3b4c11f 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -4,7 +4,7 @@
# @ECLASS: flag-o-matic.eclass
# @MAINTAINER:
# toolchain@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: common functions to manipulate and query toolchain flags
# @DESCRIPTION:
# This eclass contains a suite of functions to help developers sanely
@@ -14,18 +14,12 @@ if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
_FLAG_O_MATIC_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit toolchain-funcs
-[[ ${EAPI} == 6 ]] && inherit eqawarn
-
# @FUNCTION: all-flag-vars
# @DESCRIPTION:
# Return all the flag variables that our high level functions operate on.
@@ -39,7 +33,7 @@ all-flag-vars() {
# {C,CPP,CXX,CCAS,F,FC,LD}FLAGS that we allow in strip-flags
# Note: shell globs and character lists are allowed
setup-allowed-flags() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_setup-allowed-flags "$@"
}
@@ -570,7 +564,7 @@ strip-flags() {
# Returns shell true if <flag> is supported by given <compiler>,
# else returns shell false.
test-flag-PROG() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_test-flag-PROG "$@"
}
@@ -720,7 +714,7 @@ test-flag-CCLD() { _test-flag-PROG CC c+ld "$@"; }
# Returns shell true if <flags> are supported by given <compiler>,
# else returns shell false.
test-flags-PROG() {
- [[ ${EAPI} == [67] ]] ||
+ [[ ${EAPI} == 7 ]] ||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
_test-flags-PROG "$@"
}
diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 5e2ce1fc68e4..dcf7ee979d8a 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-2.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Author Justin Lecher <jlec@gentoo.org>
# Test functions provided by Sebastien Fabbro and Kacper Kowalik
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Simplify fortran compiler management
# @DESCRIPTION:
# If you need a fortran compiler, then you should be inheriting this eclass.
@@ -30,10 +30,6 @@ if [[ -z ${_FORTRAN_2_ECLASS} ]]; then
_FORTRAN_2_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -70,9 +66,7 @@ inherit toolchain-funcs
for _f_use in ${FORTRAN_NEEDED}; do
case ${_f_use} in
always)
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND+=" virtual/fortran"
- fi
+ BDEPEND+=" virtual/fortran"
DEPEND+=" virtual/fortran"
RDEPEND+=" virtual/fortran"
break
@@ -81,16 +75,10 @@ for _f_use in ${FORTRAN_NEEDED}; do
break
;;
test)
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND+=" ${_f_use}? ( virtual/fortran )"
- else
- DEPEND+=" ${_f_use}? ( virtual/fortran )"
- fi
+ BDEPEND+=" ${_f_use}? ( virtual/fortran )"
;;
*)
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND+=" ${_f_use}? ( virtual/fortran )"
- fi
+ BDEPEND+=" ${_f_use}? ( virtual/fortran )"
DEPEND+=" ${_f_use}? ( virtual/fortran )"
RDEPEND+=" ${_f_use}? ( virtual/fortran )"
;;
@@ -103,7 +91,7 @@ unset _f_use
# Return the Fortran compiler flag to enable 64 bit integers for
# array indices
fortran_int64_abi_fflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _FC=$(tc-getFC)
if [[ ${_FC} == *gfortran* ]]; then
@@ -120,7 +108,7 @@ fortran_int64_abi_fflags() {
# @DESCRIPTION:
# writes fortran test code
_fortran_write_testsuite() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filebase=${T}/test-fortran
@@ -148,7 +136,7 @@ _fortran_write_testsuite() {
# Takes fortran compiler as first argument and dialect as second.
# Checks whether the passed fortran compiler speaks the fortran dialect
_fortran_compile_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filebase=${T}/test-fortran
local fcomp=${1}
@@ -175,7 +163,7 @@ _fortran_compile_test() {
# @DESCRIPTION:
# See if the fortran supports OpenMP.
_fortran-has-openmp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local flag
local filebase=${T}/test-fc-openmp
@@ -204,7 +192,7 @@ _fortran-has-openmp() {
# @DESCRIPTION:
# Detailed description how to handle fortran support
_fortran_die_msg() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
eerror
eerror "Please install currently selected gcc version with USE=fortran."
@@ -221,7 +209,7 @@ _fortran_die_msg() {
# Internal test function for working fortran compiler.
# It is called in fortran-2_pkg_setup.
_fortran_test_function() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dialect
@@ -287,7 +275,7 @@ _fortran-2_pkg_setup() {
# Setup functionality,
# checks for a valid fortran compiler and optionally for its openmp support.
fortran-2_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
_fortran-2_pkg_setup
diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass
index e242cc92e8a3..70a8ed9f7607 100644
--- a/eclass/gap-pkg.eclass
+++ b/eclass/gap-pkg.eclass
@@ -42,6 +42,9 @@
# sci-mathematics/gap in DEPEND as well, and may also want a subslot
# dependency.
+if [[ -z ${_GAP_PKG_ECLASS} ]]; then
+_GAP_PKG_ECLASS=1
+
case ${EAPI} in
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -381,8 +384,10 @@ gap-pkg_src_install() {
# usual "find" command doesn't work here because occasionally we
# find *.la files in GAP packages that are not libtool archives
# and should not be deleted.
- find "${ED%/}$(gap-pkg_dir)/bin" -type f -name '*.la' -delete || die
+ find "${ED}$(gap-pkg_dir)/bin" -type f -name '*.la' -delete || die
fi
}
+fi
+
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
diff --git a/eclass/gkrellm-plugin.eclass b/eclass/gkrellm-plugin.eclass
index 1424fdfe53f9..03b72dffa6e9 100644
--- a/eclass/gkrellm-plugin.eclass
+++ b/eclass/gkrellm-plugin.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gkrellm-plugin.eclass
@@ -36,7 +36,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_GKRELLM_PLUGIN_ECLASS} ]]; then
+if [[ -z ${_GKRELLM_PLUGIN_ECLASS} ]]; then
_GKRELLM_PLUGIN_ECLASS=1
inherit multilib
diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index afcb8feee04e..a7c9e1672f39 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -6,7 +6,7 @@
# Sam James <sam@gentoo.org>
# @AUTHOR:
# Will Woods <wwoods@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Refresh bundled gnuconfig files (config.guess, config.sub)
# @DESCRIPTION:
# This eclass is used to automatically update files that typically come with
@@ -20,10 +20,6 @@ if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
_GNUCONFIG_CLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -41,12 +37,7 @@ GNUCONFIG_DEPEND="sys-devel/gnuconfig"
# ebuilds form conditional depends by using ${GNUCONFIG_DEPEND} in
# their own DEPEND string.
: "${GNUCONFIG_AUTO_DEPEND:=yes}"
-if [[ ${GNUCONFIG_AUTO_DEPEND} != "no" ]] ; then
- case ${EAPI} in
- 6) DEPEND=${GNUCONFIG_DEPEND} ;;
- *) BDEPEND=${GNUCONFIG_DEPEND} ;;
- esac
-fi
+[[ ${GNUCONFIG_AUTO_DEPEND} != "no" ]] && BDEPEND=${GNUCONFIG_DEPEND}
# @FUNCTION: gnuconfig_update
# @USAGE: [file1 file2 ...]
@@ -122,23 +113,11 @@ gnuconfig_do_update() {
# This searches the standard locations for the newest config.{sub|guess}, and
# returns the directory where they can be found.
gnuconfig_findnewest() {
- local locations=()
- local prefix
-
- case ${EAPI} in
- 6)
- prefix="${EPREFIX}"
- ;;
- *)
- prefix="${BROOT}"
- ;;
- esac
-
- locations+=(
- "${prefix}"/usr/share/misc/config.sub
- "${prefix}"/usr/share/gnuconfig/config.sub
- "${prefix}"/usr/share/automake*/config.sub
- "${prefix}"/usr/share/libtool/config.sub
+ local locations=(
+ "${BROOT}"/usr/share/misc/config.sub
+ "${BROOT}"/usr/share/gnuconfig/config.sub
+ "${BROOT}"/usr/share/automake*/config.sub
+ "${BROOT}"/usr/share/libtool/config.sub
)
grep -s '^timestamp' "${locations[@]}" | \
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index cad63ee6d0f0..73e9ee51c7d5 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -322,7 +322,7 @@ go-module_set_globals() {
# It sets up the go module proxy in the appropriate location.
go-module_setup_proxy() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -401,7 +401,7 @@ go-module_src_unpack() {
# directory correctly.
_go-module_src_unpack_gosum() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -472,7 +472,7 @@ _go-module_gosum_synthesize_files() {
# the package, without actually building it yet.
_go-module_src_unpack_verify_gosum() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -499,7 +499,7 @@ _go-module_src_unpack_verify_gosum() {
# This function is used in live ebuilds to vendor the dependencies when
# upstream doesn't vendor them.
go-module_live_vendor() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
# shellcheck disable=SC2086
has live ${PROPERTIES} ||
diff --git a/eclass/greadme.eclass b/eclass/greadme.eclass
index 38190becf91d..a4335b1a6286 100644
--- a/eclass/greadme.eclass
+++ b/eclass/greadme.eclass
@@ -69,7 +69,7 @@ _GREADME_REL_PATH="/usr/share/doc/${PF}/README.gentoo"
# Create the readme doc via stdin. You can use --append to append to an
# existing readme doc.
greadme_stdin() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local append
if [[ ${1} = --append ]]; then
@@ -97,7 +97,7 @@ greadme_stdin() {
# @DESCRIPTION:
# Installs the provided file as readme doc.
greadme_file() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local input_doc_file="${1}"
if [[ -z ${input_doc_file} ]]; then
@@ -114,7 +114,7 @@ greadme_file() {
# @DESCRIPTION:
# Installs the readme file from the temp directory into the image.
_greadme_install_doc() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local greadme="${_GREADME_TMP_FILE}"
if [[ ! ${GREADME_DISABLE_AUTOFORMAT} ]]; then
@@ -148,7 +148,7 @@ _greadme_install_doc() {
# Performs checks like comparing the readme doc from the image with a
# potentially existing one in the live system.
greadme_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${REPLACING_VERSIONS} ]]; then
_GREADME_SHOW="fresh-install"
@@ -224,7 +224,7 @@ greadme_pkg_preinst() {
# @DESCRIPTION:
# Conditionally shows the contents of the readme doc via elog.
greadme_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! -v _GREADME_SHOW ]]; then
die "_GREADME_SHOW not set. Did you call greadme_pkg_preinst?"
diff --git a/eclass/guile-single.eclass b/eclass/guile-single.eclass
index 66898504a6c4..3498044b6d76 100644
--- a/eclass/guile-single.eclass
+++ b/eclass/guile-single.eclass
@@ -129,7 +129,7 @@ inherit guile-utils
# Please keep in ascending order.
_guile_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Inhibit generating the GUILE_USEDEP. This variable is not usable
# for single packages.
@@ -162,7 +162,7 @@ unset -f _guile_setup
# "
# @CODE
guile_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local deps="$1"
shift
@@ -196,7 +196,7 @@ guile_gen_cond_dep() {
#
# For details on the latter three, see guile_export.
guile-single_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_set_common_vars
@@ -223,7 +223,7 @@ guile-single_pkg_setup() {
# Runs the default prepare stage, and then bumps Guile sources via
# guile_bump_sources.
guile-single_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_bump_sources
@@ -234,7 +234,7 @@ guile-single_src_prepare() {
# Runs the default install stage, and then marks ccache files not to be
# stripped using guile_unstrip_ccache.
guile-single_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_unstrip_ccache
diff --git a/eclass/guile-utils.eclass b/eclass/guile-utils.eclass
index 09ca5aabe502..b0660dcfd1ce 100644
--- a/eclass/guile-utils.eclass
+++ b/eclass/guile-utils.eclass
@@ -46,7 +46,7 @@ BDEPEND="virtual/pkgconfig"
# Checks that GUILE_COMPAT is set to an array, and has no invalid
# values.
guile_check_compat() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if ! [[ ${GUILE_COMPAT@a} == *a* ]]; then
die "GUILE_COMPAT not set to an array"
@@ -86,7 +86,7 @@ guile_check_compat
# Sets common variables that apply to all Guile packages, namely,
# QA_PREBUILT.
guile_set_common_vars() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# These aren't strictly speaking prebuilt. but they do generated a
# nonstandard ELF object.
@@ -101,7 +101,7 @@ guile_set_common_vars() {
# Alters ${PKG_CONFIG_PATH} such that it does not contain any Guile
# slots besides the ones required by the caller.
guile_filter_pkgconfig_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filtered_path= unfiltered_path path
IFS=: read -ra unfiltered_path <<<"${PKG_CONFIG_PATH}"
@@ -132,7 +132,7 @@ guile_filter_pkgconfig_path() {
# Generates GUILE_REQUIRED_USE/GUILE_DEPS/GUILE_USEDEP based on
# GUILE_COMPAT, and populates IUSE.
guile_generate_depstrings() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Generate IUSE, REQUIRED_USE, GUILE_USEDEP
local prefix="$1" depop="$2"
@@ -169,7 +169,7 @@ guile_generate_depstrings() {
# @DESCRIPTION:
# Marks site-ccache files not to be stripped. Operates on ${D}.
guile_unstrip_ccache() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ccache
while read -r -d $'\0' ccache; do
@@ -196,7 +196,7 @@ guile_unstrip_ccache() {
# - GUILE_SITECCACHEDIR - Path to the site-ccache directory,
# - GUILE_SITEDIR - Path to the site Scheme directory
guile_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local gver
if [[ "${GUILE_CURRENT_VERSION}" ]]; then
@@ -243,7 +243,7 @@ guile_export() {
# Creates a guile-config executable for a given Guile version, and
# inserts it into path.
guile_create_temporary_config() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${1} ]] || die "Must specify a Guile version"
@@ -267,7 +267,7 @@ guile_create_temporary_config() {
#
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
guile_bump_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
einfo "bumping *.scm source files..."
find "${S}" -name "*.scm" -exec touch {} + || die
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
index e8fde64266e5..1d4a88caf926 100644
--- a/eclass/guile.eclass
+++ b/eclass/guile.eclass
@@ -124,7 +124,7 @@ inherit guile-utils multibuild
# Please keep in ascending order.
_guile_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_generate_depstrings guile_targets '||'
}
@@ -142,7 +142,7 @@ unset -f _guile_setup
# @DESCRIPTION:
# Sets up eclass-internal variables for this build.
guile_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_set_common_vars
GUILE_SELECTED_TARGETS=()
@@ -161,7 +161,7 @@ guile_pkg_setup() {
# Create a single copy of the package sources for each selected Guile
# implementation.
guile_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
@@ -177,7 +177,7 @@ guile_copy_sources() {
# guile_foreach_impl.
_guile_multibuild_wrapper() {
local GUILE_CURRENT_VERSION="${MULTIBUILD_VARIANT}"
- debug-print-function ${FUNCNAME} "${@}" "on ${MULTIBUILD_VARIANT}"
+ debug-print-function ${FUNCNAME} "$@" "on ${MULTIBUILD_VARIANT}"
local -x PATH="${PATH}"
guile_create_temporary_config "${GUILE_CURRENT_VERSION}"
@@ -245,7 +245,7 @@ _guile_multibuild_wrapper() {
# This combination should cover Guile detection of a large amount of
# packages out of the box.
guile_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
@@ -261,7 +261,7 @@ guile_foreach_impl() {
# @DESCRIPTION:
# Runs a single merge_root step for guile_merge_roots.
_guile_merge_single_root() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
multibuild_merge_root "${SLOTTED_D}" "${D}"
}
@@ -270,7 +270,7 @@ _guile_merge_single_root() {
# @DESCRIPTION:
# Merges install roots from all slots, diagnosing conflicts.
guile_merge_roots() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl _guile_merge_single_root
}
@@ -280,7 +280,7 @@ guile_merge_roots() {
# Runs the passed command once, for the best installed Guile
# implementation.
guile_for_best_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
multibuild_for_best_variant _guile_multibuild_wrapper "${@}"
}
@@ -292,7 +292,7 @@ guile_for_best_impl() {
# Bumps SCM sources runs the default src_prepare and bumps all *.scm
# files. See guile_bump_sources of guile-utils.eclass.
guile_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_bump_sources
@@ -302,7 +302,7 @@ guile_src_prepare() {
# @DESCRIPTION:
# Runs the default src_configure for each selected variant target.
guile_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -311,7 +311,7 @@ guile_src_configure() {
# @DESCRIPTION:
# Runs the default src_compile for each selected variant target.
guile_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -320,7 +320,7 @@ guile_src_compile() {
# @DESCRIPTION:
# Runs the default src_test phase for each implementation.
guile_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -331,7 +331,7 @@ guile_src_test() {
# Imitates the default build system install "substep", but for a given
# ${SLOTTED_D} rather than the usual ${D}. See guile_src_install.
_guile_default_install_slot() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
emake DESTDIR="${SLOTTED_D}" install
@@ -344,7 +344,7 @@ _guile_default_install_slot() {
# thing for a GNU Build System based Guile package, for each selected
# variant target. Merges roots after completing the installs.
guile_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl _guile_default_install_slot
guile_merge_roots
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index 2b2a298cfe74..eebdec584ccc 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -6,7 +6,7 @@
# java@gentoo.org
# @AUTHOR:
# Thomas Matthijs <axxo@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: java-utils-2
# @BLURB: Eclass for Java Packages
# @DESCRIPTION:
@@ -17,10 +17,6 @@ if [[ -z ${_JAVA_PKG_2_ECLASS} ]] ; then
_JAVA_PKG_2_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 1e9c28d5868f..8d9ef40b3570 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -6,7 +6,7 @@
# java@gentoo.org
# @AUTHOR:
# Thomas Matthijs <axxo@gentoo.org>, Karl Trygve Kalleberg <karltk@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Base eclass for Java packages
# @DESCRIPTION:
# This eclass provides functionality which is used by java-pkg-2.eclass and
@@ -20,18 +20,10 @@ if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
_JAVA_UTILS_2_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier EAPIs.
-# Keep versionator inheritance in case consumers are using it implicitly.
-[[ ${EAPI} == 6 ]] && inherit eapi7-ver eqawarn multilib versionator
-
# Make sure we use java-config-2
export WANT_JAVA_CONFIG="2"
@@ -299,12 +291,12 @@ java-pkg_doexamples() {
( # dont want to pollute calling env
insinto "${dest}"
doins -r ${1}/*
- ) || die "Installing examples failed"
+ )
else
( # dont want to pollute calling env
insinto "${dest}"
doins -r "$@"
- ) || die "Installing examples failed"
+ )
fi
# Let's make a symlink to the directory we have everything else under
@@ -429,7 +421,7 @@ java-pkg_dojar() {
(
insinto "${JAVA_PKG_JARDEST}"
doins "${jar}"
- ) || die "failed to install ${jar}"
+ )
java-pkg_append_ JAVA_PKG_CLASSPATH "${EPREFIX}${JAVA_PKG_JARDEST}/${jar_basename}"
debug-print "installed ${jar} to ${ED}${JAVA_PKG_JARDEST}"
# make a symlink to the original jar if it's symlink
@@ -577,7 +569,7 @@ java-pkg_doso() {
insinto "${JAVA_PKG_LIBDEST}"
insopts -m0755
doins "${lib}"
- ) || die "failed to install ${lib}"
+ )
java-pkg_append_ JAVA_PKG_LIBRARY "${JAVA_PKG_LIBDEST}"
debug-print "Installing ${lib} to ${JAVA_PKG_LIBDEST}"
# otherwise make a symlink to the symlink's origin
@@ -809,7 +801,7 @@ java-pkg_dosrc() {
(
insinto "${JAVA_PKG_SOURCESPATH}"
doins ${zip_path}
- ) || die "Failed to install source"
+ )
JAVA_SOURCES="${JAVA_PKG_SOURCESPATH}/${zip_name}"
@@ -1982,8 +1974,9 @@ etestng() {
# src_prepare Searches for bundled jars
# Don't call directly, but via java-pkg-2_src_prepare!
java-utils-2_src_prepare() {
+ # have default_src_prepare starting from EAPI 9, see https://bugs.gentoo.org/780585
case ${EAPI} in
- [678]) eapply_user ;;
+ [78]) eapply_user ;;
*) default_src_prepare ;;
esac
@@ -3031,7 +3024,7 @@ java-pkg_clean() {
# $1 - classpath variable either EANT_GENTOO_CLASSPATH or JAVA_GENTOO_CLASSPATH
# @CODE
java-pkg_gen-cp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local atom
for atom in ${CP_DEPEND}; do
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ce87fd72acdd..4a2af9845ad4 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -33,7 +33,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_KERNEL_BUILD_ECLASS} ]]; then
+if [[ -z ${_KERNEL_BUILD_ECLASS} ]]; then
_KERNEL_BUILD_ECLASS=1
PYTHON_COMPAT=( python3_{10..13} )
@@ -171,7 +171,7 @@ kernel-build_pkg_setup() {
# Prepare the toolchain for building the kernel, get the .config file,
# and get build tree configured for modprep.
kernel-build_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if ! tc-is-cross-compiler && use hppa ; then
if [[ ${CHOST} == hppa2.0-* ]] ; then
@@ -294,7 +294,7 @@ kernel-build_src_configure() {
# @DESCRIPTION:
# Compile the kernel sources.
kernel-build_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local targets=( all )
@@ -313,7 +313,7 @@ kernel-build_src_compile() {
# Test the built kernel via qemu. This just wraps the logic
# from kernel-install.eclass with the correct paths.
kernel-build_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local targets=( modules_install )
@@ -345,7 +345,7 @@ kernel-build_src_test() {
# Install the built kernel along with subset of sources
# into /usr/src/linux-${KV_FULL}. Install the modules. Save the config.
kernel-build_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# do not use 'make install' as it behaves differently based
# on what kind of installkernel is installed
@@ -632,7 +632,7 @@ kernel-build_pkg_postinst() {
#
# This function must be called by the ebuild in the src_prepare phase.
kernel-build_merge_configs() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -f .config ]] ||
die "${FUNCNAME}: No .config, please copy default config into .config"
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index dc337c7862fd..c5f218a46b91 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -49,7 +49,7 @@
# packages to depend on for building the generic UKI and their licenses.
# Used in kernel-build.eclass.
-if [[ ! ${_KERNEL_INSTALL_ECLASS} ]]; then
+if [[ -z ${_KERNEL_INSTALL_ECLASS} ]]; then
_KERNEL_INSTALL_ECLASS=1
case ${EAPI} in
@@ -239,7 +239,7 @@ BDEPEND="
# Determine whether the symlink at <target> (full path) should be
# updated. Returns 0 if it should, 1 to leave as-is.
kernel-install_can_update_symlink() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
local target=${1}
@@ -282,7 +282,7 @@ kernel-install_can_update_symlink() {
# to <target>-<version> if it's either missing or pointing out to
# an older version of this package.
kernel-install_update_symlink() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "${FUNCNAME}: invalid arguments"
local target=${1}
@@ -302,7 +302,7 @@ kernel-install_update_symlink() {
# @DESCRIPTION:
# Get appropriate qemu suffix for the current ${ARCH}.
kernel-install_get_qemu_arch() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${ARCH} in
amd64)
@@ -331,7 +331,7 @@ kernel-install_get_qemu_arch() {
# @DESCRIPTION:
# Create minimal /sbin/init
kernel-install_create_init() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
[[ -z ${1} ]] && die "${FUNCNAME}: empty argument specified"
@@ -369,7 +369,7 @@ kernel-install_create_init() {
# @DESCRIPTION:
# Create minimal qemu raw image
kernel-install_create_qemu_image() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
[[ -z ${1} ]] && die "${FUNCNAME}: empty argument specified"
@@ -401,7 +401,7 @@ kernel-install_create_qemu_image() {
# in qemu. <version> is the kernel version, <image> path to the image,
# <modules> path to module tree.
kernel-install_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
local version=${1}
@@ -534,7 +534,7 @@ kernel-install_test() {
# @DESCRIPTION:
# Check for missing optional dependencies and output warnings.
kernel-install_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Check, but don't die because we can fix the problem and then
# emerge --config ... to re-run installation.
@@ -582,7 +582,7 @@ kernel-install_pkg_pretend() {
# @DESCRIPTION:
# Boilerplate function to remind people to call the tests.
kernel-install_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
die "Please redefine src_test() and call kernel-install_test()."
}
@@ -591,7 +591,7 @@ kernel-install_src_test() {
# @DESCRIPTION:
# Verify whether the kernel has been installed correctly.
kernel-install_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Set KV_FULL to ${PV}${KV_LOCALVERSION} if it hasn't
# been set elsewhere for backward compatibility with existing
@@ -662,7 +662,7 @@ kernel-install_extract_from_uki() {
# installkernel. This is called from pkg_postinst() and pkg_config().
# <ver> is the full kernel version.
kernel-install_install_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
local dir_ver=${1}
@@ -705,7 +705,7 @@ kernel-install_install_all() {
# Build an initramfs for the kernel, install it and update
# the /usr/src/linux symlink.
kernel-install_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
kernel-install_update_symlink "${EROOT}/usr/src/linux" "${KV_FULL}"
dist-kernel_compressed_module_cleanup \
@@ -733,7 +733,7 @@ kernel-install_pkg_postinst() {
# @DESCRIPTION:
# Clean up the generated initramfs from the removed kernel directory.
kernel-install_pkg_postrm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]]; then
local kernel_dir=${EROOT}/usr/src/linux-${KV_FULL}
@@ -762,7 +762,7 @@ kernel-install_pkg_config() {
# @DESCRIPTION:
# Compress modules installed in ED, if USE=modules-compress is enabled.
kernel-install_compress_modules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if use modules-compress; then
einfo "Compressing kernel modules ..."
diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index 784254aecf4f..4082e161b843 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: latex-package.eclass
@@ -93,7 +93,7 @@ LATEX_DOC_ARGUMENTS=""
# It installs the files found in the current directory to the standard locations
# for a TeX installation
latex-package_src_doinstall() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
# Avoid generating font cache outside of the sandbox
export VARTEXFONTS="${T}/fonts"
@@ -205,7 +205,7 @@ latex-package_src_doinstall() {
# Calls latex for each *.ins in the current directory in order to generate the
# relevant files that will be installed
latex-package_src_compile() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
while IFS= read -r -d '' i; do
einfo "Extracting from ${i}"
latex --halt-on-error --interaction=nonstopmode "${i}" || die
@@ -216,7 +216,7 @@ latex-package_src_compile() {
# @DESCRIPTION:
# Installs the package
latex-package_src_install() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_src_doinstall all
einstalldocs
}
@@ -226,7 +226,7 @@ latex-package_src_install() {
# Calls latex-package_rehash to ensure the TeX installation is consistent with
# the kpathsea database
latex-package_pkg_postinst() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_rehash
}
@@ -235,7 +235,7 @@ latex-package_pkg_postinst() {
# Calls latex-package_rehash to ensure the TeX installation is consistent with
# the kpathsea database
latex-package_pkg_postrm() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_rehash
}
@@ -243,7 +243,7 @@ latex-package_pkg_postrm() {
# @DESCRIPTION:
# Rehashes the kpathsea database, according to the current TeX installation
latex-package_rehash() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
texmf-update
}
diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass
index b36b1fd365d3..8ffc06d6ff98 100644
--- a/eclass/libtool.eclass
+++ b/eclass/libtool.eclass
@@ -4,7 +4,7 @@
# @ECLASS: libtool.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: quickly update bundled libtool code
# @DESCRIPTION:
# This eclass patches ltmain.sh distributed with libtoolized packages with the
@@ -18,19 +18,11 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then
_LIBTOOL_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-case ${EAPI} in
- 6) DEPEND=">=app-portage/elt-patches-20240116" ;;
- 7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
+BDEPEND=">=app-portage/elt-patches-20240116"
inherit toolchain-funcs
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 120fb019d74a..f8a45c607dfd 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -106,7 +106,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LINUX_MOD_R1_ECLASS} ]]; then
+if [[ -z ${_LINUX_MOD_R1_ECLASS} ]]; then
_LINUX_MOD_R1_ECLASS=1
inherit dist-kernel-utils edo linux-info multiprocessing toolchain-funcs
@@ -329,7 +329,7 @@ fi
# (normally these should not be used directly, for custom builds)
# 3. perform various sanity checks to fail early on issues
linux-mod-r1_pkg_setup() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_MODULES_GLOBAL[ran:pkg_setup]=1
_modules_check_function ${#} 0 0 || return 0
@@ -409,7 +409,7 @@ linux-mod-r1_pkg_setup() {
# different make arguments per modules or intermediate steps -- albeit,
# if atypical, may want to build manually (see eclass' example).
linux-mod-r1_src_compile() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
[[ ${modlist@a} == *a* && ${#modlist[@]} -gt 0 ]] ||
@@ -480,7 +480,7 @@ linux-mod-r1_src_compile() {
# Installs modules built by linux-mod-r1_src_compile using
# linux_domodule, then runs modules_post_process and einstalldocs.
linux-mod-r1_src_install() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
(( ${#_MODULES_INSTALL[@]} )) ||
@@ -502,7 +502,7 @@ linux-mod-r1_src_install() {
# @DESCRIPTION:
# Updates module dependencies using depmod.
linux-mod-r1_pkg_postinst() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
dist-kernel_compressed_module_cleanup "${EROOT}/lib/modules/${KV_FULL}"
@@ -534,7 +534,7 @@ linux-mod-r1_pkg_postinst() {
#
# See also linux_moduleinto.
linux_domodule() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 1 '' "<module>..." || return 0
(
# linux-mod-r0 formerly supported INSTALL_MOD_PATH (bug #642240), but
@@ -559,7 +559,7 @@ linux_domodule() {
# this is like setting INSTALL_MOD_DIR which has the same default
# for external modules.
linux_moduleinto() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 1 1 "<install-dir>" || return 0
_MODULES_GLOBAL[moduleinto]=${1}
}
@@ -582,7 +582,7 @@ linux_moduleinto() {
# if modules were unexpectedly pre-compressed possibly due to using
# make install without passing MODULES_MAKEARGS to disable it.
modules_post_process() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 1 '[<path>]' || return 0
[[ ${EBUILD_PHASE} == install ]] ||
die "${FUNCNAME[0]} can only be called in the src_install phase"
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 0a53b9a3cb5e..7b9f26e17b58 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -42,7 +42,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_R1_ECLASS} ]]; then
+if [[ -z ${_LLVM_R1_ECLASS} ]]; then
_LLVM_R1_ECLASS=1
inherit llvm-utils
@@ -101,7 +101,7 @@ _LLVM_NEWEST_STABLE=18
# packages using the same eclass, to enforce a LLVM slot match.
_llvm_set_globals() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LLVM_COMPAT@a} != *a* ]]; then
die "LLVM_COMPAT must be set to an array before inheriting ${ECLASS}"
@@ -169,7 +169,7 @@ unset -f _llvm_set_globals
# "
# @CODE
llvm_gen_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <dependency>"
@@ -194,7 +194,7 @@ llvm_gen_dep() {
# With "-b" option, the path is prefixed by BROOT. LLVM dependencies
# should be in BDEPEND then.
get_llvm_prefix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} [-b|-d]"
@@ -228,7 +228,7 @@ get_llvm_prefix() {
# Note that this function is not exported if LLVM_OPTIONAL is set.
# In that case, it needs to be called manually.
llvm-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
[[ -z ${LLVM_SLOT} ]] && die "LLVM_SLOT unset (broken USE_EXPAND?)"
diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass
index 532e609679b8..1ae3295484c8 100644
--- a/eclass/llvm-utils.eclass
+++ b/eclass/llvm-utils.eclass
@@ -18,7 +18,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_UTILS_ECLASS} ]]; then
+if [[ -z ${_LLVM_UTILS_ECLASS} ]]; then
_LLVM_UTILS_ECLASS=1
# @FUNCTION: llvm_tuple_to_target
@@ -27,7 +27,7 @@ _LLVM_UTILS_ECLASS=1
# Translate a tuple into a target suitable for LLVM_TARGETS.
# Defaults to ${CHOST} if not specified.
llvm_tuple_to_target() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} [<tuple>]"
@@ -61,7 +61,7 @@ llvm_tuple_to_target() {
# the major version, to prevent PATH alterations from forcing an older
# clang version being used.
llvm_fix_clang_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local shopt_save=$(shopt -p -o noglob)
set -f
@@ -95,7 +95,7 @@ llvm_fix_clang_version() {
# current location, to prevent PATH alterations from forcing older
# versions being used.
llvm_fix_tool_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local shopt_save=$(shopt -p -o noglob)
set -f
@@ -118,7 +118,7 @@ llvm_fix_tool_path() {
# Prepend the path to the specified LLVM slot to PATH variable,
# and reexport it.
llvm_prepend_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <slot>"
local slot=${1}
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index bb5ff5d78290..9f757e704f7a 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -63,7 +63,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_ECLASS} ]]; then
+if [[ -z ${_LLVM_ECLASS} ]]; then
_LLVM_ECLASS=1
inherit llvm-utils
@@ -119,7 +119,7 @@ declare -g -r _LLVM_KNOWN_SLOTS=( {19..8} )
# the function defaults to checking whether sys-devel/llvm:${LLVM_SLOT}
# is installed.
get_llvm_slot() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local hv_switch=-d
while [[ ${1} == -* ]]; do
@@ -170,7 +170,7 @@ get_llvm_slot() {
#
# The options and behavior is the same as for get_llvm_slot.
get_llvm_prefix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local prefix=${ESYSROOT}
[[ ${1} == -b ]] && prefix=${BROOT}
@@ -193,7 +193,7 @@ get_llvm_prefix() {
# If any other behavior is desired, the contents of the function
# should be inlined into the ebuild and modified as necessary.
llvm_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LLVM_ECLASS_SKIP_PKG_SETUP} ]]; then
return
diff --git a/eclass/lua-single.eclass b/eclass/lua-single.eclass
index ad7075955153..1a919ad606ef 100644
--- a/eclass/lua-single.eclass
+++ b/eclass/lua-single.eclass
@@ -285,7 +285,7 @@ unset -f _lua_single_set_globals
#
# This is an internal function used to implement lua_gen_cond_dep.
_lua_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -338,7 +338,7 @@ _lua_impl_matches() {
# Verify whether the patterns passed to the eclass function are correct
# (i.e. can match any valid implementation). Dies on wrong pattern.
_lua_verify_patterns() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl pattern
for pattern; do
@@ -381,7 +381,7 @@ _lua_verify_patterns() {
# dev-lua/backported_core_module[lua_targets_lua5-3(-)?,...] )"
# @CODE
lua_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -440,7 +440,7 @@ lua_gen_cond_dep() {
# )"
# @CODE
lua_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl
local matches=()
@@ -465,7 +465,7 @@ lua_gen_impl_dep() {
# Determine what the selected Lua implementation is and set
# the Lua build environment up for it.
lua_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset ELUA
@@ -520,7 +520,7 @@ lua_setup() {
# @DESCRIPTION:
# Runs lua_setup.
lua-single_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && lua_setup
}
diff --git a/eclass/lua-utils.eclass b/eclass/lua-utils.eclass
index 7272f80d0370..9be520aeb671 100644
--- a/eclass/lua-utils.eclass
+++ b/eclass/lua-utils.eclass
@@ -124,7 +124,7 @@ _lua_set_impls() {
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
_lua_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${ELUA}}
local impl=${2:-${ELUA}}
@@ -234,7 +234,7 @@ _lua_get_library_file() {
# or an ELUA one, e.g. lua5.4). If no implementation passed,
# the current one will be obtained from ${ELUA}.
_lua_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -374,7 +374,7 @@ _lua_export() {
# This function must be called in global scope, after RDEPEND has been
# declared. Take care not to overwrite the variables set by it.
lua_enable_tests() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ge 1 ]] || die "${FUNCNAME} takes at least one argument: test-runner (test-directory)"
local test_directory
@@ -431,7 +431,7 @@ lua_enable_tests() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_CFLAGS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_CFLAGS
echo "${LUA_CFLAGS}"
@@ -447,7 +447,7 @@ lua_get_CFLAGS() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_cmod_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_CMOD_DIR
echo "${LUA_CMOD_DIR}"
@@ -463,7 +463,7 @@ lua_get_cmod_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_include_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_INCLUDE_DIR
echo "${LUA_INCLUDE_DIR}"
@@ -479,7 +479,7 @@ lua_get_include_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_LIBS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_LIBS
echo "${LUA_LIBS}"
@@ -495,7 +495,7 @@ lua_get_LIBS() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_lmod_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_LMOD_DIR
echo "${LUA_LMOD_DIR}"
@@ -514,7 +514,7 @@ lua_get_lmod_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_shared_lib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_SHARED_LIB
echo "${LUA_SHARED_LIB}"
@@ -529,7 +529,7 @@ lua_get_shared_lib() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_VERSION
echo "${LUA_VERSION}"
diff --git a/eclass/lua.eclass b/eclass/lua.eclass
index 380ec274167c..7629033afb07 100644
--- a/eclass/lua.eclass
+++ b/eclass/lua.eclass
@@ -200,7 +200,7 @@ inherit multibuild lua-utils
# Enforce the proper setting of LUA_TARGETS, if LUA_COMPAT_OVERRIDE
# is not in effect. If it is, just warn that the flags will be ignored.
_lua_validate_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LUA_COMPAT_OVERRIDE} ]]; then
if [[ ! ${_LUA_COMPAT_OVERRIDE_WARNED} ]]; then
@@ -260,7 +260,7 @@ _lua_obtain_impls() {
# Initialize the environment for the Lua implementation selected
# for multibuild.
_lua_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ELUA LUA
_lua_export "${MULTIBUILD_VARIANT}" ELUA LUA
@@ -279,7 +279,7 @@ _lua_multibuild_wrapper() {
# to implementation-specific build directory matching BUILD_DIR used by
# lua_foreach_abi().
lua_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_lua_obtain_impls
@@ -301,7 +301,7 @@ lua_copy_sources() {
# For each command being run, ELUA, LUA and BUILD_DIR are set
# locally, and the former two are exported to the command environment.
lua_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_lua_obtain_impls
diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 16d9fc87cb0a..0d700c79930e 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mercurial.eclass
@@ -100,7 +100,7 @@ EHG_OFFLINE="${EHG_OFFLINE:-${EVCS_OFFLINE}}"
# EHG_CHECKOUT_DIR, which defaults to S.
mercurial_fetch() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
EHG_REPO_URI=${1-${EHG_REPO_URI}}
[[ -z "${EHG_REPO_URI}" ]] && die "EHG_REPO_URI is empty"
diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
index 02bd7e8dd9be..5415a7043fed 100644
--- a/eclass/mono-env.eclass
+++ b/eclass/mono-env.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mono-env.eclass
# @MAINTAINER:
# maintainer-needed@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @BLURB: Set environment variables commonly used by dotnet packages.
# @DESCRIPTION:
# Set environment variables commonly used by dotnet packages.
@@ -13,10 +13,6 @@ if [[ -z ${_MONO_ENV_ECLASS} ]] ; then
_MONO_ENV_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass
index e7cf85fca24a..b814663a8f66 100644
--- a/eclass/mozcoreconf-v6.eclass
+++ b/eclass/mozcoreconf-v6.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZCORECONF_V6_ECLASS} ]]; then
+if [[ -z ${_MOZCORECONF_V6_ECLASS} ]]; then
_MOZCORECONF_V6_ECLASS=1
inherit toolchain-funcs flag-o-matic python-any-r1
diff --git a/eclass/mozextension.eclass b/eclass/mozextension.eclass
index 52fe26280e6e..f888491d9919 100644
--- a/eclass/mozextension.eclass
+++ b/eclass/mozextension.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mozextension.eclass
@@ -12,7 +12,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZEXTENSION_ECLASS} ]]; then
+if [[ -z ${_MOZEXTENSION_ECLASS} ]]; then
_MOZEXTENSION_ECLASS=1
# @ECLASS_VARIABLE: MOZEXTENSION_TARGET
diff --git a/eclass/mozlinguas-v2.eclass b/eclass/mozlinguas-v2.eclass
index 81e00275a8f6..c8e4c2393945 100644
--- a/eclass/mozlinguas-v2.eclass
+++ b/eclass/mozlinguas-v2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mozlinguas-v2.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZLINGUAS_V2_ECLASS} ]]; then
+if [[ -z ${_MOZLINGUAS_V2_ECLASS} ]]; then
_MOZLINGUAS_V2_ECLASS=1
inherit mozextension
diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index 0677ea346e4c..652a938d5663 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.eclass
@@ -6,21 +6,17 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Author: Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: A generic eclass for building multiple variants of packages.
# @DESCRIPTION:
# The multibuild eclass aims to provide a generic framework for building
# multiple 'variants' of a package (e.g. multilib, Python
# implementations).
-if [[ ! ${_MULTIBUILD_ECLASS} ]]; then
+if [[ -z ${_MULTIBUILD_ECLASS} ]]; then
_MULTIBUILD_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8)
# backwards compatibility for run_in_build_dir
inherit out-of-source-utils
@@ -99,7 +95,7 @@ esac
# nevertheless. It is preferred to call 'die' inside of the passed
# function.
multibuild_foreach_variant() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MULTIBUILD_VARIANTS} ]] \
|| die "MULTIBUILD_VARIANTS need to be set"
@@ -150,7 +146,7 @@ multibuild_foreach_variant() {
#
# The function returns command exit status.
multibuild_for_best_variant() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MULTIBUILD_VARIANTS} ]] \
|| die "MULTIBUILD_VARIANTS need to be set"
@@ -166,7 +162,7 @@ multibuild_for_best_variant() {
# be placed in directories matching BUILD_DIRs used by
# multibuild_foreach().
multibuild_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _MULTIBUILD_INITIAL_BUILD_DIR=${BUILD_DIR:-${S}}
@@ -188,7 +184,7 @@ multibuild_copy_sources() {
# (the real root). Both directories have to be real, absolute paths
# (i.e. including ${D}). Source root will be removed.
multibuild_merge_root() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local src=${1}
local dest=${2}
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 22c4a8bb3048..375adc46531a 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Author: Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: flags and utility functions for building multilib packages
# @DESCRIPTION:
# The multilib-build.eclass exports USE flags and utility functions
@@ -21,10 +21,6 @@ if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
_MULTILIB_BUILD_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -257,8 +253,8 @@ multilib_check_headers() {
_multilib_header_cksum() {
set -o pipefail
- if [[ -d ${ED%/}/usr/include ]]; then
- find "${ED%/}"/usr/include -type f \
+ if [[ -d ${ED}/usr/include ]]; then
+ find "${ED}"/usr/include -type f \
-exec cksum {} + | sort -k2
fi
}
@@ -380,7 +376,7 @@ multilib_prepare_wrappers() {
[[ ${#} -le 1 ]] || die "${FUNCNAME}: too many arguments"
- local root=${1:-${ED%/}}
+ local root=${1:-${ED}}
local f
if [[ ${COMPLETE_MULTILIB} == yes ]]; then
@@ -448,9 +444,9 @@ multilib_prepare_wrappers() {
# Some ABIs may have install less files than others.
if [[ -f ${root}/usr/include${f} ]]; then
- local wrapper=${ED%/}/tmp/multilib-include${f}
+ local wrapper=${ED}/tmp/multilib-include${f}
- if [[ ! -f ${ED%/}/tmp/multilib-include${f} ]]; then
+ if [[ ! -f ${ED}/tmp/multilib-include${f} ]]; then
dodir "/tmp/multilib-include${dir}"
# a generic template
cat > "${wrapper}" <<_EOF_ || die
@@ -508,7 +504,7 @@ _EOF_
# $CHOST shall be set by multilib_toolchain_setup
dodir "/tmp/multilib-include/${CHOST}${dir}"
- mv "${root}/usr/include${f}" "${ED%/}/tmp/multilib-include/${CHOST}${dir}/" || die
+ mv "${root}/usr/include${f}" "${ED}/tmp/multilib-include/${CHOST}${dir}/" || die
# Note: match a space afterwards to avoid collision potential.
sed -e "/${MULTILIB_ABI_FLAG} /s&error.*&include <${CHOST}${f}>&" \
@@ -548,11 +544,11 @@ multilib_install_wrappers() {
local root=${1:-${ED}}
- if [[ -d ${ED%/}/tmp/multilib-include ]]; then
+ if [[ -d ${ED}/tmp/multilib-include ]]; then
multibuild_merge_root \
- "${ED%/}"/tmp/multilib-include "${root}"/usr/include
+ "${ED}"/tmp/multilib-include "${root}"/usr/include
# it can fail if something else uses /tmp
- rmdir "${ED%/}"/tmp &>/dev/null
+ rmdir "${ED}"/tmp &>/dev/null
fi
}
diff --git a/eclass/multilib-minimal.eclass b/eclass/multilib-minimal.eclass
index c84fb3781a97..95748dc8bbe5 100644
--- a/eclass/multilib-minimal.eclass
+++ b/eclass/multilib-minimal.eclass
@@ -4,7 +4,7 @@
# @ECLASS: multilib-minimal.eclass
# @MAINTAINER:
# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: multilib-build
# @BLURB: wrapper for multilib builds providing convenient multilib_src_* functions
# @DESCRIPTION:
@@ -25,14 +25,10 @@
inherit multilib-build
-if [[ ! ${_MULTILIB_MINIMAL_ECLASS} ]]; then
+if [[ -z ${_MULTILIB_MINIMAL_ECLASS} ]]; then
_MULTILIB_MINIMAL_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index eca8c02d8336..f19ad20af8fd 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -4,7 +4,7 @@
# @ECLASS: multilib.eclass
# @MAINTAINER:
# toolchain@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: This eclass is for all functions pertaining to handling multilib configurations.
# @DESCRIPTION:
# This eclass is for all functions pertaining to handling multilib configurations.
@@ -13,10 +13,6 @@ if [[ -z ${_MULTILIB_ECLASS} ]]; then
_MULTILIB_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass
index f9627de26c3b..ba6e1b46aaec 100644
--- a/eclass/multiprocessing.eclass
+++ b/eclass/multiprocessing.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Brian Harring <ferringb@gentoo.org>
# Mike Frysinger <vapier@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: multiprocessing helper functions
# @DESCRIPTION:
# The multiprocessing eclass contains a suite of utility functions
@@ -28,10 +28,6 @@ if [[ -z ${_MULTIPROCESSING_ECLASS} ]]; then
_MULTIPROCESSING_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index ac8629848eca..4efbeb909f43 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -245,7 +245,7 @@ nuget_unpack-non-nuget-archives() {
# This function is used inside "dotnet-pkg_src_prepare"
# from the "dotnet-pkg" eclass.
nuget_writeconfig() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case "${1}" in
"" ) die "${FUNCNAME[0]}: no directory/file path specified" ;;
diff --git a/eclass/out-of-source-utils.eclass b/eclass/out-of-source-utils.eclass
index 55a88127ca71..b1b5fc05e37c 100644
--- a/eclass/out-of-source-utils.eclass
+++ b/eclass/out-of-source-utils.eclass
@@ -6,20 +6,16 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Utility functions for building packages out-of-source
# @DESCRIPTION:
# This eclass provides a run_in_build_dir() helper that can be used
# to execute specified command inside BUILD_DIR.
-if [[ ! ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
+if [[ -z ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
_OUT_OF_SOURCE_UTILS_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -29,7 +25,7 @@ esac
# @DESCRIPTION:
# Run the given command in the directory pointed by BUILD_DIR.
run_in_build_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret
[[ ${#} -eq 0 ]] && die "${FUNCNAME}: no command specified."
diff --git a/eclass/pax-utils.eclass b/eclass/pax-utils.eclass
index a7144278fd9a..cc35145a2851 100644
--- a/eclass/pax-utils.eclass
+++ b/eclass/pax-utils.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Author: Kevin F. Quinn <kevquinn@gentoo.org>
# Author: Anthony G. Basile <blueness@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions to provide PaX markings for hardened kernels
# @DESCRIPTION:
#
@@ -25,10 +25,6 @@ if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
_PAX_UTILS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index d2b6cfb85f73..2b750ce53dca 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -16,11 +16,10 @@
# It provides helper functions, no phases or variable manipulation in
# global scope.
+if [[ -z ${_PERL_FUNCTIONS_ECLASS} ]]; then
+_PERL_FUNCTIONS_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -158,18 +157,18 @@ perl_fix_packlist() {
einfo "Fixing packlist file /${f#${D}}"
# remove the temporary build dir path
- sed -i -e "s:${D%/}/:/:g" "${f}"
+ sed -i -e "s:${D}/:/:g" "${f}" || die
# remove duplicate entries
- sort -u "${f}" > "${packlist_temp}"
- mv "${packlist_temp}" "${f}"
+ sort -u "${f}" > "${packlist_temp}" || die
+ mv "${packlist_temp}" "${f}" || die
# remove files that dont exist
cat "${f}" | while read -r entry; do
if [[ ! -e ${D}/${entry} ]]; then
einfo "Pruning surplus packlist entry ${entry}"
grep -v -x -F "${entry}" "${f}" > "${packlist_temp}"
- mv "${packlist_temp}" "${f}"
+ mv "${packlist_temp}" "${f}" || die
fi
done
fi
@@ -186,7 +185,7 @@ perl_remove_temppath() {
find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
if file "${f}" | grep -q -i " text" ; then
grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
- sed -i -e "s:${D%/}/:/:g" "${f}"
+ sed -i -e "s:${D}/:/:g" "${f}" || die
fi
done
}
@@ -630,3 +629,5 @@ perl_get_wikiurl_features() {
perl_get_wikiurl_tests() {
perl_get_wikiurl Testing
}
+
+fi
diff --git a/eclass/php-pear-r2.eclass b/eclass/php-pear-r2.eclass
index 567aa9a8144f..782427e09fa6 100644
--- a/eclass/php-pear-r2.eclass
+++ b/eclass/php-pear-r2.eclass
@@ -6,7 +6,7 @@
# Gentoo PHP Team <php-bugs@gentoo.org>
# @AUTHOR:
# Author: Brian Evans <grknight@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Provides means for an easy installation of PEAR packages.
# @DESCRIPTION:
# This eclass provides means for an easy installation of PEAR packages.
@@ -18,16 +18,12 @@ if [[ -z ${_PHP_PEAR_R2_ECLASS} ]]; then
_PHP_PEAR_R2_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
RDEPEND=">=dev-php/pear-1.8.1"
-[[ ${EAPI} != [67] ]] && IDEPEND=">=dev-php/pear-1.8.1"
+[[ ${EAPI} != 7 ]] && IDEPEND=">=dev-php/pear-1.8.1"
# @ECLASS_VARIABLE: PHP_PEAR_PKG_NAME
# @DESCRIPTION:
@@ -104,20 +100,20 @@ php-pear-r2_src_install() {
# Register package with the local PEAR database.
php-pear-r2_pkg_postinst() {
# Add unknown channels
- if [[ -f "${EROOT%/}/usr/share/php/.packagexml/${PEAR_P}-channel.xml" ]] ; then
- "${EROOT%/}/usr/bin/peardev" channel-info "${PHP_PEAR_DOMAIN}" &> /dev/null
+ if [[ -f "${EROOT}/usr/share/php/.packagexml/${PEAR_P}-channel.xml" ]] ; then
+ "${EROOT}/usr/bin/peardev" channel-info "${PHP_PEAR_DOMAIN}" &> /dev/null
if [[ $? -ne 0 ]]; then
- "${EROOT%/}/usr/bin/peardev" channel-add \
- "${EROOT%/}/usr/share/php/.packagexml/${PEAR_P}-channel.xml" \
+ "${EROOT}/usr/bin/peardev" channel-add \
+ "${EROOT}/usr/share/php/.packagexml/${PEAR_P}-channel.xml" \
|| einfo "Ignore any errors about existing channels"
fi
fi
# Register the package from the package{,2}.xml file
# It is not critical to complete so only warn on failure
- if [[ -f "${EROOT%/}/usr/share/php/.packagexml/${PEAR_P}.xml" ]] ; then
- "${EROOT%/}/usr/bin/peardev" install -nrO --force \
- "${EROOT%/}/usr/share/php/.packagexml/${PEAR_P}.xml" 2> /dev/null \
+ if [[ -f "${EROOT}/usr/share/php/.packagexml/${PEAR_P}.xml" ]] ; then
+ "${EROOT}/usr/bin/peardev" install -nrO --force \
+ "${EROOT}/usr/share/php/.packagexml/${PEAR_P}.xml" 2> /dev/null \
|| ewarn "Failed to insert package into local PEAR database"
fi
}
@@ -127,7 +123,7 @@ php-pear-r2_pkg_postinst() {
# Deregister package from the local PEAR database
php-pear-r2_pkg_postrm() {
# Uninstall known dependency
- "${EROOT%/}/usr/bin/peardev" uninstall -nrO "${PHP_PEAR_DOMAIN}/${PHP_PEAR_PKG_NAME}"
+ "${EROOT}/usr/bin/peardev" uninstall -nrO "${PHP_PEAR_DOMAIN}/${PHP_PEAR_PKG_NAME}"
}
fi
diff --git a/eclass/portability.eclass b/eclass/portability.eclass
index 926ac8b8b825..9efc9bfe4134 100644
--- a/eclass/portability.eclass
+++ b/eclass/portability.eclass
@@ -6,17 +6,13 @@
# base-system@gentoo.org
# @AUTHOR:
# Diego Pettenò <flameeyes@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: This eclass is created to avoid using non-portable GNUisms inside ebuilds
if [[ -z ${_PORTABILITY_ECLASS} ]]; then
_PORTABILITY_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass
index 92299b8cf34c..96aa30d89ad7 100644
--- a/eclass/postgres-multi.eclass
+++ b/eclass/postgres-multi.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_POSTGRES_MULTI_ECLASS} ]]; then
+if [[ -z ${_POSTGRES_MULTI_ECLASS} ]]; then
_POSTGRES_MULTI_ECLASS=1
inherit multibuild postgres
@@ -55,7 +55,7 @@ export _POSTGRES_INTERSECT_SLOTS=( )
# appearance of @PG_SLOT@ in the command and arguments with value of
# ${PG_SLOT}.
_postgres-multi_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
export PG_SLOT=${MULTIBUILD_VARIANT}
export PG_CONFIG=$(type -P pg_config${MULTIBUILD_VARIANT//./})
if [[ -n ${PKG_CONFIG_PATH} ]] ; then
diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass
index 2c44358898e6..21490df1965e 100644
--- a/eclass/postgres.eclass
+++ b/eclass/postgres.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_POSTGRES_ECLASS} ]]; then
+if [[ -z ${_POSTGRES_ECLASS} ]]; then
_POSTGRES_ECLASS=1
# @ECLASS_VARIABLE: _POSTGRES_ALL_VERSIONS
@@ -136,7 +136,7 @@ postgres_check_slot() {
# is required if pkg_setup() is declared in the ebuild.
# Exports PG_SLOT, PG_CONFIG, and PKG_CONFIG_PATH.
postgres_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local compat_slot
local best_slot
diff --git a/eclass/prefix.eclass b/eclass/prefix.eclass
index e968e8ae8bac..078f483c6c2b 100644
--- a/eclass/prefix.eclass
+++ b/eclass/prefix.eclass
@@ -5,7 +5,7 @@
# @MAINTAINER:
# Feel free to contact the Prefix team through <prefix@gentoo.org> if
# you have problems, suggestions or questions.
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass to provide Prefix functionality
# @DESCRIPTION:
# Gentoo Prefix allows users to install into a self defined offset
@@ -16,10 +16,6 @@ if [[ -z ${_PREFIX_ECLASS} ]]; then
_PREFIX_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/preserve-libs.eclass b/eclass/preserve-libs.eclass
index 38571447b945..e97e3f846a09 100644
--- a/eclass/preserve-libs.eclass
+++ b/eclass/preserve-libs.eclass
@@ -4,17 +4,13 @@
# @ECLASS: preserve-libs.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: preserve libraries after SONAME changes
if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
_PRESERVE_LIBS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index b80ff9c95d36..47d40449d13a 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: pypi.eclass
@@ -40,7 +40,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYPI_ECLASS} ]]; then
+if [[ -z ${_PYPI_ECLASS} ]]; then
_PYPI_ECLASS=1
# @ECLASS_VARIABLE: PYPI_NO_NORMALIZE
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index c1f27cfbac0d..0c01a49f9000 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -43,7 +43,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_ANY_R1_ECLASS} ]]; then
+if [[ -z ${_PYTHON_ANY_R1_ECLASS} ]]; then
_PYTHON_ANY_R1_ECLASS=1
if [[ ${_PYTHON_R1_ECLASS} ]]; then
@@ -245,7 +245,7 @@ unset -f _python_any_set_globals
# )
# @CODE
python_gen_any_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local depstr=${1}
[[ ${depstr} ]] || die "No dependency string provided"
@@ -271,7 +271,7 @@ python_gen_any_dep() {
#
# This function will call python_check_deps() if defined.
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
# support developer override
@@ -338,7 +338,7 @@ python_setup() {
# In a binary package installs is a no-op. If you need Python in pkg_*
# phases of a binary package, call python_setup directly.
python-any-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && python_setup
}
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index adf87c2c52f7..18f4dadfdd37 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -30,14 +30,14 @@
# For more information, please see the Python Guide:
# https://projects.gentoo.org/python/guide/
+if [[ -z ${_PYTHON_R1_ECLASS} ]]; then
+_PYTHON_R1_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PYTHON_R1_ECLASS} ]]; then
-_PYTHON_R1_ECLASS=1
-
if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
die 'python-r1.eclass can not be used with python-single-r1.eclass.'
elif [[ ${_PYTHON_ANY_R1_ECLASS} ]]; then
@@ -242,7 +242,7 @@ unset -f _python_set_globals
# Enforce the proper setting of PYTHON_TARGETS, if PYTHON_COMPAT_OVERRIDE
# is not in effect. If it is, just warn that the flags will be ignored.
_python_validate_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
if [[ ! ${_PYTHON_COMPAT_OVERRIDE_WARNED} ]]; then
@@ -282,7 +282,7 @@ _python_validate_useflags() {
#
# This is an internal function used to implement python_gen_cond_dep.
_python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -322,7 +322,7 @@ _python_gen_usedep() {
# REQUIRED_USE="doc? ( || ( python_targets_python2_7 ) )"
# @CODE
python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -366,7 +366,7 @@ python_gen_useflags() {
# dev-python/unittest2[python_targets_pypy?] )"
# @CODE
python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
local dep=${1}
@@ -428,7 +428,7 @@ python_gen_cond_dep() {
# dev-python/pypy[xml(+)] ) )"
# @CODE
python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
local PYTHON_REQ_USE=${1}
@@ -506,7 +506,7 @@ python_gen_impl_dep() {
# )
# @CODE
python_gen_any_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local depstr=${1}
shift
@@ -554,7 +554,7 @@ python_gen_any_dep() {
# to implementation-specific build directory matching BUILD_DIR used by
# python_foreach_abi().
python_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_python_obtain_impls
@@ -590,7 +590,7 @@ _python_obtain_impls() {
# Initialize the environment for Python implementation selected
# for multibuild.
_python_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x EPYTHON PYTHON
local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
@@ -616,7 +616,7 @@ _python_multibuild_wrapper() {
# For each command being run, EPYTHON, PYTHON and BUILD_DIR are set
# locally, and the former two are exported to the command environment.
python_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
if [[ ${_DISTUTILS_R1_ECLASS} ]]; then
@@ -708,7 +708,7 @@ python_foreach_impl() {
# }
# @CODE
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
local has_check_deps
@@ -774,7 +774,7 @@ python_setup() {
# All specified files must start with a 'python' shebang. A file not
# having a matching shebang will be refused.
python_replicate_script() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_replicate_script() {
local _PYTHON_FIX_SHEBANG_QUIET=1
@@ -789,7 +789,7 @@ python_replicate_script() {
)
python_fix_shebang -q \
- "${files[@]/*\//${D%/}/${PYTHON_SCRIPTDIR}/}"
+ "${files[@]/*\//${D}${PYTHON_SCRIPTDIR}/}"
}
local files=( "${@}" )
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 481b6cf91ba0..dc1700393274 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -42,7 +42,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
+if [[ -z ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
_PYTHON_SINGLE_R1_ECLASS=1
if [[ ${_PYTHON_R1_ECLASS} ]]; then
@@ -269,7 +269,7 @@ unset -f _python_single_set_globals
# REQUIRED_USE="doc? ( ^^ ( python_single_target_python2_7 ) )"
# @CODE
python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -313,7 +313,7 @@ python_gen_useflags() {
# dev-python/unittest2[python_targets_pypy(-)?,...] )"
# @CODE
python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -367,7 +367,7 @@ python_gen_cond_dep() {
# dev-python/pypy[xml(+)] ) )"
# @CODE
python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl
local matches=()
@@ -392,7 +392,7 @@ python_gen_impl_dep() {
# Determine what the selected Python implementation is and set
# the Python build environment up for it.
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
unset EPYTHON
@@ -448,7 +448,7 @@ python_setup() {
# @DESCRIPTION:
# Runs python_setup.
python-single-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && python_setup
}
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 45d3da6bb98c..796be7ab456a 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -23,14 +23,14 @@
# metadata/install-qa-check.d/60python-pyc
# See bug #704286, bug #781878
+if [[ -z ${_PYTHON_UTILS_R1_ECLASS} ]]; then
+_PYTHON_UTILS_R1_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_UTILS_R1_ECLASS} ]]; then
-_PYTHON_UTILS_R1_ECLASS=1
-
[[ ${EAPI} == 7 ]] && inherit eapi8-dosym
inherit multiprocessing toolchain-funcs
@@ -75,7 +75,7 @@ readonly _PYTHON_HISTORICAL_IMPLS
# Verify whether the patterns passed to the eclass function are correct
# (i.e. can match any valid implementation). Dies on wrong pattern.
_python_verify_patterns() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl pattern
for pattern; do
@@ -298,7 +298,7 @@ _python_impl_matches() {
# PYTHON_SITEDIR. They are described more completely in the eclass
# variable documentation.
_python_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -483,7 +483,7 @@ _python_export() {
# Obtain and print the 'stdlib' path for the given implementation. If no
# implementation is provided, ${EPYTHON} will be used.
python_get_stdlib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_STDLIB
echo "${PYTHON_STDLIB}"
@@ -496,7 +496,7 @@ python_get_stdlib() {
# implementation. If no implementation is provided, ${EPYTHON} will
# be used.
python_get_sitedir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_SITEDIR
echo "${PYTHON_SITEDIR}"
@@ -508,7 +508,7 @@ python_get_sitedir() {
# Obtain and print the include path for the given implementation. If no
# implementation is provided, ${EPYTHON} will be used.
python_get_includedir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_INCLUDEDIR
echo "${PYTHON_INCLUDEDIR}"
@@ -523,7 +523,7 @@ python_get_includedir() {
# Please note that this function can be used with CPython only. Use
# in another implementation will result in a fatal failure.
python_get_library_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_LIBPATH
echo "${PYTHON_LIBPATH}"
@@ -540,7 +540,7 @@ python_get_library_path() {
# It requires Python and pkg-config installed, and therefore proper
# build-time dependencies need be added to the ebuild.
python_get_CFLAGS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_CFLAGS
echo "${PYTHON_CFLAGS}"
@@ -557,7 +557,7 @@ python_get_CFLAGS() {
# It requires Python and pkg-config installed, and therefore proper
# build-time dependencies need be added to the ebuild.
python_get_LIBS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_LIBS
echo "${PYTHON_LIBS}"
@@ -574,7 +574,7 @@ python_get_LIBS() {
# It requires Python installed, and therefore proper build-time
# dependencies need be added to the ebuild.
python_get_PYTHON_CONFIG() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_CONFIG
echo "${PYTHON_CONFIG}"
@@ -587,7 +587,7 @@ python_get_PYTHON_CONFIG() {
# implementation. If no implementation is provided, ${EPYTHON} will
# be used.
python_get_scriptdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_SCRIPTDIR
echo "${PYTHON_SCRIPTDIR}"
@@ -600,7 +600,7 @@ python_get_scriptdir() {
# paths). If no directories are provided, the default system paths
# are used (prepended with ${D}).
python_optimize() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
@@ -617,8 +617,8 @@ python_optimize() {
# 2) skip paths which do not exist
# (python2.6 complains about them verbosely)
- if [[ ${f} == /* && -d ${D%/}${f} ]]; then
- set -- "${D%/}${f}" "${@}"
+ if [[ ${f} == /* && -d ${D}${f} ]]; then
+ set -- "${D}${f}" "${@}"
fi
done < <(
"${PYTHON}" - <<-EOF || die
@@ -634,7 +634,7 @@ python_optimize() {
local d
for d; do
# make sure to get a nice path without //
- local instpath=${d#${D%/}}
+ local instpath=${d#${D}}
instpath=/${instpath##/}
einfo "Optimize Python modules for ${instpath}"
@@ -677,7 +677,7 @@ python_optimize() {
# }
# @CODE
python_scriptinto() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_PYTHON_SCRIPTROOT=${1}
}
@@ -691,7 +691,7 @@ python_scriptinto() {
# The executable will be wrapped properly for the Python implementation,
# though no shebang mangling will be performed.
python_doexe() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -712,7 +712,7 @@ python_doexe() {
# though no shebang mangling will be performed. It will be renamed
# to <new-name>.
python_newexe() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -741,7 +741,7 @@ python_newexe() {
# don't use this at home, just call python_doscript() instead
if [[ ${_PYTHON_REWRITE_SHEBANG} ]]; then
- python_fix_shebang -q "${ED%/}/${d}/${newfn}"
+ python_fix_shebang -q "${ED}${d}/${newfn}"
fi
}
@@ -762,7 +762,7 @@ python_newexe() {
# }
# @CODE
python_doscript() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -789,7 +789,7 @@ python_doscript() {
# }
# @CODE
python_newscript() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -827,7 +827,7 @@ python_newscript() {
# }
# @CODE
python_moduleinto() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_PYTHON_MODULEROOT=${1}
}
@@ -852,7 +852,7 @@ python_moduleinto() {
# }
# @CODE
python_domodule() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
@@ -872,15 +872,15 @@ python_domodule() {
insinto "${d}"
doins -r "${@}" || return ${?}
)
- python_optimize "${ED%/}/${d}"
+ python_optimize "${ED}${d}"
elif [[ -n ${BUILD_DIR} ]]; then
local dest=${BUILD_DIR}/install${EPREFIX}/${d}
mkdir -p "${dest}" || die
cp -pR "${@}" "${dest}/" || die
(
- cd "${dest}" &&
- chmod -R a+rX "${@##*/}"
- ) || die
+ cd "${dest}" || die
+ chmod -R a+rX "${@##*/}" || die
+ )
else
die "${FUNCNAME} can only be used in src_install or with BUILD_DIR set"
fi
@@ -900,7 +900,7 @@ python_domodule() {
# }
# @CODE
python_doheader() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -932,7 +932,7 @@ python_doheader() {
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
_python_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${EPYTHON}}
local impl=${2:-${EPYTHON}}
@@ -1034,7 +1034,7 @@ _python_wrapper_setup() {
# Python version (but not non-Python shebangs). --quiet causes
# the function not to list modified files verbosely.
python_fix_shebang() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die "${FUNCNAME}: EPYTHON unset (pkg_setup not called?)"
@@ -1103,17 +1103,17 @@ python_fix_shebang() {
fi
if [[ ! ${quiet} ]]; then
- einfo "Fixing shebang in ${f#${D%/}}."
+ einfo "Fixing shebang in ${f#${D}}."
fi
if [[ ! ${error} ]]; then
- debug-print "${FUNCNAME}: in file ${f#${D%/}}"
+ debug-print "${FUNCNAME}: in file ${f#${D}}"
debug-print "${FUNCNAME}: rewriting shebang: ${shebang}"
sed -i -e "1s@${from}@#!${EPREFIX}/usr/bin/${EPYTHON}@" "${f}" || die
any_fixed=1
else
eerror "The file has incompatible shebang:"
- eerror " file: ${f#${D%/}}"
+ eerror " file: ${f#${D}}"
eerror " current shebang: ${shebang}"
eerror " requested impl: ${EPYTHON}"
die "${FUNCNAME}: conversion of incompatible shebang requested"
@@ -1121,7 +1121,7 @@ python_fix_shebang() {
done < <(find -H "${path}" -type f -print0 || die)
if [[ ! ${any_fixed} ]]; then
- eerror "QA error: ${FUNCNAME}, ${path#${D%/}} did not match any fixable files."
+ eerror "QA error: ${FUNCNAME}, ${path#${D}} did not match any fixable files."
eerror "There are no Python files in specified directory."
die "${FUNCNAME} did not match any fixable files"
fi
@@ -1154,7 +1154,7 @@ _python_check_locale_sanity() {
# nothing if LC_ALL is defined, or if the current locale uses a UTF-8 charmap.
# This may be used to work around the quirky open() behavior of python3.
python_export_utf8_locale() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# If the locale program isn't available, just return.
type locale &>/dev/null || return 0
@@ -1206,7 +1206,7 @@ python_export_utf8_locale() {
# to be taken to run einstalldocs from the same directory
# (usually ${S}).
build_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes 1 arg: <directory>"
local dir=${1}
@@ -1252,7 +1252,7 @@ _python_check_EPYTHON() {
# package sources that would block installed packages from being used
# (and effectively e.g. make it impossible to load compiled extensions).
_python_check_occluded_packages() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return
@@ -1362,7 +1362,7 @@ _python_check_occluded_packages() {
#
# This command dies on failure and respects nonfatal.
epytest() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
_python_check_occluded_packages
@@ -1490,7 +1490,7 @@ epytest() {
#
# This command dies on failure and respects nonfatal.
eunittest() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
_python_check_occluded_packages
@@ -1515,7 +1515,7 @@ eunittest() {
# code. Checks whether the interpreter is installed, runs
# python_check_deps() if declared.
_python_run_check_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl=${1}
@@ -1547,7 +1547,7 @@ _python_run_check_deps() {
# The wrapper accepts multiple package specifications. For the check
# to succeed, *all* specified atoms must match.
python_has_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local root_arg=( -b )
case ${1} in
@@ -1572,7 +1572,7 @@ python_has_version() {
# @DESCRIPTION:
# Perform additional environment sanity checks.
_python_sanity_checks() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${_PYTHON_SANITY_CHECKED} ]] && return
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 3d2d8244687c..02167a746f5a 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -6,7 +6,7 @@
# Pacho Ramos <pacho@gentoo.org>
# @AUTHOR:
# Author: Pacho Ramos <pacho@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: install a doc file shown via elog messages
# @DESCRIPTION:
# An eclass for installing a README.gentoo doc file recording tips
@@ -21,10 +21,6 @@ if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -58,7 +54,7 @@ esac
# ${FILESDIR}/README.gentoo-${SLOT} also.
# Usually called at src_install phase.
readme.gentoo_create_doc() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n "${DOC_CONTENTS}" ]]; then
if [[ -n "${DISABLE_AUTOFORMATTING}" ]]; then
@@ -82,7 +78,7 @@ readme.gentoo_create_doc() {
( # subshell to avoid pollution of calling environment
docinto .
dodoc "${T}"/README.gentoo
- ) || die
+ )
README_GENTOO_DOC_VALUE=$(< "${T}/README.gentoo")
}
@@ -98,7 +94,7 @@ readme.gentoo_create_doc() {
# rely on specific REPLACING_VERSIONS handling in your ebuild to print messages
# when people update from versions still providing old message.
readme.gentoo_print_elog() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z "${README_GENTOO_DOC_VALUE}" ]]; then
die "readme.gentoo_print_elog invoked without matching readme.gentoo_create_doc call!"
diff --git a/eclass/rebar-utils.eclass b/eclass/rebar-utils.eclass
index 5657908eb8e9..095223cd11a1 100644
--- a/eclass/rebar-utils.eclass
+++ b/eclass/rebar-utils.eclass
@@ -68,7 +68,7 @@ _rebar_find_dep() {
# Coverage is not relevant in this context, so there's no harm to disable it,
# although the issue should be fixed.
rebar_disable_coverage() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rebar_config="${1:-rebar.config}"
@@ -88,7 +88,7 @@ rebar_disable_coverage() {
#
# The function dies on failure.
rebar_fix_include_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local pn="${1}"
local rebar_config="${2:-rebar.config}"
@@ -123,7 +123,7 @@ rebar_fix_include_path() {
#
# The function dies on failure.
rebar_remove_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rebar_config="${1:-rebar.config}"
@@ -148,7 +148,7 @@ rebar_remove_deps() {
#
# The function dies on failure.
rebar_set_vsn() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local version="${1:-${PV%_*}}"
diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index 1e4e845a9adb..951e29b05a91 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.eclass
@@ -69,7 +69,7 @@ _rebar_find_dep() {
# @DESCRIPTION:
# Run rebar with verbose flag. Die on failure.
erebar() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(( $# > 0 )) || die "erebar: at least one target is required"
@@ -87,7 +87,7 @@ erebar() {
# Existence of rebar.config is optional, but file description file must exist
# at 'src/${PN}.app.src'.
rebar_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
rebar_set_vsn
@@ -101,7 +101,7 @@ rebar_src_prepare() {
# @DESCRIPTION:
# Configure with ERL_LIBS set.
rebar_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
default
@@ -111,7 +111,7 @@ rebar_src_configure() {
# @DESCRIPTION:
# Compile project with rebar.
rebar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar compile
}
@@ -120,7 +120,7 @@ rebar_src_compile() {
# @DESCRIPTION:
# Run unit tests.
rebar_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar eunit
}
@@ -132,7 +132,7 @@ rebar_src_test() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local bin
local dest="$(get_erl_libs)/${P}"
diff --git a/eclass/rebar3.eclass b/eclass/rebar3.eclass
index f6383b9c8cdd..f75a3718fdfd 100644
--- a/eclass/rebar3.eclass
+++ b/eclass/rebar3.eclass
@@ -76,7 +76,7 @@ _rebar_find_dep() {
# @DESCRIPTION:
# Run rebar with verbose flag. Die on failure.
erebar3() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(( $# > 0 )) || die "${FUNCNAME}: at least one target is required"
@@ -99,7 +99,7 @@ erebar3() {
# Existence of rebar.config is optional, but file description file must exist
# at 'src/${PN}.app.src'.
rebar3_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
rebar_set_vsn
@@ -118,7 +118,7 @@ rebar3_src_prepare() {
# @DESCRIPTION:
# Configure with ERL_LIBS set.
rebar3_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
default
@@ -128,7 +128,7 @@ rebar3_src_configure() {
# @DESCRIPTION:
# Compile project with rebar3.
rebar3_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar3 as "${REBAR_PROFILE}" release --all
}
@@ -137,7 +137,7 @@ rebar3_src_compile() {
# @DESCRIPTION:
# Run unit tests.
rebar3_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar3 eunit -v
}
@@ -149,7 +149,7 @@ rebar3_src_test() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar3_install_lib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dest="$(get_erl_libs)/${P}"
insinto "${dest}"
@@ -169,7 +169,7 @@ rebar3_install_lib() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar3_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
pushd "_build/${REBAR_PROFILE}" >/dev/null || die
if [[ -d rel/${PN} ]]; then
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index cf501d5a8861..acf3a5310a06 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -89,7 +89,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_ROCM_ECLASS} ]]; then
+if [[ -z ${_ROCM_ECLASS} ]]; then
_ROCM_ECLASS=1
inherit flag-o-matic
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 04099a82ef4f..eb6257a50cf9 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -8,13 +8,21 @@
# Author: Diego E. Pettenò <flameeyes@gentoo.org>
# Author: Alex Legler <a3li@gentoo.org>
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: ruby-ng
# @BLURB: An eclass for installing Ruby packages to behave like RubyGems.
# @DESCRIPTION:
# This eclass allows to install arbitrary Ruby libraries (including Gems),
# providing integration into the RubyGems system even for "regular" packages.
+if [[ -z ${_RUBY_FAKEGEM_ECLASS} ]]; then
+_RUBY_FAKEGEM_ECLASS=1
+
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
inherit ruby-ng
# @ECLASS_VARIABLE: RUBY_FAKEGEM_NAME
@@ -61,14 +69,7 @@ RUBY_FAKEGEM_TASK_TEST="${RUBY_FAKEGEM_TASK_TEST-test}"
# - rdoc (calls `rdoc-2`, adds dev-ruby/rdoc to the dependencies);
# - yard (calls `yard`, adds dev-ruby/yard to the dependencies);
# - none
-case ${EAPI} in
- 5|6)
- RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rake}"
- ;;
- *)
- RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rdoc}"
- ;;
-esac
+: "${RUBY_FAKEGEM_RECIPE_DOC=rdoc}"
# @ECLASS_VARIABLE: RUBY_FAKEGEM_DOCDIR
# @DEFAULT_UNSET
@@ -138,15 +139,6 @@ 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} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}"
@@ -215,13 +207,7 @@ SRC_URI="https://rubygems.org/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}$
ruby_add_bdepend "virtual/rubygems"
ruby_add_rdepend virtual/rubygems
-case ${EAPI} in
- 5|6)
- ;;
- *)
- ruby_add_depend virtual/rubygems
- ;;
-esac
+ruby_add_depend virtual/rubygems
# Many (but not all) extensions use pkgconfig in src_configure.
if [[ ${#RUBY_FAKEGEM_EXTENSIONS[@]} -gt 0 ]]; then
@@ -234,7 +220,7 @@ fi
# This function returns the gems data directory for the ruby
# implementation in question.
ruby_fakegem_gemsdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _gemsitedir=$(ruby_rbconfig_value 'sitelibdir')
_gemsitedir=${_gemsitedir//site_ruby/gems}
@@ -253,12 +239,12 @@ ruby_fakegem_gemsdir() {
# @DESCRIPTION:
# Installs the specified file(s) into the gems directory.
ruby_fakegem_doins() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}
doins "$@"
- ) || die "failed $0 $@"
+ )
}
# @FUNCTION: ruby_fakegem_newins
@@ -266,7 +252,7 @@ ruby_fakegem_doins() {
# @DESCRIPTION:
# Installs the specified file into the gems directory using the provided filename.
ruby_fakegem_newins() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
# Since newins does not accept full paths but just basenames
@@ -278,7 +264,7 @@ ruby_fakegem_newins() {
insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${newdirname}
newins "$1" ${newbasename}
- ) || die "failed $0 $@"
+ )
}
# @FUNCTION: ruby_fakegem_install_gemspec
@@ -287,7 +273,7 @@ ruby_fakegem_newins() {
# by the RUBY_FAKEGEM_GEMSPEC variable, or generate one using
# ruby_fakegem_genspec.
ruby_fakegem_install_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local gemspec="${T}"/${RUBY_FAKEGEM_NAME}-${_ruby_implementation}
@@ -303,7 +289,7 @@ ruby_fakegem_install_gemspec() {
ruby_fakegem_genspec ${gemspec}
fi
fi
- ) || die "Unable to generate gemspec file."
+ )
insinto $(ruby_fakegem_gemsdir)/specifications
newins ${gemspec} ${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}.gemspec || die "Unable to install gemspec file."
@@ -316,7 +302,7 @@ ruby_fakegem_install_gemspec() {
# RUBY_FAKEGEM_GEMSPEC. This file is eval'ed to produce a final specification
# in a way similar to packaging the gemspec file.
ruby_fakegem_gemspec_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} --disable=did_you_mean -e "puts eval(File::open('$1').read).to_ruby" > $2
}
@@ -328,7 +314,7 @@ ruby_fakegem_gemspec_gemspec() {
# the metadata distributed by the gem itself. This is similar to how
# rubygems creates an installation from a .gem file.
ruby_fakegem_metadata_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} --disable=did_you_mean -r yaml -e "puts Gem::Specification.from_yaml(File::open('$1', :encoding => 'UTF-8').read).to_ruby" > $2
}
@@ -347,16 +333,11 @@ ruby_fakegem_metadata_gemspec() {
# See RUBY_FAKEGEM_NAME and RUBY_FAKEGEM_VERSION for setting name and version.
# See RUBY_FAKEGEM_REQUIRE_PATHS for setting extra require paths.
ruby_fakegem_genspec() {
- debug-print-function ${FUNCNAME} "${@}"
-
- case ${EAPI} in
- 5|6) ;;
- *)
- eqawarn "Generating generic fallback gemspec *without* dependencies"
- eqawarn "This will only work when there are no runtime dependencies"
- eqawarn "Set RUBY_FAKEGEM_GEMSPEC to generate a proper specifications file"
- ;;
- esac
+ debug-print-function ${FUNCNAME} "$@"
+
+ eqawarn "Generating generic fallback gemspec *without* dependencies"
+ eqawarn "This will only work when there are no runtime dependencies"
+ eqawarn "Set RUBY_FAKEGEM_GEMSPEC to generate a proper specifications file"
local required_paths="'lib'"
for path in ${RUBY_FAKEGEM_REQUIRE_PATHS}; do
@@ -388,7 +369,7 @@ EOF
# to inject additional ruby code into the wrapper. This may be useful to
# e.g. force a specific version using the gem command.
ruby_fakegem_binwrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
local gembinary=$1
@@ -434,14 +415,14 @@ EOF
exeinto ${binpath:-/usr/bin}
newexe "${T}"/gembin-wrapper-${gembinary} $(basename $newbinary)
- ) || die "Unable to create fakegem wrapper"
+ )
}
# @FUNCTION: each_fakegem_configure
# @DESCRIPTION:
# Configure extensions defined in RUBY_FAKEGEM_EXTENSIONS, if any.
each_fakegem_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
tc-export PKG_CONFIG
for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do
@@ -453,7 +434,7 @@ each_fakegem_configure() {
# @DESCRIPTION:
# Run each_fakegem_configure for each ruby target
each_ruby_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_configure
}
@@ -463,7 +444,7 @@ each_ruby_configure() {
# Build documentation for the package if indicated by the doc USE flag
# and if there is a documentation task defined.
all_fakegem_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then
case ${RUBY_FAKEGEM_RECIPE_DOC} in
@@ -485,7 +466,7 @@ all_fakegem_compile() {
# @DESCRIPTION:
# Compile extensions defined in RUBY_FAKEGEM_EXTENSIONS, if any.
each_fakegem_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do
emake V=1 -C ${extension%/*}
@@ -498,7 +479,7 @@ each_fakegem_compile() {
# @DESCRIPTION:
# Run each_fakegem_compile for each ruby target
each_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_compile
}
@@ -507,7 +488,7 @@ each_ruby_compile() {
# @DESCRIPTION:
# Unpack the source archive, including support for unpacking gems.
all_ruby_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Special support for extracting .gem files; the file need to be
# extracted twice and the mtime from the archive _has_ to be
@@ -552,7 +533,7 @@ all_ruby_unpack() {
# @DESCRIPTION:
# Compile the package.
all_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
all_fakegem_compile
}
@@ -561,7 +542,7 @@ all_ruby_compile() {
# @DESCRIPTION:
# Run tests for the package for each ruby target if the test task is defined.
each_fakegem_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${RUBY_FAKEGEM_RECIPE_TEST} in
rake)
@@ -603,7 +584,7 @@ fi
# installed. This is normally done as part of the extension
# installation, but may be useful when we handle extensions manually.
ruby_fakegem_extensions_installed() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
mkdir -p "${ED}$(ruby_fakegem_extensionsdir)" || die
touch "${ED}$(ruby_fakegem_extensionsdir)/gem.build_complete" || die
@@ -614,7 +595,7 @@ ruby_fakegem_extensions_installed() {
# The directory where rubygems expects extensions for this package
# version.
ruby_fakegem_extensionsdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Using formula from ruby src/lib/rubygems/basic_specification.
extensions_dir=$(${RUBY} --disable=did_you_mean -e "puts File.join('extensions', Gem::Platform.local.to_s, Gem.extension_api_version)")
@@ -626,7 +607,7 @@ ruby_fakegem_extensionsdir() {
# @DESCRIPTION:
# Install the package for each ruby target.
each_fakegem_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
ruby_fakegem_install_gemspec
@@ -653,7 +634,7 @@ each_fakegem_install() {
# @DESCRIPTION:
# Install the package for each target.
each_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_install
}
@@ -662,7 +643,7 @@ each_ruby_install() {
# @DESCRIPTION:
# Install files common to all ruby targets.
all_fakegem_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then
for dir in ${RUBY_FAKEGEM_DOCDIR}; do
@@ -697,7 +678,9 @@ all_fakegem_install() {
# @DESCRIPTION:
# Install files common to all ruby targets.
all_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
all_fakegem_install
}
+
+fi
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index c38c5f15904d..d268e4bd742d 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -18,7 +18,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_NG_GNOME2_ECLASS} ]]; then
+if [[ -z ${_RUBY_NG_GNOME2_ECLASS} ]]; then
_RUBY_NG_GNOME2_ECLASS=1
RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN#ruby-}}"
@@ -76,7 +76,7 @@ all_ruby_prepare() {
# @DESCRIPTION:
# Run the configure script in the subbinding for each specific ruby target.
each_ruby_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e extconf.rb ]] || return
@@ -87,7 +87,7 @@ each_ruby_configure() {
# @DESCRIPTION:
# Compile the C bindings in the subbinding for each specific ruby target.
each_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e Makefile ]] || return
@@ -107,7 +107,7 @@ each_ruby_compile() {
# @DESCRIPTION:
# Install the files in the subbinding for each specific ruby target.
each_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -e Makefile ]]; then
# Create the directories, or the package will create them as files.
@@ -124,7 +124,7 @@ each_ruby_install() {
# @DESCRIPTION:
# Install the files common to all ruby targets.
all_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
for doc in ../AUTHORS ../NEWS ChangeLog README; do
[[ -s ${doc} ]] && dodoc $doc
@@ -141,7 +141,7 @@ all_ruby_install() {
# @DESCRIPTION:
# Run the tests for this package.
each_ruby_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e test/run-test.rb ]] || return
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 2ef6d2247435..f3745b5d3eab 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: 6 7 8
+# @SUPPORTED_EAPIS: 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
@@ -66,19 +66,14 @@
# (e.g. selenium's firefox driver extension). When set this argument is
# passed to "grep -E" to remove reporting of these shared objects.
+if [[ -z ${_RUBY_NG_ECLASS} ]]; then
+_RUBY_NG_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_RUBY_NG_ECLASS} ]]; then
-_RUBY_NG_ECLASS=1
-
-[[ ${EAPI} == 6 ]] && inherit eqawarn toolchain-funcs
inherit multilib ruby-utils
# S is no longer automatically assigned when it doesn't exist.
@@ -95,7 +90,7 @@ S="${WORKDIR}"
# Set `comparator' and `version' to include a comparator (=, >=, etc.) and a
# version string to the returned string
ruby_implementation_depend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_implementation_depend $1
}
@@ -137,7 +132,7 @@ _ruby_get_all_impls() {
# ruby_add_bdepend(), but may also be useful in an ebuild to specify
# more complex dependencies.
ruby_samelib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -156,7 +151,7 @@ ruby_samelib() {
# Not all implementations have the same command basename as the
# target; This function translate between the two
ruby_implementation_command() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _ruby_name=$1
@@ -217,21 +212,12 @@ _ruby_wrap_conditions() {
# Note: runtime dependencies are also added as build-time test
# dependencies.
ruby_add_rdepend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
2)
- case ${EAPI} in
- 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
- ;;
- *)
- die "Use the usual depend syntax with a single argument in ruby_add_rdepend"
- ;;
- esac
+ die "Use the usual depend syntax with a single argument in ruby_add_rdepend"
;;
*)
die "bad number of arguments to $0"
@@ -245,10 +231,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
- 6) DEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
- *) BDEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
- esac
+ BDEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )"
if ! has test "$IUSE"; then
IUSE+=" test"
RESTRICT+=" !test? ( test )"
@@ -258,28 +241,19 @@ ruby_add_rdepend() {
# @FUNCTION: ruby_add_bdepend
# @USAGE: dependencies
# @DESCRIPTION:
-# Adds the specified dependencies, with use condition(s) to DEPEND (or
-# BDEPEND in EAPI7), taking the current set of ruby targets into
+# Adds the specified dependencies, with use condition(s) to BDEPEND,
+# taking the current set of ruby targets into
# account. This makes sure that all ruby dependencies of the package are
# installed for the same ruby targets. Use this function for all ruby
# dependencies instead of setting DEPEND or BDEPEND yourself. The list
# of atoms uses the same syntax as normal dependencies.
ruby_add_bdepend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
2)
- case ${EAPI} in
- 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
- ;;
- *)
- die "Use the usual depend syntax with a single argument in ruby_add_bdepend"
- ;;
- esac
+ die "Use the usual depend syntax with a single argument in ruby_add_bdepend"
;;
*)
die "bad number of arguments to $0"
@@ -289,24 +263,15 @@ ruby_add_bdepend() {
_ruby_set_globals_invalidate_if_stale
_ruby_atoms_samelib "$1"
- case ${EAPI} in
- 6) DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
- *) BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
- esac
+ BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
}
# @FUNCTION: ruby_add_depend
# @USAGE: dependencies
# @DESCRIPTION:
-# Adds the specified dependencies to DEPEND in EAPI7, similar to
-# ruby_add_bdepend.
+# Adds the specified dependencies to DEPEND, similar to ruby_add_bdepend.
ruby_add_depend() {
- debug-print-function ${FUNCNAME} "${@}"
-
- case ${EAPI} in
- 6) die "only available in EAPI 7 and newer" ;;
- *) ;;
- esac
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
@@ -323,7 +288,7 @@ ruby_add_depend() {
# @DESCRIPTION:
# Gets an array of ruby use targets enabled by the user
ruby_get_use_implementations() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -338,7 +303,7 @@ ruby_get_use_implementations() {
# @DESCRIPTION:
# Gets an array of ruby use targets that the ebuild sets
ruby_get_use_targets() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
_ruby_get_use_targets
@@ -351,7 +316,7 @@ ruby_get_use_targets() {
# Gets an array of ruby use targets that the ebuild sets
_RUBY_GET_USE_TARGETS=""
_ruby_get_use_targets() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -369,7 +334,7 @@ _ruby_get_use_targets() {
# confuse this function with ruby_implementation_depend().
#
# @EXAMPLE:
-# EAPI=7
+# EAPI=8
# RUBY_OPTIONAL=yes
#
# inherit ruby-ng
@@ -378,7 +343,7 @@ _ruby_get_use_targets() {
# RDEPEND="${DEPEND}"
_RUBY_IMPLEMENTATIONS_DEPEND=""
ruby_implementations_depend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
_ruby_implementations_depend
@@ -421,10 +386,7 @@ if [[ ${RUBY_OPTIONAL} != yes ]]; then
DEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
RDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
REQUIRED_USE+=" || ( ${_RUBY_GET_USE_TARGETS} )"
- case ${EAPI} in
- 6) ;;
- *) BDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}" ;;
- esac
+ BDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
fi
_ruby_invoke_environment() {
@@ -510,7 +472,7 @@ _ruby_each_implementation() {
# @DESCRIPTION:
# Check whether at least one ruby target implementation is present.
ruby-ng_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# This only checks that at least one implementation is present
# before doing anything; by leaving the parameters empty we know
@@ -522,7 +484,7 @@ ruby-ng_pkg_setup() {
# @DESCRIPTION:
# Unpack the source archive.
ruby-ng_src_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
mkdir "${WORKDIR}"/all
pushd "${WORKDIR}"/all &>/dev/null || die
@@ -538,18 +500,9 @@ ruby-ng_src_unpack() {
}
_ruby_apply_patches() {
- case ${EAPI} in
- 6)
- if [[ -n ${RUBY_PATCHES[@]} ]]; then
- eqawarn "RUBY_PATCHES is no longer supported, use PATCHES instead"
- fi
- ;;
- *)
- if [[ -n ${RUBY_PATCHES[@]} ]]; then
- die "RUBY_PATCHES is no longer supported, use PATCHES instead"
- fi
- ;;
- esac
+ if [[ -n ${RUBY_PATCHES[@]} ]]; then
+ die "RUBY_PATCHES is no longer supported, use PATCHES instead"
+ fi
# This is a special case: instead of executing just in the special
# "all" environment, this will actually copy the effects on _all_
@@ -569,7 +522,7 @@ _ruby_source_copy() {
# Apply patches and prepare versions for each ruby target
# implementation. Also carry out common clean up tasks.
ruby-ng_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Way too many Ruby packages are prepared on OSX without removing
# the extra data forks, we do it here to avoid repeating it for
@@ -593,7 +546,7 @@ ruby-ng_src_prepare() {
# @DESCRIPTION:
# Configure the package.
ruby-ng_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_configure &>/dev/null; then
_ruby_each_implementation each_ruby_configure
@@ -607,7 +560,7 @@ ruby-ng_src_configure() {
# @DESCRIPTION:
# Compile the package.
ruby-ng_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_compile &>/dev/null; then
_ruby_each_implementation each_ruby_compile
@@ -621,7 +574,7 @@ ruby-ng_src_compile() {
# @DESCRIPTION:
# Run tests for the package.
ruby-ng_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_test &>/dev/null; then
_ruby_each_implementation each_ruby_test
@@ -664,7 +617,7 @@ _each_ruby_check_install() {
# @DESCRIPTION:
# Install the package for each ruby target implementation.
ruby-ng_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_install &>/dev/null; then
_ruby_each_implementation each_ruby_install
@@ -681,7 +634,7 @@ ruby-ng_src_install() {
# @USAGE: rbconfig item
# @RETURN: Returns the value of the given rbconfig item of the Ruby interpreter in ${RUBY}.
ruby_rbconfig_value() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo $(${RUBY} --disable=did_you_mean -rrbconfig -e "puts RbConfig::CONFIG['$1']" || die "Could not read ruby configuration for '${1}'")
}
@@ -691,7 +644,7 @@ ruby_rbconfig_value() {
# @DESCRIPTION:
# Installs the specified file(s) into the sitelibdir of the Ruby interpreter in ${RUBY}.
doruby() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${RUBY} ]] && die "\$RUBY is not set"
( # don't want to pollute calling env
@@ -699,13 +652,13 @@ doruby() {
insinto "${sitelibdir#${EPREFIX}}"
insopts -m 0644
doins "$@"
- ) || die "failed to install $@"
+ )
}
# @FUNCTION: ruby_get_libruby
# @RETURN: The location of libruby*.so belonging to the Ruby interpreter in ${RUBY}.
ruby_get_libruby() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} -rrbconfig -e 'puts File.join(RbConfig::CONFIG["libdir"], RbConfig::CONFIG["LIBRUBY"])'
}
@@ -713,7 +666,7 @@ ruby_get_libruby() {
# @FUNCTION: ruby_get_hdrdir
# @RETURN: The location of the header files belonging to the Ruby interpreter in ${RUBY}.
ruby_get_hdrdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rubyhdrdir=$(ruby_rbconfig_value 'rubyhdrdir')
@@ -727,7 +680,7 @@ ruby_get_hdrdir() {
# @FUNCTION: ruby_get_version
# @RETURN: The version of the Ruby interpreter in ${RUBY}, or what 'ruby' points to.
ruby_get_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ruby=${RUBY:-$(type -p ruby 2>/dev/null)}
@@ -737,7 +690,7 @@ ruby_get_version() {
# @FUNCTION: ruby_get_implementation
# @RETURN: The implementation of the Ruby interpreter in ${RUBY}, or what 'ruby' points to.
ruby_get_implementation() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ruby=${RUBY:-$(type -p ruby 2>/dev/null)}
@@ -760,7 +713,7 @@ ruby_get_implementation() {
# rspec version that must be executed. It defaults to 2 for historical
# compatibility.
ruby-ng_rspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local version=${RSPEC_VERSION-2}
local files="$@"
@@ -802,7 +755,7 @@ ruby-ng_rspec() {
# This is simply a wrapper around the cucumber command (executed by $RUBY})
# which also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_cucumber() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-util/cucumber"* ]]; then
ewarn "Missing test dependency dev-util/cucumber"
@@ -835,7 +788,7 @@ ruby-ng_cucumber() {
# This is simply a wrapper around the sus-parallel command (executed by $RUBY})
# which also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_sus() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-ruby/sus"* ]]; then
ewarn "Missing test dependency dev-ruby/sus"
@@ -863,7 +816,7 @@ ruby-ng_sus() {
# their script and we installed a broken wrapper for a while.
# This also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_testrb-2() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-ruby/test-unit"* ]]; then
ewarn "Missing test dependency dev-ruby/test-unit"
diff --git a/eclass/ruby-single.eclass b/eclass/ruby-single.eclass
index effdbd3e96a0..10d15c6d19f6 100644
--- a/eclass/ruby-single.eclass
+++ b/eclass/ruby-single.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-single.eclass
@@ -28,7 +28,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_SINGLE_ECLASS} ]]; then
+if [[ -z ${_RUBY_SINGLE_ECLASS} ]]; then
_RUBY_SINGLE_ECLASS=1
inherit ruby-utils
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 81bda3abfb36..29b9ab396b87 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 8
+# @SUPPORTED_EAPIS: 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
@@ -15,13 +15,10 @@
# This eclass does not set any metadata variables nor export any phase
# functions. It can be inherited safely.
-if [[ ! ${_RUBY_UTILS} ]]; then
+if [[ -z ${_RUBY_UTILS_ECLASS} ]] ; then
+_RUBY_UTILS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -68,5 +65,4 @@ _ruby_implementation_depend() {
echo "$2${rubypn}$3${rubyslot}"
}
-_RUBY_UTILS=1
fi
diff --git a/eclass/scons-utils.eclass b/eclass/scons-utils.eclass
index b8663d34b1a2..4f5e6962f43e 100644
--- a/eclass/scons-utils.eclass
+++ b/eclass/scons-utils.eclass
@@ -132,7 +132,7 @@ fi
escons() {
local ret
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${EPYTHON} ]]; then
eerror "EPYTHON is unset while calling escons. This most likely means that"
diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
index 4459b0341845..52a7a636ddd2 100644
--- a/eclass/secureboot.eclass
+++ b/eclass/secureboot.eclass
@@ -74,7 +74,7 @@ _SECUREBOOT_ECLASS=1
# If USE=secureboot is enabled die if the required user variables are unset
# and die if the keys can't be found.
_secureboot_die_if_unset() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
if [[ -z ${SECUREBOOT_SIGN_KEY} || -z ${SECUREBOOT_SIGN_CERT} ]]; then
@@ -99,7 +99,7 @@ _secureboot_die_if_unset() {
# @DESCRIPTION:
# Checks if required user variables are set before starting the build
secureboot_pkg_setup() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
# If we are merging a binary then the files in this binary
@@ -117,7 +117,7 @@ secureboot_pkg_setup() {
# If no output file is specified the output file will be the same
# as the input file, i.e. the file will be overwritten.
secureboot_sign_efi_file() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
local input_file=${1}
@@ -153,7 +153,7 @@ secureboot_sign_efi_file() {
# By default signed files gain the .signed suffix. If the --in-place
# argument is given the efi files are replaced with a signed version in place.
secureboot_auto_sign() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
[[ ${EBUILD_PHASE} == install ]] ||
diff --git a/eclass/selinux-policy-2.eclass b/eclass/selinux-policy-2.eclass
index e7d6cd9a9e5f..e8b7ef863ad4 100644
--- a/eclass/selinux-policy-2.eclass
+++ b/eclass/selinux-policy-2.eclass
@@ -23,7 +23,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_SELINUX_POLICY_2_ECLASS} ]]; then
+if [[ -z ${_SELINUX_POLICY_2_ECLASS} ]]; then
_SELINUX_POLICY_2_ECLASS=1
# @ECLASS_VARIABLE: MODS
diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index d582028847b4..caccdee7b19b 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.eclass
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: shell-completion.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported"
esac
-if [[ ! ${_SHELL_COMPLETION_ECLASS} ]]; then
+if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
_SHELL_COMPLETION_ECLASS=1
# Extend bash-completion-r1
@@ -43,7 +43,7 @@ _shell-completion_get_zshcompdir() {
# @FUNCTION: get_fishcompdir
# @RETURN: the fish completions directory (with EPREFIX)
get_fishcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_shell-completion_get_fishcompdir)"
}
@@ -51,7 +51,7 @@ get_fishcompdir() {
# @FUNCTION: get_zshcompdir
# @RETURN: the zsh completions directory (with EPREFIX)
get_zshcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_shell-completion_get_zshcompdir)"
}
@@ -61,7 +61,7 @@ get_zshcompdir() {
# @DESCRIPTION:
# Install fish completion files passed as args.
dofishcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -75,7 +75,7 @@ dofishcomp() {
# @DESCRIPTION:
# Install zsh completion files passed as args.
dozshcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -89,7 +89,7 @@ dozshcomp() {
# @DESCRIPTION:
# Install fish file under a new name.
newfishcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -103,7 +103,7 @@ newfishcomp() {
# @DESCRIPTION:
# Install zsh file under a new name.
newzshcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
diff --git a/eclass/strip-linguas.eclass b/eclass/strip-linguas.eclass
index b31f414c87c3..355bdcc6cd19 100644
--- a/eclass/strip-linguas.eclass
+++ b/eclass/strip-linguas.eclass
@@ -6,17 +6,13 @@
# Ulrich Müller <ulm@gentoo.org>
# @AUTHOR:
# Mike Frysinger <vapier@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: convenience function for LINGUAS support
if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
_STRIP_LINGUAS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index a5f0decde1e3..f908ad688d9d 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -4,7 +4,7 @@
# @ECLASS: systemd.eclass
# @MAINTAINER:
# systemd@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: helper functions to install systemd units
# @DESCRIPTION:
# This eclass provides a set of functions to install unit files for
@@ -24,22 +24,17 @@
# }
# @CODE
+if [[ -z ${_SYSTEMD_ECLASS} ]]; then
+_SYSTEMD_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit toolchain-funcs
-if [[ ${EAPI} == [56] ]]; then
- DEPEND="virtual/pkgconfig"
-else
- BDEPEND="virtual/pkgconfig"
-fi
+BDEPEND="virtual/pkgconfig"
# @FUNCTION: _systemd_get_dir
# @USAGE: <variable-name> <fallback-directory>
@@ -80,27 +75,18 @@ _systemd_unprefix() {
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_systemunitdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystemunitdir /lib/systemd/system
}
-# @FUNCTION: systemd_get_unitdir
-# @DESCRIPTION:
-# Deprecated alias for systemd_get_systemunitdir.
-systemd_get_unitdir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI 6, use systemd_get_systemunitdir instead"
-
- systemd_get_systemunitdir
-}
-
# @FUNCTION: systemd_get_userunitdir
# @DESCRIPTION:
# Output the path for the systemd user unit directory (not including
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_userunitdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemduserunitdir /usr/lib/systemd/user
}
@@ -111,7 +97,7 @@ systemd_get_userunitdir() {
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_utildir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdutildir /lib/systemd
}
@@ -121,7 +107,7 @@ systemd_get_utildir() {
# Output the path for the systemd system generator directory (not including
# ${D}). This function always succeeds, even if systemd is not installed.
systemd_get_systemgeneratordir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystemgeneratordir /lib/systemd/system-generators
}
@@ -131,7 +117,7 @@ systemd_get_systemgeneratordir() {
# Output the path for the systemd system preset directory (not including
# ${D}). This function always succeeds, even if systemd is not installed.
systemd_get_systempresetdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystempresetdir /lib/systemd/system-preset
}
@@ -140,7 +126,7 @@ systemd_get_systempresetdir() {
# @DESCRIPTION:
# Output the path for the system sleep directory.
systemd_get_sleepdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsleepdir /lib/systemd/system-sleep
}
@@ -149,7 +135,7 @@ systemd_get_sleepdir() {
# @DESCRIPTION:
# Install systemd unit(s). Uses doins, thus it is fatal.
systemd_dounit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -163,7 +149,7 @@ systemd_dounit() {
# @DESCRIPTION:
# Install systemd unit with a new name. Uses newins, thus it is fatal.
systemd_newunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -177,7 +163,7 @@ systemd_newunit() {
# @DESCRIPTION:
# Install systemd user unit(s). Uses doins, thus it is fatal.
systemd_douserunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -192,7 +178,7 @@ systemd_douserunit() {
# Install systemd user unit with a new name. Uses newins, thus it
# is fatal.
systemd_newuserunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -209,7 +195,7 @@ systemd_newuserunit() {
# <conf-file> with the .conf suffix stripped is used
# (e.g. foo.service.conf -> foo.service.d/00gentoo.conf).
systemd_install_serviced() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local src=${1}
local service=${2}
@@ -247,7 +233,7 @@ systemd_install_serviced() {
# RestartSec=120
# EOF
systemd_install_dropin() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local basedir
if [[ $# -ge 1 ]] && [[ $1 == "--user" ]]; then
@@ -279,7 +265,7 @@ systemd_install_dropin() {
# Enable service in desired target, e.g. install a symlink for it.
# Uses dosym, thus it is fatal.
systemd_enable_service() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "Synopsis: systemd_enable_service target service"
@@ -304,7 +290,7 @@ systemd_enable_service() {
#
# Doc: https://www.freedesktop.org/wiki/Software/systemd/timedated/
systemd_enable_ntpunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${#} -lt 2 ]]; then
die "Usage: systemd_enable_ntpunit <NN-name> <service>..."
fi
@@ -339,46 +325,6 @@ systemd_enable_ntpunit() {
return ${ret}
}
-# @FUNCTION: systemd_with_unitdir
-# @USAGE: [<configure-option-name>]
-# @DESCRIPTION:
-# Note: deprecated and banned in EAPI 6. Please use full --with-...=
-# parameter for improved ebuild readability.
-#
-# Output '--with-systemdsystemunitdir' as expected by systemd-aware configure
-# scripts. This function always succeeds. Its output may be quoted in order
-# to preserve whitespace in paths. systemd_to_myeconfargs() is preferred over
-# this function.
-#
-# If upstream does use invalid configure option to handle installing systemd
-# units (e.g. `--with-systemdunitdir'), you can pass the 'suffix' as an optional
-# argument to this function (`$(systemd_with_unitdir systemdunitdir)'). Please
-# remember to report a bug upstream as well.
-systemd_with_unitdir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use --with-${1:-systemdsystemunitdir}=\"\$(systemd_get_systemunitdir)\" instead"
-
- debug-print-function ${FUNCNAME} "${@}"
- local optname=${1:-systemdsystemunitdir}
-
- echo --with-${optname}="$(systemd_get_systemunitdir)"
-}
-
-# @FUNCTION: systemd_with_utildir
-# @DESCRIPTION:
-# Note: deprecated and banned in EAPI 6. Please use full --with-...=
-# parameter for improved ebuild readability.
-#
-# Output '--with-systemdsystemutildir' as used by some packages to install
-# systemd helpers. This function always succeeds. Its output may be quoted
-# in order to preserve whitespace in paths.
-systemd_with_utildir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use --with-systemdutildir=\"\$(systemd_get_utildir)\" instead"
-
- debug-print-function ${FUNCNAME} "${@}"
-
- echo --with-systemdutildir="$(systemd_get_utildir)"
-}
-
# @FUNCTION: systemd_update_catalog
# @DESCRIPTION:
# Update the journald catalog. This needs to be called after installing
@@ -389,7 +335,7 @@ systemd_with_utildir() {
#
# See: https://www.freedesktop.org/wiki/Software/systemd/catalog
systemd_update_catalog() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} == post* ]] \
|| die "${FUNCNAME} disallowed during ${EBUILD_PHASE_FUNC:-${EBUILD_PHASE}}"
@@ -419,7 +365,7 @@ systemd_update_catalog() {
#
# See: man sd_booted
systemd_is_booted() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -d /run/systemd/system ]]
local ret=${?}
@@ -448,3 +394,5 @@ systemd_reenable() {
fi
done
}
+
+fi
diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index 63889a275fef..f543eaf4eb1d 100644
--- a/eclass/tmpfiles.eclass
+++ b/eclass/tmpfiles.eclass
@@ -8,7 +8,7 @@
# @AUTHOR:
# Mike Gilbert <floppym@gentoo.org>
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Functions related to tmpfiles.d files
# @DESCRIPTION:
# This eclass provides functionality related to installing and
@@ -32,7 +32,7 @@
# Typical usage of this eclass:
#
# @CODE
-# EAPI=6
+# EAPI=8
# inherit tmpfiles
#
# ...
@@ -56,10 +56,6 @@ if [[ -z ${_TMPFILES_ECLASS} ]]; then
_TMPFILES_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -80,7 +76,7 @@ fi
# @DESCRIPTION:
# Install one or more tmpfiles.d files into /usr/lib/tmpfiles.d.
dotmpfiles() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
local f
for f; do
@@ -101,7 +97,7 @@ dotmpfiles() {
# @DESCRIPTION:
# Install a tmpfiles.d file in /usr/lib/tmpfiles.d under a new name.
newtmpfiles() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ $2 != *.conf ]]; then
die "tmpfiles.d files must end with .conf"
@@ -120,7 +116,7 @@ newtmpfiles() {
# Call a tmpfiles.d implementation to create new volatile and temporary
# files and directories.
tmpfiles_process() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} == postinst ]] || die "${FUNCNAME}: Only valid in pkg_postinst"
[[ ${#} -gt 0 ]] || die "${FUNCNAME}: Must specify at least one filename"
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 66819996ea33..478177de141e 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -4,7 +4,7 @@
# @ECLASS: toolchain-funcs.eclass
# @MAINTAINER:
# Toolchain Ninjas <toolchain@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions to query common info about the toolchain
# @DESCRIPTION:
# The toolchain-funcs aims to provide a complete suite of functions
@@ -17,10 +17,6 @@ if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
_TOOLCHAIN_FUNCS_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -1117,7 +1113,6 @@ gen_usr_ldscript() {
ewarn "${FUNCNAME}: Please migrate to usr-ldscript.eclass"
local lib libdir=$(get_libdir) output_format="" auto=false suffix=$(get_libname)
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
tc-is-static-only && return
use prefix && return
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 34f595bcd1bc..6bad1def19f4 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -11,14 +11,14 @@
# GNAT for Ada). If not building GCC itself, please use toolchain-funcs.eclass
# instead.
+if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
+_TOOLCHAIN_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
-_TOOLCHAIN_ECLASS=1
-
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
@@ -2647,7 +2647,7 @@ fix_libtool_libdir_paths() {
pushd "${D}" >/dev/null || die
pushd "./${libpath}" >/dev/null || die
- local dir="${PWD#${D%/}}"
+ local dir="${PWD#${D}}"
local allarchives=$(echo *.la)
allarchives="\(${allarchives// /\\|}\)"
popd >/dev/null || die
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 10f29b8a0835..499f1c7259a0 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -87,7 +87,7 @@ _get_tsg_abi_ver() {
}
tree-sitter-grammar_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
@@ -102,7 +102,7 @@ tree-sitter-grammar_src_prepare() {
}
tree-sitter-grammar_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local binding
for binding in "${TS_BINDINGS[@]}"; do
@@ -156,7 +156,7 @@ _tree-sitter-grammar_legacy_compile() {
}
tree-sitter-grammar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# legacy grammars don't have a pyproject.toml
if [[ -f "${S}/pyproject.toml" ]]; then
@@ -186,13 +186,13 @@ tree-sitter-grammar_src_compile() {
# Runs the Tree Sitter parser's test suite.
# See: https://tree-sitter.github.io/tree-sitter/creating-parsers#command-test
tree-sitter-grammar_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
tree-sitter test || die "Test suite failed"
}
tree-sitter-grammar_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# legacy grammars don't have a pyproject.toml
if [[ -f "${S}/pyproject.toml" ]]; then
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 7fd99cbba8b0..9867c68d5836 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -4,7 +4,7 @@
# @ECLASS: udev.eclass
# @MAINTAINER:
# systemd@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Default eclass for determining udev directories.
# @DESCRIPTION:
# Default eclass for determining udev directories.
@@ -40,21 +40,13 @@ if [[ -z ${_UDEV_ECLASS} ]]; then
_UDEV_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit toolchain-funcs
-if [[ ${EAPI} == [56] ]]; then
- DEPEND="virtual/pkgconfig"
-else
- BDEPEND="virtual/pkgconfig"
-fi
+BDEPEND="virtual/pkgconfig"
# @FUNCTION: _udev_get_udevdir
# @INTERNAL
@@ -75,7 +67,7 @@ _udev_get_udevdir() {
# @DESCRIPTION:
# Use the short version $(get_udevdir) instead!
udev_get_udevdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
eerror "This ebuild should be using the get_udevdir() function instead of the deprecated udev_get_udevdir()"
die "Deprecated function call: udev_get_udevdir(), please report to (overlay) maintainers."
@@ -87,7 +79,7 @@ udev_get_udevdir() {
# This function always succeeds, even if udev is not installed.
# The fallback value is set to /lib/udev
get_udevdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "$(_udev_get_udevdir)"
}
@@ -97,7 +89,7 @@ get_udevdir() {
# @DESCRIPTION:
# Install udev rule(s). Uses doins, thus it is fatal.
udev_dorules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -111,7 +103,7 @@ udev_dorules() {
# @DESCRIPTION:
# Install udev rule with a new name. Uses newins, thus it is fatal.
udev_newrules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -126,7 +118,7 @@ udev_newrules() {
# Should be called from pkg_postinst and pkg_postrm in packages which install
# udev rules or hwdb data.
udev_reload() {
- if [[ -n ${ROOT%/} ]]; then
+ if [[ -n ${ROOT} ]]; then
return 0
fi
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index 719bdec17676..8558d9998d34 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -6,17 +6,13 @@
# base-system@gentoo.org
# @AUTHOR:
# Benedikt Böhm <hollow@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: helper functions to remove VCS directories
if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
_VCS_CLEAN_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -27,7 +23,7 @@ esac
# Remove CVS directories and .cvs* files recursively. Useful when a
# source tarball contains internal CVS directories. Defaults to ${PWD}.
ecvs_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
@@ -40,7 +36,7 @@ ecvs_clean() {
# Remove .svn directories recursively. Useful when a source tarball
# contains internal Subversion directories. Defaults to ${PWD}.
esvn_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' + || die
@@ -52,7 +48,7 @@ esvn_clean() {
# Remove .git* directories recursively. Useful when a source tarball
# contains internal Git directories. Defaults to ${PWD}.
egit_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' + || die
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 0279e89ec3ab..998fe348a2ab 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -47,7 +47,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_VCS_SNAPSHOT_ECLASS} ]]; then
+if [[ -z ${_VCS_SNAPSHOT_ECLASS} ]]; then
_VCS_SNAPSHOT_ECLASS=1
# @FUNCTION: vcs-snapshot_src_unpack
@@ -57,7 +57,7 @@ _VCS_SNAPSHOT_ECLASS=1
# local names. Other archive types will be passed down to regular
# unpack.
vcs-snapshot_src_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local renamed_any=
local f
diff --git a/eclass/vdr-plugin-2.eclass b/eclass/vdr-plugin-2.eclass
index dc70ca7c5761..a00426fdad39 100644
--- a/eclass/vdr-plugin-2.eclass
+++ b/eclass/vdr-plugin-2.eclass
@@ -60,14 +60,14 @@
# PO_SUBDIR="bla foo/bla"
# @CODE
+if [[ -z ${_VDR_PLUGIN_2_ECLASS} ]]; then
+_VDR_PLUGIN_2_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VDR_PLUGIN_2_ECLASS} ]]; then
-_VDR_PLUGIN_2_ECLASS=1
-
inherit flag-o-matic strip-linguas toolchain-funcs unpacker
# Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes
@@ -112,14 +112,14 @@ vdr_create_plugindb_file() {
# EBUILD=${CATEGORY}/${PN}
# EBUILD_V=${PVR}
# EOT
-# obsolet? fix me later...
+# obsolete? fix me later...
{
echo "VDRPLUGIN_DB=1"
echo "CREATOR=ECLASS"
echo "EBUILD=${CATEGORY}/${PN}"
echo "EBUILD_V=${PVR}"
echo "PLUGINS=\"$@\""
- } > "${D%/}/${DB_FILE}"
+ } > "${D}/${DB_FILE}" || die
}
# @FUNCTION: vdr_create_header_checksum_file
@@ -423,7 +423,7 @@ vdr-plugin-2_pkg_setup() {
if [[ -n "${VDR_LOCAL_PATCHES_DIR}" ]]; then
eerror "Using VDR_LOCAL_PATCHES_DIR is deprecated!"
eerror "Please move all your patches into"
- eerror "${EROOT%/}/etc/portage/patches/${CATEGORY}/${P}"
+ eerror "${EROOT}/etc/portage/patches/${CATEGORY}/${P}"
eerror "and remove or unset the VDR_LOCAL_PATCHES_DIR variable."
die
fi
@@ -517,8 +517,7 @@ vdr-plugin-2_src_compile() {
LOCALEDIR="${TMP_LOCALE_DIR}" \
LOCDIR="${TMP_LOCALE_DIR}" \
LIBDIR="${S}" \
- TMPDIR="${T}" \
- || die "emake all failed"
+ TMPDIR="${T}"
;;
esac
@@ -564,8 +563,7 @@ vdr-plugin-2_src_install() {
emake install \
${BUILD_PARAMS} \
TMPDIR="${T}" \
- DESTDIR="${D%/}" \
- || die "emake install (makefile target) failed"
+ DESTDIR="${D}"
else
einfo "Notice: Plugin use still the old Makefile handling"
insinto "${VDR_PLUGIN_DIR}"
@@ -579,12 +577,12 @@ vdr-plugin-2_src_install() {
local linguas
for linguas in ${LINGUAS[*]}; do
insinto "${LOCDIR}"
- cp -r --parents ${linguas}* "${D%/}"/${LOCDIR} \
+ cp -r --parents ${linguas}* "${D}"/${LOCDIR} \
|| die "could not copy linguas files"
done
fi
- cd "${D%/}/usr/$(get_libdir)/vdr/plugins" \
+ cd "${D}/usr/$(get_libdir)/vdr/plugins" \
|| die "could not change to \$D/usr/libdir/vdr/plugins"
# create list of all created plugin libs
diff --git a/eclass/vim-doc.eclass b/eclass/vim-doc.eclass
index f20f7397cf65..ad595c5a67c6 100644
--- a/eclass/vim-doc.eclass
+++ b/eclass/vim-doc.eclass
@@ -4,7 +4,7 @@
# @ECLASS: vim-doc.eclass
# @MAINTAINER:
# vim@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for vim{,-plugin}.eclass to update documentation tags.
# @DESCRIPTION:
# This eclass is used by vim.eclass and vim-plugin.eclass to update
@@ -16,13 +16,10 @@
# DEPEND in vim-plugin or by whatever version of vim is being
# installed by the eclass.
-if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
+if [[ -z ${_VIM_DOC_ECLASS} ]]; then
+_VIM_DOC_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -32,7 +29,7 @@ esac
# @DESCRIPTION:
# Update the documentation tags in the versioned Vim directory.
update_vim_helptags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local vimfiles helpfile files vim d
@@ -58,7 +55,7 @@ update_vim_helptags() {
# Install the documentation symlinks into the versioned vim
# directory and run :helptags
- for d in "${EROOT%/}"/usr/share/vim/vim[0-9]*; do
+ for d in "${EROOT}"/usr/share/vim/vim[0-9]*; do
[[ -d "${d}/doc" ]] || continue # catch a failed glob
# Remove links
@@ -104,5 +101,4 @@ update_vim_helptags() {
fi
}
-_VIM_DOC_ECLASS=1
fi
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index b2ae0cb9e4c3..d18e2ef8ef5f 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -4,7 +4,7 @@
# @ECLASS: vim-plugin.eclass
# @MAINTAINER:
# vim@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: used for installing vim plugins
# @DESCRIPTION:
# This eclass simplifies installation of app-vim plugins into
@@ -16,17 +16,13 @@ if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
_VIM_PLUGIN_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit vim-doc
-[[ ${EAPI} != [67] ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
+[[ ${EAPI} != 7 ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
# @ECLASS_VARIABLE: VIM_PLUGIN_VIM_VERSION
# @DESCRIPTION:
@@ -50,7 +46,7 @@ if [[ ${_DEFINE_VIM_PLUGIN_SRC_PREPARE} ]]; then
# other packages.
# Note that this function is only defined and exported in EAPIs >= 8.
vim-plugin_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default_src_prepare
@@ -94,7 +90,7 @@ _VIM_PLUGIN_ALLOWED_DIRS=(
# }
# @CODE
vim-plugin_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Install non-vim-help-docs
einstalldocs
@@ -102,8 +98,8 @@ vim-plugin_src_install() {
# Install remainder of plugin
insinto /usr/share/vim/vimfiles/
local d
- case ${EAPI:-0} in
- 6|7)
+ case ${EAPI} in
+ 7)
for d in *; do
[[ -d "${d}" ]] || continue
doins -r "${d}"
@@ -128,7 +124,7 @@ vim-plugin_src_install() {
#
# * display_vim_plugin_help
vim-plugin_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
@@ -141,7 +137,7 @@ vim-plugin_pkg_postinst() {
# This function calls the update_vim_helptags and update_vim_afterscripts
# functions and eventually removes a bunch of empty directories.
vim-plugin_pkg_postrm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
@@ -158,7 +154,7 @@ vim-plugin_pkg_postrm() {
# Creates scripts in /usr/share/vim/vimfiles/after/*
# comprised of the snippets in /usr/share/vim/vimfiles/after/*/*.d
update_vim_afterscripts() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local d f afterdir="${EROOT}"/usr/share/vim/vimfiles/after
@@ -197,7 +193,7 @@ update_vim_afterscripts() {
# extra message regarding enabling filetype plugins is displayed if
# VIM_PLUGIN_MESSAGES includes the word "filetype".
display_vim_plugin_help() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local h
diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 57bcb0dc8021..f9b496e5ffb0 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -6,7 +6,7 @@
# Vim Maintainers <vim@gentoo.org>
# @AUTHOR:
# Ciaran McCreesh <ciaranm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for managing Vim spell files.
# @DESCRIPTION:
# How to make a vim spell file package using prebuilt spell lists
@@ -66,10 +66,6 @@ if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
_VIM_SPELL_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index 07d303899582..850e5c5b0892 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.eclass
@@ -6,17 +6,13 @@
# x11@gentoo.org
# @AUTHOR:
# Original author: Martin Schlemmer <azarah@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: This eclass can be used for packages that need a working X environment to build.
if [[ -z ${_VIRTUALX_ECLASS} ]]; then
_VIRTUALX_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -36,15 +32,15 @@ esac
# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Standard dependencies string that is automatically added to BDEPEND
-# (in EAPI-6: DEPEND) unless VIRTUALX_REQUIRED is set to "manual".
+# unless VIRTUALX_REQUIRED is set to "manual".
# DEPRECATED: Pre-EAPI-8 you can specify the variable BEFORE inherit
# to add more dependencies.
-[[ ${EAPI} != [67] ]] && VIRTUALX_DEPEND=""
+[[ ${EAPI} != 7 ]] && VIRTUALX_DEPEND=""
VIRTUALX_DEPEND+="
x11-base/xorg-server[xvfb]
x11-apps/xhost
"
-[[ ${EAPI} != [67] ]] && readonly VIRTUALX_DEPEND
+[[ ${EAPI} != 7 ]] && readonly VIRTUALX_DEPEND
[[ ${VIRTUALX_COMMAND} ]] && die "VIRTUALX_COMMAND has been removed and is a no-op"
@@ -62,8 +58,6 @@ case ${VIRTUALX_REQUIRED} in
;;
esac
-[[ ${EAPI} == 6 ]] && DEPEND="${BDEPEND}"
-
# @FUNCTION: virtx
# @USAGE: <command> [command arguments]
diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
index f8d4b0aa94b4..377b455de736 100644
--- a/eclass/waf-utils.eclass
+++ b/eclass/waf-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: waf-utils.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_WAF_UTILS_ECLASS} ]]; then
+if [[ -z ${_WAF_UTILS_ECLASS} ]]; then
_WAF_UTILS_ECLASS=1
inherit multilib toolchain-funcs multiprocessing
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index e8bc127e1b96..ded66fa7f671 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.eclass
@@ -4,7 +4,7 @@
# @ECLASS: webapp.eclass
# @MAINTAINER:
# web-apps@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions for installing applications to run under a web server
# @DESCRIPTION:
# The webapp eclass contains functions to handle web applications with
@@ -14,10 +14,6 @@ if [[ -z ${_WEBAPP_ECLASS} ]]; then
_WEBAPP_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -55,9 +51,9 @@ IS_REPLACE=0
INSTALL_CHECK_FILE="installed_by_webapp_eclass"
SETUP_CHECK_FILE="setup_by_webapp_eclass"
-ETC_CONFIG="${ROOT%/}/etc/vhosts/webapp-config"
-WEBAPP_CONFIG="${ROOT%/}/usr/sbin/webapp-config"
-WEBAPP_CLEANER="${ROOT%/}/usr/sbin/webapp-cleaner"
+ETC_CONFIG="${EROOT}/etc/vhosts/webapp-config"
+WEBAPP_CONFIG="${EROOT}/usr/sbin/webapp-config"
+WEBAPP_CLEANER="${EROOT}/usr/sbin/webapp-cleaner"
# ==============================================================================
# INTERNAL FUNCTIONS
@@ -66,7 +62,7 @@ WEBAPP_CLEANER="${ROOT%/}/usr/sbin/webapp-cleaner"
# Load the config file /etc/vhosts/webapp-config
# Supports both the old bash version, and the new python version
webapp_read_config() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if has_version '>=app-admin/webapp-config-1.50'; then
ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!"
@@ -83,7 +79,7 @@ webapp_read_config() {
# Check whether a specified file exists in the given directory (`.' by default)
webapp_checkfileexists() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local my_prefix=${2:+${2}/}
@@ -96,12 +92,12 @@ webapp_checkfileexists() {
}
webapp_check_installedat() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
${WEBAPP_CONFIG} --show-installed -h localhost -d "${INSTALL_DIR}" 2> /dev/null
}
webapp_getinstalltype() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has vhosts ${IUSE} || use vhosts; then
return
@@ -178,7 +174,7 @@ need_httpd_fastcgi() {
# @DESCRIPTION:
# Mark a file config-protected for a web-based application.
webapp_configfile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local m
for m in "$@"; do
@@ -201,7 +197,7 @@ webapp_configfile() {
# Install a script that will run after a virtual copy is created, and
# before a virtual copy has been removed.
webapp_hook_script() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${1}"
@@ -215,7 +211,7 @@ webapp_hook_script() {
# @DESCRIPTION:
# Install a text file containing post-installation instructions.
webapp_postinst_txt() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -228,7 +224,7 @@ webapp_postinst_txt() {
# @DESCRIPTION:
# Install a text file containing post-upgrade instructions.
webapp_postupgrade_txt() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -238,7 +234,7 @@ webapp_postupgrade_txt() {
# helper for webapp_serverowned()
_webapp_serverowned() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${1}" "${D}"
local my_file
@@ -257,7 +253,7 @@ _webapp_serverowned() {
# The ownership of the file is NOT set until the application is installed using
# the webapp-config tool. If -R is given directories are handled recursively.
webapp_serverowned() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local m
if [[ "${1}" == "-R" ]]; then
@@ -284,7 +280,7 @@ webapp_serverowned() {
# used by default. Note: this function will automagically prepend $1 to the
# front of your config file's name.
webapp_server_configfile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -307,7 +303,7 @@ webapp_server_configfile() {
# If a version is given the script should upgrade the database schema from
# the given version to $PVR.
webapp_sqlscript() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -334,7 +330,7 @@ webapp_sqlscript() {
# You need to call this function in src_install() BEFORE anything else has run.
# For now we just create required webapp-config directories.
webapp_src_preinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# sanity checks, to catch bugs in the ebuild
if [[ ! -f "${T}/${SETUP_CHECK_FILE}" ]]; then
@@ -370,12 +366,12 @@ webapp_src_preinst() {
# @DESCRIPTION:
# The default pkg_setup() for this eclass. This will gather required variables
# from webapp-config and check if there is an application installed to
-# `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set.
+# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set.
#
# You need to call this function BEFORE anything else has run in your custom
# pkg_setup().
webapp_pkg_setup() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# to test whether or not the ebuild has correctly called this function
# we add an empty file to the filesystem
@@ -394,7 +390,7 @@ webapp_pkg_setup() {
G_HOSTNAME="localhost"
webapp_read_config
- local my_dir="${ROOT%/}/${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
+ local my_dir="${ROOT}/${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
# if USE=vhosts is enabled OR no application is installed we're done here
if ! has vhosts ${IUSE} || use vhosts || [[ ! -d "${my_dir}" ]]; then
@@ -436,7 +432,7 @@ webapp_pkg_setup() {
# You need to call this function AFTER everything else has run in your custom
# src_install().
webapp_src_install() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# to test whether or not the ebuild has correctly called this function
# we add an empty file to the filesystem
@@ -458,18 +454,18 @@ webapp_src_install() {
# @FUNCTION: webapp_pkg_postinst
# @DESCRIPTION:
# The default pkg_postinst() for this eclass. This installs the web application to
-# `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise
+# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise
# display a short notice how to install this application with webapp-config.
#
# You need to call this function AFTER everything else has run in your custom
# pkg_postinst().
webapp_pkg_postinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_read_config
# sanity checks, to catch bugs in the ebuild
- if [[ ! -f "${ROOT%/}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then
+ if [[ ! -f "${ROOT}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then
eerror
eerror "This ebuild did not call webapp_src_install() at the end"
eerror "of the src_install() function"
@@ -543,7 +539,7 @@ webapp_pkg_postinst() {
# remove all installed copies of this web application. Otherwise instruct the
# user to manually remove those copies. See bug #136959.
webapp_pkg_prerm() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local my_output=
my_output="$(${WEBAPP_CONFIG} --list-installs ${PN} ${PVR})"
diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
index a62bb51d0fe7..1f995a60509f 100644
--- a/eclass/wrapper.eclass
+++ b/eclass/wrapper.eclass
@@ -4,17 +4,13 @@
# @ECLASS: wrapper.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: create a shell wrapper script
if [[ -z ${_WRAPPER_ECLASS} ]]; then
_WRAPPER_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -59,7 +55,7 @@ make_wrapper() {
exeopts -m 0755
exeinto "${path}"
newexe "${tmpwrapper}" "${wrapper}"
- ) || die
+ )
else
newbin "${tmpwrapper}" "${wrapper}"
fi
diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index 84f88eee18fc..de383d88cf95 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.eclass
@@ -7,7 +7,7 @@
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Auxiliary functions commonly used by XDG compliant packages.
# @DESCRIPTION:
# This eclass provides a set of auxiliary functions needed by most XDG
@@ -18,10 +18,6 @@
# * XDG mime information database management
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -72,7 +68,7 @@ xdg_desktop_database_update() {
fi
ebegin "Updating .desktop files database"
- update-desktop-database -q "${EROOT%/}${DESKTOP_DATABASE_DIR}"
+ update-desktop-database -q "${EROOT}${DESKTOP_DATABASE_DIR}"
eend $?
}
@@ -93,7 +89,7 @@ xdg_icon_cache_update() {
ebegin "Updating icons cache"
local dir retval=0
local fails=()
- for dir in "${EROOT%/}"/usr/share/icons/*; do
+ for dir in "${EROOT}"/usr/share/icons/*; do
if [[ -f ${dir}/index.theme ]]; then
if ! gtk-update-icon-cache -qf "${dir}"; then
debug-print "Updating cache failed on ${dir}"
@@ -134,6 +130,6 @@ xdg_mimeinfo_database_update() {
local -x PKGSYSTEM_ENABLE_FSYNC=0
ebegin "Updating shared mime info database"
- update-mime-database "${EROOT%/}${MIMEINFO_DATABASE_DIR}"
+ update-mime-database "${EROOT}${MIMEINFO_DATABASE_DIR}"
eend $?
}
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 2e16a438d840..042db2b8682d 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -6,7 +6,7 @@
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: xdg-utils
# @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION:
@@ -17,10 +17,6 @@ if [[ -z ${_XDG_ECLASS} ]]; then
_XDG_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -34,7 +30,7 @@ inherit xdg-utils
"
case ${EAPI} in
- 6|7)
+ 7)
# src_prepare is only exported in EAPI < 8.
# @FUNCTION: xdg_src_prepare
# @DESCRIPTION:
diff --git a/kde-plasma/bluedevil/Manifest b/kde-plasma/bluedevil/Manifest
index e822be69a4c5..415495da82c9 100644
--- a/kde-plasma/bluedevil/Manifest
+++ b/kde-plasma/bluedevil/Manifest
@@ -1 +1,2 @@
DIST bluedevil-6.1.5.tar.xz 379372 BLAKE2B 87f6721011fd1e06f7574a73889bf8094133050987ebfab6f50e14d797dde4b50b652b8beeafd973f513c99e7ff1c5249f8ec9e6642e4c7f287d25f3716e95f8 SHA512 920f62ea75003637e20d1f940cf3a756312f8c86eea0f9d8cffd5126118f940a2183fd1735b2468bee0e9a6d97b5b686d35adf02f275eb39d6e07feab666f9b1
+DIST bluedevil-6.2.0.tar.xz 388080 BLAKE2B 1c0d41964277bb8e41162d297e66d410016a731e7d586eabc5e3692f5d04a6f41974ab45a757f182bede169db02eb2b2a5bf745a66b381902edbdb7dd49cab93 SHA512 8f04d53495457519ae8ffe41ebc199bf859d592d23daa5d5bb43939b8af0df5183c05b1cbc585907637e35bfe1abc3db7542d847d1a5c004c047c33eecc0fee5
diff --git a/kde-plasma/bluedevil/bluedevil-6.2.0.ebuild b/kde-plasma/bluedevil/bluedevil-6.2.0.ebuild
new file mode 100644
index 000000000000..262cd010200d
--- /dev/null
+++ b/kde-plasma/bluedevil/bluedevil-6.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Bluetooth stack for KDE Plasma"
+HOMEPAGE="https://invent.kde.org/plasma/bluedevil"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/bluez-qt-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/breeze-grub/Manifest b/kde-plasma/breeze-grub/Manifest
index 80805003045a..4ab5a79b9653 100644
--- a/kde-plasma/breeze-grub/Manifest
+++ b/kde-plasma/breeze-grub/Manifest
@@ -1 +1,2 @@
DIST breeze-grub-6.1.5.tar.xz 1445448 BLAKE2B 62ec714c72e42dd6fafb2bbffeb98a7a81361e1f90db07f5305d3f471526b8a1e3cc1a876875bdaac4225d5740455ef47c46c888b20e937a15ae4b5ff81c78f7 SHA512 6eeff8b340a05e304479219123285f60d127c2fd8be6699353f1e4f69affb28aa597af2a99d488093ac862b30a3bb8386ff0276daf8b39d4f682085d0ebaf474
+DIST breeze-grub-6.2.0.tar.xz 1446228 BLAKE2B 1607ad3c1bf5ef994fb8bf08c9f779f1652e2edf22c2465d38969466eb8b2a772f7bc75138558a37a4380eabf77e5cbd32198c878a1755ce8894dd1f9bf2ce51 SHA512 9e008ee4727c750900ec6b6c4806511bd15459aac41603c2e35ff86a0b4b5db6e9febd82041c297a1b7123fdd7c1110d55983cfb6b651867d8c0e6dda9b7c3b3
diff --git a/kde-plasma/breeze-grub/breeze-grub-6.2.0.ebuild b/kde-plasma/breeze-grub/breeze-grub-6.2.0.ebuild
new file mode 100644
index 000000000000..318123de73fa
--- /dev/null
+++ b/kde-plasma/breeze-grub/breeze-grub-6.2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PVCUT=$(ver_cut 1-3)
+inherit plasma.kde.org
+
+DESCRIPTION="Breeze theme for GRUB"
+
+LICENSE="GPL-3+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+src_prepare() { default; }
+src_configure() { :; }
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/grub/themes
+ doins -r breeze
+}
diff --git a/kde-plasma/breeze-gtk/Manifest b/kde-plasma/breeze-gtk/Manifest
index 47283a4a1d28..495c1aefb526 100644
--- a/kde-plasma/breeze-gtk/Manifest
+++ b/kde-plasma/breeze-gtk/Manifest
@@ -1 +1,2 @@
DIST breeze-gtk-6.1.5.tar.xz 40668 BLAKE2B 85f2ee1e40d54e730724b4268776cb903eca23a4682cf37d1233f2934e7892967ce9882908c38d065752619f0c0f538477a09eae1e5e4cd11ecb81f9d88fb953 SHA512 fb7adb0e2072d934d02c24e16ffbebe9eb88981ba5bf0c8bfa05b7ef5d4de07935eff69b6b318d8aaf1380d137c98c82607173e7cd58314c46fdf1d737cf3109
+DIST breeze-gtk-6.2.0.tar.xz 40876 BLAKE2B 9a139d507fc31a6fc71dbd10b646ba112abe0de9f7879c8dfd290a9f5afa6612e2eb0caad9c4ace982474246948619abbe75ca25a1fb77634cd47666f2c9733f SHA512 88ff17f2fa3c47b1d477b0a16d405fe497ad6cfca90f9b4ae81878e3818c5c7d87dd51419179b7c10883f207f6f98499566b0bf4954a77ceb1e4e2ebc78607c1
diff --git a/kde-plasma/breeze-gtk/breeze-gtk-6.2.0.ebuild b/kde-plasma/breeze-gtk/breeze-gtk-6.2.0.ebuild
new file mode 100644
index 000000000000..7efd6d501376
--- /dev/null
+++ b/kde-plasma/breeze-gtk/breeze-gtk-6.2.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.5.0
+PVCUT=$(ver_cut 1-3)
+PYTHON_COMPAT=( python3_{10..13} )
+inherit ecm plasma.kde.org python-any-r1
+
+DESCRIPTION="Official GTK+ port of Plasma's Breeze widget style"
+HOMEPAGE="https://invent.kde.org/plasma/breeze-gtk"
+
+LICENSE="LGPL-2.1+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/sassc
+ $(python_gen_any_dep 'dev-python/pycairo[${PYTHON_USEDEP}]')
+ >=kde-plasma/breeze-${PVCUT}:6
+"
+
+python_check_deps() {
+ python_has_version "dev-python/pycairo[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ ecm_pkg_setup
+}
diff --git a/kde-plasma/breeze-plymouth/Manifest b/kde-plasma/breeze-plymouth/Manifest
index ca2b55072a7d..2c24b6852547 100644
--- a/kde-plasma/breeze-plymouth/Manifest
+++ b/kde-plasma/breeze-plymouth/Manifest
@@ -1 +1,2 @@
DIST breeze-plymouth-6.1.5.tar.xz 111132 BLAKE2B 36ca1f2e8af816e902cd8a334513ad8ba413ab02cd87cfb4ee868f7f4f81181dacc18a9ed6e693c201d5aede8a29efd58b7d18264aac7a97f965962b8da00523 SHA512 5fbae13dd6b44c8120976dae4ab9acac0e92e0da3b1830290e8e93d6c1e56da9567f528f8a4ed6429dbd950d58caec56fa5290f89d498eca8ab4d03170358172
+DIST breeze-plymouth-6.2.0.tar.xz 111100 BLAKE2B eb488336e9b12f96fb929112650942f4fce997711368cd367bfa54606015e3926f7ae54d275266ce61a4e6366c23907f59cccdce3e5cd46e56a40611c280db76 SHA512 db585fa42da82c6d145507f5163af6d52c2e5a09b7e7f6386d0cae725933f0cdd0075bf72d667c92a38cc01dbc670ced0e5855531eac8d5bdd245ff3519a6c78
diff --git a/kde-plasma/breeze-plymouth/breeze-plymouth-6.2.0.ebuild b/kde-plasma/breeze-plymouth/breeze-plymouth-6.2.0.ebuild
new file mode 100644
index 000000000000..a1f909ee93fc
--- /dev/null
+++ b/kde-plasma/breeze-plymouth/breeze-plymouth-6.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+inherit cmake plasma.kde.org
+
+DESCRIPTION="Breeze theme for Plymouth"
+
+LICENSE="GPL-2+ GPL-3+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+BDEPEND=">=kde-frameworks/extra-cmake-modules-${KFMIN}:0"
+DEPEND="sys-boot/plymouth"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISTRO_NAME="Gentoo Linux"
+ -DDISTRO_VERSION=
+ )
+
+ cmake_src_configure
+}
diff --git a/kde-plasma/breeze/Manifest b/kde-plasma/breeze/Manifest
index d3f5d2b4f3bf..b22e278a74bb 100644
--- a/kde-plasma/breeze/Manifest
+++ b/kde-plasma/breeze/Manifest
@@ -1 +1,2 @@
DIST breeze-6.1.5.tar.xz 58041424 BLAKE2B 110ec250833a95fab278a9c10defe9203c85b3513b921bbda3a20dadb36d51aa23f4784fe2f384f9a781a1d67d9496584a6c29c6216c1abf1cb5ebee88d1dad4 SHA512 0107e117e3576d7d3fbffbe22d94afcc165b6f7055cb6220b5d284b2616221fff935d71898e00f7b68b0acf04f764d3492ca595caf06e7d3a692632a7887217a
+DIST breeze-6.2.0.tar.xz 110846720 BLAKE2B baba648c794218099cdb8f91dfe735b00cc3425124e89aeab8162f4b014220a80ff18ae9bf544539d0249a7b8ef7103bfb8eab15b989a337c347297f0b514c5d SHA512 2a93102c55687ecb050b4406e372de19f1a21e62400b01a2723ab10b8ebb66a835f8f51e4de888799451f8d45c6813ce574c99d9c2caa4f8401afd1da98645e1
diff --git a/kde-plasma/breeze/breeze-6.2.0.ebuild b/kde-plasma/breeze/breeze-6.2.0.ebuild
new file mode 100644
index 000000000000..c0496358f217
--- /dev/null
+++ b/kde-plasma/breeze/breeze-6.2.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KF5MIN=5.115.0
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QT5MIN=5.15.12
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Breeze visual style for the Plasma desktop"
+HOMEPAGE="https://invent.kde.org/plasma/breeze"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="qt5"
+
+# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/frameworkintegration-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-plasma/kdecoration-${PVCUT}:6
+ qt5? (
+ >=dev-qt/qtdbus-${QT5MIN}:5
+ >=dev-qt/qtdeclarative-${QT5MIN}:5
+ >=dev-qt/qtgui-${QT5MIN}:5
+ >=dev-qt/qtwidgets-${QT5MIN}:5
+ >=dev-qt/qtx11extras-${QT5MIN}:5
+ >=kde-frameworks/frameworkintegration-${KF5MIN}:5
+ >=kde-frameworks/kcmutils-${KF5MIN}:5
+ >=kde-frameworks/kconfig-${KF5MIN}:5
+ >=kde-frameworks/kconfigwidgets-${KF5MIN}:5
+ >=kde-frameworks/kcoreaddons-${KF5MIN}:5
+ >=kde-frameworks/kguiaddons-${KF5MIN}:5
+ >=kde-frameworks/ki18n-${KF5MIN}:5
+ >=kde-frameworks/kiconthemes-${KF5MIN}:5
+ >=kde-frameworks/kirigami-${KF5MIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KF5MIN}:5
+ >=kde-frameworks/kwindowsystem-${KF5MIN}:5
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ qt5? ( >=kde-frameworks/kcmutils-${KF5MIN}:5 )
+"
+PDEPEND=">=kde-frameworks/breeze-icons-${KFMIN}:*"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_QT6=ON
+ -DBUILD_QT5=$(usex qt5)
+ )
+ ecm_src_configure
+}
diff --git a/kde-plasma/discover/Manifest b/kde-plasma/discover/Manifest
index 07e1cf766c0e..f98160df4676 100644
--- a/kde-plasma/discover/Manifest
+++ b/kde-plasma/discover/Manifest
@@ -1 +1,2 @@
DIST discover-6.1.5.tar.xz 1025644 BLAKE2B 094503733c528b0992fad0e9ff2ee42791e03f2c23e57617a76074a48bdb865c3f75aff2e19b430ba0895eb963460e1f504da8645d2162ae40b239bd29d836e5 SHA512 ea604afb73003b3d0e67bab78c6165f7a347499baf778928deaa03a48f0e9d06f6d4e753b3aa823bbd4e6cf39932d7a8432924d03da3bc3eea98052d7e433a4e
+DIST discover-6.2.0.tar.xz 1091356 BLAKE2B d857f02ee93f27487bce792e1478f52150af584187224007b24b21c4edbe559982a94e8a8d1dfaac1e8e93f359b2ff20502329922e8dc7f9e87c96c03cda3d4e SHA512 b0352349f5e8c78db94f53721ecb50db237bb5b79b8c3a3bdf599e64cf55d67a44285360a57569125c9aa3e393c45f74d229ae191e6ea83974493fd7fe3e179f
diff --git a/kde-plasma/discover/discover-6.2.0.ebuild b/kde-plasma/discover/discover-6.2.0.ebuild
new file mode 100644
index 000000000000..c6ff718320c0
--- /dev/null
+++ b/kde-plasma/discover/discover-6.2.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma resources management GUI"
+HOMEPAGE="https://userbase.kde.org/Discover"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+firmware flatpak snap telemetry webengine"
+
+# libmarkdown (app-text/discount) only used in PackageKitBackend
+COMMON_DEPEND="
+ >=dev-libs/appstream-1.0.0:=[qt6]
+ dev-libs/kirigami-addons:6
+ >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/attica-${KFMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ firmware? ( >=sys-apps/fwupd-1.9.4 )
+ flatpak? ( sys-apps/flatpak )
+ snap? ( sys-libs/snapd-glib:=[qt6(-)] )
+ telemetry? ( >=kde-frameworks/kuserfeedback-${KFMIN}:6 )
+ webengine? ( >=dev-qt/qtwebview-${QTMIN}:6 )
+"
+RDEPEND="${COMMON_DEPEND}
+ snap? ( app-containers/snapd )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/qcoro
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_prepare() {
+ ecm_src_prepare
+ # we don't need it with PackageKitBackend off
+ ecm_punt_kf_module Archive
+ # we don't do anything with this
+ sed -e "s/^pkg_check_modules.*Markdown/#&/" \
+ -e "s/^pkg_check_modules.*RpmOstree/#&/" \
+ -e "s/^pkg_check_modules.*Ostree/#&/" \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # TODO: Port PackageKit's portage back-end to python3
+ -DCMAKE_DISABLE_FIND_PACKAGE_packagekitqt6=ON
+ # Automated updates will not work for us
+ # https://invent.kde.org/plasma/discover/-/merge_requests/142
+ -DWITH_KCM=OFF
+ -DBUILD_DummyBackend=OFF
+ -DBUILD_FlatpakBackend=$(usex flatpak)
+ -DBUILD_FwupdBackend=$(usex firmware)
+ -DBUILD_RpmOstreeBackend=OFF
+ -DBUILD_SnapBackend=$(usex snap)
+ -DBUILD_SteamOSBackend=OFF
+ $(cmake_use_find_package telemetry KF6UserFeedback)
+ $(cmake_use_find_package webengine Qt6WebView)
+ )
+
+ ecm_src_configure
+}
+
+src_test() {
+ # bug 686392: needs network connection
+ local myctestargs=(
+ -E "(knsbackendtest|flatpaktest)"
+ )
+
+ ecm_src_test
+}
diff --git a/kde-plasma/drkonqi/Manifest b/kde-plasma/drkonqi/Manifest
index 8a7ff594ff9f..6ce15e476b5b 100644
--- a/kde-plasma/drkonqi/Manifest
+++ b/kde-plasma/drkonqi/Manifest
@@ -1 +1,2 @@
DIST drkonqi-6.1.5.tar.xz 871908 BLAKE2B 278cd91c3abdb21facd1f820935c662f0c37c2dc09c76e9b5fa10339e366829f8007657abed052f58df18dd5553991ae11dac81cfbef6a6fb6fc53d3160b780c SHA512 9e10c3536b80e6e39ffc4f09b061d458d331e03108b6db30ee77704dfe88afc768f6e53bff091b0284757c91799ed3a627a2d3481d8a6fbbf15c7da9cd5c1c6f
+DIST drkonqi-6.2.0.tar.xz 882200 BLAKE2B 9797a691f620b678c95c6026d9c01d03f8dde8d5df0b008375da8c73aa37b18eb6ed90b06873d421720e373eefd3a70bca3f96908d48db204387aeb2b0501eb3 SHA512 2c4e9df1ff94f91f1056c297f8bebfe0f01c3596dc6357ece5e7c65c2db93b232ad81ea94dd9381098c4356aa91a7c88c26336cec0a584fe65ce90123099c0f8
diff --git a/kde-plasma/drkonqi/drkonqi-6.2.0.ebuild b/kde-plasma/drkonqi/drkonqi-6.2.0.ebuild
new file mode 100644
index 000000000000..8053d50bb7f2
--- /dev/null
+++ b/kde-plasma/drkonqi/drkonqi-6.2.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{11..13} )
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org python-single-r1 systemd
+
+DESCRIPTION="Plasma crash handler, gives the user feedback if a program crashed"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="systemd"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="test" # bug 935362
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/syntax-highlighting-${KFMIN}:6
+ systemd? (
+ >=dev-qt/qtbase-${QTMIN}:6[network]
+ >=kde-frameworks/kservice-${KFMIN}:6
+ sys-apps/systemd:=
+ >=sys-auth/polkit-qt-0.175.0[qt6(+)]
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[network] )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ $(python_gen_cond_dep '
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pygdbmi[${PYTHON_USEDEP}]
+ ')
+ || (
+ dev-debug/gdb
+ dev-debug/lldb
+ )
+"
+
+pkg_setup() {
+ ecm_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_PYTHON_VENDORING=OFF
+ $(cmake_use_find_package systemd Systemd)
+ )
+ ecm_src_configure
+}
+
+src_test() {
+ # needs network access, bug #698510
+ local myctestargs=(
+ -E "(connectiontest)"
+ )
+ ecm_src_test
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] && systemd_is_booted ; then
+ elog "For systemd, steps are needed for integration with systemd-coredumpd."
+ elog "As root, run the following:"
+ elog "1. systemctl enable drkonqi-coredump-processor@.service"
+ elog "2. systemctl --user enable --now --global drkonqi-coredump-launcher.socket"
+ fi
+}
diff --git a/kde-plasma/flatpak-kcm/Manifest b/kde-plasma/flatpak-kcm/Manifest
index bed0c238c4cf..40c4daba90db 100644
--- a/kde-plasma/flatpak-kcm/Manifest
+++ b/kde-plasma/flatpak-kcm/Manifest
@@ -1 +1,2 @@
DIST flatpak-kcm-6.1.5.tar.xz 243116 BLAKE2B bcda19f19c2e86bfb1023a190a87cd3d2bed3033a7be884ad3e8646e4ca5c0799c01b1a950811bfa4a12a22cd3ec66d06d49627fddaf0abd07bde3ede2a7c0af SHA512 39e9944b91cf3f8cef932945c4bf50ee5b0b34c2e323cd4c3afcc99033f41e9bab7173e3cfdc85f281a427ac20cd20b17270192f145d28d4e7c2f18365f4498c
+DIST flatpak-kcm-6.2.0.tar.xz 247460 BLAKE2B 680d190e6c7a5a4e99bbe6472f53e4f2a48631922c6a3116d3a122cedfa34c0721f778cfd144d340d3b3744daf69ff05b96ea89a86ccac65bc58fe76c99a4548 SHA512 d947e0efab826a5249b292f9ba352a22e83b2c9275897662da359669fbf1b557056545fff14773603b1ed1d36351480ef3aca4b1a0aa06203e224aa65cf5eb45
diff --git a/kde-plasma/flatpak-kcm/flatpak-kcm-6.2.0.ebuild b/kde-plasma/flatpak-kcm/flatpak-kcm-6.2.0.ebuild
new file mode 100644
index 000000000000..f7996a8ca47f
--- /dev/null
+++ b/kde-plasma/flatpak-kcm/flatpak-kcm-6.2.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Flatpak Permissions Management KCM"
+HOMEPAGE="https://invent.kde.org/plasma/flatpak-kcm"
+
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtbase-${QTMIN}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=sys-apps/flatpak-0.11.8
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/kactivitymanagerd/Manifest b/kde-plasma/kactivitymanagerd/Manifest
index baf82bd0d77d..1df114fd5665 100644
--- a/kde-plasma/kactivitymanagerd/Manifest
+++ b/kde-plasma/kactivitymanagerd/Manifest
@@ -1 +1,2 @@
DIST kactivitymanagerd-6.1.5.tar.xz 110264 BLAKE2B 42a9c5551fdd57ee04cd1654654aaa692a285942a9bfd92d858bc4e32d8eb4cfac86ef4164c7d234ead75255780343fafe09a904e8b37ab5fa729f7ff747620f SHA512 e3720e53cd37375828d67ddfc873cc465eb4a0ccbf75b066bf98927752df2465f382cfa5cca3f340200f6c86a91087b0157de82b581a5f06bbe77b488909f417
+DIST kactivitymanagerd-6.2.0.tar.xz 107812 BLAKE2B 0bb902fb41a6e55912f4dd2b8f82783bbe4bba110d3bd59c1ec1fba4fb00a33b33f34ece93f5b199c41221cf8733ad65686d05e4132f9eb3dbb41a4a8cd196e1 SHA512 2da2bb695689deb821416c331addc4a4af767d9244917143c715de49e9fef7aaad515333c61281c112fbde42a6edcf2cd74a7b51a9f01d3a96723d74544ff292
diff --git a/kde-plasma/kactivitymanagerd/kactivitymanagerd-6.2.0.ebuild b/kde-plasma/kactivitymanagerd/kactivitymanagerd-6.2.0.ebuild
new file mode 100644
index 000000000000..98d67be62e10
--- /dev/null
+++ b/kde-plasma/kactivitymanagerd/kactivitymanagerd-6.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="System service to manage user's activities, track the usage patterns etc."
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,sql,sqlite,widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+"
diff --git a/kde-plasma/kde-cli-tools-common/Manifest b/kde-plasma/kde-cli-tools-common/Manifest
index 9dc37182f9d3..5bcdd0c8f4d8 100644
--- a/kde-plasma/kde-cli-tools-common/Manifest
+++ b/kde-plasma/kde-cli-tools-common/Manifest
@@ -1 +1,2 @@
DIST kde-cli-tools-6.1.5.tar.xz 629280 BLAKE2B 200e316531ad6095fe0bfba356f2d5afb2f78dbc219e64bb14ed96d718b542475d3db9efdb8cad42a5c17dfaea7c33df3627a5747f17d549d5bbfe70d1a34e6c SHA512 48fcfdf832828a8c04b46c72dd35273e7859b719707529a755e475b1f82fdc65de641234db6c107ce1a1be05825b286fbf0d4d3620b4deb8e2163cb824dbf388
+DIST kde-cli-tools-6.2.0.tar.xz 636124 BLAKE2B a75d9f0e1eea1f9bd891ab3f198edafaf44c0f4fce3f41555360780fc74a4a29ac59e064b868672ce0d35462aaec323d43796184cb49c2b82e775daabd3c7ef3 SHA512 6161c9bde77591d65daa3e1615d55a6db75791235062d047f6da6eeab4b89d30404fa7318f3920337141bc6fd1938fcb2c787c7b0f84b588232040cd2aa853a2
diff --git a/kde-plasma/kde-cli-tools-common/kde-cli-tools-common-6.2.0.ebuild b/kde-plasma/kde-cli-tools-common/kde-cli-tools-common-6.2.0.ebuild
new file mode 100644
index 000000000000..4a4a993032f6
--- /dev/null
+++ b/kde-plasma/kde-cli-tools-common/kde-cli-tools-common-6.2.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="true"
+KDE_ORG_NAME="${PN/-common/}"
+KFMIN=5.115.0
+inherit ecm-common plasma.kde.org
+
+LICENSE="GPL-2+ handbook? ( FDL-1.2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="!<${CATEGORY}/${KDE_ORG_NAME}-6.1.4-r2:*"
diff --git a/kde-plasma/kde-cli-tools/Manifest b/kde-plasma/kde-cli-tools/Manifest
index 9dc37182f9d3..5bcdd0c8f4d8 100644
--- a/kde-plasma/kde-cli-tools/Manifest
+++ b/kde-plasma/kde-cli-tools/Manifest
@@ -1 +1,2 @@
DIST kde-cli-tools-6.1.5.tar.xz 629280 BLAKE2B 200e316531ad6095fe0bfba356f2d5afb2f78dbc219e64bb14ed96d718b542475d3db9efdb8cad42a5c17dfaea7c33df3627a5747f17d549d5bbfe70d1a34e6c SHA512 48fcfdf832828a8c04b46c72dd35273e7859b719707529a755e475b1f82fdc65de641234db6c107ce1a1be05825b286fbf0d4d3620b4deb8e2163cb824dbf388
+DIST kde-cli-tools-6.2.0.tar.xz 636124 BLAKE2B a75d9f0e1eea1f9bd891ab3f198edafaf44c0f4fce3f41555360780fc74a4a29ac59e064b868672ce0d35462aaec323d43796184cb49c2b82e775daabd3c7ef3 SHA512 6161c9bde77591d65daa3e1615d55a6db75791235062d047f6da6eeab4b89d30404fa7318f3920337141bc6fd1938fcb2c787c7b0f84b588232040cd2aa853a2
diff --git a/kde-plasma/kde-cli-tools/kde-cli-tools-6.2.0.ebuild b/kde-plasma/kde-cli-tools/kde-cli-tools-6.2.0.ebuild
new file mode 100644
index 000000000000..99efc8150057
--- /dev/null
+++ b/kde-plasma/kde-cli-tools/kde-cli-tools-6.2.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoff"
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Tools based on KDE Frameworks 6 to better interact with the system"
+HOMEPAGE="https://invent.kde.org/plasma/kde-cli-tools"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="kdesu X"
+
+# requires running kde environment
+RESTRICT="test"
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X?]
+ X? ( >=dev-qt/qtbase-${QTMIN}:6=[gui,X] )
+"
+RDEPEND="${DEPEND}
+ >=${CATEGORY}/${PN}-common-${PV}
+ kdesu? ( >=${CATEGORY}/kdesu-gui-${PV} )
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_prepare() {
+ ecm_src_prepare
+ ecm_punt_po_install
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF6Su=ON
+ -DWITH_X11=$(usex X)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/kde-gtk-config/Manifest b/kde-plasma/kde-gtk-config/Manifest
index 0a2e6dde8b10..d3157d60c16b 100644
--- a/kde-plasma/kde-gtk-config/Manifest
+++ b/kde-plasma/kde-gtk-config/Manifest
@@ -1 +1,2 @@
DIST kde-gtk-config-6.1.5.tar.xz 78620 BLAKE2B 76276977e767a54a2a0d069c3386a3d0e86c7fd51c1d9f1751ad75c8e83220d1058f44fb5718d579524abdfe6c5be7a4f9af0863546fad1d257af885706b404b SHA512 1b5d75df5cf329a34b92f88e22ff24529a91293a5a52980149d054cebeb7aa54337674fe33bdd58cd64a46976747041d7bccbfdeffd530507c42fa402d9ec131
+DIST kde-gtk-config-6.2.0.tar.xz 78600 BLAKE2B f17a21ca4a1b3be84a70971a6ef99714749f1b16f67f24e0b6b5adbdbfda92cb869ff3b79e7ef1c5c8a3b32a82cf7493377e5b7877cc0e33276cb0afd0005f2b SHA512 965f568e2c27177b17e2d98623a018291009da4d05d8f4699b2698e028ec5802c730c5a6c12eed134845b6c1edef2dc1df533e75fd17d2fe3d2ff04efaebe6bf
diff --git a/kde-plasma/kde-gtk-config/kde-gtk-config-6.2.0.ebuild b/kde-plasma/kde-gtk-config/kde-gtk-config-6.2.0.ebuild
new file mode 100644
index 000000000000..47e519b69326
--- /dev/null
+++ b/kde-plasma/kde-gtk-config/kde-gtk-config-6.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Syncs KDE Plasma theme settings to GTK applications"
+HOMEPAGE="https://invent.kde.org/plasma/kde-gtk-config"
+
+LICENSE="GPL-3"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ gnome-base/gsettings-desktop-schemas
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/kdecoration-${PVCUT}:6
+ x11-libs/gtk+:3[X]
+"
+RDEPEND="${DEPEND}
+ x11-misc/xsettingsd
+"
+BDEPEND="dev-lang/sassc"
+
+pkg_postinst() {
+ ecm_pkg_postinst
+ elog "If you notice missing icons in your GTK applications, you may have to install"
+ elog "the corresponding themes for GTK. A good guess would be x11-themes/oxygen-gtk"
+ elog "for example."
+}
diff --git a/kde-plasma/kdecoration/Manifest b/kde-plasma/kdecoration/Manifest
index 003aa6ec0e8f..79ce7c01bf85 100644
--- a/kde-plasma/kdecoration/Manifest
+++ b/kde-plasma/kdecoration/Manifest
@@ -1 +1,2 @@
DIST kdecoration-6.1.5.tar.xz 55360 BLAKE2B 82e0dbbd5458d3831b9d72265888c1ff9092eeebf88b37827de85673afea3ee898d134142c59448964597e4b16d54649f4ae6a911f3937392d6e7e18176e2fc8 SHA512 e2ece8c9f87b6b910590f92f6fe41f4819dad61b3390ae7b9e9e05d1c2a9a0ff6f506bcbbc88a7965f3979762d5e1ca7dad30cf9167e5c262ba0d5ab29939804
+DIST kdecoration-6.2.0.tar.xz 55164 BLAKE2B 654e47d9d4ae5dad067c89f928490dc088a297da758794885c92a37333631ba63eb9999570140424d7a687389c0ff250b28801cfdf3bbdb50678072c19643ac9 SHA512 26f9b2619cd8fcb7d664cda1755d1f1006832c6be7ffcc302514019c2e5c5d53a15cd0b35ada6c2df0839fc2e55e73529773544a6467278a3af141ec26aa3545
diff --git a/kde-plasma/kdecoration/kdecoration-6.2.0.ebuild b/kde-plasma/kdecoration/kdecoration-6.2.0.ebuild
new file mode 100644
index 000000000000..6f5db39c0d90
--- /dev/null
+++ b/kde-plasma/kdecoration/kdecoration-6.2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plugin based library to create window decorations"
+
+LICENSE="|| ( LGPL-2.1 LGPL-3 )"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-frameworks/ki18n-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
diff --git a/kde-plasma/kdeplasma-addons/Manifest b/kde-plasma/kdeplasma-addons/Manifest
index 428b7392fe8e..d04860757895 100644
--- a/kde-plasma/kdeplasma-addons/Manifest
+++ b/kde-plasma/kdeplasma-addons/Manifest
@@ -1 +1,2 @@
DIST kdeplasma-addons-6.1.5.tar.xz 894740 BLAKE2B 5c3de9c460a11bc28d19ec136e30dbdeb9bef05715a36f11e9c5c30b928bfab2f6a8b2898ac0d2e7b09d47ec9f38b5a480cf72d77450c8859df2e1c1d9a469aa SHA512 84a914a7d54d217beabab517a2ac5a257ffce8975b423ff3bd668c01b606609a8518bab67b45977b8f731dc655044c18d04843d57e7c597b5b9b7eb8e4b1d1a7
+DIST kdeplasma-addons-6.2.0.tar.xz 897932 BLAKE2B 82508829ecab376d513df21b784eb2d7684d72dbd6d6c9eb61d3658edd99e9e0826813367184411a59d9e33c200314357cd0238cedb4819f7097141f878665aa SHA512 0afa63b87602657c8b819c2a71edc30fb7773649d60359c71469bfb0a29a4bbf0ede380d889839e889352873f9302c577ee1d562c52b3209be853d26433022b0
diff --git a/kde-plasma/kdeplasma-addons/kdeplasma-addons-6.2.0.ebuild b/kde-plasma/kdeplasma-addons/kdeplasma-addons-6.2.0.ebuild
new file mode 100644
index 000000000000..a770e015b5c5
--- /dev/null
+++ b/kde-plasma/kdeplasma-addons/kdeplasma-addons-6.2.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Extra Plasma applets and engines"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+alternate-calendar share webengine"
+
+RESTRICT="test" # bug 727846, +missing selenium-webdriver-at-spi
+
+DEPEND="
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kunitconversion-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma5support-${PVCUT}:6
+ alternate-calendar? ( dev-libs/icu:= )
+ share? ( >=kde-frameworks/purpose-${KFMIN}:6 )
+ webengine? ( >=dev-qt/qtwebengine-${QTMIN}:6 )
+"
+RDEPEND="${DEPEND}
+ dev-libs/kirigami-addons:6
+ >=dev-qt/qtquick3d-${QTMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package alternate-calendar ICU)
+ $(cmake_use_find_package share KF6Purpose)
+ $(cmake_use_find_package webengine Qt6WebEngineQuick)
+ )
+
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "Disk quota applet" "sys-fs/quota"
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-plasma/kdesu-gui/Manifest b/kde-plasma/kdesu-gui/Manifest
index f08cf69259c6..fc5de5723758 100644
--- a/kde-plasma/kdesu-gui/Manifest
+++ b/kde-plasma/kdesu-gui/Manifest
@@ -1,2 +1,3 @@
DIST kde-cli-tools-5.27.11.tar.xz 670892 BLAKE2B 56463030f1935dd722212282000f9fd5e337de7171cc2f9ec08fdae66ed681463680af33fa5ac6b21c93e9eebbb4b415a211f0e72f075521960084afa69bfdb0 SHA512 8f6bbe39df4e491a28d3c6576c58bcbf74971f54157a8cdbc3bb7d4719a31d83f38bae45402cb8f48f11bd37d907bb625f89b929b83a2bb459d7c9c836d78006
DIST kde-cli-tools-6.1.5.tar.xz 629280 BLAKE2B 200e316531ad6095fe0bfba356f2d5afb2f78dbc219e64bb14ed96d718b542475d3db9efdb8cad42a5c17dfaea7c33df3627a5747f17d549d5bbfe70d1a34e6c SHA512 48fcfdf832828a8c04b46c72dd35273e7859b719707529a755e475b1f82fdc65de641234db6c107ce1a1be05825b286fbf0d4d3620b4deb8e2163cb824dbf388
+DIST kde-cli-tools-6.2.0.tar.xz 636124 BLAKE2B a75d9f0e1eea1f9bd891ab3f198edafaf44c0f4fce3f41555360780fc74a4a29ac59e064b868672ce0d35462aaec323d43796184cb49c2b82e775daabd3c7ef3 SHA512 6161c9bde77591d65daa3e1615d55a6db75791235062d047f6da6eeab4b89d30404fa7318f3920337141bc6fd1938fcb2c787c7b0f84b588232040cd2aa853a2
diff --git a/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.80-build-only-kdesu.patch b/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.80-build-only-kdesu.patch
new file mode 100644
index 000000000000..2cc88883adf9
--- /dev/null
+++ b/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.80-build-only-kdesu.patch
@@ -0,0 +1,72 @@
+From aca455335ebcbc8818aacb75ffb7ef026ccc82e4 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 2 Sep 2024 23:18:46 +0200
+Subject: [PATCH] Make all KF6 and Qt6 modules optional, disable all subdirs
+ except kdesu
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f1092bf8..4667f06d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,7 @@ include(ECMDeprecationSettings)
+
+ include(KDEGitCommitHooks)
+
+-find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
++find_package(Qt6 ${QT_MIN_VERSION} CONFIG COMPONENTS
+ Widgets
+ Svg
+ DBus
+@@ -44,7 +44,7 @@ if (NOT Qt6Test_FOUND)
+ set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
+ endif()
+
+-find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
++find_package(KF6 ${KF6_MIN_VERSION} COMPONENTS
+ Config
+ DocTools
+ IconThemes
+@@ -79,23 +79,23 @@ function(install_compat_symlink executable_target)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${executable_target}5 DESTINATION ${KDE_INSTALL_FULL_BINDIR})
+ endfunction()
+
+-add_subdirectory(keditfiletype)
+-add_subdirectory(kmimetypefinder)
+-add_subdirectory(kioclient)
+-add_subdirectory(ksvgtopng)
+-add_subdirectory(kdeinhibit)
+-add_subdirectory(plasma-open-settings)
+-add_subdirectory(kinfo)
+-add_subdirectory(kstart)
++#add_subdirectory(keditfiletype)
++#add_subdirectory(kmimetypefinder)
++#add_subdirectory(kioclient)
++#add_subdirectory(ksvgtopng)
++#add_subdirectory(kdeinhibit)
++#add_subdirectory(plasma-open-settings)
++#add_subdirectory(kinfo)
++#add_subdirectory(kstart)
+
+ if(KF6Su_FOUND AND KF6WidgetsAddons_FOUND)
+ add_subdirectory(kdesu)
+ endif()
+
+-if(UNIX)
+- add_subdirectory(kdeeject)
+- add_subdirectory(kbroadcastnotification)
+-endif()
++#if(UNIX)
++# add_subdirectory(kdeeject)
++# add_subdirectory(kbroadcastnotification)
++#endif()
+
+ check_include_files(sys/wait.h HAVE_SYS_WAIT_H)
+
+--
+2.46.0
+
diff --git a/kde-plasma/kdesu-gui/kdesu-gui-6.2.0.ebuild b/kde-plasma/kdesu-gui/kdesu-gui-6.2.0.ebuild
new file mode 100644
index 000000000000..ca825cf8f29e
--- /dev/null
+++ b/kde-plasma/kdesu-gui/kdesu-gui-6.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoff"
+ECM_TEST="false"
+KDE_ORG_NAME="kde-cli-tools"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Graphical frontend for KDE Frameworks' kdesu"
+HOMEPAGE="https://invent.kde.org/plasma/kde-cli-tools"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="X"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6=[gui,widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdesu-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X?]
+"
+RDEPEND="${DEPEND}
+ !<${CATEGORY}/${KDE_ORG_NAME}-6.1.4-r2:*[kdesu(+)]
+ >=${CATEGORY}/${KDE_ORG_NAME}-common-${PV}
+ sys-apps/dbus[X]
+"
+
+PATCHES=( "${FILESDIR}/${PN}-6.1.80-build-only-kdesu.patch" )
+
+src_prepare() {
+ ecm_src_prepare
+ ecm_punt_po_install
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_X11=$(usex X)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ dosym ../libexec/kf6/kdesu /usr/bin/kdesu
+}
diff --git a/kde-plasma/kgamma/Manifest b/kde-plasma/kgamma/Manifest
index 3e7c9a3f72e0..17b5305c60a6 100644
--- a/kde-plasma/kgamma/Manifest
+++ b/kde-plasma/kgamma/Manifest
@@ -1 +1,2 @@
DIST kgamma-6.1.5.tar.xz 86428 BLAKE2B 4b2798146d29792a98a0b53bd8bad7ad4844d425e7a5125d627009c77cdc9fc38894ebd4a71f7de5f457003a0beb318774f214f58036fa5c45993fc8373cd57b SHA512 40a7281d3fd3624521fdefefd4163c56a39a51225d84e007d47aff7fbd48978f3f82787d22d14e2a2c0412f1275b977d3eaa45c5061d360766d939a153decef8
+DIST kgamma-6.2.0.tar.xz 87744 BLAKE2B 6bf61113c406bbe67f41be9973d0a21779ba6bf4fd5482806f37291d8bba5ddf7a37b9bc8124594faf014d232ef87d490bc4b9894b88cd555fcac59375efafff SHA512 9e983e56545c82acccbf78a4e389780a3f8b033f4f1cc6e362e3ed27325fcdaf9368d5f7f8eccd5e8a050d2f2ac1b168985cb1e8accf3224e37c4cdb9f3cb692
diff --git a/kde-plasma/kgamma/kgamma-6.2.0.ebuild b/kde-plasma/kgamma/kgamma-6.2.0.ebuild
new file mode 100644
index 000000000000..ecd72beec3dc
--- /dev/null
+++ b/kde-plasma/kgamma/kgamma-6.2.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Screen gamma values kcontrol module"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets]
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+"
diff --git a/kde-plasma/kglobalacceld/Manifest b/kde-plasma/kglobalacceld/Manifest
index 8760a177f0a8..aab153a79dc5 100644
--- a/kde-plasma/kglobalacceld/Manifest
+++ b/kde-plasma/kglobalacceld/Manifest
@@ -1,2 +1,3 @@
DIST kglobalacceld-6.1.4.tar.xz 55736 BLAKE2B dc3156827ecf7ac4119e9286ace120e062ffd6051264beec4a205f52117e56166cef8631f5d2c6af141119d95c05aa13232d47ca397fefd65418b458d9011a22 SHA512 386a7a69578b3bdece0ea568c922e11b587d3e72087be66b5e69170fe306b664314d323e7db3fd1bbfdf47f523b234334220ce0f8360cfb5d8f31e846fd664d9
DIST kglobalacceld-6.1.5.tar.xz 55728 BLAKE2B e20c4af7b7b54822b3a2c96536d1af7627d218d3b27465062585860cbfbf9952931ccc7e36ebcbb2f25d14198db72dba52ec6a3858ddf1217206e94d69a9d745 SHA512 7557c6d6563d332c7b02754ee0c0f72f7595b2622ed20a7b562fc489c5a2b5895d54b8146dfd9bd94679e0d1fb6d04510eb779f2d7c74cb6a83b1e3b5f76a429
+DIST kglobalacceld-6.2.0.tar.xz 56460 BLAKE2B 4e564a35865f6b37efde1e678f39f3be5d837ba7b24faa08d6738f0e767b67e18e99352ca1ff8b23f8ab4bfc4bdaf4a37b0dff7e72d4acde151ca7a50f901ee3 SHA512 a748032a0762c92391301ddaac75ad0f60367cb0c925443107ffacf04a4460aaac08b013e1d55f3f2ef1f58241c2778d2c5b7afbc8fa2169df275228946ac45d
diff --git a/kde-plasma/kglobalacceld/kglobalacceld-6.2.0.ebuild b/kde-plasma/kglobalacceld/kglobalacceld-6.2.0.ebuild
new file mode 100644
index 000000000000..4c8b366d7bb6
--- /dev/null
+++ b/kde-plasma/kglobalacceld/kglobalacceld-6.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Daemon providing Global Keyboard Shortcut (Accelerator) functionality"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="X"
+
+REQUIRED_USE="test? ( X )"
+RESTRICT="test" # requires installed instance
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X?]
+ X? (
+ >=dev-qt/qtbase-${QTMIN}:6=[gui]
+ x11-libs/libxcb
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${DEPEND}
+ !kde-frameworks/kglobalaccel:5[-kf6compat(-)]
+"
+BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]"
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_X11=$(usex X)
+ )
+ ecm_src_configure
+}
+
+# src_test() {
+# XDG_CURRENT_DESKTOP="KDE" ecm_src_test # bug 789342
+# }
diff --git a/kde-plasma/kinfocenter/Manifest b/kde-plasma/kinfocenter/Manifest
index e77897cb29a5..037e5663bdd4 100644
--- a/kde-plasma/kinfocenter/Manifest
+++ b/kde-plasma/kinfocenter/Manifest
@@ -1,2 +1,3 @@
DIST glogo-small.png 24583 BLAKE2B 0af2ceae708e56f217120e5d8b880fb71401e3761ab26c4af5e74c0622368aa4e34b05160fae15fbfbbc832077810ab5c1e424826632748299fd22997cbe665c SHA512 648be463ec3812a2edcdab54d7a230bf2bd7e6895f4ffe72321d8fca28a5e1e0980f6e3b9a32f369c8369943ceb802a65a94b9dad820dcf2c81d4581d814cb48
DIST kinfocenter-6.1.5.tar.xz 720016 BLAKE2B e0555f40fcf6ab5aac032b9366322b05cb38f60288ee275b2e69bf7116f80c6ca922b6dbacbb417aaffa66157d9f9216defad07de9705f03f7cec5f4c5145f64 SHA512 58909d0804d23bb17961ba471e8f3db8cd58e66c6df4bc4ac27eecaa99e003351df08f9b099589c78160459e4147d461f15b5d4df8140ef40778020445da9085
+DIST kinfocenter-6.2.0.tar.xz 729176 BLAKE2B 3d0d0b33a1d3c8198542f1ea35cd5d8032d127fd6ffd0aa40ed7437437d03eff9dc3b05ecd7a01013cdb9da253bd4d20cefb9ad0026ff9dd51c59a0b108610d7 SHA512 0936007965932b5c639a3bfb57c9c619c33521112bc79aa60188f4e2f4113616948d043b0b0405c7be6de5c134eee843a8dcf63b1d2c3e261a351273a31c95f2
diff --git a/kde-plasma/kinfocenter/kinfocenter-6.2.0.ebuild b/kde-plasma/kinfocenter/kinfocenter-6.2.0.ebuild
new file mode 100644
index 000000000000..d96e193835ba
--- /dev/null
+++ b/kde-plasma/kinfocenter/kinfocenter-6.2.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Utility providing information about the computer hardware"
+HOMEPAGE="https://userbase.kde.org/KInfoCenter"
+SRC_URI+=" https://www.gentoo.org/assets/img/logo/gentoo-3d-small.png -> glogo-small.png"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="gles2-only usb"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gles2-only=,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ gles2-only? ( || (
+ >=media-libs/mesa-24.1.0_rc1[opengl]
+ <media-libs/mesa-24.1.0_rc1[gles2]
+ ) )
+ usb? ( virtual/libusb:1 )
+"
+RDEPEND="${DEPEND}
+ || (
+ >=dev-qt/qttools-${QTMIN}:6[qdbus]
+ dev-qt/qdbus:*
+ )
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-plasma/systemsettings-${PVCUT}:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+CMAKE_SKIP_TESTS=(
+ # bug 816591
+ smbmountmodeltest
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package usb USB1)
+ -DCMAKE_DISABLE_FIND_PACKAGE_SeleniumWebDriverATSPI=ON # missing
+ )
+
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+
+ # TODO: Make this fully obsolete by /etc/os-release
+ insinto /etc/xdg
+ doins "${FILESDIR}"/kcm-about-distrorc
+
+ insinto /usr/share/${PN}
+ doins "${DISTDIR}"/glogo-small.png
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature_header "Query network filesystem info:"
+ optfeature "NFS information module" net-fs/nfs-utils
+ optfeature "Samba status information module" net-fs/samba
+ optfeature_header "Query firmware/hardware info:"
+ fi
+ optfeature "System DMI table readout" sys-apps/dmidecode
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "Firmware security module" "app-text/aha sys-apps/fwupd"
+ optfeature "PCI devices information module" sys-apps/pciutils
+ optfeature "advanced CPU information module" sys-apps/util-linux
+ optfeature_header "Query GPU/graphics support info:"
+ fi
+ optfeature "OpenCL information module" dev-util/clinfo
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "OpenGL information module" x11-apps/mesa-progs
+ optfeature "Vulkan graphics API information module" dev-util/vulkan-tools
+ optfeature "Wayland information module" app-misc/wayland-utils
+ optfeature "X Server information module" x11-apps/xdpyinfo
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-plasma/kmenuedit/Manifest b/kde-plasma/kmenuedit/Manifest
index 6ea737687c1e..fd521e664b43 100644
--- a/kde-plasma/kmenuedit/Manifest
+++ b/kde-plasma/kmenuedit/Manifest
@@ -1 +1,2 @@
DIST kmenuedit-6.1.5.tar.xz 871396 BLAKE2B fad843b10d576210fb6f5cbfd23760ca9f95fa809dd25a3b8a73bc2d0c34f0cfda252072862e073bcbf2d5b69f58eead75b1323031499eb5611366ebb5b8489d SHA512 552ed7ceeadfefa90caa815a227960bc447455bfd74815a53fb0246b504e86e7369139c7ca2e0f05e5be1e6efa9c29bed9ce5e17014023259aabb2a96bcb66d6
+DIST kmenuedit-6.2.0.tar.xz 877272 BLAKE2B b8ecfdeaf10ed857f739f262e54ed91e8fdaaf369a988b32fd902bd5c8518a413ea7c96b884354891d0f8e6aa8549acbd89ede31e43b40c9a3260eec4777b9b2 SHA512 a29d56c68e884eb1bfb0f945f91846c5416a7863ee3c91b5b3206036ce75fcb692f5aaecb44b685a244abdf695d85aab9e1b8c923a00649a893d8d50ce01e874
diff --git a/kde-plasma/kmenuedit/kmenuedit-6.2.0.ebuild b/kde-plasma/kmenuedit/kmenuedit-6.2.0.ebuild
new file mode 100644
index 000000000000..ae5db3cbf36a
--- /dev/null
+++ b/kde-plasma/kmenuedit/kmenuedit-6.2.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma menu editor"
+HOMEPAGE="https://invent.kde.org/plasma/kmenuedit"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets,xml]
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6
+"
+DEPEND="${RDEPEND}"
diff --git a/kde-plasma/kpipewire/Manifest b/kde-plasma/kpipewire/Manifest
index 011ed6f2b9d1..9ddaf177fc56 100644
--- a/kde-plasma/kpipewire/Manifest
+++ b/kde-plasma/kpipewire/Manifest
@@ -1 +1,2 @@
DIST kpipewire-6.1.5.tar.xz 149096 BLAKE2B c59380effb41cb0af3093b6f5d29a76df19a5100ea2d63a9bf2c7859e29e20c175039aca1ef8138298da6feefda0a23b87037926c4f93e00c3828f7e098a0615 SHA512 83d8f04b0c599e0d4ae5ecd4219bc2ff2404f41ecb25aaa6bfa6a0e46af7283bcdfdf29111454715e71183968745b299ce7d73966a85b63c5379967f5416177a
+DIST kpipewire-6.2.0.tar.xz 149360 BLAKE2B 993a40a8d2818e1e7cc1f6a1c6ad00862eeccc1d36951e091f701f71034b79cd2872cb0416ddff85001e18f49123fa5effd4cbe0bfefdbdec98d249b4d2ef149 SHA512 35fed2b2f27dfe54051127607cc486bb513899087c062a50596bf6b75633f850cb0f2273623d972d9f2889af5a0d570018e11d45e36fedfcb36fdd7444300afe
diff --git a/kde-plasma/kpipewire/kpipewire-6.2.0.ebuild b/kde-plasma/kpipewire/kpipewire-6.2.0.ebuild
new file mode 100644
index 000000000000..e9331e7aa1a4
--- /dev/null
+++ b/kde-plasma/kpipewire/kpipewire-6.2.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Components relating to Flatpak pipewire use in Plasma"
+
+LICENSE="LGPL-2.1+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ media-libs/libepoxy
+ media-libs/libglvnd
+ media-libs/libva:=
+ media-libs/mesa[opengl]
+ media-video/ffmpeg:=
+ >=media-video/pipewire-0.3:=
+ x11-libs/libdrm
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ dev-libs/plasma-wayland-protocols
+ dev-libs/wayland
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-plasma/kwayland-${PVCUT}:6
+ media-video/pipewire[extra]
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ x11-themes/sound-theme-freedesktop
+"
+BDEPEND="test? ( >=dev-qt/qtwayland-${QTMIN}:6 )"
diff --git a/kde-plasma/krdp/Manifest b/kde-plasma/krdp/Manifest
index 0b9c7cf34482..3b70da48ba4f 100644
--- a/kde-plasma/krdp/Manifest
+++ b/kde-plasma/krdp/Manifest
@@ -1 +1,2 @@
DIST krdp-6.1.5.tar.xz 85076 BLAKE2B e9697e4478f48d91723660b739563ffc72a5737a0989f3dd2cf076d0d9f0b92f73968eecefd99ffbf4f872e01f80774bc8d43367a07fd26c065c8e5956c04486 SHA512 5c82b4a79d30133f2026266ec39f048233b6ef338c3c63f086c8c64b017611c0cd0c04375bf6d55cb588ef2653af28697f31bc8c85082aefe312286b62cb7cdb
+DIST krdp-6.2.0.tar.xz 91972 BLAKE2B b20cd698640144c564d4599fda1666655a298e456f180106300ed1b3a8ec5ff43064befeb0dc199e02d0b63e02c18e772078d6b490204b5fa7cf06408b6cb864 SHA512 d335072e0011646c182c957bf77f34947e81bae55500e997d3871304a655a64ee90969f695b2097b1fabeda242880483d81a936fddbac4b78ff6b0cb0a8d746c
diff --git a/kde-plasma/krdp/krdp-6.2.0.ebuild b/kde-plasma/krdp/krdp-6.2.0.ebuild
new file mode 100644
index 000000000000..f8ffc8d49212
--- /dev/null
+++ b/kde-plasma/krdp/krdp-6.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_EXAMPLES="true"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm flag-o-matic plasma.kde.org toolchain-funcs
+
+DESCRIPTION="Library and examples for creating an RDP server"
+HOMEPAGE+=" https://quantumproductions.info/articles/2023-08/remote-desktop-using-rdp-protocol-plasma-wayland"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+COMMON_DEPEND="
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-plasma/kpipewire-${PVCUT}:6
+ >=net-misc/freerdp-2.10:2[server]
+ x11-libs/libxkbcommon
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/plasma-wayland-protocols
+"
+RDEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_configure() {
+ # std::jthread and std::stop_token are implemented as experimental in libcxx
+ # enable these experimental libraries on clang systems
+ # https://libcxx.llvm.org/Status/Cxx20.html#note-p0660
+ [[ $(tc-get-cxx-stdlib) == 'libc++' ]] && append-cxxflags -fexperimental-library
+ ecm_src_configure
+}
diff --git a/kde-plasma/kscreen/Manifest b/kde-plasma/kscreen/Manifest
index 6835a3bd6b80..aa59a9514f8c 100644
--- a/kde-plasma/kscreen/Manifest
+++ b/kde-plasma/kscreen/Manifest
@@ -1 +1,2 @@
DIST kscreen-6.1.5.tar.xz 210432 BLAKE2B 5f3fd6f47ce1882f597739c74e38d95c93cd0c216d039ee1801c5c7a5c665471de53c221362b912eabf82259679681009f5aaa4afb6a3ac7b3114317c425d0e0 SHA512 c6fe5f33056d093ae92ae69583062c3aeda67e82492f20bec0ea945dfca7fc20a305c00a7ed4fee5392d72a0c7f06156636c30901ca412d6e34cad726b918482
+DIST kscreen-6.2.0.tar.xz 209936 BLAKE2B 62090d03e861c283b63560dfc875f8dd7e119ac89b61c73173a86a0eabb14870fc597e0390f095666e630f9db39db3b0a829c87727e8374903f3ee4009c4eae3 SHA512 4cb687edb942df4aeac78cea31147ba56dc7ec3a93931d0a8c3c5e5ea8bd230fa28fd502e81f9da14a8ec5db82f700bcf8927816afe115af4af425aa541a37d5
diff --git a/kde-plasma/kscreen/kscreen-6.2.0.ebuild b/kde-plasma/kscreen/kscreen-6.2.0.ebuild
new file mode 100644
index 000000000000..c68be61bb898
--- /dev/null
+++ b/kde-plasma/kscreen/kscreen-6.2.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma screen management"
+HOMEPAGE="https://invent.kde.org/plasma/kscreen"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="X"
+
+# bug #580440, last checked 5.6.3
+RESTRICT="test"
+
+# qtbase slot op: GuiPrivate use in kded daemon
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=dev-qt/qtsensors-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-plasma/layer-shell-qt-${PVCUT}:6
+ >=kde-plasma/libkscreen-${PVCUT}:6=
+ >=kde-plasma/libplasma-${PVCUT}:6
+ X? (
+ >=dev-qt/qtbase-${QTMIN}:6=[X]
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXi
+ )
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_X11=$(usex X)
+ )
+ ecm_src_configure
+}
diff --git a/kde-plasma/kscreenlocker/Manifest b/kde-plasma/kscreenlocker/Manifest
index b94bf3e37e45..064f6474cb13 100644
--- a/kde-plasma/kscreenlocker/Manifest
+++ b/kde-plasma/kscreenlocker/Manifest
@@ -1 +1,2 @@
DIST kscreenlocker-6.1.5.tar.xz 180568 BLAKE2B 6980e553265ada7a5e80e7dad040b7f33eb598295b5533e2810e12e552bceb56136873cd00ffc2f7eb50e71977ef08c112d206f6f3d04a9ebadb9bd4d01858b2 SHA512 0448bbb8261dcaa0ea7bded8ab29311de21b88be4cb56bf68f5931dd97222ab7e24439d2a97c4544c5a723c3c5c7e2e2a019253c51aef5a26d8ec0cf6351c6b5
+DIST kscreenlocker-6.2.0.tar.xz 180696 BLAKE2B 1aaf402dca393a41bede98b9ae40a1e513242566d1ae3713f7da39c6c245507ddb9ad1920fe4ed9df2c43e8890715e81c5e61103dfa25799c7097e4b8d1d0e36 SHA512 c3f11ff709944309a7b1e76bb9e7a5fad0ce6f0d4ccae56b10beefae4b776823f20e03f58044a28bdc3af18db76b422f7b465808750eafa3a46e39032cab4dae
diff --git a/kde-plasma/kscreenlocker/kscreenlocker-6.2.0.ebuild b/kde-plasma/kscreenlocker/kscreenlocker-6.2.0.ebuild
new file mode 100644
index 000000000000..833a97540e95
--- /dev/null
+++ b/kde-plasma/kscreenlocker/kscreenlocker-6.2.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org pam
+
+DESCRIPTION="Library and components for secure lock screen architecture"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RESTRICT="test"
+
+# qtbase slot op: GuiPrivate use in greeter
+COMMON_DEPEND="
+ dev-libs/wayland
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6[qml]
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/layer-shell-qt-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/libkscreen-${PVCUT}:6
+ sys-libs/pam
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libxcb
+ x11-libs/xcb-util-keysyms
+"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+"
+
+src_prepare() {
+ ecm_src_prepare
+ use test || cmake_run_in greeter cmake_comment_add_subdirectory autotests
+}
+
+src_test() {
+ # requires running environment
+ local myctestargs=(
+ -E x11LockerTest
+ )
+ ecm_src_test
+}
+
+src_install() {
+ ecm_src_install
+
+ newpamd "${FILESDIR}/kde-r1.pam" kde
+ newpamd "${FILESDIR}/kde-fingerprint.pam" kde-fingerprint
+ newpamd "${FILESDIR}/kde-smartcard.pam" kde-smartcard
+}
diff --git a/kde-plasma/ksshaskpass/Manifest b/kde-plasma/ksshaskpass/Manifest
index 7414e4e5053e..387cbc25f872 100644
--- a/kde-plasma/ksshaskpass/Manifest
+++ b/kde-plasma/ksshaskpass/Manifest
@@ -1 +1,2 @@
DIST ksshaskpass-6.1.5.tar.xz 29500 BLAKE2B 89b70c693a8d7852f403adcef164ae062f9ca829f78b011b75039b9c2feef924923e743ea9f2863dda410ed94b8815710f8e716ab186996f40745e1d5ec2dbb4 SHA512 cde90a3289ef84abb65d73eb76c96633524f830fea1ae15e735067723b46bbd92726c91802839c85b89c25828aea5b78dbe5979d44ea7132db2214d521a73135
+DIST ksshaskpass-6.2.0.tar.xz 30712 BLAKE2B 6b454cb715031b48363a00a0928bb0fd41dff01e9bc6aca243b4cf8601c28c7326516bd6e2ae57fe91b4f843789b3f660c140a3aac8be84ac8988fc61b5d4646 SHA512 5a5c5ae059ecb113b588ee4df004de6d9a2ddb4e2c8314144ec4386413c4fb43507e8e83f2c8789db7b0d793f81c9854b104de2c0ce108abb3e7c4c8a4c576a8
diff --git a/kde-plasma/ksshaskpass/ksshaskpass-6.2.0.ebuild b/kde-plasma/ksshaskpass/ksshaskpass-6.2.0.ebuild
new file mode 100644
index 000000000000..d6dce29652f6
--- /dev/null
+++ b/kde-plasma/ksshaskpass/ksshaskpass-6.2.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Implementation of ssh-askpass with KDE Wallet integration"
+HOMEPAGE+=" https://invent.kde.org/plasma/ksshaskpass"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[widgets]
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ ecm_src_install
+
+ insinto /etc/xdg/plasma-workspace/env/
+ doins "${FILESDIR}/05-ksshaskpass.sh"
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+
+ elog "In order to have ssh-agent start with Plasma 6,"
+ elog "edit /etc/xdg/plasma-workspace/env/10-agent-startup.sh"
+ elog "and uncomment the lines enabling ssh-agent."
+ elog
+ elog "If you do so, do not forget to uncomment the respective"
+ elog "lines in /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
+ elog "to properly kill the agent when the session ends."
+ elog
+ elog "${PN} has been installed as your default askpass application"
+ elog "for Plasma 6 sessions."
+ elog "If that's not desired, select the one you want to use in"
+ elog "/etc/xdg/plasma-workspace/env/05-ksshaskpass.sh"
+}
diff --git a/kde-plasma/ksystemstats/Manifest b/kde-plasma/ksystemstats/Manifest
index cd6065f70a90..2ffa5d0e7d0b 100644
--- a/kde-plasma/ksystemstats/Manifest
+++ b/kde-plasma/ksystemstats/Manifest
@@ -1 +1,2 @@
DIST ksystemstats-6.1.5.tar.xz 129024 BLAKE2B b011166db280c894bed5f07529efbd59dd4404e6b175be4e42d87336c989aaaa9ec021711f017c1b87175c52c8687409082de56881005a5522fd145d0072c5f6 SHA512 8efad26b6d7678516e0928b16b7296ca46917086e46d6b1c53fb268900435f0c37eec24a21d3a616abf979a047200e8c26eeed1beeeeb1a9844059d839c34636
+DIST ksystemstats-6.2.0.tar.xz 143240 BLAKE2B 8b0eab16bd9fe2e69aca4847e3ceb5479a84accc3400a906f86517ea96d94628a9755c0b074ed475625067fd7b4e19f29877de9451bb1c5885ff2c1e9ba98e7f SHA512 56f9a648a041d9ae96f5eab05c2e40f26a5b6de61d6e251300a02e15128e8e52db0bc0dac9feadb9616f8c024066d68f00aa30aa388a2c1f1520e9d6c0b343cd
diff --git a/kde-plasma/ksystemstats/ksystemstats-6.2.0.ebuild b/kde-plasma/ksystemstats/ksystemstats-6.2.0.ebuild
new file mode 100644
index 000000000000..559ce982fc5e
--- /dev/null
+++ b/kde-plasma/ksystemstats/ksystemstats-6.2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+VIRTUALX_REQUIRED="test" # bug 909312 (test fails)
+inherit ecm plasma.kde.org virtualx
+
+DESCRIPTION="Plugin-based system monitoring daemon"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="networkmanager"
+
+DEPEND="
+ dev-libs/libnl:3
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,network]
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+ net-libs/libpcap
+ sys-apps/lm-sensors:=
+ sys-libs/libcap
+ virtual/libudev:=
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/kde-plasma/kwallet-pam/Manifest b/kde-plasma/kwallet-pam/Manifest
index 1af6bebd88ea..8b9feac5244c 100644
--- a/kde-plasma/kwallet-pam/Manifest
+++ b/kde-plasma/kwallet-pam/Manifest
@@ -1 +1,2 @@
DIST kwallet-pam-6.1.5.tar.xz 22524 BLAKE2B 3ae0ed78f568962ba24261d7f0801e9405c6356d4688ec914da750663cc10d2a0ada0b58dda4c5aa50035bda3f71b094654596ed5a00af91e433bb968854b4ad SHA512 367836153d8624c9e1df9fa24a05d09455d36584bceb452bb27958eeabc6a71648fa8cff77d3674e8cc21cf30044da2427a81d7302acb4e512de2c8d8b34258a
+DIST kwallet-pam-6.2.0.tar.xz 22548 BLAKE2B a736d4a2f50dc45d7d6e008241cabe5467f725c2d84530002d58018cc27ab68d328df1e1298e6e35308e995177ef725b65ff532dba5146f7eabc41ca4267334d SHA512 1aaefbc300812ed761f28976c10b65d7176bbd07fdda545f955c34b70258e8e542bae698b2748e40e63a74cd54fb0de7fbed7439256a9e8c07193c92871679cf
diff --git a/kde-plasma/kwallet-pam/kwallet-pam-6.2.0.ebuild b/kde-plasma/kwallet-pam/kwallet-pam-6.2.0.ebuild
new file mode 100644
index 000000000000..dfa8a66a00e8
--- /dev/null
+++ b/kde-plasma/kwallet-pam/kwallet-pam-6.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+inherit ecm plasma.kde.org
+
+DESCRIPTION="PAM module to not enter KWallet password again after login"
+
+LICENSE="LGPL-2.1"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ dev-libs/libgcrypt:0=
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ sys-libs/pam
+"
+RDEPEND="${DEPEND}
+ net-misc/socat
+"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LIBDIR="/$(get_libdir)"
+ )
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+ elog "This package enables auto-unlocking of kde-frameworks/kwallet:6."
+ elog "See also: https://wiki.gentoo.org/wiki/KDE#KWallet_auto-unlocking"
+}
diff --git a/kde-plasma/kwayland-integration/Manifest b/kde-plasma/kwayland-integration/Manifest
index e0aa8c5e6d6b..e74fee05f7d5 100644
--- a/kde-plasma/kwayland-integration/Manifest
+++ b/kde-plasma/kwayland-integration/Manifest
@@ -1,3 +1,4 @@
DIST kwayland-integration-5.27.11.tar.xz 25708 BLAKE2B 67fe2d113955b2cdec1c3d621efbe84b2565aa3f22e0d15eb95f1a2bce1a6c7fe87da9c2974d93fb2f1939d92d64d2ab2a2a1db609df5973ded5ac4a02f214cf SHA512 c5f19a03e8161b346dbd89fb0d1b72d7906c19a7d55535878d9d75b7d96025d61808161f6b0ccaf9b5fef1d112f8e0ba1033ce149e42aec2cd261351d5ffb1c9
DIST kwayland-integration-6.1.4.tar.xz 26420 BLAKE2B ee21cbb36234a1abbcbcb915e5e9a073767362a8b9ceb2d2fac450c4fa5e570b1c3ebc3fbc6b8291c6cf96846c747fa0f03e193e3e6462add6e13734e8136ca1 SHA512 0424f308558b3a1612426aeb5c1230617d18430029ce987178d3bcb69d34e2dfd044563fbef4d1d3d24d2a091069416a302ca376d5267f1819a2f1cad0657447
DIST kwayland-integration-6.1.5.tar.xz 26396 BLAKE2B 7394bde4d04cbdb05367c1804e18718da2144c2190889be53f8cf9a20599593f46ab1933d07b6859de82f832cb30ffde4fba363c296799b190394f974e312ea8 SHA512 02ec5089483f466ee51a1a67a523aa8bac60c45b5cb80372a81493b43294fc83735152bbadb043c5b8af484fe29799da662c9bf5261adf3da774af5ce247b5aa
+DIST kwayland-integration-6.2.0.tar.xz 26392 BLAKE2B ab80480afead2ea7ee88e2b2df7429b74e3e4a96459396cb49661963a2d3d87efd4b19c12188e30704219344a6bede4f2278b93b5cd43260699423de257b5e73 SHA512 a3b3a0599a44e586df565be0b507ab720c200152ae0e3aaeb928f13790db6738d6db0aeb610af8909f961ed9ac3fda9933e289049a0ef94c8334a4281534978f
diff --git a/kde-plasma/kwayland-integration/kwayland-integration-6.2.0.ebuild b/kde-plasma/kwayland-integration/kwayland-integration-6.2.0.ebuild
new file mode 100644
index 000000000000..599a5bbb2547
--- /dev/null
+++ b/kde-plasma/kwayland-integration/kwayland-integration-6.2.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=5.115.0
+QTMIN=5.15.12
+inherit ecm flag-o-matic plasma.kde.org
+
+DESCRIPTION="Provides KWindowSystem integration plugin for Wayland"
+HOMEPAGE="https://invent.kde.org/plasma/kwayland-integration"
+
+LICENSE="LGPL-2.1"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# dev-qt/qtgui: QtXkbCommonSupport is provided by either IUSE libinput or X
+# slot ops:
+# dev-qt/qtgui: QtXkbCommonSupportPrivate
+# dev-qt/qtwayland: Qt::WaylandClientPrivate (private/qwayland*_p.h) stuff
+# kde-frameworks/kwindowsystem: Various private headers
+RDEPEND="
+ >=dev-libs/wayland-1.15
+ >=dev-qt/qtgui-${QTMIN}:5=
+ || (
+ >=dev-qt/qtgui-${QTMIN}:5[libinput]
+ >=dev-qt/qtgui-${QTMIN}:5[X]
+ )
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtwayland-${QTMIN}:5=
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5=
+ >=kde-plasma/kwayland-${KFMIN}:5
+ x11-libs/libxkbcommon
+"
+DEPEND="${RDEPEND}
+ dev-libs/plasma-wayland-protocols
+"
+BDEPEND="
+ >=dev-qt/qtwaylandscanner-${QTMIN}:5
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+src_configure() {
+ filter-lto # bug 921430
+ ecm_src_configure
+}
diff --git a/kde-plasma/kwayland/Manifest b/kde-plasma/kwayland/Manifest
index a9911db11367..6c07268351f0 100644
--- a/kde-plasma/kwayland/Manifest
+++ b/kde-plasma/kwayland/Manifest
@@ -1,3 +1,4 @@
DIST kwayland-5.116.0.tar.xz 337540 BLAKE2B e238af4a122317fde2b207762858fb913005afde60f1b9cf2dfd90163021d8c3d7d9c3b055a4bb3ae26b5d0560e90c9e0d1e1e51480315bf1a5bc5592a231d11 SHA512 48b24c88872a21d237274868fea601120fb9700f888ab0a7531651dc6501db8559af3a70b6131d89d31010e1f32013222d42e9d1244ae91bf9972588494957a9
DIST kwayland-6.1.4.tar.xz 134076 BLAKE2B 74bf3b4e5890fd0ccca7e10bc84e341571349da803ad673f66494a0006875359c4cdb3455751d376cda96bb5a7c45381c4e2b8bd5e181e116e141bc08b21c706 SHA512 926906b9536b53f8443f04d09c8ea5c381031c23920893e6821438181ece12972efa62dc83ede6e268a92a3f5752a8772ee0687b7bfd210dab82cbaab1fbbbfa
DIST kwayland-6.1.5.tar.xz 134076 BLAKE2B abba6423c470c21f834e304babe1b2e77c53526e0bd2bdc361fd0e6b8fbe7c1c248bc8e6ea5db118ec1b84f7bf59f361d28b14c908fbed132738675aa803f2e8 SHA512 d2e24141af64f987ad49e0dbefb82c472377bba6ef902ab65261095cc3a9d76cf585ee9b77f1a314f64d747fb035b38d8f11ddcd68af0eec1fbb6411e3860a00
+DIST kwayland-6.2.0.tar.xz 134172 BLAKE2B c108361a116d45f82f3902098d9ee747d05ccdfb9215620aaae8870b51d806ab286562de23803284ce74d4508521f8e30081a5520201d48b5bc18a0d1e0f3b08 SHA512 b914f3c9ff5ed8e2d56945b577585a5ffe18b4e25fa9832ff5ea61a166a83ee3ef27b1d1a0a0a77845d3587677977b68a86271dc5021e32303cc005befa7ee6e
diff --git a/kde-plasma/kwayland/kwayland-6.2.0.ebuild b/kde-plasma/kwayland/kwayland-6.2.0.ebuild
new file mode 100644
index 000000000000..6e0b17574c70
--- /dev/null
+++ b/kde-plasma/kwayland/kwayland-6.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm flag-o-matic plasma.kde.org
+
+DESCRIPTION="Qt-style API to interact with the wayland-client API"
+HOMEPAGE="https://invent.kde.org/frameworks/kwayland"
+
+LICENSE="LGPL-2.1"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# All failing, I guess we need a virtual wayland server
+RESTRICT="test"
+
+# slot ops: includes qpa/qplatformnativeinterface.h, surface_p.h
+RDEPEND="
+ >=dev-libs/wayland-1.15.0
+ >=dev-qt/qtbase-${QTMIN}:6=[concurrent,gui,opengl]
+ >=dev-qt/qtwayland-${QTMIN}:6=
+ media-libs/libglvnd
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ >=dev-libs/wayland-protocols-1.15
+ sys-kernel/linux-headers
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=dev-util/wayland-scanner-1.19.0
+"
+
+src_configure() {
+ filter-lto # bug 866575
+ ecm_src_configure
+}
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 4fbba7ee3585..c0ff920b51ce 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1 +1,2 @@
DIST kwin-6.1.5.tar.xz 8503432 BLAKE2B 8cd8da89f93ac64dbb8a42e90a09a188b86762440964d4e9425a924f0349360bcf31f187fcfb66b61fca42db44f93c97f313703c5b602e873035bec86f36b0b1 SHA512 a71d1f814c948293d5552504115178f20e7450ead86c57b0fda79584f613fbc77851d1735945f7f05bf0b6b8c09cdacf53154820176d133f41ec736ae1492946
+DIST kwin-6.2.0.tar.xz 8550552 BLAKE2B 83f37a869163702d8690f914549e7f2cb723dea20ebb234c13b53cd38db11736881cf90c8b0dd6b65ed3ec5882fc16061eb0e4d9b4ac2283b1b533cd0273f680 SHA512 1140a754391c43f6bf4d56e47046ef28f6fc814abe361317b37c8f6256bdf4fd39d8afd7c3d9c4f5a7e1c2e3e462786a5d59c44a323b78cf176c908f0f33dc68
diff --git a/kde-plasma/kwin/kwin-6.2.0.ebuild b/kde-plasma/kwin/kwin-6.2.0.ebuild
new file mode 100644
index 000000000000..769ee649f291
--- /dev/null
+++ b/kde-plasma/kwin/kwin-6.2.0.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="accessibility +caps gles2-only lock screencast +shortcuts systemd"
+
+RESTRICT="test"
+
+# qtbase slot op: GuiPrivate use in tabbox
+COMMON_DEPEND="
+ dev-libs/libei
+ >=dev-libs/libinput-1.19:=
+ >=dev-libs/wayland-1.23.0
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=dev-qt/qtbase-${QTMIN}:6=[accessibility=,gles2-only=,gui,libinput,opengl,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsensors-${QTMIN}:6
+ >=dev-qt/qtshadertools-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6[qml]
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6=[X(+)]
+ >=kde-frameworks/kguiaddons-${KFMIN}:6[wayland]
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6=[wayland]
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6=[wayland,X]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-plasma/breeze-${PVCUT}:6
+ >=kde-plasma/kdecoration-${PVCUT}:6
+ >=kde-plasma/kwayland-${PVCUT}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/lcms:2
+ media-libs/libcanberra
+ media-libs/libdisplay-info:=
+ media-libs/libepoxy
+ media-libs/libglvnd
+ >=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+ virtual/libudev:=
+ x11-libs/libX11
+ x11-libs/libXi
+ >=x11-libs/libdrm-2.4.116
+ >=x11-libs/libxcb-1.10:=
+ >=x11-libs/libxcvt-0.1.1
+ >=x11-libs/libxkbcommon-1.5.0
+ x11-libs/xcb-util-cursor
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ accessibility? ( media-libs/libqaccessibilityclient:6 )
+ gles2-only? ( || (
+ >=media-libs/mesa-24.1.0_rc1[opengl]
+ <media-libs/mesa-24.1.0_rc1[gles2]
+ ) )
+ lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:6 )
+ screencast? ( >=media-video/pipewire-0.3.65:= )
+ shortcuts? ( >=kde-plasma/kglobalacceld-${PVCUT}:6 )
+"
+RDEPEND="${COMMON_DEPEND}
+ !kde-plasma/kdeplasma-addons:5
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ || (
+ dev-qt/qtmultimedia:6[ffmpeg]
+ (
+ dev-qt/qtmultimedia:6[gstreamer]
+ media-plugins/gst-plugins-soup:1.0
+ )
+ )
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6[wayland(+)]
+ sys-apps/hwdata
+ x11-base/xwayland[libei]
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ >=dev-libs/wayland-protocols-1.36
+ >=dev-qt/qttools-${QTMIN}:6[widgets]
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+ >=dev-qt/qtwayland-${QTMIN}:6
+ x11-base/xorg-proto
+ x11-libs/xcb-util-image
+ caps? ( sys-libs/libcap )
+ test? ( screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 ) )
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ dev-util/wayland-scanner
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+"
+
+src_prepare() {
+ ecm_src_prepare
+
+ # TODO: try to get a build switch upstreamed
+ if ! use screencast; then
+ sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if ! use systemd; then
+ sed -e "s/^pkg_check_modules.*libsystemd/#&/" -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # TODO: KWIN_BUILD_X11=$(usex xwayland) KWIN_BUILD_X11_BACKEND=$(usex X)
+ # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
+ $(cmake_use_find_package accessibility QAccessibilityClient6)
+ $(cmake_use_find_package caps Libcap)
+ -DKWIN_BUILD_SCREENLOCKER=$(usex lock)
+ -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/kwrited/Manifest b/kde-plasma/kwrited/Manifest
index f149109bbebd..f6ab4e04c8ec 100644
--- a/kde-plasma/kwrited/Manifest
+++ b/kde-plasma/kwrited/Manifest
@@ -1 +1,2 @@
DIST kwrited-6.1.5.tar.xz 23740 BLAKE2B 2fc3e97e2567a86836c417bfd47856a2fea733c923ed3d6603299145fbff146c3028d347787a2b126505531789716676f11b04e4ae3a8c203f41c4ee97c0a186 SHA512 cdef2ace824e4fe71b8ef9ed100fcbf983f94945f1fcdd676f20e65df208533fbd04604db7be1fc3711e1444cde73f3835836106dee009f8fcc97f5ad5c7030d
+DIST kwrited-6.2.0.tar.xz 23728 BLAKE2B 7dbc0919f1970c3efacbdeccd92858fddb9a69a1e574d82433ae0e8da956ea7b1f0453cb6dc17bcdb9fc5379ec1e9bf42bad86245628954c4b061f06120dd17e SHA512 50ee35f315019fc22edac1ba18065ddfad34e39cd18a751c8e347f55704d61c571ddcfec9943c5b97e437800e9889d6b6bdd34080086e768d569a3fc36e5c78f
diff --git a/kde-plasma/kwrited/kwrited-6.2.0.ebuild b/kde-plasma/kwrited/kwrited-6.2.0.ebuild
new file mode 100644
index 000000000000..da36f1be8d73
--- /dev/null
+++ b/kde-plasma/kwrited/kwrited-6.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma daemon listening for wall and write messages"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kpty-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
diff --git a/kde-plasma/layer-shell-qt/Manifest b/kde-plasma/layer-shell-qt/Manifest
index 5aa6bbaa4b73..2fae8f569a19 100644
--- a/kde-plasma/layer-shell-qt/Manifest
+++ b/kde-plasma/layer-shell-qt/Manifest
@@ -1 +1,2 @@
DIST layer-shell-qt-6.1.5.tar.xz 35964 BLAKE2B 35cf6bb91a6a1f2b6c2bc47ca19776315d0353af9a2cbffea45f89b9ab4963f5c6936483b6d65138062d93443fa35d04aa83ad6573a4b99a2fb440da7cdf663a SHA512 b5b34a02ea7a39e37300301691400859d5e47133b77fbdfbbfe9b5e109a18d2e538749dfffdd8b8a655996f0b63d254fe72a8762b3ef667314cd507eba870154
+DIST layer-shell-qt-6.2.0.tar.xz 36068 BLAKE2B c96a175c924d838b713ae2e7b1445ef471ed09479db661b9c35bb258dc9c2cefaad9b111e9130ae065268c5257240a52153193ecae5ccba2074a3b1974f8081d SHA512 6119cc2fb55302da16bbb2c0c6abbcd42051f76f5b031953f08473b50aeabf4f3d13341f3f856bd2fe6e0492899f57347eddde8c2ec3e447ef44de3a2dc195ff
diff --git a/kde-plasma/layer-shell-qt/layer-shell-qt-6.2.0.ebuild b/kde-plasma/layer-shell-qt/layer-shell-qt-6.2.0.ebuild
new file mode 100644
index 000000000000..6fd7db8b205a
--- /dev/null
+++ b/kde-plasma/layer-shell-qt/layer-shell-qt-6.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Qt component to allow applications make use of Wayland wl-layer-shell protocol"
+
+LICENSE="LGPL-3+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# slot op: various private QtWaylandClient headers
+RDEPEND="
+ >=dev-libs/wayland-1.15
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtwayland-${QTMIN}:6=
+ x11-libs/libxkbcommon
+"
+DEPEND="${RDEPEND}
+ dev-libs/wayland-protocols
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/kde-plasma/libkscreen/Manifest b/kde-plasma/libkscreen/Manifest
index 3a06541d8d01..ed219fe68b9d 100644
--- a/kde-plasma/libkscreen/Manifest
+++ b/kde-plasma/libkscreen/Manifest
@@ -1,2 +1,3 @@
DIST libkscreen-5.27.11.tar.xz 116052 BLAKE2B a727284888faa02f86c12ed332daa7fd5bf3fa2611664a5cd37608d61821a59023fb11b19afe26210735d5ffe5ee2e56a3a3b737b66d99aae8177061bb5cba5b SHA512 46cca0d7f91be8a284cbee951183d5559a1f298b987e5f76d5bf4b9a3d292d8ccf363f409582080d04aee692083f3e0a073bae15444f53e0f77565bb7c2255ba
DIST libkscreen-6.1.5.tar.xz 119148 BLAKE2B 1344923ddc5baac058438bfaf1a976a62b2e778f497dda463a3be8ada3828f8eaf983f573947025bc8a59df2243234c8bb2820381d5c85de6605b5e121c9ccdb SHA512 b3d544187a02485356516eb3281841e77f6bf4d4f0548ffc4b49c295051b2c30fa0d3da3e98bdd9958f9c87c48d74aef5ad5f0ef32f854791ab829d86d9a419e
+DIST libkscreen-6.2.0.tar.xz 119540 BLAKE2B 00185cd69744521e79e460ff434f416f0ba50c8ed836a20782a045bcdbbbbc64c66cc3d8a1e92fa50e065f07f4aeaa8f78ab21c3432e5191adac3097ac609902 SHA512 e7cec637b9518744121523ee084fff7ace05e276049a2aae223126b04a5c27171ce322f1363c238b1c8c94d1dbec17b6b0cf9f1e6e3c718979709f88b7b8f8c1
diff --git a/kde-plasma/libkscreen/libkscreen-6.2.0.ebuild b/kde-plasma/libkscreen/libkscreen-6.2.0.ebuild
new file mode 100644
index 000000000000..eeec70b5b69d
--- /dev/null
+++ b/kde-plasma/libkscreen/libkscreen-6.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plasma screen management library"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6/8"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# requires running session
+RESTRICT="test"
+
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+RDEPEND="
+ dev-libs/wayland
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui]
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ x11-libs/libxcb:=
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+"
+BDEPEND="
+ >=dev-qt/qttools-${QTMIN}:6[linguist]
+ >=dev-qt/qtwayland-${QTMIN}:6
+ dev-util/wayland-scanner
+"
diff --git a/kde-plasma/libksysguard/Manifest b/kde-plasma/libksysguard/Manifest
index 9d408df70ae1..83439d1182c5 100644
--- a/kde-plasma/libksysguard/Manifest
+++ b/kde-plasma/libksysguard/Manifest
@@ -1 +1,2 @@
DIST libksysguard-6.1.5.tar.xz 306220 BLAKE2B 37f7e9c7fc1e91a0cfa4ab18b276e3d5187cb0a2a543a6a8d8d61a125cff49bcb1b73b85a1a3ea1f4079d10a94431995c5812e51198a7a12bf8f457b678b42af SHA512 d3ffec5479510241c3d006a7d0bc8ed23cd37dad84422c48bf8dad3eca62883759c2a536ffabe1bede1073144415f53cca8c2099129e96b18c8283a9e4e48140
+DIST libksysguard-6.2.0.tar.xz 313728 BLAKE2B 42786a59bce1dbcf05c3116ff28000f97c6b5b3774e606bfff013ce8c24778e1c5595f7f590657cee6bc5b5895c75164b1d504383aa90934248f69b56bbeb143 SHA512 b80488b7e7eed1e24d427fe7cf9d782549ff22ef83f2ea502e7c2d5b1bea7689bd759affc5d5bbec4cb85774a814bda466332a187cfaecb648080c56c552860d
diff --git a/kde-plasma/libksysguard/libksysguard-6.2.0.ebuild b/kde-plasma/libksysguard/libksysguard-6.2.0.ebuild
new file mode 100644
index 000000000000..a31a1b75c6c2
--- /dev/null
+++ b/kde-plasma/libksysguard/libksysguard-6.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Task management and system monitoring library"
+
+LICENSE="LGPL-2+"
+SLOT="6/9"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/libnl:3
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6[qml]
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ net-libs/libpcap
+ sys-apps/lm-sensors:=
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-libs/libcap"
+
+src_test() {
+ # bugs 797898, 889942: flaky test
+ local myctestargs=(
+ -E "(sensortreemodeltest)"
+ )
+ LC_NUMERIC="C" ecm_src_test # bug 695514
+}
diff --git a/kde-plasma/libplasma/Manifest b/kde-plasma/libplasma/Manifest
index cecde86b0e3f..9465fac30320 100644
--- a/kde-plasma/libplasma/Manifest
+++ b/kde-plasma/libplasma/Manifest
@@ -1,2 +1,3 @@
DIST libplasma-6.1.4.tar.xz 2117624 BLAKE2B 95267993a201d4c8fb638e5f61a346736a0b86b20aa99b393e5d6695f5d798573b97fd1e516e541216583dac1af214043e7f78e0960a2415ea18cab073cec794 SHA512 d0db7ad8ceb9b63019d63070233664cd5f5b8a25b4f9de9a435e49db89f5b57bb71889b0d3fa07e0a99e3085f3874e80cff6b7c9190b467e63ff9a44e934107f
DIST libplasma-6.1.5.tar.xz 2118832 BLAKE2B 7f499104181a6346ae0660d0cc2dab0172342b47e0b45950453aba602ddf408e87ff1e3df583ead4beff0d029489da86ced32a51e4ace1793809e049a81af163 SHA512 586ef5c408523eb8d5ef77f61277541c58070ea9147a7437f502e339a47d0f2d031c13d7843cfc094efb108779136cee3c06181b86004df1c46780e26d567717
+DIST libplasma-6.2.0.tar.xz 1969024 BLAKE2B 7c5bbf63ad57a7b6ddfbf929662964577465abfc8a741796fa0c11ea42561e1235f7b0c3ec70336abd771c59b54036c25a8502f6932337abc9a2f31a6eb6f3d9 SHA512 cf4bec80ba5bc8fcb8a8889bceaaa43ad8dbcf7827b5bc5dba70a7c341ba2f8b16c3c86268fb3bc3d4cdf094d05014bdd1f0102611b63fc6d5f2ba492c7acc83
diff --git a/kde-plasma/libplasma/libplasma-6.2.0.ebuild b/kde-plasma/libplasma/libplasma-6.2.0.ebuild
new file mode 100644
index 000000000000..b04a3c2730a2
--- /dev/null
+++ b/kde-plasma/libplasma/libplasma-6.2.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plasma library and runtime components based upon KF6 and Qt6"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="gles2-only"
+
+RESTRICT="test"
+
+# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gles2-only=,gui,widgets,X]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-libs/wayland-1.15.0
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6[qml]
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ =kde-plasma/plasma-activities-${PVCUT}*:6
+ media-libs/libglvnd
+ x11-libs/libX11
+ x11-libs/libxcb
+ !gles2-only? ( media-libs/libglvnd[X] )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ !${CATEGORY}/${PN}:5[-kf6compat(-)]
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=dev-util/wayland-scanner-1.19.0
+"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package !gles2-only OpenGL)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/milou/Manifest b/kde-plasma/milou/Manifest
index 57b4109ddd7c..fc05f4a85914 100644
--- a/kde-plasma/milou/Manifest
+++ b/kde-plasma/milou/Manifest
@@ -1 +1,2 @@
DIST milou-6.1.5.tar.xz 50180 BLAKE2B 5e24ce0e15d372a9902dc21f1c5017e664faadd5fadca28f861102771c86f6f6a5228bb62e7d0daff4eda66bbb943d35d84589f489f4eb7c735ec37fc103457d SHA512 20f375fe8cee905238529e0215d2146af29fa7d7007f2a73f37a681ec8940a6e71a3e34bb5d149dc70f0f91ce55653d66b9afb60c5b740a4ada0fe0b47d87654
+DIST milou-6.2.0.tar.xz 49960 BLAKE2B 0c74e379ae382ed9a999051af05c644199ff5f7fb9a5fcb0daa363215f7311ccb96289b640f56d65f3dc4a8e095a77b006cf5d33d4ebfb859a764ef6ada2f2f9 SHA512 a0af727041a014aee0a3b1565b559322407df94e976111aba9293e2a9bb72828e9d40059eba3fdfccab9e084469ac521ff36e7ba250e7683af25a7ea3d61b525
diff --git a/kde-plasma/milou/milou-6.2.0.ebuild b/kde-plasma/milou/milou-6.2.0.ebuild
new file mode 100644
index 000000000000..9eef3e6d0a68
--- /dev/null
+++ b/kde-plasma/milou/milou-6.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Dedicated search application built on top of Baloo"
+HOMEPAGE="https://invent.kde.org/plasma/milou"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
+RDEPEND="${DEPEND}"
diff --git a/kde-plasma/ocean-sound-theme/Manifest b/kde-plasma/ocean-sound-theme/Manifest
index 87b2f97fa8b7..1263a6d80716 100644
--- a/kde-plasma/ocean-sound-theme/Manifest
+++ b/kde-plasma/ocean-sound-theme/Manifest
@@ -1 +1,2 @@
DIST ocean-sound-theme-6.1.5.tar.xz 1210080 BLAKE2B 1591fce46da589b0194f4b5093d0aafd52cc6f7a0a340fc89495e1cf9c4ffb5f00991b0f0f2f6160736c93651b228155a4a2ebf2bc03eb56a69d77fc824753c0 SHA512 f2aed788c1896b6e8fd24c1da5431e3298b49bfb4c08b5924938ab0cda5aa098565cb34fb8dc4735caf62021b12bf1db4bba90bc5cae1037918a86d79b37a2dc
+DIST ocean-sound-theme-6.2.0.tar.xz 2113724 BLAKE2B dc34a9eec951473b7eb677264f0db37f37acdc03ffdc14f481393fad3a6ed2b9a8bc7b5a5cba41408f186898c7b2290db9df365784b34d7ac9d089dad3f9937c SHA512 1d80445b20c50c83d868af2135aa6f1f663143ebd14ab6c982b5d694bdd456c7ed03faa1d537c257d156ba6ee8d8698464ffe4207202115e5f7f3ba6be5b75ed
diff --git a/kde-plasma/ocean-sound-theme/ocean-sound-theme-6.2.0.ebuild b/kde-plasma/ocean-sound-theme/ocean-sound-theme-6.2.0.ebuild
new file mode 100644
index 000000000000..e1dd34217819
--- /dev/null
+++ b/kde-plasma/ocean-sound-theme/ocean-sound-theme-6.2.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Ocean Sound Theme for Plasma"
+HOMEPAGE="https://invent.kde.org/plasma/ocean-sound-theme"
+
+LICENSE="CC-BY-SA-4.0"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
diff --git a/kde-plasma/oxygen-sounds/Manifest b/kde-plasma/oxygen-sounds/Manifest
index 9a8d2af71204..29ef34bc20e5 100644
--- a/kde-plasma/oxygen-sounds/Manifest
+++ b/kde-plasma/oxygen-sounds/Manifest
@@ -1 +1,2 @@
DIST oxygen-sounds-6.1.5.tar.xz 1936612 BLAKE2B 719ca8a4dc643247425e67ec3c60615a83ef9d0f1496108c80eff255b2f4e59efec86e6ffc1a7cd002dcae003c830fcbd7a00fdc395036125e60cf37d78c4c84 SHA512 b354b9384a4a7c6271e9bec7cf197d28eef059929da4b63959cd6205b1c2af332c89152214c2c1aaae8c8473da31a4d5ba4a0236256951b567007608c9d2e1c1
+DIST oxygen-sounds-6.2.0.tar.xz 1936404 BLAKE2B 34c5fa1458d3d20d95515f76cbafe5989f784afb8430637f88d271f49d49bc0f546cd241c5b3dda1e55c6fbaf2d93391f23c25bc4fb01504ee160ef510818943 SHA512 3945967a79347f2dc2f7c6c51c44bc138dbc3729b560ade7f0aee738c0d3b62db7dfbe60e9ae96bfb1c332d502abe973150843641926d0a127a0e8a926a9bf8a
diff --git a/kde-plasma/oxygen-sounds/oxygen-sounds-6.2.0.ebuild b/kde-plasma/oxygen-sounds/oxygen-sounds-6.2.0.ebuild
new file mode 100644
index 000000000000..b308a1e65be4
--- /dev/null
+++ b/kde-plasma/oxygen-sounds/oxygen-sounds-6.2.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Oxygen sound theme for the Plasma desktop"
+HOMEPAGE="https://invent.kde.org/plasma/oxygen-sounds"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
diff --git a/kde-plasma/oxygen/Manifest b/kde-plasma/oxygen/Manifest
index d7107293ee39..3357dbafc842 100644
--- a/kde-plasma/oxygen/Manifest
+++ b/kde-plasma/oxygen/Manifest
@@ -1 +1,2 @@
DIST oxygen-6.1.5.tar.xz 2800624 BLAKE2B 4ae90887ce11f776fab8515735a9bd1a8f554dcb7e18e04c43f9b75ea21f3a30847a7f829e105c77c55cf3552fa0301276bf492c483b17e12c6945ca801f515b SHA512 d753421177805a687c390bde0c43a2b53adfe038a1bfeffaabafea71fde12e7b8e49903892c9a25b6de560a5f8587a5c74d4965fbe76ca39f814b9db787faff9
+DIST oxygen-6.2.0.tar.xz 2954172 BLAKE2B 83820f4f2322ebf035a2202a9280bdfa934be7042e3bbe1c4569e64265b3f1e5e89af66251e535819cdbcdcfbaf157981bf4da8129ccb54465f680c79cd4816b SHA512 a7856c0852d400106c75045645f6a4b20b600ea8330473ed2321a485fa98909acb8dcd8fb5e1d949e9124d9218cddbe991185f86bd24836324ff5d69e18a5456
diff --git a/kde-plasma/oxygen/oxygen-6.2.0.ebuild b/kde-plasma/oxygen/oxygen-6.2.0.ebuild
new file mode 100644
index 000000000000..7a7a1380a18f
--- /dev/null
+++ b/kde-plasma/oxygen/oxygen-6.2.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KF5MIN=5.115.0
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QT5MIN=5.15.12
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Oxygen visual style for the Plasma desktop"
+HOMEPAGE="https://invent.kde.org/plasma/oxygen"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="qt5 X"
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/frameworkintegration-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/kdecoration-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ qt5? (
+ >=dev-qt/qtdbus-${QT5MIN}:5
+ >=dev-qt/qtdeclarative-${QT5MIN}:5
+ >=dev-qt/qtgui-${QT5MIN}:5
+ >=dev-qt/qtwidgets-${QT5MIN}:5
+ >=kde-frameworks/frameworkintegration-${KF5MIN}:5
+ >=kde-frameworks/kcompletion-${KF5MIN}:5
+ >=kde-frameworks/kconfig-${KF5MIN}:5
+ >=kde-frameworks/kconfigwidgets-${KF5MIN}:5
+ >=kde-frameworks/kcoreaddons-${KF5MIN}:5
+ >=kde-frameworks/kguiaddons-${KF5MIN}:5
+ >=kde-frameworks/ki18n-${KF5MIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KF5MIN}:5
+ >=kde-frameworks/kwindowsystem-${KF5MIN}:5
+ X? ( >=dev-qt/qtx11extras-${QT5MIN}:5 )
+ )
+ X? (
+ >=dev-qt/qtbase-${QTMIN}:6=[gui]
+ x11-libs/libxcb
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=kde-frameworks/kservice-${KFMIN}:6
+"
+RDEPEND="${COMMON_DEPEND}
+ !<kde-plasma/libplasma-6.1.90:*[-kf6compat(-)]
+ >=dev-qt/qtsvg-${QTMIN}:6
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_QT6=ON
+ -DBUILD_QT5=$(usex qt5)
+ $(cmake_use_find_package X XCB)
+ )
+ ecm_src_configure
+}
diff --git a/kde-plasma/plasma-activities-stats/Manifest b/kde-plasma/plasma-activities-stats/Manifest
index 52d5843870b6..a6347f179b1e 100644
--- a/kde-plasma/plasma-activities-stats/Manifest
+++ b/kde-plasma/plasma-activities-stats/Manifest
@@ -1,2 +1,3 @@
DIST kactivities-stats-5.116.0.tar.xz 84584 BLAKE2B 89cf9fdce57c6eaeab9438c47127b682ef4e10d08cce4041ae8aecb07b8a492f0c1a21d96c5a906869db97f8c06d81c17a8addf48c6d47584dfbbe544bcf0970 SHA512 a50b84e989aecc551064c28f8e330ebc9054edc459cf085924ea61f17fcce8fa5037c39c485c5a58acdab5d93898e34648c292f91c450d075a09d0a0a18a610e
DIST plasma-activities-stats-6.1.5.tar.xz 83172 BLAKE2B 2bb12b6d08f74e304869d61afb60fb8bbfb885f350c38ed150c7a47034283c8d5066f18dffa8d7236f9de4e07c665a7e086c12da9eef7eebed6d4f4e82050589 SHA512 0656ca683a99f81a7b420f288731f46dd54558930896e3cb78da330e530681e87168d5ed9896975a6aed6b653b908051695a158840d03c047702208012db19c7
+DIST plasma-activities-stats-6.2.0.tar.xz 83180 BLAKE2B b7fcfe3b98d70db924024a3dff2bd985a7c1ed47646b67194c1076331384a3c158b3de754d00ccc07335a4bae14672d99b469f3345055c67e90416d6311bd67a SHA512 3556d7edecda08943a0712c578e58800fc8d7dbc0b970f017f74fdc308633ccd4d981d04717fcc101695fc52559aa7561210a2efc49e71464c53b6ded659e48d
diff --git a/kde-plasma/plasma-activities-stats/plasma-activities-stats-6.2.0.ebuild b/kde-plasma/plasma-activities-stats/plasma-activities-stats-6.2.0.ebuild
new file mode 100644
index 000000000000..ffafa5b047c4
--- /dev/null
+++ b/kde-plasma/plasma-activities-stats/plasma-activities-stats-6.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Library for accessing usage data collected by the activities system"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,sql]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ kde-plasma/plasma-activities:6
+"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/boost )
+"
diff --git a/kde-plasma/plasma-activities/Manifest b/kde-plasma/plasma-activities/Manifest
index f6d7b3f23726..885ce94c28cb 100644
--- a/kde-plasma/plasma-activities/Manifest
+++ b/kde-plasma/plasma-activities/Manifest
@@ -1,3 +1,4 @@
DIST kactivities-5.116.0.tar.xz 73556 BLAKE2B 16a978a9df89bb74aa97553e53c7cd4a1ac69c99868a381090b46d37702cc38c847ae404b989adee9b00511f228ffa07b4e5b830802f9aa923d0f79508ea24ff SHA512 d36755cbf3e28262086da2d737c99eb6829c75c374972b97f8dfa7ba0f5d2c02c4d00e833702d23c04d02a6883d14735950cbdc0d92bb6dfa3fe615a488d5adf
DIST plasma-activities-6.1.4.tar.xz 71112 BLAKE2B 614670034187f490a8ce34e036b2cb0e75f0880a08ff7bedf1b47b62c20aac326b463e00dab032af57b590864d601eee7d8b6958694f1c4189df86b54404916d SHA512 af71477bc664994bf2870a122bf69d5e55533e7240c5b88052cd9f757e456e72b0b964c906ca73e2413581fdb1bb800407820a948eaa53757ad456eddcf5ba39
DIST plasma-activities-6.1.5.tar.xz 71148 BLAKE2B 14a68f55d8ddf0fcce9fcb95e34d1b64203b0ffcce213583434bf98b9f20fbbd57bc33e637ac42113f2055cf94249996691df7b7b68d26f8d6a5e57b506ac0ce SHA512 219d646963a5ea4d23687c1c151bcc1e97e75c3223c09043e939283a8a3fe272995731853c5917fb378b57e3185d72de933a1f9e1d76e36d20f319fb73baa52e
+DIST plasma-activities-6.2.0.tar.xz 66776 BLAKE2B 78b5e88721cd82d5bb2d32503f60f5360502fc07fc62558a3cf336329e1e370a52ad93070507e00da30fca728ac3339f6f1b7125d50d14b8d4d75d1c9983b975 SHA512 c30226460ca2aba3b9394598e7eab499a006715361ec5dddb1a0a93211d45c95bf44fdabefd1850d9efebdcc320d02c5a55bd1c0eaee641f1ca854711233bb03
diff --git a/kde-plasma/plasma-activities/plasma-activities-6.2.0.ebuild b/kde-plasma/plasma-activities/plasma-activities-6.2.0.ebuild
new file mode 100644
index 000000000000..262e9f4c6cca
--- /dev/null
+++ b/kde-plasma/plasma-activities/plasma-activities-6.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Core components for KDE's Activities System"
+
+LICENSE="|| ( LGPL-2.1 LGPL-3 )"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,sql,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ test? ( >=kde-frameworks/kwindowsystem-${KFMIN}:6[X] )
+"
diff --git a/kde-plasma/plasma-browser-integration/Manifest b/kde-plasma/plasma-browser-integration/Manifest
index 8a48153bcf38..f59dd5d3bfd1 100644
--- a/kde-plasma/plasma-browser-integration/Manifest
+++ b/kde-plasma/plasma-browser-integration/Manifest
@@ -1 +1,2 @@
DIST plasma-browser-integration-6.1.5.tar.xz 222644 BLAKE2B d36dde47476446bae361fef0553eacae75e09709250246d3325f365e0f64b10f5c04502faf19e96714e838abc5ae95b925f14e603919170cf331cde925e91826 SHA512 2f16dbe197e0b9dd0c2e5433680d4422f8e763059a0cbb662187bcb50c446fb12add37b0edc8619a20b1abffe2f76d2b9a87bcf6b5ce030e2ba25efaddb1def9
+DIST plasma-browser-integration-6.2.0.tar.xz 223552 BLAKE2B 0a552ce4c69cdd87770cc3cdf7558a29697d64520fd0458c7747d5e464738f30ef6019630ec1ef3d2c77fa7dea91cb4e246af12404243f85a7ea994ac235b06b SHA512 9b5f9122d6940ba2fca777ad36d59bf9e034236da5a903985923a1b8bec5314e9602977f4c48f6711c65617df8d2fc7946386425943da7a536131718a1192060
diff --git a/kde-plasma/plasma-browser-integration/plasma-browser-integration-6.2.0.ebuild b/kde-plasma/plasma-browser-integration/plasma-browser-integration-6.2.0.ebuild
new file mode 100644
index 000000000000..81814cfcdce7
--- /dev/null
+++ b/kde-plasma/plasma-browser-integration/plasma-browser-integration-6.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Integrate Chrome/Firefox better into Plasma through browser extensions"
+HOMEPAGE+=" https://community.kde.org/Plasma/Browser_Integration"
+
+LICENSE="GPL-3+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kfilemetadata-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ >=kde-plasma/plasma-workspace-${PVCUT}:6
+"
+DEPEND="${RDEPEND}
+ >=kde-frameworks/krunner-${KFMIN}:6
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DMOZILLA_DIR="${EPREFIX}/usr/$(get_libdir)/mozilla"
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/plasma-desktop/Manifest b/kde-plasma/plasma-desktop/Manifest
index 248ae7be8efa..fea8b2fcc89b 100644
--- a/kde-plasma/plasma-desktop/Manifest
+++ b/kde-plasma/plasma-desktop/Manifest
@@ -1,2 +1,3 @@
DIST plasma-desktop-6.1.5.tar.xz 16144320 BLAKE2B 60b8ad791325e506551746790d23347c501caaa1550c470e5157e8902da07162691b30a36c53c6910d1daa32ea3e3801562d4acbf0feceaf35d72ad32662f809 SHA512 db5698874bd66be0194f868cc037af2521b924afb02a56036696504c2b3e8dec3d59ba9228203f7b0d08ffaaa36137f10081207fa79d748c5044b37063507b6f
+DIST plasma-desktop-6.2.0.tar.xz 16321000 BLAKE2B f6827d49e6cc1a1922b34587822bc08b9662840b6eebffd2fd8d629af05e6705cfad2d7d41afbb879892fe4a75e5381be409439cf7de5f80968bae7b8302496d SHA512 bdb37a1330c1e836f8f91fe660d0bbae30453b602a6a3ef5d85a92d85e6af3e5073f9a8309a21080cf8eb883b7410132ca85abf69ee050e227ae4022435bcecf
DIST plasma-desktop-override-include-dirs-4.tar.xz 6360 BLAKE2B 8d4340f7b520ec2a4d47d7679028d5d75ceb141877248f7c411a082197ca9c0735ff2d21bd30333236c50dcae8bbdabd41164daa392b803504d2707ffd013960 SHA512 5273df12260d90e7aacc90b9ed7f6f1868c8996e2609229c59a771b3fb541b720f53fe2c2198d9d91870b05d06797bc4b2cec5afcf97d8b2b754f0da197584a1
diff --git a/kde-plasma/plasma-desktop/files/plasma-desktop-6.1.80-override-include-dirs.patch b/kde-plasma/plasma-desktop/files/plasma-desktop-6.1.80-override-include-dirs.patch
new file mode 100644
index 000000000000..6059eeeee48f
--- /dev/null
+++ b/kde-plasma/plasma-desktop/files/plasma-desktop-6.1.80-override-include-dirs.patch
@@ -0,0 +1,103 @@
+From 803df2e214c199f42a2c88ed7412c4c8db07c882 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 6 Apr 2020 00:41:07 +0200
+Subject: [PATCH] Replace input drivers pkg_check_modules calls with manual
+ targets
+
+All they need is one header each, allow include dir overrides.
+
+XorgLibinput - libinput-properties.h
+XorgServer - xserver-properties.h
+---
+ CMakeLists.txt | 7 +------
+ config-gentoo.cmake | 17 +++++++++++++++++
+ kcms/mouse/CMakeLists.txt | 3 ---
+ kcms/touchpad/CMakeLists.txt | 6 ------
+ 4 files changed, 18 insertions(+), 15 deletions(-)
+ create mode 100644 config-gentoo.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bc1d57c12..30a893d5c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -226,16 +226,11 @@ set_package_properties(XCB PROPERTIES TYPE REQUIRED)
+ add_feature_info("XCB-XKB" XCB_XKB_FOUND "Required for building kcm/keyboard")
+ add_feature_info("libxft" X11_Xft_FOUND "X FreeType interface library required for font installation")
+
+-pkg_check_modules(XORGLIBINPUT xorg-libinput IMPORTED_TARGET)
+-pkg_check_modules(XORGSERVER xorg-server IMPORTED_TARGET)
++include(config-gentoo.cmake)
+ pkg_check_modules(XKBREGISTRY xkbregistry REQUIRED IMPORTED_TARGET)
+
+ ecm_find_qmlmodule(org.kde.pipewire 0.1)
+
+-if(XORGLIBINPUT_FOUND)
+- set(HAVE_XORGLIBINPUT 1)
+-endif()
+-
+ include(ConfigureChecks.cmake)
+
+ find_package(PackageKitQt6)
+diff --git a/config-gentoo.cmake b/config-gentoo.cmake
+new file mode 100644
+index 000000000..ac2f0c18d
+--- /dev/null
++++ b/config-gentoo.cmake
+@@ -0,0 +1,17 @@
++if(BUILD_KCM_MOUSE_X11)
++ add_library(PkgConfig::XORGLIBINPUT INTERFACE IMPORTED)
++ set_property(TARGET PkgConfig::XORGLIBINPUT PROPERTY
++ INTERFACE_INCLUDE_DIRECTORIES "${XORGLIBINPUT_INCLUDE_DIRS}"
++ )
++endif()
++
++if(BUILD_KCM_TOUCHPAD_X11)
++ add_library(PkgConfig::XORGSERVER INTERFACE IMPORTED)
++ set_property(TARGET PkgConfig::XORGSERVER PROPERTY
++ INTERFACE_INCLUDE_DIRECTORIES "${XORGSERVER_INCLUDE_DIRS}"
++ )
++endif()
++
++if(BUILD_KCM_MOUSE_X11 OR BUILD_KCM_TOUCHPAD_X11)
++ set(HAVE_XORGLIBINPUT 1)
++endif()
+diff --git a/kcms/mouse/CMakeLists.txt b/kcms/mouse/CMakeLists.txt
+index 17689e78f..364185c91 100644
+--- a/kcms/mouse/CMakeLists.txt
++++ b/kcms/mouse/CMakeLists.txt
+@@ -2,9 +2,6 @@
+ add_definitions(-DTRANSLATION_DOMAIN=\"kcmmouse\")
+
+ if (BUILD_KCM_MOUSE_X11)
+- if (NOT XORGLIBINPUT_FOUND)
+- list(APPEND MISSING_DEPS "xorg-libinput")
+- endif()
+ if (NOT X11_Xi_FOUND)
+ list(APPEND MISSING_DEPS "X11_Xi")
+ endif()
+diff --git a/kcms/touchpad/CMakeLists.txt b/kcms/touchpad/CMakeLists.txt
+index ced353a60..a1920c574 100644
+--- a/kcms/touchpad/CMakeLists.txt
++++ b/kcms/touchpad/CMakeLists.txt
+@@ -2,18 +2,12 @@
+ add_definitions(-DTRANSLATION_DOMAIN=\"kcm_touchpad\")
+
+ if (BUILD_KCM_TOUCHPAD_X11)
+- if (NOT XORGLIBINPUT_FOUND)
+- list(APPEND MISSING_DEPS "xorg-libinput")
+- endif()
+ if (NOT X11_XCB_FOUND)
+ list(APPEND MISSING_DEPS "X11_XCB")
+ endif()
+ if (NOT X11_Xi_FOUND)
+ list(APPEND MISSING_DEPS "X11_Xi")
+ endif()
+- if (NOT XORGSERVER_FOUND)
+- list(APPEND MISSING_DEPS "xorg-server")
+- endif()
+ if (MISSING_DEPS)
+ message(FATAL_ERROR "Missing X11 dependencies for kcm_touchpad: ${MISSING_DEPS}. Install dependencies or set CMake option -DBUILD_KCM_TOUCHPAD_X11=OFF.")
+ endif()
+--
+2.45.2
+
diff --git a/kde-plasma/plasma-desktop/plasma-desktop-6.2.0.ebuild b/kde-plasma/plasma-desktop/plasma-desktop-6.2.0.ebuild
new file mode 100644
index 000000000000..6b64626f5104
--- /dev/null
+++ b/kde-plasma/plasma-desktop/plasma-desktop-6.2.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="KDE Plasma desktop"
+XORGHDRS="${PN}-override-include-dirs-4"
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${XORGHDRS}.tar.xz"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="ibus scim screencast sdl +semantic-desktop webengine"
+
+RESTRICT="test" # missing selenium-webdriver-at-spi
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+# kde-frameworks/kwindowsystem[X]: Uses KX11Extras
+COMMON_DEPEND="
+ dev-libs/icu:=
+ dev-libs/wayland
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network,sql,widgets,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/attica-${KFMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kbookmarks-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcodecs-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kded-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/knotifyconfig-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6
+ >=kde-plasma/kwin-${PVCUT}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ >=kde-plasma/plasma-activities-stats-${PVCUT}:6
+ >=kde-plasma/plasma-workspace-${PVCUT}:6[screencast?]
+ >=kde-plasma/plasma5support-${PVCUT}:6
+ media-libs/libcanberra
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libxkbfile
+ ibus? (
+ app-i18n/ibus
+ dev-libs/glib:2
+ x11-libs/xcb-util-keysyms
+ )
+ scim? ( app-i18n/scim )
+ sdl? ( media-libs/libsdl2[joystick] )
+ semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:6 )
+ webengine? (
+ kde-apps/kaccounts-integration:6
+ >=net-libs/accounts-qt-1.17[qt6(+)]
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/wayland-protocols-1.25
+ dev-libs/boost
+ x11-base/xorg-proto
+ test? (
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ >=kde-plasma/kactivitymanagerd-${PVCUT}:6
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<kde-plasma/kdeplasma-addons-5.25.50
+ !<kde-plasma/plasma-workspace-6.0.80
+ dev-libs/kirigami-addons:6
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ >=kde-plasma/oxygen-${PVCUT}:6
+ kde-plasma/plasma-mimeapps-list
+ media-fonts/noto-emoji
+ sys-apps/util-linux
+ x11-apps/setxkbmap
+ x11-misc/xdg-user-dirs
+ screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 )
+ webengine? ( >=net-libs/signon-oauth2-0.25_p20210102[qt6(+)] )
+"
+BDEPEND="
+ dev-util/intltool
+ dev-util/wayland-scanner
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.1.80-override-include-dirs.patch" # downstream patch
+)
+
+src_prepare() {
+ ecm_src_prepare
+
+ if ! use ibus; then
+ sed -e "s/XCB_XCB_FOUND AND XCB_KEYSYMS_FOUND/false/" \
+ -i applets/kimpanel/backend/ibus/CMakeLists.txt || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if ! use scim; then
+ sed -e "s/^pkg_check_modules.*SCIM/#&/" -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_KCM_MOUSE_X11=ON
+ -DBUILD_KCM_TOUCHPAD_X11=ON
+ -DXORGLIBINPUT_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ -DXORGSERVER_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged
+ $(cmake_use_find_package ibus GLIB2)
+ $(cmake_use_find_package sdl SDL2)
+ $(cmake_use_find_package semantic-desktop KF6Baloo)
+ $(cmake_use_find_package webengine AccountsQt6)
+ $(cmake_use_find_package webengine KAccounts6)
+ )
+
+ ecm_src_configure
+}
+
+src_test() {
+ # parallel tests fail, foldermodeltest,positionertest hang, bug #646890
+ # test_kio_fonts needs D-Bus, bug #634166
+ # lookandfeel-kcmTest is unreliable for a long time, bug #607918
+ local myctestargs=(
+ -j1
+ -E "(foldermodeltest|positionertest|test_kio_fonts|lookandfeel-kcmTest)"
+ )
+
+ ecm_src_test
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "screen reader support" "app-accessibility/orca"
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-plasma/plasma-disks/Manifest b/kde-plasma/plasma-disks/Manifest
index 663d5e8db63f..8491b2a36676 100644
--- a/kde-plasma/plasma-disks/Manifest
+++ b/kde-plasma/plasma-disks/Manifest
@@ -1 +1,2 @@
DIST plasma-disks-6.1.5.tar.xz 101812 BLAKE2B d9ec1394dce1d1539a4de9e0316f34b2713600d2a7901958170d3ec0dc0e156e807e3e8c1584518bb7865e7339dc6859caccee2047c6d0abf115bfc4539379d5 SHA512 5b0e4d4aaaf7fdb35a136f9cc7a9882ea45e896258f154092c5567e2d1cfa4315cae8508e689fea4a89c6ca19f6f051566d67747b727aebe87d9e083a3fecf2e
+DIST plasma-disks-6.2.0.tar.xz 102952 BLAKE2B 729725c91e19b833395fadf805651ffc6a2a71714f45b0e77a9fbc25ed7e7b21b7902c8b390e1ff97272d59bcfdb4dc63ed9529988ebe4c25ea6418644c6088b SHA512 7d2cadddbbf7e30c825ee5f3db0900fd357df974a1511fac9e7cae9076e78f2c4a859a417314bc2e1a3609142565085dd51a6ad46b9d9c9f62ffd27d2bc51101
diff --git a/kde-plasma/plasma-disks/plasma-disks-6.2.0.ebuild b/kde-plasma/plasma-disks/plasma-disks-6.2.0.ebuild
new file mode 100644
index 000000000000..0570c1ccf8d0
--- /dev/null
+++ b/kde-plasma/plasma-disks/plasma-disks-6.2.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Monitors S.M.A.R.T. capable devices for imminent failure"
+HOMEPAGE="https://invent.kde.org/plasma/plasma-disks"
+
+LICENSE="|| ( GPL-3 GPL-2 )"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ sys-apps/smartmontools
+"
+RDEPEND="${DEPEND}
+ kde-plasma/kinfocenter:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/plasma-firewall/Manifest b/kde-plasma/plasma-firewall/Manifest
index 618aa2d7ee12..0e2f02a06624 100644
--- a/kde-plasma/plasma-firewall/Manifest
+++ b/kde-plasma/plasma-firewall/Manifest
@@ -1 +1,2 @@
DIST plasma-firewall-6.1.5.tar.xz 373904 BLAKE2B 46a7e73c8b16dc031a75754ee58ef2b790dd43543571b8ea5cb65c7175d0e2f6671167043e107ed535591d6d64f1b295ebf8e6fc60cd5f5bb5104d11914cd193 SHA512 3b3e63b7c5516e7e0775577fe272fb800fdcb125310181c74aa0e2499c62eccdf8f313d136dadb87bc9abd0c014a5dfc26337e3910aa7bafbf548f302e12d78e
+DIST plasma-firewall-6.2.0.tar.xz 375320 BLAKE2B 221de58f136060d680081150065b628ab49b7477327c03e6157660ab16f05369ecf7552a86cc04860643db25148045bae008296b9311c16febc1b15abafaa1dd SHA512 18dc134e64239803ef666ff2d2ee06f26e80015d732ccb4e0595ee00857c887fa36edbcf0aaf059596232df1dd7bb6287eeaa05aa47c587c1951885e7af62e67
diff --git a/kde-plasma/plasma-firewall/plasma-firewall-6.2.0.ebuild b/kde-plasma/plasma-firewall/plasma-firewall-6.2.0.ebuild
new file mode 100644
index 000000000000..101c6d80b266
--- /dev/null
+++ b/kde-plasma/plasma-firewall/plasma-firewall-6.2.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{10..13} )
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org python-single-r1
+
+DESCRIPTION="Plasma frontend for Firewalld or UFW"
+HOMEPAGE="https://invent.kde.org/network/plasma-firewall"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="firewalld +ufw"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE} || ( firewalld ufw )"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ firewalld? ( net-firewall/firewalld )
+ ufw? ( net-firewall/ufw )
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_prepare() {
+ ecm_src_prepare
+ # this kind of cmake magic doesn't work for us at all.
+ sed -e "1 s:^.*$:\#\!/usr/bin/env ${EPYTHON}:" \
+ -i kcm/backends/ufw/helper/kcm_ufw_helper.py.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_FIREWALLD_BACKEND=$(usex firewalld)
+ -DBUILD_UFW_BACKEND=$(usex ufw)
+ )
+ ecm_src_configure
+}
+
+pkg_postinst () {
+ ecm_pkg_postinst
+
+ if ! has_version sys-apps/systemd; then
+ ewarn "${PN} is not functional without sys-apps/systemd at this point."
+ ewarn "See also: https://bugs.gentoo.org/778527"
+ fi
+}
diff --git a/kde-plasma/plasma-integration/Manifest b/kde-plasma/plasma-integration/Manifest
index ca3fc4fd55c2..98fb8b6184dc 100644
--- a/kde-plasma/plasma-integration/Manifest
+++ b/kde-plasma/plasma-integration/Manifest
@@ -1 +1,2 @@
DIST plasma-integration-6.1.5.tar.xz 93124 BLAKE2B 7b3e503f412342927ca934a4d2473676b551208fc00a0ce74d1abc7c72bc4ec99204e244f7589106a8f788a78d175923ffc451dde7bdc19eecc9ece13399e32d SHA512 1b5e82484c5a952f58fd93a2a76012331b226981527dc304b70f365abe1c2a2ccbb27b7f6194efe7a42fddfdf42c695d65dccd9e5907ee7a09f98a2c268b5020
+DIST plasma-integration-6.2.0.tar.xz 96008 BLAKE2B 03469a644bcdc1694284e7352cf0f77056161ffc6768e399d0a2beef3a5debe8379c89d3e667847ccd5ad65ac8a3eb5e38347b07292b96f26e1bcfe28907ddf3 SHA512 a82aa04fa2345ae528e59db56026dce6b6d25cac33476d839011d6db87fed55a6203c7357fea15a7ac83fee809f5a3e4d9d1962c4eefb169db03facb1665856f
diff --git a/kde-plasma/plasma-integration/plasma-integration-6.2.0.ebuild b/kde-plasma/plasma-integration/plasma-integration-6.2.0.ebuild
new file mode 100644
index 000000000000..c5a688372e04
--- /dev/null
+++ b/kde-plasma/plasma-integration/plasma-integration-6.2.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KF5MIN=5.115.0
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QT5MIN=5.15.12
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Qt Platform Theme integration plugins for the Plasma workspaces"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="qt5"
+
+# requires running kde environment
+RESTRICT="test"
+
+# slot ops: qdbus*_p.h and Qt6::GuiPrivate for qtx11extras_p.h
+COMMON_DEPEND="
+ dev-libs/wayland
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ x11-libs/libXcursor
+ x11-libs/libxcb
+ qt5? (
+ >=dev-qt/qtdbus-${QT5MIN}:5
+ >=dev-qt/qtgui-${QT5MIN}:5=[dbus]
+ >=dev-qt/qtquickcontrols2-${QT5MIN}:5
+ >=dev-qt/qtwayland-${QT5MIN}:5
+ >=dev-qt/qtwidgets-${QT5MIN}:5
+ >=dev-qt/qtx11extras-${QT5MIN}:5
+ >=kde-frameworks/kcompletion-${KF5MIN}:5
+ >=kde-frameworks/kconfig-${KF5MIN}:5
+ >=kde-frameworks/kconfigwidgets-${KF5MIN}:5
+ >=kde-frameworks/kcoreaddons-${KF5MIN}:5
+ >=kde-frameworks/kguiaddons-${KF5MIN}:5
+ >=kde-frameworks/ki18n-${KF5MIN}:5
+ >=kde-frameworks/kiconthemes-${KF5MIN}:5
+ >=kde-frameworks/kio-${KF5MIN}:5
+ >=kde-frameworks/kjobwidgets-${KF5MIN}:5
+ >=kde-frameworks/knotifications-${KF5MIN}:5
+ >=kde-frameworks/kwindowsystem-${KF5MIN}:5
+ >=kde-frameworks/kxmlgui-${KF5MIN}:5
+ >=kde-plasma/kwayland-${KF5MIN}:5
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+"
+RDEPEND="${COMMON_DEPEND}
+ media-fonts/hack
+ media-fonts/noto
+ media-fonts/noto-emoji
+"
+PDEPEND="
+ >=kde-plasma/xdg-desktop-portal-kde-${PVCUT}:6
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ qt5? ( >=dev-qt/qtwaylandscanner-${QT5MIN}:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_QT6=ON
+ -DBUILD_QT5=$(usex qt5)
+ )
+ ecm_src_configure
+}
diff --git a/kde-plasma/plasma-meta/plasma-meta-6.2.0.ebuild b/kde-plasma/plasma-meta/plasma-meta-6.2.0.ebuild
new file mode 100644
index 000000000000..c38e317a00cf
--- /dev/null
+++ b/kde-plasma/plasma-meta/plasma-meta-6.2.0.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Merge this to pull in all Plasma 6 packages"
+HOMEPAGE="https://kde.org/plasma-desktop/"
+
+LICENSE="metapackage"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="accessibility bluetooth +browser-integration colord +crash-handler crypt
+cups discover +display-manager +elogind +firewall flatpak grub gtk +kwallet
++networkmanager oxygen-theme plymouth pulseaudio qt5 rdp +sddm sdk +smart systemd
+thunderbolt unsupported wacom +wallpapers webengine +xwayland"
+
+REQUIRED_USE="^^ ( elogind systemd )"
+
+RDEPEND="
+ !${CATEGORY}/${PN}:5
+ !kde-plasma/khotkeys:5
+ >=kde-plasma/breeze-${PV}:${SLOT}[qt5?]
+ >=kde-plasma/kactivitymanagerd-${PV}:${SLOT}
+ >=kde-plasma/kde-cli-tools-${PV}:${SLOT}
+ >=kde-plasma/kde-cli-tools-common-${PV}
+ >=kde-plasma/kdecoration-${PV}:${SLOT}
+ >=kde-plasma/kdeplasma-addons-${PV}:${SLOT}
+ >=kde-plasma/kdesu-gui-${PV}
+ >=kde-plasma/kgamma-${PV}:${SLOT}
+ >=kde-plasma/kglobalacceld-${PV}:${SLOT}
+ >=kde-plasma/kinfocenter-${PV}:${SLOT}
+ >=kde-plasma/kmenuedit-${PV}:${SLOT}
+ >=kde-plasma/kpipewire-${PV}:${SLOT}
+ >=kde-plasma/kscreen-${PV}:${SLOT}
+ >=kde-plasma/kscreenlocker-${PV}:${SLOT}
+ >=kde-plasma/ksshaskpass-${PV}:${SLOT}
+ >=kde-plasma/ksystemstats-${PV}:${SLOT}
+ >=kde-plasma/kwayland-${PV}:${SLOT}
+ >=kde-plasma/kwin-${PV}:${SLOT}[lock]
+ >=kde-plasma/kwrited-${PV}:${SLOT}
+ >=kde-plasma/layer-shell-qt-${PV}:${SLOT}
+ >=kde-plasma/libkscreen-${PV}:${SLOT}
+ >=kde-plasma/libksysguard-${PV}:${SLOT}
+ >=kde-plasma/libplasma-${PV}:${SLOT}
+ >=kde-plasma/milou-${PV}:${SLOT}
+ >=kde-plasma/ocean-sound-theme-${PV}:${SLOT}
+ >=kde-plasma/plasma-activities-${PV}:${SLOT}
+ >=kde-plasma/plasma-activities-stats-${PV}:${SLOT}
+ >=kde-plasma/plasma-desktop-${PV}:${SLOT}
+ >=kde-plasma/plasma-integration-${PV}:${SLOT}[qt5?]
+ >=kde-plasma/plasma-systemmonitor-${PV}:${SLOT}
+ >=kde-plasma/plasma-welcome-${PV}:${SLOT}
+ >=kde-plasma/plasma-workspace-${PV}:${SLOT}
+ >=kde-plasma/plasma5support-${PV}:${SLOT}
+ >=kde-plasma/polkit-kde-agent-${PV}:*
+ >=kde-plasma/powerdevil-${PV}:${SLOT}
+ >=kde-plasma/qqc2-breeze-style-${PV}:${SLOT}
+ >=kde-plasma/systemsettings-${PV}:${SLOT}
+ >=kde-plasma/xdg-desktop-portal-kde-${PV}:${SLOT}
+ sys-apps/dbus[elogind?,systemd?]
+ sys-auth/polkit[systemd?]
+ sys-fs/udisks:2[elogind?,systemd?]
+ bluetooth? ( >=kde-plasma/bluedevil-${PV}:${SLOT} )
+ browser-integration? ( >=kde-plasma/plasma-browser-integration-${PV}:${SLOT} )
+ colord? ( x11-misc/colord )
+ crash-handler? ( >=kde-plasma/drkonqi-${PV}:${SLOT} )
+ crypt? ( >=kde-plasma/plasma-vault-${PV}:${SLOT} )
+ cups? (
+ >=kde-plasma/print-manager-${PV}:${SLOT}
+ net-print/cups-meta
+ )
+ discover? ( >=kde-plasma/discover-${PV}:${SLOT} )
+ display-manager? (
+ sddm? (
+ >=kde-plasma/sddm-kcm-${PV}:${SLOT}
+ >=x11-misc/sddm-0.21.0_p20240302[elogind?,systemd?]
+ )
+ !sddm? ( x11-misc/lightdm )
+ )
+ elogind? ( sys-auth/elogind[pam] )
+ flatpak? ( >=kde-plasma/flatpak-kcm-${PV}:${SLOT} )
+ grub? ( >=kde-plasma/breeze-grub-${PV}:${SLOT} )
+ gtk? (
+ >=kde-plasma/breeze-gtk-${PV}:${SLOT}
+ >=kde-plasma/kde-gtk-config-${PV}:${SLOT}
+ sys-apps/xdg-desktop-portal-gtk
+ x11-misc/appmenu-gtk-module
+ )
+ kwallet? ( >=kde-plasma/kwallet-pam-${PV}:${SLOT} )
+ networkmanager? (
+ >=kde-plasma/plasma-nm-${PV}:${SLOT}
+ net-misc/networkmanager[elogind?,systemd?]
+ )
+ oxygen-theme? (
+ >=kde-frameworks/oxygen-icons-6.0.0:*
+ >=kde-plasma/oxygen-${PV}:${SLOT}[qt5?]
+ >=kde-plasma/oxygen-sounds-${PV}:${SLOT}
+ )
+ plymouth? (
+ >=kde-plasma/breeze-plymouth-${PV}:${SLOT}
+ >=kde-plasma/plymouth-kcm-${PV}:${SLOT}
+ )
+ pulseaudio? ( >=kde-plasma/plasma-pa-${PV}:${SLOT} )
+ qt5? ( >=kde-plasma/kwayland-integration-${PV}:5 )
+ rdp? ( >=kde-plasma/krdp-${PV}:${SLOT} )
+ sdk? ( >=kde-plasma/plasma-sdk-${PV}:${SLOT} )
+ smart? ( >=kde-plasma/plasma-disks-${PV}:${SLOT} )
+ systemd? (
+ sys-apps/systemd[pam]
+ firewall? ( >=kde-plasma/plasma-firewall-${PV}:${SLOT} )
+ )
+ thunderbolt? ( >=kde-plasma/plasma-thunderbolt-${PV}:${SLOT} )
+ !unsupported? (
+ !gui-apps/qt6ct
+ )
+ wacom? ( >=kde-plasma/wacomtablet-${PV}:${SLOT} )
+ wallpapers? ( >=kde-plasma/plasma-workspace-wallpapers-${PV}:${SLOT} )
+ webengine? ( kde-apps/khelpcenter:6 )
+ xwayland? ( >=gui-apps/xwaylandvideobridge-0.4.0 )
+"
+# Optional runtime deps: kde-plasma/plasma-desktop
+RDEPEND="${RDEPEND}
+ accessibility? ( app-accessibility/orca )
+"
+
+pkg_postinst() {
+ if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then
+ # Workaround for bug #923292 (KDE-bug 479679)
+ ewarn "plasmashell and other KDE Plasma components are known to misbehave"
+ ewarn "when built with sys-libs/libcxx, e.g. crashing when right-clicking"
+ ewarn "on a panel. See bug #923292."
+ ewarn ""
+ ewarn "A possible (no warranty!) workaround is building sys-libs/libcxx and"
+ ewarn "sys-libs/libcxxabi with the following in package.env:"
+ ewarn " MYCMAKEARGS=\"-DLIBCXX_TYPEINFO_COMPARISON_IMPLEMENTATION=2\""
+ ewarn "You may then need to rebuild dev-qt/* and kde-*/*."
+ fi
+
+ if ! use qt5 && has_version dev-qt/qtgui; then
+ ewarn "KF5- and Qt5-based applications will exhibit various integration bugs"
+ ewarn "and generally look out of place in Plasma 6 without the dependencies"
+ ewarn "enforced by kde-plasma/plasma-meta[qt5]."
+ ewarn
+ ewarn "This warning message is being displayed because dev-qt/qtgui:5 is"
+ ewarn "currently installed which indicates the use of such applications."
+ fi
+}
diff --git a/kde-plasma/plasma-nm/Manifest b/kde-plasma/plasma-nm/Manifest
index 2c091fc69a99..b9d978342e1d 100644
--- a/kde-plasma/plasma-nm/Manifest
+++ b/kde-plasma/plasma-nm/Manifest
@@ -1 +1,2 @@
DIST plasma-nm-6.1.5.tar.xz 1202440 BLAKE2B 007014221efb8a84c82d2d78ee21c29e8dc2359d2e826f146a0583ece8218c21e850ee4ee29fdc7855d64babb8466ded422c44e819f3fe5c404dde737e7ccdd2 SHA512 1e676c5840d9a6a3e780506be3d2ce1dd889fc8b5a6a9f1f9b58d2fb7828837b462b0de42b3daa6d2e1c106fe6984ecd3832474a84c6217c63f80cabd35a94b3
+DIST plasma-nm-6.2.0.tar.xz 1241228 BLAKE2B 761df7d6d5af97da753052c46e9fb5c2b686dcd0103f3bd1460638c80dfd1fdc2924aa7a40ae13b0e820953d83607a4f497f9c2c7e1b07e70975940535b2e2eb SHA512 d494917e38e0c44318bf894bd8eda79269ffba9e6fbc6cf7ca7b90b3659e3cbf301ec73ee0e6920e22e871ebe03b77aabb31ff2e91248253239e2c09854539de
diff --git a/kde-plasma/plasma-nm/plasma-nm-6.2.0.ebuild b/kde-plasma/plasma-nm/plasma-nm-6.2.0.ebuild
new file mode 100644
index 000000000000..bcbeececbf52
--- /dev/null
+++ b/kde-plasma/plasma-nm/plasma-nm-6.2.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma applet for NetworkManager"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="openconnect teamd"
+
+DEPEND="
+ >=app-crypt/qca-2.3.7:2[qt6]
+ dev-libs/qcoro[dbus]
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/modemmanager-qt-${KFMIN}:6
+ >=kde-frameworks/networkmanager-qt-${KFMIN}:6[teamd=]
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ net-misc/mobile-broadband-provider-info
+ net-misc/networkmanager[teamd=]
+ openconnect? (
+ >=dev-qt/qtwebengine-${QTMIN}:6
+ net-vpn/networkmanager-openconnect
+ net-vpn/openconnect:=
+ )
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kquickcharts-${KFMIN}:6
+"
+BDEPEND="
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_OPENCONNECT=$(usex openconnect)
+ )
+
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+
+ if ! has_version "kde-frameworks/kcmutils:6"; then
+ elog "${PN} is not terribly useful without kde-frameworks/kcmutils:6."
+ elog "However, the networkmanagement KCM can be called from either systemsettings"
+ elog "or manually: $ kcmshell6 kcm_networkmanagement"
+ fi
+}
diff --git a/kde-plasma/plasma-pa/Manifest b/kde-plasma/plasma-pa/Manifest
index c6951b6257f1..052a72ade8a0 100644
--- a/kde-plasma/plasma-pa/Manifest
+++ b/kde-plasma/plasma-pa/Manifest
@@ -1 +1,2 @@
DIST plasma-pa-6.1.5.tar.xz 163064 BLAKE2B 91ce21182b9890bbabaff3f993dd8b15dc771a8b59d3c611f85b073b9d915aa4c83447d239fa20cd6cd65e3b91bb66ed7f0e63c0d452ec459cb15601bcc5ffc2 SHA512 c0219145c30e322bef6f8d578f2c880248175f52094d65ca5d1c49fde556137e2d1a3d5670a17d32e9d77dfc933444ddc2e30084e7dd15c77e3ad5eda1048714
+DIST plasma-pa-6.2.0.tar.xz 184356 BLAKE2B 786686128fbcf5f9e9413427d148a4e63ce09833b44b05fa8b7bdb70007431c0eead303314261e9f0fae713577f95c8eaa3b9216ead0e014cfd8341fdd14f765 SHA512 7f84bceed92bdb335533cfc246717dee3df95db02d6ad767609b46cbf203a63eb9e639f02d8efc92684f448d9d9edcd1d379feb6ae73c2dec4609e057a3b356d
diff --git a/kde-plasma/plasma-pa/plasma-pa-6.2.0.ebuild b/kde-plasma/plasma-pa/plasma-pa-6.2.0.ebuild
new file mode 100644
index 000000000000..107db4b0c1b2
--- /dev/null
+++ b/kde-plasma/plasma-pa/plasma-pa-6.2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plasma applet for audio volume management using PulseAudio"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RESTRICT="test" # missing selenium-webdriver-at-spi
+
+DEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ media-libs/libcanberra
+ media-libs/libpulse
+ >=media-libs/pulseaudio-qt-1.6.0:=
+"
+RDEPEND="${DEPEND}
+ dev-libs/kirigami-addons:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ x11-themes/sound-theme-freedesktop
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/plasma-sdk/Manifest b/kde-plasma/plasma-sdk/Manifest
index f8643b42a78d..066737643b33 100644
--- a/kde-plasma/plasma-sdk/Manifest
+++ b/kde-plasma/plasma-sdk/Manifest
@@ -1 +1,2 @@
DIST plasma-sdk-6.1.5.tar.xz 327588 BLAKE2B a070974456044b206ed9ee58ee3814b21c6e4dc289ebb1430f8eed1fff6a2517ea90423590731ae6d2af8a1405b76bac50b04834e010959255ec407e010a0b79 SHA512 85810581c8a094848cbdfa4f7a3dbeda94f83918988cb36e741fece0d4eb21f4d5e018eeb957f6c373b1c25cba85826f17d0b79e04d650610eec1cf3c380bc41
+DIST plasma-sdk-6.2.0.tar.xz 347556 BLAKE2B cbeba09ecc3c94485602de2755f47f23bfa263b7758a741e9ce2d8f7b783f04990613bd3498941b111ad2cafb387f6cd10f5c2b166bdee2664f63ca1467c469e SHA512 cb62e757deae57eb240069acca4e04fac7346bf4f32f1a37a8b666b7e2df74d6a6cf99fd309d5c56ea34c56f8b13b6b902607e726d54966540b4aca109106eb1
diff --git a/kde-plasma/plasma-sdk/plasma-sdk-6.2.0.ebuild b/kde-plasma/plasma-sdk/plasma-sdk-6.2.0.ebuild
new file mode 100644
index 000000000000..81fc8ee935c1
--- /dev/null
+++ b/kde-plasma/plasma-sdk/plasma-sdk-6.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Useful applications for Plasma development"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/ktexteditor-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma5support-${PVCUT}:6
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
diff --git a/kde-plasma/plasma-systemmonitor/Manifest b/kde-plasma/plasma-systemmonitor/Manifest
index 54c6e5641c51..431f10f902e6 100644
--- a/kde-plasma/plasma-systemmonitor/Manifest
+++ b/kde-plasma/plasma-systemmonitor/Manifest
@@ -1 +1,2 @@
DIST plasma-systemmonitor-6.1.5.tar.xz 188276 BLAKE2B 300ad4c7a114a705de50afd59c84cbc44af0d56bd0355117063d9e609900dbcb47f3a5419a6e9ae8f73d49cdb13880ae50f9c84d7bce49f6791df1cb9ac3eedf SHA512 71fa893dff8333632d6d9e26aaba727c3b6701f3e20945a600911ca7e9f6f716ed3b9a7594fc6176547299a1172d87c8fdd0205e2ad961e27f33718015cbb7a4
+DIST plasma-systemmonitor-6.2.0.tar.xz 196532 BLAKE2B 3b43fcd23c30f4b2a5eee4873abbba4631b1a5b64d954320125bc032538ae5b753d160f171dd8d28f3aeb10a5c8a1472d868d780b8706117d6ad323a14cbea46 SHA512 a0f9f7ff471293386e8e82a8e0b82f652f9764db503db694997432af3e19ddef7b4ff16ee13de03043879dbcce4239d21f461bd2b88477a944279bc8718bda02
diff --git a/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-6.2.0.ebuild b/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-6.2.0.ebuild
new file mode 100644
index 000000000000..c059450e1ee9
--- /dev/null
+++ b/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-6.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Monitor system sensors, process information and other system resources"
+HOMEPAGE="https://apps.kde.org/plasma-systemmonitor/"
+
+LICENSE="|| ( GPL-3 GPL-2 )"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-libs/kirigami-addons-1.1.0:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kquickcharts-${KFMIN}:6
+ >=kde-plasma/ksystemstats-${PVCUT}:6
+"
diff --git a/kde-plasma/plasma-thunderbolt/Manifest b/kde-plasma/plasma-thunderbolt/Manifest
index d1bc19128354..a45ff1ea43ee 100644
--- a/kde-plasma/plasma-thunderbolt/Manifest
+++ b/kde-plasma/plasma-thunderbolt/Manifest
@@ -1 +1,2 @@
DIST plasma-thunderbolt-6.1.5.tar.xz 79972 BLAKE2B 36c1ee8d41d25f818763d29b1cf0ca05c864cc5343805292d329c657a1a19515cfa231c56bd1d6f85e8676bd70d88974c8799d97ca70fad1a6dba972addb7703 SHA512 4340a66ea69189b2a8e622691f9cb2d34168f204658cd59a0b0c3f8aba547eb797ba8132c124c4a84a1041e7e93bc553ecf988193d33b715882af9aeb688fd9a
+DIST plasma-thunderbolt-6.2.0.tar.xz 80644 BLAKE2B 6b326af67b7e85ee16fa2b0e357914a626d6c42a97f4be84dacd41a502bf662ae7abb7271115375e5379152c937002d6a783bcbeb0cfde7d7952df047987ef75 SHA512 793adf3100e825891035ab89368ac21721a231903f0c1507c96c38706631c958cd0af96a031db08ac200e0a8672996bf96377567246c90563890dc279645054a
diff --git a/kde-plasma/plasma-thunderbolt/plasma-thunderbolt-6.2.0.ebuild b/kde-plasma/plasma-thunderbolt/plasma-thunderbolt-6.2.0.ebuild
new file mode 100644
index 000000000000..e2c8a0104325
--- /dev/null
+++ b/kde-plasma/plasma-thunderbolt/plasma-thunderbolt-6.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.6.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plasma integration for controlling Thunderbolt devices"
+HOMEPAGE="https://invent.kde.org/plasma/plasma-thunderbolt"
+
+LICENSE="|| ( GPL-2 GPL-3+ )"
+SLOT="6"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE=""
+
+# tests require DBus
+RESTRICT="test"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ sys-apps/bolt
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/plasma-vault/Manifest b/kde-plasma/plasma-vault/Manifest
index af119242d81d..d76df1d24901 100644
--- a/kde-plasma/plasma-vault/Manifest
+++ b/kde-plasma/plasma-vault/Manifest
@@ -1 +1,2 @@
DIST plasma-vault-6.1.5.tar.xz 201308 BLAKE2B d4b009385669935a886870421ef45b46165ef32f30aaa1bf85ebf70345ca0d6a2bbe8469691173ec5b320a3624767f281cadda7b459cdce1c2107342b2ef0de6 SHA512 74e10a58ba55b5452e109e0fbb942073bc6471595d03de0f6afeb0eaf1d1fbd0766992c246c21a3817474605e80fc62f8a1c6ef993f859ab858ae67e12cf2604
+DIST plasma-vault-6.2.0.tar.xz 201060 BLAKE2B 0b787f6f51f8f4080bb7a91a6a082d74ca52ef88d853cd0c60dcbc31eeafe23393299f8c53feba424ebb4f1e2f75dfb4ee8a343819cb72dd4e77b2c481c0c44f SHA512 5658f7b4f3023613696676a4de741a83961b9e566fb1fb7030cbb5ba7fd78f5e028f8abaf5d904acc9a2025cb53e970190bd9f17401c53a023715bd90a97ea4e
diff --git a/kde-plasma/plasma-vault/plasma-vault-6.2.0.ebuild b/kde-plasma/plasma-vault/plasma-vault-6.2.0.ebuild
new file mode 100644
index 000000000000..c2d2c9e45402
--- /dev/null
+++ b/kde-plasma/plasma-vault/plasma-vault-6.2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm flag-o-matic plasma.kde.org
+
+DESCRIPTION="Plasma applet and services for creating encrypted vaults"
+HOMEPAGE+=" https://cukic.co/2017/02/03/vaults-encryption-in-plasma/"
+
+LICENSE="LGPL-3"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="networkmanager"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcodecs-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+RDEPEND="${DEPEND}
+ || ( >=sys-fs/cryfs-0.9.9 >=sys-fs/encfs-1.9.2 )
+"
+
+src_configure() {
+ # ODR violations (bug #909446, kde#471836)
+ filter-lto
+
+ local mycmakeargs=(
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/plasma-welcome/Manifest b/kde-plasma/plasma-welcome/Manifest
index 04fff5aa051f..3b3371774782 100644
--- a/kde-plasma/plasma-welcome/Manifest
+++ b/kde-plasma/plasma-welcome/Manifest
@@ -1 +1,2 @@
DIST plasma-welcome-6.1.5.tar.xz 672448 BLAKE2B f7abe5740df64972b4c91183b2cded1070f016498f13bc15feaba59e625096b109f4dc5573f899523d899911b6903ce178afd8df5e1618c9ec9d9659bc6f863b SHA512 09fdad9a554607f89538139252ff2c1b59544ddcddb75a3548366647f3347b28df8d7c238b18f50535a22747451c96e029ef66989f3ad60ad7a06a4b8c3c92c6
+DIST plasma-welcome-6.2.0.tar.xz 687856 BLAKE2B c86ec1ddf0d60849350f20887bb0316a15f179908093d278ce1dc806d582101e43ebc26f74a5694187c2a7b27460a0406978fe7de07303454bad5f42bdeca4ae SHA512 45d3166d40cba35ffc6f0fa22a01b36c5034b92f0a4a560721520201594e0dd38e6372ffe05a84957a3279fa1691d80f3ae1fc3ed97687b9526f8093dfa1bbad
diff --git a/kde-plasma/plasma-welcome/plasma-welcome-6.2.0.ebuild b/kde-plasma/plasma-welcome/plasma-welcome-6.2.0.ebuild
new file mode 100644
index 000000000000..8a6d8a8f6655
--- /dev/null
+++ b/kde-plasma/plasma-welcome/plasma-welcome-6.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Friendly onboarding wizard for Plasma"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-libs/kirigami-addons-1.2.0
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
+RDEPEND="${DEPEND}"
diff --git a/kde-plasma/plasma-workspace-wallpapers/Manifest b/kde-plasma/plasma-workspace-wallpapers/Manifest
index 2d83855548db..7b1e2d87c0ea 100644
--- a/kde-plasma/plasma-workspace-wallpapers/Manifest
+++ b/kde-plasma/plasma-workspace-wallpapers/Manifest
@@ -1 +1,2 @@
DIST plasma-workspace-wallpapers-6.1.5.tar.xz 100299584 BLAKE2B d3ae4327c0e9fce40c15df0c64ab1335a1b014620ba75ba10c26f570571ce2f6a71b91fdfa8f16fd6bb1fd3a087c2ff76bdba7a50ab922c1627722f574abbaad SHA512 127d221cb668f77f65354a7171f097d0d69240d37b6421610d9d54a90ace103ae85d3ae9e36a94ce1ce24eac11d6db17bcd97fadd73d9d8a7081c70e96d71a8d
+DIST plasma-workspace-wallpapers-6.2.0.tar.xz 111402648 BLAKE2B 3db3c15ba6b78ffa5c840dff58cf41efb9a3f334580d5ec9505a02f304bccf6825742afa52ce96834e703633f77dcacdf0f11d81d5bbc3f8b622de01e5757d70 SHA512 5c6e020b0e58482d3735843aadfecd7821de73fd4aabcb63aa645458a61768688ca2ef0587c81a236fd211612e7c406b59f03da940d3b8feae3bc000f4c2ed3b
diff --git a/kde-plasma/plasma-workspace-wallpapers/plasma-workspace-wallpapers-6.2.0.ebuild b/kde-plasma/plasma-workspace-wallpapers/plasma-workspace-wallpapers-6.2.0.ebuild
new file mode 100644
index 000000000000..989dc8cacea5
--- /dev/null
+++ b/kde-plasma/plasma-workspace-wallpapers/plasma-workspace-wallpapers-6.2.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit cmake plasma.kde.org
+
+DESCRIPTION="Wallpapers for the Plasma workspace"
+
+LICENSE="GPL-2"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+BDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6
+ kde-frameworks/extra-cmake-modules:0
+"
diff --git a/kde-plasma/plasma-workspace/Manifest b/kde-plasma/plasma-workspace/Manifest
index 378548fa8eba..18e2d86cf4cc 100644
--- a/kde-plasma/plasma-workspace/Manifest
+++ b/kde-plasma/plasma-workspace/Manifest
@@ -1 +1,2 @@
DIST plasma-workspace-6.1.5.tar.xz 19305196 BLAKE2B 4eb75be1404d84519fabdb148accbeb48227aebd2fadeee5c27ba37dc158685b8bf9283f41172dff86dbe07ffe47a62097f873e907dd44ada61a53b3dd1f04b8 SHA512 1b68ddb1d287733ec16900a14b56bf1dbdfb9bce0d10666c1a710612dee6cc786629ea0a924627d58f1268a9594e3bfae587d57bcd7c926bf48b8e914c5d9238
+DIST plasma-workspace-6.2.0.tar.xz 19110416 BLAKE2B 3bf70a3020d20db4aedeccda4034049af8232bbc48e5e7518b42dba3b8477efd58c230a1b6c66a3730bdfdbed5dbfaa930dcee9cbb229dee293fa2c0bc084105 SHA512 96a2a6e24f4ceb2a2732265089cf1b3a1699dd535cc30d6367252420f93265e5a4286f3641e290c462509c5126500ee9618dffb3182e6d0af689ba4c4ef7701e
diff --git a/kde-plasma/plasma-workspace/plasma-workspace-6.2.0.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-6.2.0.ebuild
new file mode 100644
index 000000000000..a03acd939b95
--- /dev/null
+++ b/kde-plasma/plasma-workspace/plasma-workspace-6.2.0.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma workspace"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="appstream +calendar +fontconfig geolocation gps +policykit
+screencast +semantic-desktop systemd telemetry +wallpaper-metadata"
+
+REQUIRED_USE="gps? ( geolocation )"
+RESTRICT="test"
+
+# kde-frameworks/kwindowsystem[X]: Uses KX11Extras
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+# slot op: various private QtWaylandClient headers
+COMMON_DEPEND="
+ dev-libs/icu:=
+ >=dev-libs/wayland-1.15
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,libinput,network,sql,widgets,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=dev-qt/qtpositioning-${QTMIN}:6
+ >=dev-qt/qtshadertools-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qtwayland-${QTMIN}:6=
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kbookmarks-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kded-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/knotifyconfig-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/ksvg-${KFMIN}:6
+ >=kde-frameworks/ktexteditor-${KFMIN}:6
+ >=kde-frameworks/ktextwidgets-${KFMIN}:6
+ >=kde-frameworks/kunitconversion-${KFMIN}:6
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/prison-${KFMIN}:6[qml]
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/breeze-${PVCUT}:6
+ >=kde-plasma/kscreenlocker-${PVCUT}:6
+ >=kde-plasma/kwayland-${PVCUT}:6
+ >=kde-plasma/kwin-${PVCUT}:6
+ >=kde-plasma/layer-shell-qt-${PVCUT}:6
+ >=kde-plasma/libkscreen-${PVCUT}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ >=kde-plasma/plasma-activities-stats-${PVCUT}:6
+ >=kde-plasma/plasma5support-${PVCUT}:6
+ media-libs/libcanberra
+ >=media-libs/phonon-4.12.0[qt6(+)]
+ sci-libs/libqalculate:=
+ sys-apps/dbus
+ sys-libs/zlib
+ virtual/libudev:=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/xcb-util
+ appstream? ( >=dev-libs/appstream-1[qt6] )
+ calendar? ( >=kde-frameworks/kholidays-${KFMIN}:6 )
+ fontconfig? (
+ media-libs/fontconfig
+ x11-libs/libXft
+ x11-libs/xcb-util-image
+ )
+ geolocation? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+ gps? ( sci-geosciences/gpsd )
+ policykit? (
+ >=sys-auth/polkit-qt-0.175[qt6(+)]
+ virtual/libcrypt:=
+ )
+ screencast? (
+ >=dev-qt/qtbase-${QTMIN}:6=[opengl]
+ >=kde-plasma/kpipewire-${PVCUT}:6
+ media-libs/libglvnd
+ >=media-video/pipewire-0.3:=
+ x11-libs/libdrm
+ )
+ semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:6 )
+ systemd? ( sys-apps/systemd:= )
+ telemetry? ( >=kde-frameworks/kuserfeedback-${KFMIN}:6 )
+ wallpaper-metadata? ( kde-apps/libkexiv2:6 )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ dev-libs/qcoro[dbus]
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+ x11-base/xorg-proto
+ fontconfig? ( x11-libs/libXrender )
+"
+RDEPEND="${COMMON_DEPEND}
+ !kde-plasma/libkworkspace:5
+ !<kde-plasma/plasma-desktop-5.27.0:5
+ !<kde-plasma/xdg-desktop-portal-kde-6.1.90
+ !kde-plasma/xembed-sni-proxy:*
+ app-text/iso-codes
+ dev-libs/kirigami-addons:6
+ >=dev-qt/qttools-${QTMIN}:*[qdbus]
+ kde-apps/kio-extras:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kquickcharts-${KFMIN}:6
+ >=kde-plasma/kactivitymanagerd-${PVCUT}:6
+ >=kde-plasma/kdesu-gui-${PVCUT}:*
+ >=kde-plasma/milou-${PVCUT}:6
+ >=kde-plasma/plasma-integration-${PVCUT}:6
+ sys-apps/dbus
+ x11-apps/xmessage
+ x11-apps/xprop
+ x11-apps/xrdb
+ x11-apps/xsetroot
+ policykit? ( sys-apps/accountsservice )
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=dev-util/wayland-scanner-1.19.0
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ virtual/pkgconfig
+ test? ( >=dev-qt/qtwayland-${QTMIN}:6[compositor] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.22.5-krunner-cwd-at-home.patch" # TODO upstream: KDE-bug 432975, bug 767478
+)
+
+src_prepare() {
+ ecm_src_prepare
+
+ # TODO: try to get a build switch upstreamed
+ if ! use screencast; then
+ ecm_punt_bogus_dep KPipeWire
+ sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if use geolocation; then
+ use gps || sed -e "s/^pkg_check_modules.*LIBGPS/#&/" \
+ -i dataengines/geolocation/CMakeLists.txt || die
+ fi
+
+ if ! use policykit; then
+ cmake_run_in kcms cmake_comment_add_subdirectory users
+ fi
+
+ if ! use fontconfig; then
+ ecm_punt_bogus_dep XCB IMAGE
+ sed -e "s/check_X11_lib(Xft)/#&/" -i CMakeLists.txt || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if ! use systemd; then
+ sed -e "s/^pkg_check_modules.*SYSTEMD/#&/" -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_X11=ON # TODO: broken upstream, fix it if you can
+ -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged
+ -DGLIBC_LOCALE_GEN=$(usex policykit)
+ $(cmake_use_find_package appstream AppStreamQt)
+ $(cmake_use_find_package calendar KF6Holidays)
+ $(cmake_use_find_package fontconfig Fontconfig)
+ $(cmake_use_find_package geolocation KF6NetworkManagerQt)
+ $(cmake_use_find_package semantic-desktop KF6Baloo)
+ $(cmake_use_find_package telemetry KF6UserFeedback)
+ $(cmake_use_find_package wallpaper-metadata KExiv2Qt6)
+ )
+
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+
+ # default startup and shutdown scripts
+ insinto /etc/xdg/plasma-workspace/env
+ doins "${FILESDIR}"/10-agent-startup.sh
+
+ insinto /etc/xdg/plasma-workspace/shutdown
+ doins "${FILESDIR}"/10-agent-shutdown.sh
+ fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
+}
+
+pkg_postinst () {
+ ecm_pkg_postinst
+
+ elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
+ elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
+ elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
+}
diff --git a/kde-plasma/plasma5support/Manifest b/kde-plasma/plasma5support/Manifest
index 08080c227348..d5d20cbb7182 100644
--- a/kde-plasma/plasma5support/Manifest
+++ b/kde-plasma/plasma5support/Manifest
@@ -1 +1,2 @@
DIST plasma5support-6.1.5.tar.xz 87732 BLAKE2B 6842bb67bd0d852153cbd0562c18e4ffe8c7532e71708d0bb40f6ff0d2c3dada3ccd4a402167f50174a18ec16d9b3b166e9684f88d06b45976cff5ac0948d22f SHA512 f4e0ac3b9da6795436926706758d309640b4ce824e8b2f404eb0f161ab6b314d6c23a63281d4674d828dccb53131ff526e74004e1db6405c5a23b087a6369bd7
+DIST plasma5support-6.2.0.tar.xz 190784 BLAKE2B efba3bdb1958ad55d265d068f0275ca7ce127e3d8a53111e6a873ee737fa106460747a23045edbbab60a99425e594dd41f3ef6201d2672dcc6c551dfcb1203bc SHA512 d48ea9d4ecd7898e3d7c4b0663f2a297cf3b8a021a2fdc4580e5562fc4aae7b8fea009f51cf79c3b7f7347119f8dcdf933cce2bc75cb1f310cf93abbd197cd32
diff --git a/kde-plasma/plasma5support/plasma5support-6.2.0.ebuild b/kde-plasma/plasma5support/plasma5support-6.2.0.ebuild
new file mode 100644
index 000000000000..9a8320fecf37
--- /dev/null
+++ b/kde-plasma/plasma5support/plasma5support-6.2.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Support components for porting from KF5/Qt5 to KF6/Qt6"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RESTRICT="test" # bug 926347
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,sql,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/libksysguard-${PVCUT}:6
+"
+RDEPEND="${DEPEND}
+ !kde-plasma/plasma-workspace:5
+ !<kde-plasma/plasma-workspace-6.1.90:6
+"
diff --git a/kde-plasma/plymouth-kcm/Manifest b/kde-plasma/plymouth-kcm/Manifest
index e4c9dde470b3..152071961dfa 100644
--- a/kde-plasma/plymouth-kcm/Manifest
+++ b/kde-plasma/plymouth-kcm/Manifest
@@ -1 +1,2 @@
DIST plymouth-kcm-6.1.5.tar.xz 46576 BLAKE2B 76a4647343ac22cf13e2101b2a37a4605bda7602fb90132ced6ea7c2ebb2a061f6a9d923d1cf248d95b07fb664b27a7aef32a31adc682387f52fe367aff49d64 SHA512 609997981ed905226af62cac55d523864133e73949458334b358426514d65d0d0a2b809049dea08da20426d9318a22e0327a9334a1004d8a59e6592485993ad4
+DIST plymouth-kcm-6.2.0.tar.xz 47488 BLAKE2B ce27655c56ec074bced7ab5ca300caaaea30eb55a12e341fc7d31f3d6366b224620e8c5e5fe971fd9e0ab5ffb03db2dde35f36eaf4af9866f83fc8d016da3b3f SHA512 8ea82128a4529c6cd18869876522c31fdc262e1e9d86150cf00178d95469c15775fd786b62726d9298e03129707f9dedf58da5e9ffe49bf4190dce101dd68639
diff --git a/kde-plasma/plymouth-kcm/plymouth-kcm-6.2.0.ebuild b/kde-plasma/plymouth-kcm/plymouth-kcm-6.2.0.ebuild
new file mode 100644
index 000000000000..177b37eaa698
--- /dev/null
+++ b/kde-plasma/plymouth-kcm/plymouth-kcm-6.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma control module for Plymouth"
+HOMEPAGE="https://invent.kde.org/plasma/plymouth-kcm"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ sys-boot/plymouth
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
diff --git a/kde-plasma/polkit-kde-agent/Manifest b/kde-plasma/polkit-kde-agent/Manifest
index a3e66edc319e..69ff9e93963c 100644
--- a/kde-plasma/polkit-kde-agent/Manifest
+++ b/kde-plasma/polkit-kde-agent/Manifest
@@ -1,3 +1,4 @@
DIST polkit-kde-agent-1-5.27.11.tar.xz 53144 BLAKE2B bfffb3ed163b0d1581a23f663120c367d32afaefe843f19b5e5b0b099fd3f7f6b0f396a8543797e6dc9771acb137125f0a7a2ebd2520edc15acec560ef532987 SHA512 c5687704986bca51fde5d0b8d054ee6bdd957d0742c0e6a6f33100c77874ea75b7cb973393d4c7711964e390aa31fe30128d157a757ae13fc0c4d2eae1fc7bed
DIST polkit-kde-agent-1-6.1.4.tar.xz 56784 BLAKE2B 71d0ccb10c954052d85741b1ea721b8e9989fe0a4d42d29c81c1ed8e8fbb36a3bceb157848d772570185e641159c321dbccc27b9586f4ed683783c174601476d SHA512 45d9a3e9a870affb1a9d8ee19e4e252c71f1689ba673a86e66771d1a177b27721a274e91d75fc8589b4950754ee236ea8a8309384dda5fa4b57eaaa43f457aa7
DIST polkit-kde-agent-1-6.1.5.tar.xz 56804 BLAKE2B 59308a8faf9fece66aa51e82da72878006ad00baa63706a84ff7e2cfaef90de8f32b9a2f1932004aee28a289852ebfd7aeebe9ef51fc7d8220526a371e1fb922 SHA512 f4fa0e2272da8bd8455ea09fe7e759a3c5e80d0d37c8a8a8282924ccd3cdb122ac9426ce7277e1a55244ada8024cdc3e240e393fdb6ddf4c33b9b1a9153bddbc
+DIST polkit-kde-agent-1-6.2.0.tar.xz 56800 BLAKE2B faaebad16bb3fc75c22429e89f421f36a4bcb7bccad6ee213f5d9e5ab60caf285f4e16da0101e425b0151b4921ec1189521c3c5ff1e53437e4bea77313241ed4 SHA512 24ac45f5ae4219e4796088e66e7d0366d91b280e015783ce09282727a79127f20eceb4bae1855845085655be1719373ed9c680700560ce06cb576380b9eeb63e
diff --git a/kde-plasma/polkit-kde-agent/polkit-kde-agent-6.2.0.ebuild b/kde-plasma/polkit-kde-agent/polkit-kde-agent-6.2.0.ebuild
new file mode 100644
index 000000000000..299d3196c018
--- /dev/null
+++ b/kde-plasma/polkit-kde-agent/polkit-kde-agent-6.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_NAME="${PN}-1"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="PolKit agent module for KDE Plasma"
+HOMEPAGE="https://kde.org/"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=sys-auth/polkit-qt-0.175[qt6(+)]
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+"
diff --git a/kde-plasma/powerdevil/Manifest b/kde-plasma/powerdevil/Manifest
index a63bb042c606..7385f2ba9dc0 100644
--- a/kde-plasma/powerdevil/Manifest
+++ b/kde-plasma/powerdevil/Manifest
@@ -1 +1,2 @@
DIST powerdevil-6.1.5.tar.xz 967780 BLAKE2B 37a0e3e7c76504d83cef695c6439ebe263497ac788af4337e4f809ffc4bbad963ac3b4c9095cc4743c69a6d6ecdc4d6d61c15fe978de434cacb0ef111b320ba6 SHA512 c606dc61a7291dd87643a8d69005e005b33a03523b85be70f7d24181e988972df62a3b7a98423273307d4e5cf127e6eb6992ba534efbb0ca37c9ff308fc8a679
+DIST powerdevil-6.2.0.tar.xz 1182148 BLAKE2B 405b7cef620b60c41ed12bad75fdf7643926ce643367b4f06d8b3172404fa4fc8acc52d5d908c4c0ad8c5f320f8f981754cb528dff2b6d9958d198802f083160 SHA512 79d0bb5debb65377f60edcdf969d1464b7d37fabe4007c4cb5bdc4f448bdf540ad60d68b8788fe121beeded4efa6f0ab838f4f00e3cfd4edd5e1dd7bec7ee643
diff --git a/kde-plasma/powerdevil/powerdevil-6.2.0.ebuild b/kde-plasma/powerdevil/powerdevil-6.2.0.ebuild
new file mode 100644
index 000000000000..bfca018dfd3b
--- /dev/null
+++ b/kde-plasma/powerdevil/powerdevil-6.2.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Power management for KDE Plasma Shell"
+HOMEPAGE="https://invent.kde.org/plasma/powerdevil"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="brightness-control caps"
+
+RESTRICT="test" # bug 926513
+
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+DEPEND="
+ dev-libs/qcoro[dbus]
+ dev-libs/wayland
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,widgets]
+ >=dev-qt/qtwayland-${QTMIN}:6=
+ >=kde-frameworks/kauth-${KFMIN}:6[policykit]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kidletime-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-plasma/libkscreen-${PVCUT}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+ >=kde-plasma/plasma-workspace-${PVCUT}:6
+ virtual/libudev:=
+ x11-libs/libxcb
+ brightness-control? ( app-misc/ddcutil:= )
+ caps? ( sys-libs/libcap )
+"
+RDEPEND="${DEPEND}
+ !<kde-plasma/plasma-workspace-6.1.90:6
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ sys-power/power-profiles-daemon
+ >=sys-power/upower-0.9.23
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_SeleniumWebDriverATSPI=ON # not packaged
+ $(cmake_use_find_package brightness-control DDCUtil)
+ $(cmake_use_find_package caps Libcap)
+ )
+
+ ecm_src_configure
+}
+
+src_test() {
+ # bug 926513
+ ecm_src_test -j1
+}
diff --git a/kde-plasma/print-manager/Manifest b/kde-plasma/print-manager/Manifest
index 56071c3cd61b..23f26b4a3601 100644
--- a/kde-plasma/print-manager/Manifest
+++ b/kde-plasma/print-manager/Manifest
@@ -1 +1,2 @@
DIST print-manager-6.1.5.tar.xz 371292 BLAKE2B 140f63488f381dde409d673fac692197163efa200866311c0bb346e9dd57a57780dc3dd1a47fb950793b6bd5512e3d82ed2bae47e9476e1ece20e7dc0079b928 SHA512 0c83c5fdbd73ad47cde287ed2f3d89c735a44cce4c2d753201258183491bc9612091802bf639445a775f0b2ed7f485d7bc94d98904fb40ca11e23affbd046ceb
+DIST print-manager-6.2.0.tar.xz 374740 BLAKE2B 9ea90d1497f4da30168befeb0bd7aa76964ff09fb90f9827e883cc62728ae6ff8ed2d2cd8721aa7ff91f2229ea822ae1fe2d66e35435fd7da2c6d5d9f278a395 SHA512 13b5029f1041a09eb6348a6ad4ae9cb8102794d759970d10f31b80141d2f1ee6e6b2a1dd52dd09ba3e9114630b7c8373d279747658a4fd2eaf583aa332f3d485
diff --git a/kde-plasma/print-manager/print-manager-6.2.0.ebuild b/kde-plasma/print-manager/print-manager-6.2.0.ebuild
new file mode 100644
index 000000000000..62e8df621130
--- /dev/null
+++ b/kde-plasma/print-manager/print-manager-6.2.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Manage CUPS print jobs and printers in Plasma"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+gtk"
+
+DEPEND="
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=net-print/cups-2.4
+"
+RDEPEND="${DEPEND}
+ !<kde-plasma/print-manager-23.08.5-r100:5
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ gtk? ( app-admin/system-config-printer )
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged
+ )
+
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] && ! use gtk ; then
+ ewarn "By switching off \"gtk\" USE flag, you have chosen to do without"
+ ewarn "an important, though optional, runtime dependency:"
+ ewarn
+ ewarn "app-admin/system-config-printer"
+ ewarn
+ ewarn "${PN} will work nevertheless, but is going to be less comfortable"
+ ewarn "and will show the following error status during runtime:"
+ ewarn
+ ewarn "\"Failed to group devices: 'The name org.fedoraproject.Config.Printing"
+ ewarn "was not provided by any .service files'\""
+ fi
+}
diff --git a/kde-plasma/qqc2-breeze-style/Manifest b/kde-plasma/qqc2-breeze-style/Manifest
index 84b9faba5c42..69045b7d08d5 100644
--- a/kde-plasma/qqc2-breeze-style/Manifest
+++ b/kde-plasma/qqc2-breeze-style/Manifest
@@ -1 +1,2 @@
DIST qqc2-breeze-style-6.1.5.tar.xz 65920 BLAKE2B 3007e314ca4602c2634495f2010620d4261308b3e87f68244028363ddd97085683165532b73b32c4862c8545a3e1186b86f854e1d3903fee1ecced41c759bdb6 SHA512 32ccead4bed7e94a3330ad834dc0f7e94f6ef50a099c6ff7c6808d5cb29e14bcba35aaa5112fff798c9d73174c63c26f9b7e3ff42ea030f1293ca40e5920fe99
+DIST qqc2-breeze-style-6.2.0.tar.xz 65876 BLAKE2B a15915116cdd963f2b43c9bfdce3ddd5aa9b1b70b4d8565795f17e4fc8e88066c812c230a3b23586ef1d61ea5b64e35f0b5b8c3b1ce4091cbf18f83508fc3e0c SHA512 5976c807adae0740b3021c1837ac4dca1d196500e8f4c16089953a1e1b9dacdaf79f8fe9e4821baec5b696f32853d505bc7012de89b0eecff880abe6ed6c44e1
diff --git a/kde-plasma/qqc2-breeze-style/qqc2-breeze-style-6.2.0.ebuild b/kde-plasma/qqc2-breeze-style/qqc2-breeze-style-6.2.0.ebuild
new file mode 100644
index 000000000000..7cb8ffc78f8d
--- /dev/null
+++ b/kde-plasma/qqc2-breeze-style/qqc2-breeze-style-6.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="false"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Breeze inspired QQC2 Style"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) CC0-1.0"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kquickcharts-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
diff --git a/kde-plasma/sddm-kcm/Manifest b/kde-plasma/sddm-kcm/Manifest
index 3d19baa0a24a..c60a78b1a292 100644
--- a/kde-plasma/sddm-kcm/Manifest
+++ b/kde-plasma/sddm-kcm/Manifest
@@ -1 +1,2 @@
DIST sddm-kcm-6.1.5.tar.xz 98940 BLAKE2B 9b8f20c1b5026b2719893b59000fe6883dca0c8dbd8b71cbb24211bffbf6073f7e8db7ff3aadcf3cb675d154c114570aa089253b944a071158ca1f44c966ad07 SHA512 63fe04d654d4faa8ccf7f64f82671db5ccae6dc245fc94b4f56d9535d6b16b76616eeec2422850fa702b72561d34c0485f87b90598294f0c5061a730ea5a6938
+DIST sddm-kcm-6.2.0.tar.xz 99980 BLAKE2B c3543ddbc9554c0a71301047a9f6c8a49d9d64cfa2f3cf76df962a911f9987f84b176234a131594199e6d69aa51f7a6463a961d8fb7b99aafa15ab564827ae50 SHA512 591e8f70a40f0fff85a68255295aa165902c0b217f536866ad516e6042a5bb19f4b7ae71fcb136186f422ef5e611c8c79d485762357554546185a05d36586dc7
diff --git a/kde-plasma/sddm-kcm/sddm-kcm-6.2.0.ebuild b/kde-plasma/sddm-kcm/sddm-kcm-6.2.0.ebuild
new file mode 100644
index 000000000000..779ace4591e8
--- /dev/null
+++ b/kde-plasma/sddm-kcm/sddm-kcm-6.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma control module for SDDM"
+HOMEPAGE="https://invent.kde.org/plasma/sddm-kcm"
+
+LICENSE="GPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ x11-misc/sddm
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+DOCS=( CONTRIBUTORS )
diff --git a/kde-plasma/systemsettings/Manifest b/kde-plasma/systemsettings/Manifest
index c09bc1bf57ed..6f33dc40be2e 100644
--- a/kde-plasma/systemsettings/Manifest
+++ b/kde-plasma/systemsettings/Manifest
@@ -1 +1,2 @@
DIST systemsettings-6.1.5.tar.xz 214616 BLAKE2B 25ce529f9247f7e71c2cbd3027e1975f4bd8fb5133e38c5416b372be4b95acbd29a7b3439f4cd36214b9f45e49b3d37e86d644d981ccbb25a7709d22b6e3cab9 SHA512 c5cb2d8563a9a80da8c81cbd94d1d29f851f2882bc36628e7e76fb07fc55daf3f3db05bbe9078c8d097da4185675f41fdbe2c9940705cd14e142d47db374adba
+DIST systemsettings-6.2.0.tar.xz 217952 BLAKE2B 9bc897acb92830ee9b523f962a115e7df68067d26924b3865560103bb12ab72df950b5057be473ac2f66e05466fc59e8ce2074974e276a1227ce7e6a7900433c SHA512 4c54f5992c93a911d68199b2bbe813eb7c78094ad689afd47aec1c8914dea597b046d39c1bcbaed5ccba8294ae62cbf29b3f213676eba8ecd32554bb73e6d40b
diff --git a/kde-plasma/systemsettings/systemsettings-6.2.0.ebuild b/kde-plasma/systemsettings/systemsettings-6.2.0.ebuild
new file mode 100644
index 000000000000..038bdbb89651
--- /dev/null
+++ b/kde-plasma/systemsettings/systemsettings-6.2.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Control Center to configure KDE Plasma desktop"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/krunner-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-plasma/plasma-activities-${PVCUT}:6
+"
+RDEPEND="${DEPEND}"
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "Configure looks for GTK+" kde-plasma/kde-gtk-config
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-plasma/wacomtablet/Manifest b/kde-plasma/wacomtablet/Manifest
index e037c26ccac7..486cf8d90906 100644
--- a/kde-plasma/wacomtablet/Manifest
+++ b/kde-plasma/wacomtablet/Manifest
@@ -1 +1,2 @@
DIST wacomtablet-6.1.5.tar.xz 829876 BLAKE2B 5a028b05ce7360a655a98fc351c3e472a8cdaaef605045f2bab1b7e9b1cf806c488bf629f161001c5885bf64a4eba1ba4a29e66ae757939bc2cf8457b82c640b SHA512 592a0188cfa72026cc501afeed8c3e54edd99acddd0c4932e2e88889fb78d190576dbc4c662d73abe768b307e6490063bdab330efaa85959e982a55afd292f99
+DIST wacomtablet-6.2.0.tar.xz 834684 BLAKE2B 0c92051b089ee0756edbd854ebbf2f1f9f3224e5d9b80cb185a59193db8ad7d73fda8a2bf88a2f8d9422535efe41a477829195c73165f091db119e690605f1d3 SHA512 573fc2a9dde52aeb127ae76b408db1b58fde17b46dcd99fa9ab1f5fe8eec39849f8c2794cfc099178d0ff3b9bcd0d9a4ce1c2ca7b33a463fbcc6b5528ce66ad2
diff --git a/kde-plasma/wacomtablet/wacomtablet-6.2.0.ebuild b/kde-plasma/wacomtablet/wacomtablet-6.2.0.ebuild
new file mode 100644
index 000000000000..92338e47d756
--- /dev/null
+++ b/kde-plasma/wacomtablet/wacomtablet-6.2.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Wacom system settings module that supports different button/pen layout profiles"
+HOMEPAGE="https://userbase.kde.org/Wacomtablet"
+
+LICENSE="GPL-2"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+RDEPEND="
+ >=dev-libs/libwacom-0.30:=
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-plasma/libplasma-${PVCUT}:6
+ >=kde-plasma/plasma5support-${PVCUT}:6
+ >=x11-drivers/xf86-input-wacom-0.20.0
+ x11-libs/libXi
+ x11-libs/libxcb
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ x11-libs/libX11
+"
+BDEPEND="sys-devel/gettext"
+
+src_test() {
+ # test needs DBus, bug 675548
+ local myctestargs=(
+ -E "(Test.KDED.DBusTabletService)"
+ )
+
+ ecm_src_test
+}
diff --git a/kde-plasma/xdg-desktop-portal-kde/Manifest b/kde-plasma/xdg-desktop-portal-kde/Manifest
index de73929c9e48..c0791473d621 100644
--- a/kde-plasma/xdg-desktop-portal-kde/Manifest
+++ b/kde-plasma/xdg-desktop-portal-kde/Manifest
@@ -1 +1,2 @@
DIST xdg-desktop-portal-kde-6.1.5.tar.xz 172860 BLAKE2B 71f33ef6ffc75a5c5281ce8c9a8a1fb3e266179b38774edcded1b53b480104b3efd14948ac88691a3aeff1e19b1e6b6358a1a16ce8c0dbef486f2f4c911fb082 SHA512 7866d3bedbb395cf8de84c86de5d1b4db0df776986f71acb622f72d04a654c11a9645d5376d20793992886d4149f608ed4a58d701368fe2f9b40c152fe25074c
+DIST xdg-desktop-portal-kde-6.2.0.tar.xz 178796 BLAKE2B 478412498c9d50f5a149725e60e551d2913d2e4c95e27552d53894fbc527e063b4556ceb007b1b806951c19ee91660d3fc24c6eef4c160c80191d1671ac58468 SHA512 63f1077ef16e9358c0b881e17d4caf7dd1ef76112a823145c0ad4c17adb38fbc37e36bad0a196bd392804e8335c68ab46ef2e0c67084dafff99926479f508126
diff --git a/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-6.2.0.ebuild b/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-6.2.0.ebuild
new file mode 100644
index 000000000000..d732da09fb12
--- /dev/null
+++ b/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-6.2.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Backend implementation for xdg-desktop-portal that is using Qt/KDE Frameworks"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# dev-qt/qtbase:= slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+# dev-qt/qtbase:=[cups]: includes specifically the cups private header
+# dev-qt/qtgui: QtXkbCommonSupport is provided by either IUSE libinput or X
+COMMON_DEPEND="
+ >=dev-libs/wayland-1.15
+ >=dev-qt/qtbase-${QTMIN}:6=[cups,dbus,gui,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ || (
+ >=dev-qt/qtbase-${QTMIN}:6[libinput]
+ >=dev-qt/qtbase-${QTMIN}:6[X]
+ )
+ >=dev-qt/qtwayland-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6[dbus]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-plasma/kwayland-${PVCUT}:6
+ >=kde-plasma/plasma-workspace-${PVCUT}:6
+ x11-libs/libxkbcommon
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.14.0
+ >=dev-libs/wayland-protocols-1.25
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+"
+RDEPEND="${COMMON_DEPEND}
+ kde-misc/kio-fuse:6
+ sys-apps/xdg-desktop-portal
+"
+BDEPEND="
+ >=dev-qt/qtwayland-${QTMIN}:6
+ virtual/pkgconfig
+"
+
+CMAKE_SKIP_TESTS=(
+ # bugs: 926483, wants dbus/X11
+ colorschemetest
+)
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index 37266801f4b3..26fa80c8ffb3 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,10 +1,5 @@
-DIST samba-4.18.10.tar.gz 41352009 BLAKE2B 191928a3b0b2ff203de83a208dd61ac047bc666b744b0ba16a8f9a7e2e072438e2980bf0096ac95cc44003526b2098e763a29b4317083a1e3192f7e3cae2ab85 SHA512 19fed2644b1cb5a5bddca6c7eb2da11b4faf224b060b52ac9131f321d194dc650ea3082051960253e2ce627cdc06ef396778fa0f95e3e9b79f74cd1422577d80
DIST samba-4.18.11.tar.gz 41352059 BLAKE2B b2a39079286c5c0ca7beec99597ef6004c37eb81e7772b010c78b95b468b48d0370941717b8b919f0308e5313be4fc6a09374460eb2a0d2d7b26e3a8cea996d0 SHA512 7ae0f739070133c803fff3daf27ae2b0adff7336affb4898b07e5ca13bd6658228e8796565374e5a2c14e0b16ae84f404d3a62454096cacccc120520d379199f
-DIST samba-4.18.8.tar.gz 41335959 BLAKE2B d25711f1e781ed16fc224476979a07a5362f92ac943dd0bccfdf445434d0e6838281d5ceae27963267f914720ad6db647078520dc0e78c6ae652faec7d773e73 SHA512 2924c360f6299129527457547b13c1b282e2907a0ecde1036dbca894c752935d693914b4846a9eab436b33798c53c9974692e51fd071301b1174598be944a246
DIST samba-4.18.9.tar.gz 41332779 BLAKE2B 8a0769c73d42b941b6f69d62243dd2b93d66748231465b853320cf1bf4b3dd8a912ac7bddfaa9c8b1941788951c2ccd630dabb23cf94965bc1d1e4cb5d74d123 SHA512 93a6c878bca583f59208df2a7865bbd453f7a65dc2f39a863797ef807bdeced4d632c5edd4579e341f8cf3b0b2fbe41e68a815a1510518bdd43e9a25a973c94c
-DIST samba-4.19.4.tar.gz 41839810 BLAKE2B b5916478d9385eff93d852b61eaa835e04eef7d813175b7011dfab518d3115707895a67f34fc4bb6afc2a1e3b2f60af8d30cd5a32b59d8ec48977c7eefd1b906 SHA512 9a66f685cb1b5b89c59c75ccb67292b3f792b40b30ca76dfc483e805f5bb680bac027117a28a117f42713452fca41c439bed1724ba7d436fe0b0cb30a34f5b45
DIST samba-4.19.6.tar.gz 41847853 BLAKE2B 42a1756f3cb1cd48da5abe043357e15b294148b88fdcb2502394372628a17a729ffb5ea070a967face2dfb76e319cdf6fa56d611c369baddf54e998164d782ca SHA512 23172f4393deb9c520182ffb1acb3cf3e53391d4276fffe98527f2f514f969c0952e6e59bcd90f11385dc51367a7bb9cd0534fa9fc3814f16bfb88f41609d0f5
DIST samba-4.19.7.tar.gz 41851647 BLAKE2B 9bd58363d4cd30f900b286be7c7e172ed0308c4527308d15309a5f3881ba9b1d4c3dd2a37f19d63fdf80a36bd89c9b6001ab2a5aefb724f10721e3a0dc09fa94 SHA512 a837a6255be6268a48c9f41ccad5db040c69b596936a37b011a4c8e3ec68f27ebd1947b86d26b544a7b546ed426dadc450353dff9553698ca4e6e0a3af162ad3
-DIST samba-4.20.0.tar.gz 42433302 BLAKE2B 97cdfdaf118fcd9b44aef0134d211e243a6e2468d90449b9c5ac55c9a8c4dc1e63bf9eb2be9878dc70609c830f90b08b4d1dbf80d7e947c10219043def970d24 SHA512 e820739706992ef3b4e3a7a771ad5d8efc6b87d5ccdcee7ebd41483d90fa3cc0420ba9680d059e71d7083c9c12b0d36deafcdce0224560f49bbfc3a277e7e77c
-DIST samba-4.20.1.tar.gz 42441898 BLAKE2B 5516b3d74705ee829971119d9931ccd339aaa857647dc46e40fda96f65ec5ba695db107f91075a46e1a7135cfdcc0a56ee67aa3475649b314260be03e4e44657 SHA512 bea2bacae5b3272045399057ddf88d8f38203dde04c718b0088fd45792cccd68047b413e66bca7418b19db8580879358b86531a8d6f2d76fbcd902c331050a84
DIST samba-4.20.2.tar.gz 42458953 BLAKE2B dffa86c8f3abca45e0b9dd29e723fbc13c0dac6c2b50d6240151ec0ae261fa5d9f43cc57403fa0b35624fd05f8cb50e2945d26b5f5205be48ccb60db0e64c1f7 SHA512 ff2c24314c6a35cc42db36a9021241b1323e810bf746e3975bc103f26daf395cd3c32da72e7172e322dee480587bbb1daac939e9851ff65be493be6fb4fc3eda
diff --git a/net-fs/samba/samba-4.18.10.ebuild b/net-fs/samba/samba-4.18.10.ebuild
deleted file mode 100644
index df4f64da3816..000000000000
--- a/net-fs/samba/samba-4.18.10.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
- SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
-else
- SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cpu_flags_x86_aes cups debug fam glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota +regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- addc? ( json python !system-mitkrb5 winbind )
- ads? ( acl ldap python winbind )
- cluster? ( ads )
- gpg? ( addc )
- spotlight? ( json )
- test? ( python )
- !ads? ( !addc )
- ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/samba-4.0/policy.h
- /usr/include/samba-4.0/dcerpc_server.h
- /usr/include/samba-4.0/ctdb.h
- /usr/include/samba-4.0/ctdb_client.h
- /usr/include/samba-4.0/ctdb_protocol.h
- /usr/include/samba-4.0/ctdb_private.h
- /usr/include/samba-4.0/ctdb_typesafe_cb.h
- /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.4.0"
-TDB_VERSION="1.4.8"
-TEVENT_VERSION="0.14.1"
-
-COMMON_DEPEND="
- >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/icu:=[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-perl/Parse-Yapp
- >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
- >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-2.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
- <sys-libs/ldb-2.8.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- sys-libs/liburing:=[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=
- sys-libs/readline:=
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- virtual/libiconv
- $(python_gen_cond_dep '
- addc? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- )
- ads? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- net-dns/bind-tools[gssapi]
- )
- ')
- acl? ( virtual/acl )
- ceph? ( sys-cluster/ceph )
- cluster? ( net-libs/rpcsvc-proto )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- fam? ( virtual/fam )
- gpg? ( app-crypt/gpgme:= )
- json? ( dev-libs/jansson:= )
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- pam? ( sys-libs/pam )
- python? (
- sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
- snapper? ( sys-apps/dbus )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:= )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind:= )
- !llvm-libunwind? ( sys-libs/libunwind:= )
- )
- zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-perl/JSON
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- net-libs/rpcsvc-proto
- spotlight? ( dev-libs/glib )
- test? (
- >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
- $(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
- !system-mitkrb5? (
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/nss_wrapper-1.1.3
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${COMMON_DEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- python? ( ${PYTHON_DEPS} )
- selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.18.4-pam.patch
- "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
- "${FILESDIR}"/cmocka-config_h.patch
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- python-single-r1_pkg_setup
-
- SHAREDMODS="$(usev !snapper '!')vfs_snapper"
- if use cluster ; then
- SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS+=",idmap_ad"
- fi
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- # Unbundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # Unbundle iso8601 unless tests are enabled
- if ! use test ; then
- sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
- fi
-
- # Ugly hackaround for bug #592502
- #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
- sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
- -i source4/dsdb/samdb/ldb_modules/password_hash.c \
- || die
-
- # WAF
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
- if ! use system-heimdal && ! use system-mitkrb5 ; then
- bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
- fi
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test ; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- # bug #874633
- if use llvm-libunwind ; then
- mkdir -p "${T}"/${ABI}/pkgconfig || die
-
- local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
- cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
- exec_prefix=\${prefix}
- libdir=/usr/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: libunwind-generic
- Description: libunwind generic library
- Version: 1.70
- Libs: -L\${libdir} -lunwind
- Cflags: -I\${includedir}
- EOF
- fi
-
- local myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --without-winexe
- --accel-aes=$(usex cpu_flags_x86_aes intelaesni none)
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- --without-dmapi
- $(multilib_native_use_with fam)
- $(multilib_native_use_enable glusterfs)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json)
- $(multilib_native_use_enable iprint)
- $(multilib_native_use_with pam)
- $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(multilib_native_use_with quota quotas)
- $(multilib_native_use_with regedit)
- $(multilib_native_use_enable spotlight)
- $(multilib_native_use_with syslog)
- $(multilib_native_use_with systemd)
- --systemd-install-services
- --with-systemddir="$(systemd_get_systemunitdir)"
- $(multilib_native_use_with unwind libunwind)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- # bug #683148
- --jobs 1
- )
-
- if multilib_is_native_abi ; then
- myconf+=( --with-shared-modules=${SHAREDMODS} )
- else
- myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
- fi
-
- append-cppflags "-I${ESYSROOT}/usr/include/et"
-
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "Test failed"
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
- # smbspool_krb5_wrapper must only be accessible to root, bug #880739
- find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die
-
- # Remove empty runtime dirs created by build system (bug #892341)
- find "${ED}"/{run,var} -type d -empty -delete || die
-
- if multilib_is_native_abi ; then
- # Install ldap schema for server (bug #491002)
- if use ldap ; then
- insinto /etc/openldap/schema
- doins examples/LDAP/samba.schema
- fi
-
- # Create symlink for cups (bug #552310)
- if use cups ; then
- dosym ../../../bin/smbspool \
- /usr/libexec/cups/backend/smb
- fi
-
- # Install example config file
- insinto /etc/samba
- doins examples/smb.conf.default
-
- # Fix paths in example file (bug #603964)
- sed \
- -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
- -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
- -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
- -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
- -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
- -i "${ED}"/etc/samba/smb.conf.default || die
-
- # Install init script and conf.d file
- newinitd "${CONFDIR}/samba4.initd-r1" samba
- newconfd "${CONFDIR}/samba4.confd" samba
-
- dotmpfiles "${FILESDIR}"/samba.conf
- if ! use addc ; then
- rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
- || die
- fi
-
- # Preserve functionality for old gentoo-specific unit names
- dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
- dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
- dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
-
- use python && python_optimize
- fi
-
- if use pam && use winbind ; then
- newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
- # bugs #376853 and #590374
- insinto /etc/security
- doins examples/pam_winbind/pam_winbind.conf
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process samba.conf
-}
diff --git a/net-fs/samba/samba-4.18.8.ebuild b/net-fs/samba/samba-4.18.8.ebuild
deleted file mode 100644
index 701794a974a6..000000000000
--- a/net-fs/samba/samba-4.18.8.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
- SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
-else
- SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cpu_flags_x86_aes cups debug fam glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota +regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- addc? ( json python !system-mitkrb5 winbind )
- ads? ( acl ldap python winbind )
- cluster? ( ads )
- gpg? ( addc )
- spotlight? ( json )
- test? ( python )
- !ads? ( !addc )
- ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/samba-4.0/policy.h
- /usr/include/samba-4.0/dcerpc_server.h
- /usr/include/samba-4.0/ctdb.h
- /usr/include/samba-4.0/ctdb_client.h
- /usr/include/samba-4.0/ctdb_protocol.h
- /usr/include/samba-4.0/ctdb_private.h
- /usr/include/samba-4.0/ctdb_typesafe_cb.h
- /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.4.0"
-TDB_VERSION="1.4.8"
-TEVENT_VERSION="0.14.1"
-
-COMMON_DEPEND="
- >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/icu:=[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-perl/Parse-Yapp
- >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
- >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-2.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
- <sys-libs/ldb-2.8.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- sys-libs/liburing:=[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=
- sys-libs/readline:=
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- virtual/libiconv
- $(python_gen_cond_dep '
- addc? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- )
- ads? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- net-dns/bind-tools[gssapi]
- )
- ')
- acl? ( virtual/acl )
- ceph? ( sys-cluster/ceph )
- cluster? ( net-libs/rpcsvc-proto )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- fam? ( virtual/fam )
- gpg? ( app-crypt/gpgme:= )
- json? ( dev-libs/jansson:= )
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- pam? ( sys-libs/pam )
- python? (
- sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
- snapper? ( sys-apps/dbus )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:= )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind:= )
- !llvm-libunwind? ( sys-libs/libunwind:= )
- )
- zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-perl/JSON
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- net-libs/rpcsvc-proto
- spotlight? ( dev-libs/glib )
- test? (
- >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
- $(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
- !system-mitkrb5? (
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/nss_wrapper-1.1.3
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${COMMON_DEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- python? ( ${PYTHON_DEPS} )
- selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.18.4-pam.patch
- "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
- "${FILESDIR}"/cmocka-config_h.patch
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- python-single-r1_pkg_setup
-
- SHAREDMODS="$(usev !snapper '!')vfs_snapper"
- if use cluster ; then
- SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS+=",idmap_ad"
- fi
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- # Unbundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # Unbundle iso8601 unless tests are enabled
- if ! use test ; then
- sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
- fi
-
- # Ugly hackaround for bug #592502
- #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
- sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
- -i source4/dsdb/samdb/ldb_modules/password_hash.c \
- || die
-
- # WAF
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
- if ! use system-heimdal && ! use system-mitkrb5 ; then
- bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
- fi
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test ; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- # bug #874633
- if use llvm-libunwind ; then
- mkdir -p "${T}"/${ABI}/pkgconfig || die
-
- local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
- cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
- exec_prefix=\${prefix}
- libdir=/usr/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: libunwind-generic
- Description: libunwind generic library
- Version: 1.70
- Libs: -L\${libdir} -lunwind
- Cflags: -I\${includedir}
- EOF
- fi
-
- local myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --without-winexe
- --accel-aes=$(usex cpu_flags_x86_aes intelaesni none)
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- --without-dmapi
- $(multilib_native_use_with fam)
- $(multilib_native_use_enable glusterfs)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json)
- $(multilib_native_use_enable iprint)
- $(multilib_native_use_with pam)
- $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(multilib_native_use_with quota quotas)
- $(multilib_native_use_with regedit)
- $(multilib_native_use_enable spotlight)
- $(multilib_native_use_with syslog)
- $(multilib_native_use_with systemd)
- --systemd-install-services
- --with-systemddir="$(systemd_get_systemunitdir)"
- $(multilib_native_use_with unwind libunwind)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- # bug #683148
- --jobs 1
- )
-
- if multilib_is_native_abi ; then
- myconf+=( --with-shared-modules=${SHAREDMODS} )
- else
- myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
- fi
-
- append-cppflags "-I${ESYSROOT}/usr/include/et"
-
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "Test failed"
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
- # smbspool_krb5_wrapper must only be accessible to root, bug #880739
- find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die
-
- # Remove empty runtime dirs created by build system (bug #892341)
- find "${ED}"/{run,var} -type d -empty -delete || die
-
- if multilib_is_native_abi ; then
- # Install ldap schema for server (bug #491002)
- if use ldap ; then
- insinto /etc/openldap/schema
- doins examples/LDAP/samba.schema
- fi
-
- # Create symlink for cups (bug #552310)
- if use cups ; then
- dosym ../../../bin/smbspool \
- /usr/libexec/cups/backend/smb
- fi
-
- # Install example config file
- insinto /etc/samba
- doins examples/smb.conf.default
-
- # Fix paths in example file (bug #603964)
- sed \
- -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
- -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
- -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
- -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
- -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
- -i "${ED}"/etc/samba/smb.conf.default || die
-
- # Install init script and conf.d file
- newinitd "${CONFDIR}/samba4.initd-r1" samba
- newconfd "${CONFDIR}/samba4.confd" samba
-
- dotmpfiles "${FILESDIR}"/samba.conf
- if ! use addc ; then
- rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
- || die
- fi
-
- # Preserve functionality for old gentoo-specific unit names
- dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
- dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
- dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
-
- use python && python_optimize
- fi
-
- if use pam && use winbind ; then
- newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
- # bugs #376853 and #590374
- insinto /etc/security
- doins examples/pam_winbind/pam_winbind.conf
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process samba.conf
-}
diff --git a/net-fs/samba/samba-4.19.4.ebuild b/net-fs/samba/samba-4.19.4.ebuild
deleted file mode 100644
index 8f5ad70e64dc..000000000000
--- a/net-fs/samba/samba-4.19.4.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
- SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
-else
- SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota +regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- addc? ( json python !system-mitkrb5 winbind )
- ads? ( acl ldap python winbind )
- cluster? ( ads )
- gpg? ( addc )
- spotlight? ( json )
- test? ( python )
- !ads? ( !addc )
- ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/samba-4.0/policy.h
- /usr/include/samba-4.0/dcerpc_server.h
- /usr/include/samba-4.0/ctdb.h
- /usr/include/samba-4.0/ctdb_client.h
- /usr/include/samba-4.0/ctdb_protocol.h
- /usr/include/samba-4.0/ctdb_private.h
- /usr/include/samba-4.0/ctdb_typesafe_cb.h
- /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.4.1"
-TDB_VERSION="1.4.9"
-TEVENT_VERSION="0.15.0"
-
-COMMON_DEPEND="
- >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/icu:=[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-perl/Parse-Yapp
- >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
- >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-2.8.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- <sys-libs/ldb-2.9.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- sys-libs/liburing:=[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=
- sys-libs/readline:=
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- virtual/libiconv
- $(python_gen_cond_dep '
- addc? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- )
- ads? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- net-dns/bind-tools[gssapi]
- )
- ')
- acl? ( virtual/acl )
- ceph? ( sys-cluster/ceph )
- cluster? ( net-libs/rpcsvc-proto )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- fam? ( virtual/fam )
- gpg? ( app-crypt/gpgme:= )
- json? ( dev-libs/jansson:= )
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- pam? ( sys-libs/pam )
- python? (
- sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
- snapper? ( sys-apps/dbus )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:= )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind:= )
- !llvm-libunwind? ( sys-libs/libunwind:= )
- )
- zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-perl/JSON
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- net-libs/rpcsvc-proto
- spotlight? ( dev-libs/glib )
- test? (
- >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
- $(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
- !system-mitkrb5? (
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/nss_wrapper-1.1.3
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${COMMON_DEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- python? ( ${PYTHON_DEPS} )
- selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.18.4-pam.patch
- "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
- "${FILESDIR}"/cmocka-config_h.patch
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- python-single-r1_pkg_setup
-
- SHAREDMODS="$(usev !snapper '!')vfs_snapper"
- if use cluster ; then
- SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS+=",idmap_ad"
- fi
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- # Unbundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # Unbundle iso8601 unless tests are enabled
- if ! use test ; then
- sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
- fi
-
- # Ugly hackaround for bug #592502
- #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
- sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
- -i source4/dsdb/samdb/ldb_modules/password_hash.c \
- || die
-
- # WAF
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
- if ! use system-heimdal && ! use system-mitkrb5 ; then
- bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
- fi
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test ; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- # bug #874633
- if use llvm-libunwind ; then
- mkdir -p "${T}"/${ABI}/pkgconfig || die
-
- local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
- cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
- exec_prefix=\${prefix}
- libdir=/usr/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: libunwind-generic
- Description: libunwind generic library
- Version: 1.70
- Libs: -L\${libdir} -lunwind
- Cflags: -I\${includedir}
- EOF
- fi
-
- local myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --without-winexe
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- --without-dmapi
- $(multilib_native_use_with fam)
- $(multilib_native_use_enable glusterfs)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json)
- $(multilib_native_use_enable iprint)
- $(multilib_native_use_with pam)
- $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(multilib_native_use_with quota quotas)
- $(multilib_native_use_with regedit)
- $(multilib_native_use_enable spotlight)
- $(multilib_native_use_with syslog)
- $(multilib_native_use_with systemd)
- --systemd-install-services
- --with-systemddir="$(systemd_get_systemunitdir)"
- $(multilib_native_use_with unwind libunwind)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- # bug #683148
- --jobs 1
- )
-
- if multilib_is_native_abi ; then
- myconf+=( --with-shared-modules=${SHAREDMODS} )
- else
- myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
- fi
-
- append-cppflags "-I${ESYSROOT}/usr/include/et"
-
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "Test failed"
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
- # smbspool_krb5_wrapper must only be accessible to root, bug #880739
- find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die
-
- # Remove empty runtime dirs created by build system (bug #892341)
- find "${ED}"/{run,var} -type d -empty -delete || die
-
- if multilib_is_native_abi ; then
- # Install ldap schema for server (bug #491002)
- if use ldap ; then
- insinto /etc/openldap/schema
- doins examples/LDAP/samba.schema
- fi
-
- # Create symlink for cups (bug #552310)
- if use cups ; then
- dosym ../../../bin/smbspool \
- /usr/libexec/cups/backend/smb
- fi
-
- # Install example config file
- insinto /etc/samba
- doins examples/smb.conf.default
-
- # Fix paths in example file (bug #603964)
- sed \
- -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
- -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
- -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
- -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
- -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
- -i "${ED}"/etc/samba/smb.conf.default || die
-
- # Install init script and conf.d file
- newinitd "${CONFDIR}/samba4.initd-r1" samba
- newconfd "${CONFDIR}/samba4.confd" samba
-
- dotmpfiles "${FILESDIR}"/samba.conf
- if ! use addc ; then
- rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
- || die
- fi
-
- # Preserve functionality for old gentoo-specific unit names
- dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
- dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
- dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
-
- use python && python_optimize
- fi
-
- if use pam && use winbind ; then
- newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
- # bugs #376853 and #590374
- insinto /etc/security
- doins examples/pam_winbind/pam_winbind.conf
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process samba.conf
-}
diff --git a/net-fs/samba/samba-4.20.0.ebuild b/net-fs/samba/samba-4.20.0.ebuild
deleted file mode 100644
index bd2e10c3c1ee..000000000000
--- a/net-fs/samba/samba-4.20.0.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
- SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
-else
- SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota +regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- addc? ( json python !system-mitkrb5 winbind )
- ads? ( acl ldap python winbind )
- cluster? ( ads )
- gpg? ( addc )
- spotlight? ( json )
- test? ( python )
- !ads? ( !addc )
- ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/samba-4.0/policy.h
- /usr/include/samba-4.0/dcerpc_server.h
- /usr/include/samba-4.0/ctdb.h
- /usr/include/samba-4.0/ctdb_client.h
- /usr/include/samba-4.0/ctdb_protocol.h
- /usr/include/samba-4.0/ctdb_private.h
- /usr/include/samba-4.0/ctdb_typesafe_cb.h
- /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.4.2"
-TDB_VERSION="1.4.10"
-TEVENT_VERSION="0.16.1"
-
-COMMON_DEPEND="
- >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/icu:=[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-perl/Parse-Yapp
- >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
- >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-2.9.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- <sys-libs/ldb-2.10.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- sys-libs/liburing:=[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=
- sys-libs/readline:=
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- virtual/libiconv
- $(python_gen_cond_dep '
- addc? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- )
- ads? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- net-dns/bind-tools[gssapi]
- )
- ')
- acl? ( virtual/acl )
- ceph? ( sys-cluster/ceph )
- cluster? ( net-libs/rpcsvc-proto )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- fam? ( virtual/fam )
- gpg? ( app-crypt/gpgme:= )
- json? ( dev-libs/jansson:= )
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- pam? ( sys-libs/pam )
- python? (
- sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
- snapper? ( sys-apps/dbus )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
- !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) )
- systemd? ( sys-apps/systemd:= )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind:= )
- !llvm-libunwind? ( sys-libs/libunwind:= )
- )
- zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-perl/JSON
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- net-libs/rpcsvc-proto
- spotlight? ( dev-libs/glib )
- test? (
- >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
- $(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
- !system-mitkrb5? (
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/nss_wrapper-1.1.3
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${COMMON_DEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- python? ( ${PYTHON_DEPS} )
- selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.18.4-pam.patch
- "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- python-single-r1_pkg_setup
-
- SHAREDMODS="$(usev !snapper '!')vfs_snapper"
- if use cluster ; then
- SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS+=",idmap_ad"
- fi
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- # Unbundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # Unbundle iso8601 unless tests are enabled
- if ! use test ; then
- sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
- fi
-
- # Ugly hackaround for bug #592502
- #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
- sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
- -i source4/dsdb/samdb/ldb_modules/password_hash.c \
- || die
-
- # WAF
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
- if ! use system-heimdal && ! use system-mitkrb5 ; then
- bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
- fi
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test ; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- # bug #874633
- if use llvm-libunwind ; then
- mkdir -p "${T}"/${ABI}/pkgconfig || die
-
- local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
- cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
- exec_prefix=\${prefix}
- libdir=/usr/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: libunwind-generic
- Description: libunwind generic library
- Version: 1.70
- Libs: -L\${libdir} -lunwind
- Cflags: -I\${includedir}
- EOF
- fi
-
- local myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --without-winexe
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- --without-dmapi
- $(multilib_native_use_with fam)
- $(multilib_native_use_enable glusterfs)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json)
- $(multilib_native_use_enable iprint)
- $(multilib_native_use_with pam)
- $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(multilib_native_use_with quota quotas)
- $(multilib_native_use_with regedit)
- $(multilib_native_use_enable spotlight)
- $(multilib_native_use_with syslog)
- $(multilib_native_use_with systemd)
- --systemd-install-services
- --with-systemddir="$(systemd_get_systemunitdir)"
- $(multilib_native_use_with unwind libunwind)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- # bug #683148
- --jobs 1
- )
-
- if multilib_is_native_abi ; then
- myconf+=( --with-shared-modules=${SHAREDMODS} )
- else
- myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
- fi
-
- append-cppflags "-I${ESYSROOT}/usr/include/et"
-
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "Test failed"
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
- # smbspool_krb5_wrapper must only be accessible to root, bug #880739
- find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die
-
- # Remove empty runtime dirs created by build system (bug #892341)
- find "${ED}"/{run,var} -type d -empty -delete || die
-
- if multilib_is_native_abi ; then
- # Install ldap schema for server (bug #491002)
- if use ldap ; then
- insinto /etc/openldap/schema
- doins examples/LDAP/samba.schema
- fi
-
- # Create symlink for cups (bug #552310)
- if use cups ; then
- dosym ../../../bin/smbspool \
- /usr/libexec/cups/backend/smb
- fi
-
- # Install example config file
- insinto /etc/samba
- doins examples/smb.conf.default
-
- # Fix paths in example file (bug #603964)
- sed \
- -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
- -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
- -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
- -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
- -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
- -i "${ED}"/etc/samba/smb.conf.default || die
-
- # Install init script and conf.d file
- newinitd "${CONFDIR}/samba4.initd-r1" samba
- newconfd "${CONFDIR}/samba4.confd" samba
-
- dotmpfiles "${FILESDIR}"/samba.conf
- if ! use addc ; then
- rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
- || die
- fi
-
- # Preserve functionality for old gentoo-specific unit names
- dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
- dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
- dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
-
- use python && python_optimize
- fi
-
- if use pam && use winbind ; then
- newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
- # bugs #376853 and #590374
- insinto /etc/security
- doins examples/pam_winbind/pam_winbind.conf
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process samba.conf
-}
diff --git a/net-fs/samba/samba-4.20.1.ebuild b/net-fs/samba/samba-4.20.1.ebuild
deleted file mode 100644
index bd2e10c3c1ee..000000000000
--- a/net-fs/samba/samba-4.20.1.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/"
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
- SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
-else
- SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota +regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- addc? ( json python !system-mitkrb5 winbind )
- ads? ( acl ldap python winbind )
- cluster? ( ads )
- gpg? ( addc )
- spotlight? ( json )
- test? ( python )
- !ads? ( !addc )
- ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/samba-4.0/policy.h
- /usr/include/samba-4.0/dcerpc_server.h
- /usr/include/samba-4.0/ctdb.h
- /usr/include/samba-4.0/ctdb_client.h
- /usr/include/samba-4.0/ctdb_protocol.h
- /usr/include/samba-4.0/ctdb_private.h
- /usr/include/samba-4.0/ctdb_typesafe_cb.h
- /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.4.2"
-TDB_VERSION="1.4.10"
-TEVENT_VERSION="0.16.1"
-
-COMMON_DEPEND="
- >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/icu:=[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-perl/Parse-Yapp
- >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
- >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-2.9.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- <sys-libs/ldb-2.10.0:=[ldap(+)?,${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- sys-libs/liburing:=[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=
- sys-libs/readline:=
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- virtual/libiconv
- $(python_gen_cond_dep '
- addc? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- )
- ads? (
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- net-dns/bind-tools[gssapi]
- )
- ')
- acl? ( virtual/acl )
- ceph? ( sys-cluster/ceph )
- cluster? ( net-libs/rpcsvc-proto )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- fam? ( virtual/fam )
- gpg? ( app-crypt/gpgme:= )
- json? ( dev-libs/jansson:= )
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- pam? ( sys-libs/pam )
- python? (
- sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
- snapper? ( sys-apps/dbus )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
- !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) )
- systemd? ( sys-apps/systemd:= )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind:= )
- !llvm-libunwind? ( sys-libs/libunwind:= )
- )
- zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-perl/JSON
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- net-libs/rpcsvc-proto
- spotlight? ( dev-libs/glib )
- test? (
- >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
- $(python_gen_cond_dep "dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
- !system-mitkrb5? (
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/nss_wrapper-1.1.3
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${COMMON_DEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- python? ( ${PYTHON_DEPS} )
- selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.18.4-pam.patch
- "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- python-single-r1_pkg_setup
-
- SHAREDMODS="$(usev !snapper '!')vfs_snapper"
- if use cluster ; then
- SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS+=",idmap_ad"
- fi
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- # Unbundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # Unbundle iso8601 unless tests are enabled
- if ! use test ; then
- sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
- fi
-
- # Ugly hackaround for bug #592502
- #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
- sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
- -i source4/dsdb/samdb/ldb_modules/password_hash.c \
- || die
-
- # WAF
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
- if ! use system-heimdal && ! use system-mitkrb5 ; then
- bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
- fi
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test ; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- # bug #874633
- if use llvm-libunwind ; then
- mkdir -p "${T}"/${ABI}/pkgconfig || die
-
- local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
- cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
- exec_prefix=\${prefix}
- libdir=/usr/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: libunwind-generic
- Description: libunwind generic library
- Version: 1.70
- Libs: -L\${libdir} -lunwind
- Cflags: -I\${includedir}
- EOF
- fi
-
- local myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --without-winexe
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- --without-dmapi
- $(multilib_native_use_with fam)
- $(multilib_native_use_enable glusterfs)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json)
- $(multilib_native_use_enable iprint)
- $(multilib_native_use_with pam)
- $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(multilib_native_use_with quota quotas)
- $(multilib_native_use_with regedit)
- $(multilib_native_use_enable spotlight)
- $(multilib_native_use_with syslog)
- $(multilib_native_use_with systemd)
- --systemd-install-services
- --with-systemddir="$(systemd_get_systemunitdir)"
- $(multilib_native_use_with unwind libunwind)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- # bug #683148
- --jobs 1
- )
-
- if multilib_is_native_abi ; then
- myconf+=( --with-shared-modules=${SHAREDMODS} )
- else
- myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
- fi
-
- append-cppflags "-I${ESYSROOT}/usr/include/et"
-
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "Test failed"
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
- # smbspool_krb5_wrapper must only be accessible to root, bug #880739
- find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die
-
- # Remove empty runtime dirs created by build system (bug #892341)
- find "${ED}"/{run,var} -type d -empty -delete || die
-
- if multilib_is_native_abi ; then
- # Install ldap schema for server (bug #491002)
- if use ldap ; then
- insinto /etc/openldap/schema
- doins examples/LDAP/samba.schema
- fi
-
- # Create symlink for cups (bug #552310)
- if use cups ; then
- dosym ../../../bin/smbspool \
- /usr/libexec/cups/backend/smb
- fi
-
- # Install example config file
- insinto /etc/samba
- doins examples/smb.conf.default
-
- # Fix paths in example file (bug #603964)
- sed \
- -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
- -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
- -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
- -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
- -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
- -i "${ED}"/etc/samba/smb.conf.default || die
-
- # Install init script and conf.d file
- newinitd "${CONFDIR}/samba4.initd-r1" samba
- newconfd "${CONFDIR}/samba4.confd" samba
-
- dotmpfiles "${FILESDIR}"/samba.conf
- if ! use addc ; then
- rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
- || die
- fi
-
- # Preserve functionality for old gentoo-specific unit names
- dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
- dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
- dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
-
- use python && python_optimize
- fi
-
- if use pam && use winbind ; then
- newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
- # bugs #376853 and #590374
- insinto /etc/security
- doins examples/pam_winbind/pam_winbind.conf
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process samba.conf
-}
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index 9ed30b01e188..8a13c0a5ad17 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -1,5 +1,4 @@
DIST ldb-2.7.2.tar.gz 1737849 BLAKE2B 0aa70d8a4827448e41874db97130f18d17683c800b8f03f9940b4852e24fd6092052f6e70aae845c587939b9be16c80d7a920f6b874a746f923c4513b73d2afc SHA512 beb2cd83a8f128713e0b43ec6e80d0f87ab0883c6c8f0cefbbf5bf49e29dfa327b245b78467d1906917cb5f3f11e01cb76cc6bcca58a47c5deac4f05c2e9dfbd
DIST ldb-2.8.0.tar.gz 1747616 BLAKE2B 19fd4cc0893ca36e7aa65eb605b050e3faeb7add6c00a2dfd8415334c58b7dc644ffaad41c24fe358b39292aaa581e3231e6b8161b03c073e903cdae16050ac5 SHA512 b6f289af3137e02a8e3ee0588bc300d1756b8980558e0b3a3a9eee4449100ccd42ed873187dbdb334e7e7834a8bff8478cd4f20588d4ca834d9ea14c0ee2c2f9
DIST ldb-2.8.1.tar.gz 1745790 BLAKE2B 7b0fb70b510da85e9b1e67e9485ed9caf7635d4709e855f46243746f3a65cb9ccc1958f151868261b4aeb4efc6e6aa0054e19cf8f43b8bbebd7d41630af29cc7 SHA512 37e53cee1361303398cb0366760f08f2f306ed08c98354f5eb9ab2330d67b866ed0af07b252c204f77bbb260fe911337f3585015305b9d5e0ab2fcea6761b164
-DIST ldb-2.9.0.tar.gz 1757213 BLAKE2B 6d24ced193a64e723da65f26a055b97e5c5645b0ce17263073db997e9310509c788e7739136b70d099d171d1d0cbbe43bb43ea50746d876d74a1be06fa2fc36f SHA512 b5cfbbcb2c35d6830bf1a7c85e1d4363728ae474504441add54c4c8569316b26aedbf6fb9f561ec4f187eb5a847ac76af07396e38d00e6f7632b63e02d7b64a1
DIST ldb-2.9.1.tar.gz 1752372 BLAKE2B dcff2bf54a31c787504eb206453f46f3ab5b7e106a9b0978ee3f2f3d5ef267d60cb0c21864bb78c31f71b815051757bd4becf6379ea26d32e151489e09835569 SHA512 a7384d5b88b1b2edc1ac40f38f74b8b2eb403610d158c579a862007801586a4ad1ba11019737ecad8a83e8f2d1ae7ae16ec7e92c58f60feb2d6fed84c4212265
diff --git a/sys-libs/ldb/ldb-2.9.0.ebuild b/sys-libs/ldb/ldb-2.9.0.ebuild
deleted file mode 100644
index 06d1b7fd2e03..000000000000
--- a/sys-libs/ldb/ldb-2.9.0.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-inherit python-single-r1 waf-utils multilib-minimal
-
-DESCRIPTION="LDAP-like embedded database"
-HOMEPAGE="https://ldb.samba.org"
-SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc ldap +lmdb python test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( lmdb )"
-
-RESTRICT="!test? ( test )"
-
-TALLOC_VERSION="2.4.2"
-TDB_VERSION="1.4.10"
-TEVENT_VERSION="0.16.1"
-
-RDEPEND="
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- ldap? ( net-nds/openldap:= )
- lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
- virtual/libcrypt
- test? ( >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] )
-"
-BDEPEND="${PYTHON_DEPS}
- dev-libs/libxslt
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.9.0-optional_packages.patch
- "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
- "${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch
- "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch
-)
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- # waf requires a python interpreter
- python-single-r1_pkg_setup
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- if use test && ! use python ; then
- # We want to be able to run tests w/o Python as it makes
- # automated testing much easier (as USE=python isn't default-enabled).
- truncate -s0 tests/python/{repack,index,api,crash}.py || die
- fi
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- local myconf=(
- $(usex ldap '' --disable-ldap)
- $(usex lmdb '' --without-ldb-lmdb)
- --disable-rpath
- --disable-rpath-install
- --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- )
-
- if ! use python || ! multilib_is_native_abi; then
- myconf+=( --disable-python )
- fi
-
- waf-utils_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
- multilib_is_native_abi && use doc && doxygen Doxyfile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- WAF_MAKE=1 \
- PATH=buildtools/bin:../../../buildtools/bin:${PATH}:"${BUILD_DIR}"/bin/shared/private/ \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
- waf test || die
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- if multilib_is_native_abi && use doc; then
- doman apidocs/man/man3/*.3
- docinto html
- dodoc -r apidocs/html/.
- fi
-
- # bug #726454
- use python && python_optimize
-}
-
-pkg_postinst() {
- if has_version sys-auth/sssd; then
- ewarn "You have sssd installed. It is known to break after ldb upgrades,"
- ewarn "so please try to rebuild it before reporting bugs."
- ewarn "See https://bugs.gentoo.org/404281"
- fi
-}