SHA256
1
0
forked from pool/python-sip6

5 Commits

Author SHA256 Message Date
b13adb8525 Update package from 6.9.1 to 6.12.0 and convert to libalternatives
This is a migration of https://build.suse.de/request/show/385252 + the
conversion to use libalternatives
2025-10-02 12:27:00 +02:00
8d766ac4c5 Accepting request 1236048 from KDE:Qt:PyQt
OBS-URL: https://build.opensuse.org/request/show/1236048
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sip6?expand=0&rev=21
2025-01-12 10:10:04 +00:00
b7021b2f74 - Update to 6.9.1
* sip-sdist creates PEP 625 compatible file names. The sdists
    created by sip-sdist are now compatible with PEP 625 in that
    they have lower case names. This ensures that they will still
    be able to be uploaded to PyPI. Resolves #23
  * Update the minimum version of setuptools. The minimum version
    of setuptools used by SIP and by the generated sip module
    sdists has been set to v69.5. This is the oldest version that
    supports PEP 625. Resolves #55
  * sip module sdist Requires-Python is incorrect. The minimum
    Python version in the generated sip module metadata is now set
    to v3.9. Resolves #56
- Release v6.9.0
  * Removal of support for Python v3.8. Generated bindings now
    require Python v3.9 or later.
  * Type hints now conform to PEP 585.
  * The latest sip module ABI versions are v12.16 and v13.9.
    Resolves #37
  * Added support for the deprecated() decorator in .pyi files.
    .pyi files now use the deprecated() decorator when the
    /Deprecated/ annotation is specified. The /Deprecated/
    annotation may now specify an optional string which will be
    appended to the default deprecation warning. Resolves #8
  * PyQt-specific support for registering QFlags types. Calls to
    qMetaTypeId() for all QFlags mapped types are now automatically
    generated for PyQt using ABI v13. Resolves #43
  ## Bug fixes
  * The handling of the SIP versions timeline was fixed. (Resolves
    #47)
  * Annotations are now only validated if they are known to be

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-sip6?expand=0&rev=45
2025-01-08 21:21:25 +00:00
dea8c721c1 Accepting request 1208406 from KDE:Qt:PyQt
PyQt6 for 6.8. Tested on 15.6 by using retext + webengine. Works! (forwarded request 1208396 from favogt)

OBS-URL: https://build.opensuse.org/request/show/1208406
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sip6?expand=0&rev=20
2024-10-17 16:38:25 +00:00
Christophe Marin
eb0e6487ec PyQt6 for 6.8. Tested on 15.6 by using retext + webengine. Works!
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-sip6?expand=0&rev=43
2024-10-16 09:39:45 +00:00
4 changed files with 225 additions and 39 deletions

View File

@@ -1,3 +1,180 @@
-------------------------------------------------------------------
Mon Aug 25 12:21:14 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives on SLE-16-based and newer systems
-------------------------------------------------------------------
Mon Jun 9 17:07:52 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.12.0
* Support was added for C++11 enum base types. At the moment this
is limited to base types no larger than ints. Prior to this
support, all enums were assumed to be int which breaks on
big-endian systems. Resolves #75
* Fixed a regression in v6.11.0 affecting class names as template
arguments. Resolves #77
- Release v6.11.1
* The PEP 517 build_wheel() hook has been fixed after it
regressed in v6.11.0. Resolves #73
* The handling of calls where self is passed as an argument in
ABI v13 was fixed. Resolves #74
- Release 6.11.0
* Added the /Movable/ mapped type annotation. When the /Movable/
annotation is specified for a mapped type, values of that type
are wrapped in calls to std::move() when passing them as
arguments to a C++ callable. In addition the /Transfer/
argument annotation is automatically applied. Resolves #60
* Support for template arguments in super-classes. It is now
possible to invoke a class template as a super-class in a class
template. Resolves #12
* Determining the version of the limited API to use. The version
of the limited API to use is now taken from the requires-python
field of the metadata in a project's pyproject.toml file. If
this is not specified then (as with previous versions of SIP)
the version of the oldest supported version of Python is used.
Resolves #58
* %Docstring support for namespaces. The %Docstring directive can
now be specified for C++ namespaces. Resolves #11
* Support for operator~() in the global scope. operator~() can
now be specified in the global scope. Resolves #9
* Use consistent timestamps when creating wheel files. The value
of the environment variable SOURCE_DATE_EPOCH, if defined, will
be used as the timestamp for all files included in a wheel.
This ensures wheel building is repeatable. Pull request #70
* Bindings support for PEP 639. The project section of
pyproject.toml files may now use license to specify a valid
SPDX license expression. license-files, if specified, is a list
of glob patterns describing the files containing licensing
information. The old style of license is deprecated. The
metadata format of the generated PKG-INFO file of an sdist will
normally be v2.4. If the deprecated form of license is used in
pyproject.toml then it will be v2.2. License files will be
installed in the licenses sub-directory of the generated
.dist-info directory of a wheel. packaging v24.2 is now
required. Resolves #69
* Normalised wheel names. The names of wheel files (both those
generated by sip-wheel and indirectly from the sdists created
by sip-module) now conform to current PyPA standards. Resolves
#68
* pyproject.toml now conforms to PEP 639 The licensing
information in SIP's pyproject.toml now conforms to PEP 639.
This means that the minimum setuptools version is v77.
## Bug fixes
* The handling of unknown %Timeline tags in %If directives has
been fixed. An unknown tag is assumed to refer to a later
version than all the known tags. Therefore (unknown -) will
always be false, and (- unknown) will always be true.
* Generated code will not contain digraphs. This usually affects
C++ extensions being built with the default setuptools builder.
* Long deprecation messages are now handled correctly. Pull
request #67
-------------------------------------------------------------------
Thu Apr 3 16:56:27 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.10.0
* Introspection of the sip module ABI version
* SIP_ABI_VERSION has been added as a module attribute of the sip
module. This is an integer that represents the ABI version that
the module implements as a 3 part hexadecimal number.
* This has been implemented in ABIs v12.17 and v13.10. Resolves
#62
* sip-module support for older ABI versions. The ability of
sip-module to generate sdists for older ABI versions has been
restored. The oldest that can be generated are v12.9 and v13.1
which are the oldest non-deprecated versions. The documentation
now contains brief histories of these versions. Resolves #61
* Default ABI version. The default minor ABI version to use is
now the latest minor version for a particular major version
(rather than 0 as it was previously). Resolves #63
* Specify the ABI version on the command line. The --abi-version
command line option has been added to sip-build, sip-install
and sip-wheel to specify the ABI version of the sip module to
generate code for. Resolves #64
* Added the %MinimumABIVersion directive. The %MinimumABIVersion
directive is used to specify the minimum sip module ABI to
target in order to ensure that all calls to the public API from
handwritten code are available. A consequence of this change is
that passing string values to the /Deprecated/ annotation no
longer requires an ABI version that supports them to be
targeted. If the targeted ABI version does not support them
they are simply ignored. Resolves #65
* Escaping special characters in string annotations. The value of
a string annotation uses the ; and : characters to allow
platform- and feature-specific values to be defined. These
special characters can now be escaped using a leading \\. This
capability has now been documented. Resolves #59
## Bug fixes
* The license designator in setup.py for the latest versions of
the sip module are now correctly specified as BSD-2-Clause.
* The code generation has been fixed for classes created by
instantiating mapped type templates using a typedef with the
/NoTypeName/ annotation. Resolves #66
-------------------------------------------------------------------
Wed Jan 8 15:41:11 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.9.1
* sip-sdist creates PEP 625 compatible file names. The sdists
created by sip-sdist are now compatible with PEP 625 in that
they have lower case names. This ensures that they will still
be able to be uploaded to PyPI. Resolves #23
* Update the minimum version of setuptools. The minimum version
of setuptools used by SIP and by the generated sip module
sdists has been set to v69.5. This is the oldest version that
supports PEP 625. Resolves #55
* sip module sdist Requires-Python is incorrect. The minimum
Python version in the generated sip module metadata is now set
to v3.9. Resolves #56
- Release v6.9.0
* Removal of support for Python v3.8. Generated bindings now
require Python v3.9 or later.
* Type hints now conform to PEP 585.
* The latest sip module ABI versions are v12.16 and v13.9.
Resolves #37
* Added support for the deprecated() decorator in .pyi files.
.pyi files now use the deprecated() decorator when the
/Deprecated/ annotation is specified. The /Deprecated/
annotation may now specify an optional string which will be
appended to the default deprecation warning. Resolves #8
* PyQt-specific support for registering QFlags types. Calls to
qMetaTypeId() for all QFlags mapped types are now automatically
generated for PyQt using ABI v13. Resolves #43
## Bug fixes
* The handling of the SIP versions timeline was fixed. (Resolves
#47)
* Annotations are now only validated if they are known to be
needed.
* The buffer protocol support for byte objects was fixed.
(Resolves #36)
* All outstanding compiler warnings were eliminated when building
the sip module. (Resolves #32)
* Redundant % in trace output of this pointer in were removed.
(Pull request #33)
- Use github tarball and enable test suite
-------------------------------------------------------------------
Tue Oct 15 12:43:28 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to 6.8.6
* Handle single number macOS deployment targets
* Support for architectures where `char` is unsigned
* Support for building from git archives
* Run the tests using the current Python version
* Missing dependency in `pyproject.toml`
* Added support for Python v3.13
* Make all tools accessable using `python -m`
* Assume C99 support
* Object map incorrect size assumptions for Windows 64
* Snapshot regression
* `%MappedType` documentation error
* Missing import affecting XML generation
* Fixed the generation of module-level attributes
* Documentation updates
* Imported from Mercurial
- Project is now BSD-2-Clause licensed
- The tarball on PyPi does not include docs or examples anymore
-------------------------------------------------------------------
Tue Apr 9 08:20:00 UTC 2024 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-sip6
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,24 +17,39 @@
%{?sle15_python_module_pythons}
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
Name: python-sip6
Version: 6.8.3
Version: 6.12.0
Release: 0
Summary: A Python bindings generator for C/C++ libraries
License: GPL-2.0-only OR GPL-3.0-only OR SUSE-SIP
License: BSD-2-Clause AND BSD-3-Clause
Group: Development/Libraries/Python
URL: https://github.com/Python-SIP/sip
Source0: https://files.pythonhosted.org/packages/source/s/sip/sip-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module packaging}
Source0: https://github.com/Python-SIP/sip/archive/refs/tags/%{version}.tar.gz#/sip-%{version}-gh.tar.gz
BuildRequires: %{python_module base >= 3.9}
BuildRequires: %{python_module packaging >= 24.2}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tomli if %python-base < 3.11}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
%if 0%{?suse_version} < 1600
BuildRequires: %{python_module setuptools >= 75.8.1}
BuildRequires: %{python_module setuptools_scm >= 7}
%else
BuildRequires: %{python_module setuptools >= 77}
BuildRequires: %{python_module setuptools_scm >= 8}
%endif
# SECTION test
BuildRequires: %{python_module devel}
BuildRequires: %{python_module testsuite}
BuildRequires: c++_compiler
# /SECTION
%python_subpackages
%description
@@ -48,12 +63,10 @@ to generate wxPython, the Python bindings for wxWidgets.
Summary: A Python bindings generator for C/C++ libraries
Group: Development/Libraries/Python
Requires: c++_compiler
Requires: python-base >= 3.8
Requires: python-packaging
Requires: python-setuptools
Requires: python-base >= 3.9
Requires: python-packaging >= 24.2
Requires: python-setuptools >= 75.8.1
Requires: (python-tomli if python-base < 3.11)
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: python-sip-impl
# boo#1190441: remove erroneously created non-devel python3X-sip metapackages.
# In order not to remove SIPv4 and possible future packages, we have to explicitly
@@ -61,6 +74,13 @@ Conflicts: python-sip-impl
Obsoletes: python-sip = 6.1.1
Provides: python-sip-devel = %{version}-%{release}
Provides: python-sip-impl = %{version}-%{release}
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
%description devel
SIP is a collection of tools that makes it very easy to create Python
@@ -72,23 +92,15 @@ to generate wxPython, the Python bindings for wxWidgets.
This package contains all the developer tools you need to create your
own sip bindings.
%if 0%{?suse_version} > 1500
%package -n python-sip6-doc
Summary: A Python bindings generator for C/C++ libraries -- common documentation
Group: Development/Libraries/Python
Provides: %{python_module sip6-doc = %{version}-%{release}}
%description -n python-sip6-doc
SIP is a tool that makes it very easy to create Python bindings for C
and C++ libraries. It was originally developed to create PyQt, the
Python bindings for the Qt toolkit, but can be used to create bindings
for any C or C++ library.
This package contains the documentation and example files.
%endif
%prep
%autosetup -p1 -n sip-%{version}
# Make it work with setuptools < 77 and setuptools_scm < 8
%if 0%{?suse_version} < 1600
sed -i pyproject.toml \
-e 's/version_file/write_to/' \
-e 's/license = .*/license = { file = "LICENSE" }/' \
-e '/license-files/d'
%endif
%build
%pyproject_wheel
@@ -101,11 +113,14 @@ This package contains the documentation and example files.
%python_clone -a %{buildroot}%{_bindir}/sip-module
%python_clone -a %{buildroot}%{_bindir}/sip-sdist
%python_clone -a %{buildroot}%{_bindir}/sip-wheel
%python_group_libalternatives sip-build sip-distinfo sip-install sip-module sip-sdist sip-wheel
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%fdupes -s doc
%check
# No upstream tests available. Appease rpmlint no-%%check-section
%pyunittest discover -v test
%pre devel
%python_libalternatives_reset_alternative sip-build
%post devel
%python_install_alternative sip-build sip-distinfo sip-install sip-module sip-sdist sip-wheel
@@ -124,10 +139,4 @@ This package contains the documentation and example files.
%{python_sitelib}/sipbuild
%{python_sitelib}/sip-%{version}.dist-info
%if 0%{?suse_version} > 1500
%files -n python-sip6-doc
%license LICENSE*
%doc doc/
%endif
%changelog

BIN
sip-6.12.0-gh.tar.gz LFS Normal file

Binary file not shown.

Binary file not shown.