Sync from SUSE:SLFO:Main python-construct revision 4632b8011d52bc85384daca44671acf7

This commit is contained in:
Adrian Schröter 2024-05-03 20:23:01 +02:00
commit ded2eb22f8
6 changed files with 312 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

BIN
construct-2.10.68.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

145
python-construct.changes Normal file
View File

@ -0,0 +1,145 @@
-------------------------------------------------------------------
Sun Mar 27 11:07:33 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.10.68:
* declared compatibility with python 3.10
* documentation updates
-------------------------------------------------------------------
Tue Oct 26 20:40:31 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 2.10.67:
* no changelog available
-------------------------------------------------------------------
Sat Feb 13 22:25:12 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 2.10.60
* no changelog
- Skip NumPy tests on pyhton36 flavor. Due to NEP29, python36-numpy
is being dropped in TW, but it is just optional for construct.
-------------------------------------------------------------------
Tue Jun 23 14:27:05 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Add source dir to PYTHONPATH just as upstream does.
Necessary due change in pytest macro gh#openSUSE/python-rpm-macros#48
- don't benchmark, just run the tests once
-------------------------------------------------------------------
Wed Feb 12 11:59:37 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 2.10.56:
* drop support for python2
* no upstream changelog
- Rebase patch split_debug.patch
-------------------------------------------------------------------
Sat Dec 14 22:15:42 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Use _multibuild for tests to reduce the build dependencies
and simplify bootstrap for e.g. rpmlint.
-------------------------------------------------------------------
Mon Oct 14 11:40:28 UTC 2019 - Matej Cepl <mcepl@suse.com>
- Replace %fdupes -s with plain %fdupes; hardlinks are better.
-------------------------------------------------------------------
Mon Jan 7 11:37:34 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Reintroduce split_debug.patch for rpmlint[mini] mode
-------------------------------------------------------------------
Wed Jan 2 09:36:53 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Version update to 2.9.45:
* No obvious changelog present
- Remove obsolete split_debug.patch
- Use github tarball in order to be able to run tests
-------------------------------------------------------------------
Tue Dec 4 12:46:54 UTC 2018 - Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
-------------------------------------------------------------------
Sat Aug 26 16:52:44 UTC 2017 - jengelh@inai.de
- Rewrite description for more neutrality.
-------------------------------------------------------------------
Thu Aug 24 07:24:54 UTC 2017 - tbechtold@suse.com
- update to 2.8.12:
* README and docs updated
* Version uped to 2.8.12
* Union: fixed buildfrom (bug #348)
* Docs updated: API reference
* Prefixed instead of Array (#349)
-------------------------------------------------------------------
Sat May 6 14:12:24 UTC 2017 - matwey.kornilov@gmail.com
- Recover split_debug.patch to fix rpmlint
-------------------------------------------------------------------
Sat Apr 22 16:20:52 UTC 2017 - aloisio@gmx.com
- Update to 2.8.11
- Converted to single-spec
- Set proper source URL
- Refreshed split_debug.patch
-------------------------------------------------------------------
Thu Jan 26 09:26:29 UTC 2017 - matwey.kornilov@gmail.com
- correct download url
-------------------------------------------------------------------
Wed Jan 18 09:42:16 UTC 2017 - matwey.kornilov@gmail.com
- Version 2.8.10:
- no changelog available
-------------------------------------------------------------------
Mon Oct 10 12:45:01 UTC 2016 - dmueller@suse.com
- correct download url
-------------------------------------------------------------------
Sat Oct 1 15:10:47 UTC 2016 - matwey.kornilov@gmail.com
- Version 2.5.5:
- Many minor fixups
-------------------------------------------------------------------
Sat May 3 12:42:41 UTC 2014 - matwey.kornilov@gmail.com
- Version 2.5.2:
- Misc minor fixes in docs
-------------------------------------------------------------------
Mon Jul 8 13:57:11 UTC 2013 - matwey.kornilov@gmail.com
- Version 2.5.1:
- Misc fixes for python 3
- Misc fixes in documentation
- Allow the Pointer to relocate relative to EOF
-------------------------------------------------------------------
Wed May 8 07:40:30 UTC 2013 - matwey.kornilov@gmail.com
- Add split_debug.patch: reason why do we want to do so is to use
python-construct in embedded applications like rpmlint-mini
-------------------------------------------------------------------
Tue Apr 30 11:30:15 UTC 2013 - speilicke@suse.com
- Package LICENSE and README.rst
-------------------------------------------------------------------
Mon Apr 29 15:27:04 UTC 2013 - matwey.kornilov@gmail.com
- Initial version

100
python-construct.spec Normal file
View File

@ -0,0 +1,100 @@
#
# spec file
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%bcond_with test
%endif
%define skip_python2 1
Name: python-construct%{?psuffix}
Version: 2.10.68
Release: 0
Summary: A declarative parser/builder for binary data
License: MIT
URL: https://github.com/construct/construct
Source: https://github.com/construct/construct/archive/v%{version}.tar.gz#/construct-%{version}.tar.gz
Patch0: split_debug.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-arrow
Recommends: python-cloudpickle
Recommends: python-lz4
Recommends: python-numpy
Recommends: python-ruamel.yaml
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module arrow}
BuildRequires: %{python_module cloudpickle}
BuildRequires: %{python_module lz4}
BuildRequires: %{python_module pytest-benchmark}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module ruamel.yaml}
BuildRequires: %{python_module numpy if (%python-base without python36-base)}
%endif
%python_subpackages
%description
Construct is a declarative parser (and builder) for binary data.
Instead of writing imperative code to parse a piece of data, a data
structure that describes the data is declared. As this data structure is not
code, it can be used in one direction to parse data into Pythonic objects,
and in the other direction to convert ("build") objects into binary data.
%prep
%setup -q -n construct-%{version}
%patch0 -p1
# remove gallery tests that require in place stuff
rm -rf tests/gallery
rm -rf tests/deprecated_gallery
%build
%if %{without test}
%python_build
%endif
%install
%if %{without test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
# local source dir is needed for tests
export PYTHONPATH=$(pwd)
# Don't test with NumPy in the python36 flavor, because python36-numpy is not in TW anymore
python36_donttest="numpy or test_overall_parse or test_overall_build or test_compiled_example_benchmark or test_compiled_example_integrity"
%pytest --benchmark-disable ${$python_donttest:+ -k "not (${$python_donttest})"}
%endif
%if %{without test}
%files %{python_files}
%license LICENSE
%doc README.rst
%{python_sitelib}/construct
%{python_sitelib}/construct-%{version}-py%{python_version}.egg-info
%endif
%changelog

38
split_debug.patch Normal file
View File

@ -0,0 +1,38 @@
Index: construct-2.10.56/construct/__init__.py
===================================================================
--- construct-2.10.56.orig/construct/__init__.py
+++ construct-2.10.56/construct/__init__.py
@@ -21,7 +21,6 @@ Hands-on example:
from construct.core import *
from construct.expr import *
-from construct.debug import *
from construct.version import *
from construct import lib
@@ -69,7 +68,6 @@ __all__ = [
'ConstructError',
'Container',
'CString',
- 'Debugger',
'Default',
'Double',
'Enum',
@@ -143,7 +141,6 @@ __all__ = [
'possiblestringencodings',
'Prefixed',
'PrefixedArray',
- 'Probe',
'ProcessRotateLeft',
'ProcessXor',
'RangeError',
@@ -206,3 +203,9 @@ __all__ = [
]
__all__ += ["Int%s%s%s" % (n,us,bln) for n in (8,16,24,32,64) for us in "us" for bln in "bln"]
__all__ += ["Float%s%s" % (n,bln) for n in (16,32,64) for bln in "bln"]
+
+try:
+ from construct.debug import *
+ __all__ += ['Debugger', 'Probe']
+except ImportError:
+ pass