diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..49fb912 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/hatch-0.23.0.tar.gz b/hatch-0.23.0.tar.gz deleted file mode 100644 index 7088a31..0000000 --- a/hatch-0.23.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4b65753fcd8319ebddd51c0e1ef148d09592cdc38923d032f8f58ffc1658fd7 -size 73637 diff --git a/hatch-pr659-utf8.patch b/hatch-pr659-utf8.patch new file mode 100644 index 0000000..9f8b9aa --- /dev/null +++ b/hatch-pr659-utf8.patch @@ -0,0 +1,43 @@ +From c42f1d7086e4a8d1a7e1f299c50db2f1a16a2e3d Mon Sep 17 00:00:00 2001 +From: Ofek Lev +Date: Sat, 10 Dec 2022 11:49:48 -0500 +Subject: [PATCH] Remove unnecessary encoding declaration + +--- + backend/src/hatchling/version/core.py | 1 - + docs/history/hatchling.md | 4 ++++ + tests/backend/builders/hooks/test_version.py | 2 -- + 3 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/backend/src/hatchling/version/core.py b/backend/src/hatchling/version/core.py +index 38c26aca7..cad01f94b 100644 +--- a/backend/src/hatchling/version/core.py ++++ b/backend/src/hatchling/version/core.py +@@ -5,7 +5,6 @@ + + DEFAULT_PATTERN = r'(?i)^(__version__|VERSION) *= *([\'"])v?(?P.+?)\2' + DEFAULT_TEMPLATE = """\ +-# -*- coding: utf-8 -*- + # This file is auto-generated by Hatchling. As such, do not: + # - modify + # - track in version control e.g. be sure to add to .gitignore +diff --git a/tests/backend/builders/hooks/test_version.py b/tests/backend/builders/hooks/test_version.py +index 3b916d3ed..b03500292 100644 +--- a/tests/backend/builders/hooks/test_version.py ++++ b/tests/backend/builders/hooks/test_version.py +@@ -91,7 +91,6 @@ def update(self, metadata): + assert expected_file.is_file() + assert expected_file.read_text() == helpers.dedent( + """ +- # -*- coding: utf-8 -*- + # This file is auto-generated by Hatchling. As such, do not: + # - modify + # - track in version control e.g. be sure to add to .gitignore +@@ -132,7 +131,6 @@ def update(self, metadata): + assert expected_file.is_file() + assert expected_file.read_text() == helpers.dedent( + """ +- # -*- coding: utf-8 -*- + # This file is auto-generated by Hatchling. As such, do not: + # - modify + # - track in version control e.g. be sure to add to .gitignore diff --git a/hatch-v1.6.3.tar.gz b/hatch-v1.6.3.tar.gz new file mode 100644 index 0000000..bc4eeec --- /dev/null +++ b/hatch-v1.6.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de6d4bb1b6453de289551fac54e3d114eaeed369dc8f1b8a3493849c3581b423 +size 367984 diff --git a/python-hatch.changes b/python-hatch.changes index 7494477..97d8928 100644 --- a/python-hatch.changes +++ b/python-hatch.changes @@ -1,3 +1,194 @@ +------------------------------------------------------------------- +Fri Jan 6 16:17:06 UTC 2023 - Ben Greiner + +- Update to v1.6.3 + ## Fixed: + * Fix version command when the version is dynamic and build + dependencies are unmet +- Release 1.6.2 - 2022-10-20 + ## Fixed: + * Fix getting dynamic metadata from hooks for environments when + dependencies are not dynamic +- Release 1.6.1 - 2022-10-16 + ## Fixed: + * Computing the path to the user's home directory now gracefully + falls back to ~ when it cannot be determined +- Release 1.6.0 - 2022-10-08 + ## Changed: + * The run_shell_command environment interface method now accepts + arbitrary subprocess.Popen keyword arguments. This is not + strictly breaking, but will be utilized in upcoming features. + * The internal directory structure for storing virtual + environments is now more nested. This is not breaking, but any + local environments will be created anew. + ## Added: + * Add project command group to view details about the project + like PEP 621 metadata + * Better support for auto-detection of environments by tools like + Visual Studio Code now that the storage directory of virtual + environments will be flat if Hatch's configured virtual + environment directory resides somewhere within the project root + or if it is set to a .virtualenvs directory within the user's + home directory + * Build environments for the virtual environment type are now + cached for improved performance + * Add build_environment_exists method to the environment + interface for implementations that cache the build environment + * Add path option to the virtual environment type + * Add --initialize-auth flag to the index publisher to allow for + the saving of authentication information before publishing + * Support Bash on Windows for the shell command + * The setuptools migration script no longer modifies the + formatting of existing pyproject.toml configuration + * Bump the minimum supported version of Hatchling to 1.11.0 + ## Fixed: + * Environments now respect dynamically defined project + dependencies + * The dep hash and all dep show commands now respect dynamically + defined project dependencies + * The env show, dep hash, and all dep show commands now honor + context formatting + * Fix matrix variable inclusion filtering of the run and env run + commands when there are multiple possible variables + * Build environment compatibility is now checked before use + * Decreasing verbosity now has no affect on output that should + always be displayed + * Handle more edge cases in the setuptools migration script + * Environments now respect user defined environment variables for + context formatting + * Update the scripts in the generated test environment template + for new projects to reflect the documentation + * Allow extra-dependencies in environment overrides + * Depend on packaging explicitly rather than relying on it being + a transitive dependency of Hatchling +- Release 1.5.0 - 2022-08-28 + ## Added: + * The index publisher now recognizes repository-specific options + * Add the --ignore-compat flag to the env run command + * Setting the HATCH_PYTHON environment variable to self will now + force the use of the Python executable Hatch is running on for + virtual environment creation + ## Fixed: + * Fix the --force-continue flag of the env run command + * Handle more edge cases in the setuptools migration script +- Release 1.4.2 - 2022-08-16 + ## Fixed: + * Fix check for updating static versions with the version command + when metadata hooks are in use +- Release 1.4.1 - 2022-08-13 + ## Fixed: + * Fix non-detached inheritance disabling for environments +- Release 1.4.0 - 2022-08-06 + ## Added: + * The default Python for virtual environments now checks PATH + before using the one Hatch is running on + * Values for environment env-vars now support context formatting + * Add name override for environments to allow for regular + expression matching + * The index publisher now better supports non-PyPI indices + * Add certificate options to the index publisher + * Display waiting text when checking dependencies and removing + environments + * Display help text the first time the shell command is executed + * Update project templates with Python 3.11 and the latest + versions of various GitHub Actions + * Add support for Almquist (ash) shells + * Add hyperlink as a dependency for better handling of package + index URLs + * Bump the minimum supported version of virtualenv to 20.16.2 + * Bump the minimum supported version of tomlkit to 0.11.1 + ## Fixed: + * Acknowledge extra-dependencies for the env show command + * Fix locating executables within virtual environments on Debian + * Fix managing the terminal size inside the shell command + * Fix default code coverage file omission for the src-layout + project template option +- Release 1.3.1 - 2022-07-11 + ## Fixed: + * Support -h/--help flag for the run command +- Release 1.3.0 - 2022-07-10 + ## Changed: + * Rename the default publishing plugin from pypi to the more + generic index + ## Added: + * Support the absence of pyproject.toml files, as is the case for + apps and non-Python projects + * Hide scripts that start with an underscore for the env show + command by default + * Ignoring the exit codes of commands by prefixing with hyphens + now works with entire named scripts + * Add a way to require confirmation for publishing + * Add --force-continue flag to the env run command + * Make tracebacks colorful and less verbose + * When shell configuration has not been defined, attempt to use + the current shell based on parent processes before resorting to + the defaults + * The shell name pwsh is now an alias for powershell + * Remove atomicwrites dependency + * Relax constraint on userpath dependency + * Bump the minimum supported version of Hatchling to 1.4.1 + ## Fixed: + * Keep environments in sync with the dependencies of the selected + features + * Use utf-8 for all files generated for new projects + * Escape special characters Git may return in the user name when + writing generated files for new projects + * Normalize the package name to lowercase in setuptools migration + script + * Fix parsing of source distributions during publishing +- Release 1.2.1 - 2022-05-30 + ## Fixed: + * Fix handling of top level data_files in setuptools migration + script +- Release 1.2.0 - 2022-05-22 + ## Changed: + * The enter_shell environment plugin method now accepts an + additional args parameter + ## Added: + * Allow context string formatting for environment dependencies + * Add environment context string formatting fields env_name, + env_type, matrix, verbosity, and args + * Support overriding the default arguments used to spawn shells + on non-Windows systems + * Bump the minimum supported version of Hatchling to 1.3.0 + ## Fixed: + * Improve setuptools migration script +- Release 1.1.2 - 2022-05-20 + ## Fixed: + * Bump the minimum supported version of Hatchling to 1.2.0 + * Update project metadata to reflect support for Python 3.11 +- Release 1.1.1 - 2022-05-12 + ## Fixed: + * Fix setuptools migration script for non-Windows systems +- Release 1.1.0 - 2022-05-12 + ## Changed: + * In order to simplify the implementation of command execution + for environment plugins, the run_shell_commands method has been + replaced by the singular run_shell_command. A new + command_context method has been added to more easily satisfy + complex use cases. + * The finalize_command environment plugin method has been removed + in favor of the newly introduced context formatting + functionality. + ## Added: + * Add context formatting functionality i.e. the ability to insert + values into configuration like environment variables and + command line arguments + * Any verbosity for command execution will now always display + headers, even for single environments + * Every executed command is now displayed when running multiple + commands or when verbosity is enabled + * Similar to make, ignore the exit code of executed commands that + start with - (a hyphen) + * Add ability for the --init flag of the new command to + automatically migrate setuptools configuration + * Update project metadata to reflect the adoption by PyPA and + production stability +- Release 1.0.0 - 2022-04-28 + * This is the first stable release of Hatch v1, a complete + rewrite. Enjoy! +- Use python dependency generator, check in multibuild + ------------------------------------------------------------------- Mon Jun 8 11:01:18 UTC 2020 - Tomáš Chvátal diff --git a/python-hatch.spec b/python-hatch.spec index e12bebf..af7a6fc 100644 --- a/python-hatch.spec +++ b/python-hatch.spec @@ -1,7 +1,7 @@ # -# spec file for package python-hatch +# spec file # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,86 +16,80 @@ # -%define skip_python2 1 -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -Name: python-hatch -Version: 0.23.0 +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif + +Name: python-hatch%{psuffix} +Version: 1.6.3 Release: 0 -Summary: A modern project, package, and virtual env manager -License: MIT OR Apache-2.0 -URL: https://github.com/ofek/hatch -Source: https://files.pythonhosted.org/packages/source/h/hatch/hatch-%{version}.tar.gz -BuildRequires: %{python_module appdirs} -BuildRequires: %{python_module atomicwrites} -BuildRequires: %{python_module click} -BuildRequires: %{python_module colorama} -BuildRequires: %{python_module coverage} -BuildRequires: %{python_module devel > 3.5} -BuildRequires: %{python_module parse} -BuildRequires: %{python_module pexpect} -BuildRequires: %{python_module pip >= 9.0.1} -BuildRequires: %{python_module pytest} -BuildRequires: %{python_module semver >= 2.7.8} -BuildRequires: %{python_module setuptools >= 36.0.0} -BuildRequires: %{python_module sortedcontainers >= 1.5.7} -BuildRequires: %{python_module toml >= 0.9.3} -BuildRequires: %{python_module twine >= 1.9.1} -BuildRequires: %{python_module userpath >= 1.3.0} -BuildRequires: %{python_module virtualenv} -BuildRequires: %{python_module wheel >= 0.27.0} -BuildRequires: dos2unix +Summary: Modern, extensible Python project management +License: MIT +URL: https://hatch.pypa.io/latest/ +# SourceRepository: https://github.com/pypa/hatch +Source: https://github.com/pypa/hatch/archive/refs/tags/hatch-v%{version}.tar.gz +# PATCH-FIX-UPSTREAM hatch-pr659-utf8.patch gh#pypa/hatch#659 required due to newer hatchling +Patch1: hatch-pr659-utf8.patch +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module hatchling >= 1.11.0} +BuildRequires: %{python_module pip} BuildRequires: fdupes -BuildRequires: git-core BuildRequires: python-rpm-macros -Requires: git-core -Requires: python-appdirs -Requires: python-atomicwrites -Requires: python-click -Requires: python-colorama -Requires: python-coverage -Requires: python-pexpect -Requires: python-pip >= 9.0.1 -Requires: python-pytest -Requires: python-semver >= 2.7.8 -Requires: python-setuptools >= 36.0.0 -Requires: python-sortedcontainers -Requires: python-toml >= 0.9.3 -Requires: python-twine >= 1.9.1 -Requires: python-userpath >= 1.3.0 -Requires: python-virtualenv -Requires: python-wheel >= 0.27.0 -Requires(post): update-alternatives -Requires(postun): update-alternatives BuildArch: noarch +Requires(post): update-alternatives +Requires(postun):update-alternatives +Requires: git-core +%{?python_enable_dependency_generator} +%if %{with test} +BuildRequires: %{python_module filelock >= 3.7.1} +BuildRequires: %{python_module hatch = %{version}} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest-randomly} +BuildRequires: %{python_module pytest-rerunfailures} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module trustme} +%endif + %python_subpackages %description -Hatch is a productivity tool designed to make your workflow easier and more -efficient, while also reducing the number of other tools you need to know. -It aims to make the 90% use cases as pleasant as possible. +Hatch is a modern, extensible Python project manager. + +Features + * Standardized build system with reproducible builds by default + * Robust environment management with support for custom scripts + * Easy publishing to PyPI or other indexes + * Version management + * Configurable project generation with sane defaults + * Responsive CLI, ~2-3x faster than equivalent tools %prep -%setup -q -n hatch-%{version} +%autosetup -p1 -n hatch-hatch-v%{version} +%if !%{with test} %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_clone -a %{buildroot}%{_bindir}/hatch %python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif +%if %{with test} %check export LANG=en_US.UTF-8 -export PATH=$PATH:%{buildroot}%{_bindir} -# test_list_success_1 randomly timeouts in OBS -# test_failure expect syntax of output from invoke, which we do not ensure -# test_invalid_part - flaky -# test_package_cwd - flaky -# test_list_success_2 - flaky -# test_output - flaky -# FIXME: the tests if run 100x fail randomly in multiple locations, just skip them as they are TOO flaky -#%%pytest -k 'not (test_list_success_1 or test_failure or test_invalid_part or test_package_cwd or test_list_success_2 or test_output)' +# tests expect this to be unset and use their own reproducible value. Nothing installed from here. +# https://hatch.pypa.io/latest/config/build/#reproducible-builds +unset SOURCE_DATE_EPOCH +%pytest +%endif %post %python_install_alternative hatch @@ -103,10 +97,13 @@ export PATH=$PATH:%{buildroot}%{_bindir} %postun %python_uninstall_alternative hatch +%if !%{with test} %files %{python_files} -%doc README.rst -%license LICENSE-APACHE LICENSE-MIT +%doc README.md +%license LICENSE.txt %python_alternative %{_bindir}/hatch -%{python_sitelib}/* +%{python_sitelib}/hatch +%{python_sitelib}/hatch-%{version}.dist-info +%endif %changelog