summaryrefslogtreecommitdiff
path: root/eclass
Commit message (Collapse)AuthorAgeFilesLines
* cargo.eclass: filter out lto flags for C/CXX compilersGeorgy Yakovlev2023-07-121-1/+2
| | | | | | | | | | | we do it in src_compile to avoid excessive flag stripping in projects using cargo.eclass just to fetch crates. Bug: https://bugs.gentoo.org/903908 Closes: https://bugs.gentoo.org/893658 Closes: https://bugs.gentoo.org/910220 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* llvm.org.eclass: Remove old snapshotsMichał Górny2023-07-111-12/+0
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* user-info.eclass: egetent: fix lookup by id when ROOT != /Mike Gilbert2023-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Previous to this change, egetent would match any id that starts with the id given as input. For example: egetent group 1 bin::1:root,bin,daemon wheel::10:root floppy::11:root news::13:news uucp::14:uucp console::17: audio::18: cdrom::19: users::100: Adding a colon to the grep expression yields the desired result: egetent group 1 bin::1:root,bin,daemon Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* qt5-build.eclass: Rename qt5_tools_oos_quirk -> qt5_configure_oos_quirkAndreas Sturmlechner2023-07-081-38/+23
| | | | | | | | | | ...and turn it into a public helper, as it serves more than just qttools. The initial review missed the fact that qtlocation is not part of qttools, so push the quirks back into the ebuilds, calling the newly publicised function. Bug: https://bugs.gentoo.org/910066 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* qt5-build.eclass: Add qt5_syncqt_version()Andreas Sturmlechner2023-07-081-0/+19
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* qt5-build.eclass: Import out-of-source quirks from qdoc/qtlocationAndreas Sturmlechner2023-07-081-2/+37
| | | | | | | | We probably won't get this fixed in Qt5 cycle anymore. Standardises the quirk via new internal helper function qt5_tools_oos_quirk() to avoid qt5_qmake usage in ebuilds. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* Revert "acct-user.eclass: Users need their group already at "build time""Mike Gilbert2023-07-061-1/+0
| | | | | | | | We pass --prefix "${ROOT}" to the useradd command, which means it should be looking in ${ROOT}/etc/group, not ${SYSROOT}/etc/group. Reverts: 1288ef96a50212d05eaf23e98e6cbe2a872d713f Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* java-virtuals-2.eclass: RemovalVolkmar W. Pogatzki2023-07-061-66/+0
| | | | | | | | Marked @DEAD since 2023-06-05 with commit #38467a7 Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/31758 Signed-off-by: Sam James <sam@gentoo.org>
* eclass/texlive-module: use HTTPSMichael Mair-Keimberger2023-07-051-1/+1
| | | | | | Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/31756 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
* llvm.org.eclass: Add 17.0.0_pre20230705 snapshotMichał Górny2023-07-051-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* dist-kernel-utils.eclass: fix user script overridesChris Pritchard2023-07-051-4/+4
| | | | | | | Closes: https://bugs.gentoo.org/909538 Signed-off-by: Chris Pritchard <chris@christopherpritchard.co.uk> Closes: https://github.com/gentoo/gentoo/pull/31745 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-2.eclass: Preserve S during installMike Pagano2023-07-041-1/+1
| | | | | | Closes: https://bugs.gentoo.org/909447 Signed-off-by: Mike Pagano <mpagano@gentoo.org>
* eclass/kernel-build.eclass: should depend on dtc for arm* and riscvAlexey Shvetsov2023-07-031-0/+3
| | | | Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
* eclass/kernel-build.eclass: riscv also need dtbsAlexey Shvetsov2023-07-031-2/+2
| | | | Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
* acct-user.eclass: Users need their group already at "build time"Andreas K. Hüttel2023-07-031-0/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* distutils-r1.eclass: Include setuptools-rust version in outputMichał Górny2023-07-021-0/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Add scikit-build-core backendMichał Górny2023-07-021-0/+13
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* distutils-r1.eclass: Bump minimum dep versionsMichał Górny2023-07-021-5/+5
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: Bump minimum dev-lang/python versionsMichał Górny2023-07-021-3/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* python-utils-r1.eclass: make pypy3 match Python 3.10 nowMichał Górny2023-07-022-4/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cmake.eclass: workaround S=${WORKDIR} creating builddir above ${WORKDIR}Sam James2023-07-021-0/+9
| | | | | | | | | | | | | | | | | | When S=${WORKDIR}, cmake.eclass would create its build directory (if CMAKE_USE_DIR is unset) above WORKDIR(!) as ${WORKDIR}_build. Creating directories above WORKDIR is not legal. Portage has its own bug (bug #889418) in that it doesn't clean up unknown directories above WORKDIR in PORTAGE_TMPDIR, so combined, you get a problem where "ebuild ... clean" doesn't actually clean things up at all, and you get very confusing issues if e.g. changing CC between runs. The explicit S=WORKDIR check isn't truly needed but it makes explicit our intent here. Bug: https://bugs.gentoo.org/889418 Closes: https://bugs.gentoo.org/889420 Signed-off-by: Sam James <sam@gentoo.org>
* elisp.eclass: Update elisp_src_installUlrich Müller2023-07-011-1/+5
| | | | | | | Call the new elisp-make-site-file function when no explicit site-init file is found. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* elisp-common.eclass: New function elisp-make-site-fileUlrich Müller2023-07-011-0/+35
| | | | | | | | | | | | This creates and installs a site-init file for the package. The default case will add the package's SITELISP subdirectory to Emacs' load-path. This allows to remove all trivial site-init files (consisting only of a load-path line). More complicated cases can be handled by providing additional arguments, which are appended as lines to the site-init file. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* llvm.org.eclass: Add 17.0.0_pre20230630 snapshotMichał Górny2023-06-301-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/postgres.eclass, profiles/desc/postgres_targets.desc: Remove ↵Patrick Lauer2023-06-301-1/+1
| | | | | | postgres10, add postgres16 Signed-off-by: Patrick Lauer <patrick@gentoo.org>
* acct-user.eclass: include exit status in death messageMike Gilbert2023-06-262-4/+4
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* acct-user.eclass: improve error message when usermod failsMike Gilbert2023-06-261-5/+23
| | | | | | | | | | | | | | | | | usermod refuses to update the home directory for a user with running processes. Output a more helpful message and avoid calling die for this. For other usermod failures, output stderr as an eerror message and die. Example output: * Failed to update user portage * This user currently has one or more running processes. * Please update this user manually with the following command: * usermod '--comment' 'System user; portage' '--home' '/var/lib/portage/home' '--shell' '/bin/bash' '--gid' 'portage' '--groups' '' portage Bug: https://bugs.gentoo.org/888189 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* cmake.eclass: Set CMAKE_SYSROOT when building with SYSROOT=Raul E Rangel2023-06-241-10/+10
| | | | | | | | | | | | | | | When performing a SYSROOT= build, the --sysroot parameter was not getting passed to the compiler if the CBUILD and CHOST matched. This results in the build attempting to use BROOT libraries and headers instead of the ones from the SYSROOT. This change will allow `llvm` to be built into a new SYSROOT. ROOT=/build/amd64-host emerge sys-devel/llvm Signed-off-by: Raul E Rangel <rrangel@chromium.org> Closes: https://github.com/gentoo/gentoo/pull/30658 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* toolchain.eclass: namespace hardened functionSam James2023-06-241-10/+10
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: wire up --enable-host-bind-now for GCC 14Sam James2023-06-241-0/+8
| | | | | | See also b26f3f99faabc3574cd3510bc1f57b90bdf585e9. Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: simplify TOOLCHAIN_SET_S logicSam James2023-06-231-7/+3
| | | | | | I've got no idea why I added that indirection before. Signed-off-by: Sam James <sam@gentoo.org>
* plasma.kde.org.eclass: Better restrict unstable version defAndreas Sturmlechner2023-06-211-1/+1
| | | | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* dist-kernel-utils.eclass: skip initrd installation when using ukiAndrew Ammerlaan2023-06-201-4/+14
| | | | | | | | | | Gets rid of a hack that prevents 50-dracut.install from regenerating the initrd when calling kernel-install. Instead instruct kernel-install to simply not run this plugin. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/31358 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* dist-kernel-utils.eclass: fix extension of generated efi fileAndrew Ammerlaan2023-06-201-2/+2
| | | | | | | If kernel-install is configured to use the uki layout the extension of the efi file that we install has to be .efi otherwise kernel-install returns an error. Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: add IUSE="modules-sign"Andrew Ammerlaan2023-06-201-1/+89
| | | | | | | | | | | | | | | | - Enable module signing configure options if requested by the user. - Define the user variables MODULES_SIGN_HASH and MODULES_SIGN_KEY. For controlling the used hashing algorithm and allowing the use of external keys. These variables are the same as in linux-mod-r1.eclass - Warn the user if we are letting the kernel build system generate the signing key. This key will end up binary packages. Plus external modules will have to be resigned if gentoo-kernel is re-emerged (i.e. a new key was generated). Bug: https://bugs.gentoo.org/814344 Bug: https://bugs.gentoo.org/881651 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* kernel-build.eclass: add IUSE="strip", install generated keysAndrew Ammerlaan2023-06-201-3/+23
| | | | | | | | | | | | | - Let the kernel build system handle stripping of the modules. This is necessary for successfully signing and compressing modules. Inspired by linux-mod-r1.eclass. - If the build system has generated keys or certificates, install them. This is required to successfully sign external kernel modules. Closes: https://bugs.gentoo.org/814344 Closes: https://bugs.gentoo.org/881651 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* gnustep-base.eclass: Don't inherit eutils in EAPI 7Ulrich Müller2023-06-201-3/+2
| | | | | | | None of the ebuilds inheriting gnustep-base or gnustep-2 in EAPI 7 needs any of the remaining eutils features. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* golang-vcs.eclass: Don't inherit eutilsUlrich Müller2023-06-201-1/+1
| | | | | | | | This was only needed for estack which is also inherited directly. None of the ebuilds inheriting golang-vcs needs any eutils feature. Closes: https://bugs.gentoo.org/908654 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* llvm.org.eclass: Add 17.0.0_pre20230620 snapshotMichał Górny2023-06-201-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* perl-module.eclass: Depend on perl-Test-Simple with a versionAndreas K. Hüttel2023-06-181-1/+1
| | | | | | This is in preparation of a QA check Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* cargo.eclass: Mark GIT_CRATES as pre-inheritMichał Górny2023-06-181-0/+1
| | | | | | | | | | | The variable needs to be set before inherit in order for ${CARGO_CRATE_URIS} to be set correctly. Currently all ebuilds using GIT_CRATES except for one define it pre-inherit anyway, and this makes it consistent with CRATES. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/31456 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Support separating crate names/versions via `@`Michał Górny2023-06-182-60/+75
| | | | | | | | | | | | | | | | | | Support specifying crate names and versions separated by `@` character rather than `-`. Since `@` are not valid in crate names, this makes splitting the tokens trivial and free of regular expressions. Effectively, the `@` variant is roughly 180% faster: ``` * CRATES with '@' separator real 952 it/s user 952 it/s * CRATES with '-' separator real 339 it/s user 339 it/s ``` Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Optimize GIT_CRATES checkMichał Górny2023-06-181-29/+29
| | | | | | | | | | | | | | Optimize the GIT_CRATES check to call `declare -p` only if the variable is actually set. In the vast majority of ebuilds using cargo.eclass, it's not set, so the subshell-first approach is slowing things down. With this change, the speed improves by another ~20%: ``` real 363 it/s user 365 it/s ``` Signed-off-by: Michał Górny <mgorny@gentoo.org>
* cargo.eclass: Add variable alternative to $(cargo_crate_uris)Michał Górny2023-06-182-16/+36
| | | | | | | | | | | | | Add a helper function that sets ${CARGO_CRATE_URIS} variable to make it possible to set SRC_URI without subshells. This gives a slight speedup (~20%): ``` real 300 it/s user 324 it/s ``` Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/tests: Add a minimal benchmark for cargo.eclassMichał Górny2023-06-181-0/+107
| | | | | | | | | | | The initial results on my machine are: ``` real 252 it/s user 289 it/s ``` Signed-off-by: Michał Górny <mgorny@gentoo.org>
* linux-mod.eclass: Mark as deprecated in favor of linux-mod-r1.eclassMike Pagano2023-06-171-0/+1
| | | | Signed-off-by: Mike Pagano <mpagano@gentoo.org>
* ecm.eclass: Add Qt 5.15.10 to ECM_QTHELP Portage bug workaroundAndreas Sturmlechner2023-06-171-6/+15
| | | | | Closes: https://bugs.gentoo.org/908715 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
* llvm.org.eclass: Add 17.0.0_pre20230615 snapshotMichał Górny2023-06-171-0/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: fix USE=doc buildSam James2023-06-171-2/+2
| | | | | | | | Thanks to Dirk Sondermann for pointing out the precise issue. Closes: https://bugs.gentoo.org/908550 Fixes: a606b978be638005c9b832a733d087dbc97ae6d0 Signed-off-by: Sam James <sam@gentoo.org>
* pypi.eclass: Do extglob reset unconditionallyMichał Górny2023-06-171-8/+6
| | | | | | | | | | | | | | | | | Change _pypi_normalize_name() to reset extglob unconditionally. This function is called only in two contexts: - inside a subshell, therefore making it unnecessary to restore the original extglob value, - in global scope, via _pypi_set_globals, where we know that extglob is not supposed to be set. This makes the code simpler. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/31465 Signed-off-by: Michał Górny <mgorny@gentoo.org>