Compare commits

...

94 Commits

Author SHA1 Message Date
000203bf3d bump flaresolverr 2025-09-16 05:10:18 +02:00
0e5ec1a1a9 bump beancount 2025-09-16 05:08:17 +02:00
24f2aa24d6 Revert "newer binutils for rclone"
This reverts commit 047c5d3312.
2025-08-27 12:30:13 +02:00
047c5d3312 newer binutils for rclone 2025-08-27 12:24:34 +02:00
5cdb624a95 bump flaresolverr 2025-08-25 15:41:09 +02:00
8cb1cbc674 add jackett 2025-08-21 18:41:45 +02:00
6dd236eb3c deps 2025-08-20 14:27:18 +02:00
b58c92b583 deps 2025-08-20 14:26:45 +02:00
2e0cb7e605 xvfb on headless 2025-08-20 14:25:43 +02:00
48f0cea3c9 more deps 2025-08-20 14:23:51 +02:00
0da5f29e34 add more keywords 2025-08-20 12:18:34 +02:00
8e19594216 fix digest 2025-08-20 11:18:12 +02:00
a65243087a fix flaresolverr profile 2025-08-20 11:16:56 +02:00
6a5e482ade fix default 2025-08-20 10:34:27 +02:00
4a5c3bb943 fix digestt 2025-08-20 10:11:49 +02:00
945b561fcf fix libreadline 2025-08-20 10:10:53 +02:00
5c06efea8b add dependencies 2025-08-20 10:05:45 +02:00
3e69566598 cleanup 2025-08-20 09:26:18 +02:00
41d07fcece fix executables 2025-08-20 09:24:37 +02:00
352a73843e add flaresolverr-bin 2025-08-19 17:46:13 +02:00
45ff0697e8 add cjk-fonts 2025-08-07 20:38:45 +02:00
f104c247bc media-video/jellyfin-ffmpeg add 7.1.1.7 2025-07-06 07:03:26 +02:00
e6eb038d7a fix manifest 2025-06-16 19:26:02 +02:00
e11f2eccda bump jellyfin-ffmpeg 2025-06-16 19:23:33 +02:00
54909f7090 bump jellyfin-ffmpeg 2025-06-07 15:20:49 +02:00
b7e4a521fd fix EAPI 2025-06-05 11:54:31 +02:00
5b16489120 remove old beancount 2025-06-04 18:40:17 +02:00
30964fa03f unmask requirements for hiera-eyaml 2025-05-31 21:56:53 +02:00
37ee1202f3 bump jellyfin-ffmpeg 2025-05-29 13:49:43 +02:00
5ac6ecd8bf bump unmask 2025-05-16 21:39:14 +02:00
98dc01849f bump jellyfin-ffmpeg 2025-05-16 17:42:36 +02:00
c8ee5c6b43 bump puppet unmasks 2025-05-09 16:16:47 +02:00
837d79a9bb enable dbus on rpi 2025-05-09 15:56:19 +02:00
8e80eb173f clean up profiles 2025-05-09 15:48:26 +02:00
4a8458991a cleanup and fix python ebuilds 2025-05-08 18:14:18 +02:00
db4eef60f7 upgrade zsnapper ebuild 2025-05-08 17:51:37 +02:00
4f01a68e36 attempt to fix sau... 2025-05-07 18:45:37 +02:00
678ff7ec78 bump jellyfin-ffmpeg 2025-05-01 14:07:59 +02:00
728b97f464 fix mkvtoolnix on server profile 2025-04-28 06:58:38 +02:00
9a649d3723 add beangulp 2025-04-25 12:29:36 +02:00
b0e79963d0 add new beancount 2025-04-25 11:29:59 +02:00
c4e3bc469b bump jellyfin-ffmpeg 2025-04-19 06:38:01 +02:00
a41d4ecf0e bump python-mpv-jsonipc and nvtop 2025-03-30 07:33:52 +02:00
bdcc62de5d bump jellyfin-mpv-shim 2025-03-18 22:00:56 +01:00
4a0e4a57ee bump jellyfin-apiclient-python 2025-03-18 21:59:06 +01:00
4225b557a0 bump sau 2025-03-16 18:36:16 +01:00
fae7b25c62 unmask more ghostty packages 2025-03-14 17:48:50 +01:00
d81ae44894 switch foot to ghostty 2025-03-13 20:49:42 +01:00
484935071f bump sau 2025-02-28 07:58:59 +01:00
11b357c77a fix downgrade 2025-02-19 11:55:51 +01:00
fa097bfc5c downgrade beancount 2025-02-19 11:45:31 +01:00
5dec6cec51 bump jellyfin-ffmpeg 2025-01-22 20:56:23 +01:00
6227fd2749 bump beancount 2025-01-20 22:00:23 +01:00
e6471e84b1 fix unmask 2025-01-07 08:37:47 +01:00
39d9a5a9e4 unmask newer mkvtoolnix since current stable is broken
https://bugs.gentoo.org/947266
2025-01-05 06:58:42 +01:00
c89a6a7b01 unmask ghostty 2024-12-31 16:47:48 +01:00
8367972879 add nextcloud client with netrc fix
https://github.com/nextcloud/desktop/pull/7698
2024-12-28 14:06:10 +01:00
e952dfceb4 use stable calibre for now 2024-12-27 18:41:01 +01:00
c7a77f065a bump jellyfin-ffmpeg 2024-12-15 07:29:37 +01:00
71f4007454 fix package move 2024-11-19 21:54:53 +01:00
42b93d27c4 bump jellyfin-ffmpeg 2024-11-14 16:24:18 +01:00
1bb65b2512 bump jellyfin-ffmpeg 2024-11-12 06:56:21 +01:00
eb0ef50036 accept any revision of mesa-24.2.6 2024-11-10 06:06:42 +01:00
18e68472a4 bump unmask 2024-11-09 19:55:25 +01:00
049fec2449 build opus support for servers 2024-11-08 21:24:53 +01:00
a806c7cb67 bump sau 2024-11-06 09:09:37 +01:00
edafc3f18c unmask newer mesa due to intel headache 2024-11-06 08:46:51 +01:00
95f22b2859 restore thor 2024-10-16 18:03:46 +02:00
1965532271 mask thor 2024-10-12 08:19:59 +02:00
2ccd7af262 fix sqlite dependency 2024-10-07 23:19:23 +02:00
dcbb644a6c build libssh as a static lib as required by systemd 2024-09-22 12:07:55 +02:00
7f367ee687 attempt to fix cargo-c build failure with new rust 2024-09-15 06:59:03 +02:00
4e0d8afcf6 add recommended use flag for desktop 2024-09-02 16:19:04 +02:00
4868542e84 add qml... 2024-09-01 14:46:55 +02:00
0fe07e8e66 use libproxy on desktop 2024-09-01 09:57:05 +02:00
b5965eaefb add support for qt6 2024-09-01 06:20:57 +02:00
748022bbac bump sau 2024-08-30 09:23:35 +02:00
e2e6d0ef44 bump sau 2024-08-29 11:00:57 +02:00
8dbbfffaab bump sau 2024-08-18 16:30:02 +02:00
6e2dd0b6f2 bump sau 2024-08-18 07:36:55 +02:00
f9e90e66d3 bump sau 2024-08-14 17:01:51 +02:00
8c09fd6c45 bump sau 2024-08-14 08:42:43 +02:00
401705e143 bump jellyfin-apiclient-python 2024-08-11 08:26:11 +02:00
c2e037e350 enable pipewire sound server 2024-08-01 19:57:26 +02:00
7075d34710 install pipewire on desktop 2024-07-30 07:33:26 +02:00
e2f55d448a fix keyword after package move 2024-07-28 10:12:06 +02:00
6e2f9b8c60 fix dependency on gentoolkit 2024-07-28 08:29:47 +02:00
f1c31b2acf bump sau 2024-07-27 16:47:00 +02:00
57e2862c2e bump sau 2024-07-26 13:13:13 +02:00
8526d23dce bump sau 2024-07-26 11:26:54 +02:00
91f6ce9f2f bump sau 2024-07-26 11:16:21 +02:00
a1284a8431 bump jellyfin-ffmpeg 2024-07-26 08:19:31 +02:00
40e8ed1f8d bump sau 2024-07-24 18:48:13 +02:00
405cb1de61 keyword nodejs again 2024-07-20 11:15:51 +02:00
84 changed files with 657 additions and 1095 deletions

View File

@ -1,3 +1,3 @@
DIST feffe-pwgen-1.0.tar.gz 6392 BLAKE2B 104969c8da4eaeede7889fae4d1364b7fba660866cfecaf1342db44cef36da6b797e2711a372b2e6a807494288941c6d02c3063a168f399b721d32326643a2b9 SHA512 9111b3604d2d9166a65a3f641b0d64196e4a8f700c60a82072dac8d6e3bdc7c8f281cb5c278fac59d38b30d50614334cb0b28b5835cecfaf70d045a4df85eff0
EBUILD feffe-pwgen-1.0.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759
EBUILD feffe-pwgen-9999.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759
EBUILD feffe-pwgen-1.0-r1.ebuild 650 BLAKE2B b3d3642dab1b561939288d174d5d0d4f4f708bb89d13802ea613d44fac2f1d1c09593fe1dcfe1159824960beedf6b2a1f2381e0480b5657392b83e49b6b11366 SHA512 a0049bca146acad6d374e997ee0b00be6de1121eee8ea31c98899a07648671415c97e44c756dd2ee66c87c20c58e4d955385135d37a06230155b02985647d615
EBUILD feffe-pwgen-9999.ebuild 650 BLAKE2B b3d3642dab1b561939288d174d5d0d4f4f708bb89d13802ea613d44fac2f1d1c09593fe1dcfe1159824960beedf6b2a1f2381e0480b5657392b83e49b6b11366 SHA512 a0049bca146acad6d374e997ee0b00be6de1121eee8ea31c98899a07648671415c97e44c756dd2ee66c87c20c58e4d955385135d37a06230155b02985647d615

View File

@ -1,9 +1,10 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -20,6 +21,7 @@ else
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,9 +1,10 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -20,6 +21,7 @@ else
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,2 +1,2 @@
DIST beancount-2.3.6.tar.gz 1720239 BLAKE2B 769aa27a9edc201e33a85f92780b4140b1758a35ca865255183bdcaf4c515ba3bf4c6711aa2842c9219027a44a7cc334c39b48eb36f5145caa689ba90cda64d5 SHA512 52b65f99753e9473aae7736419d104e46b422b33f854170cc0242a95c1d12483aae95264138f81d28c9a7b50ca961e75163cce83868db5bcc9afe7d2337f3036
EBUILD beancount-2.3.6.ebuild 613 BLAKE2B 8654c6bbd2dcc897109b75503ccf4f0f53fbff607d521f837470a56d74e35c3962e5d338330ea602efeb19a495fc026326896ac89dc76d73af58ca249cc513cb SHA512 4bee9e1dd6c8bd63a862d161d38b370f029e05d990054b5c8e7360615acc4b82bf77b1788570fc84763011a21aa47a65971dc1a30fa692151ced0070b43be09f
DIST beancount-3.2.0.tar.gz 552057 BLAKE2B 6afe8b5ff588b9fb755f0495db39cc7976561b20e6d70ce3b57a12b746a143f007ef1f9b6cdd9048a01e3a0a99ad5ebf291dcf9aeee0f8307db4292c33deb15d SHA512 df57314cd1994189b37611bb912553fb6c8e8e650b69cf05c723567914459c1b0474f1fa3ab55f7d4b4121fb742eeb2759b4abfb1d71ef26f6e2e7ca8aa58861
EBUILD beancount-3.2.0.ebuild 667 BLAKE2B 11e71f944bf954996c9897f5c55752d511173f2739ccc7c1e4c7d54b2f160c21faa0f4e24c5f8e1a283a1953aaa9ae03e75a63a14be25231f03013deef5c1eac SHA512 35b1309a17325eb2792b9b2018ab4eaa4f0ecf372e37744975a8d75d082b83a35f3281b68ed8ce74661a428bfe0710e276d0ffee7be33f09828ebf6f7c01aa53

View File

@ -3,6 +3,8 @@
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
@ -18,11 +20,11 @@ KEYWORDS="amd64 ~arm64"
DEPEND="
dev-python/python-dateutil
dev-python/click
dev-python/pytest
dev-python/python-magic
dev-python/bottle"
dev-python/regex
dev-python/mypy
dev-python/python-magic"
RDEPEND="${DEPEND}"
BDEPEND=""
# Because I have no idea...
RESTRICT="test"
RESTRICT="mirror test"

View File

@ -0,0 +1,2 @@
DIST beangulp-0.2.0.tar.gz 224326 BLAKE2B 078e37cb7eb5ddeed704e4be57f3dffa0eb3c16e31710db63339876c9cbee712e93475fd2c03b2b28b10c837eedb92a0a020bda168a2dd5dd43caa7ab40d53d9 SHA512 7c4fbe98068dacff4726f08cb4e3b2403ed23e5322244c7f07cd245b187edf6bc80fc3274c3171c66f554472e1f2ac9ee8dd23eb437bf892fe2224578b6be2d3
EBUILD beangulp-0.2.0.ebuild 814 BLAKE2B 6ef6d6dca8f171fd82a8a2c333b532fe78ddc1ce5e05e82d2a27c734d690ef4411dc11746973e10ea88a96162cc4a75c1aee7ad12d5a3fc29b6cfc293f640abe SHA512 91e40a3a69f02d8c76deccfb7a0ed956232aefd0f3baa7e187e3fa62840a1259a1610c1cc1198894bb9f121c349fcc6dd75494f7cb5d39220badb08e10d4bb17

View File

@ -0,0 +1,40 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
#DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Importers framework for Beancount"
HOMEPAGE="https://github.com/beancount/beangulp"
SRC_URI="https://github.com/beancount/beangulp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64"
DEPEND="
app-office/beancount
dev-python/beautifulsoup4
dev-python/chardet
dev-python/click
dev-python/deprecation
dev-python/lxml
dev-python/python-magic"
#petl
RDEPEND="${DEPEND}"
BDEPEND=""
# Because I have no idea...
RESTRICT="mirror test"
src_prepare() {
eapply_user
rm -rf "${WORKDIR}/${PF}/examples"
rm -rf "${WORKDIR}/${PF}/tools"
}

View File

@ -1 +1 @@
EBUILD adbb-9999.ebuild 658 BLAKE2B 5f0c977727e8de4b3b68c20029b1c056fdcd14ca532605c8fdbaf23cc578456ffe206447be6665eab47c9e630dc890ee663c2035744c8070b782aa0edb3d7dc6 SHA512 64b719dfd170a60ab9405517bda1b2fce1eebfcfe5ff1f6a086ffaa7bf49abfb9bdacd3eab3ec7a215af0cdd9f0ad34ddd6573253fc2150a6f96cc973902a65c
EBUILD adbb-9999.ebuild 713 BLAKE2B f4502f467e4e9f3a926abdedc4e926be07f9b6fea1e205980372aef10efbf521df9db7f0805b692aaf848e55203e03beaa461aa5faca7bc744083b7cb6c7eefb SHA512 98ae264627c6000619766914e21afa1864995bb9724bac24ef34af158db05cb43c0e382e841153789d22734eab00c0efa11342d988532d1348337fb370fec700

View File

@ -1,8 +1,9 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
@ -13,13 +14,14 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/winterbird-code/adbb.git"
inherit git-r3
KEYWORDS="~amd64"
#else
#SRC_URI="https://gitea.fulh.ax/feffe/zsnapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
#S="${WORKDIR}/zsnapper"
#KEYWORDS="amd64"
else
SRC_URI="https://github.com/winterbird-code/adbb/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/adbb"
KEYWORDS="amd64"
fi
RESTRICT="mirror"
LICENSE="GPL-3"
SLOT="0"
IUSE=""

View File

@ -1,2 +1,3 @@
DIST jellyfin-apiclient-python-1.9.2.tar.gz 29535 BLAKE2B ba12075a54df646c02fe437c576e3a19f38082080e6c136d88abf45f2eaba5d308259f16df46b4c7a5d76978ebf3392111fd0b3b3d2ee2c9496acf64fb8553b6 SHA512 43f1850c2904f200a9055b8f579534c486f0f29ca04004bd5cda58f6d2a24275a5e4ceb356344335a660f53cc81f47aa4749c048642e5f4e05b640e11a574e37
EBUILD jellyfin-apiclient-python-1.9.2.ebuild 729 BLAKE2B 26ebb0e1eb985405dc609c83f93299e5c2b6f7c2d39d810a4dc221f35c3757b4c8ad0fcd45e016600dfbc27a76290733e4872a5bb1a2f5fd6bede9988bce77f4 SHA512 3e95bb065fb5fda303734d91b0cf236fd59941e581474421a0b48f903b4a318b61fb259ca775e631ca398b155229e6b7030865617d46e94decba99e23f0fe589
AUX set_build_backend.patch 286 BLAKE2B 4baa101d9c9943760520a976a199f9a41e868a45b993ade42866e78e137d25c7a20810344b84c1a6f97bcba693a4ba4830c0fbc2ff77d22b521458172d4d7308 SHA512 be3e0ed5094375be9f1d3e04e332118e9b902a17e644ded3c0554e48f116a2b9655f2e6988882f6b6cf23926d1a91167f9de0ea164634cbed1bc194b5e6f1e88
DIST jellyfin-apiclient-python-1.11.0.tar.gz 36454 BLAKE2B 057dacb9640a3cc938ddafc4503b472bc4b690c86c01e706bdf53289d065455ea03d0b4bf37173b5e2195615c79d6a5acc5e8d633c6812f9d9836629d8e8492c SHA512 980ff946f2cdd8ff2e0628a0bf3e245c3fa708d8b92d505e5de4b062a8328cea68cb36451467b87b7230a65b27cb6f29b814f18ec972e322855a2dc43e307693
EBUILD jellyfin-apiclient-python-1.11.0.ebuild 821 BLAKE2B 64b2e58d6d07d2dbd615dc514dae19eae13decfa23bb09b7cc80ce2ffa3f101a74463028da1ef2d18eb7ba84bae578e0366b8f5de90815264a3812697e4f0bdc SHA512 472d627bd123e07adc0978e26c6017f682db80f906af4cc8d3f6d999a15a679f00ef9a914d7e79c6fe77092b8d5b011e8e69b5f4aeaf74d3493d10a15effb3bd

View File

@ -0,0 +1,11 @@
diff --git a/pyproject.toml.orig b/pyproject.toml
index dece500..89c9ad9 100644
--- a/pyproject.toml.orig
+++ b/pyproject.toml
@@ -1,5 +1,6 @@
[build-system]
requires = [ "setuptools>=61.0.0",]
+build-backend = "setuptools.build_meta"
[project]
name = "jellyfin-apiclient-python"

View File

@ -1,8 +1,9 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
@ -18,6 +19,11 @@ else
KEYWORDS="amd64"
fi
RESTRICT="mirror test"
PATCHES=(
"${FILESDIR}/set_build_backend.patch"
)
LICENSE="GPL-3"
SLOT="0"
@ -27,7 +33,6 @@ DEPEND="
dev-python/requests
dev-python/urllib3
dev-python/websocket-client
dev-python/six
dev-python/certifi
"
RDEPEND="${DEPEND}"

View File

@ -1,2 +1,2 @@
DIST python-mpv-jsonipc-1.2.0.tar.gz 11949 BLAKE2B 7f8c02de20e6405e7bf9b5950b240bf78e21e41d1eef52726a50181556607090e418f1775fa830de191c8af47ef78c145c37efdf213bd9255915bd34a20a86e8 SHA512 036d4cc1ee5b08049a64b39847bddebf7061c49c2178f78134e8187fabea38508e1e52f4cde6f6e5bb8fbc5f89faaebedbc86f5ff647d59a7f3e003c3d996e3f
EBUILD python-mpv-jsonipc-1.2.0.ebuild 681 BLAKE2B bb4d5d11b7ee1f10c0de51cd8546491f23fae7334b47a2d15193c925737a9dd0d2cf1f3c91d0a96aabe574daca51df730a99244504b0afcd1ebbfae1bf7ebb36 SHA512 7732794d5123f24e5d5243902f479e4bfe852659c56f2c2c900c49b4ad2944020a24f622d9405636b1acaccf4a328578df4d393d80f677ef701d599211853d8b
DIST python-mpv-jsonipc-1.2.1.tar.gz 11961 BLAKE2B dc80bf634178a630971ab36f99301285743542c17e11e232f46dd6f34ce212890a1b45710431d83fa0ceb98cd08429c800e3f73245274e664ffe73890721db40 SHA512 e55e4a52ea36d5d9ef0447ccd1da367c04e6487edce233902c1a1ec45db4aa29006ddd4528ae160f449811dccbc26e7efc6011f69d7fb40b26a74e8e0ec0467e
EBUILD python-mpv-jsonipc-1.2.1.ebuild 681 BLAKE2B bb4d5d11b7ee1f10c0de51cd8546491f23fae7334b47a2d15193c925737a9dd0d2cf1f3c91d0a96aabe574daca51df730a99244504b0afcd1ebbfae1bf7ebb36 SHA512 7732794d5123f24e5d5243902f479e4bfe852659c56f2c2c900c49b4ad2944020a24f622d9405636b1acaccf4a328578df4d393d80f677ef701d599211853d8b

View File

@ -1,3 +0,0 @@
DIST bento4-1.6.0-639-7-Omega.tar.gz 5481533 BLAKE2B 0636f0c94ebb3246c8720e120f3b505e4a82ed2e37d9ed44351875dcf3fab8bc2e53b83e0be43fb711aac3144d6df3d8ae2ead24fcd55bd116f3c54f07e3c19f SHA512 bf257e5831eec44db944d1313858262c1ba32b6e67564bb8f809a1aa0fc8a55faaaac2357d80f1ce2e794914f6bec5263548e77802db2b9e52998af2b6276809
DIST kodi-inputstream-adaptive-20.3.18.tar.gz 779751 BLAKE2B 201702996b976fde820c8df6abe43b04977946e4ed0d13752e5713db1ca944146915fcdb60b1d6ebdbd42b57678a8f518bc2b683cfc0dc7ba196be85e0cfbef6 SHA512 87435271bedc1e0371356d953a170233c3a259c773f0caec7bf314c23432925215e138c5cac83da1b016fcfd0c9c1a6cbd18c87911a7ef990bc7199ffe2a67de
EBUILD kodi-inputstream-adaptive-20.3.18.ebuild 1074 BLAKE2B 5c000ed0126ea920bada537101c440164a7acfc21ddb9243c8ba875cb6ac132b07df3faa4aacf9e904d42c12eafbcc689d5c8336e8572d6842629c0c1a882d51 SHA512 d277c9361c9a995614af3c74c0e9d0556571f7565c1968d0ce16afa078a720d291be4f4d48fec631c855f0fe46a77b27185e3661118ef79b3258da4cc7fe32e2

View File

@ -1,49 +0,0 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit kodi-addon
DESCRIPTION="Kodi's Adaptive inputstream addon"
HOMEPAGE="https://github.com/xbmc/inputstream.adaptive.git"
CODENAME="Nexus"
BENTO4_VERSION="1.6.0-639-7-Omega"
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/xbmc/inputstream.adaptive/archive/${PV}-${CODENAME}.tar.gz -> ${P}.tar.gz
https://github.com/xbmc/Bento4/archive/${BENTO4_VERSION}.tar.gz -> bento4-${BENTO4_VERSION}.tar.gz"
S="${WORKDIR}/inputstream.adaptive-${PV}-${CODENAME}"
LICENSE="GPL-2"
SLOT="0"
RESTRICT="!test? ( test )"
IUSE="test"
COMMON_DEPEND="
dev-libs/expat
=media-tv/kodi-20*
"
DEPEND="
${COMMON_DEPEND}
test? ( dev-cpp/gtest )
"
RDEPEND="
${COMMON_DEPEND}
"
src_unpack() {
unpack ${P}.tar.gz
}
src_configure() {
local mycmakeargs=(
-DBUILD_TESTING=$(usex test)
-DENABLE_INTERNAL_BENTO4=ON
-DBENTO4_URL="${DISTDIR}/bento4-${BENTO4_VERSION}.tar.gz"
-DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/$(get_libdir)/kodi"
-Wno-dev
)
cmake_src_configure
}

View File

@ -1,7 +0,0 @@
AUX kodi-inputstream-ffmpegdirect-20.5.0-Fix-use-after-free-in-TimeshiftSegment.patch 1001 BLAKE2B ee4624253c0ab6bddd22a8ce5da969eb4e7acd22eb658eaf091fc826f714aa1314898b26a283b4e64233d4c5e5f4766a465bbbea4d4fe7b1997740a46f375d91 SHA512 608b45bf89b1430b6d25cf75f402567c1615e6457c20997efe7175aa631501eb967b5961b5dd9ff1b373de32c5d88f9a4b6da0cb92ef1866dfd81d149938e8aa
AUX kodi-inputstream-ffmpegdirect-20.5.0-Get-extradata-with-extract_extradata-BSF.patch 9834 BLAKE2B d26b4a56ddad02488868c94670440ab369a2016416a606b9f05386b615367028379279e270771d6635c69370e670178bd4dc80d4296d8ea69165b297708ded38 SHA512 77964f8d726e6bad4ea20fc9c5320f36a20047d9d9b999cc154f78e1f38612624a742c23a45ae060289e8507cc122fbd828b6f460e9449fa3e44bbc22ac61c14
AUX kodi-inputstream-ffmpegdirect-20.5.0-ffmpeg5.patch 13078 BLAKE2B 50fa84e7790b06960177cc48a097fca12d1f984bd41db335f98e01ebd2ecca5c4fad8e917af5af8a6d8bcc3408856542d44784834fecbd119a82ee75ec243df4 SHA512 63427c395dea7533c0909cbc43fecf8e14998bb108da50a43c2e755f8fa94cdd74751ce4b09ebc8db1780eaaf1fc717f5e4ed156443f78c9fdd6fb3bf730482b
AUX kodi-inputstream-ffmpegdirect-20.5.0-ffmpeg6.patch 1467 BLAKE2B 1a82346927a978c059e0d69bde63451a5463fec0035b8f32ea735a1fd26374254aec3f4b60041f13a49993542f9244ebf232c734b4aff5c5cece0d1bdde2320f SHA512 6c385aad0afa07379235ee7bd70a11e434befabde46dd5185c90ad85258d4ac5451c8426354f4d6e1e16b4e7c6e6a267843c4abba9a2e6601677c2e7023ce9b1
AUX kodi-inputstream-ffmpegdirect-20.5.0-gcc13.patch 1260 BLAKE2B 601ad71dfe4859e3fda621ce58f5687941e454214295514082e4f463bcc886588b83624b7afb28e204d9479c27ea9ed0bbe3b8b845716ce57cde4df164fbf8a8 SHA512 fbeaa550c562b6c29555c88108813cc6f19699506395e3efe9de54022676ebf3e6da893dde8803ea4d84f6b81563a886aac7c62ddeaab8e427d5e48dd3351eba
DIST kodi-inputstream-ffmpegdirect-20.5.0.tar.gz 289362 BLAKE2B 2e8c63bd47d54f84cade2acb092a8e3ef11c31170071f66b5f22d4aa6fd27992a22b19ecb8070ce7d952f80882fe617e5eaed70dcf325b9bdb579220ddd59688 SHA512 9db8e25f04400635e13cf7c79f7079be9c7ffbf427423abcfc449dcd06f6259dcf9ed1ad1eae1563db239978c8399e054e7c6adcbebb5cc70c4de1c01643d074
EBUILD kodi-inputstream-ffmpegdirect-20.5.0-r1.ebuild 1041 BLAKE2B 1da6ae5dffb038656247fa85e5ab6a495519dbf40b732c9e9a0fdba6fedf8b23c9a231a0a0861c8891ddb2a788cfe9b236d5be853021ae3f7f70fb1fa016daec SHA512 a0a53583c144d39edc7958be3ecd2eebfbfd8b60ccc048b360f0d6fc53386d08569885851c2e4d5962e1837530073b7a53a1df388312fb005ad4768271926a43

View File

@ -1,25 +0,0 @@
From e6541a98b64631836336de17e57efa8e8e0b8425 Mon Sep 17 00:00:00 2001
From: Vasyl Gello <vasek.gello@gmail.com>
Date: Sat, 15 Oct 2022 16:09:20 +0000
Subject: [PATCH] Fix use-after-free in TimeshiftSegment
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
---
src/stream/TimeshiftSegment.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/stream/TimeshiftSegment.cpp b/src/stream/TimeshiftSegment.cpp
index 9323a44a..9e1cd09c 100644
--- a/src/stream/TimeshiftSegment.cpp
+++ b/src/stream/TimeshiftSegment.cpp
@@ -90,8 +90,8 @@ void TimeshiftSegment::AddPacket(DEMUX_PACKET* packet)
m_packetBuffer.emplace_back(newPacket);
int secondsSinceStart = 0;
- if (packet->pts != STREAM_NOPTS_VALUE && packet->pts > 0)
- secondsSinceStart = packet->pts / STREAM_TIME_BASE;
+ if (newPacket->pts != STREAM_NOPTS_VALUE && newPacket->pts > 0)
+ secondsSinceStart = newPacket->pts / STREAM_TIME_BASE;
if (secondsSinceStart != m_lastPacketSecondsSinceStart)
{

View File

@ -1,290 +0,0 @@
From 07ea26d7ce6bde1350ceb15380f4908da454f004 Mon Sep 17 00:00:00 2001
From: Vasyl Gello <vasek.gello@gmail.com>
Date: Sat, 15 Oct 2022 16:17:48 +0000
Subject: [PATCH] ffmpeg5: Get extradata with extract_extradata BSF
Fixes the transport stream playback failures described in
https://bugs.debian.org/1016925
@Rogo95 made an excellent technical analysis of the root cause
and reported that to the bug thread.
Later on, James Almer (@jamrial) suggested the solution to use
extract_extradata bitstream filter to replace the removed split()
function.
Finally, I adapted the following code snippet:
https://gist.github.com/moonpfe/f6795d51294d91ee0f82f62ff6985db0
to Kodi and tested it by playing the affected files in TS format.
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
---
src/stream/FFmpegStream.cpp | 222 ++++++++++++++++++++++++++++++------
src/stream/FFmpegStream.h | 2 +
2 files changed, 192 insertions(+), 32 deletions(-)
diff --git a/src/stream/FFmpegStream.cpp b/src/stream/FFmpegStream.cpp
index f2140a17..95d1da83 100644
--- a/src/stream/FFmpegStream.cpp
+++ b/src/stream/FFmpegStream.cpp
@@ -29,6 +29,7 @@
#endif
extern "C" {
+#include <libavcodec/bsf.h>
#include <libavutil/dict.h>
#include <libavutil/opt.h>
}
@@ -1586,6 +1587,168 @@ bool FFmpegStream::SeekTime(double time, bool backwards, double* startpts)
return false;
}
+int FFmpegStream::GetPacketExtradata(const AVPacket* pkt, const AVCodecParserContext* parserCtx, AVCodecContext* codecCtx, uint8_t **p_extradata)
+{
+ int extradata_size = 0;
+
+ if (!pkt || !p_extradata)
+ return 0;
+
+ *p_extradata = nullptr;
+
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 0, 100)
+ /* extract_extradata bitstream filter is implemented only
+ * for certain codecs, as noted in discussion of PR#21248
+ */
+
+ AVCodecID codecId = codecCtx->codec_id;
+
+ // clang-format off
+ if (
+ codecId != AV_CODEC_ID_MPEG1VIDEO &&
+ codecId != AV_CODEC_ID_MPEG2VIDEO &&
+ codecId != AV_CODEC_ID_H264 &&
+ codecId != AV_CODEC_ID_HEVC &&
+ codecId != AV_CODEC_ID_MPEG4 &&
+ codecId != AV_CODEC_ID_VC1 &&
+ codecId != AV_CODEC_ID_AV1 &&
+ codecId != AV_CODEC_ID_AVS2 &&
+ codecId != AV_CODEC_ID_AVS3 &&
+ codecId != AV_CODEC_ID_CAVS
+ )
+ // clang-format on
+ return 0;
+
+ AVBSFContext *bsf = nullptr;
+ AVPacket *dst_pkt = nullptr;
+ const AVBitStreamFilter *f;
+ AVPacket *pkt_ref = nullptr;
+ int ret = 0;
+ uint8_t *ret_extradata = nullptr;
+ size_t ret_extradata_size = 0;
+
+ f = av_bsf_get_by_name("extract_extradata");
+ if (!f)
+ return 0;
+
+ bsf = nullptr;
+ ret = av_bsf_alloc(f, &bsf);
+ if (ret < 0)
+ return 0;
+
+ bsf->par_in->codec_id = codecCtx->codec_id;
+
+ ret = av_bsf_init(bsf);
+ if (ret < 0)
+ {
+ av_bsf_free(&bsf);
+ return 0;
+ }
+
+ dst_pkt = av_packet_alloc();
+ pkt_ref = dst_pkt;
+
+ ret = av_packet_ref(pkt_ref, pkt);
+ if (ret < 0)
+ {
+ av_bsf_free(&bsf);
+ av_packet_free(&dst_pkt);
+ return 0;
+ }
+
+ ret = av_bsf_send_packet(bsf, pkt_ref);
+ if (ret < 0)
+ {
+ av_packet_unref(pkt_ref);
+ av_bsf_free(&bsf);
+ av_packet_free(&dst_pkt);
+ return 0;
+ }
+
+ ret = 0;
+ while (ret >= 0)
+ {
+ ret = av_bsf_receive_packet(bsf, pkt_ref);
+ if (ret < 0)
+ {
+ if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF)
+ break;
+
+ continue;
+ }
+
+ ret_extradata = av_packet_get_side_data(pkt_ref,
+ AV_PKT_DATA_NEW_EXTRADATA,
+ &ret_extradata_size);
+ if (ret_extradata &&
+ ret_extradata_size > 0 &&
+ ret_extradata_size < FF_MAX_EXTRADATA_SIZE)
+ {
+ *p_extradata = (uint8_t*)av_malloc(ret_extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!*p_extradata)
+ {
+ Log(LOGLEVEL_ERROR,
+ "%s - failed to allocate %zu bytes for extradata",
+ __FUNCTION__,
+ ret_extradata_size);
+
+ av_packet_unref(pkt_ref);
+ av_bsf_free(&bsf);
+ av_packet_free(&dst_pkt);
+ return 0;
+ }
+
+ Log(LOGLEVEL_DEBUG,
+ "%s - fetching extradata, extradata_size(%zu)",
+ __FUNCTION__,
+ ret_extradata_size);
+
+ memcpy(*p_extradata, ret_extradata, ret_extradata_size);
+ memset(*p_extradata + ret_extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ extradata_size = ret_extradata_size;
+
+ av_packet_unref(pkt_ref);
+ break;
+ }
+
+ av_packet_unref(pkt_ref);
+ }
+
+ av_bsf_free(&bsf);
+ av_packet_free(&dst_pkt);
+#else
+ if (codecCtx && parserCtx && parserCtx->parser && parserCtx->parser->split)
+ extradata_size = parserCtx->parser->split(codecCtx, pkt->data, pkt->size);
+
+ if (extradata_size <= 0 || extradata_size >= FF_MAX_EXTRADATA_SIZE)
+ {
+ Log(LOGLEVEL_DEBUG, "%s - fetched extradata of weird size %zd",
+ __FUNCTION__, extradata_size);
+ return 0;
+ }
+
+ *p_extradata = (uint8_t*)av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!*p_extradata)
+ {
+ Log(LOGLEVEL_ERROR,
+ "%s - failed to allocate %zd bytes for extradata",
+ __FUNCTION__,
+ extradata_size);
+ return 0;
+ }
+
+ Log(LOGLEVEL_DEBUG,
+ "%s - fetching extradata, extradata_size(%zd)",
+ __FUNCTION__,
+ extradata_size);
+
+ memcpy(*p_extradata, pkt->data, extradata_size);
+ memset(*p_extradata + extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+#endif
+
+ return extradata_size;
+}
+
void FFmpegStream::ParsePacket(AVPacket* pkt)
{
AVStream* st = m_pFormatContext->streams[pkt->stream_index];
@@ -1617,43 +1780,38 @@ void FFmpegStream::ParsePacket(AVPacket* pkt)
if (parser->second->m_parserCtx &&
parser->second->m_parserCtx->parser &&
- parser->second->m_parserCtx->parser->split &&
!st->codecpar->extradata)
{
- int i = parser->second->m_parserCtx->parser->split(parser->second->m_codecCtx, pkt->data, pkt->size);
- if (i > 0 && i < FF_MAX_EXTRADATA_SIZE)
+ int i = GetPacketExtradata(pkt,
+ parser->second->m_parserCtx,
+ parser->second->m_codecCtx,
+ &st->codecpar->extradata);
+ if (i > 0)
{
- st->codecpar->extradata = (uint8_t*)av_malloc(i + AV_INPUT_BUFFER_PADDING_SIZE);
- if (st->codecpar->extradata)
- {
- Log(LOGLEVEL_DEBUG, "CDVDDemuxFFmpeg::ParsePacket() fetching extradata, extradata_size(%d)", i);
- st->codecpar->extradata_size = i;
- memcpy(st->codecpar->extradata, pkt->data, i);
- memset(st->codecpar->extradata + i, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ st->codecpar->extradata_size = i;
- if (parser->second->m_parserCtx->parser->parser_parse)
+ if (parser->second->m_parserCtx->parser->parser_parse)
+ {
+ parser->second->m_codecCtx->extradata = st->codecpar->extradata;
+ parser->second->m_codecCtx->extradata_size = st->codecpar->extradata_size;
+ const uint8_t* outbufptr;
+ int bufSize;
+ parser->second->m_parserCtx->flags |= PARSER_FLAG_COMPLETE_FRAMES;
+ parser->second->m_parserCtx->parser->parser_parse(parser->second->m_parserCtx,
+ parser->second->m_codecCtx,
+ &outbufptr, &bufSize,
+ pkt->data, pkt->size);
+ parser->second->m_codecCtx->extradata = nullptr;
+ parser->second->m_codecCtx->extradata_size = 0;
+
+ if (parser->second->m_parserCtx->width != 0)
{
- parser->second->m_codecCtx->extradata = st->codecpar->extradata;
- parser->second->m_codecCtx->extradata_size = st->codecpar->extradata_size;
- const uint8_t* outbufptr;
- int bufSize;
- parser->second->m_parserCtx->flags |= PARSER_FLAG_COMPLETE_FRAMES;
- parser->second->m_parserCtx->parser->parser_parse(parser->second->m_parserCtx,
- parser->second->m_codecCtx,
- &outbufptr, &bufSize,
- pkt->data, pkt->size);
- parser->second->m_codecCtx->extradata = nullptr;
- parser->second->m_codecCtx->extradata_size = 0;
-
- if (parser->second->m_parserCtx->width != 0)
- {
- st->codecpar->width = parser->second->m_parserCtx->width;
- st->codecpar->height = parser->second->m_parserCtx->height;
- }
- else
- {
- Log(LOGLEVEL_ERROR, "CDVDDemuxFFmpeg::ParsePacket() invalid width/height");
- }
+ st->codecpar->width = parser->second->m_parserCtx->width;
+ st->codecpar->height = parser->second->m_parserCtx->height;
+ }
+ else
+ {
+ Log(LOGLEVEL_ERROR, "CDVDDemuxFFmpeg::ParsePacket() invalid width/height");
}
}
}
diff --git a/src/stream/FFmpegStream.h b/src/stream/FFmpegStream.h
index 356905dd..f0634d0f 100644
--- a/src/stream/FFmpegStream.h
+++ b/src/stream/FFmpegStream.h
@@ -109,6 +109,8 @@ class FFmpegStream
bool IsPaused() { return m_speed == STREAM_PLAYSPEED_PAUSE; }
virtual bool CheckReturnEmptyOnPacketResult(int result);
+ int GetPacketExtradata(const AVPacket* pkt, const AVCodecParserContext* parserCtx, AVCodecContext* codecCtx, uint8_t **p_extradata);
+
int64_t m_demuxerId;
mutable std::recursive_mutex m_mutex;
double m_currentPts; // used for stream length estimation

View File

@ -1,319 +0,0 @@
From fcad1884954ec1998f353750dd7332501e204ddb Mon Sep 17 00:00:00 2001
From: Vasyl Gello <vasek.gello@gmail.com>
Date: Sat, 15 Oct 2022 16:08:14 +0000
Subject: [PATCH] Adapt AlwinEsch's ffmpeg5 port patch
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
---
src/stream/FFmpegStream.cpp | 96 ++++++++++++++++++++++++++++++++-----
src/stream/FFmpegStream.h | 6 ++-
src/utils/FFmpegCompat.h | 20 ++++++++
3 files changed, 107 insertions(+), 15 deletions(-)
create mode 100644 src/utils/FFmpegCompat.h
diff --git a/src/stream/FFmpegStream.cpp b/src/stream/FFmpegStream.cpp
index 73e0963c..f2140a17 100644
--- a/src/stream/FFmpegStream.cpp
+++ b/src/stream/FFmpegStream.cpp
@@ -462,7 +462,14 @@ DEMUX_PACKET* FFmpegStream::DemuxRead()
// we already check for a valid m_streams[pPacket->iStreamId] above
else if (stream->type == INPUTSTREAM_TYPE_AUDIO)
{
- if (static_cast<DemuxStreamAudio*>(stream)->iChannels != m_pFormatContext->streams[pPacket->iStreamId]->codecpar->channels ||
+#if LIBAVCODEC_BUILD >= AV_VERSION_INT(59, 37, 100) && \
+ LIBAVUTIL_BUILD >= AV_VERSION_INT(57, 28, 100)
+ int codecparChannels =
+ m_pFormatContext->streams[pPacket->iStreamId]->codecpar->ch_layout.nb_channels;
+#else
+ int codecparChannels = m_pFormatContext->streams[pPacket->iStreamId]->codecpar->channels;
+#endif
+ if (static_cast<DemuxStreamAudio*>(stream)->iChannels != codecparChannels ||
static_cast<DemuxStreamAudio*>(stream)->iSampleRate != m_pFormatContext->streams[pPacket->iStreamId]->codecpar->sample_rate)
{
// content has changed
@@ -658,7 +665,7 @@ bool FFmpegStream::Aborted()
bool FFmpegStream::Open(bool fileinfo)
{
- AVInputFormat* iformat = NULL;
+ FFMPEG_FMT_CONST AVInputFormat* iformat = nullptr;
std::string strFile;
m_streaminfo = !m_isRealTimeStream && !m_reopen;;
m_currentPts = STREAM_NOPTS_VALUE;
@@ -729,6 +736,8 @@ bool FFmpegStream::Open(bool fileinfo)
m_streaminfo = true;
}
+ // https://github.com/FFmpeg/FFmpeg/blob/56450a0ee4/doc/APIchanges#L18-L26
+#if LIBAVFORMAT_BUILD < AV_VERSION_INT(59, 0, 100)
if (iformat && (strcmp(iformat->name, "mov,mp4,m4a,3gp,3g2,mj2") == 0))
{
CURL url(m_streamUrl);
@@ -736,6 +745,7 @@ bool FFmpegStream::Open(bool fileinfo)
if (!url.GetProtocol().empty() && !url.IsProtocol("file"))
m_pFormatContext->iformat->flags |= AVFMT_NOGENSEARCH;
}
+#endif
// we need to know if this is matroska, avi or sup later
m_bMatroska = strncmp(m_pFormatContext->iformat->name, "matroska", 8) == 0; // for "matroska.webm"
@@ -785,8 +795,11 @@ bool FFmpegStream::Open(bool fileinfo)
// if format can be nonblocking, let's use that
m_pFormatContext->flags |= AVFMT_FLAG_NONBLOCK;
- // deprecated, will be always set in future versions
+ // https://github.com/FFmpeg/FFmpeg/blob/d682ae70b4/doc/APIchanges#L18-L21
+#if LIBAVFORMAT_BUILD < AV_VERSION_INT(57, 66, 105) && \
+ LIBAVCODEC_BUILD < AV_VERSION_INT(57, 83, 101)
m_pFormatContext->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
+#endif
UpdateCurrentPTS();
@@ -828,12 +841,23 @@ bool FFmpegStream::Open(bool fileinfo)
{
int idx = m_pFormatContext->programs[i]->stream_index[j];
AVStream* st = m_pFormatContext->streams[idx];
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ // Related to https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210429143825.53040-1-jamrial@gmail.com/
+ // has been replaced with AVSTREAM_EVENT_FLAG_NEW_PACKETS.
+ if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && (st->event_flags & AVSTREAM_EVENT_FLAG_NEW_PACKETS)) ||
+ (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && st->codecpar->sample_rate > 0))
+ {
+ nProgram = i;
+ break;
+ }
+#else
if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && st->codec_info_nb_frames > 0) ||
(st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && st->codecpar->sample_rate > 0))
{
nProgram = i;
break;
}
+#endif
}
}
@@ -870,7 +894,7 @@ bool FFmpegStream::Open(bool fileinfo)
return true;
}
-bool FFmpegStream::OpenWithFFmpeg(AVInputFormat* iformat, const AVIOInterruptCB& int_cb)
+bool FFmpegStream::OpenWithFFmpeg(FFMPEG_FMT_CONST AVInputFormat* iformat, const AVIOInterruptCB& int_cb)
{
Log(LOGLEVEL_INFO, "%s - IO handled by FFmpeg's AVFormat", __FUNCTION__);
@@ -959,7 +983,7 @@ bool FFmpegStream::OpenWithFFmpeg(AVInputFormat* iformat, const AVIOInterruptCB&
return true;
}
-bool FFmpegStream::OpenWithCURL(AVInputFormat* iformat)
+bool FFmpegStream::OpenWithCURL(FFMPEG_FMT_CONST AVInputFormat* iformat)
{
Log(LOGLEVEL_INFO, "%s - IO handled by Kodi's cURL", __FUNCTION__);
@@ -1039,8 +1063,7 @@ bool FFmpegStream::OpenWithCURL(AVInputFormat* iformat)
// is present, we assume it is PCM audio.
// AC3 is always wrapped in iec61937 (ffmpeg "spdif"), while DTS
// may be just padded.
- AVInputFormat* iformat2;
- iformat2 = av_find_input_format("spdif");
+ FFMPEG_FMT_CONST AVInputFormat* iformat2 = av_find_input_format("spdif");
if (iformat2 && iformat2->read_probe(&pd) > AVPROBE_SCORE_MAX / 4)
{
@@ -1147,11 +1170,19 @@ void FFmpegStream::UpdateCurrentPTS()
if (idx >= 0)
{
AVStream* stream = m_pFormatContext->streams[idx];
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ if (stream && m_pkt.pkt.dts != (int64_t)AV_NOPTS_VALUE)
+ {
+ double ts = ConvertTimestamp(m_pkt.pkt.dts, stream->time_base.den, stream->time_base.num);
+ m_currentPts = ts;
+ }
+#else
if (stream && stream->cur_dts != (int64_t)AV_NOPTS_VALUE)
{
double ts = ConvertTimestamp(stream->cur_dts, stream->time_base.den, stream->time_base.num);
m_currentPts = ts;
}
+#endif
}
}
@@ -1230,9 +1261,15 @@ bool FFmpegStream::IsProgramChange()
return true;
if (m_pFormatContext->streams[idx]->codecpar->codec_id != stream->codec)
return true;
+#if LIBAVCODEC_BUILD >= AV_VERSION_INT(59, 37, 100) && \
+ LIBAVUTIL_BUILD >= AV_VERSION_INT(57, 28, 100)
+ int codecparChannels =
+ m_pFormatContext->streams[idx]->codecpar->ch_layout.nb_channels;
+#else
+ int codecparChannels = m_pFormatContext->streams[idx]->codecpar->channels;
+#endif
if (m_pFormatContext->streams[idx]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
- m_pFormatContext->streams[idx]->codecpar->channels !=
- static_cast<DemuxStreamAudio*>(stream)->iChannels)
+ codecparChannels != static_cast<DemuxStreamAudio*>(stream)->iChannels)
return true;
if (m_pFormatContext->streams[idx]->codecpar->extradata_size != static_cast<int>(stream->ExtraSize))
return true;
@@ -1564,7 +1601,7 @@ void FFmpegStream::ParsePacket(AVPacket* pkt)
parser->second->m_parserCtx = av_parser_init(st->codecpar->codec_id);
- AVCodec* codec = avcodec_find_decoder(st->codecpar->codec_id);
+ FFMPEG_FMT_CONST AVCodec* codec = avcodec_find_decoder(st->codecpar->codec_id);
if (codec == nullptr)
{
Log(LOGLEVEL_ERROR, "%s - can't find decoder", __FUNCTION__);
@@ -1641,7 +1678,11 @@ TRANSPORT_STREAM_STATE FFmpegStream::TransportStreamAudioState()
{
if (!m_startTime)
{
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ m_startTime = av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+#else
m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
+#endif
m_seekStream = idx;
}
return TRANSPORT_STREAM_STATE::READY;
@@ -1661,7 +1702,11 @@ TRANSPORT_STREAM_STATE FFmpegStream::TransportStreamAudioState()
{
if (!m_startTime)
{
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ m_startTime = av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+#else
m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
+#endif
m_seekStream = i;
}
return TRANSPORT_STREAM_STATE::READY;
@@ -1694,7 +1739,11 @@ TRANSPORT_STREAM_STATE FFmpegStream::TransportStreamVideoState()
{
if (!m_startTime)
{
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ m_startTime = av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+#else
m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
+#endif
m_seekStream = idx;
}
return TRANSPORT_STREAM_STATE::READY;
@@ -1714,7 +1763,11 @@ TRANSPORT_STREAM_STATE FFmpegStream::TransportStreamVideoState()
{
if (!m_startTime)
{
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 3, 100)
+ m_startTime = av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+#else
m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
+#endif
m_seekStream = i;
}
return TRANSPORT_STREAM_STATE::READY;
@@ -1824,14 +1877,31 @@ DemuxStream* FFmpegStream::AddStream(int streamIdx)
{
DemuxStreamAudioFFmpeg* st = new DemuxStreamAudioFFmpeg(pStream);
stream = st;
- st->iChannels = pStream->codecpar->channels;
+#if LIBAVCODEC_BUILD >= AV_VERSION_INT(59, 37, 100) && \
+ LIBAVUTIL_BUILD >= AV_VERSION_INT(57, 28, 100)
+ int codecparChannels = pStream->codecpar->ch_layout.nb_channels;
+ int codecparChannelLayout = pStream->codecpar->ch_layout.u.mask;
+#else
+ int codecparChannels = pStream->codecpar->channels;
+ int codecparChannelLayout = pStream->codecpar->channel_layout;
+#endif
+ st->iChannels = codecparChannels;
+ st->iChannelLayout = codecparChannelLayout;
st->iSampleRate = pStream->codecpar->sample_rate;
st->iBlockAlign = pStream->codecpar->block_align;
st->iBitRate = static_cast<int>(pStream->codecpar->bit_rate);
st->iBitsPerSample = pStream->codecpar->bits_per_raw_sample;
- st->iChannelLayout = pStream->codecpar->channel_layout;
char buf[32] = { 0 };
+ // https://github.com/FFmpeg/FFmpeg/blob/6ccc3989d15/doc/APIchanges#L50-L53
+#if LIBAVCODEC_BUILD >= AV_VERSION_INT(59, 37, 100) && \
+ LIBAVUTIL_BUILD >= AV_VERSION_INT(57, 28, 100)
+ AVChannelLayout layout = {};
+ av_channel_layout_from_mask(&layout, st->iChannelLayout);
+ av_channel_layout_describe(&layout, buf, sizeof(buf));
+ av_channel_layout_uninit(&layout);
+#else
av_get_channel_layout_string(buf, 31, st->iChannels, st->iChannelLayout);
+#endif
st->m_channelLayoutName = buf;
if (st->iBitsPerSample == 0)
st->iBitsPerSample = pStream->codecpar->bits_per_coded_sample;
@@ -2070,7 +2140,7 @@ std::string FFmpegStream::GetStreamCodecName(int iStreamId)
return strName;
}
- AVCodec* codec = avcodec_find_decoder(stream->codec);
+ FFMPEG_FMT_CONST AVCodec* codec = avcodec_find_decoder(stream->codec);
if (codec)
strName = codec->name;
}
diff --git a/src/stream/FFmpegStream.h b/src/stream/FFmpegStream.h
index bf8a50f9..356905dd 100644
--- a/src/stream/FFmpegStream.h
+++ b/src/stream/FFmpegStream.h
@@ -7,6 +7,7 @@
#pragma once
+#include "../utils/FFmpegCompat.h"
#include "../utils/HttpProxy.h"
#include "../utils/Properties.h"
#include "BaseStream.h"
@@ -33,6 +34,7 @@ extern "C"
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavutil/mastering_display_metadata.h>
+#include <libavutil/version.h>
}
#ifndef __GNUC__
@@ -117,8 +119,8 @@ class FFmpegStream
private:
bool Open(bool fileinfo);
- bool OpenWithFFmpeg(AVInputFormat* iformat, const AVIOInterruptCB& int_cb);
- bool OpenWithCURL(AVInputFormat* iformat);
+ bool OpenWithFFmpeg(FFMPEG_FMT_CONST AVInputFormat* iformat, const AVIOInterruptCB& int_cb);
+ bool OpenWithCURL(FFMPEG_FMT_CONST AVInputFormat* iformat);
AVDictionary* GetFFMpegOptionsFromInput();
void ResetVideoStreams();
double ConvertTimestamp(int64_t pts, int den, int num);
diff --git a/src/utils/FFmpegCompat.h b/src/utils/FFmpegCompat.h
new file mode 100644
index 00000000..46cff53f
--- /dev/null
+++ b/src/utils/FFmpegCompat.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2005-2022 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#pragma once
+
+extern "C" {
+#include <libavformat/avformat.h>
+}
+
+// https://github.com/FFmpeg/FFmpeg/blob/56450a0ee4/doc/APIchanges#L18-L26
+#if LIBAVFORMAT_BUILD >= AV_VERSION_INT(59, 0, 100)
+#define FFMPEG_FMT_CONST const
+#else
+#define FFMPEG_FMT_CONST
+#endif

View File

@ -1,31 +0,0 @@
From 98ccdd2f4263eb1590c65f175c11deeec18fe6c2 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 3 Mar 2023 19:33:04 +0100
Subject: [PATCH] Fix build with ffmpeg 6.0
This feature was removed from ffmpeg:
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=add33e370d241d947209c914de1bf062fe44d58e
---
src/stream/FFmpegStream.cpp | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/stream/FFmpegStream.cpp b/src/stream/FFmpegStream.cpp
index 341062ed..0996b446 100644
--- a/src/stream/FFmpegStream.cpp
+++ b/src/stream/FFmpegStream.cpp
@@ -920,7 +920,6 @@ bool FFmpegStream::OpenWithFFmpeg(const AVInputFormat* iformat, const AVIOInterr
// We only process this condition for manifest streams when this setting is disabled
if (!kodi::addon::GetSettingBoolean("useFastOpenForManifestStreams") || m_manifestType.empty())
{
- m_pFormatContext->flags |= AVFMT_FLAG_PRIV_OPT;
if (avformat_open_input(&m_pFormatContext, strFile.c_str(), iformat, &options) < 0)
{
Log(LOGLEVEL_DEBUG, "Error, could not open file %s", CURL::GetRedacted(strFile).c_str());
@@ -935,7 +934,6 @@ bool FFmpegStream::OpenWithFFmpeg(const AVInputFormat* iformat, const AVIOInterr
}
m_pFormatContext->interrupt_callback = int_cb;
- m_pFormatContext->flags &= ~AVFMT_FLAG_PRIV_OPT;
options = GetFFMpegOptionsFromInput();
av_dict_set_int(&options, "load_all_variants", 0, AV_OPT_SEARCH_CHILDREN);

View File

@ -1,47 +0,0 @@
From fd7bd5ad86fd0006ad571a051fa5d5603a47e4b4 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 26 Apr 2023 17:15:00 +0000
Subject: [PATCH] include missing <cstdint> to support gcc-13
gcc 13 moved some includes around and as a result <cstdint> is no longer transitively
included [1]. Explicitly include it for uint{32,64}_t.
[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
src/utils/DiskUtils.h | 1 +
src/utils/HttpProxy.h | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/utils/DiskUtils.h b/src/utils/DiskUtils.h
index 79e34268..f900ec58 100644
--- a/src/utils/DiskUtils.h
+++ b/src/utils/DiskUtils.h
@@ -7,6 +7,7 @@
#pragma once
+#include <cstdint>
#include <string>
namespace ffmpegdirect
diff --git a/src/utils/HttpProxy.h b/src/utils/HttpProxy.h
index eb0c99cb..d203ce36 100644
--- a/src/utils/HttpProxy.h
+++ b/src/utils/HttpProxy.h
@@ -7,6 +7,7 @@
#pragma once
+#include <cstdint>
#include <string>
namespace ffmpegdirect
@@ -36,4 +37,4 @@ namespace ffmpegdirect
std::string m_user;
std::string m_password;
};
-} //namespace ffmpegdirect
\ No newline at end of file
+} //namespace ffmpegdirect

View File

@ -1,51 +0,0 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit kodi-addon
DESCRIPTION="Kodi's FFMpeg Direct Inputstream addon"
HOMEPAGE="https://github.com/xbmc/inputstream.ffmpegdirect"
SRC_URI=""
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
CODENAME="Nexus"
SRC_URI="https://github.com/xbmc/inputstream.ffmpegdirect/archive/${PV}-${CODENAME}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/inputstream.ffmpegdirect-${PV}-${CODENAME}"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
BDEPEND="
virtual/pkgconfig
"
COMMON_DEPEND="
media-video/ffmpeg:=[encode,libxml2,zlib]
virtual/libiconv
app-arch/bzip2
=media-tv/kodi-20*
"
DEPEND="
${COMMON_DEPEND}
"
RDEPEND="
${COMMON_DEPEND}
"
PATCHES=(
"${FILESDIR}"/${P}-ffmpeg5.patch
"${FILESDIR}"/${P}-Get-extradata-with-extract_extradata-BSF.patch
"${FILESDIR}"/${P}-Fix-use-after-free-in-TimeshiftSegment.patch
"${FILESDIR}"/${P}-ffmpeg6.patch
"${FILESDIR}"/${P}-gcc13.patch
)
src_prepare() {
[ -d depends ] && rm -rf depends || die
cmake_src_prepare
}

View File

@ -1,2 +0,0 @@
DIST kodi-pvr-hts-20.7.2.tar.gz 218776 BLAKE2B e09b9462f9b8913b1e156c2fa966170e4f59b5d6a88b5694159027006e22ce610a9217eae345f41752a81083a450b3f466db685e03231ae30ffd26884b21675b SHA512 ef16355ff0a9e00a44717ab5216bd88d9a63e745f656694dace73e35437b945034ae852cf1415c04ebab7c1bb102a8cf8b913c7fc8bce49237aa7c3c96c2f290
EBUILD kodi-pvr-hts-20.7.2.ebuild 533 BLAKE2B 07c143a1238780c37408bf45965d13126d554f4bb5cb0e10f1b319ee51f283265b189a949dedf60a4d6a7adfd43bb156524d187523247ecff70af7dcb95ae36c SHA512 aa3072bb411bc3c393f80767d68a217ac56873997eddb38c721a2a668c770b69d85781cfd90538751f32cc518554776a8e9f4b16d98ad94359fbceade63f423f

View File

@ -1,27 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake kodi-addon
DESCRIPTION="Tvheadend Live TV and Radio PVR client addon for Kodi"
HOMEPAGE="https://github.com/kodi-pvr/pvr.hts"
SRC_URI=""
CODENAME="Nexus"
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/kodi-pvr/pvr.hts/archive/${PV}-${CODENAME}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/pvr.hts-${PV}-${CODENAME}"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
DEPEND="
=media-tv/kodi-20*
"
RDEPEND="
${DEPEND}
"

View File

@ -1,2 +0,0 @@
DIST kodi-vfs-sftp-20.1.0.tar.gz 45904 BLAKE2B f9c0f4359075609122627fbec2c945d643a844d7cb07eb09d7ab1581856a2c46790a36398e414ba9ef03c4b36eb361f2ea5a5a23aef980a83a8e6124e1b19f52 SHA512 ea2b205a5b4f279f8211a5744d0f5e6efb6346052ba927aef95733e1c964df5b97fc1176e2fa5d2b378561464f868cdc37e564ca120079f6ff70d2e79b48667c
EBUILD kodi-vfs-sftp-20.1.0.ebuild 738 BLAKE2B 82b07146904bf3c2f3af62da6ab1cd80040c8246e86a9d0706af5d024d462bdeb516cf8f14f002870c06b851d6521d88e1114ab181276c3ef6817b50b411ff1f SHA512 774f4ac5d310e7826d120a9e9029b8a631df8159cb331e00c45b595b444a7003859ab9a05a8412c4bb0090a0a3fe26704226fb5d7a4ae5b0f0e0469603e21fd2

View File

@ -1,40 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake kodi-addon
DESCRIPTION="SFTP VFS addon for Kodi"
HOMEPAGE="https://github.com/xbmc/vfs.sftp"
SRC_URI=""
case ${PV} in
9999)
SRC_URI=""
EGIT_REPO_URI="https://github.com/xbmc/vfs.sftp.git"
EGIT_BRANCH="Omega"
inherit git-r3
;;
*)
CODENAME="Nexus"
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/xbmc/vfs.sftp/archive/${PV}-${CODENAME}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/vfs.sftp-${PV}-${CODENAME}"
;;
esac
LICENSE="GPL-2"
SLOT="0"
IUSE=""
DEPEND="
net-libs/libssh[sftp]
>=media-tv/kodi-20
"
RDEPEND="${DEPEND}"
src_prepare() {
[ -d depends ] && rm -rf depends || die
cmake_src_prepare
}

View File

@ -1,2 +1,2 @@
DIST jellyfin-ffmpeg_6.0.1-7_portable_linux64-gpl.tar.xz 52477444 BLAKE2B c428a5f3b52e605b864c33fecc02bc6f5566906ee36a9db210719f06cbf2bbb1624ef884caee4f3fa566897f6aca9b3dbcbbb68e74987f7feca81af5b19221e8 SHA512 d9fa03401f53c017a8cbff68d8e38f1155832fa1b9f6a8d92c8ad5c57a1385cc8efcdb114208d1c4bb5e7af4e44584b3103fb5bd796bb96d25b1ca36dcdc7178
EBUILD jellyfin-ffmpeg-6.0.1.7.ebuild 851 BLAKE2B da97503165196227f19e0e2a5708eeb61d4495545872cb51e868507a77959572ce2c039fc6097a10f0da2bb17d09a9bb982272e37fb3b6eee33148c06f9833f8 SHA512 9f3e2e65e3cfa863112eba753f6ff6965d84824a0ba138e136ce05f070758888799a23a7cbe9315b2a72bff00373947a73fd242f43cca061f52dfd636bf99365
DIST jellyfin-ffmpeg_7.1.1-7_portable_linux64-gpl.tar.xz 58155300 BLAKE2B 3e86256b50260283ba7ca10388b2d671a97b9e0f221f14083e6b152bb124cda1535a56fc946074a11e2ff6d5b11bada47e080042ca864dfdd7c6c3be14da21a7 SHA512 8a505cc036a135ce0fc2e33315f279ef909708b0d16cc07c07dbc3188f77aa6e6d497f650e5ff1339118a96f213fea0dbd54f1c868310fd29327a43bfd908581
EBUILD jellyfin-ffmpeg-7.1.1.7.ebuild 801 BLAKE2B d32db6c1a4ccbc816163cf8c3086f76264a2240581319b512c2770ffea4c5a188cb1de7cd539528fe4f8659a789e9cda40568600142cf72645b72db1119c0128 SHA512 1becbe94ab7653190c9083d531b79ff9b4dfb2fc7ea17eac12a98c8888e9551a58ee63d62dd4b844275e70c36362855cadb9e73771c581e19ce159dcfe8ee539

View File

@ -3,7 +3,7 @@
EAPI=8
DESCRIPTION="Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media."
DESCRIPTION="Jellyfin build of ffmpeg with streaming enhancements."
UPSTREAM_VERSION="${PV%.*}-${PV##*.}"
HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/"

View File

@ -1,3 +1,3 @@
AUX no-shaders.patch 390 BLAKE2B 24e024a92a67f27500ed780c7d29289499b9a3bbe414c5d47fec97c17d94bc5e2919112394bb0305644626cb360b4a77eea14128e74c4ba475d47c91b3287393 SHA512 b3b745be2954c934a2aa5a041aec1e7ea7c031ba654b9c2f41344d22dda23cd8ac7a08b921458a81ff107a85893d9543a5f8ecbab50eb2e64a6b01574735b168
DIST jellyfin-mpv-shim-2.8.0.tar.gz 570311 BLAKE2B 72eadc434fd09706cd617752487f39686775274ac20b45085aa26490fba6d43d37ec0f6984a91f4001df40e5b31253c17a978f9a9ec8e5ea14bc3ab8015001d9 SHA512 7d26307625ed5a543a333143285d757db70bd2f8337c26cb42257c77f53fd8f8257ffc51ca70788c39b0f17b77c6c44bafb46b28a81a2381530970ee49df9653
EBUILD jellyfin-mpv-shim-2.8.0.ebuild 985 BLAKE2B ea633d721416f4517e1d9ea44158a938fdd29119e5d47c21b2e5663dfe1bef1df67acc94dd01ef19577bf59c3c5ee4f47d410727d2f396f855e2c38e9d3c13b8 SHA512 b76b13fb0cd23af37134bf5f3cb488d079a4cee734ad07c0d0ffd8f055139b1ca01140843b7c7da1bae33e538f5c617306fc25f896ea86bbbf397c0b9ffcd9fd
DIST jellyfin-mpv-shim-2.9.0.tar.gz 578962 BLAKE2B 2892baaa822d784f3a1b96086bcdb9ebdb8ea4711b92c071dc47ea6ce4f4b5934acc020d55c7ed9d1a643fd5c236117c3d045c759d1f6eb460483c11853241bb SHA512 9b01cd3f592e0cc6f6907a6e2af971427132662557e4f4ab98e9a54e2cb8f97846bc8fa4e6da14856aa70e3a1549610e919ba8e43ae569f70e06f3d4b71ff2dc
EBUILD jellyfin-mpv-shim-2.9.0.ebuild 985 BLAKE2B ea633d721416f4517e1d9ea44158a938fdd29119e5d47c21b2e5663dfe1bef1df67acc94dd01ef19577bf59c3c5ee4f47d410727d2f396f855e2c38e9d3c13b8 SHA512 b76b13fb0cd23af37134bf5f3cb488d079a4cee734ad07c0d0ffd8f055139b1ca01140843b7c7da1bae33e538f5c617306fc25f896ea86bbbf397c0b9ffcd9fd

View File

@ -1,2 +1,2 @@
DIST v0.0.1.tar.gz 3154 BLAKE2B 02a9f0b6ac313597ae04aac98fef28e7f5cbb5d99bd0a4f03d105a9e1448cb2090547bc44cbbc124500fdeddf6d3e778422059266ca3833d975012564b496e34 SHA512 94d205ad24dde3d68e836699794e4cd8bc7243765a57808926aee479959be3d9ca57e05628e33fffa2419a475d040b38cc0437859722c82ff25b6a5e807e7934
EBUILD check_service-0.0.1.ebuild 466 BLAKE2B 9bb858824e375741f427b2535e477da904998434f912ac2171bc3387cc5f145900c0ff8e1c6a7e4fb9ebe934ebc39cbd706cfde6d0d327cbf35d3c74e77de250 SHA512 90f6f835d89a372f3bcaec176fe778f454d5dcc2cfde168df0601f1dfcb2f8fe9fa9cfddc9c73744049e2f4a06337c367a5f4f60b8ab58b7989fb53dd3fe8012
EBUILD check_service-0.0.1.ebuild 516 BLAKE2B 793211e6dff61c0a1c1a3e47a6c12be41e6a7d72945757b3365449179ef896ec63f5c50366ce7fd370eb896d277f67c4acd0e56a11d78dd31d61097d7a014852 SHA512 bb923fa6acec48e2a6678600a19a1631bcff8b8472be6500044a6a487f775a7629238a35db61564a85080b1ebb77d7de77502f0c4c4c2e86c9c73f9699996121

View File

@ -1,10 +1,11 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Icinga/Nagios Check for system services"
@ -13,6 +14,7 @@ SRC_URI="https://gitea.fulh.ax/feffe/check_service/archive/v${PV}.tar.gz"
S="${WORKDIR}/check_service"
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86 arm64"

View File

@ -0,0 +1,7 @@
AUX nextcloud-client-3.14.2-doc-fix.patch 1253 BLAKE2B 8e0c44c5fdb02fc6d815c70a3fb8a9b28fe7d68e2d8b3a5a297a26c194a8866c39222df740cb1ecd70d7f615f491dea5f229b5bf9bf5ec3f7995d2f20254e518 SHA512 b9efc5723eb2f52ba7fc90325696fada2ddc88b47d47df576cfc74750a97b55bad77acda274983530f43c503ded8e4d7cc444005dd62b699926f46fdb2bd87aa
AUX nextcloud-client-3.15.2-netrc.patch 1769 BLAKE2B f1d0e790feead13940c62c20ec54414ff498b2abb1850af21f509476857b51111c2893db024c5af2b56711b5aa220d2179e8efbf6d24e0a28866113fabf9d7fd SHA512 fe738c200b610c7f881ffce0399ee5abc17fe284b95dcd78666961a50b9e4d67d0e9c57919c04a9b5b56005445bd41f581a355f59d7477131008d3c12f0d682d
AUX nextcloud-client-3.6.6-no-redefine-fortify-source.patch 1447 BLAKE2B 14a3a1a1206a0a0027aa9c59e07b6d81174428aaaf90fba5706e9c7a2f076753a4b2f364ffa0f22dabf785d58832dde1aeba61e3cb3cc92feffa8b4b614c5d65 SHA512 808c10f8ea1905d54f62f895b2089c2acb602e838143f6a4268a5ab1e966ffe6ff01f132b8b65e0eebde21435a859cc7fb4f868a2ca81da4dcaa02292a337ed7
DIST nextcloud-client-3.15.2-fix-macosvfs-file-sharing.png.patch 727 BLAKE2B 77d87c47caa28c0d60afdef161c05a365d953e31e7331fd4b07adfe232ddd04a6108ad325a25befe961862dccb118c251239b84cfb63f1c72c205df31055ad69 SHA512 d4d8928aa63b7e174c7fe8099d349a5779e8be1b1a71dfecfded9f971533ba677fc85013c53c7cafdc05e1aed81820c6ef3b5e7c3f6a5cae62fc284a2a9371db
DIST nextcloud-client-3.15.2.tar.gz 15671238 BLAKE2B ea98587f4183d42d3e6ace54c0cd8b2208e7e21bfbb2385af84c8688b2d5464171f90e287302c5d6081b234b8cbec4e2b05635d1385a2980f133bba7127a6203 SHA512 982b74d57954440496f973781aa6a719d316b3651fecbb5da4d4b211dda0574094b2ba35f83c6afe2e67c7be095528e0cf8544e9214e8d9db445f1ab95c8c256
EBUILD nextcloud-client-3.15.2-r1.ebuild 3205 BLAKE2B 8f42717f3f09eaf080f49082c39bc73064e085bf2a4fccb4c9d8fef7559b06698769736a4951b0ea162ba86b17d15378417e056104339f5ae57eb1abad3c505f SHA512 4aaa95ac4b9dd7f1715a962bb8d3f79a9f5f431550cd4f4d54c92d4722f518714034b6f15a9738e3624bc3620ab378c9001755215adcc971f02099a13719364a
MISC metadata.xml 712 BLAKE2B 423b16fa8879b0bc21d8ff1c692e5e592f571b5d69dcdd35fe79dae08b770c0d5beb2cbf71af2e7410d1dfd6917d15bac0482a84a40ce602ab03ab0f59940355 SHA512 2cfeff27549192c2aaa9c64369545e75b3a056c123d7647c96505dd410490230027401961e95ef88c93b0485393bd54aa11ddc922bcaf2782f9e68a2d8d17b32

View File

@ -0,0 +1,35 @@
From 463b4e63046a907581d5f4899aaddfa0afd9120a Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flo@geekplace.eu>
Date: Tue, 22 Oct 2024 12:18:31 +0200
Subject: [PATCH] doc: delete section containing non-existing images
Those images where deleted in 6d3335bd60ba ("Update instructions to
build on Windows.") and are no longer available. Hence, drop the
whole section referencing them.
Fixes: 6d3335bd60ba1cb499985fc15e0b918fe8c404f4
--- a/doc/building.rst
+++ b/doc/building.rst
@@ -215,19 +215,6 @@ System requirements
- Microsoft Visual Studio 2022 and tools to compile C++
- `KDE Craft <https://community.kde.org/Craft>`_
-Setting up Microsoft Visual Studio
-----------------------------------
-
-1. Click on 'Modify' in the Visual Studio Installer:
-
- .. image:: ./images/building/visual-studio-installer.png
- :alt: Visual Studio Installer
-
-2. Select 'Desktop development with C++'
-
- .. image:: ./images/building/desktop-development-with-cpp.png
- :alt: Desktop development with C++
-
Handling the dependencies
-------------------------
We handle the dependencies using `KDE Craft <https://community.kde.org/Craft>`_ because it is easy to set it up and it makes the maintenance much more reliable in all platforms.
--
2.45.2

View File

@ -0,0 +1,56 @@
diff --git a/src/cmd/netrcparser.cpp b/src/cmd/netrcparser.cpp
index 266fe4f..15417e1 100644
--- a/src/cmd/netrcparser.cpp
+++ b/src/cmd/netrcparser.cpp
@@ -14,8 +14,7 @@
#include <QDir>
#include <QFile>
-#include <QTextStream>
-#include <QStringTokenizer>
+#include <QRegularExpression>
#include <QDebug>
@@ -58,32 +57,33 @@ bool NetrcParser::parse()
}
QString content = netrc.readAll();
- auto tokenizer = QStringTokenizer{content, u" \n\t"};
+ auto tokens = content.split(QRegularExpression("\\s+"));
LoginPair pair;
QString machine;
bool isDefault = false;
- for(auto itToken = tokenizer.cbegin(); itToken != tokenizer.cend(); ++itToken) {
- const auto key = *itToken;
+ for(int i=0; i<tokens.count(); i++) {
+ const auto key = tokens[i];
if (key == defaultKeyword) {
tryAddEntryAndClear(machine, pair, isDefault);
isDefault = true;
continue; // don't read a value
}
- if (itToken != tokenizer.cend()) {
+ i++;
+ if (i > tokens.count()) {
qDebug() << "error fetching value for" << key;
return false;
}
- auto value = *(++itToken);
+ auto value = tokens[i];
if (key == machineKeyword) {
tryAddEntryAndClear(machine, pair, isDefault);
- machine = value.toString();
+ machine = value;
} else if (key == loginKeyword) {
- pair.first = value.toString();
+ pair.first = value;
} else if (key == passwordKeyword) {
- pair.second = value.toString();
+ pair.second = value;
} // ignore unsupported tokens
}
tryAddEntryAndClear(machine, pair, isDefault);

View File

@ -0,0 +1,31 @@
Gentoo's toolchain always sets F_S (level 2 at minimum) by default.
https://bugs.gentoo.org/890072
--- a/cmake/modules/DefineCompilerFlags.cmake
+++ b/cmake/modules/DefineCompilerFlags.cmake
@@ -47,12 +47,6 @@ if (${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)")
if (CMAKE_BUILD_TYPE)
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
- if (CMAKE_BUILD_TYPE_LOWER MATCHES "(release|relwithdebinfo|minsizerel)" AND (NOT ${CMAKE_C_FLAGS} MATCHES "FORTIFY_SOURCE=[3-9]"))
- check_c_compiler_flag("-Wp,-D_FORTIFY_SOURCE=2" WITH_FORTIFY_SOURCE)
- if (WITH_FORTIFY_SOURCE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wp,-D_FORTIFY_SOURCE=2")
- endif (WITH_FORTIFY_SOURCE)
- endif()
endif()
endif (${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)")
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,10 +31,6 @@ if(NOT MSVC)
endif()
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
- if(CMAKE_BUILD_TYPE_LOWER MATCHES "(release|relwithdebinfo|minsizerel)" AND ((NOT ${CMAKE_C_FLAGS} MATCHES "FORTIFY_SOURCE=[3-9]") AND (NOT ${CMAKE_CXX_FLAGS} MATCHES "FORTIFY_SOURCE=[3-9]")))
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FORTIFY_SOURCE=2")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
- endif()
if (CMAKE_CXX_COMPILER MATCHES "Clang")
# Calling Qt's qCWarning(category, ...) with no params for "..." is a GNU

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
<maintainer type="person">
<name>Florian Schmaus</name>
<email>flow@gentoo.org</email>
</maintainer>
<use>
<flag name="dolphin">Install the <pkg>kde-apps/dolphin</pkg> extension</flag>
<flag name="nautilus">Install the <pkg>gnome-base/nautilus</pkg> extension</flag>
<flag name="webengine">Enable old Flow1 login using <pkg>dev-qt/qtwebengine</pkg></flag>
</use>
<upstream>
<remote-id type="github">nextcloud/desktop</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,124 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake virtualx xdg
DESCRIPTION="Desktop Syncing Client for Nextcloud"
HOMEPAGE="https://github.com/nextcloud/desktop"
SRC_URI="
https://github.com/nextcloud/desktop/archive/v${PV/_/-}.tar.gz
-> ${P}.tar.gz
https://github.com/nextcloud/desktop/commit/49a7c8d7874643da2550793877115c7f3dbd2d05.patch
-> ${PN}-3.15.2-fix-macosvfs-file-sharing.png.patch
"
S="${WORKDIR}/desktop-${PV/_/-}"
LICENSE="CC-BY-3.0 GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
IUSE="doc dolphin nautilus test webengine"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-db/sqlite-3.34:3
dev-libs/glib:2
>=dev-libs/openssl-1.1.0:0=
>=dev-libs/qtkeychain-0.14.2:=[qt6(+)]
dev-qt/qt5compat:6
>=dev-qt/qtbase-6.6.0:6[dbus,gui,network,sql,sqlite,widgets]
dev-qt/qtdeclarative:6[widgets]
dev-qt/qtsvg:6
dev-qt/qtwebsockets:6
kde-frameworks/karchive:6
kde-frameworks/kguiaddons:6
net-libs/libcloudproviders
sys-libs/zlib
dolphin? (
kde-frameworks/kcoreaddons:6
kde-frameworks/kio:6
)
nautilus? ( dev-python/nautilus-python )
webengine? ( dev-qt/qtwebengine:6[widgets] )
"
DEPEND="
${RDEPEND}
dev-qt/qtbase:6[concurrent,xml]
|| (
gnome-base/librsvg
media-gfx/inkscape
)
doc? (
dev-python/sphinx
dev-tex/latexmk
dev-texlive/texlive-latexextra
virtual/latex-base
)
test? (
dev-util/cmocka
)
"
BDEPEND="
dev-qt/qttools:6[linguist]
dolphin? ( >=kde-frameworks/extra-cmake-modules-5.106.0 )
"
PATCHES=(
"${FILESDIR}"/${PN}-3.6.6-no-redefine-fortify-source.patch
# https://github.com/nextcloud/desktop/pull/7383
"${FILESDIR}"/${PN}-3.14.2-doc-fix.patch
# https://github.com/nextcloud/desktop/pull/7691
"${DISTDIR}"/${PN}-3.15.2-fix-macosvfs-file-sharing.png.patch
# https://github.com/nextcloud/desktop/pull/7698
"${FILESDIR}"/${PN}-3.15.2-netrc.patch
)
src_prepare() {
# Keep tests in ${T}
sed -i -e "s#\"/tmp#\"${T}#g" test/test*.cpp || die
# The image under images/building/path.png does no longer
# exist. This is already fixed upstream and can be dropped on the
# next bump
sed -i '/images\/building\/path.png/d' doc/building.rst || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
-DBUILD_UPDATER=OFF
$(cmake_use_find_package doc Sphinx)
$(cmake_use_find_package doc PdfLatex)
-DBUILD_WITH_WEBENGINE=$(usex webengine)
-DBUILD_SHELL_INTEGRATION_DOLPHIN=$(usex dolphin)
-DBUILD_SHELL_INTEGRATION_NAUTILUS=$(usex nautilus)
-DBUILD_TESTING=$(usex test)
)
cmake_src_configure
}
src_test() {
TEST_VERBOSE=1 virtx cmake_src_test
}
src_compile() {
local compile_targets=(all)
if use doc; then
compile_targets+=(doc doc-man)
fi
cmake_src_compile ${compile_targets[@]}
}
pkg_postinst() {
xdg_pkg_postinst
if ! has_version -r "dev-libs/qtkeychain[keyring]"; then
elog "dev-libs/qtkeychain has not been build with the 'keyring' USE flag."
elog "Please consider enabling the 'keyring' USE flag. Otherwise you may"
elog "have to authenticate manually every time you start the nextlcoud client."
elog "See https://bugs.gentoo.org/912844 for more information."
fi
}

View File

@ -17,18 +17,18 @@ USE="${USE}
fcitx4 truetype fontconfig spell harfbuzz xft
opengl vaapi xinerama libkms dri egl qsv vulkan vmaf libplacebo shaderc opencl
bluray drm dvd lcms bdplus v4l aacs colord optical udf archive
pulseaudio ogg mp3 alsa vorbis native-headset ofono-headset opus
pulseaudio pipewire ogg mp3 alsa vorbis native-headset ofono-headset opus
jpeg zimg png tiff gif exif xmp svg hdri heif corefonts webp raw x265 libde265 wallpapers vpx gdk-pixbuf libdovi
udisks smartcard cryptsetup pkcs7 gpg
bluetooth usb
gdbm
gtk cairo
wifi
modemmanager networkmanager nftables conntrack
modemmanager networkmanager nftables conntrack libproxy
cups scanner ocr printsupport
libnotify
hwaccel
qt qt5
qt qt5 qt6 qml kf6compat
rustfmt
libxml2
"

View File

@ -1,6 +0,0 @@
=dev-python/cchardet-2.1.7 ~amd64
=dev-python/sip-6.3.1 ~amd64
=dev-python/PyQt-builder-1.10.3 ~amd64
=dev-python/PyQt5-5.15.5_pre2107091435 ~amd64
=dev-python/PyQtWebEngine-5.15.5_pre2108100905 ~amd64
app-text/calibre ~amd64

View File

@ -0,0 +1,4 @@
<x11-terms/ghostty-2.0.0
<x11-terms/ghostty-terminfo-2.0.0
=dev-lang/zig-0.13.0-r2
=app-eselect/eselect-zig-1-r1

View File

@ -2,5 +2,5 @@ media-libs/libva ~amd64
media-libs/gmmlib ~amd64
media-libs/libvpl ~amd64
media-libs/libvmaf ~amd64
media-libs/oneVPL-intel-gpu ~amd64
media-libs/vpl-gpu-rt ~amd64
media-libs/libva-intel-media-driver ~amd64

View File

@ -0,0 +1,2 @@
=media-libs/mesa-24.2.6* ~amd64
=dev-util/intel_clc-24.2.6* ~amd64

View File

@ -0,0 +1 @@
=media-video/mkvtoolnix-88.0

View File

@ -1,2 +1 @@
=mail-client/thunderbird-78.14.0 ~amd64
=net-libs/nodejs-22.4.1 ~amd64
<dev-util/cargo-c-0.11.0 ~amd64

View File

@ -1 +1 @@
=dev-python/python-mpv-1.0.7
=dev-python/python-mpv-1.0.8

View File

@ -0,0 +1 @@
media-video/mkvtoolnix dbus gui

View File

@ -0,0 +1 @@
media-video/pipewire pipewire-alsa sound-server

View File

@ -1 +1,2 @@
dev-python/PyQt6 quick qml webchannel
dev-python/pyqt6 quick qml webchannel
dev-python/pyqt6-webengine quick

View File

@ -6,7 +6,8 @@ dev-libs/bemenu
gui-wm/sway
media-video/mpv
www-client/firefox
gui-apps/foot
x11-terms/ghostty
media-fonts/noto
media-fonts/noto-cjk
media-fonts/noto-emoji

View File

@ -18,4 +18,5 @@ USE="${USE}
-X
pi4
policykit
dbus
"

View File

@ -1,5 +1,6 @@
=app-admin/puppet-8.5.1 ~arm64
=dev-ruby/semantic_puppet-1.1.0 ~arm64
=dev-ruby/facter-4.4.1 ~arm64
=dev-ruby/deep_merge-1.2.2 ~arm64
=dev-ruby/hocon-1.4.0 ~arm64
~app-admin/puppet-8.10.0 ~arm64
~dev-ruby/semantic_puppet-1.1.1 ~arm64
~dev-ruby/facter-4.10.0 ~arm64
~dev-ruby/deep_merge-1.2.2 ~arm64
~dev-ruby/hocon-1.4.0 ~arm64
~dev-ruby/sys-filesystem-1.5.3 ~arm64

View File

@ -10,13 +10,9 @@
*sys-power/cpupower
*sys-apps/sau
*app-editors/vim
*net-analyzer/check_service
*net-misc/chrony
*sys-apps/rotator
*sys-apps/cronwrapper
*mail-mta/postfix
*app-admin/sudo
*sys-process/cronie
*net-firewall/nftables
*app-portage/eix
*app-portage/cpuid2cpuflags

View File

@ -27,4 +27,5 @@ USE="${USE}
lapack
vpx
lm-sensors
opus
"

View File

@ -0,0 +1 @@
=dev-ruby/highline-3.1.2

View File

@ -1 +1,3 @@
www-apps/jellyfin ~amd64
www-apps/jellyfin-bin ~amd64
www-apps/jackett-bin ~amd64
www-apps/flaresolverr-bin ~amd64

View File

@ -1,2 +0,0 @@
# firefox build failure https://bugs.gentoo.org/936013
=net-libs/nodejs-22.3.0

View File

@ -0,0 +1 @@
net-libs/libssh static-libs

View File

@ -0,0 +1,2 @@
x11-base/xorg-server xvfb
media-libs/libglvnd X

View File

@ -0,0 +1 @@
media-video/mkvtoolnix -dbus

View File

@ -10,13 +10,9 @@
*sys-power/acpid
*sys-apps/sau
*app-editors/vim
*net-analyzer/check_service
*net-misc/chrony
*sys-apps/rotator
*sys-apps/cronwrapper
*mail-mta/postfix
*app-admin/sudo
*sys-process/cronie
*net-firewall/nftables
*app-portage/eix
*app-portage/cpuid2cpuflags

View File

@ -1,3 +0,0 @@
DIST cronwrapper-0.1.5.tar.gz 4363 BLAKE2B 274d20068c0803bcb5305c7d7611e1a921b318f101353864cfba39cbe172658297f7b972eca771f0ddb245ec20496265db62a19757bc518959ba0ec8bbe1d1d2 SHA512 33125f96bc6fdbebf81f927584076ccfab320e215a089b3c3bd4a746a0ba73cff2a9e4c091c2790eac5235e6aceb57885664c6d88877b49018e59c5b8853cfb9
EBUILD cronwrapper-0.1.5.ebuild 621 BLAKE2B 6ac6ff2c7d8abb3298ba20d0330b093d3a74e542d63a6685b9c7e8f9781d8198c5806d9b6e0faf0a8bdad2028d72f7403d35e7d737c9d22190f3a9bf7fb42d1c SHA512 8556db92c8d07c0512c21d23adb89ff691ce6b2ef12970f5fa7e28837b0655260b5a5a8c3f9baf9fba699c323ea6c11dea726ec4bae35cc5c3dafa3457f70ca5
EBUILD cronwrapper-9999.ebuild 621 BLAKE2B 6ac6ff2c7d8abb3298ba20d0330b093d3a74e542d63a6685b9c7e8f9781d8198c5806d9b6e0faf0a8bdad2028d72f7403d35e7d737c9d22190f3a9bf7fb42d1c SHA512 8556db92c8d07c0512c21d23adb89ff691ce6b2ef12970f5fa7e28837b0655260b5a5a8c3f9baf9fba699c323ea6c11dea726ec4bae35cc5c3dafa3457f70ca5

View File

@ -1,29 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Tool for managing cronjob in a sane way"
HOMEPAGE="https://gitea.fulh.ax/feffe/cronwrapper"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/cronwrapper.git"
inherit git-r3
KEYWORDS="~amd64 ~arm64"
else
SRC_URI="https://gitea.fulh.ax/feffe/cronwrapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
S="${WORKDIR}/cronwrapper"
fi
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND=""
RDEPEND=""
BDEPEND=""

View File

@ -1,29 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Tool for managing cronjob in a sane way"
HOMEPAGE="https://gitea.fulh.ax/feffe/cronwrapper"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/cronwrapper.git"
inherit git-r3
KEYWORDS="~amd64 ~arm64"
else
SRC_URI="https://gitea.fulh.ax/feffe/cronwrapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
S="${WORKDIR}/cronwrapper"
fi
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND=""
RDEPEND=""
BDEPEND=""

View File

@ -1,3 +0,0 @@
DIST rotator-0.1.1.tar.gz 5098 BLAKE2B ac752018f2f04571e9b1cd5fa6e0fc3a6e2ac83f62d5b4d1191335ba555a5da8a9dd6e750b1afe3f0267fd3376aa9c648f900d678b0eca65492f5d14d5cda493 SHA512 325c3c745849f2f3c8df20af38aac4099e7355c1c29b05190e19684033f2acbbbf604f1cd9fc74f60b49deab096efc9e2bc216aa8c2072fc27d19806be100cdc
EBUILD rotator-0.1.1.ebuild 596 BLAKE2B dea840a54efd56c91a7037f054d0a1df0fa7978798ff40e2f2ce09d50654d86170556e3874621cfa10c8dcc96e5cc167f13f5076576cb89fb58f69ab5643d464 SHA512 5a69ecb7c5440f4e19b5a48d77586d9aac0cafdc3bd0577cfb256bfb1e52e5ce2ae45211e5fc0660e0d8fc1c11f08aa5c55e476dd17c37b2dadb1505d096d9f2
EBUILD rotator-9999.ebuild 596 BLAKE2B dea840a54efd56c91a7037f054d0a1df0fa7978798ff40e2f2ce09d50654d86170556e3874621cfa10c8dcc96e5cc167f13f5076576cb89fb58f69ab5643d464 SHA512 5a69ecb7c5440f4e19b5a48d77586d9aac0cafdc3bd0577cfb256bfb1e52e5ce2ae45211e5fc0660e0d8fc1c11f08aa5c55e476dd17c37b2dadb1505d096d9f2

View File

@ -1,29 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Tool for rotating backup files"
HOMEPAGE="https://gitea.fulh.ax/feffe/rotator"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/rotator.git"
inherit git-r3
KEYWORDS="~amd64 ~arm64"
else
SRC_URI="https://gitea.fulh.ax/feffe/rotator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
S="${WORKDIR}/rotator"
fi
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND=""
RDEPEND=""
BDEPEND=""

View File

@ -1,29 +0,0 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Tool for rotating backup files"
HOMEPAGE="https://gitea.fulh.ax/feffe/rotator"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/rotator.git"
inherit git-r3
KEYWORDS="~amd64 ~arm64"
else
SRC_URI="https://gitea.fulh.ax/feffe/rotator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64"
S="${WORKDIR}/rotator"
fi
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND=""
RDEPEND=""
BDEPEND=""

View File

@ -1,3 +1,3 @@
DIST sau-1.2.0.tar.gz 9826 BLAKE2B 008e9683e99435d5c812e49ff6b9286d5dc0f4a6097eb56eac28c8ede77bed8ee1bd0382ffc02061ca71b856a03d71685a8f5021e1a8b52c41a2b6c0e57be2b0 SHA512 da38580b2989c04a7edf93d1f6222446e1ad9775e6d337aaf32d0a53019265a30457dc0351f7d18040c0f87bd6707105663d445410a330c41a2232ce2b4c1941
EBUILD sau-1.2.0.ebuild 646 BLAKE2B 36ebe6dcf3b28d63c214bd903a648c73aa0661f69c8b8557cf8347f34e1a087b23748a38b6eca8ddf9029d85e26a5533e0ff41d153683df173622a8152a879e5 SHA512 416226753408db6406e6ccc96f71ca8c05bd1f3f383f6f39b811a4a2e65fe501e3e66ab29d518f4d29dccc802e977a48c92d340dc65c2f6bcc240b0e362fe213
EBUILD sau-9999.ebuild 645 BLAKE2B 7625af641139a08799fadf2caafeac921f81dde1773b8c7f047bb31a3c98ef42bf35d862378018b8ea299acf11edcc385817d37f1bcd45f8581b92cc85514168 SHA512 959e853dc4f5694ee511edc5b3ceb58308e9e5cadd46f92dd4c4de140d60ed20fd2106ce81a29e2dd13eda2aa5598743f2ebd9410824ac281410446c20bf1c7a
DIST sau-1.4.8.tar.gz 11580 BLAKE2B 4cba4557586e0bfe7707ff715f03292777f03ee68f28c67b98775f54a020bde426ca57bdb3457cd82de3256b3da5540eed654fad3e6888e94e024a115a64a3cc SHA512 8606609e9cc1c566ea04086d034e09a09086f1d9ea693c62fdef0e55d569df39faae19c59d7974c9bae3c4bdf48877a0835f04bc3c729609d0d6132f0a72bcbb
EBUILD sau-1.4.8.ebuild 719 BLAKE2B 1674575b9a85d6ab62ab5f09fe4dd1465ad53c8e32f3e73edbf8e81dad6f4ffc98816af54c101e11251a0affabe223c51625412f1808df1b88e21ee9279f2af1 SHA512 95c6df9e10a827cfd28a288f834616bcc584c8b57e8ea0ba4fbb41bbd448aa69017ad9e8e6c5db62369ff5c3c1d5e8500834475b7915e5087aefdbba8858bb08
EBUILD sau-9999.ebuild 719 BLAKE2B 1674575b9a85d6ab62ab5f09fe4dd1465ad53c8e32f3e73edbf8e81dad6f4ffc98816af54c101e11251a0affabe223c51625412f1808df1b88e21ee9279f2af1 SHA512 95c6df9e10a827cfd28a288f834616bcc584c8b57e8ea0ba4fbb41bbd448aa69017ad9e8e6c5db62369ff5c3c1d5e8500834475b7915e5087aefdbba8858bb08

View File

@ -1,10 +1,11 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Tool for automatic upgrades"
@ -20,10 +21,11 @@ else
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE="selinux"
DEPEND="selinux? ( sec-policy/selinux-sau )"
RDEPEND="${DEPEND} dev-python/psutil"
RDEPEND="${DEPEND} dev-python/psutil app-portage/gentoolkit"
BDEPEND=""

View File

@ -1,15 +1,16 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Tool for automatic upgrades"
HOMEPAGE="https://gitea.fulh.ax/feffe/sau"
if [[ ${PV} == 9999 ]] ; then
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/sau.git"
inherit git-r3
KEYWORDS="~amd64 ~arm64"
@ -20,10 +21,11 @@ else
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE="selinux"
DEPEND="selinux? ( sec-policy/selinux-sau )"
RDEPEND="${DEPEND} dev-python/psutil"
RDEPEND="${DEPEND} dev-python/psutil app-portage/gentoolkit"
BDEPEND=""

View File

@ -1,3 +1,3 @@
DIST zsnapper-0.3.6.tar.gz 11757 BLAKE2B 3bda24c71f7176732ed0d2a29f49378833c2111561aeca43333a3ee46aa097f3805633c7d598125d5933128aadce770136a9bb4e64efd0b594f1ad8b1934ac2a SHA512 d0e801ceece9f8833acd07af367c387fb4fd4a1fe91a1768dcf6f0fa4602c44864bc63e8a893e61c2b85c333b56220bdc9ed08ba4be02fd5347586b1db9d798d
EBUILD zsnapper-0.3.6.ebuild 597 BLAKE2B eb747d939c2323f04fba9d7cd7b8a201695cedefdb890cd88e38a1840c7cf84ad0ca9692016e7a1658e254bd68a2ae9bf1569d56bdc73d511b55fbfacde442cf SHA512 d145556859eae4e30e125415a21449317c857f610394485e6facfaf4f2b27fc3fd45dcec6ad26be8f4fc8db69e430c546317a4f244af3d7761a1e8e75e3ec068
EBUILD zsnapper-9999.ebuild 584 BLAKE2B 7ad3a6509bd30fbef4161097bad6b39f33901dc2eb9fdbb18b3ecbb8e1f9d850ed94fe7cb5a64af60c82fb0f43475b7e47f50926d026b97a6fa226470caa5407 SHA512 60f5d05c05920ca733e92361806e738154ef5e9dadef8541af934d7693a311d1bc68080b54613f45ba9429d5b6fc35ca574b9a2d41e1411f399a7e3aeefa9c63
EBUILD zsnapper-0.3.6-r1.ebuild 645 BLAKE2B 394d15e44496b78d95e75a1b1d157d64e3ba8fdf667a2ec3e976f41f2114e9320d74929ddbbb0234590bd6def9e24daf6f46bf9074587686e0cbf3d90d043d39 SHA512 ea89712b805787f436145be391266112d3ba7788c0cc89b21a27780e8807df75dec74919c7872b33b1f2bc408afeb325bde6cd8005a29ae605184def21d14972
EBUILD zsnapper-9999.ebuild 645 BLAKE2B 394d15e44496b78d95e75a1b1d157d64e3ba8fdf667a2ec3e976f41f2114e9320d74929ddbbb0234590bd6def9e24daf6f46bf9074587686e0cbf3d90d043d39 SHA512 ea89712b805787f436145be391266112d3ba7788c0cc89b21a27780e8807df75dec74919c7872b33b1f2bc408afeb325bde6cd8005a29ae605184def21d14972

View File

@ -1,9 +1,11 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -20,6 +22,7 @@ else
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,9 +1,11 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{11,12,13} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -12,14 +14,15 @@ HOMEPAGE="https://gitea.fulh.ax/feffe/zsnapper"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/zsnapper.git"
inherit git-r3
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm64"
else
SRC_URI="https://gitea.fulh.ax/feffe/zsnapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/zsnapper"
KEYWORDS="amd64"
KEYWORDS="amd64 arm64"
fi
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,2 +1,2 @@
DIST nvtop-3.1.0.tar.gz 269897 BLAKE2B 8d8e8b8014ea4d9dba241d620eaf9b4c37e99b593a8dddc31cc40d084eb1d5aaf3dff712d86567f46fb3b360b77392ac1836c9487e6b9f9a2514b27f2ebd1e94 SHA512 a22806920d85954930cf9a24450de2603418326b59bc7acedf8ff59ddb0f40e119de496a63f42706b4b6961c83ba664a8a33a3e4106a1c3ef6cd3da758aa5a55
EBUILD nvtop-3.1.0.ebuild 1057 BLAKE2B c29fc5d13ec0d4826a1db0f86866a8c9080a0a8acd5cb2a65f500a0f287f6568f71be14b94e750c3e864801cceb2f332ff9a5a5f4f6ee7b606adfca34622ccad SHA512 6966c96589554e79724ac00b7104faa1c0097b03a3125c41a2bd6e148b1951f9d62c406b997b77ff6cc58c15edf609e2572bceac7e9098ca7595f8e715dc43ec
DIST nvtop-3.2.0.tar.gz 299547 BLAKE2B ea4c154adcfe8cd9187031b62413c981c558dd8ffcc86c01be05711184dcc0f0cf3df35ffc994bc26952e97704faa56519012c64e324ea874e5fe1cc4b370a68 SHA512 582b849c6d157321439344922c26ce8d74b9d44254f952e0c4737ea24893c16f1b61610426c4fcd2dfdcd03c81f857e2847c24d7b32f38562210f7ac3d50a7b0
EBUILD nvtop-3.2.0.ebuild 1057 BLAKE2B c29fc5d13ec0d4826a1db0f86866a8c9080a0a8acd5cb2a65f500a0f287f6568f71be14b94e750c3e864801cceb2f332ff9a5a5f4f6ee7b606adfca34622ccad SHA512 6966c96589554e79724ac00b7104faa1c0097b03a3125c41a2bd6e148b1951f9d62c406b997b77ff6cc58c15edf609e2572bceac7e9098ca7595f8e715dc43ec

View File

@ -0,0 +1,2 @@
DIST flaresolverr-3.4.1.tar.gz 231130917 BLAKE2B 6cf3bf375bc0ead1c661cd98be4a33c1403bcdf9d44a88646b896ec0951bef739468d5b67171044aefdd5b58752dd7971e5d5de574d81c763495ae0cb6b9a5e0 SHA512 20062282d21c7e39d8ceb77f18f01443ff9495c480a478a50ad03819504430e64d8018be2fb92b94102b2eefbef2ecef66b0d04a10b68c9bad156a91b4b1323c
EBUILD flaresolverr-bin-3.4.1.ebuild 1697 BLAKE2B cb314cb09e169fd1ec81c2dece030c9ac9ed798fe53846db1d3c899bf721479ab945cfd3206c589c70b31fe78c72ab2eba74324b26d12d22ef595ac619ee3277 SHA512 d9b768aa73d104efe5887f7e4896ccbb2595117cd86a692d8c7da2ff01102c6984a96c7df349d60ebae0c6d3624cf26af4116bd33e46c19d73b67557d3327177

View File

@ -0,0 +1,66 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
#inherit pax-utils systemd tmpfiles
DESCRIPTION="Proxy server to bypass Cloudflare protection"
HOMEPAGE="https://github.com/FlareSolverr/FlareSolverr"
KEYWORDS="-* ~amd64 ~arm64"
SRC_URI="https://github.com/FlareSolverr/FlareSolverr/releases/download/v${PV}/flaresolverr_linux_x64.tar.gz -> flaresolverr-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
RESTRICT="mirror test"
DEPEND=""
RDEPEND="${DEPEND}
dev-libs/nss
dev-libs/nspr
dev-libs/atk
net-print/cups
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/pango
x11-libs/cairo
media-libs/alsa-lib
media-libs/mesa
dev-python/xvfbwrapper
"
BDEPEND=""
INST_DIR="/opt/flaresolverr"
QA_PREBUILT="${INST_DIR#/}/flaresolverr ${INST_DIR#/}/_internal/selenium/webdriver/common/linux/selenium-manager ${INST_DIR#/}/_internal/*.so*"
src_unpack() {
unpack ${A}
mv flaresolverr ${P} || die
}
src_prepare() {
default
rm -f libreadline.so.8 || die
}
src_install() {
insinto ${INST_DIR}
dodir ${INST_DIR}
doins -r "${S}"/*
chmod 755 "${D}${INST_DIR}/flaresolverr"
chmod 755 "${D}${INST_DIR}/_internal/selenium/webdriver/common/linux/selenium-manager"
chmod 755 "${D}${INST_DIR}/_internal/chrome/chrome"
chmod 755 "${D}${INST_DIR}/_internal/chrome/chrome_crashpad_handler"
chmod 755 "${D}${INST_DIR}/_internal/chrome/chrome_sandbox"
chmod 755 "${D}${INST_DIR}/_internal/chrome/chrome-wrapper"
chmod 755 "${D}${INST_DIR}/_internal/chrome/xdg-mime"
chmod 755 "${D}${INST_DIR}/_internal/chrome/xdg-settings"
}

View File

@ -0,0 +1,11 @@
AUX jackett.init 133 BLAKE2B d2f03dbed251bfe5fd2d7d7751fee9997880a422fbb0f6e32f91939855019ccde23807d8300437643cb0770fc9e00c83f1ddf1ad5f06f5e2cd5c8c01dcc05513 SHA512 ea342cd3af5c85f73ffd732ee27af164f847c721c0b796e85c0af8b37d5215fa089a37d4c3c92226ed8befe9de05199903ce0a8327fd8fafcd3d25e54d0aa770
AUX jackett.logrotate 81 BLAKE2B 2ce4e141b68c9e7eeac5d141e3e839b6a0615f512d8a1f805e9c4b6c8d42c63348878abff799a809ffc07920e2dc0304de9e82dc20a1e624ef17c41daca1ca9d SHA512 c2ac5827be8b8ef6bb2109ccbd01754b086827311a6f41bb1d09e5c406787060aa236841bb40f83913a04702274454d86c63f1e9a968b11e1ac3181cdc166e93
AUX jackett.service 535 BLAKE2B 4bb328e433a1b0ecfc3e3d823ac9a27839c49d5a8b3e955f1605c7d38ea9bf1eabe3edde0a4a7a3115fd8b6ad823d6c97911d9299dd384094f5139401187017f SHA512 502c3b6cb4c2f6069762549cc83db29d5a0e0d447070e7a73c92f0ad8e7c73bd4c588df6b00b55b7abfde98f0dcc52169e16b5a9f37bceaf475b4920971dcc87
DIST jackett-0.22.2319-arm.tar.gz 46728534 BLAKE2B 2625aa0965889b8aa041a654a9847412c9d122f72e752103f0dcd2cfbe6c932fe2de597492810e1d2eaf2c1fa4efbb9552cb58f030b26206076275bf3872517d SHA512 fffe95cb16adea20237b1f56628b3c5065e589eda513912eeada031eb365320a98b985573a0ccf39f6486d6c86ac31751f3497d483c9ac816ed8a307cec34308
DIST jackett-0.22.2319-arm64.tar.gz 46805253 BLAKE2B e888d4945c17898fb41ac37f6d8d663f1f44d30457ff09c2022b2140e94b313035d45c827b19ef9a09790ad985a9666c04f7cd5fbf05d3d93e88c00668840de2 SHA512 40285b190ccc67cdd2578d18ed7f5a838f41da4ca1b1b384f54c4e7a17332df527a3ed4203a9a89d7ff42ac95a554d3820cd1f2e7bef1b11db123fd49c5d700a
DIST jackett-0.22.2319-musl-arm.tar.gz 46737236 BLAKE2B 9e824b1c04fdea80b0cb3b80804b3e6b8074d6ac8e42573ba0350a2e7911791ceb3ed005057e22015579e04fed690c8779a0d80d5cc9ba3f40a04b279b95c4cc SHA512 3f0a80a0246eb4d944ab4ff353ae8382677081756a45df21e5502af9af28a6b1d51c591ba597aa59ba2cd4f8e4c511fdb8c52fd230227f47868e68f62d3616c2
DIST jackett-0.22.2319-musl-arm64.tar.gz 46819355 BLAKE2B 75d5933126987b5f13be048bdaa4ecaa612f6f198fa18054eb285c9fd0a5d38f7336477f78ec0b1294054fbef2e281f1fabcd4c5ccec1c2cdc91237ccecca083 SHA512 5e5ed5bc77a51b1d0495362cbe1ef02ddeaad5eb35e0ab9a99097e786ada1b122c3ea4ae2808a63dcfc9b537fdbddf87273f2a7658acce6e64b1d518fe59a6dc
DIST jackett-0.22.2319-musl-x64.tar.gz 48490012 BLAKE2B bae5c2ac700c40eeb86758e8c0250673c33af90246d9c44b5dc170515c6a8d38c3da6069f4b355715b860d5cd5674e98288d09cbea244ca21c29dc161344c49e SHA512 38ad3cc3c0a665f208899867237074685d6a6d27b4699930ce501d3b1146cd80029491a440e8cb5f186613f99d03cfcebb79e652f6e6faa66c975c2f794700ac
DIST jackett-0.22.2319-x64.tar.gz 48465876 BLAKE2B 479ba8c22be0250f7ebd04603b5c02c09a824d9a6f3b307931688b3bd23fd99de1c77d985e1f01f2ad2bcd073255d4bc5cc5c31cae39f3d9255852640f2a083d SHA512 8adfab102bda694f6e87e5e844b95c26ced8d3cd0002bf132af7c02764f48a88ae917670da6f738fe6cf79fae0265b415d4695542d70276d549ff7014d7035cd
EBUILD jackett-bin-0.22.2319.ebuild 2028 BLAKE2B f24a70c6ac379da552f46f84727fa3767c7baf7bf84773932ab68472541ba2d8255bb7bdceb1ba3be5d56e665d35bc81ebd41307e60d3e409fb8cb7ca431552e SHA512 1851f057c183e9111265d5de8c89a0259fb6f47d1e61deedc7bbe08c6398f81db9a4692487687bdff14af078c5dcc2b01051a828c31d14f6c27daa67964b8063
MISC metadata.xml 642 BLAKE2B 42f5b5594835f9d0253e4baac0bb4c9c426fb7f5e812227bdbee4d24a3f826a341e3cab5d353e18881f3fe5ff32406283402bea4e36ed70ec77dca511ab68040 SHA512 0acf30d6c7cb994b837a6b90e26acf9a38fd0fa40ffab67c88fa1e4d201ad14f1b35073b5cbb658d2c423dc919ad2f7c863e49f6649b25264f0b5e068b5e26b5

View File

@ -0,0 +1,6 @@
#!/sbin/openrc-run
pidfile="/run/jackett.pid"
command="/opt/jackett/jackett"
command_user="jackett:jackett"
command_background=true

View File

@ -0,0 +1,4 @@
/var/lib/jackett/.config/Jackett/log.txt{
missingok
su jackett jackett
}

View File

@ -0,0 +1,30 @@
[Unit]
Description=API Support for your favorite torrent trackers
After=syslog.target network.target
[Service]
User=jackett
Group=jackett
Type=simple
ExecStart=/opt/jackett/jackett
TimeoutStopSec=20
KillMode=process
Restart=always
PrivateTmp=yes
PrivateDevices=yes
PrivateMounts=yes
ProtectHome=yes
ProtectSystem=full
NoNewPrivileges=yes
ProtectHostname=yes
ProtectClock=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
RestrictRealtime=yes
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,82 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit systemd
DESCRIPTION="API Support for your favorite torrent trackers"
HOMEPAGE="https://github.com/Jackett/Jackett/"
SRC_URI="
amd64? (
elibc_glibc? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxAMDx64.tar.gz
-> jackett-${PV}-x64.tar.gz
)
elibc_musl? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxMuslAMDx64.tar.gz
-> jackett-${PV}-musl-x64.tar.gz
)
)
arm? (
elibc_glibc? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxARM32.tar.gz
-> jackett-${PV}-arm.tar.gz
)
elibc_musl? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxMuslARM32.tar.gz
-> jackett-${PV}-musl-arm.tar.gz
)
)
arm64? (
elibc_glibc? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxARM64.tar.gz
-> jackett-${PV}-arm64.tar.gz
)
elibc_musl? (
https://github.com/Jackett/Jackett/releases/download/v${PV}/Jackett.Binaries.LinuxMuslARM64.tar.gz
-> jackett-${PV}-musl-arm64.tar.gz
)
)
"
S="${WORKDIR}/Jackett"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="bindist strip test"
RDEPEND="
acct-group/jackett
acct-user/jackett
media-video/mediainfo
dev-libs/icu
dev-db/sqlite
"
QA_PREBUILT="*"
src_prepare() {
default
# https://github.com/dotnet/runtime/issues/57784
find . -type f -iname libcoreclrtraceptprovider.so -delete || die
}
src_install() {
newinitd "${FILESDIR}/jackett.init" jackett
keepdir /var/lib/jackett
fowners -R jackett:jackett /var/lib/jackett
insinto /etc/logrotate.d
insopts -m0644 -o root -g root
newins "${FILESDIR}/jackett.logrotate" jackett
dodir "/opt/jackett"
cp -R "${S}/." "${D}/opt/jackett" || die "Install failed!"
systemd_dounit "${FILESDIR}/jackett.service"
systemd_newunit "${FILESDIR}/jackett.service" "jackett@.service"
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>PF4Public@mail.ru</email>
<name>PF4Public</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<upstream>
<remote-id type="github">Jackett/Jackett</remote-id>
<bugs-to>https://github.com/Jackett/Jackett/issues</bugs-to>
</upstream>
</pkgmetadata>