Compare commits
56 Commits
9ec8e29e97
...
gentoo#936
Author | SHA1 | Date | |
---|---|---|---|
1aa7218960
|
|||
289e9dde97
|
|||
7d3cc3165e
|
|||
c662a43789
|
|||
1f799f1c74
|
|||
a9831988a7
|
|||
a38a7363db
|
|||
dd0fc46544
|
|||
ae43fb2b6c
|
|||
5e0dd8d5bd
|
|||
95479bc718
|
|||
0bcfd1b3aa
|
|||
15a48b358b
|
|||
db898db5fe
|
|||
2a4fae1ee5
|
|||
240f985316
|
|||
8eb4598fc9
|
|||
0073645799
|
|||
012a5a63d7
|
|||
7439b3eb91
|
|||
a4123ef680
|
|||
ffc1dad46e
|
|||
37a89d941e
|
|||
ed55cf3172
|
|||
bf023c46b7
|
|||
17147768f3
|
|||
c24c44e69f
|
|||
662d3f49a8
|
|||
79aefe0fd0
|
|||
fa5ab6e58b
|
|||
9415bb9769
|
|||
c634aee104
|
|||
09e818c078
|
|||
298b6f4760
|
|||
b8b528b159
|
|||
6333477dd2
|
|||
2e41e2f155
|
|||
3622b2dae3
|
|||
d998d2bd0e
|
|||
30f245f9ec
|
|||
a4a584d40b
|
|||
6830175455
|
|||
66d72636c1
|
|||
4a2000c2d7
|
|||
689169bc81
|
|||
c04833e098
|
|||
2859d384db
|
|||
fb107dbdcb
|
|||
e62ce1026f
|
|||
62b8b68e5d
|
|||
c05728361a
|
|||
644aea884a
|
|||
f32568a8bb
|
|||
a3ccdb73ec
|
|||
2bd07c36dd
|
|||
617ea0459f
|
@ -1 +0,0 @@
|
||||
EBUILD jellyfin-0.ebuild 145 BLAKE2B 14bb760b602f8280deb4c0a361811f064335816fed47c5dda06fdb1bb2a0f31a9e94bbf44b7c0d02eef596322aa9e6a9f713a2c5f5481eb617ea65c508c20b69 SHA512 567a8129cae6d10de62fc0b0816031a6fbd43a5156853da4019ed9ccf741caf58c6e0e22d4c8ed59640225793d174dd282b8827ab4031f90c8f627485e8042c1
|
@ -1,8 +0,0 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=-1
|
@ -1 +0,0 @@
|
||||
EBUILD jellyfin-0.ebuild 267 BLAKE2B c24b0263b7ae6c64ae4faa79180b2bdc1a4dbef7fcca29155b737038901cd9c002b718508cc24e166f70334c4a4c90d2cd2485cb7aafcc270c928ac538c88bb1 SHA512 bfa55f0211aac129489d8d55d3dd4b7e403f2342db7ade4a7e3d95959d7836359d8b56c4d60788597d631da1d91ae0a28144180bf4ae46f36131d163de4617f4
|
@ -1,13 +0,0 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="user for jellyfin server"
|
||||
ACCT_USER_ID=-1
|
||||
ACCT_USER_HOME="/var/lib/jellyfin"
|
||||
ACCT_USER_GROUPS=( jellyfin )
|
||||
|
||||
acct-user_add_deps
|
@ -1,3 +1,3 @@
|
||||
DIST feffe-pwgen-1.0.tar.gz 6392 BLAKE2B 104969c8da4eaeede7889fae4d1364b7fba660866cfecaf1342db44cef36da6b797e2711a372b2e6a807494288941c6d02c3063a168f399b721d32326643a2b9 SHA512 9111b3604d2d9166a65a3f641b0d64196e4a8f700c60a82072dac8d6e3bdc7c8f281cb5c278fac59d38b30d50614334cb0b28b5835cecfaf70d045a4df85eff0
|
||||
EBUILD feffe-pwgen-1.0.ebuild 591 BLAKE2B b717b30b7f97be9b087e9131f76b8550e270181329920f6145be4e2431aadd78f18373b851e1081ebd34c08a49fd654ffd3fdc7d59bca2647d600834539d6dc5 SHA512 3ee0956d7c7418ab50888845c0c107921a7711659aceb09243747e25e0c855aee47a8aeeb5985a71d43cb1c7fbb3509cf08c26dac285058fb30b62b3f691cd09
|
||||
EBUILD feffe-pwgen-9999.ebuild 591 BLAKE2B b717b30b7f97be9b087e9131f76b8550e270181329920f6145be4e2431aadd78f18373b851e1081ebd34c08a49fd654ffd3fdc7d59bca2647d600834539d6dc5 SHA512 3ee0956d7c7418ab50888845c0c107921a7711659aceb09243747e25e0c855aee47a8aeeb5985a71d43cb1c7fbb3509cf08c26dac285058fb30b62b3f691cd09
|
||||
EBUILD feffe-pwgen-1.0.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759
|
||||
EBUILD feffe-pwgen-9999.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,11 +12,11 @@ HOMEPAGE="https://gitea.fulh.ax/feffe/pwgen"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/pwgen.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/pwgen/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/pwgen"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,11 +12,11 @@ HOMEPAGE="https://gitea.fulh.ax/feffe/pwgen"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/pwgen.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/pwgen/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/pwgen"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST beancount-2.3.6.tar.gz 1720239 BLAKE2B 769aa27a9edc201e33a85f92780b4140b1758a35ca865255183bdcaf4c515ba3bf4c6711aa2842c9219027a44a7cc334c39b48eb36f5145caa689ba90cda64d5 SHA512 52b65f99753e9473aae7736419d104e46b422b33f854170cc0242a95c1d12483aae95264138f81d28c9a7b50ca961e75163cce83868db5bcc9afe7d2337f3036
|
||||
EBUILD beancount-2.3.6.ebuild 607 BLAKE2B 4d6766ffe957c9bcf61405079926261561d32a0d3e94260c612d1f78a2389f2f57dfc8cd87632f220e8f8d1aedad892fa9118861e7288e7ce10e38fac0a11606 SHA512 949ed6f021be0b76489284942442334bc1beb9a6d7400de6b780ac8acd6e6c1a8b5e5adebe5849fcf0e547a25c770ef29d9fcdaba90f5e5d46ee22e375aecaab
|
||||
EBUILD beancount-2.3.6.ebuild 613 BLAKE2B 8654c6bbd2dcc897109b75503ccf4f0f53fbff607d521f837470a56d74e35c3962e5d338330ea602efeb19a495fc026326896ac89dc76d73af58ca249cc513cb SHA512 4bee9e1dd6c8bd63a862d161d38b370f029e05d990054b5c8e7360615acc4b82bf77b1788570fc84763011a21aa47a65971dc1a30fa692151ced0070b43be09f
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10,11,12} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -13,7 +13,7 @@ SRC_URI="https://github.com/beancount/beancount/archive/refs/tags/${PV}.tar.gz -
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
|
||||
DEPEND="
|
||||
dev-python/python-dateutil
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST pystray-0.19.5.tar.gz 48142 BLAKE2B 34bea3d14cfde7ee7a7d2594da2386265fba34b36f4699b5877ea393dbf7e844fe441a1bda384bb6b3f279a544cba897e04509f7c47d69cb5168793665ae73d4 SHA512 6b8854d995bded41fd6eaefd4bc421ec40f81c200c84a0050095ab654c6d4afc261571bcd397c0a83f60147fe25ee8a48ed8ec49db348d925880b109143f1b3a
|
||||
EBUILD pystray-0.19.5.ebuild 574 BLAKE2B 869e9a08eec3f1f6826d73f1adb13dcb755cea65cf5fda1962b0a5a7f87632b4cdeee0dd17adaa16b3c12d9161d6df34882ad107dfe7a8a6548bebde89edbb3f SHA512 a9fc8809e29b12ace7b3b47debd2279b53bae2e83f35a3b878d8c23152704545de039795b1686a054fba2bfb3d69dac34de27c2f58160051c41c60b666b4475f
|
||||
EBUILD pystray-0.19.5.ebuild 583 BLAKE2B 0137a14c221b726817f404ff86a48eb24161eb91237c15dc1d0e75f31937be75434a2852573e3f0ce02a9ddfd9a31c5b9013662b9cb3f0ad11b3bbba1e39671d SHA512 a5eb62deecc4e1bcd22ff9df16fa6bbee632dbf0af740c4ff9a93b1a1e7f404021f1b6ad0cc3ea8aed70a29e1cf4f06eb8edf20367be0875445bec2a32d8af07
|
||||
|
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11,12} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="This library allows you to create a system tray icon."
|
||||
@ -15,7 +15,7 @@ SRC_URI="https://github.com/moses-palmer/pystray/archive/refs/tags/v${PV}.tar.gz
|
||||
|
||||
LICENSE="GPL-3 LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/pillow
|
||||
|
@ -1 +1 @@
|
||||
EBUILD adbb-9999.ebuild 659 BLAKE2B 7ad4bfd8f0c63dba6692ea7954950670cd80602190c1cd4b3f20806a4c69eff7564530230493d703e295b519da32d5bacc7659e0236ede2520d9b8105b5e777a SHA512 003f56bcf167d736649ac359507486d4183a9a27bcea8e7bf21a14c1e1b67c4bc9b6015b113cd35cc07974281aa6af67675c55869f3cee1529bc519f69a160e6
|
||||
EBUILD adbb-9999.ebuild 658 BLAKE2B 5f0c977727e8de4b3b68c20029b1c056fdcd14ca532605c8fdbaf23cc578456ffe206447be6665eab47c9e630dc890ee663c2035744c8070b782aa0edb3d7dc6 SHA512 64b719dfd170a60ab9405517bda1b2fce1eebfcfe5ff1f6a086ffaa7bf49abfb9bdacd3eab3ec7a215af0cdd9f0ad34ddd6573253fc2150a6f96cc973902a65c
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
@ -1,4 +1,2 @@
|
||||
DIST jellyfin-apiclient-python-1.8.1.tar.gz 29019 BLAKE2B 60a666b132f3d94e57bf09f32184b260e1562206f78a4e9836cb5618d072a91d1461282340d6b8a1cc21e8495df26fd3daa1d7191f0a95ef5e49f9cecfe37964 SHA512 b858fda1d16cf5e4bd6b0fa814b4ae7a8e4dc841dad91b0568c526885910339e2fa2740ee88a55f680d4bfdc00b0f5dbe1c6b6ef5b144b28b44ee9f75abd3bd1
|
||||
DIST jellyfin-apiclient-python-1.9.2.tar.gz 29535 BLAKE2B ba12075a54df646c02fe437c576e3a19f38082080e6c136d88abf45f2eaba5d308259f16df46b4c7a5d76978ebf3392111fd0b3b3d2ee2c9496acf64fb8553b6 SHA512 43f1850c2904f200a9055b8f579534c486f0f29ca04004bd5cda58f6d2a24275a5e4ceb356344335a660f53cc81f47aa4749c048642e5f4e05b640e11a574e37
|
||||
EBUILD jellyfin-apiclient-python-1.8.1.ebuild 730 BLAKE2B 159550e37fb5f0606542049bd36e67c6dde549668aabb2357e3aca81b87b562a9121be9ef859754d51a309ecc1aba221d06282893b4afd7761ad67c09ff7b55c SHA512 d0df4e909036fe2ed4ef0e1698a7873e2de5800deee79ec30f6e052b6eebd9ce1e91f57db496c12e85fae412cda3462e08b33defa409585f65d57bfba9ef49a3
|
||||
EBUILD jellyfin-apiclient-python-1.9.2.ebuild 729 BLAKE2B c204d162d712efcb315dbb62f5e507712ba5940cf9491fcfb55a2f266be3eb23d835b8d6049c5e4e8d4f90082178420de102fdba3df05311d59196b6c0937acb SHA512 e6f5f82698433df5e31116330e39d723117ae749d572cb2d93f851c46cb5a2175e26895dc0cc88424aad22aa37acb26c70414eda4344a8c63d56e57aa383b34c
|
||||
EBUILD jellyfin-apiclient-python-1.9.2.ebuild 729 BLAKE2B 26ebb0e1eb985405dc609c83f93299e5c2b6f7c2d39d810a4dc221f35c3757b4c8ad0fcd45e016600dfbc27a76290733e4872a5bb1a2f5fd6bede9988bce77f4 SHA512 3e95bb065fb5fda303734d91b0cf236fd59941e581474421a0b48f903b4a318b61fb259ca775e631ca398b155229e6b7030865617d46e94decba99e23f0fe589
|
||||
|
@ -1,34 +0,0 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="python library for jellyfin"
|
||||
HOMEPAGE="https://github.com/jellyfin/jellyfin-apiclient-python"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/jellyfin/jellyfin-apiclient-python"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64"
|
||||
else
|
||||
SRC_URI="https://github.com/jellyfin/jellyfin-apiclient-python/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64"
|
||||
fi
|
||||
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-python/requests
|
||||
dev-python/urllib3
|
||||
dev-python/websocket-client
|
||||
dev-python/six
|
||||
dev-python/certifi
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{10,11,12} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
@ -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 fd42cccd461a8d92bd2a699c011434ba812180e7022f695b0f0dbd1301a5b1a22f3dbbe6e198a660407ca940e7e643c5afb3ecc55c179562ce09bda6d6e91d03 SHA512 ee35d9d8fef74aeacdb725e0cf077520d0d4921cef4c4abcfe5ee1bbf0b397f8d0b03a116b653ffed37113ae0033ed45f5fbdfda8898928d40c7539cdb1712a9
|
||||
EBUILD python-mpv-jsonipc-1.2.0.ebuild 681 BLAKE2B bb4d5d11b7ee1f10c0de51cd8546491f23fae7334b47a2d15193c925737a9dd0d2cf1f3c91d0a96aabe574daca51df730a99244504b0afcd1ebbfae1bf7ebb36 SHA512 7732794d5123f24e5d5243902f479e4bfe852659c56f2c2c900c49b4ad2944020a24f622d9405636b1acaccf4a328578df4d393d80f677ef701d599211853d8b
|
||||
|
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10,11,12} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
3
media-plugins/kodi-inputstream-adaptive/Manifest
Normal file
3
media-plugins/kodi-inputstream-adaptive/Manifest
Normal file
@ -0,0 +1,3 @@
|
||||
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
|
@ -0,0 +1,49 @@
|
||||
# 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
|
||||
}
|
7
media-plugins/kodi-inputstream-ffmpegdirect/Manifest
Normal file
7
media-plugins/kodi-inputstream-ffmpegdirect/Manifest
Normal file
@ -0,0 +1,7 @@
|
||||
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
|
@ -0,0 +1,25 @@
|
||||
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)
|
||||
{
|
@ -0,0 +1,290 @@
|
||||
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
|
@ -0,0 +1,319 @@
|
||||
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
|
@ -0,0 +1,31 @@
|
||||
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);
|
||||
|
@ -0,0 +1,47 @@
|
||||
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
|
@ -0,0 +1,51 @@
|
||||
# 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
|
||||
}
|
2
media-plugins/kodi-pvr-hts/Manifest
Normal file
2
media-plugins/kodi-pvr-hts/Manifest
Normal file
@ -0,0 +1,2 @@
|
||||
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
|
27
media-plugins/kodi-pvr-hts/kodi-pvr-hts-20.7.2.ebuild
Normal file
27
media-plugins/kodi-pvr-hts/kodi-pvr-hts-20.7.2.ebuild
Normal file
@ -0,0 +1,27 @@
|
||||
# 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}
|
||||
"
|
2
media-plugins/kodi-vfs-sftp/Manifest
Normal file
2
media-plugins/kodi-vfs-sftp/Manifest
Normal file
@ -0,0 +1,2 @@
|
||||
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
|
40
media-plugins/kodi-vfs-sftp/kodi-vfs-sftp-20.1.0.ebuild
Normal file
40
media-plugins/kodi-vfs-sftp/kodi-vfs-sftp-20.1.0.ebuild
Normal file
@ -0,0 +1,40 @@
|
||||
# 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
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST jellyfin-ffmpeg_6.0.1-4_portable_linux64-gpl.tar.xz 52395296 BLAKE2B e026fbe09d05a6f026431179168d6bf6b39290d2a7db607fe56f049ad8acab2a31add91990d16b7f4348267434282f2eed03250ffcd1d3463cc91de3ed85bf2b SHA512 4e11e825ea204e2d348f51e863980ca13fba0607fee68ca35c7959f09d6550eff8a62fc71f35fb0e6f6a6a80864c9fcdc4c1179e5d272c60bbe9084648e19031
|
||||
EBUILD jellyfin-ffmpeg-6.0.1-r4.ebuild 789 BLAKE2B ec1876d818b653e8880c3c971b564f0b02e711babf57c3a71033e1010a909182c488b3186969c8ebd013f76d989c2242233c8acb632be8c4467222261b18036a SHA512 44a7d1ef2bc790c3a257b150d60bdfb65196870ce2866c4f1b86b010c6a8700f4d3ea8cac866a1ddcbce1caa08eb4c76ee24214a6ae60b6bb848bcad7428dd29
|
||||
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
|
||||
|
@ -5,8 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media."
|
||||
|
||||
UPSTREAM_VERSION="${PV%.*}-${PV##*.}"
|
||||
HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/"
|
||||
SRC_URI="https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PV}-4/jellyfin-ffmpeg_${PV}-4_portable_linux64-gpl.tar.xz"
|
||||
SRC_URI="https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${UPSTREAM_VERSION}/jellyfin-ffmpeg_${UPSTREAM_VERSION}_portable_linux64-gpl.tar.xz"
|
||||
RESTRICT="mirror test"
|
||||
|
||||
LICENSE="GPL-2"
|
@ -1,2 +1,3 @@
|
||||
DIST jellyfin-mpv-shim-2.6.0.tar.gz 550924 BLAKE2B 13c6623b4a83f1c596034b14a3cef1d8c0bd7651024c3c9fcba4fdde332f6b350e34fa18d4de075953e46ac2ec33624bcfa0c43b8887c21d14de682d04830a07 SHA512 b48415ba72aa557752fc4b287e40bf4311f64d436217cc8d5dcdc09b087b0f0174cbf56c18c559bf66e404638a6308030e98ce28e6beeb832c04d9931d248ce0
|
||||
EBUILD jellyfin-mpv-shim-2.6.0.ebuild 940 BLAKE2B eb04a2c100a51f78cf0e5ee46135cc4ba07e2495f65ccf3819d7f64f7f7b149e21da169abd4b7a49a308ed12e185a7df322b50aa9b882e91cf2a834b2478c675 SHA512 f494e1bd48171d480eb979041b3f039086a5c71901b90676622bd481f4bd67ef6c5268d34225fe82c3376d0640fc7465cc39b9d79c89ff34965829e510feb558
|
||||
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
|
||||
|
11
media-video/jellyfin-mpv-shim/files/no-shaders.patch
Normal file
11
media-video/jellyfin-mpv-shim/files/no-shaders.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/setup.py.orig 2024-05-14 19:12:30.482654000 +0200
|
||||
+++ b/setup.py 2024-05-14 19:13:20.339226435 +0200
|
||||
@@ -26,8 +26,6 @@
|
||||
packages.extend(
|
||||
[
|
||||
"jellyfin_mpv_shim.messages",
|
||||
- "jellyfin_mpv_shim.default_shader_pack",
|
||||
- "jellyfin_mpv_shim.default_shader_pack.shaders",
|
||||
"jellyfin_mpv_shim.integration",
|
||||
]
|
||||
)
|
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10,11,12} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -23,6 +23,10 @@ fi
|
||||
|
||||
LICENSE="MIT GPL-3"
|
||||
SLOT="0"
|
||||
PATCHES=(
|
||||
"${FILESDIR}/no-shaders.patch"
|
||||
)
|
||||
|
||||
IUSE="tray mirror discord"
|
||||
|
||||
DEPEND="
|
@ -1,2 +1,2 @@
|
||||
DIST v0.0.1.tar.gz 3154 BLAKE2B 02a9f0b6ac313597ae04aac98fef28e7f5cbb5d99bd0a4f03d105a9e1448cb2090547bc44cbbc124500fdeddf6d3e778422059266ca3833d975012564b496e34 SHA512 94d205ad24dde3d68e836699794e4cd8bc7243765a57808926aee479959be3d9ca57e05628e33fffa2419a475d040b38cc0437859722c82ff25b6a5e807e7934
|
||||
EBUILD check_service-0.0.1.ebuild 461 BLAKE2B fa4df257292372619f7694cfb544b3dc51a255154f56f0cd1a369d37082b58151c5c9aa7eb424ab7d749850f22e84d4b2d30f09f9d7ab760e43f4ca099ce2c9e SHA512 0cd1abd30095176c423ea555dae60913b42b3a8708e9e9ca06a6640e14a7dc467490d9a0ba1746a16da61fc2b9612a82e06e8a6c6761a969ee43e302cdaabd9b
|
||||
EBUILD check_service-0.0.1.ebuild 466 BLAKE2B 9bb858824e375741f427b2535e477da904998434f912ac2171bc3387cc5f145900c0ff8e1c6a7e4fb9ebe934ebc39cbd706cfde6d0d327cbf35d3c74e77de250 SHA512 90f6f835d89a372f3bcaec176fe778f454d5dcc2cfde168df0601f1dfcb2f8fe9fa9cfddc9c73744049e2f4a06337c367a5f4f60b8ab58b7989fb53dd3fe8012
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -15,7 +15,7 @@ S="${WORKDIR}/check_service"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
KEYWORDS="amd64 x86 arm64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
|
@ -1,6 +1,4 @@
|
||||
AUX 1.00.37-libsane-smfp.rules 9401 SHA256 528b6eea5f9cfd537f77239d3d32547c20a06a66f02ac036dd732b4f4938d5fd SHA512 2fa0cbab5187a545004727b50838f1abed35dfbe839f129d1bb99ef290ce05788101cd3ebe6bd1ef8b799605550d2885c18ea2cfd6b2a64e9eea4383bf185dbc WHIRLPOOL f272c0754646999fd1b79091b2b17f4e6ed8e2a2397e1d8f0b93e6824402252e6a84a004992cef610302ca1a65eebeaf19c2e6efa8925ba86d200e3269fde662
|
||||
AUX 1.00.39-libsane-smfp.rules 9401 SHA256 528b6eea5f9cfd537f77239d3d32547c20a06a66f02ac036dd732b4f4938d5fd SHA512 2fa0cbab5187a545004727b50838f1abed35dfbe839f129d1bb99ef290ce05788101cd3ebe6bd1ef8b799605550d2885c18ea2cfd6b2a64e9eea4383bf185dbc WHIRLPOOL f272c0754646999fd1b79091b2b17f4e6ed8e2a2397e1d8f0b93e6824402252e6a84a004992cef610302ca1a65eebeaf19c2e6efa8925ba86d200e3269fde662
|
||||
DIST samsung-unified-driver-1.00.37.tar.gz 15409140 SHA256 6b85253ea0bb51d241f6fd665ff0d39464cdad87084802a77a385c707fa2c664 SHA512 96feb7f7464db616f400f34a61bf6facafe51da9a48e19d6c4e702ea2377e86f5a5f93d085c50c8220396249febbf8e604a9fe27c25324f36ad0e58552af21fb WHIRLPOOL 5d1f40e89da8736fbfa3c533628cb246d49172a5017e8b4743cbabca2bdde9ee9e367f0e8b903c5ad7b8fb15da5d3a3bda30f6834e753ed32fc710983f9b4377
|
||||
DIST samsung-unified-driver-1.00.39.tar.gz 15443851 SHA256 09c166f9b1e11ff312965886387ee31c6980867c67c3d6206680cbae76ae6746 SHA512 fccda77af20b31c9b46117b013d0c40333adc87679057c2b1e513d9bae97fc7267eca74030bc039feec50edee8e4cdfebe8761c77d653646f7ea4ac102c2643f WHIRLPOOL 148453d04e1856c36b7f13b64d6aea2b4cfefe3cd28fa3b5f561fcd26844a631df6f57ed3c509f0d648eca81995b8647700e17b744674060f16c597d8889c115
|
||||
EBUILD samsung-unified-driver-1.00.37.ebuild 3122 SHA256 8678b85b811fdd4831cede7f23f5b6b7419e8d2d35dc0f0bb6850e9839d7a6d5 SHA512 dde259c88b8ee5ed6f8e74f717577d6075b43bfb6cd35d186b5f8786c45a7bbf986787150f7b23a51cd08d050292ff20bbc66543d35c1516580e4f20d3e92261 WHIRLPOOL eb8edfc77bc5b587bb4685a73801209a24c7ef1153ee6631b8bca36d53f0f082eba300f0620318b14f0c0dc48fc5753cba63b038e6d00c190524124d24f99770
|
||||
EBUILD samsung-unified-driver-1.00.39.ebuild 3122 SHA256 bb7cc8085d079a8dfa767ee5c86af5a7c63968fd6040121b2cc247d98be6fb5b SHA512 40dd30173ec0460bef3caac6349db4f7a2dfa06f0bded159ca4bce9cc6c65c39b7ccaf7659917729afd5248319f10051b126c6b9c14dd1cf4701d7c400d29c61 WHIRLPOOL f7163add33cdbdaf735028e97e1a3d94bca5930c3d389c105eb7c41e4b847bcadc5188bd86d9301d44be69db2fe99dc223c49a62af8fca6ca3cf726f510e6c87
|
||||
AUX 1.00.37-libsane-smfp.rules 9401 BLAKE2B f9a8533507df5321c30eadb23cf79b1352334feec7b75cc316a48ff359cb6f44c9c6796158448a5d5150ac2afb4bac9c5b69b6d034c77dabb10034de6fe79f2a SHA512 2fa0cbab5187a545004727b50838f1abed35dfbe839f129d1bb99ef290ce05788101cd3ebe6bd1ef8b799605550d2885c18ea2cfd6b2a64e9eea4383bf185dbc
|
||||
AUX 1.00.39-libsane-smfp.rules 9401 BLAKE2B f9a8533507df5321c30eadb23cf79b1352334feec7b75cc316a48ff359cb6f44c9c6796158448a5d5150ac2afb4bac9c5b69b6d034c77dabb10034de6fe79f2a SHA512 2fa0cbab5187a545004727b50838f1abed35dfbe839f129d1bb99ef290ce05788101cd3ebe6bd1ef8b799605550d2885c18ea2cfd6b2a64e9eea4383bf185dbc
|
||||
DIST samsung-unified-driver-1.00.39.tar.gz 15443851 BLAKE2B da438fc4347462b5719d6d09a6c47ffd039facb8556b93dbad07a88168180810043b111f0944536abab1010b6b1aeb6a9288fff11cdadf2728f2abf781e68a6f SHA512 fccda77af20b31c9b46117b013d0c40333adc87679057c2b1e513d9bae97fc7267eca74030bc039feec50edee8e4cdfebe8761c77d653646f7ea4ac102c2643f
|
||||
EBUILD samsung-unified-driver-1.00.39.ebuild 3123 BLAKE2B 51ab38fc772f8e1944a540bae35e87cfc5b32c94cf737a401be1d4a96dddb9597aaba67842a248f4bc6dbd72e04fd91a332fb56f81ccd848edad4da540385700 SHA512 810116cbcfda8d4c16f9a0f530cae01efcace06c344a5c2f1f0e7ec8b22c5af305796929b53f9fccc2eb017a03ffd810f2ccd11c89d5519296372731d9cc17ad
|
||||
|
@ -1,120 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit linux-info udev vcs-snapshot
|
||||
|
||||
EXTRA_PV=00.99
|
||||
|
||||
DESCRIPTION="Samsung Unified Linux Driver for printers and MFDs"
|
||||
HOMEPAGE="http://www.samsung.com"
|
||||
SRC_URI="http://downloadcenter.samsung.com/content/DR/201512/20151211135958538/ULD_v${PV}_${EXTRA_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Samsung-EULA"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="cups network scanner"
|
||||
|
||||
RDEPEND="
|
||||
cups? (
|
||||
net-print/cups
|
||||
!net-print/splix
|
||||
)
|
||||
scanner? (
|
||||
media-gfx/sane-backends
|
||||
dev-libs/libxml2:2
|
||||
virtual/libusb:0
|
||||
)
|
||||
network? ( virtual/libusb )
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
network? ( cups )
|
||||
|| ( cups scanner )
|
||||
"
|
||||
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
pkg_pretend() {
|
||||
if use scanner && ! has_version ${CATEGORY}/${PN}[scanner]; then
|
||||
if ! linux_config_exists || linux_chkconfig_present USB_PRINTER; then
|
||||
ewarn "Samsung USB MFDs are normally managed via libusb."
|
||||
ewarn "In this case, you need to either disable the USB_PRINTER"
|
||||
ewarn "support in your kernel, or blacklist the 'usblp' module."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use cups; then
|
||||
QA_SONAME="usr/$(get_libdir)/libscmssc.so"
|
||||
QA_FLAGS_IGNORED+=" usr/$(get_libdir)/libscmssc.so"
|
||||
QA_FLAGS_IGNORED+=" usr/libexec/cups/filter/pstosecps"
|
||||
QA_FLAGS_IGNORED+=" usr/libexec/cups/filter/rastertospl"
|
||||
fi
|
||||
if use scanner; then
|
||||
QA_FLAGS_IGNORED+=" usr/$(get_libdir)/sane/libsane-smfp.so.1.0.1"
|
||||
fi
|
||||
if use network; then
|
||||
QA_FLAGS_IGNORED+=" usr/libexec/cups/backend/smfpnetdiscovery"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MY_ARCH="x86_64"
|
||||
use x86 && MY_ARCH="i386"
|
||||
|
||||
# Printer support.
|
||||
if use cups; then
|
||||
# libscmssc.so is required by rastertospl.
|
||||
dolib.so ${MY_ARCH}/libscmssc.so
|
||||
|
||||
exeinto /usr/libexec/cups/filter
|
||||
doexe ${MY_ARCH}/{pstosecps,rastertospl}
|
||||
|
||||
dodir /usr/share/cups/model/samsung
|
||||
insinto /usr/share/cups/model/samsung
|
||||
doins noarch/share/ppd/*.ppd
|
||||
gzip -9 "${ED}"usr/share/cups/model/samsung/*.ppd || die
|
||||
|
||||
dodir /usr/share/cups/profiles/samsung
|
||||
insinto /usr/share/cups/profiles/samsung
|
||||
doins noarch/share/ppd/cms/*.cts
|
||||
fi
|
||||
|
||||
# Scanner support.
|
||||
if use scanner; then
|
||||
insinto /etc/sane.d
|
||||
doins noarch/etc/smfp.conf
|
||||
|
||||
dodir /opt/samsung/scanner/share
|
||||
insinto /opt/samsung/scanner/share
|
||||
doins noarch/oem.conf
|
||||
|
||||
exeinto /usr/$(get_libdir)/sane
|
||||
doexe ${MY_ARCH}/libsane-smfp.so.1.0.1
|
||||
|
||||
dosym libsane-smfp.so.1.0.1 /usr/$(get_libdir)/sane/libsane-smfp.so
|
||||
dosym libsane-smfp.so.1.0.1 /usr/$(get_libdir)/sane/libsane-smfp.so.1
|
||||
|
||||
udev_newrules "${FILESDIR}/${PV}-libsane-smfp.rules" 40-libsane-smfp.rules
|
||||
fi
|
||||
|
||||
# Network support.
|
||||
if use network; then
|
||||
exeinto /usr/libexec/cups/backend
|
||||
doexe ${MY_ARCH}/smfpnetdiscovery
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use scanner && ! has_version ${CATEGORY}/${PN}[scanner]; then
|
||||
elog "You need to manually add 'smfp' backend to /etc/sane.d/dll.conf:"
|
||||
elog "# echo smfp >> /etc/sane.d/dll.conf"
|
||||
fi
|
||||
if use network && ! has_version ${CATEGORY}/${PN}[network]; then
|
||||
elog "If you are behind a firewall, you need to allow SNMP UDP packets"
|
||||
elog "with source port 161 and destination port 22161."
|
||||
fi
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=8
|
||||
|
||||
inherit linux-info udev vcs-snapshot
|
||||
|
||||
@ -76,7 +76,7 @@ src_install() {
|
||||
dodir /usr/share/cups/model/samsung
|
||||
insinto /usr/share/cups/model/samsung
|
||||
doins noarch/share/ppd/*.ppd
|
||||
gzip -9 "${ED}"usr/share/cups/model/samsung/*.ppd || die
|
||||
gzip -9 "${ED}"/usr/share/cups/model/samsung/*.ppd || die
|
||||
|
||||
dodir /usr/share/cups/profiles/samsung
|
||||
insinto /usr/share/cups/profiles/samsung
|
||||
|
@ -1,2 +0,0 @@
|
||||
feffe:default/linux/amd64/17.1/feffe/server
|
||||
../../../../../../targets/desktop
|
@ -1,2 +0,0 @@
|
||||
gentoo:default/linux/amd64/17.1/hardened/selinux
|
||||
../../../../../../targets/server
|
2
profiles/default/linux/amd64/23.0/feffe/desktop/parent
Normal file
2
profiles/default/linux/amd64/23.0/feffe/desktop/parent
Normal file
@ -0,0 +1,2 @@
|
||||
feffe:default/linux/amd64/23.0/feffe/server/systemd
|
||||
../../../../../../targets/desktop
|
2
profiles/default/linux/amd64/23.0/feffe/server/parent
Normal file
2
profiles/default/linux/amd64/23.0/feffe/server/parent
Normal file
@ -0,0 +1,2 @@
|
||||
gentoo:default/linux/amd64/23.0/hardened/selinux
|
||||
../../../../../../targets/server
|
@ -0,0 +1 @@
|
||||
7
|
@ -0,0 +1,2 @@
|
||||
gentoo:default/linux/amd64/23.0/hardened/selinux/systemd
|
||||
../../../../../../../targets/server
|
1
profiles/default/linux/arm64/23.0/feffe/rpi4/eapi
Normal file
1
profiles/default/linux/arm64/23.0/feffe/rpi4/eapi
Normal file
@ -0,0 +1 @@
|
||||
7
|
2
profiles/default/linux/arm64/23.0/feffe/rpi4/parent
Normal file
2
profiles/default/linux/arm64/23.0/feffe/rpi4/parent
Normal file
@ -0,0 +1,2 @@
|
||||
gentoo:default/linux/arm64/23.0/hardened/selinux/systemd
|
||||
../../../../../../targets/rpi4
|
@ -1,2 +1,4 @@
|
||||
amd64 default/linux/amd64/17.1/feffe/desktop exp
|
||||
amd64 default/linux/amd64/17.1/feffe/server exp
|
||||
amd64 default/linux/amd64/23.0/feffe/server exp
|
||||
amd64 default/linux/amd64/23.0/feffe/server/systemd exp
|
||||
amd64 default/linux/amd64/23.0/feffe/desktop exp
|
||||
arm64 default/linux/arm64/23.0/feffe/rpi4 exp
|
||||
|
@ -8,14 +8,17 @@ ABI_X86="64 32"
|
||||
|
||||
POLICY_TYPES="mcs"
|
||||
|
||||
PYTHON_SINGLE_TARGET="-* python3_11"
|
||||
PYTHON_TARGETS="python3_11 python3_12"
|
||||
|
||||
USE="${USE}
|
||||
kerberos ldap gssapi
|
||||
X gui widgets rdp vnc wayland tray systray
|
||||
fcitx4 truetype fontconfig spell harfbuzz xft
|
||||
opengl vaapi vdpau xinerama libkms dri egl qsv vulkan vmaf
|
||||
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
|
||||
jpeg zimg png tiff gif exif xmp svg hdri heif corefonts webp raw x265 libde265 wallpapers vpx gdk-pixbuf
|
||||
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
|
||||
@ -27,4 +30,5 @@ USE="${USE}
|
||||
hwaccel
|
||||
qt qt5
|
||||
rustfmt
|
||||
libxml2
|
||||
"
|
||||
|
@ -1,4 +1,6 @@
|
||||
media-libs/oneVPL ~amd64
|
||||
media-libs/libva ~amd64
|
||||
media-libs/gmmlib ~amd64
|
||||
media-libs/libvpl ~amd64
|
||||
media-libs/libvmaf ~amd64
|
||||
media-libs/oneVPL-intel-gpu ~amd64
|
||||
media-libs/libva-intel-media-driver ~amd64
|
||||
|
@ -1,4 +1,6 @@
|
||||
=dev-libs/libudfread-1.1.2 ~amd64
|
||||
<media-tv/kodi-19.9999 ~amd64
|
||||
=media-plugins/kodi-vfs-sftp-2.0.0 ~amd64
|
||||
=media-plugins/kodi-repository-jellyfin-1.0 ~amd64
|
||||
=media-tv/kodi-20.3 ~amd64
|
||||
media-plugins/kodi-vfs-sftp ~amd64
|
||||
media-plugins/kodi-repository-jellyfin ~amd64
|
||||
media-plugins/kodi-inputstream-adaptive ~amd64
|
||||
media-plugins/kodi-inputstream-ffmpegdirect ~amd64
|
||||
media-plugins/kodi-pvr-hts ~amd64
|
||||
|
@ -1 +1,2 @@
|
||||
=mail-client/thunderbird-78.14.0 ~amd64
|
||||
=net-libs/nodejs-22.4.1 ~amd64
|
||||
|
@ -0,0 +1 @@
|
||||
=dev-python/python-mpv-1.0.7
|
@ -1 +1 @@
|
||||
media-tv/kodi mysql power-control
|
||||
media-tv/kodi power-control -X -gbm
|
||||
|
2
profiles/targets/desktop/package.use/playerctl
Normal file
2
profiles/targets/desktop/package.use/playerctl
Normal file
@ -0,0 +1,2 @@
|
||||
# required for player bar in swaybar
|
||||
media-sound/playerctl introspection
|
2
profiles/targets/desktop/package.use/python
Normal file
2
profiles/targets/desktop/package.use/python
Normal file
@ -0,0 +1,2 @@
|
||||
# required by jellyfin-mpv-shim
|
||||
dev-lang/python tk
|
1
profiles/targets/desktop/package.use/waybar
Normal file
1
profiles/targets/desktop/package.use/waybar
Normal file
@ -0,0 +1 @@
|
||||
gui-apps/waybar network
|
@ -5,8 +5,8 @@
|
||||
dev-libs/bemenu
|
||||
gui-wm/sway
|
||||
media-video/mpv
|
||||
x11-terms/alacritty
|
||||
www-client/firefox
|
||||
gui-apps/foot
|
||||
|
||||
media-fonts/noto
|
||||
media-fonts/noto-emoji
|
||||
|
21
profiles/targets/rpi4/make.defaults
Normal file
21
profiles/targets/rpi4/make.defaults
Normal file
@ -0,0 +1,21 @@
|
||||
COMMON_FLAGS="-mcpu=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
FCFLAGS="${COMMON_FLAGS}"
|
||||
FFLAGS="${COMMON_FLAGS}"
|
||||
|
||||
CHOST="aarch64-unknown-linux-gnu"
|
||||
|
||||
LC_MESSAGES=C.utf8
|
||||
|
||||
VIDEO_CARDS="v3d vc4"
|
||||
INPUT_DEVICES="libinput"
|
||||
PLOICY_TYPES="mcs"
|
||||
USE="${USE}
|
||||
ruby
|
||||
relp
|
||||
-sslv3
|
||||
-X
|
||||
pi4
|
||||
policykit
|
||||
"
|
3
profiles/targets/rpi4/package.accept_keywords/foot
Normal file
3
profiles/targets/rpi4/package.accept_keywords/foot
Normal file
@ -0,0 +1,3 @@
|
||||
=gui-apps/foot-1.16.2 ~arm64
|
||||
=media-libs/fcft-3.1.8 ~arm64
|
||||
=dev-libs/tllist-1.1.0 ~arm64
|
2
profiles/targets/rpi4/package.accept_keywords/icinga2
Normal file
2
profiles/targets/rpi4/package.accept_keywords/icinga2
Normal file
@ -0,0 +1,2 @@
|
||||
=net-analyzer/icinga2-2.14.2 ~arm64
|
||||
=net-analyzer/monitoring-plugins-2.3.5 ~arm64
|
5
profiles/targets/rpi4/package.accept_keywords/pam_yubico
Normal file
5
profiles/targets/rpi4/package.accept_keywords/pam_yubico
Normal file
@ -0,0 +1,5 @@
|
||||
=sys-auth/pam_yubico-2.27 **
|
||||
=sys-auth/libyubikey-1.13 ~arm64
|
||||
=sys-auth/ykclient-2.15 **
|
||||
=sys-auth/ykpers-1.20.0-r1 ~arm64
|
||||
|
5
profiles/targets/rpi4/package.accept_keywords/puppet
Normal file
5
profiles/targets/rpi4/package.accept_keywords/puppet
Normal file
@ -0,0 +1,5 @@
|
||||
=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
|
1
profiles/targets/rpi4/package.accept_keywords/rclone
Normal file
1
profiles/targets/rpi4/package.accept_keywords/rclone
Normal file
@ -0,0 +1 @@
|
||||
=net-misc/rclone-1.63.1 ~arm64
|
1
profiles/targets/rpi4/package.use.mask/wlroots
Normal file
1
profiles/targets/rpi4/package.use.mask/wlroots
Normal file
@ -0,0 +1 @@
|
||||
gui-libs/wlroots -drm
|
2
profiles/targets/rpi4/package.use/binutils
Normal file
2
profiles/targets/rpi4/package.use/binutils
Normal file
@ -0,0 +1,2 @@
|
||||
# Required for rclone
|
||||
sys-devel/binutils gold
|
2
profiles/targets/rpi4/package.use/libvpx
Normal file
2
profiles/targets/rpi4/package.use/libvpx
Normal file
@ -0,0 +1,2 @@
|
||||
# Required for wayland/mpv
|
||||
media-libs/libvpx postproc
|
2
profiles/targets/rpi4/package.use/sway
Normal file
2
profiles/targets/rpi4/package.use/sway
Normal file
@ -0,0 +1,2 @@
|
||||
gui-wm/sway tray wallpapers
|
||||
gui-apps/swaybg gdk-pixbuf
|
1
profiles/targets/rpi4/package.use/vulkan-loader
Normal file
1
profiles/targets/rpi4/package.use/vulkan-loader
Normal file
@ -0,0 +1 @@
|
||||
media-libs/vulkan-loader layers
|
29
profiles/targets/rpi4/packages
Normal file
29
profiles/targets/rpi4/packages
Normal file
@ -0,0 +1,29 @@
|
||||
-*app-editor/nano
|
||||
|
||||
*net-analyzer/icinga2
|
||||
*app-admin/puppet
|
||||
|
||||
*app-admin/rsyslog
|
||||
*app-admin/logrotate
|
||||
*app-misc/tmux
|
||||
*sys-process/htop
|
||||
*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
|
||||
*app-portage/gentoolkit
|
||||
*mail-client/mailx
|
||||
*net-analyzer/tcpdump
|
||||
|
||||
*media-libs/raspberrypi-userland
|
||||
*sys-boot/raspberrypi-firmware
|
||||
*sys-kernel/raspberrypi-image
|
@ -15,7 +15,7 @@ USE="${USE}
|
||||
vim-syntax
|
||||
sqlite berkdb
|
||||
pkcs11
|
||||
device-mapper
|
||||
device-mapper lvm
|
||||
ipset iproute2
|
||||
ssh nss dnssec
|
||||
http2 nginx
|
||||
@ -23,7 +23,8 @@ USE="${USE}
|
||||
-sslv3
|
||||
spice
|
||||
xfs zfs
|
||||
dist-kernel dracut
|
||||
dist-kernel dracut grub
|
||||
lapack
|
||||
vpx
|
||||
lm-sensors
|
||||
"
|
||||
|
2
profiles/targets/server/package.mask
Normal file
2
profiles/targets/server/package.mask
Normal file
@ -0,0 +1,2 @@
|
||||
# firefox build failure https://bugs.gentoo.org/936013
|
||||
=net-libs/nodejs-22.3.0
|
@ -1 +1 @@
|
||||
sys-apps/fwupd agent nvme uefi
|
||||
sys-apps/fwupd agent nvme uefi gnutls
|
||||
|
@ -23,3 +23,4 @@
|
||||
*app-portage/gentoolkit
|
||||
*mail-client/mailx
|
||||
*net-analyzer/tcpdump
|
||||
*sys-apps/sysalert
|
||||
|
@ -2,4 +2,4 @@ AUX feffe.fc 0 BLAKE2B 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f
|
||||
AUX feffe.te 3534 BLAKE2B b57e39295097e4e8858791ba399ce994a837ddfc2fa6d455b50422c708c6f4377e4a46f60a4b4696b150e4e47d4515cbbd1a0df7d31c941e59e40d64ff2755d8 SHA512 4226d818173804ed7e114aba6c5b7b340d4d3909774542335e880c33a080a0b84a42dc3739a4c94d4f435ee5e6c7e0bdca26a455b276520e0651ab8a5f5eddc1
|
||||
DIST patchbundle-selinux-base-policy-2.20190609-r1.tar.bz2 407664 BLAKE2B e6b6b56f990389365c062522582e2177bc3b70040c99948efad25737e69178f9f72149cc443cb9edacfdd1aa6bc29f637cc61939f66e5cc3841f83298b33c41e SHA512 16195b51bb414ac82821f93756b3b5d0ec206b7035a50379c1f796082d9c53b11369e15086e1e26521808944266364470c43dcfdd1818ba079fda1613b7ef9bd
|
||||
DIST refpolicy-2.20190609.tar.bz2 555882 BLAKE2B abc45d9c906e0c880b7c47b0fb8e33f4a277c73244e20e8a95c44452db817241110127a5f8a3347cfbf5e30bf91f9dd4e5dd826426eb88b383fdbff5963f5fcd SHA512 f05ca08d31e62b7bf7203d7b243cce9ba87dd68d13b30067b99a44d5007449078fa82d591faa88c2955d370a346e69faedc850c02bd77c5624a8c746a13467f3
|
||||
EBUILD selinux-feffe-policies-2.20190609-r1.ebuild 398 BLAKE2B 7bafc0298e6b5ac626897db6af7582f9d2ca91415601491c3c2df2310de1002321240268e381891dbc96b51f199c67968c049b8da4f8b4b64c5d2a693ed167b8 SHA512 653db292b47d94e6f39e8da102073100fbc41b28828b6550aca22ba9245329409e3a78b5c450e2fcfc9121a117c7c8021b99ff8c3d1dcb33d34173c06acfc687
|
||||
EBUILD selinux-feffe-policies-2.20190609-r1.ebuild 405 BLAKE2B f9fd9069ec0e5d96776503373ac867d0cd0c4a988a4c0ee76efd8104f86c4f2e3ba5c04caf24306778551daa9286cda2f2e9e32c7449cbde8d9e106c0a9bab38 SHA512 e7a362a2bafdc55d31d2a64399b37f9753798d56f2ce725c3217bb43a47a03d64a6b67f144bda017169439c1896c72f9b86b59fed3da7e0df2242f79d47f14c2
|
||||
|
@ -8,7 +8,7 @@ HOMEPAGE="https://fulh.ax/feffe"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
KEYWORDS="~amd64 ~x86 ~arm64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
|
@ -1,3 +1,3 @@
|
||||
AUX gentoonize.patch 5576 BLAKE2B 5960d09e9b3cfd1e893fcb93b73bc23e1b4818d8ea9554375687f319084eccb504420a734ebbad4dca47666b9864c988b11f2a6b7899bb9a595e94093efb5cda SHA512 2be59c08a7ec879953a7bbc938bfd3ea022c282cc84a3bd5c048b2e2439330844c339b37184c8610f262132f5bae59e8a86d05bce29ee50b70b8de80860dcfee
|
||||
DIST icinga2-2.12.1.tar.gz 7532104 BLAKE2B addb3bb6f81cb41e1ec23e989d6151af6f39fdded5a76a791806114cc2ba46c786b5d6674e9e0e86eb701cb5132f766cdf3cbdfbbcc0f9263db3a7ba844705c6 SHA512 8c266db67fb7aa27dc86e9dc28fa0e1ff7b11260ed529d3963c5cf25a5230fc9f02d7d44076948fbde6e39e2cb02f2d99c2c5b72396154baf95aaa5eba461529
|
||||
EBUILD selinux-icinga2-2.12.1.ebuild 1077 BLAKE2B 54fffd47616853ad07a35d996dbd2efe68d248fbfb05dd37de09c40fa18fb581ece81101595a03ec9f13a9c372a9dea2e1e9ae91f744a046bca5282d3c298d96 SHA512 8d170b5a8a414ff1bfa4aaaa862f872d739dba40154c715137c028c5699b5bae058e7ede17907fa5ed5f33d021bb3a99663f431ff07e0f15197c4be06f6f188d
|
||||
EBUILD selinux-icinga2-2.12.1.ebuild 1084 BLAKE2B f258a2fc6e76546edb5ff18cc4c8f8c7032a3b918416fece005c8cbc60f1a632cc37fa738f46d63555b020995f5d87e53934151002837ff520f2c264dff0bb7f SHA512 751fbaaa54b129cb7f1c187392f87489101b1900f449d1508acfdf6d335f52b3f501f307b75629d18a4fc8ec42a8e149d5e171ff0bfecc8cf79294789e5d0370
|
||||
|
@ -9,7 +9,7 @@ SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> icinga2-${PV
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
KEYWORDS="~amd64 ~x86 ~arm64"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST v0.9.1.tar.gz 8621 BLAKE2B c4e559b9a9e10d5405dd512a2243e9d77b4b246030bb45d6072b43b5b7b19604799a17a6f7388e3b0dcdf7c265f8b4a875a7d2e33041932f2106cdac6668771d SHA512 20e56e29f8d4e9bc8c8905ab1a7acb2b489eaec08c2d4d3ea1dfb16982eb010d42290aff97af1e9b0e29b981140e7306da186cc05a6593d12849717939314a8a
|
||||
EBUILD selinux-sau-0.9.1.ebuild 1055 BLAKE2B 56200c4c47eff3e91a251f657c445e1e06184b589b1a6c7e01b7dd69563facff02ab69ad9720c4400274dc4ea0cc5ffacf80c09a0abfe6c570425cf4797723bc SHA512 b1afd09bf01dbd41606f405e086266426595a148c1299b67483436a8390fd081e74eb4ac302087c4ee26413acfc4daf5e0dc0c437608359f0ad86ae915f8bb73
|
||||
EBUILD selinux-sau-0.9.1.ebuild 1061 BLAKE2B f4dc9667b5817fa6977e556abaca7f2eec500eda1e7e311845f157a7a1972379815775e0f2516d965a565994778516d1d5f875bb43b480696727f87a652db3ae SHA512 88ad2b380f179f6a6c9edac9d057748c20382a82be2b896430a3e76cd509a8e5cd3282b5d4b714ef40ab0244dbdefa8bba778ddd250743ffa722a7066ea4aed0
|
||||
|
@ -11,7 +11,7 @@ S="${WORKDIR}/sau"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
|
||||
DEPEND="sec-policy/selinux-unconfined"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST cronwrapper-0.1.4.tar.gz 4298 BLAKE2B b4fc27d49b68ab8096657d4753f9f54e5fcb74da31ae37e71bcc4fc821afe0f47cb502ea88a747fa956b2b933786b957e13a919f5619e9c0d7bb0ed267374ec2 SHA512 9913d4fda96fb87b0c63c022825d9cbdf0590ddef0554d52d31acb578d45f854fe16999232523d78ed539934d98dea5159be53e46da94251e0e9406770113b4a
|
||||
EBUILD cronwrapper-0.1.4.ebuild 609 BLAKE2B 0c9ce7596d4ddb6005474bf7d86e2980dd304b284ff9e444680f0aa9bb9605ec9883fdd0298d997e266b5576abb5c6df5207052d6274dbd42c3fcda5785d4127 SHA512 cb1e3abd2b8f9e06814593eb9225786ad4c6ded3974fd64b80d8c64dffa1ed76c436711399b19f18f45d5af0770f7ca480c21ced9dc669dd6712bfc3edd7911a
|
||||
EBUILD cronwrapper-9999.ebuild 609 BLAKE2B 0c9ce7596d4ddb6005474bf7d86e2980dd304b284ff9e444680f0aa9bb9605ec9883fdd0298d997e266b5576abb5c6df5207052d6274dbd42c3fcda5785d4127 SHA512 cb1e3abd2b8f9e06814593eb9225786ad4c6ded3974fd64b80d8c64dffa1ed76c436711399b19f18f45d5af0770f7ca480c21ced9dc669dd6712bfc3edd7911a
|
||||
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
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,10 +12,10 @@ 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"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/cronwrapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
S="${WORKDIR}/cronwrapper"
|
||||
fi
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,10 +12,10 @@ 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"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/cronwrapper/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
S="${WORKDIR}/cronwrapper"
|
||||
fi
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST rotator-0.1.1.tar.gz 5098 BLAKE2B ac752018f2f04571e9b1cd5fa6e0fc3a6e2ac83f62d5b4d1191335ba555a5da8a9dd6e750b1afe3f0267fd3376aa9c648f900d678b0eca65492f5d14d5cda493 SHA512 325c3c745849f2f3c8df20af38aac4099e7355c1c29b05190e19684033f2acbbbf604f1cd9fc74f60b49deab096efc9e2bc216aa8c2072fc27d19806be100cdc
|
||||
EBUILD rotator-0.1.1.ebuild 584 BLAKE2B aad4c14d82b052259a8cb235a289a9539b628f4995c5a1f55b7fbe79e2ff70aab0b7b50d0dceca20c0a10a6326021a57d7f44e917b6d1dbe56e95027a6536e35 SHA512 56b6ff23510d4d4b9ba6fba1a2decd8ee99cee2780961b3bac7da276480af46ad47d8e594410ad0a44741e7ca4a24794fc33a5d4e341147ca2e6bc67bdfac902
|
||||
EBUILD rotator-9999.ebuild 584 BLAKE2B aad4c14d82b052259a8cb235a289a9539b628f4995c5a1f55b7fbe79e2ff70aab0b7b50d0dceca20c0a10a6326021a57d7f44e917b6d1dbe56e95027a6536e35 SHA512 56b6ff23510d4d4b9ba6fba1a2decd8ee99cee2780961b3bac7da276480af46ad47d8e594410ad0a44741e7ca4a24794fc33a5d4e341147ca2e6bc67bdfac902
|
||||
EBUILD rotator-0.1.1.ebuild 596 BLAKE2B dea840a54efd56c91a7037f054d0a1df0fa7978798ff40e2f2ce09d50654d86170556e3874621cfa10c8dcc96e5cc167f13f5076576cb89fb58f69ab5643d464 SHA512 5a69ecb7c5440f4e19b5a48d77586d9aac0cafdc3bd0577cfb256bfb1e52e5ce2ae45211e5fc0660e0d8fc1c11f08aa5c55e476dd17c37b2dadb1505d096d9f2
|
||||
EBUILD rotator-9999.ebuild 596 BLAKE2B dea840a54efd56c91a7037f054d0a1df0fa7978798ff40e2f2ce09d50654d86170556e3874621cfa10c8dcc96e5cc167f13f5076576cb89fb58f69ab5643d464 SHA512 5a69ecb7c5440f4e19b5a48d77586d9aac0cafdc3bd0577cfb256bfb1e52e5ce2ae45211e5fc0660e0d8fc1c11f08aa5c55e476dd17c37b2dadb1505d096d9f2
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,10 +12,10 @@ 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"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/rotator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
S="${WORKDIR}/rotator"
|
||||
fi
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,10 +12,10 @@ 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"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/rotator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
S="${WORKDIR}/rotator"
|
||||
fi
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
DIST sau-0.9.4.tar.gz 8607 BLAKE2B b8606593de08595d7b7cb1b7be09bee31206bc42f8353f033671f8352575bc279cf6914addce99d1e3870a4dd62b4010e29f584c950f3927a980a499015cb30c SHA512 e269a123c9e86071f6d62b36e1ee7358346bd05e529ffe0b0d525226b8eb0d737867ba4c1e388428e55c0a118c239ac7d82ce519a6837438d5d9d73b5be89233
|
||||
DIST sau-1.0.0.tar.gz 8941 BLAKE2B 24b6b6f49f3675943ecd8010fc40c03daea84eb7b0cd3eabb165abe442d96bdb1359f2e8f8729ec2f1ddc3c159a62038d29efcf2ce8e78f68efb292a3397d515 SHA512 bf0fee6e14bfec1e9199d51b69f490e4b83ece6c99feb5407dc17e56f1060319826be40567859d995ca50df4590bd36a522e57cf7d78c708135b6b0c948f6f80
|
||||
EBUILD sau-0.9.4.ebuild 634 BLAKE2B c883f98e0b268c7c272702c348cf75d25ac31863da96d8c234d563fd87754fdf1a24ffe1626dda7a87647624d30d1c66d2f343c7c515f7133604fa6f72510a78 SHA512 87fb75526b3955d47379026b27926ef00c773b353be9e848741c7d38afb9564225993530f3c2f21dac168d6906f059616307c87fdcf51f24c8cc7855348e13a3
|
||||
EBUILD sau-1.0.0.ebuild 630 BLAKE2B 2f307b5a7eda2322b19c719e1dfe3fc36639a4f6657b438b88db6a65d56d6600ffec9bc8a2d32655ce75cbeade1dbbfac047f93660d63dab4c923e268c7dd9d8 SHA512 66e6580f40676cba5ba8dd1db665f3b0a5c425822fad874cbacb569c1c897c5fc7a835c0a2a52828730bb1cdea30fcd06dbc15a8b52dd994a97f3e1ace7367e3
|
||||
EBUILD sau-9999.ebuild 634 BLAKE2B c883f98e0b268c7c272702c348cf75d25ac31863da96d8c234d563fd87754fdf1a24ffe1626dda7a87647624d30d1c66d2f343c7c515f7133604fa6f72510a78 SHA512 87fb75526b3955d47379026b27926ef00c773b353be9e848741c7d38afb9564225993530f3c2f21dac168d6906f059616307c87fdcf51f24c8cc7855348e13a3
|
||||
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
|
||||
|
@ -1,29 +0,0 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{10,11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Tool for automatic upgrades"
|
||||
HOMEPAGE="https://gitea.fulh.ax/feffe/sau"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/sau.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/sau/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/sau"
|
||||
KEYWORDS="amd64"
|
||||
fi
|
||||
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="selinux"
|
||||
|
||||
DEPEND="selinux? ( sec-policy/selinux-sau )"
|
||||
RDEPEND="${DEPEND} dev-python/psutil"
|
||||
BDEPEND=""
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,11 +12,11 @@ HOMEPAGE="https://gitea.fulh.ax/feffe/sau"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/sau.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/sau/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/sau"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
|
@ -3,20 +3,20 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
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"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/sau/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/sau"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
|
||||
|
3
sys-apps/sysalert/Manifest
Normal file
3
sys-apps/sysalert/Manifest
Normal file
@ -0,0 +1,3 @@
|
||||
DIST sysalert-0.1.0.tar.gz 7685 BLAKE2B 7baded94b67c0bfc195fd7753fb7f87e94773d7ef4ffee131c982c45ea986dfa3909412827374b37c7c1feaacb95bada2103062c57657cb8950e6ce0568f368a SHA512 521775540c2a15382edf3a075d2decbed0cb4509ced6fcc161a4a7c60e7366470b2bf89a96fd14d1da9cbde9c90bc6a502fec5916e8ddf8026498cfad2225dbb
|
||||
EBUILD sysalert-0.1.0.ebuild 956 BLAKE2B cf5e6500b7ad2fcf09315470970831d360547a70af69291051d591ef2b079dc85d6afbf3a5b3cd20bfc6a311101b6bcf1d6f401557478bd6338887e013eb694f SHA512 8f0184f2bd5e310e2e66ddeeb71119cf710b89defb026956779359fdb1dec29330fd5b594c2ba17df97f827b814775eb5c036f53b087e6e9158c5efa6e0d8f47
|
||||
EBUILD sysalert-9999.ebuild 956 BLAKE2B cf5e6500b7ad2fcf09315470970831d360547a70af69291051d591ef2b079dc85d6afbf3a5b3cd20bfc6a311101b6bcf1d6f401557478bd6338887e013eb694f SHA512 8f0184f2bd5e310e2e66ddeeb71119cf710b89defb026956779359fdb1dec29330fd5b594c2ba17df97f827b814775eb5c036f53b087e6e9158c5efa6e0d8f47
|
39
sys-apps/sysalert/sysalert-0.1.0.ebuild
Normal file
39
sys-apps/sysalert/sysalert-0.1.0.ebuild
Normal file
@ -0,0 +1,39 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1 systemd
|
||||
|
||||
DESCRIPTION="Systemd failure handler"
|
||||
HOMEPAGE="https://gitea.fulh.ax/feffe/sysalert"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/sysalert.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/sysalert/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/sysalert"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
RESTRICT="mirror"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND} dev-python/python-systemd"
|
||||
BDEPEND=""
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
systemd_dounit systemd/sysalert-*.service
|
||||
systemd_install_dropin sysalert-.service systemd/overrides/sysalert-.service.d.conf
|
||||
systemd_install_dropin service systemd/overrides/service.d.conf
|
||||
insinto /etc
|
||||
doins config/sysalert.ini
|
||||
}
|
39
sys-apps/sysalert/sysalert-9999.ebuild
Normal file
39
sys-apps/sysalert/sysalert-9999.ebuild
Normal file
@ -0,0 +1,39 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1 systemd
|
||||
|
||||
DESCRIPTION="Systemd failure handler"
|
||||
HOMEPAGE="https://gitea.fulh.ax/feffe/sysalert"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitea.fulh.ax/feffe/sysalert.git"
|
||||
inherit git-r3
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
SRC_URI="https://gitea.fulh.ax/feffe/sysalert/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/sysalert"
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
RESTRICT="mirror"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND} dev-python/python-systemd"
|
||||
BDEPEND=""
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
systemd_dounit systemd/sysalert-*.service
|
||||
systemd_install_dropin sysalert-.service systemd/overrides/sysalert-.service.d.conf
|
||||
systemd_install_dropin service systemd/overrides/service.d.conf
|
||||
insinto /etc
|
||||
doins config/sysalert.ini
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST zsnapper-0.3.6.tar.gz 11757 BLAKE2B 3bda24c71f7176732ed0d2a29f49378833c2111561aeca43333a3ee46aa097f3805633c7d598125d5933128aadce770136a9bb4e64efd0b594f1ad8b1934ac2a SHA512 d0e801ceece9f8833acd07af367c387fb4fd4a1fe91a1768dcf6f0fa4602c44864bc63e8a893e61c2b85c333b56220bdc9ed08ba4be02fd5347586b1db9d798d
|
||||
EBUILD zsnapper-0.3.6.ebuild 585 BLAKE2B 7388b87c31dce96526200c922c79d2668c7afcc69682c1c0cfcca0f767bf7ec1cfce28635246875dbb5ee676c25fc2349f50fb08c5b0c59e30167380b8c86fc4 SHA512 3769ae5301a277f73763b068abdfd6a97a0e08cac53af67f7d4bc6d77beb03c8e507fa438a158612b8d5e008cdbedc1df29ae7154c774b81b112a90e52851753
|
||||
EBUILD zsnapper-9999.ebuild 585 BLAKE2B 7388b87c31dce96526200c922c79d2668c7afcc69682c1c0cfcca0f767bf7ec1cfce28635246875dbb5ee676c25fc2349f50fb08c5b0c59e30167380b8c86fc4 SHA512 3769ae5301a277f73763b068abdfd6a97a0e08cac53af67f7d4bc6d77beb03c8e507fa438a158612b8d5e008cdbedc1df29ae7154c774b81b112a90e52851753
|
||||
EBUILD zsnapper-0.3.6.ebuild 597 BLAKE2B eb747d939c2323f04fba9d7cd7b8a201695cedefdb890cd88e38a1840c7cf84ad0ca9692016e7a1658e254bd68a2ae9bf1569d56bdc73d511b55fbfacde442cf SHA512 d145556859eae4e30e125415a21449317c857f610394485e6facfaf4f2b27fc3fd45dcec6ad26be8f4fc8db69e430c546317a4f244af3d7761a1e8e75e3ec068
|
||||
EBUILD zsnapper-9999.ebuild 584 BLAKE2B 7ad3a6509bd30fbef4161097bad6b39f33901dc2eb9fdbb18b3ecbb8e1f9d850ed94fe7cb5a64af60c82fb0f43475b7e47f50926d026b97a6fa226470caa5407 SHA512 60f5d05c05920ca733e92361806e738154ef5e9dadef8541af934d7693a311d1bc68080b54613f45ba9429d5b6fc35ca574b9a2d41e1411f399a7e3aeefa9c63
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -12,11 +12,11 @@ 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
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10,11} )
|
||||
PYTHON_COMPAT=( python3_{11,12,13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
Reference in New Issue
Block a user