From 0442a701e622096d970f7d1a6e2a2fea68e8e34f Mon Sep 17 00:00:00 2001 From: k4leg Date: Wed, 1 Sep 2021 21:04:45 +0300 Subject: [PATCH 1/5] New package: python3-debian-0.1.40 --- .../0001-Disable-apt_pkg-support.patch | 146 ++++++++++++++++++ srcpkgs/python3-debian/template | 16 ++ srcpkgs/python3-debian/update | 2 + 3 files changed, 164 insertions(+) create mode 100644 srcpkgs/python3-debian/patches/0001-Disable-apt_pkg-support.patch create mode 100644 srcpkgs/python3-debian/template create mode 100644 srcpkgs/python3-debian/update diff --git a/srcpkgs/python3-debian/patches/0001-Disable-apt_pkg-support.patch b/srcpkgs/python3-debian/patches/0001-Disable-apt_pkg-support.patch new file mode 100644 index 000000000000..6765b2f6c3a0 --- /dev/null +++ b/srcpkgs/python3-debian/patches/0001-Disable-apt_pkg-support.patch @@ -0,0 +1,146 @@ +From e87972d4ae499d7049338ddb0d5009b6527a93dc Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Mon, 8 Feb 2021 22:24:33 -0500 +Subject: [PATCH] Disable apt_pkg support + +--- + lib/debian/deb822.py | 4 +-- + lib/debian/tests/test_deb822.py | 58 --------------------------------- + 2 files changed, 2 insertions(+), 60 deletions(-) + +diff --git a/lib/debian/deb822.py b/lib/debian/deb822.py +index 46cf81a..158033f 100644 +--- a/lib/debian/deb822.py ++++ b/lib/debian/deb822.py +@@ -2286,7 +2286,7 @@ class Sources(Dsc, _PkgRelationMixin): + def iter_paragraphs(cls, + sequence, # type: InputDataType + fields=None, # type: Optional[List[str]] +- use_apt_pkg=True, # type: bool ++ use_apt_pkg=False, # type: bool + shared_storage=False, # type: bool + encoding="utf-8", # type: str + strict=None, # type: Optional[Dict[str, bool]] +@@ -2328,7 +2328,7 @@ class Packages(Deb822, _PkgRelationMixin, _VersionAccessorMixin): + def iter_paragraphs(cls, + sequence, # type: InputDataType + fields=None, # type: Optional[List[str]] +- use_apt_pkg=True, # type: bool ++ use_apt_pkg=False, # type: bool + shared_storage=False, # type: bool + encoding="utf-8", # type: str + strict=None, # type: Optional[Dict[str, bool]] +diff --git a/lib/debian/tests/test_deb822.py b/lib/debian/tests/test_deb822.py +index f386391..7fb11fa 100755 +--- a/lib/debian/tests/test_deb822.py ++++ b/lib/debian/tests/test_deb822.py +@@ -42,8 +42,6 @@ else: + from StringIO import StringIO + BytesIO = StringIO + +-import apt_pkg +- + from debian import deb822 + from debian.debian_support import Version + +@@ -541,11 +539,6 @@ with open("test_deb822.pickle", "wb") as fh: + for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=False): + self.assertWellParsed(d, PARSED_PACKAGE) + +- with self.assertWarns(UserWarning): +- # The StringIO is not a real file so this will raise a warning +- for d in deb822.Deb822.iter_paragraphs(text, use_apt_pkg=True): +- self.assertWellParsed(d, PARSED_PACKAGE) +- + def test_iter_paragraphs_file(self): + # type: () -> None + text = StringIO() +@@ -564,10 +557,6 @@ with open("test_deb822.pickle", "wb") as fh: + for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=False): + self.assertWellParsed(d, PARSED_PACKAGE) + +- fh.seek(0) +- for d in deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True): +- self.assertWellParsed(d, PARSED_PACKAGE) +- + + def test_iter_paragraphs_with_gpg(self): + # type: () -> None +@@ -640,12 +629,7 @@ with open("test_deb822.pickle", "wb") as fh: + test_count(deb822.Deb822.iter_paragraphs, 2) + test_count(deb822.Deb822.iter_paragraphs, 2, use_apt_pkg=False) + +- # apt_pkg used, should not split +- test_count(deb822.Deb822.iter_paragraphs, 1, use_apt_pkg=True) +- + # Specialised iter_paragraphs force use of apt_pkg and don't split +- test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=True) +- test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=True) + test_count(deb822.Packages.iter_paragraphs, 1, use_apt_pkg=False) + test_count(deb822.Sources.iter_paragraphs, 1, use_apt_pkg=False) + +@@ -692,32 +676,12 @@ with open("test_deb822.pickle", "wb") as fh: + s.write(b"\n") + self.assertEqual(s.getvalue(), packages_content) + +- def test_iter_paragraphs_apt_shared_storage_packages(self): +- # type: () -> None +- self._test_iter_paragraphs(find_test_file("test_Packages"), +- deb822.Packages, +- use_apt_pkg=True, shared_storage=True) +- def test_iter_paragraphs_apt_no_shared_storage_packages(self): +- # type: () -> None +- self._test_iter_paragraphs(find_test_file("test_Packages"), +- deb822.Packages, +- use_apt_pkg=True, shared_storage=False) + def test_iter_paragraphs_no_apt_no_shared_storage_packages(self): + # type: () -> None + self._test_iter_paragraphs(find_test_file("test_Packages"), + deb822.Packages, + use_apt_pkg=False, shared_storage=False) + +- def test_iter_paragraphs_apt_shared_storage_sources(self): +- # type: () -> None +- self._test_iter_paragraphs(find_test_file("test_Sources"), +- deb822.Sources, +- use_apt_pkg=True, shared_storage=True) +- def test_iter_paragraphs_apt_no_shared_storage_sources(self): +- # type: () -> None +- self._test_iter_paragraphs(find_test_file("test_Sources"), +- deb822.Sources, +- use_apt_pkg=True, shared_storage=False) + def test_iter_paragraphs_no_apt_no_shared_storage_sources(self): + # type: () -> None + self._test_iter_paragraphs(find_test_file("test_Sources"), +@@ -1091,28 +1055,6 @@ Description: python modules to work with Debian-related data formats + self.assertWellParsed(paragraphs[i], + PARSED_PARAGRAPHS_WITH_COMMENTS[i]) + +- def test_iter_paragraphs_comments_use_apt_pkg(self): +- # type: () -> None +- """ apt_pkg does not support comments within multiline fields +- +- This test checks that a file with comments inside multiline fields +- generates an error from the apt_pkg parser. +- +- See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750247#35 +- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807351 +- """ +- try: +- fd, filename = tempfile.mkstemp() +- fp = os.fdopen(fd, 'wb') +- fp.write(UNPARSED_PARAGRAPHS_WITH_COMMENTS.encode('utf-8')) +- fp.close() +- +- with open_utf8(filename) as fh: +- with self.assertRaises(apt_pkg.Error): +- list(deb822.Deb822.iter_paragraphs(fh, use_apt_pkg=True)) +- finally: +- os.remove(filename) +- + def test_iter_paragraphs_comments_native(self): + # type: () -> None + paragraphs = list(deb822.Deb822.iter_paragraphs( +-- +2.30.0 + diff --git a/srcpkgs/python3-debian/template b/srcpkgs/python3-debian/template new file mode 100644 index 000000000000..d618284b6ee0 --- /dev/null +++ b/srcpkgs/python3-debian/template @@ -0,0 +1,16 @@ +# Template file for 'python3-debian' +pkgname=python3-debian +version=0.1.40 +revision=1 +wrksrc="python-debian-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-chardet python3-six" +checkdepends="dpkg tar $depends" +short_desc="Python modules work with Debian-related data formats" +maintainer="k4leg " +license="GPL-2.0-or-later" +homepage="https://pypi.org/project/python-debian" +# Don't use PyPI because it has no tests. +distfiles="https://salsa.debian.org/python-debian-team/python-debian/-/archive/${version}/python-debian-${version}.tar.gz" +checksum=f7f726ffd678f9ce2e099b6b036f63c1793da4898d5de1fcec31cab2630f8096 diff --git a/srcpkgs/python3-debian/update b/srcpkgs/python3-debian/update new file mode 100644 index 000000000000..5cff7f2cd03c --- /dev/null +++ b/srcpkgs/python3-debian/update @@ -0,0 +1,2 @@ +pkgname=python-debian +site=https://salsa.debian.org/python-debian-team/python-debian/tags From 59b3042d6968bc016f041203704695af9e1b15ef Mon Sep 17 00:00:00 2001 From: k4leg Date: Wed, 1 Sep 2021 21:05:04 +0300 Subject: [PATCH 2/5] New package: python3-boolean.py-3.8 --- srcpkgs/python3-boolean.py/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-boolean.py/template diff --git a/srcpkgs/python3-boolean.py/template b/srcpkgs/python3-boolean.py/template new file mode 100644 index 000000000000..e5f13b78e547 --- /dev/null +++ b/srcpkgs/python3-boolean.py/template @@ -0,0 +1,17 @@ +# Template file for 'python3-boolean.py' +pkgname=python3-boolean.py +version=3.8 +revision=1 +wrksrc="boolean.py-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Small library implementing a boolean algebra" +maintainer="k4leg " +license="BSD-2-Clause" +homepage="https://pypi.org/project/boolean.py" +distfiles="${PYPI_SITE}/b/boolean.py/boolean.py-${version}.tar.gz" +checksum=cc24e20f985d60cd4a3a5a1c0956dd12611159d32a75081dabd0c9ab981acaa4 + +post_install() { + vlicense LICENSE.txt +} From 70843e63adf94139938f5f34486f7d53200580ef Mon Sep 17 00:00:00 2001 From: k4leg Date: Wed, 1 Sep 2021 21:05:25 +0300 Subject: [PATCH 3/5] New package: python3-binaryornot-0.4.4 --- .../patches/0001-fix-failing-test.patch | 22 +++++++++++++++++++ srcpkgs/python3-binaryornot/template | 19 ++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 srcpkgs/python3-binaryornot/patches/0001-fix-failing-test.patch create mode 100644 srcpkgs/python3-binaryornot/template diff --git a/srcpkgs/python3-binaryornot/patches/0001-fix-failing-test.patch b/srcpkgs/python3-binaryornot/patches/0001-fix-failing-test.patch new file mode 100644 index 000000000000..2070485b6a0d --- /dev/null +++ b/srcpkgs/python3-binaryornot/patches/0001-fix-failing-test.patch @@ -0,0 +1,22 @@ +From 38dee57986c6679d9936a1da6f6c8182da3734f8 Mon Sep 17 00:00:00 2001 +From: Greg +Date: Sat, 10 Aug 2019 15:10:33 +0000 +Subject: [PATCH] fix failing test + +--- + tests/test_check.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test_check.py b/tests/test_check.py +index 1ea31a4..f800583 100755 +--- a/tests/test_check.py ++++ b/tests/test_check.py +@@ -216,7 +216,7 @@ def bytes_in_file(data): + + + class TestDetectionProperties(unittest.TestCase): +- @given(binary(average_size=512)) ++ @given(binary(max_size=512)) + def test_never_crashes(self, data): + with bytes_in_file(data) as f: + is_binary(f) diff --git a/srcpkgs/python3-binaryornot/template b/srcpkgs/python3-binaryornot/template new file mode 100644 index 000000000000..116223a190c5 --- /dev/null +++ b/srcpkgs/python3-binaryornot/template @@ -0,0 +1,19 @@ +# Template file for 'python3-binaryornot' +pkgname=python3-binaryornot +version=0.4.4 +revision=1 +wrksrc="binaryornot-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-chardet" +checkdepends="python3-hypothesis $depends" +short_desc="Pure Python package to check if a file is binary or text" +maintainer="k4leg " +license="BSD-3-Clause" +homepage="https://pypi.org/project/binaryornot" +distfiles="${PYPI_SITE}/b/binaryornot/binaryornot-${version}.tar.gz" +checksum=359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061 + +post_install() { + vlicense LICENSE +} From 82c6acb66984ac9789e079af86c7999cd6f7e28f Mon Sep 17 00:00:00 2001 From: k4leg Date: Wed, 1 Sep 2021 21:05:50 +0300 Subject: [PATCH 4/5] New package: python3-license-expression-21.6.14 --- srcpkgs/python3-license-expression/template | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 srcpkgs/python3-license-expression/template diff --git a/srcpkgs/python3-license-expression/template b/srcpkgs/python3-license-expression/template new file mode 100644 index 000000000000..7bbf81e0de5e --- /dev/null +++ b/srcpkgs/python3-license-expression/template @@ -0,0 +1,15 @@ +# Template file for 'python3-license-expression' +pkgname=python3-license-expression +version=21.6.14 +revision=1 +wrksrc="license-expression-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools python3-setuptools_scm" +depends="python3-boolean.py" +checkdepends="python3-pytest $depends" +short_desc="Library to parse, normalize and compare license expressions" +maintainer="k4leg " +license="Apache-2.0" +homepage="https://pypi.org/project/license-expression" +distfiles="${PYPI_SITE}/l/license-expression/license-expression-${version}.tar.gz" +checksum=9de87a427c9a449eee7913472fb9ed03b63036295547369fdbf95f76a8b924b2 From fc8c3c3d61391abb4c92d1cddca694f05cd016c5 Mon Sep 17 00:00:00 2001 From: k4leg Date: Wed, 1 Sep 2021 21:06:09 +0300 Subject: [PATCH 5/5] New package: reuse-0.13.0 --- srcpkgs/reuse/template | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 srcpkgs/reuse/template diff --git a/srcpkgs/reuse/template b/srcpkgs/reuse/template new file mode 100644 index 000000000000..03477ab98252 --- /dev/null +++ b/srcpkgs/reuse/template @@ -0,0 +1,15 @@ +# Template file for 'reuse' +pkgname=reuse +version=0.13.0 +revision=1 +build_style=python3-module +hostmakedepends="python3-setuptools python3-setuptools_scm gettext" +depends="python3-binaryornot python3-boolean.py python3-debian python3-Jinja2 + python3-license-expression python3-requests" +checkdepends="python3-pytest $depends" +short_desc="Helper tool for compliance with REUSE Specification" +maintainer="k4leg " +license="GPL-3.0-or-later, CC-BY-SA-4.0, CC0-1.0, Apache-2.0" +homepage="https://pypi.org/project/reuse" +distfiles="${PYPI_SITE}/r/reuse/reuse-${version}.tar.gz" +checksum=89c87bd49308c8059cc36f8116872d73dc6e5788a29af8869be6532202bff801