summaryrefslogtreecommitdiff
path: root/eclass
AgeCommit message (Collapse)Author
3 daystoolchain.eclass: wire up Valgrind annotations patchSam James
In gcc-patches.git: commit 33349526fd69a6c54790b53ca443693c80769242 (HEAD -> master, origin/master, origin/HEAD) Author: Sam James <sam@gentoo.org> AuthorDate: Wed Dec 3 14:48:04 2025 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: Wed Dec 3 14:48:04 2025 +0000 16.0.0: add ispras's Valgrind lifetime annotations patch C++ lifetime issues come up every so often (this time w/ openjph2) and they're always really hard to debug. Let's give this a go. From https://inbox.sourceware.org/gcc-patches/20231222141038.6657-1-amonakov@ispras.ru/. Bug: https://gcc.gnu.org/PR66487 [...] Signed-off-by: Sam James <sam@gentoo.org>
4 daysada.eclass: filter -Warray-boundsSam James
This could maybe be done in theory for ADAFLAGS only but not sure how well that would work with LTO anyway. Bug: https://gcc.gnu.org/PR116226 Signed-off-by: Sam James <sam@gentoo.org>
4 daysprofiles: add ada_target_gcc_16Sam James
Signed-off-by: Sam James <sam@gentoo.org>
4 daystoolchain.eclass: use profiledbootstrap-lean for USE=pgoSam James
This isn't documented but it means the previous stages aren't kept around once a stage is done. Signed-off-by: Sam James <sam@gentoo.org>
5 dayswww-servers/nginx: fix fastcgi.conf, nginx-r6.initd regressions from ↵Zurab Kvachadze
nginx.eclass nginx.eclass prefers fastcgi_params over fastcgi.conf for consistency. For some reason, when I was writing nginx.eclass I missed the fact that fastcgi.conf has one extra `fastcgi_param` vs fastcgi_params. This commit uses fastcgi.conf as new fastcgi_params by renaming the former to the latter. In 8481acdc2c34e960f08cd90ce09068d791e42901[1] ("www-servers/nginx: use default start/stop initd functions"), the custom start() was removed, where the `-c` and `-g` cmdline parameters were hardcoded, which regressed services that were symlinked to /etc/init.d/nginx. This commit fixes both issues at the same time to avoid revbumping ebuilds twice. KEYWORDS were not dropped because this fixes regressions. [1]: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8481acdc2c34e960f08cd90ce09068d791e42901 Closes: https://bugs.gentoo.org/966799 Closes: https://bugs.gentoo.org/966798 Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44853 Closes: https://github.com/gentoo/gentoo/pull/44853 Signed-off-by: Sam James <sam@gentoo.org>
6 daystoolchain.eclass: filter -fopenmpSam James
When bootstrapping, if libgomp hasn't been built yet, GCC will error out as it can't find libgomp.spec. Closes: https://bugs.gentoo.org/966882 Signed-off-by: Sam James <sam@gentoo.org>
7 daystoolchain.eclass: wire up algol68Sam James
Now in-tree! Signed-off-by: Sam James <sam@gentoo.org>
9 daysllvm.org.eclass: Add 22.0.0_pre20251127 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
10 daysdistutils-r1.eclass: Add DISTUTILS_CONFIG_SETTINGS_JSONMichał Górny
Add DISTUTILS_CONFIG_SETTINGS_JSON that can be used to specify the JSON data for config_settings directly. For the time being, this is only supported for standalone backends, since we can never know what arguments they expect and we do not want the value to conflict with any future defaults for known backends. This is going to be used by the next version of x11-wm/qtile to control building the Wayland support (currently handled by sed in the backend code). Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44745 Closes: https://github.com/gentoo/gentoo/pull/44745 Signed-off-by: Michał Górny <mgorny@gentoo.org>
10 daysdistutils-r1.eclass: export PKG_CONFIG used by dev-python/pkgconfigNicolas PARLANT
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/44655 Closes: https://github.com/gentoo/gentoo/pull/44655 Part-of: https://github.com/gentoo/gentoo/pull/44745 Signed-off-by: Michał Górny <mgorny@gentoo.org>
13 dayscmake.eclass: fix MYCMAKEARGS not being listed under variablesArsen Arsenović
This variable is a user-variable similar to ECONF_EXTRA in nature. Document it as such. Signed-off-by: Arsen Arsenović <arsen@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
13 dayskernel-build.eclass: restore nullglob state in kernel-build_merge_configs()Kerin Millar
Presently, the kernel-build_merge_configs() function captures a command that would restore the prior state of the nullglob shell option. Yet, it never subsequently bothers to evaluate that command. Instead, it ends up disabling the option, irrespective of its prior state. Address this issue by evaluating the content of the 'shopt_save' variable after the 'user_configs' array variable has been assigned. Note that to use eval is wholly proper; those eclasses that do not, should. Fixes: d5b0c16d1d3fdf63d743b22e7192e88e04556b05 Signed-off-by: Kerin Millar <kfm@plushkava.net> Signed-off-by: Sam James <sam@gentoo.org>
2025-11-20*/*: reassign matthew's packagesMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-20llvm.org.eclass: Add 22.0.0_pre20251120 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-20llvm.org.eclass: Remove old snapshotsMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-20toolchain.eclass: guard libgdiagnostics checkSam James
Missing for kgcc64 etc. Signed-off-by: Sam James <sam@gentoo.org>
2025-11-18kde-plasma: Prepare breeze,oxygen,plasma-integration with SLOT:5-blockerAndreas Sturmlechner
plasma.kde.org.eclass now excludes these from the autoblocker in preparation of splitting out IUSE qt5 into SLOT 5 packages. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-18toolchain.eclass: Fix D bootstrap circular dependency errorAndrei Horodniceanu
Closes: https://bugs.gentoo.org/950310 Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> Signed-off-by: Sam James <sam@gentoo.org>
2025-11-17rust.eclass: Add missing @PRE_INHERITFlorian Schmaus
All non-output non-user variables of the rust.eclass must be set before inheriting the eclass. Mark those variables @PRE_INHERIT. Signed-off-by: Florian Schmaus <flow@gentoo.org>
2025-11-17toolchain.eclass: simplify dependency specification for USE=ada or USE=dSam James
This ends up both being simpler to read but also helps Portage in two ways: 1) not wasting backtracking cycles on it, and 2) pulling in unnecessary slots, allowing a shortcut to be taken with ada-bootstrap or older gcc. Bug: https://bugs.gentoo.org/947587 Bug: https://bugs.gentoo.org/950310 Thanks-to: Zac Medico <zmedico@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
2025-11-16cmake.eclass: Introduce cmake_prepare-per-cmakelistsAndreas Sturmlechner
Override this to be provided with a hook into the cmake_src_prepare loop over all CMakeLists.txt below CMAKE_USE_DIR. Will be called from inside that loop with <path-to-current-CMakeLists.txt> as single argument. Used for recursive CMakeLists.txt detections and modifications. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: Add warning for installed CMake modules w/ <3.10 minimumAndreas Sturmlechner
These are even more important, as they can break any number of revdeps. Deduplicate _cmake_minreqver-info() and reuse it from src_install(). Properly fixes 4e35968ea53138d8b2726f8f2b9b1804dc291767. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: Simplify _cmake_minreqver_check into _cmake_minreqver-getAndreas Sturmlechner
The original function was convoluted and simply did too much. Make it reusable by having it do exactly one thing and deal with the results from the calling function. The refactoring pays for itself by losing 18 lines. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: cmake_comment_add_subdirectory: optionally accept "-f <path>"Andreas Sturmlechner
New function description: Comment out one or more add_subdirectory calls with #DONOTBUILD in a) a given file path (error out on nonexisting path) b) a CMakeLists.txt file inside a given directory (ewarn if not found) c) CMakeLists.txt in current directory (do nothing if not found). c) is unchanged prior behaviour. Thanks-to: Zurab Kvachadze <zurabid2016@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: Wipe default optimization flags unconditionallyAndreas Sturmlechner
Mark CMAKE_BUILD_TYPE=Gentoo as no-op. This was obsolete a long time ago, the last two ebuilds setting it in ::gentoo were not using it for that purpose either and were since fixed. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: Cleanup fatal banned functions and meta variablesAndreas Sturmlechner
All of this was ported away from long ago, cmake-utils.eclass was removed in 2022. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16cmake.eclass: Drop EAPI-7 supportAndreas Sturmlechner
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-11-16meson.eclass: support incremental LTO for GCCSam James
Support -flto-incremental=/path/to/cache being used with GCC. Personally, I am using this hook in /etc/portage/bashrc: ``` pre_src_configure() { if [[ -n ${PORTAGE_LTO_CACHE} ]] ; then local lto_path=/var/tmp/portage/lto/${CATEGORY}/${PN} mkdir -p "${lto_path}" export CFLAGS="${CFLAGS} -flto-incremental=${lto_path} -flto-compression-level=19" export CXXFLAGS="${CXXFLAGS} -flto-incremental=${lto_path} -flto-compression-level=19" export LDFLAGS="${LDFLAGS} -flto-incremental=${lto_path} -flto-compression-level=19" fi } ``` ... and then `PORTAGE_LTO_CACHE=1` in my development environment. Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13nginx-module.eclass: Add ebegin/eend when patching module's configZurab Kvachadze
So that users are aware that some patching takes place. Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44576 Closes: https://github.com/gentoo/gentoo/pull/44576 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13nginx-module.eclass: Add ngx_mod_link_lib helperZurab Kvachadze
The helpers make it easier to link to external libraries from ebuilds to accommodate to NGINX build system deficiencies. Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44576 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13nginx-module.eclass: Tiny documentation improvementsZurab Kvachadze
Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44576 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13nginx-module.eclass: Add NGINX_MOD_CONFIG_DIR, fixup www-nginx/ngx-naxsiZurab Kvachadze
This might be useful for packages having "config" in a non-root directory. For example, imagine the following directory tree for some NGINX module: +--nginx/ | +--config | +--ngx_module.c | +--lib/ | +--defective.c | +--README.md In case defective.c needs to be patched, we need to know both the path to the config file and the root directory of the module. Without this patch, we only know the path to config, making it very hard to patch defective.c This commit introduces a new variable NGINX_MOD_CONFIG_DIR specifying the subdirectory of NGINX_MOD_S containing the config script. NGINX_MOD_S semantics change to "the root directory of the module sources". www-nginx/ngx-naxsi was a special case because it is the only module actually having the config script in a subdirectory of NGINX_MOD_S. This commit edits its patch and ebuild accordingly. Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44576 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13ninja-utils.eclass: Warn if NINJAOPTS diable jobserver supportMichał Górny
Warn if NINJAOPTS specifies "-j" option and a jobserver is available, since it will implicitly disable the jobserver support. Bug: https://bugs.gentoo.org/692576 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44539 Closes: https://github.com/gentoo/gentoo/pull/44539 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13ninja-utils.eclass: Do not pass -j if jobserver can be usedMichał Górny
>=dev-build/ninja-1.13 features GNU make jobserver support, but uses it only if -j is not specified. Detect if we can use it, and skip -j from the default NINJAOPTS if that is the case. Bug: https://bugs.gentoo.org/692576 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44539 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13ninja-utils.eclass: Respect NINJA for NINJA_DEPEND againMichał Górny
Make NINJA_DEPEND respect the value of NINJA again. This was changed while updating for app-alternatives/ninja. However, it is still valid to override NINJA in ebuilds, in which case we want NINJA_DEPEND to refer to the appropriate implementation rather than any alternative. Fixes: 2fa125d055dcf ("ninja-utils.eclass: use app-alternatives/ninja") Bug: https://bugs.gentoo.org/922639 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44539 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13ninja-utils.eclass: Permit "ninja-reference"Michał Górny
Permit "ninja-reference" to explicitly force dev-build/ninja. Update the documentation, since the code no longer permits "other values". Closes: https://bugs.gentoo.org/922639 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44539 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-13toolchain.eclass: add comment mentioning toolchain-legacy.eclass in overlaySam James
Signed-off-by: Sam James <sam@gentoo.org>
2025-11-12eclass/tests: fix flag-o-matic tests w/ clangSam James
The eclass behaviour was fixed in ddba1d149e82dba88b72f992729ad4158f640e32. Bug: https://bugs.gentoo.org/627474 Bug: https://bugs.gentoo.org/712488 Bug: https://bugs.gentoo.org/714742 Bug: https://bugs.gentoo.org/862798 Closes: https://bugs.gentoo.org/934129 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-12eclass/tests: fix toolchain.sh testsSam James
Followup to e9e6d8c367fdf02b14f9cb2a59489833975d1445. Signed-off-by: Sam James <sam@gentoo.org>
2025-11-11gnustep-base.eclass: pass econf argumentsAlfred Wingate
Also drop the useless || die Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-11gnustep-base.eclass: override toolchain to clang before GS_ENVAlfred Wingate
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-11gnustep-base.eclass: drop gcc-3.3 and gcc-3.4 flag filteringAlfred Wingate
These haven't been in tree in a long while. Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-11gnustep-base.eclass: explicitly pass flagsAlfred Wingate
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-11gnustep-base.eclass: simplify GS_ENVAlfred Wingate
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-11gnustep-base.eclass: allow user to set their own clang compilerAlfred Wingate
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44437 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-11-10guile-utils.eclass: make generated GUILE_USEDEP entries conditionalKacper Słomiński
If the user specifies only GUILE_TARGETS="3-0", previously, we would incorrectly try to pull in dependencies with USE flag dependencies like [guile_targets_2-2,guile_targets_3-0], which lead to an error about missing USE flags in the dependencies. Signed-off-by: Kacper Słomiński <kacper.slominski72@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44587 Signed-off-by: Sam James <sam@gentoo.org>
2025-11-08llvm.org.eclass: Add 22.0.0_pre20251108 snapshotMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-07fortran-2.eclass: Disable LTO if C+Fortran linking failsMichał Górny
Try linking the code created by C and Fortran compilers together. If it fails, try removing LTO flags in case we are combining two incompatible compilers (Clang and GNU Fortran). Closes: https://bugs.gentoo.org/965176 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/44452 Closes: https://github.com/gentoo/gentoo/pull/44452 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-04*.eclass: Add := to virtual/zlib dependenciesMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-11-04*/*: update the remaining packages for virtual/zlibMichał Górny
Update done using: ``` git grep -l sys-libs/zlib sys-* | xargs sed -i -e s@sys-libs/zlib@virtual/zlib@g git grep -l virtual/zlib-ng sys-* | xargs sed -i -e s@virtual/zlib-ng@sys-libs/zlib-ng@g git diff --name-only | xargs copybump git diff --name-only | xargs grep -l PYTHON_COMPAT | xargs gpy-impl -@dead pkgcheck scan --commits -c SourcingCheck,VisibilityCheck --exit error ``` Plus reverts in sys-libs/minizip-ng, sys-libs/zlib-ng and profiles. Signed-off-by: Michał Górny <mgorny@gentoo.org>