Age | Commit message (Collapse) | Author |
|
The proximate problem is that the Python Module generator cmake script
has started failing for people with Python 3.10, which a CMake backtrace
pointing into FindPythonModuleGeneration.cmake with an error of the form
"The max python version in PythonModuleGeneration must be updated."
At least one distro has addressed this by simply patching out modules
that happen to use this CMake module [1].
From what I can tell and the testing I've done, the cause is pretty
simple: The CMake script attempts to find the best Python 3 version by
starting from an impossible version and working backwards until it finds
a version that is installed.
As a sanity check, if the "impossible" version is actually present, it
aborts. But this appears to be just a sanity check, and not any sort of
guard against buggy version handling code later.
While the best fix is probably to start from a known *good* version and
move up until we stop finding better versions, there's problems here
(e.g. a user with 3.6 and 3.8 installed would fail to see 3.7 and so be
left with 3.6 as the "best" match), so I opted just to increase the max
version significantly, and improve the documentation as to what's
happening and whether it is safe to repeat the step again later.
[1]: https://bugs.gentoo.org/746866
|
|
wl_resource_for_each_safe is used in kwayland-server, and as the name
suggests is a for-each like function.
|
|
|
|
And the generated html looks more correct
|
|
If people ship their own clang-format file they might still have the copyright, because
they forked it. Instead search for the notice that the file is autogenerated.
|
|
|
|
NO_CHANGELOG
|
|
|
|
Git on Windows provides bash
|
|
KDE-Accepted-LGPL means LGPL3 plus maybe future version, so accept it everywhere LGPL3-only is accepted
|
|
|
|
Amends: f0790f910
GIT_SILENT
|
|
Sometimes reuse spdx does not produce an empty line after the last FileName line and thus the file is never added to the dictionary
|
|
CMake rejects the project version if it contains anything but dots and numbers, there's
no need to try to catch anything else.
|
|
This is required for the frameworks versions
Amends: a0f8e54
|
|
5c191fa1d2383c69ddc075395e04f84b7679613a already added the same sanity
check for the non-PROJECT mode
|
|
Check for EGH_REQUIRED_HEADERS definition before using.
Avoids a CMake warning for unitialized values.
|
|
With non-GNU tar, passing the --sort option may print out an
error message saying the option isn't supported; that's
confusing and not useful to the consumer.
|
|
|
|
|
|
This will prevent the macro definition of min and max which breaks
the use of std::min and std::max
|
|
Also add trigger to switch to KDE_COMPILERSETTINGS_LEVEL of latest
KDECompilerSettings on ECM dependency in KF modules to 5.85
NO_CHANGELOG
|
|
MO_CHANGELOG
|
|
Existing projects have muliple calls of find_package(ECM) and
include(KDECompilerSettings), usually in pairs, e.g. for forks of
3rd-party software or examples.
While this is not a recommnended setup, as there is no official
mechanism to properly reset previously created setings, those
existing projects and their releases can be supported by
discarding any auto-level values at the end of the include,
so the next can pick up again the value of any closer
find_package(ECM) call.
NO_CHANGELOG
|
|
Also print current values for more context
NO_CHANGELOG
|
|
No longer needed, also triggering wrong warning about
KDE_COMPILERSETTINGS_LEVEL value for 3rd-party users requiring older ECM
NO_CHANGELOG
|
|
|
|
GIT_SILENT
|
|
NO_CHANGELOG
|
|
GIT_SILENT
|
|
There is no KDebugSettings there, and thus those files just bloat the APK.
|
|
If no minimum ECM version is required, ECM_GLOBAL_FIND_VERSION is empty
and the version comparison fails.
Amends: 12af1e4e5
|
|
Checks if the compiler supports it and if so it enables it by default.
This is useful as it allows to perform internal linking operations at
build time that otherwise would have been delayed until process startup
time.
|
|
Has to wait until KF requires ECM 5.85.0
This reverts commit e6f87fa7427a2edde7dd8a47ace21011169d2650.
NO_CHANGELOG
|
|
NO_CHANGELOG
|
|
There is desire for having more strict compiler settings by default over
what the KDECompilerSettings have been declaring until now. This means
making more use of modern features usually and being less
tolerant about the use of deprecated ones.
While some projects have used KDEFrameworksCompilerSettings to get more
modern requirements by just a single macro include, that was not the
intent of that module, and now is also warned about in the docs.
Instead of adding a new separate dedicated module e.g. named
KDEStricterCompilerSettings, with a separate version scheme for sets
of strict settings, the existing KDECompilerSettings macro file is instead
extended as well as are the ECM versions reused to define the different
sets of settings. As these settings are getting more strict by the time,
e.g. allowing less of old & deprecated code, these sets are considered as
kind of levels.
To enable the clients to control the required settings level, a
dedicated variable KDE_COMPILERSETTINGS_LEVEL is introduced, which
for convenience defaults to the minimum required ECM version, so only
needs to be set when the need for other newer features provided by ECM
does not go along the settings level of that ECM version.
As some projects might have needs not exactly matching a certain settings
level, additionally the settings can be optionally individually
controlled by specific variables, to be set again before including
KDECompilerSettings.
|
|
|
|
This fixes spurious differences after a roundtrip through Google Play,
breaking change detection and thus triggering unnecessary metadata
updates.
|
|
This considerably simplifies comparing our data with that retrieved from
Google Play for automatically syncing metadata.
|
|
Otherwise recent versions of git will complain with:
```
hint: The '.git/hooks/pre-commit' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
```
|
|
Some projects using KDECompilerSettings need more control about whether
this is set, as 3rd-party projects linked to might not meet those
requirements.
To be reworked and added later with consumer control options
|
|
Qt maps it this way
|
|
We're a multi-compiler project, so disable compiler specific extensions
|
|
NO_CHANGELOG
|
|
|
|
But only for repos that require Frameworks 5.83 or newer.
We have asked on the KDE distributions mailing list and distro maintainers
didn't object to the change (since most distros already have recent enough
compilers).
|
|
KDE has moved from freenode to Libera Chat, update the README to reflect
this.
|
|
to make build results deterministic
See https://reproducible-builds.org/ for why this is good.
related to
https://phabricator.kde.org/D25494
Without this patch, openSUSE's kio package varied in
/usr/share/kdevappwizard/templates/ioslave.tar
This PR was done while working on reproducible builds for openSUSE.
|
|
|
|
|