From 9ebd211418c16a5fcf71cfc3dfc2fa8cd9946aabb455fb78f3e9f1659691e347 Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Sun, 9 Jan 2022 12:11:45 +0000 Subject: [PATCH 1/2] Accepting request 945117 from home:bnavigator:branches:devel:languages:python - Update to version 3.6 * flit_core now bundles the tomli TOML parser library (version 1.2.3) to avoid a circular dependency between flit_core and tomli (:ghpull:`492`). This means flit_core now has no dependencies except Python itself, both at build time and at runtime, simplifying :doc:`bootstrapping `. - The above is not fully applicale to openSUSE, we debundle. - Release notes for Version 3.5.1 * Fix development installs with flit install --symlink and --pth-file, which were broken in 3.5.0, especially for packages using a src folder (:ghpull:`472`). - Release notes for Version 3.5 * You can now use Flit to distribute a module or package inside a namespace package (as defined by PEP 420). To do this, specify the import name of the concrete, inner module you are packaging - e.g. name = "sphinxcontrib.foo" - either in the [project] table, or under [tool.flit.module] if you want to use a different name on PyPI (:ghpull:`468`). * Flit no longer generates a setup.py file in sdists (.tar.gz packages) by default (:ghpull:`462`). Modern packaging tools don't need this. You can use the --setup-py flag to keep adding it for now, but this will probably be removed at some point in the future. * Fixed how flit init handles authors' names with non-ASCII characters (:ghpull:`460`). * When flit init generates a LICENSE file, the new pyproject.toml now references it (:ghpull:`467`). - Do not package tests - Make it work with old python-rpm-macros OBS-URL: https://build.opensuse.org/request/show/945117 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-flit-core?expand=0&rev=18 --- flit_core-3.4.0.tar.gz | 3 --- flit_core-3.6.0.tar.gz | 3 +++ python-flit-core.changes | 33 +++++++++++++++++++++++++++++++++ python-flit-core.spec | 25 ++++++++++++++----------- 4 files changed, 50 insertions(+), 14 deletions(-) delete mode 100644 flit_core-3.4.0.tar.gz create mode 100644 flit_core-3.6.0.tar.gz diff --git a/flit_core-3.4.0.tar.gz b/flit_core-3.4.0.tar.gz deleted file mode 100644 index 6b2d51f..0000000 --- a/flit_core-3.4.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29468fa2330969167d1f5c23eb9c0661cb6dacfcd46f361a274609a7f4197530 -size 27151 diff --git a/flit_core-3.6.0.tar.gz b/flit_core-3.6.0.tar.gz new file mode 100644 index 0000000..115b69d --- /dev/null +++ b/flit_core-3.6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5892962ab8b8ea945835b3a288fe9dd69316f1903d5288c3f5cafdcdd04756ad +size 37534 diff --git a/python-flit-core.changes b/python-flit-core.changes index 2f71847..a29bce4 100644 --- a/python-flit-core.changes +++ b/python-flit-core.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Sun Jan 9 11:38:59 UTC 2022 - Ben Greiner + +- Update to version 3.6 + * flit_core now bundles the tomli TOML parser library (version + 1.2.3) to avoid a circular dependency between flit_core and + tomli (:ghpull:`492`). This means flit_core now has no + dependencies except Python itself, both at build time and at + runtime, simplifying :doc:`bootstrapping `. +- The above is not fully applicale to openSUSE, we debundle. +- Release notes for Version 3.5.1 + * Fix development installs with flit install --symlink and + --pth-file, which were broken in 3.5.0, especially for packages + using a src folder (:ghpull:`472`). +- Release notes for Version 3.5 + * You can now use Flit to distribute a module or package inside a + namespace package (as defined by PEP 420). To do this, specify + the import name of the concrete, inner module you are packaging + - e.g. name = "sphinxcontrib.foo" - either in the [project] + table, or under [tool.flit.module] if you want to use a + different name on PyPI (:ghpull:`468`). + * Flit no longer generates a setup.py file in sdists (.tar.gz + packages) by default (:ghpull:`462`). Modern packaging tools + don't need this. You can use the --setup-py flag to keep adding + it for now, but this will probably be removed at some point in + the future. + * Fixed how flit init handles authors' names with non-ASCII + characters (:ghpull:`460`). + * When flit init generates a LICENSE file, the new pyproject.toml + now references it (:ghpull:`467`). +- Do not package tests +- Make it work with old python-rpm-macros + ------------------------------------------------------------------- Fri Oct 15 19:27:43 UTC 2021 - Ben Greiner diff --git a/python-flit-core.spec b/python-flit-core.spec index 5fe4242..4a718a5 100644 --- a/python-flit-core.spec +++ b/python-flit-core.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,17 +27,18 @@ %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 Name: python-flit-core%{psuffix} -Version: 3.4.0 +Version: 3.6.0 Release: 0 Summary: Distribution-building parts of Flit License: BSD-3-Clause URL: https://github.com/takluyver/flit Source: https://files.pythonhosted.org/packages/source/f/flit-core/flit_core-%{version}.tar.gz BuildRequires: %{python_module base >= 3.6} +BuildRequires: %{python_module pip} %if %{with test} +BuildRequires: %{python_module flit-core = %{version}} BuildRequires: %{python_module pytest} BuildRequires: %{python_module testpath} -BuildRequires: %{python_module tomli} %endif BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -53,29 +54,31 @@ Flit is a simple way to put Python packages and modules on PyPI. %setup -q -n flit_core-%{version} %build -# https://flit.readthedocs.io/en/latest/bootstrap.html -python3 build_dists.py +%pyproject_wheel %if !%{with test} %install -%{python_expand # do manually what pip would do -mkdir -p %{buildroot}%{$python_sitelib} -unzip dist/flit_core-%{version}-py3-none-any.whl -d %{buildroot}%{$python_sitelib} -rm -r %{buildroot}%{$python_sitelib}/flit_core/tests +%pyproject_install +%{python_expand # debundle after the bootstrap. See vendor/README +sed -i 's/from .vendor import tomli/import tomli/' %{buildroot}%{$python_sitelib}/flit_core/config.py +rm -r %{buildroot}%{$python_sitelib}/flit_core/vendor } -%python_compileall +%{?python_compileall} %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif %if %{with test} %check -%pytest +# make sure we do not test the debundled sources +rm flit_core/*.py pyproject.toml +%pytest -rfEs %endif %if !%{with test} %files %{python_files} %{python_sitelib}/flit_core %{python_sitelib}/flit_core-%{version}*-info +%exclude %{python_sitelib}/flit_core/tests %endif %changelog From 5b2c36e1785ddeea43369b24db7a1eb4e1ec1d5df7edc6019da14100fb3e2db8 Mon Sep 17 00:00:00 2001 From: Benjamin Greiner Date: Sun, 9 Jan 2022 14:56:17 +0000 Subject: [PATCH 2/2] Accepting request 945128 from home:bnavigator:branches:devel:languages:python - Back to bootstrap without pip OBS-URL: https://build.opensuse.org/request/show/945128 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-flit-core?expand=0&rev=19 --- build_dists.py | 17 +++++++++++++++++ python-flit-core.changes | 5 +++++ python-flit-core.spec | 19 ++++++++++++------- 3 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 build_dists.py diff --git a/build_dists.py b/build_dists.py new file mode 100644 index 0000000..3cee836 --- /dev/null +++ b/build_dists.py @@ -0,0 +1,17 @@ +"""Build flit_core to upload to PyPI. + +Normally, this should only be used by me when making a release. +""" +import os + +from flit_core import buildapi + +os.chdir(os.path.dirname(os.path.abspath(__file__))) + +print("Building sdist") +sdist_fname = buildapi.build_sdist('dist/') +print(os.path.join('dist', sdist_fname)) + +print("\nBuilding wheel") +whl_fname = buildapi.build_wheel('dist/') +print(os.path.join('dist', whl_fname)) diff --git a/python-flit-core.changes b/python-flit-core.changes index a29bce4..fdb5538 100644 --- a/python-flit-core.changes +++ b/python-flit-core.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Jan 9 14:53:21 UTC 2022 - Ben Greiner + +- Back to bootstrap without pip + ------------------------------------------------------------------- Sun Jan 9 11:38:59 UTC 2022 - Ben Greiner diff --git a/python-flit-core.spec b/python-flit-core.spec index 4a718a5..221b25c 100644 --- a/python-flit-core.spec +++ b/python-flit-core.spec @@ -31,10 +31,10 @@ Version: 3.6.0 Release: 0 Summary: Distribution-building parts of Flit License: BSD-3-Clause -URL: https://github.com/takluyver/flit -Source: https://files.pythonhosted.org/packages/source/f/flit-core/flit_core-%{version}.tar.gz +URL: https://github.com/pypa/flit +Source0: https://files.pythonhosted.org/packages/source/f/flit-core/flit_core-%{version}.tar.gz +Source1: https://github.com/pypa/flit/raw/%{version}/flit_core/build_dists.py BuildRequires: %{python_module base >= 3.6} -BuildRequires: %{python_module pip} %if %{with test} BuildRequires: %{python_module flit-core = %{version}} BuildRequires: %{python_module pytest} @@ -52,13 +52,19 @@ Flit is a simple way to put Python packages and modules on PyPI. %prep %setup -q -n flit_core-%{version} +cp %{SOURCE1} . %build -%pyproject_wheel +# https://flit.readthedocs.io/en/latest/bootstrap.html +python3 build_dists.py %if !%{with test} %install -%pyproject_install +%{python_expand # do manually what pip would do +mkdir -p %{buildroot}%{$python_sitelib} +unzip dist/flit_core-%{version}-py3-none-any.whl -d %{buildroot}%{$python_sitelib} +rm -r %{buildroot}%{$python_sitelib}/flit_core/tests +} %{python_expand # debundle after the bootstrap. See vendor/README sed -i 's/from .vendor import tomli/import tomli/' %{buildroot}%{$python_sitelib}/flit_core/config.py rm -r %{buildroot}%{$python_sitelib}/flit_core/vendor @@ -69,7 +75,7 @@ rm -r %{buildroot}%{$python_sitelib}/flit_core/vendor %if %{with test} %check -# make sure we do not test the debundled sources +# make sure we do not test the sources but the debundled package rm flit_core/*.py pyproject.toml %pytest -rfEs %endif @@ -78,7 +84,6 @@ rm flit_core/*.py pyproject.toml %files %{python_files} %{python_sitelib}/flit_core %{python_sitelib}/flit_core-%{version}*-info -%exclude %{python_sitelib}/flit_core/tests %endif %changelog