Compare commits

...

54 Commits

Author SHA1 Message Date
1aa7218960 bump sau 2024-07-20 09:27:35 +02:00
289e9dde97 test newer nodejs 2024-07-19 19:33:08 +02:00
7d3cc3165e mask current stable of nodejs due to https://bugs.gentoo.org/936013 2024-07-14 21:46:40 +02:00
c662a43789 add sysalert 2024-07-14 12:51:13 +02:00
1f799f1c74 install systemd service for sysalert 2024-07-14 10:38:17 +02:00
a9831988a7 add sysalert ebuild 2024-07-13 19:41:07 +02:00
a38a7363db bump sau 2024-07-13 08:41:31 +02:00
dd0fc46544 bump EAPI for samsung-unified-driver 2024-07-13 07:59:55 +02:00
ae43fb2b6c stable beancount 2024-07-09 20:22:07 +02:00
5e0dd8d5bd fix keywording 2024-07-09 20:08:36 +02:00
95479bc718 switch desktop to systemd 2024-06-26 16:33:49 +02:00
0bcfd1b3aa enable opencl 2024-06-25 18:19:14 +02:00
15a48b358b fix use flags 2024-06-25 16:42:27 +02:00
db898db5fe version bump 2024-06-22 14:01:46 +02:00
2a4fae1ee5 add lvm support 2024-06-22 13:54:57 +02:00
240f985316 build htop with sensors support 2024-06-08 19:34:42 +02:00
8eb4598fc9 enable grub support in installkernel 2024-06-08 19:06:26 +02:00
0073645799 portage doesn't work that way 2024-06-08 16:08:21 +02:00
012a5a63d7 hold back python3.12 as single target because of rawtherapee dependency 2024-06-08 16:04:38 +02:00
7439b3eb91 add test ebuild for libiptcdata 2024-06-08 15:53:34 +02:00
a4123ef680 fix no-shaders patch 2024-06-07 14:13:54 +02:00
ffc1dad46e bump jellyfin-mpv-shim 2024-06-07 14:01:39 +02:00
37a89d941e add systemd profile and clean 17-profiles 2024-06-06 14:18:30 +02:00
ed55cf3172 bump python compability 2024-06-04 21:05:30 +02:00
bf023c46b7 add policykit to rpi4 2024-05-31 07:31:19 +02:00
17147768f3 fix profiles 2024-05-31 07:28:32 +02:00
c24c44e69f add 23.0 profiles 2024-05-31 07:25:34 +02:00
662d3f49a8 bump cronwrapper 2024-05-28 06:40:34 +02:00
79aefe0fd0 add 23.0 server profile 2024-05-26 22:18:17 +02:00
fa5ab6e58b bump jellyfin-ffmpeg 2024-05-26 16:21:56 +02:00
9415bb9769 do not install shaders for jellyfin-mpv-shim 2024-05-14 19:19:39 +02:00
c634aee104 version bump jellyfin-mpv-shim 2024-05-14 18:29:02 +02:00
09e818c078 bump jellyfin-ffmpeg 2024-04-26 18:00:45 +02:00
298b6f4760 update useflags 2024-04-14 15:35:05 +02:00
b8b528b159 bump kodi 2024-04-14 09:32:58 +02:00
6333477dd2 more intel bleeding-edge 2024-04-06 08:21:59 +02:00
2e41e2f155 unmask gmmlib 2024-04-06 08:19:25 +02:00
3622b2dae3 disable vdpau 2024-04-05 20:55:23 +02:00
d998d2bd0e fix kodi use flags 2024-04-05 20:51:36 +02:00
30f245f9ec fix kodi unmasking 2024-04-04 20:17:49 +02:00
a4a584d40b fix libvpl keyword 2024-04-03 19:41:37 +02:00
6830175455 support libdovi for desktop profile 2024-03-29 07:18:20 +01:00
66d72636c1 bump jellyfin-ffmpeg 2024-03-26 08:19:44 +01:00
4a2000c2d7 fix foot dependencies 2024-03-22 20:32:33 +01:00
689169bc81 fix sway on rpi4 2024-03-22 20:25:59 +01:00
c04833e098 fix keyword for sau 2024-03-22 16:30:41 +01:00
2859d384db set layers use flag on rpi; needed for sway 2024-03-22 16:23:08 +01:00
fb107dbdcb update 2024-03-21 15:11:30 +01:00
e62ce1026f fix keyword 2024-03-21 15:09:28 +01:00
62b8b68e5d fix atom 2024-03-21 15:08:21 +01:00
c05728361a unmask icinga2 for rpi4 2024-03-21 15:07:17 +01:00
644aea884a fix atoms 2024-03-21 14:50:10 +01:00
f32568a8bb update pi4 keywords 2024-03-21 11:35:58 +01:00
a3ccdb73ec remove wayland default use flag 2024-03-21 10:01:46 +01:00
93 changed files with 1105 additions and 238 deletions

View File

@ -1,3 +1,3 @@
DIST feffe-pwgen-1.0.tar.gz 6392 BLAKE2B 104969c8da4eaeede7889fae4d1364b7fba660866cfecaf1342db44cef36da6b797e2711a372b2e6a807494288941c6d02c3063a168f399b721d32326643a2b9 SHA512 9111b3604d2d9166a65a3f641b0d64196e4a8f700c60a82072dac8d6e3bdc7c8f281cb5c278fac59d38b30d50614334cb0b28b5835cecfaf70d045a4df85eff0
EBUILD feffe-pwgen-1.0.ebuild 604 BLAKE2B e3b821f22dbf732c44edecc1a718b4306953ca41853385ce42f535d8c694b260ea70a796b0346a6e58f99575ef4cb03407446252b18b6732465ecab63326db05 SHA512 55228ef4021599229f2afbdb90f1325ebdcd8a1c4f5a69b6ca0278ac7f9d83778550883056385ebbddaad6e262eaa6f8478e252c940de8843ed0a5bbb82eaffc
EBUILD feffe-pwgen-9999.ebuild 604 BLAKE2B e3b821f22dbf732c44edecc1a718b4306953ca41853385ce42f535d8c694b260ea70a796b0346a6e58f99575ef4cb03407446252b18b6732465ecab63326db05 SHA512 55228ef4021599229f2afbdb90f1325ebdcd8a1c4f5a69b6ca0278ac7f9d83778550883056385ebbddaad6e262eaa6f8478e252c940de8843ed0a5bbb82eaffc
EBUILD feffe-pwgen-1.0.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759
EBUILD feffe-pwgen-9999.ebuild 603 BLAKE2B 32bc71a73a096d8b3aed18682f055946a23340aa7df57ff20e08ff79d8c1dfde60bebfe83387d909cbddcf06e68a2387e808d2f6099556dbd47ea2bfdeccc099 SHA512 5a26257d1cf46ebd1c3b4ee67591f994d4da6ba28ccba26dbb03012ee20e77779144da95816a57cc12f52ca1ed49cb47a998d28865ec74d71059600deb01c759

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -1,2 +1,2 @@
DIST beancount-2.3.6.tar.gz 1720239 BLAKE2B 769aa27a9edc201e33a85f92780b4140b1758a35ca865255183bdcaf4c515ba3bf4c6711aa2842c9219027a44a7cc334c39b48eb36f5145caa689ba90cda64d5 SHA512 52b65f99753e9473aae7736419d104e46b422b33f854170cc0242a95c1d12483aae95264138f81d28c9a7b50ca961e75163cce83868db5bcc9afe7d2337f3036
EBUILD beancount-2.3.6.ebuild 614 BLAKE2B c240714d684a8bfb9630cde11c5e6cc3b9a73a066e44cd32a3572aeb623fb748fbde8a5f89f08820ce1cd355b100ff49c2aeccbf998a060b48df537e3591105d SHA512 39f09452190ed69d9d8fe995cd33656232e05cb4d75c5977e3ed38580e37283c3ad25ecb84e0b575dde2b1426a066cd94753677215200ea57e0cd9d538b2fc0a
EBUILD beancount-2.3.6.ebuild 613 BLAKE2B 8654c6bbd2dcc897109b75503ccf4f0f53fbff607d521f837470a56d74e35c3962e5d338330ea602efeb19a495fc026326896ac89dc76d73af58ca249cc513cb SHA512 4bee9e1dd6c8bd63a862d161d38b370f029e05d990054b5c8e7360615acc4b82bf77b1788570fc84763011a21aa47a65971dc1a30fa692151ced0070b43be09f

View File

@ -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 ~arm64"
KEYWORDS="amd64 ~arm64"
DEPEND="
dev-python/python-dateutil

View File

@ -1,2 +1,2 @@
DIST pystray-0.19.5.tar.gz 48142 BLAKE2B 34bea3d14cfde7ee7a7d2594da2386265fba34b36f4699b5877ea393dbf7e844fe441a1bda384bb6b3f279a544cba897e04509f7c47d69cb5168793665ae73d4 SHA512 6b8854d995bded41fd6eaefd4bc421ec40f81c200c84a0050095ab654c6d4afc261571bcd397c0a83f60147fe25ee8a48ed8ec49db348d925880b109143f1b3a
EBUILD pystray-0.19.5.ebuild 580 BLAKE2B ca45cf6c89590b277fa6a315c53bc8b10ca819c95caaf476e1fad7c7284b2e2a52d6a57c0fb05fc44c8d103c2a942c4c1e16907dba35454b17956086543d79c3 SHA512 4b52086fd551da4860314c42c08d69bf2d9a0acd0667d935b3a324c75f07ac508ae169ed9755ca6e5f2a26da879838357c6861fc916017c506b4df806b2ff022
EBUILD pystray-0.19.5.ebuild 583 BLAKE2B 0137a14c221b726817f404ff86a48eb24161eb91237c15dc1d0e75f31937be75434a2852573e3f0ce02a9ddfd9a31c5b9013662b9cb3f0ad11b3bbba1e39671d SHA512 a5eb62deecc4e1bcd22ff9df16fa6bbee632dbf0af740c4ff9a93b1a1e7f404021f1b6ad0cc3ea8aed70a29e1cf4f06eb8edf20367be0875445bec2a32d8af07

View File

@ -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."

View File

@ -1 +1 @@
EBUILD adbb-9999.ebuild 659 BLAKE2B 7ad4bfd8f0c63dba6692ea7954950670cd80602190c1cd4b3f20806a4c69eff7564530230493d703e295b519da32d5bacc7659e0236ede2520d9b8105b5e777a SHA512 003f56bcf167d736649ac359507486d4183a9a27bcea8e7bf21a14c1e1b67c4bc9b6015b113cd35cc07974281aa6af67675c55869f3cee1529bc519f69a160e6
EBUILD adbb-9999.ebuild 658 BLAKE2B 5f0c977727e8de4b3b68c20029b1c056fdcd14ca532605c8fdbaf23cc578456ffe206447be6665eab47c9e630dc890ee663c2035744c8070b782aa0edb3d7dc6 SHA512 64b719dfd170a60ab9405517bda1b2fce1eebfcfe5ff1f6a086ffaa7bf49abfb9bdacd3eab3ec7a215af0cdd9f0ad34ddd6573253fc2150a6f96cc973902a65c

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -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

View File

@ -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=""

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{10,11,12} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

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

View File

@ -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

View 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

View File

@ -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
}

View 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

View File

@ -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)
{

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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
}

View 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

View 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}
"

View 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

View 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
}

View File

@ -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

View File

@ -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"

View File

@ -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

View 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",
]
)

View File

@ -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="

View File

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

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -1,2 +0,0 @@
feffe:default/linux/amd64/17.1/feffe/server
../../../../../../targets/desktop

View File

@ -1,2 +0,0 @@
gentoo:default/linux/amd64/17.1/hardened/selinux
../../../../../../targets/server

View File

@ -0,0 +1,2 @@
feffe:default/linux/amd64/23.0/feffe/server/systemd
../../../../../../targets/desktop

View File

@ -0,0 +1,2 @@
gentoo:default/linux/amd64/23.0/hardened/selinux
../../../../../../targets/server

View File

@ -0,0 +1,2 @@
gentoo:default/linux/amd64/23.0/hardened/selinux/systemd
../../../../../../../targets/server

View File

@ -1,2 +0,0 @@
gentoo:default/linux/arm64/17.0/hardened/selinux
../../../../../../targets/rpi4

View File

@ -0,0 +1 @@
7

View File

@ -0,0 +1,2 @@
gentoo:default/linux/arm64/23.0/hardened/selinux/systemd
../../../../../../targets/rpi4

View File

@ -1,3 +1,4 @@
amd64 default/linux/amd64/17.1/feffe/desktop exp
amd64 default/linux/amd64/17.1/feffe/server exp
arm64 default/linux/arm64/17.0/feffe/rpi4 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

View File

@ -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
"

View File

@ -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

View File

@ -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

View File

@ -1 +1,2 @@
=mail-client/thunderbird-78.14.0 ~amd64
=net-libs/nodejs-22.4.1 ~amd64

View File

@ -0,0 +1 @@
=dev-python/python-mpv-1.0.7

View File

@ -1 +1 @@
media-tv/kodi mysql power-control
media-tv/kodi power-control -X -gbm

View File

@ -0,0 +1,2 @@
# required for player bar in swaybar
media-sound/playerctl introspection

View File

@ -0,0 +1,2 @@
# required by jellyfin-mpv-shim
dev-lang/python tk

View File

@ -0,0 +1 @@
gui-apps/waybar network

View File

@ -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

View File

@ -15,6 +15,7 @@ USE="${USE}
ruby
relp
-sslv3
-X wayland
-X
pi4
policykit
"

View File

@ -1 +0,0 @@
=dev-cpp/cpp-hocon-0.3.0 ~amd64

View 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

View File

@ -1,2 +0,0 @@
=app-misc/elasticsearch-7.13.2
=app-admin/graylog-4.0.7

View File

@ -0,0 +1,2 @@
=net-analyzer/icinga2-2.14.2 ~arm64
=net-analyzer/monitoring-plugins-2.3.5 ~arm64

View File

@ -1 +0,0 @@
=net-misc/ipv6calc-2.2.0

View File

@ -1 +0,0 @@
www-apps/jellyfin ~amd64

View File

@ -1 +0,0 @@
=dev-libs/leatherman-1.12.3 ~amd64

View File

@ -1,2 +1,5 @@
=sys-auth/pam_yubico-2.27
=sys-auth/ykclient-2.15
=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

View 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

View File

@ -0,0 +1 @@
=net-misc/rclone-1.63.1 ~arm64

View File

@ -1,2 +0,0 @@
=sys-fs/zfs-2.0.4-r1 ~amd64
=sys-fs/zfs-kmod-2.0.4-r1 ~amd64

View File

@ -0,0 +1 @@
gui-libs/wlroots -drm

View File

@ -0,0 +1,2 @@
gui-wm/sway tray wallpapers
gui-apps/swaybg gdk-pixbuf

View File

@ -0,0 +1 @@
media-libs/vulkan-loader layers

View File

@ -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
"

View File

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

View File

@ -1 +1 @@
sys-apps/fwupd agent nvme uefi
sys-apps/fwupd agent nvme uefi gnutls

View File

@ -23,3 +23,4 @@
*app-portage/gentoolkit
*mail-client/mailx
*net-analyzer/tcpdump
*sys-apps/sysalert

View File

@ -1,3 +1,3 @@
DIST cronwrapper-0.1.4.tar.gz 4298 BLAKE2B b4fc27d49b68ab8096657d4753f9f54e5fcb74da31ae37e71bcc4fc821afe0f47cb502ea88a747fa956b2b933786b957e13a919f5619e9c0d7bb0ed267374ec2 SHA512 9913d4fda96fb87b0c63c022825d9cbdf0590ddef0554d52d31acb578d45f854fe16999232523d78ed539934d98dea5159be53e46da94251e0e9406770113b4a
EBUILD cronwrapper-0.1.4.ebuild 622 BLAKE2B df65cf13004d9822e7e866c24d515af9755222f4691ab8073dad088d89f0811f18c32495aa6bb20b93a9687fe323723f640d8e6bbe139cc971280a7b1c204557 SHA512 b1336a9b804cc96fbc0e1fb09a561646a16a6f0c4fc239f0b6ac703462f254b03e9f6309579ea8c048ab7aa772169c9d5c4302f7c91ec318144fb518e9257225
EBUILD cronwrapper-9999.ebuild 622 BLAKE2B df65cf13004d9822e7e866c24d515af9755222f4691ab8073dad088d89f0811f18c32495aa6bb20b93a9687fe323723f640d8e6bbe139cc971280a7b1c204557 SHA512 b1336a9b804cc96fbc0e1fb09a561646a16a6f0c4fc239f0b6ac703462f254b03e9f6309579ea8c048ab7aa772169c9d5c4302f7c91ec318144fb518e9257225
DIST cronwrapper-0.1.5.tar.gz 4363 BLAKE2B 274d20068c0803bcb5305c7d7611e1a921b318f101353864cfba39cbe172658297f7b972eca771f0ddb245ec20496265db62a19757bc518959ba0ec8bbe1d1d2 SHA512 33125f96bc6fdbebf81f927584076ccfab320e215a089b3c3bd4a746a0ba73cff2a9e4c091c2790eac5235e6aceb57885664c6d88877b49018e59c5b8853cfb9
EBUILD cronwrapper-0.1.5.ebuild 621 BLAKE2B 6ac6ff2c7d8abb3298ba20d0330b093d3a74e542d63a6685b9c7e8f9781d8198c5806d9b6e0faf0a8bdad2028d72f7403d35e7d737c9d22190f3a9bf7fb42d1c SHA512 8556db92c8d07c0512c21d23adb89ff691ce6b2ef12970f5fa7e28837b0655260b5a5a8c3f9baf9fba699c323ea6c11dea726ec4bae35cc5c3dafa3457f70ca5
EBUILD cronwrapper-9999.ebuild 621 BLAKE2B 6ac6ff2c7d8abb3298ba20d0330b093d3a74e542d63a6685b9c7e8f9781d8198c5806d9b6e0faf0a8bdad2028d72f7403d35e7d737c9d22190f3a9bf7fb42d1c SHA512 8556db92c8d07c0512c21d23adb89ff691ce6b2ef12970f5fa7e28837b0655260b5a5a8c3f9baf9fba699c323ea6c11dea726ec4bae35cc5c3dafa3457f70ca5

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

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

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -1,3 +1,3 @@
DIST sau-1.0.0.tar.gz 8941 BLAKE2B 24b6b6f49f3675943ecd8010fc40c03daea84eb7b0cd3eabb165abe442d96bdb1359f2e8f8729ec2f1ddc3c159a62038d29efcf2ce8e78f68efb292a3397d515 SHA512 bf0fee6e14bfec1e9199d51b69f490e4b83ece6c99feb5407dc17e56f1060319826be40567859d995ca50df4590bd36a522e57cf7d78c708135b6b0c948f6f80
EBUILD sau-1.0.0.ebuild 643 BLAKE2B 9758c0a42bfbf8c0ed86e8f4595ac29da32fe37d54064275ae0deceaa47862d5c5862fcaeccde51c061207e2c6d30abe720fe1da4a53b48e21a02b0f78841f66 SHA512 b838a9b0cf0b639e1deacfd56a57190b0e6003c9ea08187b7f1bad234f6f1eb6e99cb58cca9f4e6d9c3a6ae235219e65b7db7b5f46b5d368f9700940090b5ebe
EBUILD sau-9999.ebuild 647 BLAKE2B bc364abf26c5b4a1f1453496a7819a8a33bfd4e5d92943c7e9534944715d72b621bfdcb7914c67030142c50bb2ce3085ec09fda66f89e6e0a0a187b36515d81f SHA512 db06ba9b0c36ce094575a333d020bb7dc611c345ca4984c7f02f6e26c1091889c2ce0a8de6f2f3381d8a2fabebd0064127d25a3deae98f91ee6130ef5516bc92
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

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -3,13 +3,13 @@
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 ~arm64"

View 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

View 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
}

View 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
}

View File

@ -1,3 +1,3 @@
DIST zsnapper-0.3.6.tar.gz 11757 BLAKE2B 3bda24c71f7176732ed0d2a29f49378833c2111561aeca43333a3ee46aa097f3805633c7d598125d5933128aadce770136a9bb4e64efd0b594f1ad8b1934ac2a SHA512 d0e801ceece9f8833acd07af367c387fb4fd4a1fe91a1768dcf6f0fa4602c44864bc63e8a893e61c2b85c333b56220bdc9ed08ba4be02fd5347586b1db9d798d
EBUILD zsnapper-0.3.6.ebuild 598 BLAKE2B 59025f899ee952d10cdeafc710877bcca86ba20cdd48c0270894f6561d526b7beb2ce4e1c2d4fb33049df83d8b549358a142adec254e5882fdb05e7ecf027b83 SHA512 a7cf0932952d75ab11f626ccb646eadb32848e1606fec69fc7cf52f82ffffc1c6d378ec56ad062ac149911c233c8a2ab4f631b24dc9ca47f9d981ffdeddfaea3
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

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9,10,11} )
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1