[gentoo-dev] Last-rites: telepathy related packages
On Freitag, 25. November 2022 04:24:15 MESZ Matt Turner wrote: > GNOME 43 will no longer need these packages. They seem to be in varying > states of decay upstream. > > - net-im/telepathy-connection-managers > - net-libs/farstream > - net-libs/sofia-sip > - net-libs/telepathy-farstream > - net-voip/telepathy-gabble > - net-voip/telepathy-rakia > - net-voip/telepathy-salut > > [...] > > I've dropped gnome@ as a maintainer of all of these packages. # Andreas Sturmlechner (2024-04-06) # Dead upstream for many years, in a state of decay and no revdeps. # Removal on 2024-05-06. Bug #926193 net-im/telepathy-connection-managers net-libs/sofia-sip net-libs/telepathy-accounts-signon net-libs/telepathy-farstream net-libs/telepathy-qt net-voip/telepathy-gabble net-voip/telepathy-rakia net-voip/telepathy-salut Note: This is leaving net-libs/farstream in ::gentoo since there are revdeps, both also unmaintained though: - net-im/gajim[jingle] - x11-plugins/pidgin-sipe[voice] signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: KDE Telepathy and net-libs/telepathy-logger-qt
# Andreas Sturmlechner (2024-04-06) # Dead upstream, as is the whole telepathy stack. Some parts depend on # dev-qt/qtwebengine:5. # Removal on 2024-05-06. Bug #926679 kde-apps/ktp-accounts-kcm kde-apps/ktp-approver kde-apps/ktp-auth-handler kde-apps/ktp-common-internals kde-apps/ktp-contact-list kde-apps/ktp-contact-runner kde-apps/ktp-desktop-applets kde-apps/ktp-filetransfer-handler kde-apps/ktp-kded-module kde-apps/ktp-send-file kde-apps/ktp-text-ui kde-apps/plasma-telepathy-meta net-libs/telepathy-logger-qt signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-misc/gmail-feed
# Andreas Sturmlechner (2024-03-05) # Stopped working after GMail changes some 1.5 years ago, # no more upstream development. # Removal on 2024-04-03. kde-misc/gmail-feed signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 2/2] cmake.eclass: Set CMAKE_DISABLE_PRECOMPILE_HEADERS=ON
This is already committed in kde overlay for testing (e.g. via eclass- overrides). Bug: https://bugs.gentoo.org/920845 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index c29dcfe413..f4a0d6506c 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -459,6 +459,7 @@ cmake_src_configure() { set(BUILD_SHARED_LIBS ON CACHE BOOL "") set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "") + set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "") _EOF_ if [[ -n ${_ECM_ECLASS} ]]; then -- 2.43.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 1/2] cmake.eclass: Set FETCHCONTENT_FULLY_DISCONNECTED=ON
This is already committed in kde overlay for testing (e.g. via eclass- overrides). Bug: https://bugs.gentoo.org/920846 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 41aebeee53..c29dcfe413 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -458,6 +458,7 @@ cmake_src_configure() { set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "") set(BUILD_SHARED_LIBS ON CACHE BOOL "") set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") + set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "") _EOF_ if [[ -n ${_ECM_ECLASS} ]]; then -- 2.43.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: x11-libs/snorenotify
# Andreas Sturmlechner (2024-01-03) # Unmaintained upstream, no more revdeps. # Removal on 2024-02-03. Bug #877311 x11-libs/snorenotify signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: mail-client/kube, dev-libs/sink, net-libs/kdav2, net-libs/kimap2 and dev-libs/kasync
# Andreas Sturmlechner (2023-09-06) # dev-libs/sink is unmaintained upstream, in Gentoo, fails to build. # Masked for removal on 2023-10-06, together with mail-client/kube and # would-be orphan libraries. Bugs #907499, #904876, #872062, #856094 net-libs/kdav2 net-libs/kimap2 dev-libs/kasync dev-libs/sink mail-client/kube signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [RFC] Update USE="pulseaudio" description
Current: pulseaudio - Add support for PulseAudio sound server Proposal: pulseaudio - Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH] profiles/targets/desktop: enable USE=vulkan by default
On Montag, 22. Mai 2023 12:36:22 CEST Ulrich Mueller wrote: > > app-office/libreoffice:vulkan - Enable Vulkan usage via the skia library > (clang recommended) > > Should it be renamed to "skia" for libreoffice, because that's also the > name of the upstream flag? libreoffice will also output a warning with > USE="vulkan -clang". That would not be accurate. The (bundled) skia is always being built, it is just the component using vulkan. That detail does not need to be part of the description though, so a global would fit. Regards, Andreas signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [RFC] News Item v3: Plasma Profile to enable PipeWire, Wayland support
On Dienstag, 16. Mai 2023 20:15:44 CEST Sam James wrote: > Andreas Sturmlechner writes: > > Impact On Happy X Users > > === > > > > Minor. Most dependencies were already required with > > kde-plasma/plasma-desktop and its dependencies. Upcoming stable versions > > of kde-apps/spectacle and kde-apps/krfb will depend on (K)PipeWire > > unconditionally. > > > > No one will lose their X session, but will have the option to easily log > > in to a working Wayland session at any time. > > We should probably note that it's fine for people to use -wayland in > make.conf if they want although we'd discourage it for the Plasma > profile? > > I know we don't want to encourage people to set X or wayland manually > on that profile, but I think it's worth us saying because I can > absolutely see people asking about it. "It is possible to set USE="-wayland" against these changes, but it will amount to no dependency savings, just micro-optimisation in affected packages." signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [RFC] News Item v3: Plasma Profile to enable PipeWire, Wayland support
On Dienstag, 16. Mai 2023 21:01:14 CEST Toralf Förster wrote: > On 5/16/23 20:15, Sam James wrote: > > > We should probably note that it's fine for people to use -wayland in > > make.conf if they want although we'd discourage it for the Plasma > > profile? We can do that, albeit at the same time make it clear that it does not really achieve any dependency savings nor make any difference in X sessions. > > IIRC I experienced a nagging issue with chromium in the past. Its window > size wasn't resizeable: > > chromium --disable-extensions --disable-plugins --disable-sync > -–no-experiments --new-window --app=https://teams.microsoft.com > That's not really related to any certain USE flag setting though, right? I mean, www-client/chromium has USE=wayland but can still be started in X mode. signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [RFC] News Item v3: Plasma Profile to enable PipeWire, Wayland support
Restructured, not necessarily smaller, but maybe easier to follow. Title: Plasma Profile to enable PipeWire, Wayland support Author: Andreas Sturmlechner Posted: 2023-05-20 Revision: 1 News-Item-Format: 2.0 Display-If-Profile: default/linux/amd64/17.1/desktop/plasma Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr Display-If-Profile: default/linux/amd64/23.0/desktop/plasma Display-If-Profile: default/linux/amd64/23.0/desktop/plasma/systemd Reasons === Gentoo's Plasma profile has not had any sound server enabled since the days of KDE's own aRts. As the way we output sound has changed dramatically in the years since - using wireless or often several devices, dynamically connected and shared between multiple systems, a modern desktop environment is expected to handle this effortlessly by default. In Wayland sessions, the video functionality of PipeWire is not only used for screensharing but also to take screenshots and -recordings or simply to cast window content onto task managers' window previews. This is why PipeWire and Wayland enablement are happening at the same time. Plasma Wayland support has come a long way and we consider it stable enough for daily use with a lot - if not all - systems, even if some known papercuts remain [1]. Therefore it makes sense for Plasma profile to provide sane default settings. Changes === New global USE flags enabled: pipewire, pulseaudio, screencast, wayland New package.use default: media-video/pipewire[sound-server] We want broad sound server support in packages, and these settings will make PipeWire act as our PulseAudio server where there is no native PipeWire support. Impact On Happy X Users === Minor. Most dependencies were already required with kde-plasma/plasma-desktop and its dependencies. Upcoming stable versions of kde-apps/spectacle and kde-apps/krfb will depend on (K)PipeWire unconditionally. No one will lose their X session, but will have the option to easily log in to a working Wayland session at any time. User Action Required In order to enact all changes: emerge -1avUD @world Check out how to configure PipeWire for your purpose [2][3] In order to keep a PulseAudio or ALSA-only setup: Invert above new USE flag settings as needed, see also [2]. In order to avoid media-video/pipewire completely: This can only be achieved by losing basic task manager, screenshot/screen recording/sharing functions as provided by Plasma and KDE applications. [1] https://community.kde.org/Plasma/Wayland_Showstoppers [2] https://www.gentoo.org/support/news-items/2022-07-29-pipewire-sound-server.html [3] https://wiki.gentoo.org/wiki/PipeWire signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [RFC] News Item v2: Plasma Profile to switch on PipeWire, Wayland support
On Dienstag, 16. Mai 2023 15:59:13 CEST Ulrich Mueller wrote: > The news item seems to combine two topics which are only loosely > related, and contains a lot of information. Did you consider splitting > it into two items? > > Ulrich PipeWire and Wayland support are intertwined and the news text tells as much. I am open to cutting prose but users shouldn't have to look at two news items to come to a conclusion, with both telling them to configure the same thing. Regards signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [RFC] News Item v2: Plasma Profile to switch on PipeWire, Wayland support
Title: Plasma Profile to switch on PipeWire, Wayland support Author: Andreas Sturmlechner Posted: 2023-05-20 Revision: 1 News-Item-Format: 2.0 Display-If-Profile: default/linux/amd64/17.1/desktop/plasma Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr Display-If-Profile: default/linux/amd64/23.0/desktop/plasma Display-If-Profile: default/linux/amd64/23.0/desktop/plasma/systemd 1. PipeWire Gentoo's Plasma profile has not had any sound server enabled since the days of KDE's own aRts. As the way we output sound has changed dramatically in the years since - using wireless or often several devices, dynamically connected and shared between multiple systems, a modern desktop environment is expected to handle this effortlessly by default. This means the profile will enable both USE="pipewire,pulseaudio" globally, and enable media-video/pipewire[sound-server] to make it act as our PulseAudio server. User action required: - Check out what, if anything, you should configure to make PipeWire work for your purpose [1][2]. - For kde-apps/kmix users, a second sound mixer will appear in system tray: kde-plasma/plasma-pa as pulled in by kde-plasma/plasma-meta. Quit KMix and it will not re-appear on next startup. - If you want to keep your PulseAudio or ALSA-only setup, invert above USE flag settings globally, as needed. 2. Wayland Plasma Wayland support has come a long way and we consider it stable enough for daily use with a lot - if not all - systems, even if some known papercuts remain [3]. For those willing to switch it makes sense for Plasma profile to already provide sane settings. For everyone else it means only negligible impact in dependencies, as most of it was already inevitable with kde-plasma/plasma-desktop and its dependencies. Plasma profile will enable both USE="wayland,screencast" globally. The latter flag is tied to the video functionality of PipeWire, and e.g. used to 'cast' window content onto task managers' window previews. This is why PipeWire and Wayland enablement are happening at the same time. User action required: - If you want to keep your Pulseaudio or ALSA-only setup with Wayland, note that media-video/pipewire installation can not be avoided, but configuration not to act as a sound server is possible [1]. - None. No one will lose their X session, but will have the option to easily log into a working Wayland session instead. [1] https://www.gentoo.org/support/news-items/2022-07-29-pipewire-sound-server.html [2] https://wiki.gentoo.org/wiki/PipeWire [3] https://community.kde.org/Plasma/Wayland_Showstoppers signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [RFC] Plasma Profile to switch on PipeWire, Wayland support
Title: Plasma Profile to switch on PipeWire, Wayland support Author: Andreas Sturmlechner Posted: 2023-05-20 Revision: 1 News-Item-Format: 2.0 Display-If-Profile: default/linux/amd64/17.1/desktop/plasma Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd Display-If-Profile: default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr Display-If-Profile: default/linux/amd64/23.0/desktop/plasma Display-If-Profile: default/linux/amd64/23.0/desktop/plasma/systemd 1. PipeWire Gentoo's Plasma profile has not had any sound server enabled since the days of KDE's own aRts. As the way we output sound has changed dramatically in the years since - using wireless or often several devices, dynamically connected and shared between multiple systems, a modern desktop environment is expected to handle this effortlessly by default. This means the profile will enable both USE="pipewire,pulseaudio" globally, and enable media-video/pipewire[sound-server] to make it act as our PulseAudio server. User action required: - Check out what, if anything, you should configure to make PipeWire work for your purpose [1]. - For kde-apps/kmix users, a second sound mixer will appear in system tray: kde-plasma/plasma-pa as pulled in by kde-plasma/plasma-meta. Quit KMix and it will not re-appear on next startup. - If you want to keep your PipeWire or ALSA-only setup, invert above USE flag settings globally, as needed. 2. Wayland Plasma Wayland support has come a long way and we consider it stable enough for daily use with a lot - if not all - systems, even if some known papercuts remain [2]. For those willing to switch it makes sense for Plasma profile to already provide sane settings. For everyone else it means only negligible impact in dependencies, as most of it was already inevitable with kde-plasma/plasma-desktop and its dependencies. Plasma profile will enable both USE="wayland,screencast" globally. The latter flag is tied to the video functionality of PipeWire, and e.g. used to 'cast' window content onto task managers' window previews. This is why PipeWire and Wayland enablement are happening at the same time. User action required: - If you want to keep your PipeWire or ALSA-only setup with Wayland, note that media-video/pipewire installation can not be avoided, but configuration not to act as a sound server is possible [1]. - None. No one will lose their X session, but will have the option to easily log into a working Wayland session instead. [1] https://www.gentoo.org/support/news-items/2022-07-29-pipewire-sound-server.html [2] https://community.kde.org/Plasma/Wayland_Showstoppers signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [RFC] New global USE flag 'keyring'
This was discussed already in 2021. Going to be used by 30+ packages. Description: "Enable support for freedesktop.org Secret Service API password store" See also: https://bugs.gentoo.org/905928 https://github.com/gentoo/gentoo/pull/31035 signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] USE-flag gnome-keyring isn't accurate anymore
On Sonntag, 26. Dezember 2021 11:10:45 CEST John Johnson wrote: > On Sat, Dec 25, 2021, 5:19 AM Marek Szuba wrote: > > On 24 December 2021 08:48:08 UTC, Pacho Ramos wrote: > > >> > I think “secret” may be too generic and “libsecret” is not ideal in > > >> > case an implemention comes along that is named differently. How about > > >> > “secret-service”? > > >> > > >> I think this is a good idea. > > > > > >And "keyring"? I am not sure if users not familiar with "libsecret" will > > >understand what "secret*" means in this context > > > > Definitely a good idea. And I second "keyring", seeing as this term is > > also in use on other OSes. > > > > -- > > Marecki > > "keyring" conveys the appropriate meaning, imho. > It seems that keyring won the popular vote. There is now a bug and a PR: https://bugs.gentoo.org/905928 https://github.com/gentoo/gentoo/pull/31035 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-plasma/kwayland-server
# Andreas Sturmlechner (2023-04-08) # Long obsolete part of KDE Plasma (merged back into kwin). # Removal on 2023-08-22 kde-plasma/kwayland-server signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] cmake.eclass: Set Python3_FIND_UNVERSIONED_NAMES FIRST
This is already committed in kde overlay for testing (e.g. via eclass- overrides). See also: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8287 Bug: https://bugs.gentoo.org/835799 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 9195f3b2d1..3c432ceca8 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -537,6 +537,7 @@ cmake_src_configure() { set(CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE FILEPATH "Gentoo override rules") set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "") set(BUILD_SHARED_LIBS ON CACHE BOOL "") + set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") _EOF_ if [[ -n ${_ECM_ECLASS} ]]; then -- 2.40.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: sys-devel/llvm-roc and dev-util/rocm-clang-ocl
# Andreas Sturmlechner (2023-02-01) # >=5.1 series uses vanilla llvm/clang instead of forked versions. # Removal on 2023-03-02 sys-devel/llvm-roc dev-util/rocm-clang-ocl signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-libs/rocclr and dev-libs/rocm-hostcall
# Andreas Sturmlechner (2022-12-18) # Bundled by >=dev-util/hip-5, removal on 2023-01-19 dev-libs/rocclr # Andreas Sturmlechner (2022-12-18) # Stuck at 2.7.0, no revdeps; removal on 2023-01-19 dev-libs/rocm-hostcall See also: https://bugs.gentoo.org/650804#c94 https://github.com/gentoo/gentoo/pull/28706 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-util/boost-build
# Andreas Sturmlechner (2022-12-03) # No purpose anymore after signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Up for grabs: net-print/epson-inkjet-printer-escpr
I no longer have any hardware to test this package thanks to planned obsolescence. No open bugs. Regards signature.asc Description: This is a digitally signed message part.
[gentoo-dev] profiles: Add "qt6" global USE
Bug: https://bugs.gentoo.org/838970 Signed-off-by: Andreas Sturmlechner --- profiles/use.desc | 1 + 1 file changed, 1 insertion(+) diff --git a/profiles/use.desc b/profiles/use.desc index 83c3e70d13ce..aa2506213799 100644 --- a/profiles/use.desc +++ b/profiles/use.desc @@ -257,6 +257,7 @@ python - Add optional support/bindings for the Python language qdbm - Add support for the qdbm (Quick Database Manager) library qmail-spp - Add support for qmail SMTP plugins qt5 - Add support for the Qt 5 application and UI framework +qt6 - Add support for the Qt 6 application and UI framework quicktime - Add support for OpenQuickTime radius - Add support for RADIUS authentication raw - Add support for raw image formats -- 2.38.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] metadata.dtd: Add kde-invent remote-id
For their https://invent.kde.org/ (gitlab instance) Signed-off-by: Andreas Sturmlechner --- metadata.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.dtd b/metadata.dtd index e1207de..44d4043 100644 --- a/metadata.dtd +++ b/metadata.dtd @@ -58,7 +58,7 @@ - + -- 2.38.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-misc/kmarkdownwebview
# Andreas Sturmlechner (2022-09-23) # Unmaintained upstream, obsolete after introduction of kde-misc/markdownpart. # Removal on 2022-10-23. kde-misc/kmarkdownwebview signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-misc/ultimate-gmail-feed
# Andreas Sturmlechner (2022-09-23) # Broken after Google stopped accepting "Less Secure Apps". # https://github.com/Intika-KDE-Plasmoids/plasmoid-ultimate-gmail-feed/issues/32 # Use kde-misc/gmail-feed instead; removal on 2022-10-23. kde-misc/ultimate-gmail-feed signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] cmake-multilib.eclass: Drop cmake-utils support
cmake-utils.eclass was dropped on 2022-08-01 in commit 3e744f5a. See also: https://github.com/gentoo/gentoo/pull/26858 --- eclass/cmake-multilib.eclass | 30 ++ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass index 61bacd3d60e3..7e4a86d56756 100644 --- a/eclass/cmake-multilib.eclass +++ b/eclass/cmake-multilib.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cmake-multilib.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Author: Michał Górny # @SUPPORTED_EAPIS: 7 8 -# @PROVIDES: cmake cmake-utils multilib-minimal +# @PROVIDES: cmake multilib-minimal # @BLURB: cmake wrapper for multilib builds # @DESCRIPTION: # The cmake-multilib.eclass provides a glue between cmake.eclass(5) @@ -20,31 +20,21 @@ # in multilib-minimal, yet they ought to call appropriate cmake # phase rather than 'default'. -[[ ${EAPI} == 7 ]] && : ${CMAKE_ECLASS:=cmake-utils} # @ECLASS_VARIABLE: CMAKE_ECLASS -# @PRE_INHERIT +# @DEPRECATED # @DESCRIPTION: -# Only "cmake" is supported in EAPI-8 and later. -# In EAPI-7, default is "cmake-utils" for compatibility. Specify "cmake" for -# ebuilds that ported to cmake.eclass already. +# Only "cmake" is supported. : ${CMAKE_ECLASS:=cmake} -# @ECLASS_VARIABLE: _CMAKE_ECLASS_IMPL -# @INTERNAL -# @DESCRIPTION: -# TODO: Cleanup once EAPI-7 support is gone. -_CMAKE_ECLASS_IMPL=cmake - case ${EAPI} in 7|8) case ${CMAKE_ECLASS} in - cmake-utils|cmake) ;; + cmake) ;; *) eerror "Unknown value for \$ {CMAKE_ECLASS}" die "Value ${CMAKE_ECLASS} is not supported" ;; esac - _CMAKE_ECLASS_IMPL=${CMAKE_ECLASS} ;; *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac @@ -56,7 +46,7 @@ fi if [[ -z ${_CMAKE_MULTILIB_ECLASS} ]]; then _CMAKE_MULTILIB_ECLASS=1 -inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal +inherit cmake multilib-minimal cmake-multilib_src_configure() { local _cmake_args=( "${@}" ) @@ -65,7 +55,7 @@ cmake-multilib_src_configure() { } multilib_src_configure() { - ${_CMAKE_ECLASS_IMPL}_src_configure "${_cmake_args[@]}" + cmake_src_configure "${_cmake_args[@]}" } cmake-multilib_src_compile() { @@ -75,7 +65,7 @@ cmake-multilib_src_compile() { } multilib_src_compile() { - ${_CMAKE_ECLASS_IMPL}_src_compile "${_cmake_args[@]}" + cmake_src_compile "${_cmake_args[@]}" } cmake-multilib_src_test() { @@ -85,7 +75,7 @@ cmake-multilib_src_test() { } multilib_src_test() { - ${_CMAKE_ECLASS_IMPL}_src_test "${_cmake_args[@]}" + cmake_src_test "${_cmake_args[@]}" } cmake-multilib_src_install() { @@ -95,7 +85,7 @@ cmake-multilib_src_install() { } multilib_src_install() { - ${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}" + cmake_src_install "${_cmake_args[@]}" } fi -- 2.37.2 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-apps/kalarmcal
# Andreas Sturmlechner (2022-07-25) # Merged into kde-apps/kalarm since 22.04.3, no other revdeps, obsolete. # Masked for removal on 2022-08-08. kde-apps/kalarmcal signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-misc/plasma-applet-weather-widget
# Andreas Sturmlechner (2022-07-19) # No upstream commits since 2017, broken by yr.no widget discontinuation. # Replaced by kde-misc/kweather from KDE Plasma Mobile Gear. # Removal on 2022-08-18. kde-misc/plasma-applet-weather-widget signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Up for grabs: mail-client/kube and dependencies, including dev-libs/flatbuffers
This was added to Gentoo ebuild repository as a beta grade Mail client when it probably should not have been at that early stage. While its repository is found on invent.kde.org it is not particularly well integrated with KDE community, release tarballs aren't even hosted there. There is no overlap with the big KDE PIM suite. There is no particular appetite to continue maintain this especially with the limited dev hours available to Gentoo KDE proj, and in fact those packages have already fallen behind. A PR appeared to add kube-0.9.0 +deps but never came to fruition: https://github.com/gentoo/gentoo/pull/22371 See also: https://kube-project.com/getit.html As a result, the following packages are up for grabs very soon: mail-client/kube (0.7.0 in tree, 0.9.0 upstream) dev-libs/sink (bug 830945; 0.8.0 in tree, 0.9.0 upstream) net-libs/kdav2 (0.3.0 in tree, 0.4.0 upstream) net-libs/kimap2 (0.3.0 in tree, 0.4.0 upstream) dev-libs/flatbuffers (up to date, stabilisation pending) Regards, Andreas signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [RFC v2] [News Item] Qt 5.15.3 version bump with binary path changes
Title: Qt 5.15.3 version bump with binary path changes Author: Andreas Sturmlechner Posted: 2022-03-28 Revision: 1 News-Item-Format: 2.0 Display-If-Installed: dev-qt/qtchooser Up until Qt 5.15.2 we were using qtchooser to provide unversioned links to Qt binaries in PATH, like qmake, moc, qmljs etc. Starting with 5.15.3 [1] such links will be installed by each respective Qt package and '5'-version-suffixed, e.g. qmake becomes qmake5, qml becomes qml5 etc., mirroring Qt6. If you develop with Qt5 and rely on unversioned binaries for your workflow, dev-qt/qtchooser as a tool for quickly switching between multiple Qt installations (e.g. Qt3, Qt4 and Qt5) can still be manually installed. The 'default' Qt version in PATH is then controlled via config in /etc/xdg/qtchooser. Otherwise, dev-qt/qtchooser will be slated for cleanup on your next emerge -- depclean run. [1] https://archives.gentoo.org/gentoo-dev/message/ 5f3681b5b28dabeb5339d44e9585d29f signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [RFC] [News Item] Qt 5.15.3 version bump with binary path changes
Title: Qt 5.15.3 version bump with binary path changes Author: Andreas Sturmlechner Posted: 2022-03-27 Revision: 1 News-Item-Format: 2.0 Up until Qt 5.15.2 we were using qtchooser to provide unversioned links to Qt binaries in PATH, like qmake, moc, qmljs etc. Starting with 5.15.3 such links will be installed by each respective Qt package and '5'-version-suffixed, e.g. qmake becomes qmake5, qml becomes qml5 etc., mirroring Qt6. If you develop with Qt5 and rely on unversioned binaries for your workflow, dev-qt/qtchooser as a tool for quickly switching between multiple Qt installations (e.g. Qt3, Qt4 and Qt5) can still be manually installed. The 'default' Qt version in PATH is then controlled via config in /etc/xdg/qtchooser. Otherwise, dev-qt/qtchooser will be slated for cleanup on your next emerge -- depclean run. signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] Re: Qt 5.15.3 version bump with breaking changes incoming
On Montag, 21. März 2022 13:21:45 CET Anna Vyalkova wrote: > kde-frameworks/kguiaddons needs it. $ equery g kguiaddons * dependency graph for kde-frameworks/kguiaddons-5.92.0 `-- dev-qt/qtwaylandscanner-5.15.3 (>=dev-qt/qtwaylandscanner-5.15.2) ... signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Qt 5.15.3 version bump with breaking changes incoming
Please upgrade to Qt 5.15.3 which is in package.mask now and help testing, especially if you maintain Qt5-based packages yourself. 1) dev-qt/qtwaylandscanner (new package) split from dev-qt/qtwayland With that, qtwaylandscanner binary gets its own package, to be usually put into BDEPEND by revdeps. => Please check your packages for this dependency change. [1][2] 2) dev-qt/qtchooser ceases to manage Qt development binaries in PATH as links qtchooser is a tool for quickly switching between multiple Qt installations (e.g. Qt3, Qt4 and Qt5) and was used, in times when unversioned Qt binaries conflicted with each other, to control the default Qt version in Gentoo's PATH via config in /etc/xdg/qtchooser. Other distributions were solving the situation with '-qt5' or '5' suffixed links, and packages as a result often test for both variants, while in Gentoo we have been busy fixing upstream packages wrongly depending on PATH for build dependencies [3]. Qt6 is finally installing binaries in a non-conflicting way using the '6' suffix, so we will adopt this convention as well. This brings the following changes to Qt packaging: a) Development binaries no longer unversioned in PATH - instead, e.g. qmake becomes qmake5, qml becomes qml5, ... b) Binary tool-only packages install unversioned symlinks, moving SLOT=0 This affects assistant, linguist, qdbus, qdbusviewer, pixeltool PATH changes have been Tinderbox tested for well over a year without revealing more than a handful of build issues [4][5][6] right at the beginning. There might be silent breakage though: => Please test your package with Qt 5.15.3 and *without* dev-qt/qtchooser Watch out for ebuilds with... a) IUSE={qt5,gui} suddenly ineffective silently b) automagical Qt5 detection suddenly ending up without GUI => Do *not* depend on dev-qt/qtchooser or QT_SELECT for your package, instead fix the build system (see [3]) Users will still be able to install and use dev-qt/qtchooser for development purposes if they wish, or even to provide old Qt4 in PATH, as our symlinks will not collide with it. [1] https://qa-reports.gentoo.org/output/genrdeps/bindex/dev-qt/qtwayland [2] https://qa-reports.gentoo.org/output/genrdeps/dindex/dev-qt/qtwayland [3] https://bugs.gentoo.org/show_bug.cgi?id=qtbindir [4] https://bugs.gentoo.org/756262 [5] https://bugs.gentoo.org/755977 [6] https://gitweb.gentoo.org/repo/gentoo.git/commit/?id= b0d93f19dd63cf0dd6f9154ef33ef8326e3c7872 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: sci-chemistry/openbabel-perl
# Andreas Sturmlechner (2022-03-07) # Obsolete by >=sci-chemistry/openbabel-3[perl]. # Bug #834261. Removal on 2022-04-06. sci-chemistry/openbabel-perl signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-libs/device-atlas-api-c
# Andreas Sturmlechner (2022-03-07) # Proprietary, requires login to download, no maintainer, blocks cleanup. # Bug #770499. Removal on 2022-04-06. dev-libs/device-atlas-api-c signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: sci-chemistry/votca-ctp
# Andreas Sturmlechner (2022-03-01) # Dead upstream, blocks cleanup of dependencies. # Bug #773175. Removal on 2022-03-31. sci-chemistry/votca-ctp signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-libs/injeqt
# Andreas Sturmlechner (2022-03-01) # No revdeps since 2020-11-28, still EAPI-6 and uses cmake-utils.eclass. # Bug #834317. Removal on 2022-03-31. dev-libs/injeqt signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: x11-libs/libyui, x11-libs/libyui-gtk, x11-libs/libyui-ncurses and x11-libs/libyui-qt
# Andreas Sturmlechner (2022-02-27) # No revdeps since begin of gentoo.git history, outdated and unmaintained. # Bug #834307. Removal on 2022-03-29. x11-libs/libyui x11-libs/libyui-gtk x11-libs/libyui-ncurses x11-libs/libyui-qt signature.asc Description: This is a digitally signed message part.
[gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
Dear packagers, - More than 4500 ebuilds were switched to cmake.eclass since 2019-12-21 [1] - Less than 110 ebuilds still inherit cmake-utils.eclass [2] - A change in cmake-3.23 will break all revdeps doing so - I am not fixing it - If *you* fix it, you will become the sole maintainer of cmake-utils.eclass - Any bugs filed as a result of this will block a future cmake-utils.eclass last-rites tracker. Failure to respond will make your package a last-rites candidate too. hth. [1] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake.eclass/ [2] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake-utils.eclass/ signature.asc Description: This is a digitally signed message part.
[gentoo-dev] dev-util/cmake needs a (co-)maintainer
The de facto maintainer for many years has effectively quit doing so. While kde project is the main user of cmake, I don't have the time to care for every package that is part of KDE packages' dependency graph. This means that without a more dedicated co-maintainer, cmake version bumps will occur much less often in the future. Regards, Andreas signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] cmake.eclass: Fix MYCMAKEARGS breakage with >=dev-util/cmake-3.23
I'm not sure what this variable is about, but we gotta fix it. ...and rather drop on next EAPI bump. Bug: https://bugs.gentoo.org/833100 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 36f2621e19..64a2931898 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -593,9 +593,12 @@ cmake_src_configure() { "${mycmakeargs_local[@]}" -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" -DCMAKE_TOOLCHAIN_FILE="${toolchain_file}" - "${MYCMAKEARGS}" ) + if [[ -n ${MYCMAKEARGS} ]] ; then + cmakeargs+=( "${MYCMAKEARGS}" ) + fi + if [[ -n "${CMAKE_EXTRA_CACHE_FILE}" ]] ; then cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" ) fi -- 2.35.1 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: sys-cluster/mpich2
# Andreas Sturmlechner (2022-01-09) # No more revdeps after sys-cluster/mpe2 last-rites was initiated. # Removal on 2022-01-31, bug #547208 sys-cluster/mpich2 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: net-libs/jreen
# Andreas Sturmlechner (2022-01-07) # Unmaintained, cmake warnings, QA notices, weird build error, no revdeps. # Removal on 2022-02-06. Bug #830727 net-libs/jreen signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] Printer drivers and net-print
On Montag, 20. Februar 2017 22:47:17 CET Andreas K. Huettel wrote: > Hey all, > > 1) Putting printer drivers into "net-print" is silly. > > Something that converts format a to device-specific format b has absolutely > nothing to do with network. > So, a new category "sys-print", emphasizing that it's hardware drivers, (or > "cups-drv"?) (or maybe "media-print"?) might make sense. > > 2) After introducing that, however, "net-print" becomes nearly empty. > > On a quick glance, the only *network*-specific packages in there are cups > and lprng. Maybe one or two more which I dont recognize. > > So move cups and lprng to "net-misc" and drop "net-print"? > Or move them to new "sys-print" as well? > > What do you think? > > Cheers, > Andreas I would like to resume this discussion on the occasion of a new [shameless plug] package PAPPL that is to be packaged, see also [1], from the point before discussion went off on an X-Y categories tangent. Here's a list of suggestions made for a new category so far, ordered from (seemingly) best- to least-liked: media-print sys-print app-print(ing) I agree net-print should not remain after such a move. [1] https://bugs.gentoo.org/829351 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 2/2] pam.eclass: Drop EAPI-5 support
No more consumers for some time. --- eclass/pam.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/pam.eclass b/eclass/pam.eclass index effd17ad55d..38326682b3f 100644 --- a/eclass/pam.eclass +++ b/eclass/pam.eclass @@ -6,14 +6,14 @@ # Mikle Kolyada # @AUTHOR: # Diego Pettenò -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Handles pam related tasks # @DESCRIPTION: # This eclass contains functions to install pamd configuration files and # pam modules. case ${EAPI:-0} in - [5678]) ;; + [678]) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -- 2.34.1 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 1/2] pam.eclass: Support EAPI-8, add missing || die
Closes: https://bugs.gentoo.org/811363 --- eclass/pam.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/pam.eclass b/eclass/pam.eclass index 0b3421b5e7c..effd17ad55d 100644 --- a/eclass/pam.eclass +++ b/eclass/pam.eclass @@ -6,14 +6,14 @@ # Mikle Kolyada # @AUTHOR: # Diego Pettenò -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: Handles pam related tasks # @DESCRIPTION: # This eclass contains functions to install pamd configuration files and # pam modules. case ${EAPI:-0} in - [567]) ;; + [5678]) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -209,7 +209,7 @@ pamd_mimic() { cleanpamd() { while [[ -n $1 ]]; do if ! has_version sys-libs/pam; then - sed -i -e '/pam_shells\|pam_console/s:^:#:' "${D}/etc/ pam.d/$1" + sed -i -e '/pam_shells\|pam_console/s:^:#:' "${D}/etc/ pam.d/$1" || die fi shift -- 2.34.1 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-python/python-fcl
# Andreas Sturmlechner (2021-11-30) # Blocks cleanup of sci-libs/fcl-0.5.0, unmaintained in Gentoo. # Upstream master claims to target sci-libs/fcl-0.6.1, but that # requires someone adopting the package. # Bug #770589; masked for removal on 2021-12-30. dev-python/python-fcl signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-libs/qrosscore
# Andreas Sturmlechner (2021-11-30) # No revdeps, bug #774498; masked for removal on 2021-12-30. dev-libs/qrosscore signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: kde-misc/kimtoy
# Andreas Sturmlechner (2021-11-22) # Unmaintained upstream, never made it to a KF5-based release and Gentoo # was the only distro ever packaging such a snapshot. Use kimpanel from # kde-plasma/plasma-desktop instead. # Removal on 2021-12-22. Bug #824822 kde-misc/kimtoy signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] johu's packages up for grabs
On Sonntag, 10. Oktober 2021 09:23:40 CEST Joonas Niilola wrote: > dev-libs/qtkeychain Will be taken over by kde proj as a current (and more in the future) dependency. signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Up for grabs: dev-cpp/rttr
Short-term dependency of kde-apps/kdenlive, now without revdeps. Last release in 2018, already takes 4 patches to build successfully. Low activity upstream, fails to build against GLIBC-2.34: https://bugs.gentoo.org/806508 This package is headed for treecleaning without a maintainer and fix. signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: net-libs/gsnmp and net-analyzer/scli
# Andreas Sturmlechner (2021-09-07) # EAPI-5, dead upstream, last (and only) version added in 2011 # Bug 644344; Removal on 2021-10-07. net-libs/gsnmp # Andreas Sturmlechner (2021-09-07) # EAPI-5, dead upstream, last bump in 2012 # Bug 644344; Removal on 2021-10-07. net-analyzer/scli signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-qt/qtwebkit:5, mail-client/trojita, app-text/fb2edit
# Andreas Sturmlechner (2021-08-02) # Depends on Qt5WebKit with more holes in it than swiss cheese. Bug #685750 # Last release in 2016. Removal on 2021-10-04. mail-client/trojita # Andreas Sturmlechner (2021-08-02) # Depends on Qt5WebKit with more holes in it than swiss cheese. Bug #740416 # Removal on 2021-10-04. app-text/fb2edit # Andreas Sturmlechner (2021-08-02) # No commits to upstream repository for >9 months, latest available tarball # still "alpha" with warning about known unpatched vulnerabilities. Bug #684580 # Removal on 2021-10-04. dev-qt/qtwebkit:5 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: x11-libs/mx
# Andreas Sturmlechner (2021-09-04) # EAPI-5, dead, unused, bug 808213; Removal on 2021-10-04. x11-libs/mx signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 4/4] cmake.eclass: Default CMAKE_BUILD_TYPE=RelWithDebInfo in EAPI 8
Signed-off-by: Michał Górny Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 4203b9364cc..42a6f95201a 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -42,14 +42,19 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # Eclass can use different cmake binary than the one provided in by system. : ${CMAKE_BINARY:=cmake} +[[ ${EAPI} == 7 ]] && : ${CMAKE_BUILD_TYPE:=Gentoo} # @ECLASS-VARIABLE: CMAKE_BUILD_TYPE # @DESCRIPTION: # Set to override default CMAKE_BUILD_TYPE. Only useful for packages # known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)". # If about to be set - needs to be set before invoking cmake_src_configure. -# You usually do *NOT* want nor need to set it as it pulls CMake default -# build-type specific compiler flags overriding make.conf. -: ${CMAKE_BUILD_TYPE:=Gentoo} +# +# The default is RelWithDebInfo as that is least likely to append undesirable +# flags. However, you may still need to sed CMake files or choose a different +# build type to achieve desirable results. +# +# In EAPI 7, the default was non-standard build type of Gentoo. +: ${CMAKE_BUILD_TYPE:=RelWithDebInfo} # @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD # @DEFAULT_UNSET -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 3/4] cmake.eclass: Enable CMAKE_INSTALL_ALWAYS
Bug: https://bugs.gentoo.org/735820 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 5 + 1 file changed, 5 insertions(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 7a8059ba071..4203b9364cc 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -535,6 +535,11 @@ cmake_src_configure() { echo 'set(CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}" || die fi + # See bug 735820 + if [[ ${EAPI} != 7 ]]; then + echo 'set(CMAKE_INSTALL_ALWAYS 1)' >> "${common_config}" || die + fi + # Wipe the default optimization flags out of CMake if [[ ${CMAKE_BUILD_TYPE} != Gentoo ]]; then cat >> ${common_config} <<- _EOF_ || die -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 2/4] cmake.eclass: Enforce CMAKE_REMOVE_MODULES_LIST be an array
Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 28 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 137dbc66017..7a8059ba071 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -66,11 +66,23 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST +# @PRE_INHERIT +# @DEFAULT_UNSET # @DESCRIPTION: -# Array of CMake modules that will be removed in ${CMAKE_USE_DIR} -# (in EAPI-7: ${S}) during src_prepare, in order to force packages to use the -# system version. Set to empty to disable removing modules entirely. -: ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK} +# Array of .cmake modules to be removed in ${CMAKE_USE_DIR} (in EAPI-7: ${S}) +# during src_prepare, in order to force packages to use the system version. +# By default, contains "FindBLAS" and "FindLAPACK". +# Set to empty to disable removing modules entirely. +if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then + if [[ ${EAPI} != 7 ]]; then + [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] || + die "CMAKE_REMOVE_MODULES_LIST must be an array" + fi +else + if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* && ${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then + CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK ) + fi +fi # @ECLASS-VARIABLE: CMAKE_USE_DIR # @DESCRIPTION: @@ -108,7 +120,7 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils [[ ${CMAKE_MIN_VERSION} ]] && die "CMAKE_MIN_VERSION is banned; if necessary, set BDEPEND=\">=dev-util/cmake-${CMAKE_MIN_VERSION}\" directly" [[ ${CMAKE_BUILD_DIR} ]] && die "The ebuild must be migrated to BUILD_DIR" -[[ ${CMAKE_REMOVE_MODULES} ]] && die "CMAKE_REMOVE_MODULES is banned, set CMAKE_REMOVE_MODULES_LIST=\"\" instead" +[[ ${CMAKE_REMOVE_MODULES} ]] && die "CMAKE_REMOVE_MODULES is banned, set CMAKE_REMOVE_MODULES_LIST array instead" [[ ${CMAKE_UTILS_QA_SRC_DIR_READONLY} ]] && die "Use CMAKE_QA_SRC_DIR_READONLY instead" [[ ${WANT_CMAKE} ]] && die "WANT_CMAKE has been removed and is a no-op" [[ ${PREFIX} ]] && die "PREFIX has been removed and is a no-op" @@ -353,10 +365,10 @@ cmake_src_prepare() { fi local modules_list - if [[ $(declare -p CMAKE_REMOVE_MODULES_LIST) == "declare -a"* ]]; then - modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" ) - else + if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then modules_list=( ${CMAKE_REMOVE_MODULES_LIST} ) + else + modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" ) fi local name -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 1/4] cmake.eclass: Support EAPI-8
Move supported EAPI check on top, EXPORT_FUNCTIONS below guard. Switch to using current working directory instead of ${S} when initializing ${CMAKE_USE_DIR} and ${BUILD_DIR}. Sort inherits. Raise baseline cmake version to 3.20.5. Bug: https://bugs.gentoo.org/704524 Thanks-to: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 95 + 1 file changed, 62 insertions(+), 33 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 4bd09459ea6..137dbc66017 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -9,7 +9,7 @@ # Maciej Mrozowski # (undisclosed contributors) # Original author: Zephyrus (zephy...@mirach.it) -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: common ebuild functions for cmake-based packages # @DESCRIPTION: # The cmake eclass makes creating ebuilds for cmake-based packages much easier. @@ -17,16 +17,25 @@ # out-of-source builds (default), in-source builds and an implementation of the # well-known use_enable function for CMake. +case ${EAPI} in + 7|8) ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; +esac + if [[ -z ${_CMAKE_ECLASS} ]]; then _CMAKE_ECLASS=1 +inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils + # @ECLASS-VARIABLE: BUILD_DIR +# @DEFAULT_UNSET # @DESCRIPTION: # Build directory where all cmake processed files should be generated. # For in-source build it's fixed to ${CMAKE_USE_DIR}. # For out-of-source build it can be overridden, by default it uses -# ${WORKDIR}/${P}_build. -: ${BUILD_DIR:=${WORKDIR}/${P}_build} +# ${CMAKE_USE_DIR}_build (in EAPI-7: ${WORKDIR}/${P}_build). +[[ ${EAPI} == 7 ]] && : ${BUILD_DIR:=${WORKDIR}/${P}_build} +# EAPI-8: set inside _cmake_check_build_dir # @ECLASS-VARIABLE: CMAKE_BINARY # @DESCRIPTION: @@ -58,16 +67,16 @@ _CMAKE_ECLASS=1 # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST # @DESCRIPTION: -# Array of CMake modules that will be removed in $S during src_prepare, -# in order to force packages to use the system version. -# Set to "none" to disable removing modules entirely. +# Array of CMake modules that will be removed in ${CMAKE_USE_DIR} +# (in EAPI-7: ${S}) during src_prepare, in order to force packages to use the +# system version. Set to empty to disable removing modules entirely. : ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK} # @ECLASS-VARIABLE: CMAKE_USE_DIR # @DESCRIPTION: # Sets the directory where we are working with cmake, for example when # application uses autotools and only one plugin needs to be done by cmake. -# By default it uses ${S}. +# By default it uses current working directory (in EAPI-7: ${S}). # @ECLASS-VARIABLE: CMAKE_VERBOSE # @DESCRIPTION: @@ -93,18 +102,9 @@ _CMAKE_ECLASS=1 # @USER_VARIABLE # @DEFAULT_UNSET # @DESCRIPTION: -# After running cmake_src_prepare, sets ${S} to read-only. This is -# a user flag and should under _no circumstances_ be set in the ebuild. -# Helps in improving QA of build systems that write to source tree. - -case ${EAPI} in - 7) ;; - *) die "EAPI=${EAPI:-0} is not supported" ;; -esac - -inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils - -EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install +# After running cmake_src_prepare, sets ${CMAKE_USE_DIR} (in EAPI-7: ${S}) to +# read-only. This is a user flag and should under _no circumstances_ be set in +# the ebuild. Helps in improving QA of build systems that write to source tree. [[ ${CMAKE_MIN_VERSION} ]] && die "CMAKE_MIN_VERSION is banned; if necessary, set BDEPEND=\">=dev-util/cmake-${CMAKE_MIN_VERSION}\" directly" [[ ${CMAKE_BUILD_DIR} ]] && die "The ebuild must be migrated to BUILD_DIR" @@ -127,7 +127,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in esac if [[ ${PN} != cmake ]]; then - BDEPEND+=" dev-util/cmake" + BDEPEND+=" >=dev-util/cmake-3.20.5" fi # @FUNCTION: cmake_run_in @@ -264,14 +264,22 @@ cmake-utils_useno() { _cmake_banned_func "" "$@" ; } # @DESCRIPTION: # Determine using IN or OUT source build _cmake_check_build_dir() { - : ${CMAKE_USE_DIR:=${S}} + if [[ ${EAPI} == 7 ]]; then + : ${CMAKE_USE_DIR:=${S}} + else + : ${CMAKE_USE_DIR:=${PWD}} + fi if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then # we build in source dir BUILD_DIR="${CMAKE_USE_DIR}" + else + : ${BUILD_DIR:=${CMAKE_USE_DIR}_build} fi + einfo "Source directory (CMAKE_USE_DIR): \"${CMAKE_USE_DIR}\"" + einfo "Build directory (BUILD_DIR): \"${BUILD_DIR}\"" + mkdir -p "${BUILD_DIR}" || die - einfo "Working in BUILD_DIR: \"$BUILD_DIR\&
[gentoo-dev] [PATCH] cmake-multilib.eclass: Support EAPI-8, add guard
Move EXPORT_FUNCTIONS below guard. Signed-off-by: Andreas Sturmlechner --- eclass/cmake-multilib.eclass | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass index 6b38d260655..c848e3882f5 100644 --- a/eclass/cmake-multilib.eclass +++ b/eclass/cmake-multilib.eclass @@ -6,7 +6,7 @@ # Michał Górny # @AUTHOR: # Author: Michał Górny -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: cmake wrapper for multilib builds # @DESCRIPTION: # The cmake-multilib.eclass provides a glue between cmake.eclass(5) @@ -19,21 +19,23 @@ # in multilib-minimal, yet they ought to call appropriate cmake # phase rather than 'default'. +[[ ${EAPI} == 7 ]] && : ${CMAKE_ECLASS:=cmake-utils} # @ECLASS-VARIABLE: CMAKE_ECLASS # @PRE_INHERIT # @DESCRIPTION: -# Default is "cmake-utils" for compatibility in EAPI-7. Specify "cmake" for -# ebuilds that ported to cmake.eclass already. Future EAPI is "cmake" only. -: ${CMAKE_ECLASS:=cmake-utils} +# Only "cmake" is supported in EAPI-8 and later. +# In EAPI-7, default is "cmake-utils" for compatibility. Specify "cmake" for +# ebuilds that ported to cmake.eclass already. +: ${CMAKE_ECLASS:=cmake} # @ECLASS-VARIABLE: _CMAKE_ECLASS_IMPL # @INTERNAL # @DESCRIPTION: -# Default is "cmake" for future EAPI. Cleanup once EAPI-7 support is gone. +# TODO: Cleanup once EAPI-7 support is gone. _CMAKE_ECLASS_IMPL=cmake -case ${EAPI:-0} in - 7) +case ${EAPI} in + 7|8) case ${CMAKE_ECLASS} in cmake-utils|cmake) ;; *) @@ -43,16 +45,17 @@ case ${EAPI:-0} in esac _CMAKE_ECLASS_IMPL=${CMAKE_ECLASS} ;; - *) die "EAPI=${EAPI} is not supported" ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac if [[ ${CMAKE_IN_SOURCE_BUILD} ]]; then die "${ECLASS}: multilib support requires out-of-source builds." fi -inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal +if [[ -z ${_CMAKE_MULTILIB_ECLASS} ]]; then +_CMAKE_MULTILIB_ECLASS=1 -EXPORT_FUNCTIONS src_configure src_compile src_test src_install +inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal cmake-multilib_src_configure() { local _cmake_args=( "${@}" ) @@ -93,3 +96,7 @@ cmake-multilib_src_install() { multilib_src_install() { ${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}" } + +fi + +EXPORT_FUNCTIONS src_configure src_compile src_test src_install -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 2/2] ecm.eclass: Drop exec. bit from .desktop files in xdg standard dir
Bug: https://bugs.gentoo.org/621970 Signed-off-by: Andreas Sturmlechner --- eclass/ecm.eclass | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 919c7514b5..1f62d7f7af 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -30,6 +30,7 @@ if [[ -v KDE_GCC_MINIMAL ]]; then fi EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_test pkg_preinst pkg_postinst pkg_postrm +[[ ${EAPI} != 7 ]] && EXPORT_FUNCTIONS src_install if [[ -z ${_ECM_ECLASS} ]]; then _ECM_ECLASS=1 @@ -535,12 +536,26 @@ ecm_src_test() { # @FUNCTION: ecm_src_install # @DESCRIPTION: -# Wrapper for cmake_src_install. Currently doesn't do anything extra, but -# is included as part of the API just in case it's needed in the future. +# Wrapper for cmake_src_install. Drops executable bit from .desktop files +# installed inside /usr/share/applications. This is set by cmake when install() +# is called in PROGRAM form, as seen in many kde.org projects. ecm_src_install() { debug-print-function ${FUNCNAME} "$@" cmake_src_install + + # bug 621970 + if [[ ${EAPI} != 7 ]]; then + if [[ -d "${ED}"/usr/share/applications ]]; then + local f + for f in "${ED}"/usr/share/applications/*.desktop; do + if [[ -x ${f} ]]; then + einfo "Removing executable bit from ${f#$ {ED}}" + fperms a-x "${f#${ED}}" + fi + done + fi + fi } # @FUNCTION: ecm_pkg_preinst -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 1/2] ecm.eclass: Support EAPI-8
Raise baseline Frameworks version to 5.82.0. Signed-off-by: Andreas Sturmlechner --- eclass/ecm.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 5f10a7caf7..919c7514b5 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -4,7 +4,7 @@ # @ECLASS: ecm.eclass # @MAINTAINER: # k...@gentoo.org -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Support eclass for packages that use KDE Frameworks with ECM. # @DESCRIPTION: # This eclass is intended to streamline the creation of ebuilds for packages @@ -21,7 +21,7 @@ # any phase functions are overridden the version here should also be called. case ${EAPI} in - 7) ;; + 7|8) ;; *) die "EAPI=${EAPI:-0} is not supported" ;; esac @@ -154,7 +154,7 @@ fi if [[ ${CATEGORY} = kde-frameworks ]]; then : ${KFMIN:=$(ver_cut 1-2)} fi -: ${KFMIN:=5.64.0} +: ${KFMIN:=5.82.0} # @ECLASS-VARIABLE: KFSLOT # @INTERNAL -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 3/4] cmake.eclass: Enable CMAKE_INSTALL_ALWAYS
Bug: https://bugs.gentoo.org/735820 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 5 + 1 file changed, 5 insertions(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 3c611071821..8befd9e5a9f 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -537,6 +537,11 @@ cmake_src_configure() { echo 'set(CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}" || die fi + # See bug 735820 + if [[ ${EAPI} != 7 ]]; then + echo 'set(CMAKE_INSTALL_ALWAYS 1)' >> "${common_config}" || die + fi + # Wipe the default optimization flags out of CMake if [[ ${CMAKE_BUILD_TYPE} != Gentoo ]]; then cat >> ${common_config} <<- _EOF_ || die -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 4/4] cmake.eclass: Default CMAKE_BUILD_TYPE=RelWithDebInfo in EAPI 8
Signed-off-by: Michał Górny Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 8befd9e5a9f..3021a3a2b1e 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -42,14 +42,19 @@ _CMAKE_ECLASS=1 # Eclass can use different cmake binary than the one provided in by system. : ${CMAKE_BINARY:=cmake} +[[ ${EAPI} == 7 ]] && : ${CMAKE_BUILD_TYPE:=Gentoo} # @ECLASS-VARIABLE: CMAKE_BUILD_TYPE # @DESCRIPTION: # Set to override default CMAKE_BUILD_TYPE. Only useful for packages # known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)". # If about to be set - needs to be set before invoking cmake_src_configure. -# You usually do *NOT* want nor need to set it as it pulls CMake default -# build-type specific compiler flags overriding make.conf. -: ${CMAKE_BUILD_TYPE:=Gentoo} +# +# The default is RelWithDebInfo as that is least likely to append undesirable +# flags. However, you may still need to sed CMake files or choose a different +# build type to achieve desirable results. +# +# In EAPI 7, the default was non-standard build type of Gentoo. +: ${CMAKE_BUILD_TYPE:=RelWithDebInfo} # @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD # @DEFAULT_UNSET -- 2.33.0 signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH 2/4] cmake.eclass: Enforce CMAKE_REMOVE_MODULES_LIST be an array
[PATCH 3/4] cmake.eclass: Enable CMAKE_INSTALL_ALWAYS Bug: https://bugs.gentoo.org/735820 Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 5 + 1 file changed, 5 insertions(+) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 3c611071821..8befd9e5a9f 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -537,6 +537,11 @@ cmake_src_configure() { echo 'set(CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}" || die fi + # See bug 735820 + if [[ ${EAPI} != 7 ]]; then + echo 'set(CMAKE_INSTALL_ALWAYS 1)' >> "${common_config}" || die + fi + # Wipe the default optimization flags out of CMake if [[ ${CMAKE_BUILD_TYPE} != Gentoo ]]; then cat >> ${common_config} <<- _EOF_ || die -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 2/4] cmake.eclass: Enforce CMAKE_REMOVE_MODULES_LIST be an array
Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 26 +++--- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 43635d0ddf7..3c611071821 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -66,11 +66,23 @@ _CMAKE_ECLASS=1 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST +# @PRE_INHERIT +# @DEFAULT_UNSET # @DESCRIPTION: -# Array of CMake modules that will be removed in ${CMAKE_USE_DIR} -# (in EAPI-7: ${S}) during src_prepare, in order to force packages to use the -# system version. Set to empty to disable removing modules entirely. -: ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK} +# Array of .cmake modules to be removed in ${CMAKE_USE_DIR} (in EAPI-7: ${S}) +# during src_prepare, in order to force packages to use the system version. +# By default, contains "FindBLAS" and "FindLAPACK". +# Set to empty to disable removing modules entirely. +if [[ ${CMAKE_REMOVE_MODULES_LIST} ]]; then + if [[ ${EAPI} != 7 ]]; then + [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* ]] || + die "CMAKE_REMOVE_MODULES_LIST must be an array" + fi +else + if ! [[ ${CMAKE_REMOVE_MODULES_LIST@a} == *a* && ${#CMAKE_REMOVE_MODULES_LIST[@]} -eq 0 ]]; then + CMAKE_REMOVE_MODULES_LIST=( FindBLAS FindLAPACK ) + fi +fi # @ECLASS-VARIABLE: CMAKE_USE_DIR # @DESCRIPTION: @@ -355,10 +367,10 @@ cmake_src_prepare() { fi local modules_list - if [[ $(declare -p CMAKE_REMOVE_MODULES_LIST) == "declare -a"* ]]; then - modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" ) - else + if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then modules_list=( ${CMAKE_REMOVE_MODULES_LIST} ) + else + modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" ) fi local name -- 2.33.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 1/4] cmake.eclass: Support EAPI-8
Move supported EAPI check and EXPORT_FUNCTIONS on top. Switch to using current working directory instead of ${S} when initializing ${CMAKE_USE_DIR} and ${BUILD_DIR}. Raise baseline cmake version to 3.20. Bug: https://bugs.gentoo.org/704524 Thanks-to: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Andreas Sturmlechner --- eclass/cmake.eclass | 91 ++--- 1 file changed, 60 insertions(+), 31 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 4bd09459ea6..43635d0ddf7 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -9,7 +9,7 @@ # Maciej Mrozowski # (undisclosed contributors) # Original author: Zephyrus (zephy...@mirach.it) -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: common ebuild functions for cmake-based packages # @DESCRIPTION: # The cmake eclass makes creating ebuilds for cmake-based packages much easier. @@ -17,16 +17,25 @@ # out-of-source builds (default), in-source builds and an implementation of the # well-known use_enable function for CMake. +case ${EAPI} in + 7|8) ;; + *) die "EAPI=${EAPI:-0} is not supported" ;; +esac + +EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install + if [[ -z ${_CMAKE_ECLASS} ]]; then _CMAKE_ECLASS=1 # @ECLASS-VARIABLE: BUILD_DIR +# @DEFAULT_UNSET # @DESCRIPTION: # Build directory where all cmake processed files should be generated. # For in-source build it's fixed to ${CMAKE_USE_DIR}. # For out-of-source build it can be overridden, by default it uses -# ${WORKDIR}/${P}_build. -: ${BUILD_DIR:=${WORKDIR}/${P}_build} +# ${CMAKE_USE_DIR}_build (in EAPI-7: ${WORKDIR}/${P}_build). +[[ ${EAPI} == 7 ]] && : ${BUILD_DIR:=${WORKDIR}/${P}_build} +# EAPI-8: set inside _cmake_check_build_dir # @ECLASS-VARIABLE: CMAKE_BINARY # @DESCRIPTION: @@ -58,16 +67,16 @@ _CMAKE_ECLASS=1 # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST # @DESCRIPTION: -# Array of CMake modules that will be removed in $S during src_prepare, -# in order to force packages to use the system version. -# Set to "none" to disable removing modules entirely. +# Array of CMake modules that will be removed in ${CMAKE_USE_DIR} +# (in EAPI-7: ${S}) during src_prepare, in order to force packages to use the +# system version. Set to empty to disable removing modules entirely. : ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK} # @ECLASS-VARIABLE: CMAKE_USE_DIR # @DESCRIPTION: # Sets the directory where we are working with cmake, for example when # application uses autotools and only one plugin needs to be done by cmake. -# By default it uses ${S}. +# By default it uses current working directory (in EAPI-7: ${S}). # @ECLASS-VARIABLE: CMAKE_VERBOSE # @DESCRIPTION: @@ -93,19 +102,12 @@ _CMAKE_ECLASS=1 # @USER_VARIABLE # @DEFAULT_UNSET # @DESCRIPTION: -# After running cmake_src_prepare, sets ${S} to read-only. This is -# a user flag and should under _no circumstances_ be set in the ebuild. -# Helps in improving QA of build systems that write to source tree. - -case ${EAPI} in - 7) ;; - *) die "EAPI=${EAPI:-0} is not supported" ;; -esac +# After running cmake_src_prepare, sets ${CMAKE_USE_DIR} (in EAPI-7: ${S}) to +# read-only. This is a user flag and should under _no circumstances_ be set in +# the ebuild. Helps in improving QA of build systems that write to source tree. inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils -EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install - [[ ${CMAKE_MIN_VERSION} ]] && die "CMAKE_MIN_VERSION is banned; if necessary, set BDEPEND=\">=dev-util/cmake-${CMAKE_MIN_VERSION}\" directly" [[ ${CMAKE_BUILD_DIR} ]] && die "The ebuild must be migrated to BUILD_DIR" [[ ${CMAKE_REMOVE_MODULES} ]] && die "CMAKE_REMOVE_MODULES is banned, set CMAKE_REMOVE_MODULES_LIST=\"\" instead" @@ -127,7 +129,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in esac if [[ ${PN} != cmake ]]; then - BDEPEND+=" dev-util/cmake" + BDEPEND+=" >=dev-util/cmake-3.20" fi # @FUNCTION: cmake_run_in @@ -264,14 +266,22 @@ cmake-utils_useno() { _cmake_banned_func "" "$@" ; } # @DESCRIPTION: # Determine using IN or OUT source build _cmake_check_build_dir() { - : ${CMAKE_USE_DIR:=${S}} + if [[ ${EAPI} == 7 ]]; then + : ${CMAKE_USE_DIR:=${S}} + else + : ${CMAKE_USE_DIR:=${PWD}} + fi if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then # we build in source dir BUILD_DIR="${CMAKE_USE_DIR}" + else + : ${BUILD_DIR:=${CMAKE_USE_DIR}_build} fi + einfo "Source directory (CMAKE_USE_DIR): \"${CMAKE_USE_DIR}\"" + einfo "Build directory (BUILD_DIR): \"${BUILD_DIR}\""
Re: [gentoo-dev] [PATCH] cmake.eclass: support EAPI 8
On Montag, 16. August 2021 19:06:28 CEST Joonas Niilola wrote: > On 16.8.2021 19.53, Marek Szuba wrote: > > On 2021-08-16 17:49, Sam James wrote: > >> See https://bugs.gentoo.org/802786 and > >> https://github.com/gentoo/kde/pull/903. There's some work to be done > >> first. > > > > I see. Guess we'll have to stick with EAPI 7 for cmake revdeps in the > > foreseeable future, then. > > What's the rush with 8 anyway? We still have eclasses that don't even > support 7. And since 6 is now, sigh, deprecated, any bump to ebuilds > depending on those eclasses will add to the evergrowing CI issue list > right? I'd say it's more important to secure EAPI-7 support there first. > > -- juippis I daresay eclasses still missing EAPI-7 support at this point comprise of abandonware. We are at 81% >=EAPI-7 coverage among all ebuilds. cmake.eclass has zero signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH] cmake.eclass: support EAPI 8
On Montag, 16. August 2021 18:53:42 CEST Marek Szuba wrote: > On 2021-08-16 17:49, Sam James wrote: > > See https://bugs.gentoo.org/802786 and > > https://github.com/gentoo/kde/pull/903. There's some work to be done > > first. > I see. Guess we'll have to stick with EAPI 7 for cmake revdeps in the > foreseeable future, then. Feel free to pick up task no. 3 from the bug. Everything else is either done already or easy enough. Regards signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] kde.org.eclass: EAPI-8; allow KDE_BUILD_TYPE to hold "snapshot" value
This value is set in conjunction with KDE_ORG_COMMIT to distinguish between proper release tarballs and snapshots. Signed-off-by: Andreas Sturmlechner --- eclass/kde.org.eclass | 50 +++ 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass index 0503bcf6a2..18f198e522 100644 --- a/eclass/kde.org.eclass +++ b/eclass/kde.org.eclass @@ -4,7 +4,7 @@ # @ECLASS: kde.org.eclass # @MAINTAINER: # k...@gentoo.org -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Support eclass for packages that are hosted on kde.org infrastructure. # @DESCRIPTION: # This eclass is mainly providing facilities for the three upstream release @@ -15,8 +15,8 @@ # It also contains default meta variables for settings not specific to any # particular build system. case ${EAPI} in - 7) ;; + 7|8) ;; *) die "EAPI=${EAPI:-0} is not supported" ;; esac @@ -25,20 +25,6 @@ EXPORT_FUNCTIONS pkg_nofetch src_unpack if [[ -z ${_KDE_ORG_ECLASS} ]]; then _KDE_ORG_ECLASS=1 -# @ECLASS-VARIABLE: KDE_BUILD_TYPE -# @DESCRIPTION: -# If PV matches "**", this is automatically set to "live". -# Otherwise, this is automatically set to "release". -KDE_BUILD_TYPE="release" -if [[ ${PV} == ** ]]; then - KDE_BUILD_TYPE="live" -fi -export KDE_BUILD_TYPE - -if [[ ${KDE_BUILD_TYPE} == live ]]; then - inherit git-r3 -fi - # @ECLASS-VARIABLE: KDE_ORG_CATEGORIES # @INTERNAL # @DESCRIPTION: @@ -105,6 +91,25 @@ readonly KDE_ORG_CATEGORIES # If set to "false", do nothing. # If set to "true", set SRC_URI accordingly and apply KDE_UNRELEASED. : ${KDE_GEAR:=false} + +# @ECLASS-VARIABLE: KDE_BUILD_TYPE +# @DESCRIPTION: +# By default, this is set to "release". +# If PV matches "**", this is automatically set to "live" and will cause +# git-r3.eclass to be inherited. +# In EAPI-8, if KDE_ORG_COMMIT is set, this is automatically set to "snapshot". +KDE_BUILD_TYPE="release" +if [[ ${PV} == ** ]]; then + KDE_BUILD_TYPE="live" +fi +if [[ ${EAPI} == 8 ]] && [[ -n ${KDE_ORG_COMMIT} ]]; then + KDE_BUILD_TYPE="snapshot" +fi +export KDE_BUILD_TYPE + +if [[ ${KDE_BUILD_TYPE} == live ]]; then + inherit git-r3 +fi # @ECLASS-VARIABLE: KDE_SELINUX_MODULE # @PRE_INHERIT @@ -147,7 +152,7 @@ case ${CATEGORY} in kde-frameworks) HOMEPAGE="https://kde.org/products/frameworks/; SLOT=5/${PV} - [[ ${KDE_BUILD_TYPE} == release ]] && SLOT=$(ver_cut 1)/$(ver_cut 1-2) + [[ ${KDE_BUILD_TYPE} != live ]] && SLOT=$(ver_cut 1)/$(ver_cut 1-2) ;; *) ;; esac @@ -284,6 +289,7 @@ case ${KDE_BUILD_TYPE} in *) _kde.org_calculate_src_uri debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}" + # TODO: simplify after dropping support for EAPI-7 if [[ -n ${KDE_ORG_COMMIT} ]]; then S=${WORKDIR}/${KDE_ORG_NAME}-${KDE_ORG_COMMIT} [[ ${CATEGORY} == dev-qt ]] && QT5_BUILD_DIR="${S}_build" signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH v3 1/2] xdg.eclass: add EAPI 8 support
On Mittwoch, 11. August 2021 13:54:19 CEST Florian Schmaus wrote: > On 10/08/2021 10.31, Andreas Sturmlechner wrote: > > On Montag, 9. August 2021 20:32:07 CEST Florian Schmaus wrote: > >> +if ${_DEFINE_XDG_SRC_PREPARE}; then > > > > You don't need an extra variable for that: > > > > if [[ ${EAPI} == [567] ]]; then > > Thanks for the suggestion, but I prefer the current approach. > > It avoids that someone later drops support for EAPI 5 and forgets > adjusting all the cases where it is mentioned. I think your other > suggestion, that dropping EAPI 4 in xdg_src_prepare() when removing > support for EAPI 4 was forgotten, somehow reinforces my point. :) Not really. Having to search for EAPI in the code is obvious when cleaning up EAPI, and is standard across many eclasses. If you miss that, you could just as well have _DEFINE_XDG_SRC_PREPARE linger on below after cleaning up the initialisation. Regards signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH v3 2/2] xdg.eclass: drop support for EAPI 4
On Montag, 9. August 2021 20:32:08 CEST Florian Schmaus wrote: > --- a/eclass/xdg.eclass > +++ b/eclass/xdg.eclass > @@ -6,7 +6,7 @@ > # freedesktop-b...@gentoo.org > # @AUTHOR: > # Original author: Gilles Dartiguelongue > -# @SUPPORTED_EAPIS: 4 5 6 7 8 > +# @SUPPORTED_EAPIS: 5 6 7 8 Please also drop the occurrence in the EAPI check inside xdg_src_prepare(). Regards, Andreas signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: net-print/libgnomecups
# Andreas Sturmlechner (2021-08-10) # EAPI-5, dead, unused; last consumer dropped in bug #352952 # Removal on 2021-09-09. net-print/libgnomecups signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH v3 1/2] xdg.eclass: add EAPI 8 support
On Montag, 9. August 2021 20:32:07 CEST Florian Schmaus wrote: > +if ${_DEFINE_XDG_SRC_PREPARE}; then You don't need an extra variable for that: if [[ ${EAPI} == [567] ]]; then signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: dev-perl/Goo-Canvas and x11-libs/goocanvas:0
# Andreas Sturmlechner (2021-08-09) # EAPI-5, dead, unused; bug #776403. Removal on 2021-09-08. dev-perl/Goo-Canvas x11-libs/goocanvas:0 signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [PATCH v2 2/3] virtualx.eclass: Make VIRTUALX_DEPEND readonly in EAPI-8
On Mittwoch, 4. August 2021 12:29:40 CEST Ulrich Mueller wrote: > >>>>> On Wed, 04 Aug 2021, Andreas Sturmlechner wrote: > > +# Standard dependencies string that is automatically added to BDEPEND > > +# (in EAPI-6: DEPEND) 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="" > > +VIRTUALX_DEPEND+=" > > > > x11-base/xorg-server[xvfb] > > x11-apps/xhost > > > > " > > > > +[[ ${EAPI} == [67] ]] || readonly VIRTUALX_DEPEND > > I wonder about this one, because the *DEPEND variables are automatically > accumulated across eclasses and ebuild. What is the advantage of the > ebuild specifying VIRTUALX_DEPEND, instead of specifying BDEPEND > directly? > The answer is in the updated description in this patch: ebuilds/eclasses specifying VIRTUALX_REQUIRED=manual have (so far) been relying on the content of VIRTUALX_DEPEND to add the standard dependencies from within the ebuild instead of having virtualx.eclass do it for them, for whatever complex dependency situation they might have. signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 3/3] virtualx.eclass: Remove leftover variable VIRTUALX_COMMAND
Follow-up to commit 11fb990. Signed-off-by: Andreas Sturmlechner --- eclass/virtualx.eclass | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass index ad376c497ac..9e2e9f00b78 100644 --- a/eclass/virtualx.eclass +++ b/eclass/virtualx.eclass @@ -42,11 +42,7 @@ VIRTUALX_DEPEND+=" " [[ ${EAPI} == [67] ]] || readonly VIRTUALX_DEPEND -# @ECLASS-VARIABLE: VIRTUALX_COMMAND -# @DESCRIPTION: -# Command (or eclass function call) to be run in the X11 environment -# (within virtualmake function). -: ${VIRTUALX_COMMAND:="emake"} +[[ ${VIRTUALX_COMMAND} ]] && die "VIRTUALX_COMMAND has been removed and is a no-op" case ${VIRTUALX_REQUIRED} in manual) -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 2/3] virtualx.eclass: Make VIRTUALX_DEPEND readonly in EAPI-8
Any additional dependencies shall be defined inside ebuilds instead. Signed-off-by: Andreas Sturmlechner --- eclass/virtualx.eclass | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass index 155d611e66e..ad376c497ac 100644 --- a/eclass/virtualx.eclass +++ b/eclass/virtualx.eclass @@ -29,14 +29,18 @@ _VIRTUALX_ECLASS=1 : ${VIRTUALX_REQUIRED:=test} # @ECLASS-VARIABLE: VIRTUALX_DEPEND +# @DEFAULT_UNSET # @DESCRIPTION: -# Dep string available for use outside of eclass, in case a more -# complicated dep is needed. -# You can specify the variable BEFORE inherit to add more dependencies. -VIRTUALX_DEPEND="${VIRTUALX_DEPEND} +# Standard dependencies string that is automatically added to BDEPEND +# (in EAPI-6: DEPEND) 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="" +VIRTUALX_DEPEND+=" x11-base/xorg-server[xvfb] x11-apps/xhost " +[[ ${EAPI} == [67] ]] || readonly VIRTUALX_DEPEND # @ECLASS-VARIABLE: VIRTUALX_COMMAND # @DESCRIPTION: -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 1/3] virtualx.eclass: Support EAPI-8
Standardise include guard, fix minor typo. Signed-off-by: Andreas Sturmlechner --- eclass/virtualx.eclass | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass index ca52e8d2815..155d611e66e 100644 --- a/eclass/virtualx.eclass +++ b/eclass/virtualx.eclass @@ -6,17 +6,16 @@ # x...@gentoo.org # @AUTHOR: # Original author: Martin Schlemmer -# @SUPPORTED_EAPIS: 6 7 -# @BLURB: This eclass can be used for packages that needs a working X environment to build. +# @SUPPORTED_EAPIS: 6 7 8 +# @BLURB: This eclass can be used for packages that need a working X environment to build. -case ${EAPI:-0} in - [0-5]) die "virtualx.eclass: EAPI ${EAPI} is too old." ;; - 6|7) ;; - *) die "virtualx.eclass: EAPI ${EAPI} is not supported yet." ;; +case ${EAPI} in + 6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} is not supported." ;; esac -if [[ ! ${_VIRTUAL_X} ]]; then -_VIRTUAL_X=1 +if [[ ! ${_VIRTUALX_ECLASS} ]]; then +_VIRTUALX_ECLASS=1 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED # @PRE_INHERIT -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v3 5/5] check-reqs.eclass: Introduce CHECKREQS_DONOTHING
Replacement for I_KNOW_WHAT_I_AM_DOING with backwards compatibility. Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 39e4bad1363..2130e2e3491 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -68,6 +68,14 @@ _CHECK_REQS_ECLASS=1 # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M +# @ECLASS-VARIABLE: CHECKREQS_DONOTHING +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Do not error out in _check-reqs_output if requirements are not met. +# This is a user flag and should under _no circumstances_ be set in the ebuild. +[[ -n ${I_KNOW_WHAT_I_AM_DOING} ]] && CHECKREQS_DONOTHING=1 + # @FUNCTION: check-reqs_pkg_setup # @DESCRIPTION: # Exported function running the resources checks in pkg_setup phase. @@ -276,7 +284,7 @@ _check-reqs_output() { local msg="ewarn" - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror" + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && msg="eerror" if [[ -n ${CHECKREQS_FAILED} ]]; then ${msg} ${msg} "Space constraints set in the ebuild were not met!" @@ -284,7 +292,7 @@ _check-reqs_output() { ${msg} "as per failed tests." ${msg} - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \ + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \ die "Build requirements not met!" fi } @@ -446,7 +454,7 @@ _check-reqs_unsatisfied() { local location=${2} local sizeunit="$(_check-reqs_get_number ${size}) $(_check-reqs_get_unit ${size})" - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror" + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && msg="eerror" ${msg} "There is NOT at least ${sizeunit} ${location}" # @ECLASS-VARIABLE: CHECKREQS_FAILED -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 5/5] check-reqs.eclass: Repl. I_KNOW_WHAT_I_AM_DOING w/ CHECKREQS_DONOTHING
Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 39e4bad1363..836dd0d4a1f 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -68,6 +68,13 @@ _CHECK_REQS_ECLASS=1 # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M +# @ECLASS-VARIABLE: CHECKREQS_DONOTHING +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Do not error out in _check-reqs_output if requirements are not met. +# This is a user flag and should under _no circumstances_ be set in the ebuild. + # @FUNCTION: check-reqs_pkg_setup # @DESCRIPTION: # Exported function running the resources checks in pkg_setup phase. @@ -276,7 +283,7 @@ _check-reqs_output() { local msg="ewarn" - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror" + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && msg="eerror" if [[ -n ${CHECKREQS_FAILED} ]]; then ${msg} ${msg} "Space constraints set in the ebuild were not met!" @@ -284,7 +291,7 @@ _check-reqs_output() { ${msg} "as per failed tests." ${msg} - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \ + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \ die "Build requirements not met!" fi } @@ -446,7 +453,7 @@ _check-reqs_unsatisfied() { local location=${2} local sizeunit="$(_check-reqs_get_number ${size}) $(_check-reqs_get_unit ${size})" - [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror" + [[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && msg="eerror" ${msg} "There is NOT at least ${sizeunit} ${location}" # @ECLASS-VARIABLE: CHECKREQS_FAILED -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 4/5] check-reqs.eclass: Prefix internal functions w/ underscore
Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 140 ++- 1 file changed, 123 insertions(+), 17 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 6b11794fbb2..39e4bad1363 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -76,9 +76,9 @@ _CHECK_REQS_ECLASS=1 check-reqs_pkg_setup() { debug-print-function ${FUNCNAME} "$@" - check-reqs_prepare - check-reqs_run - check-reqs_output + _check-reqs_prepare + _check-reqs_run + _check-reqs_output } # @FUNCTION: check-reqs_pkg_pretend @@ -95,6 +95,16 @@ check-reqs_pkg_pretend() { # @DESCRIPTION: # Internal function that checks the variables that should be defined. check-reqs_prepare() { + [[ ${EAPI} == [67] ]] || + die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." + _check-reqs_prepare "$@" +} + +# @FUNCTION: _check-reqs_prepare +# @INTERNAL +# @DESCRIPTION: +# Internal function that checks the variables that should be defined. +_check-reqs_prepare() { debug-print-function ${FUNCNAME} "$@" if [[ -z ${CHECKREQS_MEMORY} && @@ -112,6 +122,16 @@ check-reqs_prepare() { # @DESCRIPTION: # Internal function that runs the check based on variable settings. check-reqs_run() { + [[ ${EAPI} == [67] ]] || + die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." + _check-reqs_run "$@" +} + +# @FUNCTION: _check-reqs_run +# @INTERNAL +# @DESCRIPTION: +# Internal function that runs the check based on variable settings. +_check-reqs_run() { debug-print-function ${FUNCNAME} "$@" # some people are *censored* @@ -119,23 +139,23 @@ check-reqs_run() { if [[ ${MERGE_TYPE} != binary ]]; then [[ -n ${CHECKREQS_MEMORY} ]] && \ - check-reqs_memory \ + _check-reqs_memory \ ${CHECKREQS_MEMORY} [[ -n ${CHECKREQS_DISK_BUILD} ]] && \ - check-reqs_disk \ + _check-reqs_disk \ "${T}" \ "${CHECKREQS_DISK_BUILD}" fi if [[ ${MERGE_TYPE} != buildonly ]]; then [[ -n ${CHECKREQS_DISK_USR} ]] && \ - check-reqs_disk \ + _check-reqs_disk \ "${EROOT%/}/usr" \ "${CHECKREQS_DISK_USR}" [[ -n ${CHECKREQS_DISK_VAR} ]] && \ - check-reqs_disk \ + _check-reqs_disk \ "${EROOT%/}/var" \ "${CHECKREQS_DISK_VAR}" fi @@ -147,6 +167,17 @@ 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] ]] || + die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." + _check-reqs_get_kibibytes "$@" +} + +# @FUNCTION: _check-reqs_get_kibibytes +# @INTERNAL +# @DESCRIPTION: +# Internal function that returns number in KiB. +# Returns 1024**2 for 1G or 1024**3 for 1T. +_check-reqs_get_kibibytes() { debug-print-function ${FUNCNAME} "$@" [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]" @@ -170,6 +201,17 @@ 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] ]] || + die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." + _check-reqs_get_number "$@" +} + +# @FUNCTION: _check-reqs_get_number +# @INTERNAL +# @DESCRIPTION: +# Internal function that returns the numerical value without the unit. +# Returns "1" for "1G" or "150" for "150T". +_check-reqs_get_number() { debug-print-function ${FUNCNAME} "$@" [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]" @@ -186,6 +228,17 @@ 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] ]] || + die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." + _check-reqs_get_unit "$@" +} + +# @FUN
[gentoo-dev] [PATCH v2 3/5] check-reqs.eclass: Drop obsolete check_reqs(), errored out for >3yrs
Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 7 --- 1 file changed, 7 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index c95ee0192c5..6b11794fbb2 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -68,13 +68,6 @@ _CHECK_REQS_ECLASS=1 # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M -# Obsolete function executing all the checks and printing out results -check_reqs() { - eerror "Package calling old ${FUNCNAME} function." - eerror "It should call check-reqs_pkg_pretend and check-reqs_pkg_setup." - die "${FUNCNAME} is banned" -} - # @FUNCTION: check-reqs_pkg_setup # @DESCRIPTION: # Exported function running the resources checks in pkg_setup phase. -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 2/5] check-reqs.eclass: Drop EAPI-4 and EAPI-5 support
Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 27ab1513aab..c95ee0192c5 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Bo Ørsted Andresen # Original Author: Ciaran McCreesh -# @SUPPORTED_EAPIS: 4 5 6 7 8 +# @SUPPORTED_EAPIS: 6 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 @@ -39,7 +39,7 @@ # probably degrade gracefully if they don't. Probably. case ${EAPI} in - 4|5|6|7|8) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH v2 1/5] check-reqs.eclass: Support EAPI-8
Move EAPI check and EXPORT_FUNCTIONS on top, before include guard. Standardise include guard. Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 5c4a420ee06..27ab1513aab 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -7,8 +7,8 @@ # @AUTHOR: # Bo Ørsted Andresen # Original Author: Ciaran McCreesh -# @SUPPORTED_EAPIS: 4 5 6 7 -# @BLURB: Provides a uniform way of handling ebuild which have very high build requirements +# @SUPPORTED_EAPIS: 4 5 6 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 # build requirements in terms of memory or disk space. It provides a function @@ -38,14 +38,22 @@ # These checks should probably mostly work on non-Linux, and they should # probably degrade gracefully if they don't. Probably. -if [[ ! ${_CHECK_REQS_ECLASS_} ]]; then +case ${EAPI} in + 4|5|6|7|8) ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; +esac + +EXPORT_FUNCTIONS pkg_pretend pkg_setup + +if [[ ! ${_CHECK_REQS_ECLASS} ]]; then +_CHECK_REQS_ECLASS=1 # @ECLASS-VARIABLE: CHECKREQS_MEMORY # @DEFAULT_UNSET # @DESCRIPTION: # How much RAM is needed? Eg.: CHECKREQS_MEMORY=15M -# @ECLASS-VARIABLE: CHECKREQS_DISK_BUILD +# @ECLASS-VARIABLE: CHECKREQS_DISK_BUILD # @DEFAULT_UNSET # @DESCRIPTION: # How much diskspace is needed to build the package? Eg.: CHECKREQS_DISK_BUILD=2T @@ -60,13 +68,6 @@ if [[ ! ${_CHECK_REQS_ECLASS_} ]]; then # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M -case ${EAPI:-0} in - 4|5|6|7) ;; - *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; -esac - -EXPORT_FUNCTIONS pkg_pretend pkg_setup - # Obsolete function executing all the checks and printing out results check_reqs() { eerror "Package calling old ${FUNCNAME} function." @@ -357,5 +358,4 @@ check-reqs_unsatisfied() { CHECKREQS_FAILED="true" } -_CHECK_REQS_ECLASS_=1 fi -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] optfeature.eclass: Drop support for EAPIs 0,1,2,3,4,5
Signed-off-by: Andreas Sturmlechner --- eclass/optfeature.eclass | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eclass/optfeature.eclass b/eclass/optfeature.eclass index b853f61be32..f9870e04732 100644 --- a/eclass/optfeature.eclass +++ b/eclass/optfeature.eclass @@ -4,12 +4,12 @@ # @ECLASS: optfeature.eclass # @MAINTAINER: # base-sys...@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Advertise optional functionality that might be useful to users -case ${EAPI:-0} in - [0-8]) ;; - *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; +case ${EAPI} in + 6|7|8) ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac if [[ -z ${_OPTFEATURE_ECLASS} ]]; then -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 2/2] check-reqs.eclass: Drop obsolete check_reqs(), errored out for >3yrs
Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 7 --- 1 file changed, 7 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 70c740d0363..d606e1a8749 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -68,13 +68,6 @@ _CHECK_REQS_ECLASS=1 # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M -# Obsolete function executing all the checks and printing out results -check_reqs() { - eerror "Package calling old ${FUNCNAME} function." - eerror "It should call check-reqs_pkg_pretend and check-reqs_pkg_setup." - die "${FUNCNAME} is banned" -} - # @FUNCTION: check-reqs_pkg_setup # @DESCRIPTION: # Exported function running the resources checks in pkg_setup phase. -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH 1/2] check-reqs.eclass: Support EAPI-8
Move EAPI check and EXPORT_FUNCTIONS on top, before include guard. Standardise include guard. Signed-off-by: Andreas Sturmlechner --- eclass/check-reqs.eclass | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index 5c4a420ee06..70c740d0363 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Bo Ørsted Andresen # Original Author: Ciaran McCreesh -# @SUPPORTED_EAPIS: 4 5 6 7 +# @SUPPORTED_EAPIS: 4 5 6 7 8 # @BLURB: Provides a uniform way of handling ebuild which have very high build requirements # @DESCRIPTION: # This eclass provides a uniform way of handling ebuilds which have very high @@ -38,7 +38,15 @@ # These checks should probably mostly work on non-Linux, and they should # probably degrade gracefully if they don't. Probably. -if [[ ! ${_CHECK_REQS_ECLASS_} ]]; then +case ${EAPI:-0} in + 4|5|6|7|8) ;; + *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; +esac + +EXPORT_FUNCTIONS pkg_pretend pkg_setup + +if [[ ! ${_CHECK_REQS_ECLASS} ]]; then +_CHECK_REQS_ECLASS=1 # @ECLASS-VARIABLE: CHECKREQS_MEMORY # @DEFAULT_UNSET @@ -60,13 +68,6 @@ if [[ ! ${_CHECK_REQS_ECLASS_} ]]; then # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M -case ${EAPI:-0} in - 4|5|6|7) ;; - *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; -esac - -EXPORT_FUNCTIONS pkg_pretend pkg_setup - # Obsolete function executing all the checks and printing out results check_reqs() { eerror "Package calling old ${FUNCNAME} function." @@ -357,5 +358,4 @@ check-reqs_unsatisfied() { CHECKREQS_FAILED="true" } -_CHECK_REQS_ECLASS_=1 fi -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] virtualx.eclass: Support EAPI-8
Standardise include guard, fix minor typo. Signed-off-by: Andreas Sturmlechner --- eclass/virtualx.eclass | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass index ca52e8d2815..f362327cf77 100644 --- a/eclass/virtualx.eclass +++ b/eclass/virtualx.eclass @@ -6,17 +6,16 @@ # x...@gentoo.org # @AUTHOR: # Original author: Martin Schlemmer -# @SUPPORTED_EAPIS: 6 7 -# @BLURB: This eclass can be used for packages that needs a working X environment to build. +# @SUPPORTED_EAPIS: 6 7 8 +# @BLURB: This eclass can be used for packages that need a working X environment to build. case ${EAPI:-0} in - [0-5]) die "virtualx.eclass: EAPI ${EAPI} is too old." ;; - 6|7) ;; - *) die "virtualx.eclass: EAPI ${EAPI} is not supported yet." ;; + 6|7|8) ;; + *) die "virtualx.eclass: EAPI ${EAPI:-0} is not supported." ;; esac -if [[ ! ${_VIRTUAL_X} ]]; then -_VIRTUAL_X=1 +if [[ ! ${_VIRTUAL_X_ECLASS} ]]; then +_VIRTUAL_X_ECLASS=1 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED # @PRE_INHERIT -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] [PATCH] optfeature.eclass: Support EAPI-8
Signed-off-by: Andreas Sturmlechner --- eclass/optfeature.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/optfeature.eclass b/eclass/optfeature.eclass index 8fc346c3ac6..b853f61be32 100644 --- a/eclass/optfeature.eclass +++ b/eclass/optfeature.eclass @@ -4,11 +4,11 @@ # @ECLASS: optfeature.eclass # @MAINTAINER: # base-sys...@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 +# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 8 # @BLURB: Advertise optional functionality that might be useful to users case ${EAPI:-0} in - [0-7]) ;; + [0-8]) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; esac -- 2.32.0 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: app-editors/amyedit
# Andreas Sturmlechner (2021-05-15) # Dead upstream, dead downstream, GTK+2 based. Bug #770898 # Removal on 2021-06-14. app-editors/amyedit signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: app-mobilephone/gnocky
# Andreas Sturmlechner (2021-05-15) # Unmaintained, GTK+2-based, dubiously duplicating app-mobilephone/gnokii[X] # Removal on 2021-06-14. Bug #769032 app-mobilephone/gnocky signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: media-gfx/gtkam and media-libs/libexif-gtk
# Andreas Sturmlechner (2021-05-15) # Long-standing bugs, GTK+2-based, last revdep of media-libs/libexif-gtk. # Alternative: media-gfx/shotwell # Removal on 2021-06-14. Bugs #560032, #740020, #769095 media-gfx/gtkam # Andreas Sturmlechner (2021-05-15) # Unmaintained, pending version bump request since 2014, no revdeps. # Removal on 2021-06-14. Bug #507760 media-libs/libexif-gtk signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: media-gfx/gimageview
# Andreas Sturmlechner (2021-05-15) # Unmaintained, dead upstream since 2004, no hope to port away from GTK+2. # Removal on 2021-06-14. Bug #769110 media-gfx/gimageview signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: app-misc/gcstar and dev-perl/gtk2-spell
# Andreas Sturmlechner (2021-05-09) # Unmaintained, last revdep of dev-perl/gtk2-spell, bugs #724796, #769296 # Removal on 2021-06-08 app-misc/gcstar dev-perl/gtk2-spell signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: nsplugins.eclass
nsplugins.eclass: Mark as DEAD - All remaining consumers PMASKED Gentoo ebuild repository - Removal on 2021-05-31 signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: www-plugins/google-talkplugin
# Andreas Sturmlechner (2021-05-01) # nsplugin is dead, bug #771801 # Removal on 2021-05-31 www-plugins/google-talkplugin signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: media-gfx/freewrl
# Andreas Sturmlechner (2021-05-01) # Unmaintained, java depends on deprecated JDK-7, nsplugin is dead. # Multiple bugs: #446508, #678776, #682600, #787407 # Removal on 2021-05-31 media-gfx/freewrl signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Last-rites: app-misc/mediacrush-cli
# Andreas Sturmlechner (2021-04-27) # Unmaintained, dead service, EAPI-5. # Removal on 2021-05-14 app-misc/mediacrush-cli signature.asc Description: This is a digitally signed message part.