Miro Hrončok
80d9abe0f4
Minor documentation clarification wrt -p/-w
2024-11-05 11:31:03 +01:00
Miro Hrončok
beceb2c94b
PEP 639 is provisional, no longer a draft
2024-11-03 10:00:34 +01:00
Karolina Surma
bc6cb55227
Fix handling of self-referencing extras when reading pyproject.toml
...
Keep the information about the requirement extras by storing the
Requirement instances in the list of the ignored requirements, rather
than the strings in the form they were initially read from metadata.
The requirements strings read from pyproject.toml don't contain the
extra information, we insert the extra marker only after converting them to
Requirement instances. When stored as the text, the information about
the extra went missing in the course of the script.
2024-10-04 09:54:08 +02:00
Miro Hrončok
c7553b2c7d
Even when %_auto_set_build_flags is disabled, set all compiler flags when building wheels
...
- Fixes: rhbz#2293616
2024-09-23 15:53:23 +02:00
Miro Hrončok
8a41ec5715
Don't generate a dependency on pip when %pyproject_buildrequires -N is used
...
- Fixes: rhbz#2294510
2024-09-23 14:39:00 +02:00
Karolina Surma
9f43e2a760
Add a possibility to read runtime dependencies from pyproject.toml
...
This adds a new flag, -p, to %pyproject_buildrequires.
When set, the runtime dependencies are read from the pyproject.toml's
[project] table.
See: https://bugzilla.redhat.com/2261939
pyproject_buildrequires.py already had a short `-p` option for
--python3_pkgversion (hidden from the macro users).
This change removes the one-letter option and leaves the long-one.
`-p` is now reused for reading dependencies from pyproject.toml
and made visible to the macro users.
2024-09-23 11:48:20 +02:00
Miro Hrončok
ab3dc0126a
CI: Update setuptools_scm to a version that can be tested on EL9, EL10, Fedora 39-42
2024-09-07 12:42:44 +02:00
Miro Hrončok
459cda2e67
CI: python-ipykernel: Drop unneeded python3-ipyparallel dependency
...
It is not available in EPEL 10 and we can avoid it by excluding more imports,
which is what this spec file tests anyway.
2024-09-07 12:42:44 +02:00
Miro Hrončok
89374b9107
CI: python-virtualenv: Drop an unused dependency on python3-flaky
...
We don't have flaky in EL 10 yet.
2024-09-07 12:42:44 +02:00
Miro Hrončok
4a4614d13a
CI: Use poetry-core in python-clikit.spec for EL10 compatibility
2024-09-07 12:42:44 +02:00
Miro Hrončok
32a3b5613f
CI: Use flit_core in python-entrypoints.spec for EL10 compatibility
2024-09-07 12:42:44 +02:00
Miro Hrončok
049eb198d0
CI: Make python-pytest.spec build on EL 10 (but not on EL 9 anymore)
2024-09-07 12:42:44 +02:00
Miro Hrončok
dddc9bf556
CI: Use tomli rather than toml in fake-requirements.spec
...
toml is deprecated and not available on EL10.
2024-09-07 12:42:44 +02:00
Lumir Balhar
c8abf80acd
Mark the license in the specfile as SPDX formula
2024-09-05 21:41:19 +00:00
Miro Hrončok
6f1ac1b126
CI: There is no EPEL 10 Next, use plain EPEL mock chroots on RHEL 10+
2024-08-20 11:47:19 +02:00
Miro Hrončok
1278dd8dbd
Extend rpmlintrc to filer out further non-errors
...
We got:
pyproject-srpm-macros.noarch: W: unexpanded-macro Summary(C) %pyproject_buildrequires
pyproject-srpm-macros.noarch: W: unexpanded-macro %description -l C %pyproject_buildrequires
pyproject-srpm-macros.noarch: W: unexpanded-macro %description -l C %generate_buildrequires
pyproject-rpm-macros.noarch: E: spelling-error ('cfg', '%description -l en_US cfg -> cf, cg, cog')
pyproject-rpm-macros.noarch: E: spelling-error ('toml', '%description -l en_US toml -> tom, tome, toms')
pyproject-rpm-macros.noarch: E: spelling-error ('setuptools', '%description -l en_US setuptools -> setup tools, setup-tools, footstools')
pyproject-rpm-macros.src: E: spelling-error ('cfg', '%description -l en_US cfg -> cf, cg, cog')
pyproject-rpm-macros.src: E: spelling-error ('toml', '%description -l en_US toml -> tom, tome, toms')
pyproject-rpm-macros.src: E: spelling-error ('setuptools', '%description -l en_US setuptools -> setup tools, setup-tools, footstools')
pyproject-srpm-macros.noarch: E: spelling-error ('buildrequires', 'Summary(en_US) buildrequires -> build requires, build-requires, requirements')
pyproject-srpm-macros.noarch: E: spelling-error ('buildrequires', '%description -l en_US buildrequires -> build requires, build-requires, requirements')
pyproject-srpm-macros.noarch: W: no-documentation
2024-08-05 23:22:26 +00:00
Miro Hrončok
7c4ffdcf84
CI: Make python-pluggy build on Fedora 41+
2024-08-05 18:21:41 +02:00
Miro Hrončok
3539b832c8
CI: Allow platformdirs 4 in python-virtualenv.spec
2024-07-25 11:54:55 +02:00
Miro Hrončok
e7b37d02f8
Add a provisional RPM Declarative Buildsystem (RPM 4.20+)
2024-07-25 11:54:55 +02:00
Fedora Release Engineering
bc3d8013a4
Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
2024-07-19 08:56:55 +00:00
Miro Hrončok
436695615e
Revert the temporary workaround for RPM 4.20 alpha 2 leaking \x1f (unit separators)
...
This reverts commit 996ac31b46
.
2024-07-03 16:03:03 +02:00
Miro Hrončok
6d455af4dc
Properly escape weird characters from paths in %{pyproject_files} (RPM 4.19+ only)
2024-07-02 23:53:19 +02:00
Cristian Le
d74914ec13
%pyproject_extras_subpkg: Allow passing -a or -A to %python_extras_subpkg
...
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
2024-06-25 12:27:56 +02:00
Miro Hrončok
996ac31b46
Add a temporary workaround for RPM 4.20 alpha 2 leaking \x1f (unit separators)
...
Strip them.
This workaround is safe with RPM < 4.20 or when RPM is fixed.
2024-06-04 10:46:50 +02:00
Miro Hrončok
d0a66a2871
README: Add a missing link
2024-05-22 20:38:10 +02:00
Miro Hrončok
fa7c91c65d
CI: Regardless of the package manager, use dnf.conf in mock config
...
After https://github.com/rpm-software-management/mock/pull/1332
We saw:
ERROR: Config error: /tmp/fedora-39-x86_64-ci.cfg: '{% if releasever|int >= 40 %}dnf5{% else %}dnf{% endif %}.conf'
We cannot use the templated value of package_manager in a key.
The rawhide mock config uses dnf.conf anyway, despite using dnf5.
Reported to mock in https://github.com/rpm-software-management/mock/issues/1357
2024-04-11 13:32:17 +02:00
Miro Hrončok
3667fcd240
Revert "CI: Use DNF 4 in mock to workaround dnf5#1084"
...
This reverts commit 1d00ed8155
.
https://github.com/rpm-software-management/dnf5/issues/1084 is fixed
2024-02-06 10:48:01 +01:00
Miro Hrončok
a069958530
Document why we generate a dependency on wheel when the default build backend is used
2024-02-05 17:20:54 +01:00
Miro Hrončok
5aca0a6034
Namespace pyproject-rpm-macros generated text files with %{python3_pkgversion}
2024-01-26 09:45:58 +01:00
Miro Hrončok
f987ccf2ee
CI: Skip httpbin %tox on F40+
2024-01-26 09:45:58 +01:00
Fedora Release Engineering
48d8f4493a
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
2024-01-26 00:40:39 +00:00
Fedora Release Engineering
e9d0e2578a
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
2024-01-21 22:48:05 +00:00
Miro Hrončok
900c578fc8
Fix %pyproject_buildrequires -w when the build backend is already installed and pip isn't
...
Fixes: https://bugzilla.redhat.com/2169855
2023-12-13 17:19:14 +01:00
Miro Hrončok
89c9b407fa
Show a better error message when %pyproject_install finds no wheel
...
Fixes: https://bugzilla.redhat.com/2242452
2023-12-13 17:18:40 +01:00
Miro Hrončok
89f2408342
Prevent incorrect usage of %pyproject_buildrequires -R with -x/-e/-t
...
Fixes: https://bugzilla.redhat.com/2244282
2023-12-13 17:17:33 +01:00
Miro Hrončok
1d00ed8155
CI: Use DNF 4 in mock to workaround dnf5#1084
...
mock-core-configs-39.3 switched the package manager for Fedora 40 to dnf5
https://fedoraproject.org/wiki/Changes/BuildWithDNF5
dnf5 builddep cannot handle BuildRequires with square brackets,
e.g. with Python extras, leading to errors like:
No match for argument: python3dist(setuptools-scm[toml]) >= 5
No match for argument: python3dist(raven[flask])
No match for argument: python3dist(ini2toml[lite]) >= 0.9
This is reported: https://github.com/rpm-software-management/dnf5/issues/1084
Until it is fixed, we explicitly use the "dnf" (i.e. DNF 4) package manager in mock,
even on Fedora 40+.
2023-12-11 15:09:35 +01:00
Miro Hrončok
f39261901c
Add the -l/-L flag to %pyproject_save_files
...
- The -l flag can be used to assert at least 1 License-File was detected
- The -L flag explicitly disables this check (which remains the default)
Co-Authored-By: Maxwell G <maxwell@gtmx.me>
2023-12-11 13:16:09 +01:00
Miro Hrončok
0ce790d763
Fix a typo in an error message
2023-11-19 21:02:56 +01:00
Miro Hrončok
633cfd6634
Fix a typo in the latest changelog entry
2023-09-27 18:17:58 +02:00
Miro Hrončok
089e2518ea
Fix handling of tox 4 provision without tox minversion
...
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2240590
The added test actually blows up without the fix with both tox 4 or tox 3,
so perhaps this bug also existed with tox 3.
2023-09-27 16:08:45 +02:00
Miro Hrončok
15acb6ee5b
Communicate loudly that this does not work with old RPM
...
I have seen several folks building this package in a RHEL 8 environment.
This won't prevent them doing so, but at least they will be forced to make changes,
acknowledging the fact that what they are doing has consequences.
2023-09-27 11:51:03 +00:00
Karolina Surma
97a7574518
Add %_pyproject_check_import_allow_no_modules
...
Macro which allows to pass the import check even if no Python modules
are detected in the package.
Only to be used in the automated environments.
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2023-09-26 10:23:49 +00:00
Carl George
a39d658f0f
Fix PEP number typo
2023-09-25 16:32:54 -05:00
Miro Hrončok
4b32bbb939
Use %rpmversion to check if we are on RPM 4.19+
2023-08-31 09:28:36 +00:00
Miro Hrončok
5ffc27bdf7
CI: Don't treat DeprecationWarnings in setuptools_scm's %check as errors
2023-08-30 23:11:42 +02:00
Miro Hrončok
0ae2849f20
CI: Update setuptools to make it build with Python 3.12
...
This still works on Fedora 37/38. EL 9 uses a different setuptools version for tests.
2023-08-30 23:07:40 +02:00
Miro Hrončok
479a6b3669
CI: Update poetry-core to workaround a weird FTBFS on Fedora 39+
...
This still builds on previous Fedoras and EPEL 9.
2023-08-30 22:40:37 +02:00
Miro Hrončok
9c358ccecb
CI: Update ipykernel to a version that no longer uses the imp module
...
This still works on Fedora 37 and 38. The c9s package skips this test.
2023-08-30 22:23:25 +02:00
Miro Hrončok
3607591aa8
CI: Apply a FTBFS fix from Fedora 39 to the virtualenv spec
2023-08-30 22:00:18 +02:00
Miro Hrončok
3a8bea86f8
CI: Make pytest build on Fedora 37 to 39 as well as EPEL 9
2023-08-30 21:48:33 +02:00