Compare commits

..

202 Commits

Author SHA1 Message Date
e6eb038d7a fix manifest 2025-06-16 19:26:02 +02:00
e11f2eccda bump jellyfin-ffmpeg 2025-06-16 19:23:33 +02:00
54909f7090 bump jellyfin-ffmpeg 2025-06-07 15:20:49 +02:00
b7e4a521fd fix EAPI 2025-06-05 11:54:31 +02:00
5b16489120 remove old beancount 2025-06-04 18:40:17 +02:00
30964fa03f unmask requirements for hiera-eyaml 2025-05-31 21:56:53 +02:00
37ee1202f3 bump jellyfin-ffmpeg 2025-05-29 13:49:43 +02:00
5ac6ecd8bf bump unmask 2025-05-16 21:39:14 +02:00
98dc01849f bump jellyfin-ffmpeg 2025-05-16 17:42:36 +02:00
c8ee5c6b43 bump puppet unmasks 2025-05-09 16:16:47 +02:00
837d79a9bb enable dbus on rpi 2025-05-09 15:56:19 +02:00
8e80eb173f clean up profiles 2025-05-09 15:48:26 +02:00
4a8458991a cleanup and fix python ebuilds 2025-05-08 18:14:18 +02:00
db4eef60f7 upgrade zsnapper ebuild 2025-05-08 17:51:37 +02:00
4f01a68e36 attempt to fix sau... 2025-05-07 18:45:37 +02:00
678ff7ec78 bump jellyfin-ffmpeg 2025-05-01 14:07:59 +02:00
728b97f464 fix mkvtoolnix on server profile 2025-04-28 06:58:38 +02:00
9a649d3723 add beangulp 2025-04-25 12:29:36 +02:00
b0e79963d0 add new beancount 2025-04-25 11:29:59 +02:00
c4e3bc469b bump jellyfin-ffmpeg 2025-04-19 06:38:01 +02:00
a41d4ecf0e bump python-mpv-jsonipc and nvtop 2025-03-30 07:33:52 +02:00
bdcc62de5d bump jellyfin-mpv-shim 2025-03-18 22:00:56 +01:00
4a0e4a57ee bump jellyfin-apiclient-python 2025-03-18 21:59:06 +01:00
4225b557a0 bump sau 2025-03-16 18:36:16 +01:00
fae7b25c62 unmask more ghostty packages 2025-03-14 17:48:50 +01:00
d81ae44894 switch foot to ghostty 2025-03-13 20:49:42 +01:00
484935071f bump sau 2025-02-28 07:58:59 +01:00
11b357c77a fix downgrade 2025-02-19 11:55:51 +01:00
fa097bfc5c downgrade beancount 2025-02-19 11:45:31 +01:00
5dec6cec51 bump jellyfin-ffmpeg 2025-01-22 20:56:23 +01:00
6227fd2749 bump beancount 2025-01-20 22:00:23 +01:00
e6471e84b1 fix unmask 2025-01-07 08:37:47 +01:00
39d9a5a9e4 unmask newer mkvtoolnix since current stable is broken
https://bugs.gentoo.org/947266
2025-01-05 06:58:42 +01:00
c89a6a7b01 unmask ghostty 2024-12-31 16:47:48 +01:00
8367972879 add nextcloud client with netrc fix
https://github.com/nextcloud/desktop/pull/7698
2024-12-28 14:06:10 +01:00
e952dfceb4 use stable calibre for now 2024-12-27 18:41:01 +01:00
c7a77f065a bump jellyfin-ffmpeg 2024-12-15 07:29:37 +01:00
71f4007454 fix package move 2024-11-19 21:54:53 +01:00
42b93d27c4 bump jellyfin-ffmpeg 2024-11-14 16:24:18 +01:00
1bb65b2512 bump jellyfin-ffmpeg 2024-11-12 06:56:21 +01:00
eb0ef50036 accept any revision of mesa-24.2.6 2024-11-10 06:06:42 +01:00
18e68472a4 bump unmask 2024-11-09 19:55:25 +01:00
049fec2449 build opus support for servers 2024-11-08 21:24:53 +01:00
a806c7cb67 bump sau 2024-11-06 09:09:37 +01:00
edafc3f18c unmask newer mesa due to intel headache 2024-11-06 08:46:51 +01:00
95f22b2859 restore thor 2024-10-16 18:03:46 +02:00
1965532271 mask thor 2024-10-12 08:19:59 +02:00
2ccd7af262 fix sqlite dependency 2024-10-07 23:19:23 +02:00
dcbb644a6c build libssh as a static lib as required by systemd 2024-09-22 12:07:55 +02:00
7f367ee687 attempt to fix cargo-c build failure with new rust 2024-09-15 06:59:03 +02:00
4e0d8afcf6 add recommended use flag for desktop 2024-09-02 16:19:04 +02:00
4868542e84 add qml... 2024-09-01 14:46:55 +02:00
0fe07e8e66 use libproxy on desktop 2024-09-01 09:57:05 +02:00
b5965eaefb add support for qt6 2024-09-01 06:20:57 +02:00
748022bbac bump sau 2024-08-30 09:23:35 +02:00
e2e6d0ef44 bump sau 2024-08-29 11:00:57 +02:00
8dbbfffaab bump sau 2024-08-18 16:30:02 +02:00
6e2dd0b6f2 bump sau 2024-08-18 07:36:55 +02:00
f9e90e66d3 bump sau 2024-08-14 17:01:51 +02:00
8c09fd6c45 bump sau 2024-08-14 08:42:43 +02:00
401705e143 bump jellyfin-apiclient-python 2024-08-11 08:26:11 +02:00
c2e037e350 enable pipewire sound server 2024-08-01 19:57:26 +02:00
7075d34710 install pipewire on desktop 2024-07-30 07:33:26 +02:00
e2f55d448a fix keyword after package move 2024-07-28 10:12:06 +02:00
6e2f9b8c60 fix dependency on gentoolkit 2024-07-28 08:29:47 +02:00
f1c31b2acf bump sau 2024-07-27 16:47:00 +02:00
57e2862c2e bump sau 2024-07-26 13:13:13 +02:00
8526d23dce bump sau 2024-07-26 11:26:54 +02:00
91f6ce9f2f bump sau 2024-07-26 11:16:21 +02:00
a1284a8431 bump jellyfin-ffmpeg 2024-07-26 08:19:31 +02:00
40e8ed1f8d bump sau 2024-07-24 18:48:13 +02:00
405cb1de61 keyword nodejs again 2024-07-20 11:15:51 +02:00
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
2bd07c36dd arm64 keywording 2024-03-21 09:40:53 +01:00
617ea0459f add rpi4 profile 2024-03-21 09:39:54 +01:00
9ec8e29e97 bump jellyfin-ffmpeg 2024-03-21 09:34:07 +01:00
8a2e819d11 fix qt use 2024-02-26 20:45:21 +01:00
6003152f17 update 2024-02-25 08:38:58 +01:00
ca599a7c39 bump nvtop 2024-02-24 08:05:52 +01:00
9fbaf6f598 fix dracut 2024-01-24 17:25:51 +01:00
ee454607f3 add dracut use flag 2024-01-24 17:25:04 +01:00
f9d4dbdbfa unmask intel stuff 2024-01-21 14:11:13 +01:00
fab50d4192 fix digest 2024-01-20 20:54:22 +01:00
82bcd1ef0e make repository version independent 2024-01-20 20:51:27 +01:00
e82c54a97e unmask qsv 2024-01-20 12:25:54 +01:00
c643f43045 fix 2024-01-20 11:08:43 +01:00
d793909fd1 unmask vmaf 2024-01-20 11:01:29 +01:00
7c4fee83fd remove deprecated hpacucli; hpssacli works just fine 2024-01-13 10:03:58 +01:00
af31a20750 remove pyqt5 2024-01-07 14:28:38 +01:00
9d105c1a07 update 2024-01-07 10:39:01 +01:00
a8c9b56b15 fix use 2024-01-07 10:37:15 +01:00
a7ef5e7f7f fix USE 2024-01-07 10:30:52 +01:00
b8264711a7 install vulkan layers, required by sway 2023-12-23 19:59:14 +01:00
1b0b8793c9 build vulkan backend 2023-12-23 19:49:02 +01:00
9f459d1773 bump pdk 2023-12-23 08:28:55 +01:00
2004fa32fc save hpacucli as it will be removed from gentoo tree 2023-12-23 08:22:54 +01:00
8acccec15a bump jellyfin-ffmpeg 2023-11-27 19:35:44 +01:00
935723ec14 bump jellyfin-ffmpeg 2023-11-05 06:26:19 +01:00
6d8cb451a4 bump jellyfin-ffmpeg 2023-10-17 21:24:56 +02:00
926d928fe6 add nvtop 2023-10-07 17:20:12 +02:00
2de9dd70f5 bump beancount 2023-10-07 09:09:41 +02:00
70096199d1 bump pystray 2023-09-18 09:52:14 +02:00
ed7237e0ee fix EAPI compability 2023-08-30 08:11:21 +02:00
503c22126a media-video/jellyfin-ffmpeg: bump version 2023-08-30 07:27:14 +02:00
b139cd4c18 bump jellyfin-ffmpeg 2023-08-09 17:27:13 +02:00
ad5dc8109d remove unused and broken package 2023-08-03 06:38:55 +02:00
a85e1dc6f7 fix gnutls for both servers and desktop 2023-07-23 06:09:03 +02:00
9df213578a add tools use-flag to gnutls as required by libvirt 2023-07-21 21:28:00 +02:00
c3d438693d fix executables 2023-07-20 19:57:09 +02:00
43889d5592 cleanup and version bumps 2023-07-20 08:26:01 +02:00
4fa638648e add mpv-shim and dependencies 2023-07-20 07:16:57 +02:00
e867ae0bed bump jellyfin-ffmpeg 2023-07-05 08:35:28 +02:00
d258a6d0f7 fix adbb dependencies 2023-06-26 07:54:59 +02:00
929a4e8f43 add spotify for now 2023-06-24 07:36:24 +02:00
35667b1779 fix thunderbird dependency 2023-06-10 07:23:01 +02:00
846b2090e3 bump jellyfin-ffmpeg 2023-06-05 05:58:17 +02:00
29d3d34b02 bump jellyfin-ffmpeg 2023-05-28 21:25:01 +02:00
6c15602534 once newer ffmpeg has been stabalized I want qsv... 2023-04-15 17:54:58 +02:00
3a3ec9996f set daemon flag on pulseaudio as required by waybar 2023-04-13 16:50:06 +02:00
aa178b8ed8 fix executable flag for jellyfin-ffmpeg 2023-04-10 14:02:13 +02:00
39da10fe96 add jellyfin-ffmpeg 2023-04-10 13:54:57 +02:00
ee159d22a2 upgrade sau 2023-03-18 14:36:01 +01:00
d6f013d502 oops igen 2023-03-16 18:46:44 +01:00
46e5be5b8f oops 2023-03-16 18:46:15 +01:00
e732d044d0 fix bottle dependency for beancount 2023-03-16 18:44:53 +01:00
81c5e6109b add fava 2023-03-16 18:17:59 +01:00
c4fbc6a2c6 disable python for file 2023-03-15 19:00:11 +01:00
8bb94914e1 more dependencies 2023-03-15 18:57:44 +01:00
4a2a11c73e add missing pytest dependency 2023-03-15 18:54:59 +01:00
f5f3c61270 add ebuild for beancount 2023-03-15 17:25:29 +01:00
1abf7fd94f use vpx on server profile for jellyfin 2023-03-15 16:22:50 +01:00
006c3a7430 unmask jellyfin 2023-03-14 08:32:22 +01:00
fb6753b333 unmask buildable version of nextcloud-client 2023-02-08 18:40:27 +01:00
dcfcead588 enable gdk-pixbuf, required by sway 2023-02-02 19:30:29 +01:00
9763bd7acf build lvm tools 2023-01-14 11:10:44 +01:00
9e00107487 bump pam_yubico 2023-01-14 07:18:57 +01:00
3dab1ffbc2 set nginx use flag on server 2023-01-08 13:02:36 +01:00
1a49b0ef2f remove some old selinux ebuilds 2022-12-27 21:39:16 +01:00
88cfcf1f7b add gammastep ebuild 2022-10-28 14:41:04 +02:00
f7b8cbb5a1 fix digest 2022-07-17 09:30:29 +02:00
c6778ab66f update jellyfin init with new default paths 2022-07-17 09:27:05 +02:00
5e41d1a2a2 add vpx use flag by default 2022-07-17 08:41:49 +02:00
996e094daa remove pythonmagick keywords 2022-07-08 21:03:35 +02:00
48791709ea set static libs on libpcre2 2022-07-05 15:57:36 +02:00
0e86c0912f bump jellyfin-bin 2022-07-05 08:44:22 +02:00
e2ddea0121 fix manifest for adbb 2022-06-18 10:45:18 +02:00
6471a8a52e bump python version slots 2022-06-18 10:42:57 +02:00
1296d020cf add jellyfin-apiclient-python 2022-06-18 10:42:41 +02:00
56e6f55ea6 remove pythonmagick 2022-06-18 10:42:15 +02:00
167 changed files with 1853 additions and 1132 deletions

View File

@ -1 +0,0 @@
EBUILD jellyfin-0.ebuild 145 BLAKE2B 14bb760b602f8280deb4c0a361811f064335816fed47c5dda06fdb1bb2a0f31a9e94bbf44b7c0d02eef596322aa9e6a9f713a2c5f5481eb617ea65c508c20b69 SHA512 567a8129cae6d10de62fc0b0816031a6fbd43a5156853da4019ed9ccf741caf58c6e0e22d4c8ed59640225793d174dd282b8827ab4031f90c8f627485e8042c1

View File

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

View File

@ -1 +0,0 @@
EBUILD jellyfin-0.ebuild 267 BLAKE2B c24b0263b7ae6c64ae4faa79180b2bdc1a4dbef7fcca29155b737038901cd9c002b718508cc24e166f70334c4a4c90d2cd2485cb7aafcc270c928ac538c88bb1 SHA512 bfa55f0211aac129489d8d55d3dd4b7e403f2342db7ade4a7e3d95959d7836359d8b56c4d60788597d631da1d91ae0a28144180bf4ae46f36131d163de4617f4

View File

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

View File

@ -1,3 +1,3 @@
DIST feffe-pwgen-1.0.tar.gz 6392 BLAKE2B 104969c8da4eaeede7889fae4d1364b7fba660866cfecaf1342db44cef36da6b797e2711a372b2e6a807494288941c6d02c3063a168f399b721d32326643a2b9 SHA512 9111b3604d2d9166a65a3f641b0d64196e4a8f700c60a82072dac8d6e3bdc7c8f281cb5c278fac59d38b30d50614334cb0b28b5835cecfaf70d045a4df85eff0
EBUILD feffe-pwgen-1.0.ebuild 588 BLAKE2B 6c2051fb649ed8569d3b8876ef605f9362dd10d4d95298859a72220ae7b26324d36352c3da04030401e6e62554d7fc35d19db05dac7e31c8477045fe8cab6d62 SHA512 5353a3ae7810321efbef1666f4c818dcf570f6869db289606ff520f84b15d401ef5ccf29a803d9bb35968e3bb4b7eba5c5e525b9453c170f680eaea874a42481
EBUILD feffe-pwgen-9999.ebuild 588 BLAKE2B 6c2051fb649ed8569d3b8876ef605f9362dd10d4d95298859a72220ae7b26324d36352c3da04030401e6e62554d7fc35d19db05dac7e31c8477045fe8cab6d62 SHA512 5353a3ae7810321efbef1666f4c818dcf570f6869db289606ff520f84b15d401ef5ccf29a803d9bb35968e3bb4b7eba5c5e525b9453c170f680eaea874a42481
EBUILD feffe-pwgen-1.0-r1.ebuild 650 BLAKE2B b3d3642dab1b561939288d174d5d0d4f4f708bb89d13802ea613d44fac2f1d1c09593fe1dcfe1159824960beedf6b2a1f2381e0480b5657392b83e49b6b11366 SHA512 a0049bca146acad6d374e997ee0b00be6de1121eee8ea31c98899a07648671415c97e44c756dd2ee66c87c20c58e4d955385135d37a06230155b02985647d615
EBUILD feffe-pwgen-9999.ebuild 650 BLAKE2B b3d3642dab1b561939288d174d5d0d4f4f708bb89d13802ea613d44fac2f1d1c09593fe1dcfe1159824960beedf6b2a1f2381e0480b5657392b83e49b6b11366 SHA512 a0049bca146acad6d374e997ee0b00be6de1121eee8ea31c98899a07648671415c97e44c756dd2ee66c87c20c58e4d955385135d37a06230155b02985647d615

View File

@ -1,9 +1,10 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -12,14 +13,15 @@ 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
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,9 +1,10 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12,13} )
inherit distutils-r1
@ -12,14 +13,15 @@ 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
RESTRICT="mirror"
LICENSE="BSD"
SLOT="0"
IUSE=""

View File

@ -1,2 +1,2 @@
DIST pdk_1.8.0.0-1stretch_amd64.deb 128361866 BLAKE2B 1d21de3e011d8f111ca9910193fb2ffd3360ec1bc7d1917b89c24d42dad8c1b521b12f37850cfc88a32cc79aab76000b2801568683e96ef9aedfbe7ab48bf6b3 SHA512 edae3add1d7a0e66361cc60c555f556355a07d80dc05b21cfa8c994b8a66442168d72b602258d984f9c19c15e561c9260d3ebbc82e6bfc22758f4327d78791c2
EBUILD pdk-1.8.0.0.ebuild 1612 BLAKE2B 56d49807d13d85c8b43ec6eefc0fe7cf6df5b6a051b9b5c3ee91020b1b7e1b77b5820a9bf42f15f87d5f90817ff3719a6c680c5eb9111743e47973c82f514c1d SHA512 1bd46ddc1b081ca5571e5fdf40d11826e6724ceda15d3f0e890013336c2dbcad399a015326cde376edf06e201af7094f0c462f3d3012460937ff86171396d588
DIST pdk_3.0.1.3-1bullseye_amd64.deb 120361070 BLAKE2B 1d9b885aebe1960ead9c0fdc6ac8751016f6a7a2504e6c5c46bb4bf54a328c8982dedd9fefbb424564390738f284d4f2635a7e1c43e3be341d171254150fabd7 SHA512 a291824a229c61ddf559a5bb40202f1f57076d5626abf647d92d570c8075738baa4649bc414dcad948110089d5aad613377d81ab0deb38d78f259d2fcab2e8dc
EBUILD pdk-3.0.1.3.ebuild 892 BLAKE2B 02cc743b36be5984499c31ce0dc4e6b7106da1c93192e678020cafee7e5981b62f88307e92cd0a62aad95f318931f6a2ebc5534ba17c3029177b8e657fc4d349 SHA512 59cef997abcff199ebbbf8c50435f338e01082aa92bfae4193996eba36911702c8f7ff8dcba0e7a7769ab21ecfdb418d73c30e191aea2105263b9a0986002eea

View File

@ -1,49 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils unpacker
DESCRIPTION="Puppet SDK - develop and test puppet modules"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/stretch/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1stretch"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RESTRICT="strip"
S=${WORKDIR}
QA_PREBUILT="
/opt/puppetlabs/pdk
/opt/puppetlabs/pdk/lib/engines/*
/opt/puppetlabs/pdk/lib/*
/opt/puppetlabs/pdk/bin/*"
src_install() {
# Drop the opt folder into place
insinto /opt
doins -r opt/*
# Add symlinks
chmod 0755 -R "${D}/opt/puppetlabs/pdk/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/git/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/ruby/2.1.9/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/ruby/2.4.4/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/ruby/2.5.1/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/puppet/ruby/2.1.0/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/puppet/ruby/2.4.0/bin/"
chmod 0755 -R "${D}/opt/puppetlabs/pdk/private/puppet/ruby/2.5.0/bin/"
# remove rwx a.out stuff
rm "${D}"/opt/puppetlabs/pdk/private/ruby/2.4.4/lib/ruby/gems/2.4.0/gems/ffi-1.9.25/ext/ffi_c/libffi-x86_64-linux/a.out
rm "${D}"/opt/puppetlabs/pdk/share/cache/ruby/2.1.0/gems/ffi-1.9.25/ext/ffi_c/libffi-x86_64-linux/a.out
rm "${D}"/opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/ffi-1.9.25/ext/ffi_c/libffi-x86_64-linux/a.out
dosym ../../opt/puppetlabs/pdk/bin/pdk /usr/bin/pdk
}

View File

@ -0,0 +1,41 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit unpacker
DEB_RELEASE="bullseye"
DESCRIPTION="Puppet SDK - develop and test puppet modules"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/${DEB_RELEASE}/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1${DEB_RELEASE}"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RESTRICT="strip"
S=${WORKDIR}
RDEPEND="virtual/libcrypt:="
QA_PREBUILT="
/opt/puppetlabs/pdk
/opt/puppetlabs/pdk/lib/engines/*
/opt/puppetlabs/pdk/lib/*
/opt/puppetlabs/pdk/bin/*"
src_install() {
# Drop the opt folder into place
insinto /opt
doins -r opt/*
# make binaries executable
find "${D}/opt/puppetlabs/pdk/" -type d -name bin -exec chmod 0755 -R "{}" ";"
dosym ../../opt/puppetlabs/pdk/bin/pdk /usr/bin/pdk
}

View File

@ -0,0 +1,2 @@
DIST beancount-3.1.0.tar.gz 548025 BLAKE2B 5262408fdef8ab171f7f495c821dcd3d0fc8e07021c9a9319fe59ff4acc00b64bf4453067a3ae1c270f1d20b180dfca7ab4ff693a481bc3794c3606828c541ee SHA512 46620ecbde1d380e9d0638d57a652b23af178fa473e69dbe76f41cc60728822acb61436968ea288ddc3c879c7638b1e608475fefab7496d799e67e37b0cf3ffe
EBUILD beancount-3.1.0.ebuild 667 BLAKE2B 11e71f944bf954996c9897f5c55752d511173f2739ccc7c1e4c7d54b2f160c21faa0f4e24c5f8e1a283a1953aaa9ae03e75a63a14be25231f03013deef5c1eac SHA512 35b1309a17325eb2792b9b2018ab4eaa4f0ecf372e37744975a8d75d082b83a35f3281b68ed8ce74661a428bfe0710e276d0ffee7be33f09828ebf6f7c01aa53

View File

@ -0,0 +1,30 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
PYTHON_COMPAT=( python3_{11,12,13} )
inherit distutils-r1
DESCRIPTION="Double-Entry Accounting from Text Files"
HOMEPAGE="https://github.com/beancount/beancount"
SRC_URI="https://github.com/beancount/beancount/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64"
DEPEND="
dev-python/python-dateutil
dev-python/click
dev-python/regex
dev-python/mypy
dev-python/python-magic"
RDEPEND="${DEPEND}"
BDEPEND=""
# Because I have no idea...
RESTRICT="mirror test"

View File

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

View File

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

View File

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

View File

@ -0,0 +1,27 @@
# Copyright 2023 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
DESCRIPTION="This library allows you to create a system tray icon."
HOMEPAGE="
https://pypi.org/project/pystray/
"
SRC_URI="https://github.com/moses-palmer/pystray/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 LGPL-3"
SLOT="0"
KEYWORDS="amd64 arm64"
RDEPEND="
dev-python/pillow
dev-python/six
dev-python/python-xlib
"
BDEPEND=" "
distutils_enable_tests pytest

View File

@ -1,3 +0,0 @@
DIST PythonMagick-0.9.19.tar.xz 272460 BLAKE2B f11eda746e397d3ccbf28fffb24ecca36dd0d7cfb5ca72327a5d3cd15adf364cb740fb09d632d07c5b9bf3ec35be7ab6b31cbfd6476058e0e34dcf7b16569ac9 SHA512 d9420c524cd59cad7f5c53064582a8a420d3d6441f13bbb6ea6abdcf6b4f1f10a5bd9ac222f5bf2c1888d630290a1177fc2261f4ad5fcc61108d1da70c9ef884
EBUILD pythonmagick-0.9.19.ebuild 1306 BLAKE2B ad0abb5fdaba6518c0e406d0b8c07dc3728660957ee5088d87bc3f56d26ae1194daaf2cc36a2e5a28ed3e98cc65b177c758fec236895e77e9405576f3b3bff52 SHA512 e6770c69337e148f9b5ead65fce12a9d39dbf7be91f29fbe0b06b2acdbfa8ac8adbb003896eb8c1ee131e5dace4fa99800731625697dab89548074cf30f88a1b
MISC metadata.xml 349 BLAKE2B 3701c88035855f490be6b943b8c778884f20f42803b4539ea8442baf90862c9bfdbc58ac99e3312d811b9defbd4264e39c4da195896d575fd5bef11da204c4ac SHA512 14d5899e6fcd0ade11aec2f92cfce123a9c1093877e340e49baddfbbde0ca2b3052dc77181e4487c19bb3e4ef7391bc0171b5e26b004517f6f26254c73393a58

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription lang="en">
An object-oriented Python interface to ImageMagick.
</longdescription>
</pkgmetadata>

View File

@ -1,64 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{3_6,3_7,3_8,3_9} )
inherit autotools python-r1
MY_PN="PythonMagick"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Python bindings for ImageMagick"
HOMEPAGE="http://www.imagemagick.org/script/api.php"
SRC_URI="https://www.imagemagick.org/download/python/${MY_P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
>=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
>=media-gfx/imagemagick-6.9.1
"
DEPEND="${RDEPEND}
virtual/pkgconfig
>=sys-devel/automake-1.16.1-r2
"
S="${WORKDIR}/${MY_P}"
src_prepare() {
default
eautomake
python_copy_sources
}
src_configure() {
python_configure() {
if ! python_is_python3; then
local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
fi
econf \
--disable-static \
--with-boost-python=boost_python-${EPYTHON#python}
}
python_foreach_impl run_in_build_dir python_configure
}
src_compile() {
python_foreach_impl run_in_build_dir emake
}
src_test() {
python_foreach_impl run_in_build_dir emake check
}
src_install() {
python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
einstalldocs
find "${D}" -name '*.la' -delete || die
}

View File

@ -1 +1 @@
EBUILD adbb-9999.ebuild 630 BLAKE2B c0f4ffe8d6f5b71c7acf87a766fcad406af0a4c2964513d835bee60d7047ec66b2cbfd70073f8cfb5a742506b8d955aafdb04cb12010b46371e0016077695058 SHA512 94c48e50c17e44341ac14da44e1c1c76da71774ff9abce2df03d6dbfd0ae506f3c2ebcb406e94d5af0e0238e4ec2b0431a894b2618721e4259b13785431f97ee
EBUILD adbb-9999.ebuild 713 BLAKE2B f4502f467e4e9f3a926abdedc4e926be07f9b6fea1e205980372aef10efbf521df9db7f0805b692aaf848e55203e03beaa461aa5faca7bc744083b7cb6c7eefb SHA512 98ae264627c6000619766914e21afa1864995bb9724bac24ef34af158db05cb43c0e382e841153789d22734eab00c0efa11342d988532d1348337fb370fec700

View File

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

View File

@ -0,0 +1,3 @@
AUX set_build_backend.patch 286 BLAKE2B 4baa101d9c9943760520a976a199f9a41e868a45b993ade42866e78e137d25c7a20810344b84c1a6f97bcba693a4ba4830c0fbc2ff77d22b521458172d4d7308 SHA512 be3e0ed5094375be9f1d3e04e332118e9b902a17e644ded3c0554e48f116a2b9655f2e6988882f6b6cf23926d1a91167f9de0ea164634cbed1bc194b5e6f1e88
DIST jellyfin-apiclient-python-1.11.0.tar.gz 36454 BLAKE2B 057dacb9640a3cc938ddafc4503b472bc4b690c86c01e706bdf53289d065455ea03d0b4bf37173b5e2195615c79d6a5acc5e8d633c6812f9d9836629d8e8492c SHA512 980ff946f2cdd8ff2e0628a0bf3e245c3fa708d8b92d505e5de4b062a8328cea68cb36451467b87b7230a65b27cb6f29b814f18ec972e322855a2dc43e307693
EBUILD jellyfin-apiclient-python-1.11.0.ebuild 821 BLAKE2B 64b2e58d6d07d2dbd615dc514dae19eae13decfa23bb09b7cc80ce2ffa3f101a74463028da1ef2d18eb7ba84bae578e0366b8f5de90815264a3812697e4f0bdc SHA512 472d627bd123e07adc0978e26c6017f682db80f906af4cc8d3f6d999a15a679f00ef9a914d7e79c6fe77092b8d5b011e8e69b5f4aeaf74d3493d10a15effb3bd

View File

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

View File

@ -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
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
RESTRICT="mirror test"
PATCHES=(
"${FILESDIR}/set_build_backend.patch"
)
LICENSE="GPL-3"
SLOT="0"
IUSE=""
DEPEND="
dev-python/requests
dev-python/urllib3
dev-python/websocket-client
dev-python/certifi
"
RDEPEND="${DEPEND}"
BDEPEND=""

View File

@ -0,0 +1,2 @@
DIST python-mpv-jsonipc-1.2.1.tar.gz 11961 BLAKE2B dc80bf634178a630971ab36f99301285743542c17e11e232f46dd6f34ce212890a1b45710431d83fa0ceb98cd08429c800e3f73245274e664ffe73890721db40 SHA512 e55e4a52ea36d5d9ef0447ccd1da367c04e6487edce233902c1a1ec45db4aa29006ddd4528ae160f449811dccbc26e7efc6011f69d7fb40b26a74e8e0ec0467e
EBUILD python-mpv-jsonipc-1.2.1.ebuild 681 BLAKE2B bb4d5d11b7ee1f10c0de51cd8546491f23fae7334b47a2d15193c925737a9dd0d2cf1f3c91d0a96aabe574daca51df730a99244504b0afcd1ebbfae1bf7ebb36 SHA512 7732794d5123f24e5d5243902f479e4bfe852659c56f2c2c900c49b4ad2944020a24f622d9405636b1acaccf4a328578df4d393d80f677ef701d599211853d8b

View File

@ -0,0 +1,31 @@
# 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
DESCRIPTION="Python JSON-IPC library for mpv"
HOMEPAGE="https://github.com/iwalton3/python-mpv-jsonipc"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/iwalton3/python-mpv-jsonipc.git"
inherit git-r3
KEYWORDS="~amd64"
else
SRC_URI="https://github.com/iwalton3/python-mpv-jsonipc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64"
fi
LICENSE="APACHE-2"
SLOT="0"
IUSE=""
DEPEND=" "
RDEPEND="${DEPEND}"
BDEPEND=""
distutils_enable_tests pytest

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

@ -1,2 +1,2 @@
DIST repository.jellyfin.kodi.zip 88044 BLAKE2B 8ea256ac1b071e95ddff35c6344983e6f55092526c479a0aeb815d28104c8a02dee3adb7192555e0b8fa2784275eb59ef82e7519c0b1c3bac569e5c3b58c5ebc SHA512 0fb9777a57fda7dc3c29e776a669c14c62ce4fdecb6b05fb495274efd97736a3f25e171b07967084900730c46702b1c06239a47557f427d85c9b054d37c22a5e
EBUILD kodi-repository-jellyfin-1.0.ebuild 606 BLAKE2B bf3ddc5f212641a535d02339a9bc0b6c3df63c225056ff9e3f659417de23b2f481a6554e10b809b35a7883d684eb81639b634e21f24c0b38dbe08270168c72bc SHA512 c2b6808012a331987eb1a6d364420711bb6d85c9385e27fb36f5be5869650aeae1f88ad9e86913ac9478af4566dd796a85c7214245e1a8ca9d55c0f45c0a3a2a
EBUILD kodi-repository-jellyfin-1.0-r1.ebuild 601 BLAKE2B 69636b179bfd42d2aa96f9d793f1cff32c9497ce8d4f2eee6a08f9fba143870b77b96659ea659434db33a24578a47df760456f027d18ca14102e28ed596035e4 SHA512 52ac93912881ab6b578da58c693f9f768561f6310bc44b41f70d8e2b86111c9fe86fc474993c3490226884cb9fb714dc4bfcb4365159ae50de7dce569d0857ee

View File

@ -16,7 +16,7 @@ SLOT="0"
IUSE=""
DEPEND="
=media-tv/kodi-19*
media-tv/kodi
"
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,6 +0,0 @@
AUX jellyfin.conf 449 BLAKE2B 2d5b30d8ecd9e84434cfd61bbc07467dc54d1eab3685bc1c2bcd51d1544ead44ffb544e3cfdbfba2fff4e1b9b386f9b2e6d8f8d0a724a8445e615576800b8fb8 SHA512 04e3ae0474e442fe4ee8ce9a0450bf21eb80b6a597080f0d530ad1ece6c82cbc768cb3efe548a70d05fb00c428abadd770c09f1a9642ba567f0d78666c7e297c
AUX jellyfin.init 759 BLAKE2B 9e367ed860676d31e0d3b6c96493331bdc8f28e98699fee9b4ce9766372703a4f0e32afca054f892e6d2bdfe86d49226eac6282152bbd649a03a25191ae538b0 SHA512 7b41b17d9ad6d598c3304a1bb063c190ce79305894fa9dc429144e65860a1212eb6606d9df0850f3390fd8a82fe69c1c70753dd4e86ce841bf8a5505b2820899
DIST jellyfin_10.7.7_amd64.tar.gz 91553323 BLAKE2B ba3008a4cecfd7fa7841153dce8885a1f6c16e65c53b56699b0ad42c2ee19cd982a35d89821d0ccb0a67eff7d0b573e121a36760ebc054edb01d2372c6223154 SHA512 11adfb5f6d5d7aeebbcf0399d1168879abccc49273390466b4a2ab44e4a0833515896e0474160f8e82dcd491db466505a66c9bf293ba3fc1fb9e3e048550fab7
DIST jellyfin_10.8.0_amd64.tar.gz 98892257 BLAKE2B 7f43c7cbed893cc08ace42d8d41bb0027d93c862d4547ce84bad30dae138ddc983e12edc97b3d474df70dceccf55ecfcb3abc2cfce14413871a7535842911283 SHA512 66fdba4adcf2a34085235f2a4185f277d5bd0732f77756e8dbd0a988c5d20f8fbcd08f6bc8463dead89cf316250af8f55be11f74a272a3a62c44ac24b98fb5dc
EBUILD jellyfin-bin-10.7.7.ebuild 1126 BLAKE2B a8bcb798f52a5a0ce341cf6f709db48540d953c5485c5ddf4ce296a71df3ae9d78c2c641bcff25f63cb45302142621d219d9a9f00c1b15daa2da46f7d6a7d30f SHA512 80e4fafc3ff47eb67698b2b947e60ef810b19d3a986c98eb8e26869723ee84fee54b5e3fd0b341133555fd13bc577ad476f641e19547de9a0605f5c1132c0fe4
EBUILD jellyfin-bin-10.8.0.ebuild 1126 BLAKE2B a8bcb798f52a5a0ce341cf6f709db48540d953c5485c5ddf4ce296a71df3ae9d78c2c641bcff25f63cb45302142621d219d9a9f00c1b15daa2da46f7d6a7d30f SHA512 80e4fafc3ff47eb67698b2b947e60ef810b19d3a986c98eb8e26869723ee84fee54b5e3fd0b341133555fd13bc577ad476f641e19547de9a0605f5c1132c0fe4

View File

@ -1,18 +0,0 @@
# Parameters for jellyfin
# If you want jellyfin to use a different proxy
# then the rest of the system, you can specify the
# environment variables here
#http_proxy="http://myproxy:3218"
#https_proxy="http://myproxy:3218"
# Default paths and user
# you probably don't want to change this
#jellyfin_user="jellyfin"
#config_dir="/etc/jellyfin"
#log_dir="/var/log/jellyfin"
#data_dir="/var/lib/jellyfin/data"
#cache_dir="/var/lib/jellyfin/cache"

View File

@ -1,36 +0,0 @@
#!/sbin/openrc-run
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
: ${jellyfin_user:=jellyfin}
: ${config_dir:=/etc/jellyfin}
: ${log_dir:=/var/log/jellyfin}
: ${data_dir:=/var/lib/jellyfin/data}
: ${cache_dir:=/var/lib/jellyfin/cache}
name="jellyfin"
description="Jellyfin Daemon"
pidfile=/var/run/${RC_SVCNAME}.pid
command=/opt/jellyfin/jellyfin
command_background=yes
command_user=${jellyfin_user}
command_args="-c ${config_dir} -l ${log_dir} -d ${data_dir} -C ${cache_dir}"
depend() {
need net
}
start_pre() {
if [ -n "${http_proxy}" ]; then
export http_proxy="${http_proxy}"
fi
if [ -n "${https_proxy}" ]; then
export https_proxy="${https_proxy}"
fi
}
restart() {
stop
sleep 3
start
}

View File

@ -1,44 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PN="${PN%-*}" # strip off -bin
DESCRIPTION="Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media."
HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/"
SRC_URI="https://repo.jellyfin.org/releases/server/linux/stable/combined/${MY_PN}_${PV}_amd64.tar.gz
https://repo.jellyfin.org/archive/linux/stable/${PV}/combined/${MY_PN}_${PV}_amd64.tar.gz"
RESTRICT="mirror test"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-util/lttng-ust
acct-user/jellyfin"
RDEPEND="${DEPEND}"
BDEPEND="acct-user/jellyfin"
INST_DIR="/opt/${MY_PN}"
QA_PREBUILT="${INST_DIR}/*.so ${INST_DIR}/jellyfin ${INST_DIR}/createdump"
src_unpack() {
unpack ${A}
mv ${MY_PN}_${PV} ${P}
}
src_install() {
dodir ${INST_DIR}
insinto ${INST_DIR}
doins -r ${S}/*
chmod 755 ${D}${INST_DIR}/jellyfin
newconfd "${FILESDIR}/${MY_PN}.conf" "${MY_PN}"
newinitd "${FILESDIR}/${MY_PN}.init" "${MY_PN}"
diropts -o jellyfin -g jellyfin
keepdir /etc/jellyfin
keepdir /var/log/jellyfin
}

View File

@ -1,44 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PN="${PN%-*}" # strip off -bin
DESCRIPTION="Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media."
HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/"
SRC_URI="https://repo.jellyfin.org/releases/server/linux/stable/combined/${MY_PN}_${PV}_amd64.tar.gz
https://repo.jellyfin.org/archive/linux/stable/${PV}/combined/${MY_PN}_${PV}_amd64.tar.gz"
RESTRICT="mirror test"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-util/lttng-ust
acct-user/jellyfin"
RDEPEND="${DEPEND}"
BDEPEND="acct-user/jellyfin"
INST_DIR="/opt/${MY_PN}"
QA_PREBUILT="${INST_DIR}/*.so ${INST_DIR}/jellyfin ${INST_DIR}/createdump"
src_unpack() {
unpack ${A}
mv ${MY_PN}_${PV} ${P}
}
src_install() {
dodir ${INST_DIR}
insinto ${INST_DIR}
doins -r ${S}/*
chmod 755 ${D}${INST_DIR}/jellyfin
newconfd "${FILESDIR}/${MY_PN}.conf" "${MY_PN}"
newinitd "${FILESDIR}/${MY_PN}.init" "${MY_PN}"
diropts -o jellyfin -g jellyfin
keepdir /etc/jellyfin
keepdir /var/log/jellyfin
}

View File

@ -0,0 +1,2 @@
DIST jellyfin-ffmpeg_7.1.1-6_portable_linux64-gpl.tar.xz 58157824 BLAKE2B d8a4370bfe0d8dd416c4cc86652c6554677b4f86677f24db37feb1aeacfb7d498e8af8b074b0d14e15be39c916cd1d817d723f42ddfccd34c3ce37ef6d3a94ab SHA512 853c5b3e08fcbbf0f11767961de8b891e7e4e2af27a4d1e0e2ae2eee4f39398356751f7b08a7cc8d95895f1667c310b6f06d256f3af588fb37671817895adbb2
EBUILD jellyfin-ffmpeg-7.1.1.6.ebuild 801 BLAKE2B d32db6c1a4ccbc816163cf8c3086f76264a2240581319b512c2770ffea4c5a188cb1de7cd539528fe4f8659a789e9cda40568600142cf72645b72db1119c0128 SHA512 1becbe94ab7653190c9083d531b79ff9b4dfb2fc7ea17eac12a98c8888e9551a58ee63d62dd4b844275e70c36362855cadb9e73771c581e19ce159dcfe8ee539

View File

@ -0,0 +1,36 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Jellyfin build of ffmpeg with streaming enhancements."
UPSTREAM_VERSION="${PV%.*}-${PV##*.}"
HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/"
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"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND=""
INST_DIR="/opt/${PN}"
QA_PREBUILT="${INST_DIR}/ffmpeg ${INST_DIR}/ffprobe"
S="${WORKDIR}"
src_unpack() {
unpack ${A}
}
src_install() {
S="${WORKDIR}"
dodir ${INST_DIR}
insinto ${INST_DIR}
doins -r ${S}/*
fperms 755 ${INST_DIR}/ffmpeg ${INST_DIR}/ffprobe
}

View File

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

View File

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

@ -0,0 +1,42 @@
# 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
DESCRIPTION="Cross-platform cast client for Jellyfin"
HOMEPAGE="https://github.com/jellyfin/jellyfin-mpv-shim"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/jellyfin/jellyfin-mpv-shim.git"
inherit git-r3
KEYWORDS="~amd64"
else
SRC_URI="https://github.com/jellyfin/jellyfin-mpv-shim/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
#S="${WORKDIR}/jellyfin-mpv-shim"
KEYWORDS="amd64"
fi
LICENSE="MIT GPL-3"
SLOT="0"
PATCHES=(
"${FILESDIR}/no-shaders.patch"
)
IUSE="tray mirror discord"
DEPEND="
dev-python/python-mpv
>=media-libs/jellyfin-apiclient-python-1.9.2
dev-python/requests
>=media-libs/python-mpv-jsonipc-1.2.0
"
RDEPEND="${DEPEND}
tray? ( dev-python/pystray dev-python/pillow dev-lang/python[tk] )
"
BDEPEND=""
distutils_enable_tests pytest

View File

@ -1,2 +1,2 @@
DIST v0.0.1.tar.gz 3154 BLAKE2B 02a9f0b6ac313597ae04aac98fef28e7f5cbb5d99bd0a4f03d105a9e1448cb2090547bc44cbbc124500fdeddf6d3e778422059266ca3833d975012564b496e34 SHA512 94d205ad24dde3d68e836699794e4cd8bc7243765a57808926aee479959be3d9ca57e05628e33fffa2419a475d040b38cc0437859722c82ff25b6a5e807e7934
EBUILD check_service-0.0.1.ebuild 459 BLAKE2B 5ff6a4dd5a6e40ebbdda36655e3938d68f63d3afb2ee3136de1da972ce357c29eecf023f82867857372b36c2d6c0f1e0cc99b508b8da4105078b2a389b53927a SHA512 da2a2a0754b6cf48505768ad3d8927c7e0ab7ca7d4aadf2c2b694f93e6fda44a9ad94c365a31bc43c2542ff901015b0d546aa244be2d26c638b5b3281c5fd84e
EBUILD check_service-0.0.1.ebuild 516 BLAKE2B 793211e6dff61c0a1c1a3e47a6c12be41e6a7d72945757b3365449179ef896ec63f5c50366ce7fd370eb896d277f67c4acd0e56a11d78dd31d61097d7a014852 SHA512 bb923fa6acec48e2a6678600a19a1631bcff8b8472be6500044a6a487f775a7629238a35db61564a85080b1ebb77d7de77502f0c4c4c2e86c9c73f9699996121

View File

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

View File

@ -1,2 +0,0 @@
DIST Wire-3.26.2941_amd64.deb 57516924 BLAKE2B de16f32b56399c9e7b559f394d4d6c40434c3face658c935cfe86424d5eee568784ab6fb92dcc7ceb42dc68485e8fbffdd8aae72e01daf99fca635fd9580bbbd SHA512 a39abf227bb8f6e9961e54560261ffec5a537f5d128f41c542dabcb4ef494172ab796d0811c3862892041985c5f24dc1f5dbf37b0bb6fffa92f891687e8715e2
EBUILD wire-desktop-bin-3.26.2941.ebuild 1066 BLAKE2B 48167e48cf2c2f03ec4fe7b6102496d21714861f9f6e880c0b36740f54ea5dbbbe66d1f836d4961026a41f8830189641c6f56a5d58a3b92347fa470853eb2a43 SHA512 778663f51e7210543fa7bcc7c2bac5486b071673adeef67e26bf54d33c4d97bfc75179cb51850a6d94696bb87864b3b5d65813d14c3e6f29e459f83025996165

View File

@ -1,49 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop xdg-utils
DESCRIPTION="Wire desktop client"
HOMEPAGE="https://wire.com/"
SRC_URI="https://github.com/wireapp/wire-desktop/releases/download/linux/${PV}/Wire-${PV}_amd64.deb"
LICENSE="GPL-3 MIT BSD"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND=""
S=${WORKDIR}
src_unpack() {
default
unpack ./data.tar.xz
rm data.tar.xz control.tar.gz debian-binary
}
src_install() {
domenu usr/share/applications/wire-desktop.desktop
doicon --size 32 usr/share/icons/hicolor/32x32/apps/wire-desktop.png
doicon --size 256 usr/share/icons/hicolor/256x256/apps/wire-desktop.png
dodoc -r usr/share/doc/wire-desktop/*
insinto /opt
doins -r opt/Wire
dosym /opt/Wire/wire-desktop /usr/bin/wire-desktop
docompress -x /usr/share/doc/${P}/changelog.gz
fperms 0755 /opt/Wire/wire-desktop
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

@ -8,23 +8,27 @@ 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
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
pulseaudio pipewire ogg mp3 alsa vorbis native-headset ofono-headset opus
jpeg zimg png tiff gif exif xmp svg hdri heif corefonts webp raw x265 libde265 wallpapers vpx gdk-pixbuf libdovi
udisks smartcard cryptsetup pkcs7 gpg
bluetooth usb
gdbm
gtk cairo
wifi
modemmanager networkmanager nftables conntrack
modemmanager networkmanager nftables conntrack libproxy
cups scanner ocr printsupport
libnotify
hwaccel
qt qt5
qt qt5 qt6 qml kf6compat
rustfmt
libxml2
"

View File

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

View File

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

View File

@ -0,0 +1,6 @@
media-libs/libva ~amd64
media-libs/gmmlib ~amd64
media-libs/libvpl ~amd64
media-libs/libvmaf ~amd64
media-libs/vpl-gpu-rt ~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

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

View File

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

View File

@ -1 +1 @@
=mail-client/thunderbird-78.14.0 ~amd64
<dev-util/cargo-c-0.11.0 ~amd64

View File

@ -0,0 +1 @@
=net-misc/nextcloud-client-3.6.6 ~amd64

View File

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

View File

@ -1 +0,0 @@
=dev-python/pythonmagick-0.9.19 ~amd64

View File

@ -1 +0,0 @@
dev-python/pythonmagick

View File

@ -0,0 +1,2 @@
# python flag conflicts with dependency for beancount
sys-apps/file -python

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1 @@
media-sound/pulseaudio daemon

View File

@ -1 +0,0 @@
dev-python/PyQt5 network webchannel

View File

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

View File

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

View File

@ -1,3 +1,4 @@
dev-qt/qtwebengine widgets
dev-qt/qtwebchannel qml
dev-libs/libpcre2 pcre16
dev-python/PyQt5 network sql

View File

@ -1 +1,2 @@
mail-client/thunderbird lightning
dev-libs/sexp static-libs

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More