From c2cf7534673839857db8ed47b9b8653c95b3207c Mon Sep 17 00:00:00 2001 From: John Date: Wed, 24 Dec 2025 23:17:17 +0100 Subject: [PATCH 1/9] sabnzbd: update to 4.5.5. --- srcpkgs/sabnzbd/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/sabnzbd/template b/srcpkgs/sabnzbd/template index 44d0a4041de49c..9302f14efe2e4b 100644 --- a/srcpkgs/sabnzbd/template +++ b/srcpkgs/sabnzbd/template @@ -1,12 +1,12 @@ # Template file for 'sabnzbd' pkgname=sabnzbd -version=4.4.1 -revision=2 +version=4.5.5 +revision=1 pycompile_dirs="/usr/share/sabnzbd" hostmakedepends="python3 gettext" depends="par2cmdline python3-cheetah3 python3-cryptography python3-feedparser python3-configobj python3-CherryPy python3-Cheroot - python3-portend python3-chardet python3-notify2 python3-guessit + python3-portend python3-chardet python3-notify2 python3-guessit python3-rarfile python3-puremagic python3-pysocks python3-apprise python3-sabctools unzip" short_desc="Open Source Binary Newsreader written in Python" maintainer="Orphaned " @@ -14,7 +14,7 @@ license="GPL-2.0-or-later, custom:Bundled" homepage="https://sabnzbd.org/" changelog="https://github.com/sabnzbd/sabnzbd/releases" distfiles="https://github.com/sabnzbd/sabnzbd/releases/download/${version}/SABnzbd-${version}-src.tar.gz" -checksum=a9ebf273d77c6d3cc9a13b1bd1640b903f4891e58aee3ef5a25595db3aa4d7fb +checksum=7f93d714287293f519f244b92d8eb727aa504448c5961dab8420e2093f92e3b7 python_version=3 post_extract() { From 262e3c880889c8c5807040d55ea693497a2271c5 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 21:29:26 +0100 Subject: [PATCH 2/9] python3-rarfile: update to 4.2. --- srcpkgs/python3-rarfile/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/python3-rarfile/template b/srcpkgs/python3-rarfile/template index 90cb8ee584cd3e..5db1a377251c9c 100644 --- a/srcpkgs/python3-rarfile/template +++ b/srcpkgs/python3-rarfile/template @@ -1,7 +1,7 @@ # Template file for 'python3-rarfile' pkgname=python3-rarfile -version=4.0 -revision=8 +version=4.2 +revision=1 build_style=python3-module hostmakedepends="python3-setuptools" depends="python3" @@ -11,7 +11,7 @@ license="ISC" homepage="https://github.com/markokr/rarfile" changelog="https://github.com/markokr/rarfile/raw/master/doc/news.rst" distfiles="${PYPI_SITE}/r/rarfile/rarfile-${version}.tar.gz" -checksum=67548769229c5bda0827c1663dce3f54644f9dbfba4ae86d4da2b2afd3e602a1 +checksum=8e1c8e72d0845ad2b32a47ab11a719bc2e41165ec101fd4d3fe9e92aa3f469ef post_install() { vlicense LICENSE From 81cc543548b29e2c64dbf3ed583326cfb5fcb5ef Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 21:36:31 +0100 Subject: [PATCH 3/9] subliminal: update to 2.5.0. --- srcpkgs/subliminal/patches/1336.patch | 93 +++++++++++++++++++++++++++ srcpkgs/subliminal/template | 17 ++--- 2 files changed, 102 insertions(+), 8 deletions(-) create mode 100644 srcpkgs/subliminal/patches/1336.patch diff --git a/srcpkgs/subliminal/patches/1336.patch b/srcpkgs/subliminal/patches/1336.patch new file mode 100644 index 00000000000000..f194525ed45089 --- /dev/null +++ b/srcpkgs/subliminal/patches/1336.patch @@ -0,0 +1,93 @@ +From 6fa86ec9b5bd02d324b0fdea9a6880aa44a925b5 Mon Sep 17 00:00:00 2001 +From: John Zimmermann +Date: Fri, 26 Dec 2025 14:14:11 +0100 +Subject: [PATCH] Replace opensubtitlescom _search recursion with a generator + implementation + +It can happen that a opensubtitlescom query might return hundreds of +pages, this can lead to a stackoverflow (especially on systems with a +smaller default thread stack size like musl libc) +--- + src/subliminal/providers/opensubtitlescom.py | 48 +++++++++----------- + 1 file changed, 22 insertions(+), 26 deletions(-) + +diff --git a/src/subliminal/providers/opensubtitlescom.py b/src/subliminal/providers/opensubtitlescom.py +index 13257162..b9cc98af 100644 +--- a/src/subliminal/providers/opensubtitlescom.py ++++ b/src/subliminal/providers/opensubtitlescom.py +@@ -31,7 +31,7 @@ + from . import Provider + + if TYPE_CHECKING: +- from collections.abc import Mapping, Set ++ from collections.abc import Generator, Mapping, Set + + C = TypeVar('C', bound=Callable) + +@@ -595,30 +595,29 @@ def api_get( + + return r.json() # type: ignore[no-any-return] + +- def _search(self, *, page: int = 1, **params: Any) -> list[dict[str, Any]]: +- # Extended params with page +- ext_params = {'page': page, **params} +- +- # query the server +- logger.info('Searching subtitles %r', ext_params) +- +- # GET request and add page information +- response = self.api_get('subtitles', ext_params) +- +- if not response or not response['data']: +- return [] +- +- ret = response['data'] ++ def _search(self, **params: Any) -> Generator[dict[str, Any], None, None]: ++ page = 1 ++ ++ while True: ++ # Extended params with page ++ ext_params = {'page': page, **params} ++ logger.info('Searching subtitles %r', ext_params) ++ # GET request and add page information ++ response = self.api_get('subtitles', ext_params) ++ if not response or not response['data']: ++ break ++ else: ++ yield from response['data'] + +- # check that the maximum number of pages has not been exceeded +- allow_more_pages = self.max_result_pages <= 0 or page < self.max_result_pages ++ page += 1 + +- # retrieve other pages maybe +- if allow_more_pages and 'total_pages' in response and page < response['total_pages']: +- # missing pages +- ret.extend(self._search(page=page + 1, **params)) ++ # check that the maximum number of pages has not been exceeded ++ if self.max_result_pages > 0 and page > self.max_result_pages: ++ break + +- return ret # type: ignore[no-any-return] ++ # check if we fetched all pages already ++ if 'total_pages' not in response or page > response['total_pages']: ++ break + + def _make_query( + self, +@@ -711,14 +710,11 @@ def query( + # add the language and query the server + criterion.update({'languages': ','.join(sorted(lang.opensubtitlescom for lang in languages))}) + +- # query the server +- responses = self._search(**criterion) +- + imdb_match = 'imdb_id' in criterion or 'show_imdb_id' in criterion + tmdb_match = 'tmdb_id' in criterion or 'show_tmdb_id' in criterion + + # loop over subtitle items +- for response in responses: ++ for response in self._search(**criterion): + # read single response + subtitle = self.subtitle_class.from_response( + response, diff --git a/srcpkgs/subliminal/template b/srcpkgs/subliminal/template index 94c5388fd01614..e9ed668508e15e 100644 --- a/srcpkgs/subliminal/template +++ b/srcpkgs/subliminal/template @@ -1,20 +1,21 @@ # Template file for 'subliminal' pkgname=subliminal -version=2.1.0 -revision=10 -build_style=python3-module -hostmakedepends="python3-setuptools" +version=2.5.0 +revision=1 +build_style=python3-pep517 +hostmakedepends="hatchling hatch-vcs" depends="python3 python3-guessit python3-babelfish python3-enzyme - python3-BeautifulSoup4 python3-requests python3-click python3-dogpile.cache - python3-stevedore python3-chardet python3-pysrt python3-six python3-appdirs - python3-rarfile python3-pytz" + python3-BeautifulSoup4 python3-requests python3-click python3-click-option-group + python3-dogpile.cache python3-stevedore python3-chardet python3-pytz + python3-rarfile python3-srt python3-pysubs2 python3-tomlkit python3-platformdirs + python3-defusedxml python3-knowit" short_desc="Subtitles, faster than your thoughts" maintainer="Orphaned " license="MIT" homepage="http://subliminal.readthedocs.org" changelog="https://github.com/Diaoul/subliminal/blob/master/HISTORY.rst" distfiles="${PYPI_SITE}/s/subliminal/subliminal-${version}.tar.gz" -checksum=c6439cc733a4f37f01f8c14c096d44fd28d75d1f6f6e2d1d1003b1b82c65628b +checksum=3c79507e9c304895fb41eb0039b11f5abcb9f77376fe550cb605932836dfadc3 do_check() { : # pypi tarball has no tests From 69fd62aa6a6845f6c5ee58c66f8c4f2d3ceecfb8 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 21:55:26 +0100 Subject: [PATCH 4/9] New package: python3-click-option-group-0.5.9 --- srcpkgs/python3-click-option-group/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-click-option-group/template diff --git a/srcpkgs/python3-click-option-group/template b/srcpkgs/python3-click-option-group/template new file mode 100644 index 00000000000000..dd14be96349b75 --- /dev/null +++ b/srcpkgs/python3-click-option-group/template @@ -0,0 +1,17 @@ +# Template file for 'python3-click-option-group' +pkgname=python3-click-option-group +version=0.5.9 +revision=1 +build_style=python3-pep517 +hostmakedepends="hatchling hatch-vcs" +depends="python3-click" +short_desc="Click-extension package that adds option groups missing in Click" +maintainer="John " +license="BSD-3-Clause " +homepage="https://github.com/click-contrib/click-option-group" +distfiles="${PYPI_SITE}/c/click-option-group/click_option_group-${version}.tar.gz" +checksum=f94ed2bc4cf69052e0f29592bd1e771a1789bd7bfc482dd0bc482134aff95823 + +post_install() { + vlicense LICENSE +} From 8a899fc0f75d2982049ecb9386a5cb2a7b265d64 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 22:12:23 +0100 Subject: [PATCH 5/9] New package: python3-srt-3.5.3 --- srcpkgs/python3-srt/template | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 srcpkgs/python3-srt/template diff --git a/srcpkgs/python3-srt/template b/srcpkgs/python3-srt/template new file mode 100644 index 00000000000000..07b0755b6c0343 --- /dev/null +++ b/srcpkgs/python3-srt/template @@ -0,0 +1,20 @@ +# Template file for 'python3-srt' +pkgname=python3-srt +version=3.5.3 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-setuptools" +depends="python3" +short_desc="Library for parsing, modifying, and composing SRT files" +maintainer="John " +license="MIT" +homepage="https://github.com/cdown/srt" +distfiles="${PYPI_SITE}/s/srt/srt-${version}.tar.gz" +checksum=4884315043a4f0740fd1f878ed6caa376ac06d70e135f306a6dc44632eed0cc0 +alternatives="srt:srt:/usr/bin/pysrt-srt" +conflicts="python3-pysrt<=1.1.2_8" + +post_install() { + mv ${DESTDIR}/usr/bin/{srt,python3-srt-srt} + vlicense LICENSE +} From 4f51594fc1eef88a66d61b4791514537d65ddc15 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 22:12:42 +0100 Subject: [PATCH 6/9] python3-pysrt: add alternatives to srt --- srcpkgs/python3-pysrt/template | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/srcpkgs/python3-pysrt/template b/srcpkgs/python3-pysrt/template index 767197547db907..b08069b7481a6e 100644 --- a/srcpkgs/python3-pysrt/template +++ b/srcpkgs/python3-pysrt/template @@ -1,7 +1,7 @@ # Template file for 'python3-pysrt' pkgname=python3-pysrt version=1.1.2 -revision=8 +revision=9 build_style=python3-module hostmakedepends="python3-setuptools" depends="python3 python3-chardet" @@ -11,4 +11,9 @@ license="GPL-3.0-only" homepage="https://github.com/byroot/pysrt" distfiles="${PYPI_SITE}/p/pysrt/pysrt-${version}.tar.gz" checksum=b4f844ba33e4e7743e9db746492f3a193dc0bc112b153914698e7c1cdeb9b0b9 +alternatives="srt:srt:/usr/bin/pysrt-srt" conflicts="python-pysrt>=0" + +post_install() { + mv ${DESTDIR}/usr/bin/{srt,python3-pysrt-srt} +} From 70403cc23117291eb6cf9f5de9c740af9c57d1a6 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 22:27:13 +0100 Subject: [PATCH 7/9] New package: python3-trakit-0.2.5 --- srcpkgs/python3-trakit/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-trakit/template diff --git a/srcpkgs/python3-trakit/template b/srcpkgs/python3-trakit/template new file mode 100644 index 00000000000000..de1593e27bbf81 --- /dev/null +++ b/srcpkgs/python3-trakit/template @@ -0,0 +1,17 @@ +# Template file for 'python3-trakit' +pkgname=python3-trakit +version=0.2.5 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-poetry-core" +depends="python3-babelfish python3-rebulk" +short_desc="Guess additional information from track titles" +maintainer="John " +license="MIT" +homepage="https://github.com/ratoaq2/trakit" +distfiles="${PYPI_SITE}/t/trakit/trakit-${version}.tar.gz" +checksum=d7e530ed82906eeadf7982d6a357883ae0490f34bbd18f8232b8fc5f250a4ae7 + +post_install() { + vlicense LICENSE +} From 44df3d8e08171f9547c772bb504d4acb6ed04856 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 25 Dec 2025 22:27:16 +0100 Subject: [PATCH 8/9] New package: python3-knowit-0.5.11 --- srcpkgs/python3-knowit/template | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 srcpkgs/python3-knowit/template diff --git a/srcpkgs/python3-knowit/template b/srcpkgs/python3-knowit/template new file mode 100644 index 00000000000000..8e555a4e6b2135 --- /dev/null +++ b/srcpkgs/python3-knowit/template @@ -0,0 +1,18 @@ +# Template file for 'python3-knowit' +pkgname=python3-knowit +version=0.5.11 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-poetry-core" +depends="python3-babelfish python3-enzyme python3-pymediainfo python3-yaml + python3-trakit" +short_desc="Know better your media files" +maintainer="John " +license="MIT" +homepage="https://pypi.org/project/knowit" +distfiles="${PYPI_SITE}/k/knowit/knowit-${version}.tar.gz" +checksum=9045d6640b1bd00fcc49f2f7e81992cdc6c7279767db199d7f3b63e2f5007b58 + +post_install() { + vlicense LICENSE +} From efb8369b5fad2986783fa02f57e40949c951921d Mon Sep 17 00:00:00 2001 From: John Date: Fri, 26 Dec 2025 11:44:19 +0100 Subject: [PATCH 9/9] New package: python3-pysubs2-1.8.0 --- srcpkgs/python3-pysubs2/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-pysubs2/template diff --git a/srcpkgs/python3-pysubs2/template b/srcpkgs/python3-pysubs2/template new file mode 100644 index 00000000000000..c689c42643e344 --- /dev/null +++ b/srcpkgs/python3-pysubs2/template @@ -0,0 +1,17 @@ +# Template file for 'python3-pysubs2' +pkgname=python3-pysubs2 +version=1.8.0 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-setuptools" +depends="python3" +short_desc="Library for editing subtitle files" +maintainer="John " +license="MIT" +homepage="https://github.com/tkarabela/pysubs2" +distfiles="${PYPI_SITE}/p/pysubs2/pysubs2-${version}.tar.gz" +checksum=3397bb58a4a15b1325ba2ae3fd4d7c214e2c0ddb9f33190d6280d783bb433b20 + +post_install() { + vlicense LICENSE.txt +}