From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- media-video/Manifest.gz | Bin 26672 -> 26503 bytes media-video/amdgpu-pro-amf/Manifest | 2 +- media-video/amdgpu-pro-amf/metadata.xml | 2 +- media-video/ffmpeg/Manifest | 20 +- media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild | 9 + media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild | 551 ------------------- media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild | 9 + media-video/ffmpeg/ffmpeg-4.4-r1.ebuild | 557 ------------------- media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild | 9 + media-video/ffmpeg/ffmpeg-4.4.2.ebuild | 590 +++++++++++++++++++++ media-video/ffmpeg/ffmpeg-5.0-r3.ebuild | 569 -------------------- media-video/ffmpeg/ffmpeg-5.0.1.ebuild | 9 + media-video/ffmpeg/ffmpeg-9999.ebuild | 9 + .../files/ffmpeg-4.3.1-srt-1.4.2-build.patch | 52 -- media-video/gaupol/Manifest | 2 +- media-video/gaupol/gaupol-1.11-r1.ebuild | 64 +++ media-video/gaupol/gaupol-1.11.ebuild | 65 --- media-video/libva-utils/Manifest | 2 +- media-video/libva-utils/libva-utils-2.14.0.ebuild | 2 +- media-video/mediainfo/Manifest | 4 +- media-video/mediainfo/mediainfo-21.09.ebuild | 2 +- media-video/mediainfo/mediainfo-22.03.ebuild | 86 +++ media-video/motiontrack/Manifest | 2 +- .../motiontrack/motiontrack-0.1.3-r2.ebuild | 4 +- media-video/movit/Manifest | 3 +- media-video/movit/files/movit-1.6.3-gcc12.patch | 12 + media-video/movit/movit-1.6.3-r1.ebuild | 44 ++ media-video/movit/movit-1.6.3.ebuild | 41 -- media-video/mplayer-sh/Manifest | 4 - .../files/mplayer-sh-0.8.7-parameter-aid.diff | 84 --- media-video/mplayer-sh/metadata.xml | 8 - media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild | 42 -- media-video/obs-studio/Manifest | 2 +- media-video/obs-studio/obs-studio-9999.ebuild | 72 +-- media-video/pipewire/Manifest | 25 +- .../pipewire/files/99-pipewire-default-hook.conf | 17 + .../pipewire-0.3.43-systemd-user-unit-dir.patch | 30 -- .../files/pipewire-0.3.44-musl-build.patch | 33 -- ...7-pulse-server-pending-sample-reply-crash.patch | 101 ---- ....3.47-revert-loop-remove-destroy-list-mpd.patch | 187 ------- .../pipewire/files/pipewire-0.3.49-x86-cast.patch | 20 + ...pewire-0.3.50-treewide-retain-sections-to.patch | 70 +++ media-video/pipewire/pipewire-0.3.43-r3.ebuild | 316 ----------- media-video/pipewire/pipewire-0.3.44-r1.ebuild | 324 ----------- .../pipewire/pipewire-0.3.45_p20220205.ebuild | 353 ------------ media-video/pipewire/pipewire-0.3.47-r1.ebuild | 356 ------------- media-video/pipewire/pipewire-0.3.48-r1.ebuild | 355 ------------- media-video/pipewire/pipewire-0.3.49-r1.ebuild | 359 +++++++++++++ media-video/pipewire/pipewire-0.3.49.ebuild | 355 ------------- media-video/pipewire/pipewire-0.3.50-r1.ebuild | 356 ------------- media-video/pipewire/pipewire-0.3.50-r3.ebuild | 361 +++++++++++++ media-video/pipewire/pipewire-0.3.51-r1.ebuild | 362 +++++++++++++ media-video/pipewire/pipewire-9999.ebuild | 8 +- media-video/qmplay2/Manifest | 6 +- media-video/qmplay2/qmplay2-21.06.07-r2.ebuild | 132 ----- media-video/qmplay2/qmplay2-22.03.19.ebuild | 137 +++++ media-video/qmplay2/qmplay2-9999.ebuild | 2 +- media-video/rav1e/Manifest | 2 +- media-video/rav1e/rav1e-0.5.1.ebuild | 2 +- media-video/rtmpdump/Manifest | 5 +- .../rtmpdump/files/rtmpdump-fix-chunk-size.patch | 46 ++ media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild | 92 ++++ media-video/rtmpdump/rtmpdump-9999.ebuild | 9 +- media-video/subtitlecomposer/Manifest | 3 +- .../subtitlecomposer-0.7.1-gles-support.patch | 122 +++++ .../subtitlecomposer/subtitlecomposer-0.7.1.ebuild | 7 +- media-video/webcamoid/Manifest | 3 - media-video/webcamoid/webcamoid-8.7.1-r1.ebuild | 86 --- media-video/webcamoid/webcamoid-8.7.1.ebuild | 77 --- media-video/wireplumber/Manifest | 19 +- ...default-nodes-handle-nodes-without-Routes.patch | 51 -- ...tooth-fix-string.find-crash-with-nil-stri.patch | 28 - ...eam-do-not-crash-if-config.properties-is-.patch | 27 - ...4.8-si-audio-adapter-relax-format-parsing.patch | 44 -- ...x-va-list-APIs-for-different-architecture.patch | 214 -------- ...ment-which-options-need-to-be-turned-off-.patch | 87 +++ ...icy-device-profile-clear-tables-when-devi.patch | 33 ++ media-video/wireplumber/wireplumber-0.4.10.ebuild | 118 +++++ .../wireplumber/wireplumber-0.4.7-r2.ebuild | 120 ----- .../wireplumber/wireplumber-0.4.8-r2.ebuild | 122 ----- .../wireplumber/wireplumber-0.4.8-r3.ebuild | 123 ----- .../wireplumber/wireplumber-0.4.9-r1.ebuild | 121 +++++ media-video/wireplumber/wireplumber-0.4.9.ebuild | 2 +- media-video/wireplumber/wireplumber-9999.ebuild | 1 + media-video/yle-dl/Manifest | 2 + media-video/yle-dl/yle-dl-20220425.ebuild | 54 ++ 86 files changed, 2949 insertions(+), 5869 deletions(-) delete mode 100644 media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild delete mode 100644 media-video/ffmpeg/ffmpeg-4.4-r1.ebuild create mode 100644 media-video/ffmpeg/ffmpeg-4.4.2.ebuild delete mode 100644 media-video/ffmpeg/ffmpeg-5.0-r3.ebuild delete mode 100644 media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch create mode 100644 media-video/gaupol/gaupol-1.11-r1.ebuild delete mode 100644 media-video/gaupol/gaupol-1.11.ebuild create mode 100644 media-video/mediainfo/mediainfo-22.03.ebuild create mode 100644 media-video/movit/files/movit-1.6.3-gcc12.patch create mode 100644 media-video/movit/movit-1.6.3-r1.ebuild delete mode 100644 media-video/movit/movit-1.6.3.ebuild delete mode 100644 media-video/mplayer-sh/Manifest delete mode 100644 media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff delete mode 100644 media-video/mplayer-sh/metadata.xml delete mode 100644 media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild create mode 100644 media-video/pipewire/files/99-pipewire-default-hook.conf delete mode 100644 media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch delete mode 100644 media-video/pipewire/files/pipewire-0.3.44-musl-build.patch delete mode 100644 media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch delete mode 100644 media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch create mode 100644 media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch create mode 100644 media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch delete mode 100644 media-video/pipewire/pipewire-0.3.43-r3.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.44-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.45_p20220205.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.47-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.48-r1.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.49-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.49.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.50-r1.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.50-r3.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.51-r1.ebuild delete mode 100644 media-video/qmplay2/qmplay2-21.06.07-r2.ebuild create mode 100644 media-video/qmplay2/qmplay2-22.03.19.ebuild create mode 100644 media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch create mode 100644 media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild create mode 100644 media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch delete mode 100644 media-video/webcamoid/webcamoid-8.7.1-r1.ebuild delete mode 100644 media-video/webcamoid/webcamoid-8.7.1.ebuild delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch delete mode 100644 media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch create mode 100644 media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch create mode 100644 media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch create mode 100644 media-video/wireplumber/wireplumber-0.4.10.ebuild delete mode 100644 media-video/wireplumber/wireplumber-0.4.7-r2.ebuild delete mode 100644 media-video/wireplumber/wireplumber-0.4.8-r2.ebuild delete mode 100644 media-video/wireplumber/wireplumber-0.4.8-r3.ebuild create mode 100644 media-video/wireplumber/wireplumber-0.4.9-r1.ebuild create mode 100644 media-video/yle-dl/yle-dl-20220425.ebuild (limited to 'media-video') diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz index 217ac32a7fa4..6207661cb063 100644 Binary files a/media-video/Manifest.gz and b/media-video/Manifest.gz differ diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest index a666d4731d1e..4f3fe7472b69 100644 --- a/media-video/amdgpu-pro-amf/Manifest +++ b/media-video/amdgpu-pro-amf/Manifest @@ -4,4 +4,4 @@ DIST amdgpu-pro-amf-1.4.24.1395274.deb 1304984 BLAKE2B e1b51c6e9dfafcb677314ac88 EBUILD amdgpu-pro-amf-1.4.24.1376756-r1.ebuild 1283 BLAKE2B d563376c455b3761106c67ae912b7b6ca2047694f104157e98cc802239674676611f4a0bc67ebdeb18c78c26f35af4a75985a4cc8fe4cc8f95d89523c4cd3ae4 SHA512 f810d2cba5bc2d12e0256caeaf03ae94e82b11cf6942b77eb4da6eb34204beebef9f53b4745a6c2bd603507a1549699fc70666e037c10d8020af7076c4e82bec EBUILD amdgpu-pro-amf-1.4.24.1384496-r1.ebuild 1283 BLAKE2B f2504aee7dd019b60621e7cfb4586dfc750ab0fced2929a725ec3b291f109c81eb04791df995947f8d94eac45e990182691e896cf240dfa4ece7eed72c7b8340 SHA512 fce600f954c56aec568828875ad815cc2cf34afaff63414cad75db260a5ad244817ae473295ee1c502341e776ab788086204ebfe085c8c6a8a550a02b63a3587 EBUILD amdgpu-pro-amf-1.4.24.1395274.ebuild 1214 BLAKE2B 7664a37ed9ebaa10343988f9a0ee6ba847279c1ba1066e2e61cf900eee2e508a64770905a8c4fa8673aafca9b185001093ead27dc8ea7e2d5d33ebbc7444f6c9 SHA512 dfd615c64b268387e87178872c850caceb6ebcc9262596c8b20af27c8bc4ff9f640bb1924adee93b908d2269b0e9ca190e4781cb2aa257afe08b6fb73273d4a7 -MISC metadata.xml 401 BLAKE2B c46c3e3729fe8721b57a97a504997e1dd773fceb8ba0ff302f985eca3053abba5ac5f1103d6e4437074b854a3c4c55f7fc6991def0054fb768c8db9eec27ce16 SHA512 08ef778f6f5675ec9848b8f0a8e9296d41a4f21f18a344ba5a0f915a5933280dbd21e66692aaee5ca854785b3a639707d41c0912fdbe43373b51aa173c751383 +MISC metadata.xml 402 BLAKE2B 45f4e6adffb186b9a9b36b420aaa5727f025206eca039d9f6fbe3eb302f7200cc24c079480d91c9d92ccd932bef86b87401400f17eba2fd8b4baa3fca66cf236 SHA512 dc9e5a699437291c5f768d66bdfd9d2aaa00e931f358e6d0045e764638332a8db14bd19a782aac0918dc4b42b8658a5974bdfec2971690e6718be247fff512b3 diff --git a/media-video/amdgpu-pro-amf/metadata.xml b/media-video/amdgpu-pro-amf/metadata.xml index 03e31d9fc34c..6d07c8aa6259 100644 --- a/media-video/amdgpu-pro-amf/metadata.xml +++ b/media-video/amdgpu-pro-amf/metadata.xml @@ -1,5 +1,5 @@ - + Adel Kara Slimane diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest index 9d127650aa2a..63fc9af9da85 100644 --- a/media-video/ffmpeg/Manifest +++ b/media-video/ffmpeg/Manifest @@ -2,25 +2,21 @@ AUX amf-env-vulkan-override 60 BLAKE2B 409985e6b5ef0e148076c16d8132db2b79ea53e0a AUX chromium-r1.patch 1582 BLAKE2B 48547a7d53fd1f0f44b682c7e2306e79f007f8e96b36253f76775c4a3ced54ffaaf403dfaae94e81aa26c60887677b2dabdd2c5cef9fc4553e203f8259453910 SHA512 808daad5afed13a6d3926c9f9ab5cb58f80e16969533022c7ee959147908bb2c12d066d2125a6b6975ef9304d9b8d49c39aeb0a047009adabb4529e3cf54498f AUX ffmpeg-4.3-altivec-novsx-yuv2rgb.patch 1110 BLAKE2B ceccefcb4dd106067c0200801408c759c9b4746177a224f4448ad557a3e8335d8d48710af4b476bb18180dcfd308ff958f5addb0a06e50ab1802e853c5d2f633 SHA512 402651608332e8a4056e64c1f7c1350527c543d51632f213a74b4ee455789f3f4eac1ce7afba63392a86fd7aed2fd7b96a66342c6639067ada66508fe2f8770c AUX ffmpeg-4.3-fix-build-without-SSSE3.patch 622 BLAKE2B 258b8bbe70d4d17c18d281a64341618d6089653e5a91a162309363bc1ed33c4eb4e5ae684de0ce4c5e199c6664a90761b9e3488982bff2a0e2e3cb56aa08f62b SHA512 509fb710586d934c782111e0b4e4ffd888f34311b5054a0521a7b6781615c562451f3c53bf7bd3cc5d42ddabe31fb4b63b653e7c32a38acc3574a813b0cae264 -AUX ffmpeg-4.3.1-srt-1.4.2-build.patch 3240 BLAKE2B bbae19d16050233a09d888978b0bce6fada6ca707227157f7c2f68e2db2ed61a7ef4afa26fb7708b3f2a273e1436e97bc8f770d8f67df4b82a94a4a6ce9edd20 SHA512 e2e96472a204724358eb093eebea4d5f3339ac9a4d218ef115ee6d1e0404b0af73a3abe448d5fc0af31174bfc1dec7ce990dd64b05efe16251cf09dd1f476166 AUX ffmpeg-5.0-backport-ranlib-build-fix.patch 2224 BLAKE2B 1af6c5eee3f2c69c0630a73ec3885b9302cb045a03623ff138939348d6ba7e7deef1bb07c33c5bef5834040c4f6abcd7d22af8b0b849b28efde3d5753b776108 SHA512 e82cd400488ba86e5d039f088e3798b5a66245a8753d275d608284081f4b260fb7a4d8d1310f43acdf81258cc507943c8f07e431c497411744a62ba98c88c5bb AUX vmaf-models-default-path.patch 1126 BLAKE2B 71f83765dc89b85e929af393f9d1415d119e71a91aaf45e8a32fd4fff270a129ca797c3b383a6074bea32fb582816660022a59d33bb6f557514df038baaf0271 SHA512 4d21f4b1622d8e47d2821ecac6b893847ada74d75db7d8aaac70efc7e6e7a6607c011b6fb2d015cb0c5e05f6a56e4feed43eca7d35b0f686a68261e6d9981b6a DIST ffmpeg-4.2.2-ppc64-altivec.patch.gz 7171 BLAKE2B 6676dadb22d2ab4b0f5c19b418448c5b9b54fd8c803c3f0ab517c6fa7990be08098dd6f6a2b1b3e77a1bed31a069c702366aba79ef9141ff9e23cd8c1b6e2885 SHA512 6653975017de3f7bde420860419fbdddb50ae41dbb811b819f4b5b13807bf885a4c01736f05a684515f97b0d63bd8896d5951a3276af90cc74abfe32dc2e2407 DIST ffmpeg-4.2.2-ppc64-gcc.patch.gz 750 BLAKE2B 3a9cc7f0135e077c77179a7ca3da917bca3995d99d53b58221b23181a075f330132f83ea90a6110e89f90c7c3b5b2a7837559c5df414d9bd52dbb3ec166b1545 SHA512 701b0635e0819484a31de2062ba52d95ee03883ab56547cd75c3646a9b32bf3ecc7f719690b93f29202cfed0fdeecd26b51b9f3c66e72a999a3e8d9e97389275 DIST ffmpeg-4.2.4.tar.bz2 10959430 BLAKE2B 932bc0046edab5587063bbc04d6ef0149876bd1001ad185384fcabb3d0ae196c9ba591e680823b3c7b6e0ef9a0a9e9575a8b08439fdd89ef0e4dabb9d4a7f4e6 SHA512 5c74e3fe77ddf8ffede0e4692d574858dd0626e542380a819ab79c0f669c6c1329ffbccb872502f60306e561f10aa8bc1e61d09b2bea829870fe4a48b76460c6 -DIST ffmpeg-4.3.1.tar.bz2 11301038 BLAKE2B 3b0eb332459921435b60e72f5c572034abf65d4ab79ef4cfae94fe594048eaa37eec47724d119863102a7211c2178f5a2382a6d4016b792818079b8241bde084 SHA512 831a187d8b8f2715a9f11c93c8d3ec126ff579d470797da452d3395178877de113af7ae90ed27fca0b223791ad257972570481e6dbb8361d2b7f3b010924bee8 DIST ffmpeg-4.3.2.tar.bz2 11307134 BLAKE2B 97e1e598e4abe397b06298d545c3073ea2303e11c01e98343fe09d99174e02ca94f52c4df0d389fbefe7814686221446d30f107092f00cb0b69275c8747d6f32 SHA512 ec5566f8684f0ceb18184d59786ea1fc166ab28c46260ebcca5b919ad53137ba7317fd0c537e97df28553572a0d5e42c558773c808cf76995d67985aec2d6d4d DIST ffmpeg-4.4.1.tar.bz2 11494996 BLAKE2B 050b0501cb21f44451d59bf3b20b18d55234636b5a69a4962103d63f80ce9af172cc2cecb1e33b92334fcf635b283afddbdfa20cbd6deb526008cdb34ae01c16 SHA512 c41e63ffa9f5465ea3a7f4a8b255b299a2f49d5868ada4310a2344b8fea02476365c44871defd5609da55c805cbb58f34063dbdd4b203ade932cba8b3cfefc72 -DIST ffmpeg-4.4.tar.bz2 11489948 BLAKE2B a8dc007e260896228789d27339402e846cd21758e02c7a8d66a745ced2d1bbef4aa9c18c9b7cefef004b5ffa3fc859e2a2474c957bdf9ff27e82cec72ed4a5bf SHA512 212c330f477e9452b9d7873d6d3c452a5c946b6b9c17b01d94c60fda66e61e53b78388ef7686b8d9415a27cd3e05d5f0d6639a02a22467dbf1ed483b5594c80f +DIST ffmpeg-4.4.2.tar.xz 9562968 BLAKE2B be044e9895acdd71a237a343a8d047c56db845c693b8c07877fc8049b630eb254e3430b6e9916330e6b3d53cbdc9f06680d80307a1fea1377bb818f4168bb276 SHA512 abce847c607ac6d63fe32ceff8bf8724888acf2b7db9a083cba50e3235590cdcb27feb7e0a314133d0030809fb54d474f64001fc9ab7d896a819159869c09d5a +DIST ffmpeg-4.4.2.tar.xz.asc 520 BLAKE2B 1ff4a886c7703a05a19499ae5b2b6207df24e05844861cb52f2c56a97f47ab4fefa5011de46a385bab9684964470697ec5e74553098392877f7521a04ffe0fc4 SHA512 a4df97a6328fc076b5611023bd61254f1a5043db1ec2f3426bee305206b2b0937047ede9cb51db31a3387a16218fe95a7a40296770574fa32660118938a9d301 DIST ffmpeg-5.0.1.tar.xz 9812524 BLAKE2B 0a37d425780f7e15836848048214411829bceb0de12bb7089803feb3dda07a077be9c8e8174b72792558ed86d92224bee9d4db20cc74690ea54312fbf2f10e83 SHA512 e5810c7379748a6bbe1a903bf36b4372b67cb3973179727b6af6f0118eef46f4c990155961cc37255e08a5bafdc4b4683503ad410ebb7afe7a35b891c01fa602 DIST ffmpeg-5.0.1.tar.xz.asc 520 BLAKE2B 686a8c372d26bd0158a0e79f6cbe8d9c46127bd200df7f4f6e2a4285bfd412cfa9aff865eca125a27a7204f32ba0cca86bcbf769ee4874e5202cc700b0eb4449 SHA512 9c4bd404196c3a3808bae92873aefc77f8c26a9419cc6130a3f2359a75c8e83189d206e9aee8ff85c5a7fe4a98da24e11cf607ec351386c18979ec2d5ad3b3ad -DIST ffmpeg-5.0.tar.bz2 11821587 BLAKE2B 76abc243707712b7974552cfbd703b5059487ac05b76744dcaacab45924598bffe173b41354a41718a7b5bd0933e71e95a11f9e715b9127b49cc19a88124a3d6 SHA512 2e7f05d3218201869602a32fc473ae55f9b8bc22d2710ebe7523953c27d39cf459e91e34d3b940d8ffe90677b028cea04c5b189775b1718a83b2b73943ba3f61 -EBUILD ffmpeg-4.2.4-r1.ebuild 17710 BLAKE2B d8a71212b9b5d9c06beeb83ef1e94a2cba952c75982092381136aafce5de15bd769d7f11b6c9cf0ea68e72ce1dc92a46403b90bf08cd11d8f8e58717d4e7e622 SHA512 73d4cface189cc092c00e7e10e1c318924dad348f56fa0a7dc3829694bdae2dfbd963337d17c2a39fd25953dd8c54faebbcf02ea2a28e14f23f8adb45ee6892b -EBUILD ffmpeg-4.3.1-r1.ebuild 17815 BLAKE2B 0af16670e2539c3908d1c0ced67842efe9c29c75f3f01c5a01980cee568f706f70ad8f9334d0459efdcdaad34182a64f82c7c483cbac74f733bca3e16ff8d032 SHA512 d4f6beefa9997cc8154bafebf7490ab72f5ba5565aba63cba9957530a02b9554c34c60da2535aa702e59fc7af9bf0f307a2fb4a2eaf746cb51bb4fbf9d122cb3 -EBUILD ffmpeg-4.3.2-r1.ebuild 17798 BLAKE2B 28f93ad79fed4eec399d8c5dfd2d5d71288cff5d1a4f51e19fdf1312597c0d9c7099e6a6ae6d4ed2770a19af52f6056bd6c44abd5fbcc1103b49da82a2c43362 SHA512 7f83545de0a9c736a580c05464fe63889399c7761c42bd4b65b9d332f901d5ece4a22095a2385582fd35970d15322e7a53e449b1d7fc92d581b1868daf10a997 -EBUILD ffmpeg-4.4-r1.ebuild 17866 BLAKE2B f98d4fbd55a192d157953cf10455e80d1541f54743c089aac0dc9ac7c87c1e6d3040b189236bf37cf691b2872bf5b40cfe2af494df4754e8bdc39940e85467f8 SHA512 f40dac73d8415d6e6ada730f4d476973c6c11ca48bd5c46e07121f7793c21974af1e2044d1f3aa1271f14f9b1f75bc113ee0426c34c36ccf8cabe531f829a1bd -EBUILD ffmpeg-4.4.1-r5.ebuild 18436 BLAKE2B 35fbc340dc4ee7303e481f20571a661f6ea807c53c043caab2addc6367bdd335b421967728806c1862a07f8b3cebea33ded0cbb229ce0d5484a0d6323faa4d24 SHA512 07bb41551a71073dfc07a497f39e910b1a9f2f17fdca4e1b2cbf0462ee170a7739c078c2551eb141d87ea8fc26346ceb986603051ce67fb36ffe6e79ea01d131 -EBUILD ffmpeg-5.0-r3.ebuild 18291 BLAKE2B 11f052d2f13f155d8dac9ab672f2810f75551dd049ef83bc2d4f430a7bdb7062064e2f4ddf7dc8d88ddf5f26e912649319b16407f8ce3c59ebaa942cde0a2d15 SHA512 dc5b1bfb814059e2f464dbafd4d897f317fae1dfa7f5940abe0c6d34d8dd2839311441fc51b61622490075f1b7fccd1337988f3de41e67ce3d5b462ef5574682 -EBUILD ffmpeg-5.0.1.ebuild 18794 BLAKE2B ebf23b20dab6347fbaac7764e5590ad07a6259e81f87aed03b030f9472befd47dff2a8d84994b96c3bfd32cbdd6698c5440bfe8539788f3eb1e6ff61246833a1 SHA512 6dc99bd64ad793fbff54c2862a7fbc70a899857eddb861766659fba810bfece4642d1b956875dc9e34c3bb57cfeb4b04a6e74229d775517aafd528de2a0b156c -EBUILD ffmpeg-9999.ebuild 18682 BLAKE2B 3deb04229a09556a55ed07ff0b02bf895c98f37732b02aaf792fb01aa9097f6804c1091c5ac3a0303c2dd22116d0642067c0fff837ee573c106ae72e8a9dd2e7 SHA512 a3facd6234f6e41378ea8626514a55db953695a159451ff119013b14b033cbd1201fe23e1d347ad9bd8d2a28cbfb9c7c15f6d3f5edb7b9c4b48fab36bd471149 +EBUILD ffmpeg-4.2.4-r1.ebuild 17888 BLAKE2B 1caa0e1cd92a80e88155728d6f27b3096013489d214ea9a149f3075d2b3c86b85c715461a5b8e37d51dbba64c6774b660370b66683bb1ab24083f54ec2ab035d SHA512 1fc959b91614b8c24b84ad26f7c0a5aa1e6f0d9676c5782bb436ba98ad699facc5dd2b7733680f77994290fd5ede9ce4ae86663bf7addfec45b42bd03fa98e10 +EBUILD ffmpeg-4.3.2-r1.ebuild 17976 BLAKE2B 316f31b8f30fa052c7ea64736b8286cb4868b4d118e1bd8165cfd6d32ff44d0178d7ac5fa32998ba6241025f3df7179c5a8ba2955fad875ea8fa0d2d9b0260d0 SHA512 fa2e327f64e1f279cf22ba5b148d23cfd22763f32d053444b292ce34b06ab231beaff5b42aa07b39089bc798301060fdedfd224716276c510549b28749af9ab8 +EBUILD ffmpeg-4.4.1-r5.ebuild 18614 BLAKE2B f339b1cacbfc6255c8b15cf722a9c901c8b3c9e20a1f3a5e7282f5aa3ab8c288bb51617234c2be296527d9c99e0c820a0d7bb0f82076b3b07d5fdcdf41f3b3e5 SHA512 6ee56aae37236be11dc3155c4fa76984c5ce8a95032c733a23e6e344db51c3b9e74de684cdb3e02b5df0eb6e46ba0b5f501de73ecd8060664715a57fe14fb3a8 +EBUILD ffmpeg-4.4.2.ebuild 18876 BLAKE2B a5207f2d74a5be9112d19f590c1ca347e3aa5f003b7cdfa370f1d5ae5b91b062a5991274283bd3a6defaaf8a3880faaeb9c9753907dcbf153a89b300acf32129 SHA512 3f6bcd2707b8101d58515572e55f9016b6d52cc8b516ccaa7f0a3fe02a3e90d4a8788f0c6ff6f9bfcc8e91a4c2eaab7fc8d1afa8266302266308360374914f35 +EBUILD ffmpeg-5.0.1.ebuild 18972 BLAKE2B 8d515f2215fdfac3e91c04b124bb0416e42fc342218170b018c3c2ae31cc45b97bea3cc81c7619fc92565630bc84ddf6263d9b9bfd75bb45aac912868a24e809 SHA512 e9cad84a777242a01227f3d9c6d5e793b5575c67c7ea4edbebc51738dc13aa60df256a241fdbe501bc04eb1b4694dce133bcbfce34f08b10413d93ef9928192b +EBUILD ffmpeg-9999.ebuild 18860 BLAKE2B 93849bb34591d76ec42624de561c6bc0ccc076e6d887325971c17d71fa6ffa4f95c13d86c8a3012ee296a55a4c670d74c22a3a4b5ccabc12b11ec457bf7576db SHA512 40758ac1f01bea9dcb31d38594a5507f189cb7e33527cdbd8c1bd402059775a2096c07376d6d114eb18d0bfeb6ec762650582962fc5e54ee7b34bf09eaf120a3 MISC metadata.xml 6269 BLAKE2B 5d7f3a5376927ddf9d9c95c7465bc2b8df451be3c2ba62be38cce88449222fb6b9d6c30d88e89c403a2d60eb3b3d3f95f762ac85f85f07d54712a24d2712e40f SHA512 fbd108f665076751db688ddd0bf05b9d1fd004eff547a6a3707be369e6919efe989d82f43c09775456fa0035699ec249c8a9941dbdbf7952b1c6be11cd26acda diff --git a/media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild index 4646abcd5728..82599993e2d5 100644 --- a/media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild +++ b/media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild @@ -342,6 +342,15 @@ src_prepare() { multilib_src_configure() { local myconf=( ${EXTRA_FFMPEG_CONF} ) + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) use openssl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) diff --git a/media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild deleted file mode 100644 index 4bed84ce408b..000000000000 --- a/media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild +++ /dev/null @@ -1,551 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=56.58.58 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" -else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r - fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab - rubberband:librubberband zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amrenc:libvo-amrwbenc mp3:libmp3lame - kvazaar:libkvazaar libaom - openh264:libopenh264 rav1e:librav1e snappy:libsnappy theora:libtheora twolame:libtwolame - wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid -) - -IUSE=" - alsa chromium doc +encode oss pic static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( media-video/rav1e:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] ) - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) - vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] - ) - zeromq? ( >=net-libs/zeromq-4.1.6 ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) - postproc? ( !media-libs/libpostproc ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - >=sys-devel/make-3.81 - virtual/pkgconfig - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget sys-devel/bc ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - cuda? ( nvenc ) - libv4l? ( v4l ) - fftools_cws2fws? ( zlib ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r1.patch - "${FILESDIR}"/${PN}-4.3-fix-build-without-SSSE3.patch - "${FILESDIR}"/${PN}-4.3-altivec-novsx-yuv2rgb.patch - "${FILESDIR}"/${PN}-4.3.1-srt-1.4.2-build.patch - "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -build_separate_libffmpeg() { - use opencl -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - default - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in frei0r librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282 - is-flagq "-flto*" && myconf+=( "--enable-lto" ) - - # Mandatory configuration - myconf=( - --enable-avfilter - --enable-avresample - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *freebsd*) - myconf+=( --target-os=freebsd ) - ;; - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die - - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then - einfo "Configuring for Chromium" - mkdir -p ../chromium || die - pushd ../chromium >/dev/null || die - set -- "${@}" \ - --disable-shared \ - --enable-static \ - --enable-pic \ - --disable-opencl - echo "${@}" - "${@}" || die - popd >/dev/null || die - fi -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Compiling for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 libffmpeg - popd >/dev/null || die - else - emake V=1 libffmpeg - fi - fi - fi -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Installing for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 DESTDIR="${D}" install-libffmpeg - popd >/dev/null || die - else - emake V=1 DESTDIR="${D}" install-libffmpeg - - # When not built separately, libffmpeg has no code of - # its own so this QA check raises a false positive. - QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" - fi - fi - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \ - emake V=1 fate -} diff --git a/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild index 398b9df600b8..297bd22c24ca 100644 --- a/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild +++ b/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild @@ -342,6 +342,15 @@ src_prepare() { multilib_src_configure() { local myconf=( ) + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) use openssl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) diff --git a/media-video/ffmpeg/ffmpeg-4.4-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.4-r1.ebuild deleted file mode 100644 index 197fd338b64d..000000000000 --- a/media-video/ffmpeg/ffmpeg-4.4-r1.ebuild +++ /dev/null @@ -1,557 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=56.58.58 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" -else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r - fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab - rubberband:librubberband zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amrenc:libvo-amrwbenc mp3:libmp3lame - kvazaar:libkvazaar libaom - openh264:libopenh264 rav1e:librav1e snappy:libsnappy theora:libtheora twolame:libtwolame - webp:libwebp x264:libx264 x265:libx265 xvid:libxvid -) - -IUSE=" - alsa chromium doc +encode oss pic sndio static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( >=media-video/rav1e-0.4:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] ) - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) - vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] - ) - zeromq? ( >=net-libs/zeromq-4.1.6 ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) - postproc? ( !media-libs/libpostproc ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - >=sys-devel/make-3.81 - virtual/pkgconfig - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget sys-devel/bc ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - cuda? ( nvenc ) - libv4l? ( v4l ) - fftools_cws2fws? ( zlib ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r1.patch - "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -build_separate_libffmpeg() { - use opencl -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - default - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack sndio ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss sndio ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282, bug #754654 - is-flagq "-flto*" && myconf+=( "--enable-lto" ) - filter-flags "-flto*" - - # Mandatory configuration - myconf=( - --enable-avfilter - --enable-avresample - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *freebsd*) - myconf+=( --target-os=freebsd ) - ;; - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - local extra_libs - if use arm || use ppc ; then - # bug #782811 - # bug #790590 - extra_libs+="$(test-flags-CCLD -latomic) " - fi - - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - --extra-libs="${extra_libs}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die - - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then - einfo "Configuring for Chromium" - mkdir -p ../chromium || die - pushd ../chromium >/dev/null || die - set -- "${@}" \ - --disable-shared \ - --enable-static \ - --enable-pic \ - --disable-opencl - echo "${@}" - "${@}" || die - popd >/dev/null || die - fi -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Compiling for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 libffmpeg - popd >/dev/null || die - else - emake V=1 libffmpeg - fi - fi - fi -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \ - emake V=1 fate -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Installing for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 DESTDIR="${D}" install-libffmpeg - popd >/dev/null || die - else - emake V=1 DESTDIR="${D}" install-libffmpeg - - # When not built separately, libffmpeg has no code of - # its own so this QA check raises a false positive. - QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" - fi - fi - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" -} diff --git a/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild b/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild index c6fc34c5e8c3..6a6818ddac25 100644 --- a/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild +++ b/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild @@ -355,6 +355,15 @@ src_prepare() { multilib_src_configure() { local myconf=( ) + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) use openssl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) diff --git a/media-video/ffmpeg/ffmpeg-4.4.2.ebuild b/media-video/ffmpeg/ffmpeg-4.4.2.ebuild new file mode 100644 index 000000000000..5d9c4833feb2 --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-4.4.2.ebuild @@ -0,0 +1,590 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Subslot: libavutil major.libavcodec major.libavformat major +# Since FFmpeg ships several libraries, subslot is kind of limited here. +# Most consumers will use those three libraries, if a "less used" library +# changes its soname, consumers will have to be rebuilt the old way +# (preserve-libs). +# If, for example, a package does not link to libavformat and only libavformat +# changes its ABI then this package will be rebuilt needlessly. Hence, such a +# package is free _not_ to := depend on FFmpeg but I would strongly encourage +# doing so since such a case is unlikely. +FFMPEG_SUBSLOT=56.58.58 + +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM="git-r3" + EGIT_MIN_CLONE_TYPE="single" + EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" +fi + +inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" +HOMEPAGE="https://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.xz" +else # Release + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc + inherit verify-sig + SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz" + SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )" + + BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )" +fi +FFMPEG_REVISION="${PV#*_p}" + +SLOT="0/${FFMPEG_SUBSLOT}" +LICENSE=" + !gpl? ( LGPL-2.1 ) + gpl? ( GPL-2 ) + amr? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + gmp? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + libaribb24? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + encode? ( + amrenc? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + ) + samba? ( GPL-3 ) +" +if [ "${PV#9999}" = "${PV}" ] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +# Options to use as use_enable in the foo[:bar] form. +# This will feed configure with $(use_enable foo bar) +# or $(use_enable foo foo) if no :bar is set. +# foo is added to IUSE. +FFMPEG_FLAG_MAP=( + +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp + +gpl hardcoded-tables +iconv libxml2 lzma +network opencl + openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan + X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib + # libavdevice options + cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal + opengl + # indevs + libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack + # decoders + amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac + jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm + libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh + speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec + vorbis:libvorbis vpx:libvpx zvbi:libzvbi + # libavfilter options + appkit + bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf + fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab + rubberband:librubberband zeromq:libzmq zimg:libzimg + # libswresample options + libsoxr + # Threads; we only support pthread for now but ffmpeg supports more + +threads:pthreads +) + +# Same as above but for encoders, i.e. they do something only with USE=encode. +FFMPEG_ENCODER_FLAG_MAP=( + amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame + openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 + theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 + x265:libx265 xvid:libxvid +) + +IUSE=" + alsa chromium doc +encode oss pic sndio static-libs test v4l + ${FFMPEG_FLAG_MAP[@]%:*} + ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} +" + +# Strings for CPU features in the useflag[:configure_option] form +# if :configure_option isn't set, it will use 'useflag' as configure option +ARM_CPU_FEATURES=( + cpu_flags_arm_thumb:armv5te + cpu_flags_arm_v6:armv6 + cpu_flags_arm_thumb2:armv6t2 + cpu_flags_arm_neon:neon + cpu_flags_arm_vfp:vfp + cpu_flags_arm_vfpv3:vfpv3 + cpu_flags_arm_v8:armv8 +) +ARM_CPU_REQUIRED_USE=" + arm64? ( cpu_flags_arm_v8 ) + cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) + cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) + cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) + cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) + cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) +" +MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) +PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) +PPC_CPU_REQUIRED_USE=" + cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) +" +X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) +X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) +X86_CPU_REQUIRED_USE=" + cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) + cpu_flags_x86_xop? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) + cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) + cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) + cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) + cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) + cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) + cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) + cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) + cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) +" + +CPU_FEATURES_MAP=( + ${ARM_CPU_FEATURES[@]} + ${MIPS_CPU_FEATURES[@]} + ${PPC_CPU_FEATURES[@]} + ${X86_CPU_FEATURES[@]} +) +IUSE="${IUSE} + ${CPU_FEATURES_MAP[@]%:*}" + +CPU_REQUIRED_USE=" + ${ARM_CPU_REQUIRED_USE} + ${PPC_CPU_REQUIRED_USE} + ${X86_CPU_REQUIRED_USE} +" + +FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) +IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" + +RDEPEND=" + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + amf? ( media-video/amdgpu-pro-amf ) + amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) + bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) + bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) + chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) + codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) + dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) + encode? ( + amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) + kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) + openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) + rav1e? ( >=media-video/rav1e-0.4:=[capi] ) + snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) + theora? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] + ) + twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) + webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) + x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) + x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) + xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) + ) + fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) + flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) + fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) + frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) + fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) + gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) + gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) + gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) + iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) + iec61883? ( + >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] + ) + ieee1394? ( + >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) + libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) + libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) + libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] ) + libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) + libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) + libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) + librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) + libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) + libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) + libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) + libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) + lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + mmal? ( media-libs/raspberrypi-userland ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) + opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) + pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) + rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) + srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) + svg? ( + gnome-base/librsvg:2=[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + ) + nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) + svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) + vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) + vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) + vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) + vorbis? ( + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + ) + vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) + vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] + ) + postproc? ( !media-libs/libpostproc ) + zeromq? ( >=net-libs/zeromq-4.1.6 ) + zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) +" + +RDEPEND="${RDEPEND} + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) +" + +DEPEND="${RDEPEND} + ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) + v4l? ( sys-kernel/linux-headers ) +" + +# += for verify-sig above +BDEPEND+=" + >=sys-devel/make-3.81 + virtual/pkgconfig + amf? ( media-libs/amf-headers ) + cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) + cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) + doc? ( sys-apps/texinfo ) + test? ( net-misc/wget sys-devel/bc ) +" + +# Code requiring FFmpeg to be built under gpl license +GPL_REQUIRED_USE=" + postproc? ( gpl ) + frei0r? ( gpl ) + cdio? ( gpl ) + rubberband? ( gpl ) + vidstab? ( gpl ) + samba? ( gpl ) + encode? ( + x264? ( gpl ) + x265? ( gpl ) + xvid? ( gpl ) + ) +" +REQUIRED_USE=" + cuda? ( nvenc ) + libv4l? ( v4l ) + fftools_cws2fws? ( zlib ) + test? ( encode ) + ${GPL_REQUIRED_USE} + ${CPU_REQUIRED_USE}" +RESTRICT=" + !test? ( test ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) +" + +S=${WORKDIR}/${P/_/-} + +PATCHES=( + "${FILESDIR}"/chromium-r1.patch + "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libavutil/avconfig.h +) + +build_separate_libffmpeg() { + use opencl +} + +src_prepare() { + if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot + export revision=git-N-${FFMPEG_REVISION} + fi + + eapply "${FILESDIR}/vmaf-models-default-path.patch" + + default + + # -fdiagnostics-color=auto gets appended after user flags which + # will ignore user's preference. + sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die + + echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die +} + +multilib_src_configure() { + local myconf=( ) + + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) + use openssl && myconf+=( --enable-nonfree ) + use samba && myconf+=( --enable-version3 ) + + # Encoders + if use encode ; then + ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) + + # Licensing. + if use amrenc ; then + myconf+=( --enable-version3 ) + fi + else + myconf+=( --disable-encoders ) + fi + + # Indevs + use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) + for i in alsa oss jack sndio ; do + use ${i} || myconf+=( --disable-indev=${i} ) + done + + # Outdevs + for i in alsa oss sndio ; do + use ${i} || myconf+=( --disable-outdev=${i} ) + done + + # Decoders + use amr && myconf+=( --enable-version3 ) + use gmp && myconf+=( --enable-version3 ) + use libaribb24 && myconf+=( --enable-version3 ) + use fdk && use gpl && myconf+=( --enable-nonfree ) + + for i in "${ffuse[@]#+}" ; do + myconf+=( $(use_enable ${i%:*} ${i#*:}) ) + done + + if use openssl ; then + myconf+=( --disable-gnutls ) + fi + + # (temporarily) disable non-multilib deps + if ! multilib_is_native_abi; then + for i in librav1e libzmq ; do + myconf+=( --disable-${i} ) + done + fi + + # CPU features + for i in "${CPU_FEATURES_MAP[@]}" ; do + use ${i%:*} || myconf+=( --disable-${i#*:} ) + done + + if use pic ; then + myconf+=( --enable-pic ) + # disable asm code if PIC is required + # as the provided asm decidedly is not PIC for x86. + [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) + fi + [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag mcpu) $(get-flag march) ; do + [[ ${i} = native ]] && i="host" # bug #273421 + myconf+=( --cpu=${i} ) + break + done + + # LTO support, bug #566282, bug #754654 + is-flagq "-flto*" && myconf+=( "--enable-lto" ) + filter-flags "-flto*" + + # Mandatory configuration + myconf=( + --enable-avfilter + --enable-avresample + --disable-stripping + # This is only for hardcoded cflags; those are used in configure checks that may + # interfere with proper detections, bug #671746 and bug #645778 + # We use optflags, so that overrides them anyway. + --disable-optimizations + --disable-libcelt # bug #664158 + "${myconf[@]}" + ) + + # cross compile support + if tc-is-cross-compiler ; then + myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) + case ${CHOST} in + *freebsd*) + myconf+=( --target-os=freebsd ) + ;; + *mingw32*) + myconf+=( --target-os=mingw32 ) + ;; + *linux*) + myconf+=( --target-os=linux ) + ;; + esac + fi + + # doc + myconf+=( + $(multilib_native_use_enable doc) + $(multilib_native_use_enable doc htmlpages) + $(multilib_native_enable manpages) + ) + + local extra_libs + if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then + # bug #782811 + # bug #790590 + extra_libs+="$(test-flags-CCLD -latomic) " + fi + + set -- "${S}/configure" \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --mandir="${EPREFIX}/usr/share/man" \ + --enable-shared \ + --cc="$(tc-getCC)" \ + --cxx="$(tc-getCXX)" \ + --ar="$(tc-getAR)" \ + --nm="$(tc-getNM)" \ + --strip="$(tc-getSTRIP)" \ + --ranlib="$(tc-getRANLIB)" \ + --pkg-config="$(tc-getPKG_CONFIG)" \ + --optflags="${CFLAGS}" \ + --extra-libs="${extra_libs}" \ + $(use_enable static-libs static) \ + "${myconf[@]}" \ + ${EXTRA_FFMPEG_CONF} + echo "${@}" + "${@}" || die + + if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then + einfo "Configuring for Chromium" + mkdir -p ../chromium || die + pushd ../chromium >/dev/null || die + set -- "${@}" \ + --disable-shared \ + --enable-static \ + --enable-pic \ + --disable-opencl + echo "${@}" + "${@}" || die + popd >/dev/null || die + fi +} + +multilib_src_compile() { + emake V=1 + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + emake V=1 tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Compiling for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 libffmpeg + popd >/dev/null || die + else + emake V=1 libffmpeg + fi + fi + fi +} + +multilib_src_test() { + LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \ + emake V=1 fate +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install install-doc + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + dobin tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Installing for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 DESTDIR="${D}" install-libffmpeg + popd >/dev/null || die + else + emake V=1 DESTDIR="${D}" install-libffmpeg + + # When not built separately, libffmpeg has no code of + # its own so this QA check raises a false positive. + QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" + fi + fi + fi +} + +multilib_src_install_all() { + dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges + [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" + + use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override +} diff --git a/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild b/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild deleted file mode 100644 index f4365662bbad..000000000000 --- a/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild +++ /dev/null @@ -1,569 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=57.59.59 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" -else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf - fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab - rubberband:librubberband zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame - openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 - theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 - x265:libx265 xvid:libxvid -) - -IUSE=" - alsa chromium doc +encode oss pic sndio static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amf? ( media-video/amdgpu-pro-amf ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( >=media-video/rav1e-0.4:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) - svg? ( - gnome-base/librsvg:2=[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) - svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) - vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] - ) - postproc? ( !media-libs/libpostproc ) - zeromq? ( >=net-libs/zeromq-4.1.6 ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - >=sys-devel/make-3.81 - virtual/pkgconfig - amf? ( media-libs/amf-headers ) - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget sys-devel/bc ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - cuda? ( nvenc ) - libv4l? ( v4l ) - fftools_cws2fws? ( zlib ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r1.patch - "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -build_separate_libffmpeg() { - use opencl -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - - eapply "${FILESDIR}/vmaf-models-default-path.patch" - - default - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack sndio ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss sndio ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282, bug #754654 - is-flagq "-flto*" && myconf+=( "--enable-lto" ) - filter-flags "-flto*" - - # Mandatory configuration - myconf=( - --enable-avfilter - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *freebsd*) - myconf+=( --target-os=freebsd ) - ;; - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - local extra_libs - if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then - # bug #782811 - # bug #790590 - extra_libs+="$(test-flags-CCLD -latomic) " - fi - - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - --extra-libs="${extra_libs}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die - - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then - einfo "Configuring for Chromium" - mkdir -p ../chromium || die - pushd ../chromium >/dev/null || die - set -- "${@}" \ - --disable-shared \ - --enable-static \ - --enable-pic \ - --disable-opencl - echo "${@}" - "${@}" || die - popd >/dev/null || die - fi -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Compiling for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 libffmpeg - popd >/dev/null || die - else - emake V=1 libffmpeg - fi - fi - fi -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \ - emake V=1 fate -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Installing for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 DESTDIR="${D}" install-libffmpeg - popd >/dev/null || die - else - emake V=1 DESTDIR="${D}" install-libffmpeg - - # When not built separately, libffmpeg has no code of - # its own so this QA check raises a false positive. - QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" - fi - fi - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" - - use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override -} diff --git a/media-video/ffmpeg/ffmpeg-5.0.1.ebuild b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild index ed3c25df3c42..22a2b8e62697 100644 --- a/media-video/ffmpeg/ffmpeg-5.0.1.ebuild +++ b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild @@ -362,6 +362,15 @@ src_prepare() { multilib_src_configure() { local myconf=( ) + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) use openssl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild index a65128aa1741..074e2445512e 100644 --- a/media-video/ffmpeg/ffmpeg-9999.ebuild +++ b/media-video/ffmpeg/ffmpeg-9999.ebuild @@ -359,6 +359,15 @@ src_prepare() { multilib_src_configure() { local myconf=( ) + # bug 842201 + use ia64 && tc-is-gcc && append-flags \ + -fno-tree-ccp \ + -fno-tree-dominator-opts \ + -fno-tree-fre \ + -fno-code-hoisting \ + -fno-tree-pre \ + -fno-tree-vrp + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) use openssl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) diff --git a/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch b/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch deleted file mode 100644 index 691314cbacb8..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch +++ /dev/null @@ -1,52 +0,0 @@ -http://git.videolan.org/?p=ffmpeg.git;a=patch;h=7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315 -https://bugs.gentoo.org/756859 -From 7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315 Mon Sep 17 00:00:00 2001 -From: Jun Zhao -Date: Sun, 12 Jul 2020 13:48:48 +0800 -Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1 - -libsrt changed the: -SRTO_SMOOTHER -> SRTO_CONGESTION -SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION -and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC) -in the header, it's lead to build fail - -fix #8760 - -Signed-off-by: Jun Zhao ---- - libavformat/libsrt.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c -index 4de575b37c..4719ce0d4b 100644 ---- a/libavformat/libsrt.c -+++ b/libavformat/libsrt.c -@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd) - (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) || - (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) || - #if SRT_VERSION_VALUE >= 0x010302 -+#if SRT_VERSION_VALUE >= 0x010401 -+ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) || -+#else - /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */ - (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) || -+#endif - (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) || - (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) || - #endif -@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd) - (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) || - (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) || - (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) || -+#if SRT_VERSION_VALUE >= 0x010401 -+ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) || -+#else - (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) || -+#endif - (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) || - (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) || - ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) { --- -2.20.1 - diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest index 68e8342af952..a7fe0dcbf5bd 100644 --- a/media-video/gaupol/Manifest +++ b/media-video/gaupol/Manifest @@ -1,5 +1,5 @@ DIST gaupol-1.10.1.tar.gz 580890 BLAKE2B eb3f5bc3f9ec371d4169a9517f83bd42371aa41532f99f650b51e4649f813f0a37c0de5a01f69ee0c73f38cf2b57dd3260b5cac88f4c09785e86da2ec82c0cba SHA512 f294ea10c73dcf9941f70988ae58066917d7b321141e3a3ba3e12810e5f20a4711feca45d354dddc0e104a1ee2496fad24e529b129bdeee1cdb92010ec20be1d DIST gaupol-1.11.tar.gz 581799 BLAKE2B d0f4ad7c71086f585138bde79ba49f43e8e71eba7bc5ef5f0ac324ab962049cd1c71030f5a7d6ec859d4ac32dc7a07c8255ab01d98114629055f777f11210a2e SHA512 8c623f6ed8d189a79a994545be3dd96ae7fec399216520bfe89587a9c0b5917e07b6d80fe1f8a7b2d016b9fb1aa544bdabe103428dc97ea78e6d8c05666d0e9c EBUILD gaupol-1.10.1.ebuild 1610 BLAKE2B 913b19290318c821146465b2fcce0f12d13a438d783e0011ac96a096083237735755d35d03813dad973aa20156bf1d414bf700ae3e91303cad9fcb6608355b12 SHA512 92b5fb0ae733f04a39fbd2d72c33d571d44381b26f7a992a105be3479533427ac27b00ec9678def5a119cee99d701f90edd8c9c473433fbddc4e0431454c982b -EBUILD gaupol-1.11.ebuild 1614 BLAKE2B d897c90467238edee5b5b7601b034ea30ad81fe46ce38f93994cef7ca2d3be080267fe8e7a89ff04886c43c93c268f51ee403322cbd36b4c48ee2a9d4d9d820b SHA512 cde582f73fc6f3859e72e72a8a690728a1a8cd026742dfe4deeb76678409ca2ce6b4485a85aa96866f39d7a28e5d3e1312a54bd4e2498868ae914d5ded2a6007 +EBUILD gaupol-1.11-r1.ebuild 1582 BLAKE2B 32f37a7039e02ef682f44c7c9c61e229dd07263185e66c9c643bede09e25ad516550851a9aa06ebc6e0a63eb84e0b11186234efdce5cb0469e8bdedb96200fc8 SHA512 093640609c6ae3f16088ac5d2dc12d8d02fbb2bef1b0de4e55deafdbe72fd624cd5332b57c792bcf320921cd6f792c1717e2d0f605d622e47ccf6fee7b0895d3 MISC metadata.xml 533 BLAKE2B eb6d56dbe104832c594f306fc020b591b04e4f21d7533740ab613ecf105cdfdc4bc9232fe18bbfc4276cc08063a7a570a1c98025e9c74561b4abda0119e3801e SHA512 49859f8f6b75f20c6cf94f60764c1e688ddf907a7657815574b666fcc7873de0a3105cda9acd9f4bbdb7f658bd0003c67ec1ced72e3d84e15b5d86b64ca91abe diff --git a/media-video/gaupol/gaupol-1.11-r1.ebuild b/media-video/gaupol/gaupol-1.11-r1.ebuild new file mode 100644 index 000000000000..b8c6438c17c7 --- /dev/null +++ b/media-video/gaupol/gaupol-1.11-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 virtualx xdg-utils + +DESCRIPTION="A subtitle editor for text-based subtitles" +HOMEPAGE="https://otsaloma.io/gaupol/" +SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="spell" + +RDEPEND=" + app-text/iso-codes + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + x11-libs/gtk+:3[introspection] + spell? ( app-text/gspell[introspection] ) +" +BDEPEND=" + sys-devel/gettext + test? ( + app-dicts/myspell-en + app-text/enchant[hunspell] + app-text/gspell[introspection] + ) +" + +distutils_enable_tests pytest + +DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md ) + +python_test() { + virtx epytest +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "The integrated video player requires media-plugins/gst-plugins-gtk." + elog "" + elog "External video previewing support requires MPV, MPlayer or VLC." + if use spell; then + elog "" + elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*" + elog "or app-text/aspell with the appropriate L10N variable." + elog "" + elog "Additionally, make sure that app-text/enchant has the correct flags enabled:" + elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries." + fi + fi +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/media-video/gaupol/gaupol-1.11.ebuild b/media-video/gaupol/gaupol-1.11.ebuild deleted file mode 100644 index b895c8078cc1..000000000000 --- a/media-video/gaupol/gaupol-1.11.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 virtualx xdg-utils - -DESCRIPTION="A subtitle editor for text-based subtitles" -HOMEPAGE="https://otsaloma.io/gaupol/" -SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="spell" - -RDEPEND=" - app-text/iso-codes - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - spell? ( app-text/gspell[introspection] ) -" -BDEPEND=" - sys-devel/gettext - test? ( - app-dicts/myspell-en - app-text/enchant[hunspell] - app-text/gspell[introspection] - ) -" - -distutils_enable_tests pytest - -DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md ) - -python_test() { - virtx epytest -} - -pkg_postinst() { - xdg_desktop_database_update - xdg_icon_cache_update - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog "The integrated video player requires media-plugins/gst-plugins-gtk." - elog "" - elog "External video previewing support requires MPV, MPlayer or VLC." - if use spell; then - elog "" - elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*" - elog "or app-text/aspell with the appropriate L10N variable." - elog "" - elog "Additionally, make sure that app-text/enchant has the correct flags enabled:" - elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries." - fi - fi -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest index 643b84ef4bf1..b26c32897c88 100644 --- a/media-video/libva-utils/Manifest +++ b/media-video/libva-utils/Manifest @@ -2,6 +2,6 @@ AUX libva-utils-2.10.0_test_in_sandbox.patch 526 BLAKE2B 8275555ee777b8e66852730 DIST libva-utils-2.13.0.tar.gz 1230036 BLAKE2B 4e70a13fb9b4362713b6f461a0ee199b8f7e9d9cbac7bc664c11870db92a87873d73306b5777c554830b932a15e726965e1db3591fd1349fb62f068617dd8558 SHA512 81c7c122a4d1bdf8d390a4ea3e0d34499158fb7b7fe0f7aa9d556158895e755139975fd01d73d883897c0a4390612d131b6349febbdf16fa5edcd46a6a82acd2 DIST libva-utils-2.14.0.tar.gz 1241072 BLAKE2B 17f1e0badb05e39f3979bde652dfe6832e8bfb2accd99fd6c5d972090cfce630e2a93ad96e5d17bc7bd9c393b12c2a7b066cb60a715c2dbb128dd263c480bcca SHA512 631e9becf5b2f6d083906962c004c9080d2e2b2d98b6003638a31dde8ad4e2549606301b97e88822471e29007232fc470a2116be09dc0c55d3cc2df6a45a7be1 EBUILD libva-utils-2.13.0.ebuild 2365 BLAKE2B 9bf8572aabdbf1eecb5d7ee1d4fb66d1193d1082862e5a1e8839c819c57d2f79f242ecc8dfa83571a9e6e461c0d68b4d68763985797c79436bba78f8d064b4d2 SHA512 78e1c3582322968308b135f165296481881d0cc07d34d4defe2388c6a791283fc077c03e66dd68598c60e967b4648fe349fcf94a9c170dba5612be20e0e47e39 -EBUILD libva-utils-2.14.0.ebuild 2012 BLAKE2B 92feda6a6485ba3ad93f2e29e9d555c93492455bb87c37296ada700311d29b95c45b6504f6ebcfe45cb721cf64a1acd92dd13f7f23386d2b517e4d5b0ce4a382 SHA512 1ec5d41926a58d4d57c7025abcf61c07fde1c211f6a897e314730de8a24eb51ec08458a50b43c86a5e59cc4df38510fa6fe9d691452f32ed9436e1db26414ec3 +EBUILD libva-utils-2.14.0.ebuild 2008 BLAKE2B a8aac0631df452323aa175609632443c38f76f7d0d1bdb9a818d170a384416ddb51b14d264a83944fa97aee452024f44a387f3992d9fcb5d1275f143e2bd8147 SHA512 52e8fe84be9f693b1297f220fc8498fe7cc6dff6a343a9b515fb99b256d0a2b5fa31f027ee9bcd4b6f3c67283f751dea233e0b971b58e6f0330cc95e2ecc5629 EBUILD libva-utils-9999.ebuild 2012 BLAKE2B 92feda6a6485ba3ad93f2e29e9d555c93492455bb87c37296ada700311d29b95c45b6504f6ebcfe45cb721cf64a1acd92dd13f7f23386d2b517e4d5b0ce4a382 SHA512 1ec5d41926a58d4d57c7025abcf61c07fde1c211f6a897e314730de8a24eb51ec08458a50b43c86a5e59cc4df38510fa6fe9d691452f32ed9436e1db26414ec3 MISC metadata.xml 761 BLAKE2B 5aaf0b0be9bf41a00d7df2bfd5975ea0f0e2b257e091b77752db8e29ed358a919fd9c9aaf6296f665a2d5f8864766893044064f8ccff9be7d66c41993d6bd454 SHA512 e5fdc3992abc81021b2ec939ea4ab11a997ae0374e3bc6ba87b49127a7478e023283614a9fc39ec9f33f5221469587196d932bf85da9f0a99f134673d6d5f006 diff --git a/media-video/libva-utils/libva-utils-2.14.0.ebuild b/media-video/libva-utils/libva-utils-2.14.0.ebuild index 4decf846c639..345f478cae2b 100644 --- a/media-video/libva-utils/libva-utils-2.14.0.ebuild +++ b/media-video/libva-utils/libva-utils-2.14.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} = *9999 ]] ; then EGIT_REPO_URI="https://github.com/intel/libva-utils" else SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="amd64 arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux" fi LICENSE="MIT" diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest index 89ed6e76acc5..3cc7a6fa1d9e 100644 --- a/media-video/mediainfo/Manifest +++ b/media-video/mediainfo/Manifest @@ -1,6 +1,8 @@ DIST mediainfo_20.09.tar.xz 1984148 BLAKE2B 6926d9ce787b9f9e5c07fe0ddf98e186139ea25c7ab6b3573dc1732850a7f98aeefdeca2157fdcad83d652332705028df12a1cf1e6377f9c1e23b7865578cfd8 SHA512 b6c8bf661585fa6b8e82c7f4bafacae8505078c5c57bc1c703ed16ac237dad0829569dd33fdaaadccd394bdd93088d9b71e5ad2c2294f75aa641004ec91feca9 DIST mediainfo_21.09.tar.xz 1992000 BLAKE2B 8deb996c84ededd390a4fb91f77a4dd0ba60f3a165aefde2fe862720a7a3158888ba56f911533c347703e0a722f05b94edc5f649edef26031b519fc7bd4012cd SHA512 81545c936ec5f17f94246b2cd5343afd105d0b0791f151689fbecdb084778dd4e84da79f47529f16b8383542894819af995ec608588fc6d9f45e9be38a4304db +DIST mediainfo_22.03.tar.xz 2005340 BLAKE2B 232f077a1e202271de8c0d07f1f2a27efac38c998cb5b7f465bf5e8e44c24d6dad9fcafc1a6d981863c13822bd8cbe921b4a06adf3b1f3ac7c8690de4026b597 SHA512 981c9fe410cf6fff1a87ecfe250216977e036e8606034621c18bbf66cc75261c2e0f411bbbf298a409b5b306f7f7ee993a1e24e70040cf48a7728550ef7d830b EBUILD mediainfo-20.09-r1.ebuild 1613 BLAKE2B d2cbc44406a1b9f1389b636a236fd2c1961e4c50494d14268e851db3cdb591ace48adf6021cd620d63f010a262180b14a98fae92b8fa85d1fab57d99a5585775 SHA512 42d2fcdd06b6d5bc0e9d02ab779a300085e60093cb47690a0713ddb7f08d9ce92239f4dd40bb5ddd9cbb2eaa10ff10bdb788905ba6c6d6921bb669782fab198d EBUILD mediainfo-20.09.ebuild 1603 BLAKE2B 5c0dc5cd5992ce35df04b60e0f870a1203cd60bc67e923f20b7575827695d01f092785149fab5e2aad3297215d1128599b9177590bad13ad28226a1b05b4dd7f SHA512 d0779a099600b1478d234fa61f2696961266d2137c904e648ca77d52433588fe7015e929f2ced4eb5444fa4ee63fb05461f5f26a7cd86c7b7da6203a58ff2804 -EBUILD mediainfo-21.09.ebuild 1659 BLAKE2B eb486296c54e3b6cb986bda621f3eed4ef0e94935b8130563757589036f2bdc7edb4b1d3394f68384ec9156d240ddde27d1404a6a173dfbee0cfc9e3acb840ef SHA512 bed777c027fe8e7867b2ad3e0fcf66da7276bef6e3db86bcf7ddbac5ecdb03a05475242191600beddd2a2c56f14b8ff64c6e3e82eb19c51f6339ade5159885ff +EBUILD mediainfo-21.09.ebuild 1657 BLAKE2B f93738fb8db95a76c3fe44cc9b3c86a52fcb979b33f89588abaa8c4acc91efe94de9d5ba26d12d4cee0c4abae47a680a493f7bcacd0f68a11b28f8d9c927b3b6 SHA512 2f69e14296cd8c95a5abbd9fe24288fe2e763de32e8b710294c9ee27fdb03e23922cacf7fa3f3026e4bd128255aa408454af6702d249396294c1c9399f8284e2 +EBUILD mediainfo-22.03.ebuild 1659 BLAKE2B eb486296c54e3b6cb986bda621f3eed4ef0e94935b8130563757589036f2bdc7edb4b1d3394f68384ec9156d240ddde27d1404a6a173dfbee0cfc9e3acb840ef SHA512 bed777c027fe8e7867b2ad3e0fcf66da7276bef6e3db86bcf7ddbac5ecdb03a05475242191600beddd2a2c56f14b8ff64c6e3e82eb19c51f6339ade5159885ff MISC metadata.xml 344 BLAKE2B c70240ab3644a4c1d2367d1eb094a01b60198549456dfae21604c03bb30298f0abde2afda7dfdcf16425ca90856e98f57869481b85358e1724595454c8fdb308 SHA512 cdf31d4cd6185e0fdf604b611ee54b0bb90ffd369119cfd0bcc759e1e3d63a0d5ce673f508d3963b06c0c6152cdc1ef7d369ad2e84327ebd91c1e4a196e75d2e diff --git a/media-video/mediainfo/mediainfo-21.09.ebuild b/media-video/mediainfo/mediainfo-21.09.ebuild index a0c63dc542e0..6ac37d88f037 100644 --- a/media-video/mediainfo/mediainfo-21.09.ebuild +++ b/media-video/mediainfo/mediainfo-21.09.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/MediaInfo" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="curl mms wxwidgets" RDEPEND="~media-libs/libmediainfo-${PV}[curl=,mms=] diff --git a/media-video/mediainfo/mediainfo-22.03.ebuild b/media-video/mediainfo/mediainfo-22.03.ebuild new file mode 100644 index 000000000000..a0c63dc542e0 --- /dev/null +++ b/media-video/mediainfo/mediainfo-22.03.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with media-libs/libmediainfo! + +WX_GTK_VER="3.0-gtk3" +inherit xdg-utils autotools wxwidgets + +DESCRIPTION="MediaInfo supplies technical and tag information about media files" +HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo" +SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" +S="${WORKDIR}/MediaInfo" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="curl mms wxwidgets" + +RDEPEND="~media-libs/libmediainfo-${PV}[curl=,mms=] + >=media-libs/libzen-0.4.37 + sys-libs/zlib + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +pkg_setup() { + TARGETS="CLI" + + if use wxwidgets; then + TARGETS+=" GUI" + setup-wxwidgets + fi +} + +src_prepare() { + default + + local target + for target in ${TARGETS}; do + cd "${S}"/Project/GNU/${target} || die + sed -i -e "s:-O2::" configure.ac || die + eautoreconf + done +} + +src_configure() { + local target + + for target in ${TARGETS}; do + cd "${S}"/Project/GNU/${target} || die + local args="" + [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui" + econf ${args} + done +} + +src_compile() { + local target + + for target in ${TARGETS}; do + cd "${S}"/Project/GNU/${target} || die + default + done +} + +src_install() { + local target + + for target in ${TARGETS}; do + cd "${S}"/Project/GNU/${target} || die + default + dodoc "${S}"/History_${target}.txt + done +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} diff --git a/media-video/motiontrack/Manifest b/media-video/motiontrack/Manifest index 5c74f78c401f..9c265163d632 100644 --- a/media-video/motiontrack/Manifest +++ b/media-video/motiontrack/Manifest @@ -1,3 +1,3 @@ DIST motiontrack-0.1.3.tar.gz 136592 BLAKE2B 2dbd994404db3fce43d59c866951d809f87b1739f244dd53566d673073c7376fbb83aa727e503a4e28ee22b07cd3a5500f405530626ac724180f58a96366c6ae SHA512 edda7e6019aab95ed93ae82ac4a09a763442073ba0eb5e9476daacbfdd0421019a3a0fd99ee2fa0a1930c69925e1494a2e2954bcefc0865d9f1d2f84cec15c0d -EBUILD motiontrack-0.1.3-r2.ebuild 966 BLAKE2B 3ba441109bf13e9589a57327e8c0c139e557265f605889f45f2a7621c8ee5f56f90e3b7499177c2e524f4d46b03ebd95014a42d326d573f58097a6b102b5abf4 SHA512 ba8b7d4036af953f5376b517d36a71586e34909dec2cd4f8512c18152519e83ed816c79b60493960d637ba9a66026101c442fac69fa1efb1c2e0d5bafe071468 +EBUILD motiontrack-0.1.3-r2.ebuild 960 BLAKE2B 182de78f928b3e11fb410016999f7756a8f864f8aa755a151c16e776883010f994c50e318b057167e59f447344fc277f599357eaed8f0edda12b94b94e9ed719 SHA512 35ff96cd9af7c35f67e8c919bd23fa16e7bd6efc703c8f40b6e12a95ff418a3da2bda8b68c7fe437dabdb47ebe94064fcbb820a560f3cd2f6405a09579087c35 MISC metadata.xml 436 BLAKE2B 1096504fb3cbc1febf2424a59db03b4af26475d575b44b5808437747b5db875fe08699adab51372243e728282c9f1523815e9c92510004c3135eee703a6525ef SHA512 750ee3c2c340b54b24c98bab8a65799eadf4cfed3f52c55c11740b9c1c63d077cd81ce9a60c6aeeb0ae46c4ebd45cd5fccdee67448d3aa6e9fd5b86171d60856 diff --git a/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild b/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild index 58f8ed1713af..c5379bd671f5 100644 --- a/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild +++ b/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -10,7 +10,7 @@ HOMEPAGE="http://motiontrack.sourceforge.net" SLOT="0" LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" IUSE="debug graphicsmagick imagemagick multiprocess" diff --git a/media-video/movit/Manifest b/media-video/movit/Manifest index fd40fcbd651c..4aa9cc01daf5 100644 --- a/media-video/movit/Manifest +++ b/media-video/movit/Manifest @@ -1,4 +1,5 @@ +AUX movit-1.6.3-gcc12.patch 251 BLAKE2B db889ad6ee9116749edd64152dd1cfca59c00d11407902402f8d04d353e53f3a429aad42c7cf28ba1d865ed483d148ef53786e9f1592c00a752ef166c1f0a23c SHA512 24fa5df6878f510ad0eaeeee37f9ec56817b3943f60584a33902898ef1870dcbb7fe961fb19bcf989844eff7c4c6647e160c4aceb87661b8529c4af4fdc673a1 DIST movit-1.6.3.tar.gz 605922 BLAKE2B b207e587a20aeccc16017b7b1a7334d88381d4268dfb516d0a030b864e41eb06771e6e2c466699ee6ff01a2c972456152b6450bed654e1961dacc9ff2b800c5d SHA512 6f7169710fbb60f79c44393aea57619f4c83d64fb296ea946d591e78fb9a71b513869dc6325f90e4c2dc843b7ed4841eaef41ca69f64787c8a57f4fde583b1e5 DIST movit-googletest-1.8.1.tar.gz 992298 BLAKE2B 40ef3417fe424205c0617f07207347ce671ac87605f8ac9b8a333b0b06e3fbef9f556041ee324c18f957f3258ab9fe06704f31cdd038355fb7890180eb77ced1 SHA512 e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7 -EBUILD movit-1.6.3.ebuild 1045 BLAKE2B 419e03dd0f817911942393f3911210c9d2667983ec449fde8859d3beb2f3b047380a4b1581d821e81394c751a6eba87c22fa5941aa6355cad0dfb9f2bb90a51e SHA512 e63d175c8b76c26d71f873a7ef11ced8444045dceb7322af3a281e1c617c3ec1bb540504b84676dd17d1727bb5b16947a3502e9239fe9f7c8a9f3a33ee575999 +EBUILD movit-1.6.3-r1.ebuild 1097 BLAKE2B dc6ea7e3d99c40be1182d84134a0519085d924355dbfaaad7dab935ac03b5e08153fce6ffdb7db4878003967f1d20b5b03c54b586988916ca633e9ff153162ed SHA512 668731acdad62fec93df38ce0b35108f409744cd72222a523fd2b1105095dcd8ac20932690871251ed00c9fe810900d43817916fd18636c6a1ab9f88d5124edb MISC metadata.xml 169 BLAKE2B 25149b73446be31f3ea3dd3a6394230987e7d4c601d1605fd3827b37bd99b3301c2e0edb95d0f59a4577ed27919f43c2cc02b1edf62c4012b935a82e709e0c05 SHA512 55c53f74b001bae56ba8c54581a4168335b6b3a28dac23a2102b76795d5fd41de33b8b3e1ec03f9acc6e7a3a77e93b1a6ff3e3967c3156dcbf22b5b5a6245ef5 diff --git a/media-video/movit/files/movit-1.6.3-gcc12.patch b/media-video/movit/files/movit-1.6.3-gcc12.patch new file mode 100644 index 000000000000..00b9e9203b11 --- /dev/null +++ b/media-video/movit/files/movit-1.6.3-gcc12.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/839915 + +--- a/test_util.cpp ++++ b/test_util.cpp +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/media-video/movit/movit-1.6.3-r1.ebuild b/media-video/movit/movit-1.6.3-r1.ebuild new file mode 100644 index 000000000000..bc9144f4e5d9 --- /dev/null +++ b/media-video/movit/movit-1.6.3-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GTEST_PV="1.8.1" + +DESCRIPTION="High-performance, high-quality video filters for the GPU" +HOMEPAGE="https://movit.sesse.net/" +# Tests need gtest sources, makefile unconditionally builds tests, so ... yey! +SRC_URI="https://movit.sesse.net/${P}.tar.gz + https://github.com/google/googletest/archive/refs/tags/release-${GTEST_PV}.tar.gz -> ${PN}-googletest-${GTEST_PV}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" + +# no sane way to use OpenGL from within tests? +RESTRICT="test" + +RDEPEND="media-libs/mesa[X(+)] + >=dev-cpp/eigen-3.2.0:3 + media-libs/libepoxy[egl] + >=sci-libs/fftw-3:= + media-libs/libsdl2" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.3-gcc12.patch +) + +src_compile() { + GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake +} + +src_test() { + GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake check +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/media-video/movit/movit-1.6.3.ebuild b/media-video/movit/movit-1.6.3.ebuild deleted file mode 100644 index a083a1dd4b0f..000000000000 --- a/media-video/movit/movit-1.6.3.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GTEST_PV="1.8.1" - -DESCRIPTION="High-performance, high-quality video filters for the GPU" -HOMEPAGE="https://movit.sesse.net/" -# Tests need gtest sources, makefile unconditionally builds tests, so ... yey! -SRC_URI="https://movit.sesse.net/${P}.tar.gz - https://github.com/google/googletest/archive/refs/tags/release-${GTEST_PV}.tar.gz -> ${PN}-googletest-${GTEST_PV}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" - -# no sane way to use OpenGL from within tests? -RESTRICT="test" - -RDEPEND="media-libs/mesa[X(+)] - >=dev-cpp/eigen-3.2.0:3 - media-libs/libepoxy[egl] - >=sci-libs/fftw-3 - media-libs/libsdl2 - " -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -src_compile() { - GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake -} - -src_test() { - GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake check -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} diff --git a/media-video/mplayer-sh/Manifest b/media-video/mplayer-sh/Manifest deleted file mode 100644 index a3fa671071d2..000000000000 --- a/media-video/mplayer-sh/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX mplayer-sh-0.8.7-parameter-aid.diff 3570 BLAKE2B 52622f53c8b8992b0f2fef0e708118d5cafc05e8ba8dafa55910815cdf2dd7b49933fd1f33797faf2f055ecadc35863d6cebfe2819c8bb1ff0acc2bec3accb78 SHA512 9783f779a09143faa89ef3de5d87ec415dd797af53d4b1da6b56ed28021a414768b4393e0fd8812c74805c17970eb24cbee3ebc12ee741e036a2f4276e449e5c -DIST mplayer.sh-0.8.7.tar.gz 7851 BLAKE2B b7dbaf93c509a3d2bb38f226dafed2261ddadbff24a6e450f3fe2cf5cb5208bb3e89a1830fc3e59d674e9b045360208e7c221498e32f228be9c6e0147aef2588 SHA512 5e83dd2f83b104f7043d828b713e34f47c9a42a93324424c802d4d448b770e36515accf67bd67ce7461201b5e9cd5596da2bbd182eccef9578c9b31b5fed50d9 -EBUILD mplayer-sh-0.8.7.ebuild 1040 BLAKE2B 79d5283fdd98120b0724e22e5611bd8c400dea35873e599f43d7ddc74232833015616d7f20fd615ec305bbe6f2501e955a8081ee8a31a064db939d7d4cdf5162 SHA512 06de9fb7015afe6ef615e53d9cff39342266ecc707c99b886ad6f80bddf2b7bd17853b25bd07925d355746b3dc11e5afbf7deab7d0b483a9bf2df90a8940dd7b -MISC metadata.xml 250 BLAKE2B 85787781bee26099abdc6b9035c66df92026cff1b418979513ea9e220d33698b803a452c9bf551802f4b2cfa1fb4f8cc978e7222f1cc3f469c9612f25ce6adea SHA512 e4b8dc67ce23a9e4ff2ef8dd02e7dec6409c2c3aab0ac4a59792438bbe546f694dd3ab6610467daf98c9968d03299674232ea130f472869d63c0b1dc2b82bc9e diff --git a/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff b/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff deleted file mode 100644 index 3de61e76cd1b..000000000000 --- a/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff +++ /dev/null @@ -1,84 +0,0 @@ ---- mplayer.sh.orig 2007-02-11 16:34:07.000000000 +0100 -+++ mplayer.sh 2007-05-05 18:17:48.000000000 +0200 -@@ -12,6 +12,7 @@ - # - calculate USE_SPEED with 30 fps instead of 29.97 - # - use '-vf' and '-af' instead of '-vop' and '-aop', as the - # latter are deprecated -+# - add -aid to mplayer when AID is given (Matthias Schwarzott ) - # - # 0.8.6 - fixed a copy'n'paste bug regarding the subtitle background - # alpha color (thanks to Christian Haider) -@@ -215,6 +216,11 @@ - fi - debugvar REMOTE "$REMOTE" - -+ if test -n "${AID}"; then -+ AUDIO="-aid ${AID}" -+ fi -+ debugvar AUDIO "${AUDIO}" -+ - if ! test -z "$USERDEF"; then echolog "*** Use Option USERDEF at your own risk!"; fi - debugvar USERDEF "$USERDEF" - -@@ -485,15 +491,24 @@ - declare -i NEW_X NEW_Y - declare -i HALF_Y FULL_Y - declare ORIG_FPS NEW_FPS ORIG_ASPECT VIDEO_FORMAT AUDIO_CODEC --declare CMDLINE AOUT REMOTE USERDEF SUFFIX -+declare CMDLINE AOUT REMOTE AUDIO USERDEF SUFFIX - declare FILE="$1" --declare SLAVE="$2" -+shift - declare -a XResPAL[0] - declare -a XResNTSC[0] - declare FDSTR="" - declare SUBTITLES="" - declare DETC="" - -+while [[ -n $1 ]]; do -+ case ${1} in -+ SLAVE) SLAVE=SLAVE ;; -+ AID) AID=${2}; shift ;; -+ esac -+ -+ shift -+done -+ - echolog "*** Starting mplayer.sh Version $VERSION" - - if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh "; exit; fi -@@ -511,18 +526,18 @@ - if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then - if test "$FILE" == "$DVDFiles/DVD"; then - $USEAC3 && AOUT="$AC3AOUT" -- CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -dvd-device $DVD dvd://" -+ CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -dvd-device $DVD dvd://" - fi - if test "$FILE" == "$DVDFiles/VCD"; then -- CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -cdrom-device $DVD vcd://" -+ CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -cdrom-device $DVD vcd://" - fi - unset FILE - elif test "${SUFFIX}" == ".cue"; then - if $MPLAYER_V1; then -- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF cue://$FILE:2" -+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2" - unset FILE - else -- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF -vcd 2 -cuefile" -+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -vcd 2 -cuefile" - fi - else - # Try to determine the video attributes -@@ -552,9 +567,9 @@ - \( $NTSC -a $NEW_FPS == "30" -a \( \( $ORIG_X == "352" -a $ORIG_Y == "240" \) -o \( $ORIG_Y == "480" -a \ - \( $ORIG_X == "352" -o $ORIG_X == "480" -o $ORIG_X == "512" -o $ORIG_X == "544" -o $ORIG_X == "640" -o $ORIG_X == "704" -o $ORIG_X == "720" \) \) \) \) \ - \) ; then -- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF" -+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF" - else -- CMDLINE="$MPLAYER -vo $VO $AOUT -vf scale=$NEW_X:${NEW_Y}${DETC},expand=$NEW_X:$REAL_Y:-1:-1:1,$VOP:$NEW_FPS $SPEED $FDSTR $CACHESTR $REMOTE $SUBTITLES $USERDEF $FORCEIDX" -+ CMDLINE="$MPLAYER -vo $VO $AOUT -vf scale=$NEW_X:${NEW_Y}${DETC},expand=$NEW_X:$REAL_Y:-1:-1:1,$VOP:$NEW_FPS $SPEED $FDSTR $CACHESTR $AUDIO $REMOTE $SUBTITLES $USERDEF $FORCEIDX" - fi - fi - diff --git a/media-video/mplayer-sh/metadata.xml b/media-video/mplayer-sh/metadata.xml deleted file mode 100644 index 2b167a7461de..000000000000 --- a/media-video/mplayer-sh/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - vdr@gentoo.org - Gentoo VDR Project - - diff --git a/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild b/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild deleted file mode 100644 index c5826b56616a..000000000000 --- a/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit epatch - -RESTRICT="mirror bindist" - -DESCRIPTION="Video Disk Recorder Mplayer API Script" -HOMEPAGE="http://batleth.sapienti-sat.org/projects/VDR/" -SRC_URI="http://batleth.sapienti-sat.org/projects/VDR/versions/mplayer.sh-${PV}.tar.gz" - -KEYWORDS="~amd64 x86" -SLOT="0" -LICENSE="all-rights-reserved" -IUSE="" - -RDEPEND=">=media-video/mplayer-0.1.20070321" - -S=${WORKDIR} - -src_prepare() { - epatch "${FILESDIR}/${P}-parameter-aid.diff" - - sed -i "s:^declare CFGFIL.*$:declare CFGFIL=\"\/etc\/vdr\/plugins\/mplayer\/mplayer.sh.conf\":" mplayer.sh - sed -i mplayer.sh.conf -e "s:^LIRCRC.*$:LIRCRC=\/etc\/lircd.conf:" \ - -e "s:^MPLAYER=.*$:MPLAYER=\/usr\/bin\/mplayer:" -} - -src_install() { - - insinto /etc/vdr/plugins/mplayer - doins mplayer.sh.conf - - into /usr/share/vdr/mplayer - dobin mplayer.sh - - dodir /etc/vdr/plugins/DVD-VCD - touch "${D}"/etc/vdr/plugins/DVD-VCD/{DVD,VCD} - fowners vdr:vdr /etc/vdr/plugins/DVD-VCD/{DVD,VCD} -} diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest index 5b697de6db14..74e7e75d7a7f 100644 --- a/media-video/obs-studio/Manifest +++ b/media-video/obs-studio/Manifest @@ -4,5 +4,5 @@ DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 76802ba67dcebccabd9b2a1f09f505a4a DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd SHA512 575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf EBUILD obs-studio-27.2.3-r1.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 EBUILD obs-studio-27.2.4.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 -EBUILD obs-studio-9999.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 +EBUILD obs-studio-9999.ebuild 5099 BLAKE2B 09bde333c1f3398d65b09e571fc9210b11d092afdead70372f31a5c61227cf48167bef07d28bed6d0e78b9b3af4121cb19e595d2ae36c657a6ee6d079a341713 SHA512 b20147de9d7c6266929aa826d17b42e8586e60b77d879c1f85847c19552369286eb9c923777b15117b58ce1faec1c25eb0ff490cad9c52748e1b262f4702cd62 MISC metadata.xml 1415 BLAKE2B 0dda0116d11846076fba50dbb159af34dd1c8cf1f77dadeab5b280d5190b99dae3d73a20bbd5ef52d63d96958a078c0d2ae61f5e8b32a64126a579a47e5cbd5e SHA512 7327bd2d7ecff1db9fbd721fc34e41fcafbde30b898381406da9ee3837410c05f95d64f124a7b616ec7b96d7b2d450dd5fdae6df0b1afb30837ef55864c329b0 diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild index b9550e6de3df..f42ddb8941af 100644 --- a/media-video/obs-studio/obs-studio-9999.ebuild +++ b/media-video/obs-studio/obs-studio-9999.ebuild @@ -9,7 +9,7 @@ PYTHON_COMPAT=( python3_{8..10} ) inherit cmake lua-single python-single-r1 xdg -OBS_BROWSER_COMMIT="915761778ec1eae99e740ad4bf63b40db3142ee2" +OBS_BROWSER_COMMIT="b798763ae75b538e405c2d7e2ab3a1edfe59ed0c" CEF_DIR="cef_binary_4638_linux64" if [[ ${PV} == 9999 ]]; then @@ -46,15 +46,11 @@ DEPEND=" dev-libs/glib:2 dev-libs/jansson:= dev-qt/qtcore:5 - dev-qt/qtdeclarative:5 dev-qt/qtgui:5[wayland?] - dev-qt/qtmultimedia:5 dev-qt/qtnetwork:5 dev-qt/qtquickcontrols:5 - dev-qt/qtsql:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 dev-qt/qtxml:5 media-libs/libglvnd media-libs/x264:= @@ -63,12 +59,9 @@ DEPEND=" sys-apps/dbus sys-apps/pciutils sys-libs/zlib:= - virtual/udev x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXfixes - x11-libs/libXinerama - x11-libs/libXrandr x11-libs/libxcb:= alsa? ( media-libs/alsa-lib ) browser? ( @@ -85,13 +78,17 @@ DEPEND=" net-print/cups x11-libs/cairo x11-libs/libdrm - x11-libs/libXScrnSaver x11-libs/libXcursor x11-libs/libXdamage x11-libs/libXext x11-libs/libXi + x11-libs/libxkbcommon + x11-libs/libXrandr x11-libs/libXrender + x11-libs/libXScrnSaver + x11-libs/libxshmfence x11-libs/libXtst + x11-libs/pango ) fdk? ( media-libs/fdk-aac:= ) jack? ( virtual/jack ) @@ -105,9 +102,15 @@ DEPEND=" media-libs/fontconfig media-libs/freetype ) - v4l? ( media-libs/libv4l ) + v4l? ( + media-libs/libv4l + virtual/udev + ) vlc? ( media-video/vlc:= ) - wayland? ( dev-libs/wayland ) + wayland? ( + dev-libs/wayland + x11-libs/libxkbcommon + ) " RDEPEND="${DEPEND}" @@ -138,30 +141,35 @@ src_unpack() { fi } +src_prepare() { + # We have not enabled VST before, but now it will be looked for unconditionally if + # any plugins are enabled, so make the VST part a warning instead of fatal for now. + sed -i 's/FATAL_ERROR "obs-vst submodule not available/WARNING "obs-vst submodule not available/' \ + plugins/CMakeLists.txt || die + + cmake_src_prepare +} + src_configure() { local libdir=$(get_libdir) local mycmakeargs=( $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) - -DBUILD_BROWSER=$(usex browser) - -DBUILD_VST=no - -DENABLE_WAYLAND=$(usex wayland) - -DDISABLE_ALSA=$(usex !alsa) - -DDISABLE_DECKLINK=$(usex !decklink) - -DDISABLE_FREETYPE=$(usex !truetype) - -DDISABLE_JACK=$(usex !jack) - -DDISABLE_LIBFDK=$(usex !fdk) + -DENABLE_ALSA=$(usex alsa) + -DENABLE_AJA=OFF + -DENABLE_BROWSER=$(usex browser) + -DENABLE_DECKLINK=$(usex decklink) + -DENABLE_FREETYPE=$(usex truetype) + -DENABLE_JACK=$(usex jack) + -DENABLE_LIBFDK=$(usex fdk) -DENABLE_PIPEWIRE=$(usex pipewire) - -DDISABLE_PULSEAUDIO=$(usex !pulseaudio) - -DDISABLE_SPEEXDSP=$(usex !speex) - -DDISABLE_V4L2=$(usex !v4l) - -DDISABLE_VLC=$(usex !vlc) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_RTMPS=$(usex ssl ON OFF) + -DENABLE_SPEEXDSP=$(usex speex) + -DENABLE_V4L2=$(usex v4l) + -DENABLE_VLC=$(usex vlc) + -DENABLE_WAYLAND=$(usex wayland) -DOBS_MULTIARCH_SUFFIX=${libdir#lib} -DUNIX_STRUCTURE=1 - -DWITH_RTMPS=$(usex ssl) - - # deprecated and currently cause issues - # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608 - -DLIBOBS_PREFER_IMAGEMAGICK=no ) if [[ ${PV} != 9999 ]]; then @@ -172,12 +180,12 @@ src_configure() { if use lua || use python; then mycmakeargs+=( - -DDISABLE_LUA=$(usex !lua) - -DDISABLE_PYTHON=$(usex !python) - -DENABLE_SCRIPTING=yes + -DENABLE_SCRIPTING_LUA=$(usex lua) + -DENABLE_SCRIPTING_PYTHON=$(usex python) + -DENABLE_SCRIPTING=ON ) else - mycmakeargs+=( -DENABLE_SCRIPTING=no ) + mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) fi cmake_src_configure diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index 868c7ca86277..e1993a281404 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,3 +1,4 @@ +AUX 99-pipewire-default-hook.conf 540 BLAKE2B cec76e78db9db290054bf766774c284d7a7a1374c453802eb1bdc19db9289856ec7b8643acbab916a39ca859d543deca111e3b0f110d1904343221c1573ffc17 SHA512 ef891e38c6f40fce2904e240307147a58c48d780e8470dac8e28044cfb86ddeb163885a2362687791779379ad814f58ad5649b75ac4e82931c5bdd3f37a6ed01 AUX gentoo-pipewire-launcher.in 1227 BLAKE2B 4316a991978fac653a00d076e9236d0ab6c01a6e4b800c82851e2bd6f9476369605c741aa7ffd47b10853653ef1d4222c449f0b912a0f7694fffd2b1611d7a47 SHA512 edbc03cec765d2307bcf33a14521c6f8beeae52d9fd6a4e181ba66b9f5dd0d64995fdef847453d1a4c682d701814b3afbe70931f55a0e4198fc5c9d87d7a95c5 AUX pipewire-0.3.25-enable-failed-mlock-warning.patch 704 BLAKE2B dc0732b89b57a258ea6dc54941899134259469675f92ae93aebda09a796c73ace8bc4ed0ab2aef4ea1bcaa30c1bea8c3304288168421ce8f9939ec993c8aa438 SHA512 7456a24276b7b766ff5799acf5b80ef5f85ee7a78fc5b52adff3206c0b0aa1985a0bf72634aacf7818c90136c09bcc11cb0fecec291d961c8b3585c897869f65 AUX pipewire-0.3.25-non-systemd-integration.patch 822 BLAKE2B e80245300313151c01ec56a9be74590d6ee9211a78d9c16180ef1bfb1938a8ad9f8e00f2086d220ca6f8ad2d1c55508cfcc3c240467ed66239808f76029fdcae SHA512 0a7570e0dadd9119ba81b91fc0831ad511ed793f2f10f304547152448e0cf079118c595944e22f31cea94a92a0819524aad26c3fc2d17e73b622b43637cdf06a @@ -6,31 +7,21 @@ AUX pipewire-0.3.35-non-systemd-integration.patch 820 BLAKE2B bbde90ab174a0101f7 AUX pipewire-0.3.36-fix-crash-uaf-media-session.patch 1295 BLAKE2B 7c32a70c48e2cdcaab5cba0315845026ce4feadd2531724e92aa0932f20783253aa00ff4c6f96eeb6124f4ac6011c22afee07fd4cc22488c6ad4619655972155 SHA512 a46341fa86b61f0bf8b80736b411b870d7ac809d556358f4994aaa876a7827811073f99591fb1269ee70dc3b62157d2f1f3d4db63c1cd7729c9f160bf0e621a9 AUX pipewire-0.3.36-fix-version.patch 716 BLAKE2B c447bd11291f809b7607f4094f2d5e3497996a3834e5d5d468dcc63f0e36c117a31158634c08b8acc724f0ce5b599594b05f79ef3e3128ac28843cc08df03fed SHA512 74c757edf20c911df9299b4322486a34746eec8c4aa212441082f954cebe7c7d9c836a757dd134d71b3c31a97abe1494c13dc470495846ffaf52f943ec397532 AUX pipewire-0.3.36-missing-limits-include.patch 452 BLAKE2B b498e4ec11ab3d5bc4cebdd0975802b68594678aa928dc85b5a7031276af9ec12edb1423714e3e96c7d658e574c679efa9c18afbee1b47b15f3ce582bc021fff SHA512 decd44a59152e4fdc64b79c2e330a09ca9b8f776e72ef7a0150dfe43d9c25f4e501d41c86a445a979137c412dc85e1ffa38fed91f976596500d2a28010d78407 -AUX pipewire-0.3.43-systemd-user-unit-dir.patch 1310 BLAKE2B 7068220b1581b73c2c63adc698d09cf9da16d084d189cb9d3d8ecb7d7d79fa4c55548688e2e3718ca48e38388688ae96d340316df850b506bf079fe6c466c24e SHA512 033d1c54447466c18a921060d62f1b8e21221d324862cbf643a777fa2f7386543a51aaf7fdbeb2d698779d7a342eceda069f05d5cc07d8d8813b96ce35a1fdef -AUX pipewire-0.3.44-musl-build.patch 802 BLAKE2B 906313a422d477f28e69bec2fb2e931999e9875dd595c7c040bccdd2a34223fffbc303861d215f618053b899a386af32dc7192271d3e3b8d4751ac16e0088eef SHA512 9290ae00017df0eec1c41e4528bc4f4fb53df5779e83086e4f1fdfaef5aaf27a20a5cedf92382a22304c9266b6c40997af811212d54fb65ddc188acc0d34d792 -AUX pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch 3595 BLAKE2B 9c76203afebdfd00465006751d8abb3ed6fae22d72a27e0e89e89b7fe5a72aa0701adc47de68c7e8f02070d4bca592b9c281e7df5b901e3ae1efa6b449fa3779 SHA512 639f766965186e17a2ae8cf8ec3202342a42ce0eccc1c8644bdd9dea8d281ede8b408c8d485def35671e29d26ce014ea986e0514f4f465b032c35273c26eec9b -AUX pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch 5719 BLAKE2B 4540fea92d596ac9e437559a64e98f3962e52d7c71aece9d189b3708b4e825e63c118ac90c4269f47043092ec3e0c3daec7a375bb52cbbda1818bca975610546 SHA512 739f22521b04303e436a64c0195ee238ad3980959a3f0c6098b4d5d67f522a23ff91b5db021f7bce6b7ae33260a9b13258470137e6b4fc3850dadcf60da7d5b8 +AUX pipewire-0.3.49-x86-cast.patch 813 BLAKE2B 11107bb9c5a4c626c2ccc4e4aa62c6370b7e0851a7c788caf51ce33151e7e23e70c7d460f19357c3a3b3fa54ac682637f954737b9445fbb67490c9f823a6280d SHA512 0b8cc44f6da29f3a91dc8a15093dfc6f14e9a2220a02d41ddbccc7ea3cadf62d92d8db12602eab0587f782478a5b2264ae0dd887179645fafda8f3ffd4843089 AUX pipewire-0.3.50-fix-spa-header.patch 1256 BLAKE2B 728296383a96f3b1e283132d2e97c2b26f5edc676d6ae6f7d697d997ba67fad0aedcf30642ca2bfb72c8bef1ef90c7ffb27e1dda8c8d452a71719530bed03f70 SHA512 d3062ea859c3310481395b9d622ee3ada0bae14ee56e3f7d8678b5cb1f5ab4af2d38ecc718e56f5330150f3af999bbd80603048ced66a73c51723a719bf753af +AUX pipewire-0.3.50-treewide-retain-sections-to.patch 2636 BLAKE2B 75f47ff173f3caf07347006889320c3ea5c8588ce081cfe1059383db36ddd5b0ba6492389841b2c8bfe92bbfb968b12281a701020ad92fc538f10c3a2c26b448 SHA512 7521d13afaa143fa160a3ba966239150de88cda916f961765fb7bf6a31113be4a96028f08a97e2b203875a6eaff2efb9d3501d2154efbef4c0a8afd7ed55e141 AUX pipewire-launcher.sh 149 BLAKE2B 42a9fd174e8216f9941ec72bc50581d539453dd0430ac61712582039f1cfe17cafa050bd87fcb90b9c16ffd891fd9f9c5dfec99b2be8c66eaed0128af180508e SHA512 7f50287565fa44e2296a7b294e8fd3dd64938d2de15c6ff5674d85a6e7bbccbc334c0fb9e28321104aff5335894b3c5a21171f385465e37b422ef53988dbfe4b AUX pipewire.desktop 322 BLAKE2B 0299b9054cf881a5cbbdb128a5e8a51308cf0b5a98260dca756e704504ef057e403b2fb4aa2d58f52dde4be59e416c95d8fce21bc3ca6b6447ecab58263a3f21 SHA512 c13ea531cfdd3798f8d6cd20f5fa8c0a5040c27a6ef3850fdd41102a3bf0bcb73176e3300845af77804a98842fb736841223bc9ac1c92eb2034e9d46e41fc344 AUX pipewire.desktop-r1 325 BLAKE2B 7d823a264e5147bf8669127df22f468518fd54375ed57910f0143821894b33cfee8925b1cf8b9c5b1d219453a5c62fffa50d111b78bc5e151e23aed84d0a577e SHA512 e51ba049484daba3e4cdc5890748267f0c23ea6e57f31f3bb8a49c011e1a61b47b68eea742e5e7bcd58bfeddb96dd4064079fd9787cb66c78bd5eff10799a7bf DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3 DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14 -DIST pipewire-0.3.43.tar.gz 1713131 BLAKE2B 3fa167d74e6104685760a9eac721bc359f1245897e1a5f9b09b4b9591fc459d19549e209990ca478a10ad6c2a4dfaecc3546d996ab7f7d64fe880fb0c1c1dfca SHA512 d3804cdb1d94977bb4e2757e46829e1e51fca52b018007afa3bbfabff4dc33538cedad015c91154e28b879fc2edeb4e1fadf633b0af9a0d3bfd930c53b1bc2c0 -DIST pipewire-0.3.44.tar.gz 1731260 BLAKE2B 5dd4fbffa21c34984836d097028e48654e2c9005e2f167b964bba2a8a2b9a7aad658853f03acce2f7967f884cfbea740ca427e9d373f00bcea2f122337835e02 SHA512 9a356b1d63e996e3725b6d126d7f0a972f83d0db0a95e923d9a7ec5432ff04688d51332f5c83826069e593e021bf514937ae5daf9cc6ad7307fe8baab964a244 -DIST pipewire-0.3.45_p20220205.tar.bz2 1296767 BLAKE2B 2dbdb1db9ffdaa36579d7a6ee459fa001997ecd7b4ece006cf1265267ce956b65c752e8dd51affbff9c17b2934480e1fb86c6950c70ab5ecc8d61063c31a410b SHA512 eae64ccf484c051a10a7a7ac11522de6cd3760c87414febe4868b76f22a8651b1bf94c04cd305fbacd1c6e7233fedb8008933c0dbd6809d4507eb27e633c3930 -DIST pipewire-0.3.47.tar.gz 1746286 BLAKE2B a34e5378d99b2b3c98731baaabf695b7aab882e557635b1a7f1cf542a5012014685bcf4254e4a81d4aab2ec2c8dd804115d5a57eaf13cbb042db2d4232f4bdfc SHA512 2f188910b6a04ebc6ebf288e2f6eab8a227056fd9c5c97a8a279ebff0f88cd6b98b9bfc3bf6aff55104fa537ca04f2c89a8d45da7f2104e07e1b2e531f6cc21c -DIST pipewire-0.3.48.tar.gz 1754730 BLAKE2B 2ba562cdfdb179ab7c36e1227405dd83cc2a9fda3b3496e8d9339a4efc607cfbc1866eb2a9b2be9d44a2e3e4412a2c8af593028086c7c6b81dd14aa7158f19a5 SHA512 67699015612dfafd12f8e0908fa028a1ae91f8ce3a6cd7aeaf313ce991c6cfa206ace24a559bf64631c0a690ea8aa03f878c7f73e3c123881f1b015cf6627c50 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809 DIST pipewire-0.3.50.tar.gz 1773182 BLAKE2B d286b73553471795ea8ed60c82e12c955f1835a7a3a8d45baeda6b1e20a795221230b50c21619af4ef5b2b4962d2783de00b1ab2b22b091220970c334de8b9dc SHA512 e29a626258ab28d74e35e310037fac374fe009fb56e0fa41cef7abb1ec6abb26f828cff1b17500f92f1dd4c95c1e0e98f6af497d315dd463f81c2649d1e8ee23 +DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a EBUILD pipewire-0.3.30-r2.ebuild 9675 BLAKE2B df43c7f1ef0622d96741266e53dc343d9697903571c723c73f5267a8083539fde110ea8f6420f2c86e296d275ab45e4b9abacbd6f0310825a6121336cf11215b SHA512 47cdcbd48311cee24b45c05b3283c4bbe1231c44f6d55136966f887aa43ad69b789bf642e003b17aa6f1a3b59963e68047e4f8c396431cb05f6dd4d3161f8c14 EBUILD pipewire-0.3.36.ebuild 10263 BLAKE2B 033b26477ad91c843e9307504ce8eddcad7977a386925a1960409767946a88ac539954c7647075bb48ac373b4e36fecf0bbdb5d50351213b51465ea298cad336 SHA512 38d6225ab02d31d1fe33723f7c14a385648853b5f4f84cfd13fcf7f91489dffc2c5fbac5f649bdf80bdd9a4bd1b19977bae59eba83beca9c3d9e34030f6f332b -EBUILD pipewire-0.3.43-r3.ebuild 11710 BLAKE2B 03b24308291f9e7c8211805a7b83f4d754eeb6e8f3829c59d251baa01a31b5b62eb2d6c92896e8b6a517b41646eede130e0c9cd771baa1478e2ede04f700249c SHA512 de7e91095f810570a81bd740ce166973b1af82de882c52206a22f6932ee8b3317f8e12a9509e0d39537b31db1864e4383c0b9d62927f02aded9c69f1a79e937f -EBUILD pipewire-0.3.44-r1.ebuild 11856 BLAKE2B 09596d14d58e62c66312965d4b114099f6c7289424314fa375d0747fb94be8d774f8638b16f1cb31309b74eed3d9df16399eb315c5a41cccaad7fb8e89dd59d3 SHA512 56ee54cad22973eda1710fe934e478936360e64e156a319f44ed670900875fa075568029c91979d31d3c21be9440d73785f41f15bcfe16b137fc8a7a751781b1 -EBUILD pipewire-0.3.45_p20220205.ebuild 12836 BLAKE2B 3dc53db39b4b6756dbeba3c119bc1c25d45d535e4f4a8c42314a8bdb8b1c396cdac535b523664faf1cf2cb9905c9a514029f35a4cec501154e39fcdae7efefbe SHA512 cc34053f6912b0b402977e188e3de71c118aae5ee45b6a83665df37d731815e8e2b8947c1143e0039934ed4ac8306b736417cbcc8086f2bd8313773de4fd434d -EBUILD pipewire-0.3.47-r1.ebuild 12925 BLAKE2B 7b8ac68c6fec687276d1c885d645f514d95adce43add8f5bce1220300e30778e8459e434db44230c73d04bc8389950551be160d40e668c687c73d843bc1b1e33 SHA512 9c6cadab163596f2817a53e5675b7124f655c829ce4cba471d502fa7d685a95c4f8a81060a265d22ab7b8a5fa2d23d350c51c28439b5102a2bd14b1c49c68951 -EBUILD pipewire-0.3.48-r1.ebuild 12871 BLAKE2B 9a226694447777c6f02271e78e66d1838a5ed26a8500583dbe6884e46baf12d565a1f915d454ad805fc9b3ed24730ed75bb16b392d26ee18bfd7cacc09af15f1 SHA512 3500122f67d60f69ef56070430ad1d746571fb51d8fa729be17231aef795d4a290c6b3ddd637ee353b34ad466c65dcb378106003774aedac7267755d6ce4e004 -EBUILD pipewire-0.3.49.ebuild 12871 BLAKE2B 9a226694447777c6f02271e78e66d1838a5ed26a8500583dbe6884e46baf12d565a1f915d454ad805fc9b3ed24730ed75bb16b392d26ee18bfd7cacc09af15f1 SHA512 3500122f67d60f69ef56070430ad1d746571fb51d8fa729be17231aef795d4a290c6b3ddd637ee353b34ad466c65dcb378106003774aedac7267755d6ce4e004 -EBUILD pipewire-0.3.50-r1.ebuild 12912 BLAKE2B b2dc21bacb032a3992d78c74346547dbb3428609bafe94ac2af675115b00d53a0815920cbff2a03b3189d7d08202b68d471d4270b0e379b5a1dbad4034a63879 SHA512 03d473da5a7b4136fb6478828c3ebe0681c07dcd8115ccbb84082c38f086c26ad97f6eac108fe12327f803b7802ec1243fad7710464f5e6a06c172913e7c4688 -EBUILD pipewire-9999.ebuild 12871 BLAKE2B 9a226694447777c6f02271e78e66d1838a5ed26a8500583dbe6884e46baf12d565a1f915d454ad805fc9b3ed24730ed75bb16b392d26ee18bfd7cacc09af15f1 SHA512 3500122f67d60f69ef56070430ad1d746571fb51d8fa729be17231aef795d4a290c6b3ddd637ee353b34ad466c65dcb378106003774aedac7267755d6ce4e004 +EBUILD pipewire-0.3.49-r1.ebuild 12957 BLAKE2B dc2ceab687f47b8ef2039f52d7e95fab419146027d6c95a9c50fc94cf2caafec61f14a4a49f440e295fa6e5e8dff45eedd402909ec6eb3f5d4350cb83058d9e9 SHA512 ffd61a276c2b6112d5c7d7084a586a51ecbbff7b3704fb0ced6f6e7091232fc2c585eef2953948eced6473c96d229b9cd866bd5e6bfec10bb7cec812e2a992fd +EBUILD pipewire-0.3.50-r3.ebuild 13058 BLAKE2B 00d3c2330778e5395953b8e9871750cb07e5c2b46056ac5a2d8841d71edb78498af99312ef9240891da008b5ccc7f54999c56b9b88c5636611564aa40797ccc5 SHA512 1c3727e58523069b6d6242c9e5444e1945d3a6327580928658f03beda40818036ca47c2355e4146951f8cea959a85ac34d523dd8b569f15f52a28d319b25e56b +EBUILD pipewire-0.3.51-r1.ebuild 13076 BLAKE2B 664c8f09c7bbb051b9c6607783908bc21a789db9ca326f017e4f1c884602874845f00d5b8de373d0fcd14e68a5e75d45697a96157b63a5db40fc93ceab4fbe71 SHA512 2f12b8a14a89c66f7ab6b4979d93a4c7e1847fefa60602b54102a9c9443f0d9e11822e243e97d46c27d0f07e030e1669c12c03d7edb8f134ef0012e24cc8b1da +EBUILD pipewire-9999.ebuild 12919 BLAKE2B 10e2fef609dd04de13f69aa0665977481b05b0ce6521bf962f436388a507fb3cc18c60e9a58d35d85286fb16b44431cc6526037c8a648a7801f249837b1d98ae SHA512 a680c473a25766d22762bbcc8bd51097f874da3690619199c31125fb22d664f5a454b52ca136f909676993588b9b4f7a12d581ca17258016fc86c77659741739 MISC metadata.xml 1617 BLAKE2B e24aeb1644a4fe0a9ca35ad078149c1736de01820ee78d78cd733b06313a82294913601ceab2f35eee98a608bc5c25d184d285810916c42902515058a57e13b4 SHA512 992b300e69e808ecd51c4e3073941d7e577889e4d8d8573b7643a49fb3bb7de1fb2c48d4f99c8e703c5cd7d03bd55f6cffa2c1ccca052f89d6a4cabccb09a76e diff --git a/media-video/pipewire/files/99-pipewire-default-hook.conf b/media-video/pipewire/files/99-pipewire-default-hook.conf new file mode 100644 index 000000000000..7145accea809 --- /dev/null +++ b/media-video/pipewire/files/99-pipewire-default-hook.conf @@ -0,0 +1,17 @@ +# Load pipewire configuration at conf hook processing time. This allows to +# override pulseaudio defaults configuration which is also applied via hook. +# +# Note since hooks are run after @GENTOO_PORTAGE_EPREFIX@/etc/asound.conf and ~/.asoundrc are applied, +# we load these again here make sure that user configuration takes precedence. + +@hooks [ + { + func load + files [ + "@GENTOO_PORTAGE_EPREFIX@/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf" + "@GENTOO_PORTAGE_EPREFIX@/etc/asound.conf" + "~/.asoundrc" + ] + errors false + } +] diff --git a/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch b/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch deleted file mode 100644 index 93c3ffe3e053..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/814d409501aca3e044ad53063eb3f433b8aff6f9.patch - -From 814d409501aca3e044ad53063eb3f433b8aff6f9 Mon Sep 17 00:00:00 2001 -From: Timo Gurr -Date: Thu, 6 Jan 2022 12:17:10 +0000 -Subject: [PATCH] systemd: Add systemd-system-unit-dir override - ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -179,6 +179,9 @@ option('udev', - option('udevrulesdir', - type : 'string', - description : 'Directory for udev rules (defaults to /lib/udev/rules.d)') -+option('systemd-system-unit-dir', -+ type : 'string', -+ description : 'Directory for system systemd units (defaults to /usr/lib/systemd/system)') - option('systemd-user-unit-dir', - type : 'string', - description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)') ---- a/src/daemon/systemd/system/meson.build -+++ b/src/daemon/systemd/system/meson.build -@@ -1,4 +1,7 @@ - systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunitdir', pkgconfig_define : [ 'rootprefix', prefix]) -+if get_option('systemd-system-unit-dir') != '' -+ systemd_system_services_dir = get_option('systemd-system-unit-dir') -+endif - - install_data(sources : 'pipewire.socket', - install_dir : systemd_system_services_dir) -GitLab diff --git a/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch b/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch deleted file mode 100644 index 6ebcc5db8feb..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/3256c6e5e7e2cef1f765dc05a001114359cc3134 - -From: Wim Taymans -Date: Thu, 27 Jan 2022 14:59:11 +0100 -Subject: [PATCH] tools: fix compilation with musl - ---- a/src/tools/pw-cli.c -+++ b/src/tools/pw-cli.c -@@ -36,6 +36,10 @@ - #include - #include - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #define spa_debug(...) fprintf(stdout,__VA_ARGS__);fputc('\n', stdout) - - #include ---- a/src/tools/pw-dump.c -+++ b/src/tools/pw-dump.c -@@ -32,6 +32,10 @@ - #include - #include - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #include - #include - #include -GitLab diff --git a/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch b/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch deleted file mode 100644 index d4f74a5abcc5..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch +++ /dev/null @@ -1,101 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d7793501fd012de37fcc8bf09003c60bc4624341.patch - -From d7793501fd012de37fcc8bf09003c60bc4624341 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Sun, 20 Feb 2022 21:34:53 +0100 -Subject: [PATCH] pulse-server: free pending sample reply - -If the sample finished playing before we finished the roundtrip to -get the sink_index, it will be destroyed. When the roundtrip completes, -it will try to use invalid memoryy and crash. - -Make sure we destroy all pending replies before destroying the sample -to avoid this problem. - -Fixes #2151 ---- - src/modules/module-protocol-pulse/operation.c | 10 ++++++++++ - src/modules/module-protocol-pulse/operation.h | 1 + - src/modules/module-protocol-pulse/pending-sample.c | 5 +++++ - src/modules/module-protocol-pulse/pulse-server.c | 4 ++++ - 4 files changed, 20 insertions(+) - -diff --git a/src/modules/module-protocol-pulse/operation.c b/src/modules/module-protocol-pulse/operation.c -index e0e67b374..b1e0eb08d 100644 ---- a/src/modules/module-protocol-pulse/operation.c -+++ b/src/modules/module-protocol-pulse/operation.c -@@ -66,6 +66,16 @@ void operation_free(struct operation *o) - free(o); - } - -+struct operation *operation_find(struct client *client, uint32_t tag) -+{ -+ struct operation *o; -+ spa_list_for_each(o, &client->operations, link) { -+ if (o->tag == tag) -+ return o; -+ } -+ return NULL; -+} -+ - void operation_complete(struct operation *o) - { - struct client *client = o->client; -diff --git a/src/modules/module-protocol-pulse/operation.h b/src/modules/module-protocol-pulse/operation.h -index d282ee5e5..1fa07cc7b 100644 ---- a/src/modules/module-protocol-pulse/operation.h -+++ b/src/modules/module-protocol-pulse/operation.h -@@ -43,6 +43,7 @@ int operation_new(struct client *client, uint32_t tag); - int operation_new_cb(struct client *client, uint32_t tag, - void (*callback) (void *data, struct client *client, uint32_t tag), - void *data); -+struct operation *operation_find(struct client *client, uint32_t tag); - void operation_free(struct operation *o); - void operation_complete(struct operation *o); - -diff --git a/src/modules/module-protocol-pulse/pending-sample.c b/src/modules/module-protocol-pulse/pending-sample.c -index 6e5d04fbb..399fc3b54 100644 ---- a/src/modules/module-protocol-pulse/pending-sample.c -+++ b/src/modules/module-protocol-pulse/pending-sample.c -@@ -29,6 +29,7 @@ - #include "client.h" - #include "internal.h" - #include "log.h" -+#include "operation.h" - #include "pending-sample.h" - #include "sample-play.h" - -@@ -36,10 +37,14 @@ void pending_sample_free(struct pending_sample *ps) - { - struct client * const client = ps->client; - struct impl * const impl = client->impl; -+ struct operation *o; - - spa_list_remove(&ps->link); - spa_hook_remove(&ps->listener); - pw_work_queue_cancel(impl->work_queue, ps, SPA_ID_INVALID); - -+ if ((o = operation_find(client, ps->tag)) != NULL) -+ operation_free(o); -+ - sample_play_destroy(ps->play); - } -diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c -index 182c3db99..c035840d1 100644 ---- a/src/modules/module-protocol-pulse/pulse-server.c -+++ b/src/modules/module-protocol-pulse/pulse-server.c -@@ -2353,6 +2353,10 @@ static void on_sample_done(void *obj, void *data, int res, uint32_t id) - { - struct pending_sample *ps = obj; - struct client *client = ps->client; -+ struct operation *o; -+ -+ if ((o = operation_find(client, ps->tag)) != NULL) -+ operation_complete(o); - - pending_sample_free(ps); - client_unref(client); --- -GitLab - - diff --git a/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch b/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch deleted file mode 100644 index 0e27d65fdb3a..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch +++ /dev/null @@ -1,187 +0,0 @@ -Fixes mpd crash. - -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/16f63a3c8fa227625bade5a9edea22354b347d18.patch -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d1f7e96f821089224ddcacf8e8f506f99c54eb5c.patch - -From 16f63a3c8fa227625bade5a9edea22354b347d18 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= -Date: Fri, 18 Feb 2022 18:36:36 +0100 -Subject: [PATCH] Revert "loop: remove destroy list" - -This reverts commit c474846c42967c44db069a23b76a29da6f496f33. -In addition, `s->loop` is also checked before dispatching a source. - -The destroy list is needed in the presence of threads. The -issue is that a source may be destroyed between `epoll_wait()` -returning and thread loop lock being acquired. If this -source is active, then a use-after-free will be triggered -when the thread loop acquires the lock and starts dispatching -the sources. - - thread 1 thread 2 - ---------- ---------- - loop_iterate - spa_loop_control_hook_before - // release lock - - pw_thread_loop_lock - - spa_system_pollfd_wait - // assume it returns with source A - - pw_loop_destroy_source(..., A) - // frees storage of A - - pw_thread_loop_unlock - spa_loop_control_hook_after - // acquire the lock - - for (...) { - struct spa_source *s = ep[i].data; - s->rmask = ep[i].events; - // use-after-free if `s` refers to - // the previously freed `A` - -Fixes #2147 ---- - spa/plugins/support/loop.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c -index 0588ce770..04739eb2a 100644 ---- a/spa/plugins/support/loop.c -+++ b/spa/plugins/support/loop.c -@@ -75,6 +75,7 @@ struct impl { - struct spa_system *system; - - struct spa_list source_list; -+ struct spa_list destroy_list; - struct spa_hook_list hooks_list; - - int poll_fd; -@@ -325,6 +326,14 @@ static void loop_leave(void *object) - impl->thread = 0; - } - -+static inline void process_destroy(struct impl *impl) -+{ -+ struct source_impl *source, *tmp; -+ spa_list_for_each_safe(source, tmp, &impl->destroy_list, link) -+ free(source); -+ spa_list_init(&impl->destroy_list); -+} -+ - static int loop_iterate(void *object, int timeout) - { - struct impl *impl = object; -@@ -354,11 +363,14 @@ static int loop_iterate(void *object, int timeout) - } - for (i = 0; i < nfds; i++) { - struct spa_source *s = ep[i].data; -- if (SPA_LIKELY(s && s->rmask)) { -+ if (SPA_LIKELY(s && s->rmask && s->loop)) { - s->priv = NULL; - s->func(s); - } - } -+ if (SPA_UNLIKELY(!spa_list_is_empty(&impl->destroy_list))) -+ process_destroy(impl); -+ - return nfds; - } - -@@ -712,7 +724,7 @@ static void loop_destroy_source(void *object, struct spa_source *source) - spa_system_close(impl->impl->system, source->fd); - source->fd = -1; - } -- free(source); -+ spa_list_insert(&impl->impl->destroy_list, &impl->link); - } - - static const struct spa_loop_methods impl_loop = { -@@ -783,6 +795,8 @@ static int impl_clear(struct spa_handle *handle) - spa_list_consume(source, &impl->source_list, link) - loop_destroy_source(impl, &source->source); - -+ process_destroy(impl); -+ - spa_system_close(impl->system, impl->ack_fd); - spa_system_close(impl->system, impl->poll_fd); - -@@ -844,6 +858,7 @@ impl_init(const struct spa_handle_factory *factory, - impl->poll_fd = res; - - spa_list_init(&impl->source_list); -+ spa_list_init(&impl->destroy_list); - spa_hook_list_init(&impl->hooks_list); - - impl->buffer_data = SPA_PTR_ALIGN(impl->buffer_mem, MAX_ALIGN, uint8_t); --- -GitLab - - -From d1f7e96f821089224ddcacf8e8f506f99c54eb5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= -Date: Fri, 18 Feb 2022 19:27:13 +0100 -Subject: [PATCH] test: loop: add test for destroying source of thread loop - -Add test which tries to destroy an active source precisely -after the loop has returned from polling but has not yet -acquired the thread loop lock. ---- - test/test-loop.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/test/test-loop.c b/test/test-loop.c -index 98b2add09..81f7a117c 100644 ---- a/test/test-loop.c -+++ b/test/test-loop.c -@@ -227,11 +227,45 @@ PWTEST(pwtest_loop_recurse2) - return PWTEST_PASS; - } - -+PWTEST(thread_loop_destroy_between_poll_and_lock) -+{ -+ pw_init(NULL, NULL); -+ -+ struct pw_thread_loop *thread_loop = pw_thread_loop_new("uaf", NULL); -+ pwtest_ptr_notnull(thread_loop); -+ -+ struct pw_loop *loop = pw_thread_loop_get_loop(thread_loop); -+ pwtest_ptr_notnull(loop); -+ -+ int evfd = eventfd(0, 0); -+ pwtest_errno_ok(evfd); -+ -+ struct spa_source *source = pw_loop_add_io(loop, evfd, SPA_IO_IN, true, NULL, NULL); -+ pwtest_ptr_notnull(source); -+ -+ pw_thread_loop_start(thread_loop); -+ -+ pw_thread_loop_lock(thread_loop); -+ { -+ write(evfd, &(uint64_t){1}, sizeof(uint64_t)); -+ sleep(1); -+ pw_loop_destroy_source(loop, source); -+ } -+ pw_thread_loop_unlock(thread_loop); -+ -+ pw_thread_loop_destroy(thread_loop); -+ -+ pw_deinit(); -+ -+ return PWTEST_PASS; -+} -+ - PWTEST_SUITE(support) - { - pwtest_add(pwtest_loop_destroy2, PWTEST_NOARG); - pwtest_add(pwtest_loop_recurse1, PWTEST_NOARG); - pwtest_add(pwtest_loop_recurse2, PWTEST_NOARG); -+ pwtest_add(thread_loop_destroy_between_poll_and_lock, PWTEST_NOARG); - - return PWTEST_PASS; - } --- -GitLab - diff --git a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch new file mode 100644 index 000000000000..58b4b331e03e --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch @@ -0,0 +1,20 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5a023c8c84fb053d452983a64a33a41b931fc99b +https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2271 + +From: Wim Taymans +Date: Thu, 21 Apr 2022 22:12:38 +0200 +Subject: [PATCH] alsa: fix argument type for Long + +Fixes #2271 +--- a/spa/plugins/alsa/alsa-pcm.c ++++ b/spa/plugins/alsa/alsa-pcm.c +@@ -311,7 +311,7 @@ struct spa_pod *spa_alsa_enum_propinfo(struct state *state, + SPA_PROP_INFO_name, SPA_POD_String("latency.internal.ns"), + SPA_PROP_INFO_description, SPA_POD_String("Internal latency in nanoseconds"), + SPA_PROP_INFO_type, SPA_POD_CHOICE_RANGE_Long(state->process_latency.ns, +- 0, 2 * SPA_NSEC_PER_SEC), ++ 0LL, 2 * SPA_NSEC_PER_SEC), + SPA_PROP_INFO_params, SPA_POD_Bool(true)); + break; + case 15: +GitLab diff --git a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch new file mode 100644 index 000000000000..1e1a8198ef26 --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch @@ -0,0 +1,70 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/e28a052105f8ef35b3f469d3b85e1fcb25106f26 + +From e28a052105f8ef35b3f469d3b85e1fcb25106f26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= +Date: Wed, 13 Apr 2022 18:13:12 +0200 +Subject: [PATCH] treewide: retain sections to prevent linker garbage + collection + +The linker may remove sections that are actually used when +"--gc-sections" and "-z start-stop-gc" is set. Add the `retain` +attribute to prevent that. + +Furthermore, fix the alignment for `pwtest_suite_decl` objects. + +See: #2292 +See: https://lld.llvm.org/ELF/start-stop-gc.html +See: https://github.com/systemd/systemd/issues/21847 +See: https://github.com/systemd/systemd/pull/21855 +--- + src/modules/module-protocol-pulse/module.h | 1 + + test/pwtest-implementation.h | 2 +- + test/pwtest.h | 6 ++++-- + 3 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h +index c1153640e..f75d8786c 100644 +--- a/src/modules/module-protocol-pulse/module.h ++++ b/src/modules/module-protocol-pulse/module.h +@@ -47,6 +47,7 @@ struct module_info { + + #define DEFINE_MODULE_INFO(name) \ + __attribute__((used)) \ ++ __attribute__((retain)) \ + __attribute__((section("pw_mod_pulse_modules"))) \ + __attribute__((aligned(__alignof__(struct module_info)))) \ + const struct module_info name +diff --git a/test/pwtest-implementation.h b/test/pwtest-implementation.h +index 7bfad01cf..1525d2056 100644 +--- a/test/pwtest-implementation.h ++++ b/test/pwtest-implementation.h +@@ -131,7 +131,7 @@ void _pwtest_add(struct pwtest_context *ctx, + struct pwtest_suite_decl { + const char *name; + enum pwtest_result (*setup)(struct pwtest_context *, struct pwtest_suite *); +-} __attribute__((aligned(16))); ++}; + + + #endif /* PWTEST_IMPLEMENTATION_H */ +diff --git a/test/pwtest.h b/test/pwtest.h +index 9c0737523..6d3070b79 100644 +--- a/test/pwtest.h ++++ b/test/pwtest.h +@@ -494,9 +494,11 @@ enum pwtest_arg { + */ + #define PWTEST_SUITE(cname) \ + static enum pwtest_result (cname##__setup)(struct pwtest_context *ctx, struct pwtest_suite *suite); \ +- static const struct pwtest_suite_decl _test_suite \ + __attribute__((used)) \ +- __attribute((section("pwtest_suite_section"))) = { \ ++ __attribute__((retain)) \ ++ __attribute__((section("pwtest_suite_section"))) \ ++ __attribute__((aligned(__alignof__(struct pwtest_suite_decl)))) \ ++ static const struct pwtest_suite_decl _test_suite = { \ + .name = #cname, \ + .setup = cname##__setup, \ + }; \ +-- +GitLab + diff --git a/media-video/pipewire/pipewire-0.3.43-r3.ebuild b/media-video/pipewire/pipewire-0.3.43-r3.ebuild deleted file mode 100644 index 73c1168fb309..000000000000 --- a/media-video/pipewire/pipewire-0.3.43-r3.ebuild +++ /dev/null @@ -1,316 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl systemd test v4l zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE="jack-sdk? ( !jack-client )" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND="media-video/wireplumber" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - - # Upstream patches/backports - "${FILESDIR}"/${P}-systemd-user-unit-dir.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - -Dsystemd-system-service=disabled # Matches upstream - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.44-r1.ebuild b/media-video/pipewire/pipewire-0.3.44-r1.ebuild deleted file mode 100644 index 9e704ef7ddc4..000000000000 --- a/media-video/pipewire/pipewire-0.3.44-r1.ebuild +++ /dev/null @@ -1,324 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE="jack-sdk? ( !jack-client )" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND="media-video/wireplumber" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - - "${FILESDIR}"/${PN}-0.3.44-musl-build.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - -Dsystemd-system-service=disabled # Matches upstream - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild b/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild deleted file mode 100644 index 00347f15856f..000000000000 --- a/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild +++ /dev/null @@ -1,353 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="d1784cfd861bb3179903b07ab87a16e929c0909f" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE=" - jack-sdk? ( !jack-client ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND="media-video/wireplumber" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - $(use system-service && { - echo @pipewire - rtprio 95 - echo @pipewire - priority -19 - echo @pipewire - memlock 4194304 - }) - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi - - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.47-r1.ebuild b/media-video/pipewire/pipewire-0.3.47-r1.ebuild deleted file mode 100644 index 5b34dd267621..000000000000 --- a/media-video/pipewire/pipewire-0.3.47-r1.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE=" - jack-sdk? ( !jack-client ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND="media-video/wireplumber" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - - "${FILESDIR}"/${P}-revert-loop-remove-destroy-list-mpd.patch - "${FILESDIR}"/${P}-pulse-server-pending-sample-reply-crash.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - $(use system-service && { - echo @pipewire - rtprio 95 - echo @pipewire - priority -19 - echo @pipewire - memlock 4194304 - }) - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi - - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.48-r1.ebuild b/media-video/pipewire/pipewire-0.3.48-r1.ebuild deleted file mode 100644 index 6a066b48013e..000000000000 --- a/media-video/pipewire/pipewire-0.3.48-r1.ebuild +++ /dev/null @@ -1,355 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE=" - jack-sdk? ( !jack-client ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND=">=media-video/wireplumber-0.4.8-r3" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - $(use system-service && { - echo @pipewire - rtprio 95 - echo @pipewire - priority -19 - echo @pipewire - memlock 4194304 - }) - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi - - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.49-r1.ebuild b/media-video/pipewire/pipewire-0.3.49-r1.ebuild new file mode 100644 index 000000000000..06b65b5d8bda --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.49-r1.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 +else + if [[ ${PV} == *_p* ]] ; then + MY_COMMIT="" + SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" + S="${WORKDIR}"/${PN}-${MY_COMMIT} + else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" + fi + + KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 +SLOT="0/0.4" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf" + +# Once replacing system JACK libraries is possible, it's likely that +# jack-client IUSE will need blocking to avoid users accidentally +# configuring their systems to send PW sink output to the emulated +# JACK's sink - doing so is likely to yield no audio, cause a CPU +# cycles consuming loop (and may even cause GUI crashes)! + +REQUIRED_USE=" + jack-sdk? ( !jack-client ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-util/meson-0.59 + virtual/pkgconfig + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/readline:= + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libfreeaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + virtual/libusb:1 + ) + echo-cancel? ( media-libs/webrtc-audio-processing:0 ) + extra? ( + >=media-libs/libsndfile-1.0.20 + ) + gstreamer? ( + >=dev-libs/glib-2.32.0:2 + >=media-libs/gstreamer-1.10.0:1.0 + media-libs/gst-plugins-base:1.0 + ) + jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) + jack-sdk? ( + !media-sound/jack-audio-connection-kit + !media-sound/jack2 + ) + lv2? ( media-libs/lilv ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + ssl? ( dev-libs/openssl:= ) + systemd? ( sys-apps/systemd ) + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) + udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l ) + X? ( + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libXfixes + ) + zeroconf? ( net-dns/avahi ) +" + +DEPEND="${RDEPEND}" + +# TODO: Consider use cases where pipewire is not used for driving audio +# Doing so with WirePlumber currently involves editing Lua scripts +PDEPEND=">=media-video/wireplumber-0.4.8-r3" + +# Present RDEPEND that are currently always disabled due to the PW +# code using them being required to be disabled by Gentoo guidelines +# (i.e. developer binaries not meant for users) and unready code +# media-video/ffmpeg:= +# media-libs/libsdl2 +# >=media-libs/vulkan-loader-1.1.69 +# +# Ditto for DEPEND +# >=dev-util/vulkan-headers-1.1.69 + +DOCS=( {README,INSTALL}.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch + + "${FILESDIR}"/${PN}-0.3.49-x86-cast.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +python_check_deps() { + has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + $(use system-service && { + echo @pipewire - rtprio 95 + echo @pipewire - priority -19 + echo @pipewire - memlock 4194304 + }) + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + # https://bugs.gentoo.org/838301 + filter-flags -fno-semantic-interposition + + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + + $(meson_native_use_feature zeroconf avahi) + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone + $(meson_native_enabled man) + $(meson_feature test tests) + -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_native_use_feature gstreamer) + $(meson_native_use_feature gstreamer gstreamer-device-provider) + $(meson_native_use_feature systemd) + + $(meson_native_use_feature system-service systemd-system-service) + -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" + -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" + + $(meson_native_use_feature systemd systemd-user-service) + $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph + -Dspa-plugins=enabled + -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) + -Daudiomixer=enabled # Matches upstream + -Daudioconvert=enabled # Matches upstream + $(meson_native_use_feature bluetooth bluez5) + $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) + $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) + $(meson_native_use_feature bluetooth bluez5-backend-ofono) + $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) + $(meson_native_use_feature bluetooth bluez5-codec-aac) + $(meson_native_use_feature bluetooth bluez5-codec-aptx) + $(meson_native_use_feature bluetooth bluez5-codec-ldac) + $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) + $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 + -Dcontrol=enabled # Matches upstream + -Daudiotestsrc=enabled # Matches upstream + -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 + -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph + $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client + $(meson_use jack-sdk jack-devel) + $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') + -Dsupport=enabled # Miscellaneous/common plugins, such as null sink + -Devl=disabled # Matches upstream + -Dtest=disabled # fakesink and fakesource plugins + $(meson_native_use_feature lv2) + $(meson_native_use_feature v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + $(meson_native_use_feature ssl raop) + -Dvideoconvert=enabled # Matches upstream + -Dvideotestsrc=enabled # Matches upstream + -Dvolume=enabled # Matches upstream + -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) + $(meson_native_use_feature extra pw-cat) + $(meson_feature udev) + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) + $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) + -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build + + # Just for bell sounds in X11 right now. + $(meson_native_use_feature X x11) + $(meson_native_use_feature X x11-xfixes) + $(meson_native_use_feature X libcanberra) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our custom DOCS do not exist in multilib source directory + DOCS= meson_src_install +} + +multilib_src_install_all() { + einstalldocs + + insinto /etc/security/limits.d + doins ${limitsdfile} + + if use pipewire-alsa; then + dodir /etc/alsa/conf.d + # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 + # And the current dosym8 -r implementation is likely affected by the same issue, too. + dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf + dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf + fi + + if ! use systemd; then + insinto /etc/xdg/autostart + newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop + + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher + fi +} + +pkg_postinst() { + use udev && udev_reload + + elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" + elog "using PipeWire. Do it either manually or add yourself" + elog "to the 'audio' group:" + elog + elog " usermod -aG audio " + elog + + if ! use jack-sdk; then + elog "JACK emulation is incomplete and not all programs will work. PipeWire's" + elog "alternative libraries have been installed to a non-default location." + elog "To use them, put pw-jack before every JACK application." + elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" + elog "provider is still needed to compile the JACK applications themselves." + elog + fi + + if use systemd; then + elog "When switching from PulseAudio, you may need to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.socket" + elog + elog "To use PipeWire, the user units must be manually enabled" + elog "by running this command as each user you use for desktop activities:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "A reboot is recommended to avoid interferences from still running" + elog "PulseAudio daemon." + elog + elog "Both new users and those upgrading need to enable WirePlumber" + elog "for relevant users:" + elog + elog " systemctl --user disable pipewire-media-session.service" + elog " systemctl --user --force enable wireplumber.service" + elog + elog "Root user may replace --user with --global to change system default" + elog "configuration for all of the above commands." + else + ewarn "PipeWire daemon startup has been moved to a launcher script!" + ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" + ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" + ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" + ewarn + ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" + ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" + ewarn "advised that a D-Bus user session is set up before starting the script." + ewarn + if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" + elog "autospawning of the original daemon by setting:" + elog + elog " autospawn = no" + elog + elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" + elog + elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" + elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" + elog "command:" + elog + elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" + elog + fi + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override the sections you want to change." + fi + elog + + elog "For latest tips and tricks, troubleshooting information and documentation" + elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" + elog + + optfeature_header "The following can be installed for optional runtime features:" + optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit + + if has_version 'net-misc/ofono' ; then + ewarn "Native backend has become default. Please disable oFono via:" + if systemd_is_booted ; then + ewarn "systemctl disable ofono" + else + ewarn "rc-update delete ofono" + fi + ewarn + fi + + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable PipeWire to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/pipewire/pipewire-0.3.49.ebuild b/media-video/pipewire/pipewire-0.3.49.ebuild deleted file mode 100644 index 6a066b48013e..000000000000 --- a/media-video/pipewire/pipewire-0.3.49.ebuild +++ /dev/null @@ -1,355 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE=" - jack-sdk? ( !jack-client ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND=">=media-video/wireplumber-0.4.8-r3" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - $(use system-service && { - echo @pipewire - rtprio 95 - echo @pipewire - priority -19 - echo @pipewire - memlock 4194304 - }) - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi - - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.50-r1.ebuild b/media-video/pipewire/pipewire-0.3.50-r1.ebuild deleted file mode 100644 index 486d6073c4d1..000000000000 --- a/media-video/pipewire/pipewire-0.3.50-r1.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -REQUIRED_USE=" - jack-sdk? ( !jack-client ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-util/meson-0.59 - virtual/pkgconfig - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/readline:= - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - echo-cancel? ( media-libs/webrtc-audio-processing:0 ) - extra? ( - >=media-libs/libsndfile-1.0.20 - ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - lv2? ( media-libs/lilv ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -# TODO: Consider use cases where pipewire is not used for driving audio -# Doing so with WirePlumber currently involves editing Lua scripts -PDEPEND=">=media-video/wireplumber-0.4.8-r3" - -# Present RDEPEND that are currently always disabled due to the PW -# code using them being required to be disabled by Gentoo guidelines -# (i.e. developer binaries not meant for users) and unready code -# media-video/ffmpeg:= -# media-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -DOCS=( {README,INSTALL}.md NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - "${FILESDIR}"/${P}-fix-spa-header.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -python_check_deps() { - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" -} - -src_prepare() { - default - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - $(use system-service && { - echo @pipewire - rtprio 95 - echo @pipewire - priority -19 - echo @pipewire - memlock 4194304 - }) - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - # https://bugs.gentoo.org/838301 - filter-flags -fno-semantic-interposition - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_native_enabled man) - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature systemd) - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_native_use_feature bluetooth bluez5) - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client - $(meson_use jack-sdk jack-devel) - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - insinto /etc/security/limits.d - doins ${limitsdfile} - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postinst() { - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" - elog "using PipeWire. Do it either manually or add yourself" - elog "to the 'audio' group:" - elog - elog " usermod -aG audio " - elog - - if ! use jack-sdk; then - elog "JACK emulation is incomplete and not all programs will work. PipeWire's" - elog "alternative libraries have been installed to a non-default location." - elog "To use them, put pw-jack before every JACK application." - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" - elog "provider is still needed to compile the JACK applications themselves." - elog - fi - - if use systemd; then - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - else - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override the sections you want to change." - fi - elog - - elog "For latest tips and tricks, troubleshooting information and documentation" - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" - elog - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - ewarn - fi - - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/pipewire/pipewire-0.3.50-r3.ebuild b/media-video/pipewire/pipewire-0.3.50-r3.ebuild new file mode 100644 index 000000000000..8f7f7f1488f1 --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.50-r3.ebuild @@ -0,0 +1,361 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 +else + if [[ ${PV} == *_p* ]] ; then + MY_COMMIT="" + SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" + S="${WORKDIR}"/${PN}-${MY_COMMIT} + else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 +SLOT="0/0.4" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf" + +# Once replacing system JACK libraries is possible, it's likely that +# jack-client IUSE will need blocking to avoid users accidentally +# configuring their systems to send PW sink output to the emulated +# JACK's sink - doing so is likely to yield no audio, cause a CPU +# cycles consuming loop (and may even cause GUI crashes)! + +REQUIRED_USE=" + jack-sdk? ( !jack-client ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-util/meson-0.59 + virtual/pkgconfig + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/readline:= + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libfreeaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + virtual/libusb:1 + ) + echo-cancel? ( media-libs/webrtc-audio-processing:0 ) + extra? ( + >=media-libs/libsndfile-1.0.20 + ) + gstreamer? ( + >=dev-libs/glib-2.32.0:2 + >=media-libs/gstreamer-1.10.0:1.0 + media-libs/gst-plugins-base:1.0 + ) + jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) + jack-sdk? ( + !media-sound/jack-audio-connection-kit + !media-sound/jack2 + ) + lv2? ( media-libs/lilv ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + ssl? ( dev-libs/openssl:= ) + systemd? ( sys-apps/systemd ) + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) + udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l ) + X? ( + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libXfixes + ) + zeroconf? ( net-dns/avahi ) +" + +DEPEND="${RDEPEND}" + +# TODO: Consider use cases where pipewire is not used for driving audio +# Doing so with WirePlumber currently involves editing Lua scripts +PDEPEND=">=media-video/wireplumber-0.4.8-r3" + +# Present RDEPEND that are currently always disabled due to the PW +# code using them being required to be disabled by Gentoo guidelines +# (i.e. developer binaries not meant for users) and unready code +# media-video/ffmpeg:= +# media-libs/libsdl2 +# >=media-libs/vulkan-loader-1.1.69 +# +# Ditto for DEPEND +# >=dev-util/vulkan-headers-1.1.69 + +DOCS=( {README,INSTALL}.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch + + "${FILESDIR}"/${P}-fix-spa-header.patch + "${FILESDIR}"/${P}-treewide-retain-sections-to.patch + "${FILESDIR}"/${PN}-0.3.49-x86-cast.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +python_check_deps() { + has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + $(use system-service && { + echo @pipewire - rtprio 95 + echo @pipewire - priority -19 + echo @pipewire - memlock 4194304 + }) + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + # https://bugs.gentoo.org/838301 + filter-flags -fno-semantic-interposition + + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + + $(meson_native_use_feature zeroconf avahi) + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone + $(meson_native_enabled man) + $(meson_feature test tests) + -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_native_use_feature gstreamer) + $(meson_native_use_feature gstreamer gstreamer-device-provider) + $(meson_native_use_feature systemd) + + $(meson_native_use_feature system-service systemd-system-service) + -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" + -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" + + $(meson_native_use_feature systemd systemd-user-service) + $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph + -Dspa-plugins=enabled + -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) + -Daudiomixer=enabled # Matches upstream + -Daudioconvert=enabled # Matches upstream + $(meson_native_use_feature bluetooth bluez5) + $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) + $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) + $(meson_native_use_feature bluetooth bluez5-backend-ofono) + $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) + $(meson_native_use_feature bluetooth bluez5-codec-aac) + $(meson_native_use_feature bluetooth bluez5-codec-aptx) + $(meson_native_use_feature bluetooth bluez5-codec-ldac) + $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) + $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 + -Dcontrol=enabled # Matches upstream + -Daudiotestsrc=enabled # Matches upstream + -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 + -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph + $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client + $(meson_use jack-sdk jack-devel) + $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') + -Dsupport=enabled # Miscellaneous/common plugins, such as null sink + -Devl=disabled # Matches upstream + -Dtest=disabled # fakesink and fakesource plugins + $(meson_native_use_feature lv2) + $(meson_native_use_feature v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + $(meson_native_use_feature ssl raop) + -Dvideoconvert=enabled # Matches upstream + -Dvideotestsrc=enabled # Matches upstream + -Dvolume=enabled # Matches upstream + -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) + $(meson_native_use_feature extra pw-cat) + $(meson_feature udev) + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) + $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) + -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build + + # Just for bell sounds in X11 right now. + $(meson_native_use_feature X x11) + $(meson_native_use_feature X x11-xfixes) + $(meson_native_use_feature X libcanberra) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our custom DOCS do not exist in multilib source directory + DOCS= meson_src_install +} + +multilib_src_install_all() { + einstalldocs + + insinto /etc/security/limits.d + doins ${limitsdfile} + + if use pipewire-alsa; then + dodir /etc/alsa/conf.d + # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 + # And the current dosym8 -r implementation is likely affected by the same issue, too. + dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf + dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf + fi + + if ! use systemd; then + insinto /etc/xdg/autostart + newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop + + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher + fi +} + +pkg_postinst() { + use udev && udev_reload + + elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" + elog "using PipeWire. Do it either manually or add yourself" + elog "to the 'audio' group:" + elog + elog " usermod -aG audio " + elog + + if ! use jack-sdk; then + elog "JACK emulation is incomplete and not all programs will work. PipeWire's" + elog "alternative libraries have been installed to a non-default location." + elog "To use them, put pw-jack before every JACK application." + elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" + elog "provider is still needed to compile the JACK applications themselves." + elog + fi + + if use systemd; then + elog "When switching from PulseAudio, you may need to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.socket" + elog + elog "To use PipeWire, the user units must be manually enabled" + elog "by running this command as each user you use for desktop activities:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "A reboot is recommended to avoid interferences from still running" + elog "PulseAudio daemon." + elog + elog "Both new users and those upgrading need to enable WirePlumber" + elog "for relevant users:" + elog + elog " systemctl --user disable pipewire-media-session.service" + elog " systemctl --user --force enable wireplumber.service" + elog + elog "Root user may replace --user with --global to change system default" + elog "configuration for all of the above commands." + else + ewarn "PipeWire daemon startup has been moved to a launcher script!" + ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" + ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" + ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" + ewarn + ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" + ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" + ewarn "advised that a D-Bus user session is set up before starting the script." + ewarn + if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" + elog "autospawning of the original daemon by setting:" + elog + elog " autospawn = no" + elog + elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" + elog + elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" + elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" + elog "command:" + elog + elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" + elog + fi + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override the sections you want to change." + fi + elog + + elog "For latest tips and tricks, troubleshooting information and documentation" + elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" + elog + + optfeature_header "The following can be installed for optional runtime features:" + optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit + + if has_version 'net-misc/ofono' ; then + ewarn "Native backend has become default. Please disable oFono via:" + if systemd_is_booted ; then + ewarn "systemctl disable ofono" + else + ewarn "rc-update delete ofono" + fi + ewarn + fi + + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable PipeWire to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/pipewire/pipewire-0.3.51-r1.ebuild b/media-video/pipewire/pipewire-0.3.51-r1.ebuild new file mode 100644 index 000000000000..c28ecc739f33 --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.51-r1.ebuild @@ -0,0 +1,362 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 +else + if [[ ${PV} == *_p* ]] ; then + MY_COMMIT="" + SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" + S="${WORKDIR}"/${PN}-${MY_COMMIT} + else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 +SLOT="0/0.4" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf" + +# Once replacing system JACK libraries is possible, it's likely that +# jack-client IUSE will need blocking to avoid users accidentally +# configuring their systems to send PW sink output to the emulated +# JACK's sink - doing so is likely to yield no audio, cause a CPU +# cycles consuming loop (and may even cause GUI crashes)! + +REQUIRED_USE=" + jack-sdk? ( !jack-client ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-util/meson-0.59 + virtual/pkgconfig + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/readline:= + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libfreeaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + virtual/libusb:1 + ) + echo-cancel? ( media-libs/webrtc-audio-processing:0 ) + extra? ( + >=media-libs/libsndfile-1.0.20 + ) + gstreamer? ( + >=dev-libs/glib-2.32.0:2 + >=media-libs/gstreamer-1.10.0:1.0 + media-libs/gst-plugins-base:1.0 + ) + jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) + jack-sdk? ( + !media-sound/jack-audio-connection-kit + !media-sound/jack2 + ) + lv2? ( media-libs/lilv ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + ssl? ( dev-libs/openssl:= ) + systemd? ( sys-apps/systemd ) + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) + udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l ) + X? ( + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libXfixes + ) + zeroconf? ( net-dns/avahi ) +" + +DEPEND="${RDEPEND}" + +# TODO: Consider use cases where pipewire is not used for driving audio +# Doing so with WirePlumber currently involves editing Lua scripts +PDEPEND=">=media-video/wireplumber-0.4.8-r3" + +# Present RDEPEND that are currently always disabled due to the PW +# code using them being required to be disabled by Gentoo guidelines +# (i.e. developer binaries not meant for users) and unready code +# media-video/ffmpeg:= +# media-libs/libsdl2 +# >=media-libs/vulkan-loader-1.1.69 +# +# Ditto for DEPEND +# >=dev-util/vulkan-headers-1.1.69 + +DOCS=( {README,INSTALL}.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +python_check_deps() { + has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + $(use system-service && { + echo @pipewire - rtprio 95 + echo @pipewire - priority -19 + echo @pipewire - memlock 4194304 + }) + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + # https://bugs.gentoo.org/838301 + filter-flags -fno-semantic-interposition + + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + + $(meson_native_use_feature zeroconf avahi) + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone + $(meson_native_enabled man) + $(meson_feature test tests) + -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_native_use_feature gstreamer) + $(meson_native_use_feature gstreamer gstreamer-device-provider) + $(meson_native_use_feature systemd) + + $(meson_native_use_feature system-service systemd-system-service) + -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" + -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" + + $(meson_native_use_feature systemd systemd-user-service) + $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph + -Dspa-plugins=enabled + -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) + -Daudiomixer=enabled # Matches upstream + -Daudioconvert=enabled # Matches upstream + $(meson_native_use_feature bluetooth bluez5) + $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) + $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) + $(meson_native_use_feature bluetooth bluez5-backend-ofono) + $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) + $(meson_native_use_feature bluetooth bluez5-codec-aac) + $(meson_native_use_feature bluetooth bluez5-codec-aptx) + $(meson_native_use_feature bluetooth bluez5-codec-ldac) + $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) + $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 + -Dcontrol=enabled # Matches upstream + -Daudiotestsrc=enabled # Matches upstream + -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 + -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph + $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client + $(meson_use jack-sdk jack-devel) + $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') + -Dsupport=enabled # Miscellaneous/common plugins, such as null sink + -Devl=disabled # Matches upstream + -Dtest=disabled # fakesink and fakesource plugins + $(meson_native_use_feature lv2) + $(meson_native_use_feature v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + $(meson_native_use_feature ssl raop) + -Dvideoconvert=enabled # Matches upstream + -Dvideotestsrc=enabled # Matches upstream + -Dvolume=enabled # Matches upstream + -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) + $(meson_native_use_feature extra pw-cat) + $(meson_feature udev) + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) + $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) + -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build + + # Just for bell sounds in X11 right now. + $(meson_native_use_feature X x11) + $(meson_native_use_feature X x11-xfixes) + $(meson_native_use_feature X libcanberra) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our custom DOCS do not exist in multilib source directory + DOCS= meson_src_install +} + +multilib_src_install_all() { + einstalldocs + + insinto /etc/security/limits.d + doins ${limitsdfile} + + if use pipewire-alsa; then + dodir /etc/alsa/conf.d + + # Install pipewire conf loader hook + insinto /usr/share/alsa/alsa.conf.d + doins "${FILESDIR}"/99-pipewire-default-hook.conf + eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf + + # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 + # And the current dosym8 -r implementation is likely affected by the same issue, too. + dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf + dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf + fi + + if ! use systemd; then + insinto /etc/xdg/autostart + newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop + + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher + fi +} + +pkg_postinst() { + use udev && udev_reload + + elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" + elog "using PipeWire. Do it either manually or add yourself" + elog "to the 'audio' group:" + elog + elog " usermod -aG audio " + elog + + if ! use jack-sdk; then + elog "JACK emulation is incomplete and not all programs will work. PipeWire's" + elog "alternative libraries have been installed to a non-default location." + elog "To use them, put pw-jack before every JACK application." + elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" + elog "provider is still needed to compile the JACK applications themselves." + elog + fi + + if use systemd; then + elog "When switching from PulseAudio, you may need to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.socket" + elog + elog "To use PipeWire, the user units must be manually enabled" + elog "by running this command as each user you use for desktop activities:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "A reboot is recommended to avoid interferences from still running" + elog "PulseAudio daemon." + elog + elog "Both new users and those upgrading need to enable WirePlumber" + elog "for relevant users:" + elog + elog " systemctl --user disable pipewire-media-session.service" + elog " systemctl --user --force enable wireplumber.service" + elog + elog "Root user may replace --user with --global to change system default" + elog "configuration for all of the above commands." + else + ewarn "PipeWire daemon startup has been moved to a launcher script!" + ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" + ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" + ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" + ewarn + ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" + ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" + ewarn "advised that a D-Bus user session is set up before starting the script." + ewarn + if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" + elog "autospawning of the original daemon by setting:" + elog + elog " autospawn = no" + elog + elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" + elog + elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" + elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" + elog "command:" + elog + elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" + elog + fi + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override the sections you want to change." + fi + elog + + elog "For latest tips and tricks, troubleshooting information and documentation" + elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" + elog + + optfeature_header "The following can be installed for optional runtime features:" + optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit + + if has_version 'net-misc/ofono' ; then + ewarn "Native backend has become default. Please disable oFono via:" + if systemd_is_booted ; then + ewarn "systemctl disable ofono" + else + ewarn "rc-update delete ofono" + fi + ewarn + fi + + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable PipeWire to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild index 6a066b48013e..e60bb1f87151 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-9999.ebuild @@ -28,7 +28,7 @@ HOMEPAGE="https://pipewire.org/" LICENSE="MIT LGPL-2.1+ GPL-2" # ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 SLOT="0/0.4" -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf" # Once replacing system JACK libraries is possible, it's likely that # jack-client IUSE will need blocking to avoid users accidentally @@ -60,7 +60,6 @@ RDEPEND=" sys-libs/readline:= sys-libs/ncurses:=[unicode(+)] virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] bluetooth? ( media-libs/fdk-aac media-libs/libldac @@ -95,6 +94,7 @@ RDEPEND=" acct-user/pipewire acct-group/pipewire ) + udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) v4l? ( media-libs/libv4l ) X? ( media-libs/libcanberra @@ -209,7 +209,7 @@ multilib_src_configure() { -Dvolume=enabled # Matches upstream -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) $(meson_native_use_feature extra pw-cat) - -Dudev=enabled + $(meson_feature udev) -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) @@ -254,6 +254,8 @@ multilib_src_install_all() { } pkg_postinst() { + use udev && udev_reload + elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" elog "using PipeWire. Do it either manually or add yourself" elog "to the 'audio' group:" diff --git a/media-video/qmplay2/Manifest b/media-video/qmplay2/Manifest index f43edba141b6..1b018d767dae 100644 --- a/media-video/qmplay2/Manifest +++ b/media-video/qmplay2/Manifest @@ -1,6 +1,6 @@ -DIST QMPlay2-src-21.06.07.tar.xz 1579640 BLAKE2B f687cf19ce8d4a606b5271c2e5789d5194233bd300f29d165354cc8784808a148e02536ea8a593c036cd75d1e40a335177f1b9db33016008bbb2f9516daf7e61 SHA512 41558e2df09a188cef05c2a24393e67ce4d1ef1268ff1bdd1ac97ec666d9f8f849817b0c64e384624403a8f6f60cb985dde188cb3c75afd731e42f776076d282 DIST QMPlay2-src-21.12.24.tar.xz 1609604 BLAKE2B 0b2e1ddc0a089ee0d8d37d3d14f2273b53b4df078c6f1571a5ed44c1234133c3eb21461287eb12027ccb686d844f28939b8dfe236c11fd6cb5831dc825708301 SHA512 fddd1d28a0c7f8ad7fa8ef02bb1181ee2fe4babfd8b9c026d2b1d518c1cf28528c64d296b0050d7c51b1ae558baf2d04fe808b276816d98e839a85dbc67ac136 -EBUILD qmplay2-21.06.07-r2.ebuild 3332 BLAKE2B 28e7d5b00a174fe3bd56e9e36376ff2ed57c271c9e182bfbce2994f33eaa4277d837ba64dbfe37851b320cab5cc1ac8ab1598e78a08a9d533ada64d4065ba448 SHA512 08ea23ec11101dee122d4ea0b7c541c322bc4b037a232dd37270381ba2221f6354005ebf5c9457af8aaf316fbf8963af1d47f1cbadb68e22d66f369295d64aff +DIST QMPlay2-src-22.03.19.tar.xz 1612136 BLAKE2B 5b5ff6d4b37c3d1c46e28839e078e3f7bfa4d2d9d88f552a574cc6560ee18996dda8649f47973f2af97224e2ebebbffadf3c6f52b8064fc30ff63c72d7f578e2 SHA512 687fa0b8bc7d3b99432419aeeaedc83773dc3b12d8133872f663419db7123e7093895bc8ac5b64f03acefd1c4e5cf916210ebbef6b6494284e15487763f0d571 EBUILD qmplay2-21.12.24.ebuild 3336 BLAKE2B 3d8976098e21861788cd780ff3f3e305dd87f9ede70210b121500f4acb1d9c23ca06558056f9df5107d632ba090f6548720b750e9b3306be08caf60518566ff1 SHA512 ccd37998da35fcb75b16d8b3387d4234b5990a25f52d552f83f64123275af069077a09179d0817495825d22d3312dce4bf5c75f6c8685044513e74998063f048 -EBUILD qmplay2-9999.ebuild 3336 BLAKE2B 3d8976098e21861788cd780ff3f3e305dd87f9ede70210b121500f4acb1d9c23ca06558056f9df5107d632ba090f6548720b750e9b3306be08caf60518566ff1 SHA512 ccd37998da35fcb75b16d8b3387d4234b5990a25f52d552f83f64123275af069077a09179d0817495825d22d3312dce4bf5c75f6c8685044513e74998063f048 +EBUILD qmplay2-22.03.19.ebuild 3324 BLAKE2B 9c4ce7611259460080fbdfb72266426f5b3cd7e71942b87df7cb043f3bb22518a951154bab2bd9ecf2adb424222bff19d3703a015465107c7f17e95f0b541179 SHA512 e4d324867eb01f01f874acd717fe76e30bccc24e8d19d3a2939d977cad168ee4fe6e7ee101c93eff58dc34506e99852f5e08cf53d5a03b1ce65473ab090973a8 +EBUILD qmplay2-9999.ebuild 3324 BLAKE2B 9c4ce7611259460080fbdfb72266426f5b3cd7e71942b87df7cb043f3bb22518a951154bab2bd9ecf2adb424222bff19d3703a015465107c7f17e95f0b541179 SHA512 e4d324867eb01f01f874acd717fe76e30bccc24e8d19d3a2939d977cad168ee4fe6e7ee101c93eff58dc34506e99852f5e08cf53d5a03b1ce65473ab090973a8 MISC metadata.xml 1342 BLAKE2B c3e3b0477c49c00aec65e05ec5d940f8fc126efe074460a1f67c39b98654ccc3819669e47ad5ba83ed977a72f9ee41606d9409ef3a377cfb511bdc01aff0ce70 SHA512 2eb6b7c2b72abf37a2165f35ed7cab51653a425d294f4ec866d0c6b4dd53ffbf8b30306a987bb4bba1e952ea246815dc59e22a6e9141151a844ae1b7cbd36bde diff --git a/media-video/qmplay2/qmplay2-21.06.07-r2.ebuild b/media-video/qmplay2/qmplay2-21.06.07-r2.ebuild deleted file mode 100644 index 7af2e7f0fd0a..000000000000 --- a/media-video/qmplay2/qmplay2-21.06.07-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake xdg - -DESCRIPTION="A Qt-based video player, which can play most formats and codecs" -HOMEPAGE="https://github.com/zaps166/QMPlay2" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/zaps166/QMPlay2" -else - SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/QMPlay2-src-${PV}" -fi - -LICENSE="LGPL-3" -SLOT="0" - -IUSE="avdevice +audiofilters +alsa cdio cuvid dbus extensions - gme inputs libass modplug notifications opengl pipewire portaudio - pulseaudio sid shaders vaapi vdpau +videofilters visualizations vulkan xv" - -REQUIRED_USE=" - audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) ) - shaders? ( vulkan )" - -RDEPEND=" - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - media-video/ffmpeg - || ( - dev-qt/qtgui:5[X(-)] - dev-qt/qtgui:5[xcb(-)] - ) - alsa? ( media-libs/alsa-lib ) - cdio? ( dev-libs/libcdio[cddb] ) - extensions? ( - dev-qt/qtdeclarative:5 - media-libs/taglib - ) - gme? ( media-libs/game-music-emu ) - libass? ( media-libs/libass ) - opengl? ( virtual/opengl ) - pipewire? ( media-video/pipewire ) - portaudio? ( media-libs/portaudio ) - pulseaudio? ( media-sound/pulseaudio ) - sid? ( media-libs/libsidplayfp ) - shaders? ( >=media-libs/shaderc-2020.1 ) - vaapi? ( - >=media-video/ffmpeg-4.1.3[vaapi] - x11-libs/libva[drm,opengl] - ) - vdpau? ( media-video/ffmpeg[vdpau] ) - videofilters? ( dev-qt/qtconcurrent:5 ) - vulkan? ( - >=dev-qt/qtgui-5.14.1:5[vulkan] - >=media-libs/vulkan-loader-1.2.133 - ) - xv? ( x11-libs/libXv )" - -DEPEND="${RDEPEND}" -BDEPEND="dev-qt/linguist-tools:5" - -src_prepare() { - # disable compress man pages - sed -r \ - -e 's/if\(GZIP\)/if\(TRUE\)/' \ - -e 's/(install.+QMPlay2\.1)\.gz/\1/' \ - -i src/gui/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - # core - -DUSE_LINK_TIME_OPTIMIZATION=false - -DUSE_ALSA=$(usex alsa) - -DUSE_AUDIOCD=$(usex cdio) - -DUSE_DBUS_SUSPEND=$(usex dbus) - -DUSE_FREEDESKTOP_NOTIFICATIONS=$(usex dbus) # https://github.com/zaps166/QMPlay2/issues/134 - -DUSE_LIBASS=$(usex libass) - -DUSE_NOTIFY=$(usex notifications) - -DUSE_OPENGL=$(usex opengl) - -DUSE_VULKAN=$(usex vulkan) - -DUSE_GLSLC=$(usex shaders) - -DUSE_XVIDEO=$(usex xv) - - # ffmpeg - -DUSE_FFMPEG_AVDEVICE=$(usex avdevice) - -DUSE_FFMPEG_VAAPI=$(usex vaapi) - -DUSE_FFMPEG_VDPAU=$(usex vdpau) - - # chiptune - -DUSE_CHIPTUNE_GME=$(usex gme) - -DUSE_CHIPTUNE_SID=$(usex sid) - - # modules - -DUSE_AUDIOFILTERS=$(usex audiofilters) - -DUSE_CUVID=$(usex cuvid) - -DUSE_INPUTS=$(usex inputs) - -DUSE_MODPLUG=$(usex modplug) - -DUSE_PIPEWIRE=$(usex pipewire) - -DUSE_PORTAUDIO=$(usex portaudio) - -DUSE_PULSEAUDIO=$(usex pulseaudio) - -DUSE_VIDEOFILTERS=$(usex videofilters) - -DUSE_VISUALIZATIONS=$(usex visualizations) - - # extensions - -DUSE_EXTENSIONS=$(usex extensions) - -DUSE_TAGLIB=$(usex extensions) - -DUSE_LASTFM=$(usex extensions) - -DUSE_LYRICS=$(usex extensions) - -DUSE_MEDIABROWSER=$(usex extensions) - -DUSE_MPRIS2=$(usex extensions) - ) - - if [[ ${PV} == *9999 ]]; then - mycmakeargs+=( -DUSE_GIT_VERSION=true ) - else - mycmakeargs+=( -DUSE_GIT_VERSION=false ) - fi - - cmake_src_configure -} diff --git a/media-video/qmplay2/qmplay2-22.03.19.ebuild b/media-video/qmplay2/qmplay2-22.03.19.ebuild new file mode 100644 index 000000000000..b7b2b595e0e7 --- /dev/null +++ b/media-video/qmplay2/qmplay2-22.03.19.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="A Qt-based video player, which can play most formats and codecs" +HOMEPAGE="https://github.com/zaps166/QMPlay2" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/zaps166/QMPlay2" +else + SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz" + S="${WORKDIR}/QMPlay2-src-${PV}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="LGPL-3" +SLOT="0" + +IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass + modplug notifications opengl pipewire portaudio pulseaudio sid shaders + +taglib vaapi vdpau videofilters visualizations vulkan xv" + +REQUIRED_USE=" + audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) ) + shaders? ( vulkan )" + +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + media-video/ffmpeg + || ( + dev-qt/qtgui:5[X(-)] + dev-qt/qtgui:5[xcb(-)] + ) + alsa? ( media-libs/alsa-lib ) + cdio? ( dev-libs/libcdio[cddb] ) + extensions? ( dev-qt/qtdeclarative:5 ) + gme? ( media-libs/game-music-emu ) + libass? ( media-libs/libass ) + opengl? ( virtual/opengl ) + pipewire? ( media-video/pipewire ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-sound/pulseaudio ) + sid? ( media-libs/libsidplayfp ) + shaders? ( >=media-libs/shaderc-2020.1 ) + taglib? ( media-libs/taglib ) + vaapi? ( + >=media-video/ffmpeg-4.1.3[vaapi] + x11-libs/libva + ) + vdpau? ( media-video/ffmpeg[vdpau] ) + videofilters? ( dev-qt/qtconcurrent:5 ) + vulkan? ( + >=dev-qt/qtgui-5.14.1:5[vulkan] + >=media-libs/vulkan-loader-1.2.133 + ) + xv? ( x11-libs/libXv ) +" +DEPEND="${RDEPEND}" +BDEPEND="dev-qt/linguist-tools:5" + +src_prepare() { + # disable compress man pages + sed -r \ + -e 's/if\(GZIP\)/if\(TRUE\)/' \ + -e 's/(install.+QMPlay2\.1)\.gz/\1/' \ + -i src/gui/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + # core + -DUSE_LINK_TIME_OPTIMIZATION=false + -DUSE_UPDATES=OFF + -DUSE_ALSA=$(usex alsa) + -DUSE_AUDIOCD=$(usex cdio) + -DUSE_DBUS_SUSPEND=ON + -DUSE_FREEDESKTOP_NOTIFICATIONS=ON + -DUSE_LIBASS=$(usex libass) + -DUSE_NOTIFY=$(usex notifications) + -DUSE_OPENGL=$(usex opengl) + -DUSE_VULKAN=$(usex vulkan) + -DUSE_GLSLC=$(usex shaders) + -DUSE_XVIDEO=$(usex xv) + + # ffmpeg + -DUSE_FFMPEG_AVDEVICE=$(usex avdevice) + -DUSE_FFMPEG_VAAPI=$(usex vaapi) + -DUSE_FFMPEG_VDPAU=$(usex vdpau) + + # chiptune + -DUSE_CHIPTUNE_GME=$(usex gme) + -DUSE_CHIPTUNE_SID=$(usex sid) + + # modules + -DUSE_AUDIOFILTERS=$(usex audiofilters) + -DUSE_CUVID=$(usex cuvid) + -DUSE_INPUTS=$(usex inputs) + -DUSE_MODPLUG=$(usex modplug) + -DUSE_PIPEWIRE=$(usex pipewire) + -DUSE_PORTAUDIO=$(usex portaudio) + -DUSE_PULSEAUDIO=$(usex pulseaudio) + -DUSE_TAGLIB=$(usex taglib) + -DUSE_VIDEOFILTERS=$(usex videofilters) + -DUSE_VISUALIZATIONS=$(usex visualizations) + + # extensions + -DUSE_EXTENSIONS=$(usex extensions) + ) + + if use extensions; then + # Move inside an if, to remove unused option warning + mycmakeargs+=( + -DUSE_LASTFM=ON + -DUSE_LYRICS=ON + -DUSE_MEDIABROWSER=ON + -DUSE_MPRIS2=ON + ) + fi + + if [[ ${PV} == *9999 ]]; then + mycmakeargs+=( -DUSE_GIT_VERSION=true ) + else + mycmakeargs+=( -DUSE_GIT_VERSION=false ) + fi + + cmake_src_configure +} diff --git a/media-video/qmplay2/qmplay2-9999.ebuild b/media-video/qmplay2/qmplay2-9999.ebuild index 7f6b9471ab08..b7b2b595e0e7 100644 --- a/media-video/qmplay2/qmplay2-9999.ebuild +++ b/media-video/qmplay2/qmplay2-9999.ebuild @@ -53,7 +53,7 @@ RDEPEND=" taglib? ( media-libs/taglib ) vaapi? ( >=media-video/ffmpeg-4.1.3[vaapi] - x11-libs/libva[drm,opengl] + x11-libs/libva ) vdpau? ( media-video/ffmpeg[vdpau] ) videofilters? ( dev-qt/qtconcurrent:5 ) diff --git a/media-video/rav1e/Manifest b/media-video/rav1e/Manifest index aa1537cfe378..18706437a97c 100644 --- a/media-video/rav1e/Manifest +++ b/media-video/rav1e/Manifest @@ -361,6 +361,6 @@ DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e DIST y4m-0.7.0.crate 12045 BLAKE2B 4f48eb7ad5be2486e0f723b9beb9109cd1b38a0d0c5ac4a64411fce0bd9371d45496e5e0e839d15e7d1616b3888cfc1a0fc1ca364e65ac508306cad9a4ed44a7 SHA512 b85b0dd6df46c9bf125eee3e51ea39545ea1c794a2a097bba0aa31c682532ed3a9ba141745c61915fff13535fc5fff5a490d7c9e731c75bb5ce38a702075467e EBUILD rav1e-0.4.1-r1.ebuild 5940 BLAKE2B 1271957e054dc43d2a86d166cb7be5679fcfb4671826da43be8a04fa4a4bb0cd9fd8439d6f37f23b3e52c94e5e9165acff1391f547aa231b42f77338857b3425 SHA512 1c46aae30d21441a88dbfd4b28e16916dced0abaa7561b9852272c9f032f9c5550da3c40f00715a9323b51e5e0fcb185d36152922ed30f1fcd4f63909b9abdb5 EBUILD rav1e-0.4.1.ebuild 5878 BLAKE2B b442a9ee660919d6fa23594cd0decbcbd66cd0110c89fd3398cfb2d770bac546bcc12f670da2760f78a469b84051fa70d1742d27e6ae2047b689e90cf59f5837 SHA512 acdccaa1dca40bce032c512195110f8ffee70c998a736b801b08857611a9d1097ef44dfae5506bd203a9636d37bc65484883a26dc833d2be87a42496fdeaf077 -EBUILD rav1e-0.5.1.ebuild 4669 BLAKE2B 60cc4a1f31c60cb080898936d721307b990123c76edeb30c654e3b5b753397adca5f89df3f97909e912cc588fcdc702d5aacf540df46d504fbb0faae18814c23 SHA512 d8d75b49359e9009a14900e4caa25b727171e564c422db75f20fc1fcfd5f38493042593200f1f5a45f70252e0d58c275e183fb427d0a3d5a43d5371a005d9f54 +EBUILD rav1e-0.5.1.ebuild 4668 BLAKE2B 27648c7de7fb068c737801bd6096ab59212a868ff820b550a922948160dc1bd095924d0e1c6962f9d1c28717c25a2e966ff7c4fc9ca463a1123d486f34ea7ee0 SHA512 bb22f83b6ae402f430a154bf222f3960a65c8835f9c4951e30af7a59cc02d1cb4e01fb426f8f7d0063dec1f6c4453e7021461b51f3cc6df15965493c5765db50 EBUILD rav1e-9999.ebuild 1558 BLAKE2B a75dfb8dec609725680577af97afa90ac736b01e4727ae3c61aec82e418e1f46b3f673fbdf1f4305b64c13a5bf87efa2d62433a759a3ba4e0b9902dfecbf8204 SHA512 eaea1e348b278fc6137639e6a09f79cf4e953281638ec4f233c9b6a7092b5a0bedc7a81adf437b6cbba35518095cbe6fb5bfe36f28ba6022cd186a5690896e84 MISC metadata.xml 397 BLAKE2B 9109c6b5b08a402a5c7f47b6b845cd16bd86b88d6dc62fffe1c1ecdca2cda46231c46e909991d2459a104bfb74e3f3b31a29eb602a475826ab4d4dde6c8f164d SHA512 cc332a67aa7c85336448ef28de278c45a51159ea48d8446fa562781cd76b30964107a74836e003c72756f66e0e094124d72a495b4381d93572b53b17a5c66a87 diff --git a/media-video/rav1e/rav1e-0.5.1.ebuild b/media-video/rav1e/rav1e-0.5.1.ebuild index f08cc182e5c4..e43b6e22feb2 100644 --- a/media-video/rav1e/rav1e-0.5.1.ebuild +++ b/media-video/rav1e/rav1e-0.5.1.ebuild @@ -185,7 +185,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz $(cargo_crate_uris ${CRATES})" - KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" + KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" fi DESCRIPTION="The fastest and safest AV1 encoder" diff --git a/media-video/rtmpdump/Manifest b/media-video/rtmpdump/Manifest index 37432671cc26..65cf629b90ec 100644 --- a/media-video/rtmpdump/Manifest +++ b/media-video/rtmpdump/Manifest @@ -1,9 +1,12 @@ +AUX rtmpdump-fix-chunk-size.patch 1332 BLAKE2B 2044907f1e34c35229d8c1f97e4f9e51fac9d0d45ef9a3b426db556d697d524ffa625d13d299007b8ea3b99034bce5c880bebbc88c43baaafd93c203a24c9c93 SHA512 f97b4780fb8cfffccf59785c5a89c8d4929e21ec587192f10602caaf9a0b008dfbfebaa09db1d9d955fc9911fc443d76bf19972cc59fedfab5a8889f7fe70b5d AUX rtmpdump-openssl-1.1-v2.patch 8964 BLAKE2B 7ac621cafbbd159a9e143f0c0108c4b08230c7e9221be711983c6e525b7b550fd7062182796049f03f35a908eb12947e333b90c25085dce37ac6e7a0a51cff5a SHA512 f3b39e5c52db0e14d686ab02c7e374fae1c47304bee19a66b1e93eb24ad67c2f08af3695b9919ceccfdbf78f5533ce95f9877725aa3e6cc3f9d660c116e83050 AUX rtmpdump-swf_vertification_type_2.patch 545 BLAKE2B e6db03f060ead7122029f15c0cc259e04863c2d5d0d2509a21de69f7fc61c1d3fb0ac062759c52e22e60733acdfb495cb4e6892ba7acb8e1f36ce1fe42f3ccd9 SHA512 5b5b4582b488429f8192b1158903047986d8ebc117c2ed81f7ab18bf59bcf8b8f6bc9a38fae89aff04af2342ca1362288a39516660f2163b94781c838652ad06 AUX rtmpdump-swf_vertification_type_2_part_2.patch 868 BLAKE2B a5014fdc8bcf2cecbe5120297d4563c7d396e54c34e5f6dddf420fcfdbea4797c865daa0750cb1fa65f7c959d36381ce257ec48b3f4f377ce9ead3b3fe4cf833 SHA512 a0c1c46561384961bbb45962d416664cbd7a4a8c2e16eda4370d9acf76be809541ade182e41320102f252ed4e69dd2d6a0de37ad4085b52a22dc6ff0135d8894 DIST rtmpdump-2.4_p20161210.tar.gz 142837 BLAKE2B 412a7c3b21738db643042e51e03b11e115ae1d68214e644374e8c10f3b2ab3f659ce1af884135d0e89f2e0ba44ebdf41937bc0f02d875c463ca711d9ae95698c SHA512 76617f02c13d7e8e3a7cf2734c6174e56fb321a881c9e4869bf6393786b193e0c01a8c530ecbf0679cc888c523af5712f2dcb2031fbd09729b7ddeebc3a4b133 DIST rtmpdump-2.4_p20190330.tar.gz 143037 BLAKE2B ab0edbca444fc71034a1c6386f304d8f49f92075f6d4ca87992a7b9c4b4058f84333011e86cf38470f7b1dbf5e69f27e8b1fe34267104191c447342a03c18e3c SHA512 5357d01b51d3ec8c3c584c4e5aa9720a4c04b86573bc6cb7d724d660937b04b6dd35338b17721d6521fde2627e83763ed3b7c010f959bd72573016f3c47480b0 +DIST rtmpdump-2.4_p20210219.tar.gz 143043 BLAKE2B 312a44fa6caba3fbae19c248d76dccd22c637884ce37c207afe9de80eb0655a97af51101cd2800a2aea52620578f63e1ccede5070772126297e1c75baff0217b SHA512 2bcd169c8c142390e4a37a5f115bb722f8878188920818349aead50ad6c40b8e96c4f929f1b4d6c26ebc05ee264e6675d3843bf963ad4fbac04c3ce74b7fbb20 EBUILD rtmpdump-2.4_p20161210-r3.ebuild 2696 BLAKE2B ac811b42e9812140688c9b5a33a2255b4457e095de83b096eaae4f9959d0de8a50e919d1e6fb7385e7d256af25ab23c8bd980da70532bc67d8c730e2da4d6af5 SHA512 653d227609c0c1a38a85ce9ceb0eeaca3b6628ba79af5e877d1a2a76e58d2296222ba584da04a55abb784a05c2a8dfdc9d27a95ab07fb16317f36c1c22b73edc EBUILD rtmpdump-2.4_p20190330.ebuild 2633 BLAKE2B 2e115cd1d1710de282de394fef7aac3b10a002606f2da149317f21e685b6e47cffff4b720d5bd303d2f0e6f91f555499f5ae66767d832a9a4b9e67c163224012 SHA512 18ecef8e51588fb946e12de48c9033908bf1988b4681129851f27c176e8b4cfb77fc229c4f0772837f54ed52b11443b1a158e8ed04e3b1673753dc250dcf902f -EBUILD rtmpdump-9999.ebuild 2633 BLAKE2B 2e115cd1d1710de282de394fef7aac3b10a002606f2da149317f21e685b6e47cffff4b720d5bd303d2f0e6f91f555499f5ae66767d832a9a4b9e67c163224012 SHA512 18ecef8e51588fb946e12de48c9033908bf1988b4681129851f27c176e8b4cfb77fc229c4f0772837f54ed52b11443b1a158e8ed04e3b1673753dc250dcf902f +EBUILD rtmpdump-2.4_p20210219.ebuild 2676 BLAKE2B 515f1f8e5c83018505a2c15624eb5185ff98d15e59c017acbe47c7e63fd08b6f4e5063a38ce9e60108d3826799be4de3e524c400025e1af94530f9bf511af201 SHA512 4c90599c84248c3e0c4158bb0d9b39ce953269f21ebbac0321f746f546d24d268f611fdeba35c905d38ea7c6b0e2648d76a827e4032432925b801bfc018473d4 +EBUILD rtmpdump-9999.ebuild 2676 BLAKE2B 515f1f8e5c83018505a2c15624eb5185ff98d15e59c017acbe47c7e63fd08b6f4e5063a38ce9e60108d3826799be4de3e524c400025e1af94530f9bf511af201 SHA512 4c90599c84248c3e0c4158bb0d9b39ce953269f21ebbac0321f746f546d24d268f611fdeba35c905d38ea7c6b0e2648d76a827e4032432925b801bfc018473d4 MISC metadata.xml 746 BLAKE2B 30f330e57b0467571f5536b4689c3a52ed5e36ad759855b90e26226673ebb9b3388ad4b257d8c2c01069aeeb337531e27031828be23e0e56aa0d8076c7ae9abd SHA512 7eb134cf59798c33074457c2238de22a69d7d29469d4d4705c990a29a660837b3df5794af19ac5176056c8010e7d040e0aefa8cbfcdeb1df5d316c2d921cc6ac diff --git a/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch b/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch new file mode 100644 index 000000000000..b714273273aa --- /dev/null +++ b/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch @@ -0,0 +1,46 @@ +diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c +index a2863b0..ac1b3be 100644 +--- a/librtmp/rtmp.c ++++ b/librtmp/rtmp.c +@@ -2077,6 +2077,29 @@ RTMP_SendClientBW(RTMP *r) + } + + static int ++SendClientChunkSize(RTMP *r, int chunkSize) ++{ ++ RTMPPacket packet; ++ char pbuf[256], *pend = pbuf + sizeof(pbuf); ++ int ret; ++ ++ packet.m_nChannel = 0x02; /* control channel (invoke) */ ++ packet.m_headerType = RTMP_PACKET_SIZE_LARGE; ++ packet.m_packetType = RTMP_PACKET_TYPE_CHUNK_SIZE; ++ packet.m_nTimeStamp = 0; ++ packet.m_nInfoField2 = 0; ++ packet.m_hasAbsTimestamp = 0; ++ packet.m_body = pbuf + RTMP_MAX_HEADER_SIZE; ++ ++ packet.m_nBodySize = 4; ++ ++ AMF_EncodeInt32(packet.m_body, pend, chunkSize); ++ ret = RTMP_SendPacket(r, &packet, FALSE); ++ r->m_outChunkSize = chunkSize; ++ return ret; ++} ++ ++static int + SendBytesReceived(RTMP *r) + { + RTMPPacket packet; +@@ -3349,6 +3372,11 @@ HandleChangeChunkSize(RTMP *r, const RTMPPacket *packet) + r->m_inChunkSize = AMF_DecodeInt32(packet->m_body); + RTMP_Log(RTMP_LOGDEBUG, "%s, received: chunk size change to %d", __FUNCTION__, + r->m_inChunkSize); ++ if (r->Link.protocol & RTMP_FEATURE_WRITE) ++ { ++ RTMP_Log(RTMP_LOGDEBUG, "%s, updating outChunkSize too", __FUNCTION__); ++ SendClientChunkSize(r, r->m_inChunkSize); ++ } + } + } + diff --git a/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild b/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild new file mode 100644 index 000000000000..edd05e9dc2dd --- /dev/null +++ b/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit multilib toolchain-funcs multilib-minimal flag-o-matic + +DESCRIPTION="RTMP client, librtmp library intended to stream audio or video flash content" +HOMEPAGE="https://rtmpdump.mplayerhq.hu/" + +# the library is LGPL-2.1, the command is GPL-2 +LICENSE="LGPL-2.1 tools? ( GPL-2 )" +SLOT="0" +IUSE="gnutls ssl static-libs +tools" + +DEPEND="ssl? ( + gnutls? ( + >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP},nettle(+)] + dev-libs/nettle:0=[${MULTILIB_USEDEP}] + ) + !gnutls? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-swf_vertification_type_2.patch" + "${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch" + "${FILESDIR}/${PN}-fix-chunk-size.patch" +) + +if [[ ${PV} == *9999 ]] ; then + SRC_URI="" + EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git" + inherit git-r3 +else + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + SRC_URI="https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/f1b83c10d8beb43fcc70a6e88cf4325499f25857.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-f1b83c1" +fi + +pkg_setup() { + if ! use ssl; then + if use gnutls; then + ewarn "USE='gnutls' is ignored without USE='ssl'." + ewarn "Please review the local USE flags for this package." + fi + fi +} + +src_prepare() { + # fix #571106 by restoring pre-GCC5 inline semantics + append-cflags -std=gnu89 + # fix Makefile ( bug #298535 , bug #318353 and bug #324513 ) + sed -i 's/\$(MAKEFLAGS)//g' Makefile \ + || die "failed to fix Makefile" + sed -i -e 's:OPT=:&-fPIC :' \ + -e 's:OPT:OPTS:' \ + -e 's:CFLAGS=.*:& $(OPT):' librtmp/Makefile \ + || die "failed to fix Makefile" + use ssl && use !gnutls && eapply "${FILESDIR}/${PN}-openssl-1.1-v2.patch" + default + multilib_copy_sources +} + +multilib_src_compile() { + if use ssl ; then + if use gnutls ; then + crypto="GNUTLS" + else + crypto="OPENSSL" + fi + fi + if ! multilib_is_native_abi || ! use tools ; then + cd librtmp || die + fi + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + OPT="${CFLAGS}" XLDFLAGS="${LDFLAGS}" CRYPTO="${crypto}" SYS=posix +} + +multilib_src_install() { + mkdir -p "${ED}"/usr/$(get_libdir) || die + if multilib_is_native_abi && use tools ; then + dodoc README ChangeLog rtmpdump.1.html rtmpgw.8.html + else + cd librtmp || die + fi + emake DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir='$(prefix)/share/man' \ + CRYPTO="${crypto}" libdir="${EPREFIX}/usr/$(get_libdir)" install + find "${D}" -name '*.la' -delete || die + use static-libs || find "${D}" -name '*.a' -delete || die +} diff --git a/media-video/rtmpdump/rtmpdump-9999.ebuild b/media-video/rtmpdump/rtmpdump-9999.ebuild index 77b536382925..edd05e9dc2dd 100644 --- a/media-video/rtmpdump/rtmpdump-9999.ebuild +++ b/media-video/rtmpdump/rtmpdump-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI="8" inherit multilib toolchain-funcs multilib-minimal flag-o-matic @@ -26,6 +26,7 @@ RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}/${PN}-swf_vertification_type_2.patch" "${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch" + "${FILESDIR}/${PN}-fix-chunk-size.patch" ) if [[ ${PV} == *9999 ]] ; then @@ -34,8 +35,8 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" - SRC_URI="http://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-c5f04a5" + SRC_URI="https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/f1b83c10d8beb43fcc70a6e88cf4325499f25857.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-f1b83c1" fi pkg_setup() { diff --git a/media-video/subtitlecomposer/Manifest b/media-video/subtitlecomposer/Manifest index 253ed0a7c71a..215234fce96c 100644 --- a/media-video/subtitlecomposer/Manifest +++ b/media-video/subtitlecomposer/Manifest @@ -1,4 +1,5 @@ +AUX subtitlecomposer-0.7.1-gles-support.patch 4291 BLAKE2B fe5e39720c89f6bed7cf66f23b793b53823f588e188f9e0487e8fd7ab034915da712944cfae79a5be090d810c77ade183291e09cb98777d2ebcae6bd28f28943 SHA512 f02a103eb61b8e2b02375d4b15939d836b53181365c79a3100f6c14d62c8b17598d169191ab400a57031fcbc922d62695692908564e4cc85c2a42f3a09cc69a4 AUX subtitlecomposer-0.7.1-tests-optional.patch 762 BLAKE2B cc8f7408e165422788ed9f6c3641e816237ef1230e64853ceb0fe83acbbe9a10b3cd2b5670270904984ab3e23ebfe6ea1d07278826a6ab89346ec7502076f477 SHA512 a02f847164f2f117f024c09311b00a55b268f80089c6304b29ffd5bb7166ea3b81c14e65befc36379124f18600cb6d57ae8f320261ecd25bb0e05c754d55cbcb DIST subtitlecomposer-0.7.1.tar.xz 636808 BLAKE2B 4c71277c9646a64d59a0cd6923084b39292916e9edf154c026a051253fe8aabab1bdfb9e10c6fab5eb0d754ba428567c2259c637915e93d8d391b7f247c6dc79 SHA512 b486a1be8b414409af4ec2d2ccc86a7e9f34040f114b0efbbf817b5157d85b5f9a37d80272b468a389128f10c12316bf028dd86e2a7434a2b001bfd185208b92 -EBUILD subtitlecomposer-0.7.1.ebuild 1450 BLAKE2B 139a8fb6c99b28a5d0ad928a3470460f196d967c273875ed1f3b672c6c3a056f5d0391f125852f65efc7d0b2d0366c1e58c858160dc477a7eb4d9303f5a44c75 SHA512 b922e2b045bd91949050bd9c6e4525d2d7a3d70bcafb1d3dda75b29d6632a4f17d9eaaf758b7cd0c646db515f24e4217a26ea5df3dddf419bf695295e6bcafea +EBUILD subtitlecomposer-0.7.1.ebuild 1503 BLAKE2B 137faa2e750391323816982db54cd03bf88562e3ae09a28ad71a0756fa532be15a8583684e1eb5ee8603b7acb2a6a0cf14d7d01c1db6a15dcb6e52482e24f74b SHA512 466f47a9c43405b54350ff6b2665fb787666f1b421430a3f9c5fcd569ef8598e611c2b2a9f4b30741fe1b79254eb0adbd34d1d6e4f21db4d3f60571d28f4bf73 MISC metadata.xml 438 BLAKE2B b11cde969ef9af83c7e70ac17615703c8f0b4296113a8ff552a669c3b7bf7b5291106dd1c4ece993fd8195f5af3bcd1b05697b583bd85f4a155fa10351cbbadd SHA512 d32994646bdbfb90e5fde722a905ebf5fa59903de7c36fd8228ce257057ac8523d7219656d1f1a1bdcc3f0eec1ad9f34535d4090078c9e3a6890d58b8e1e3b71 diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch new file mode 100644 index 000000000000..98de494cf306 --- /dev/null +++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch @@ -0,0 +1,122 @@ +From 167a941f8070f4a9abacb3aa2f61ee6ee00d6cb8 Mon Sep 17 00:00:00 2001 +From: Mladen Milinkovic +Date: Thu, 7 Oct 2021 19:37:23 +0200 +Subject: [PATCH] GLRenderer: added GLES support + +--- + src/videoplayer/backend/glrenderer.cpp | 44 ++++++++++++++++++++++---- + 1 file changed, 38 insertions(+), 6 deletions(-) + +diff --git a/src/videoplayer/backend/glrenderer.cpp b/src/videoplayer/backend/glrenderer.cpp +index 7c9c38b..5cb985d 100644 +--- a/src/videoplayer/backend/glrenderer.cpp ++++ b/src/videoplayer/backend/glrenderer.cpp +@@ -20,6 +20,7 @@ extern "C" { + } + + #define DEBUG_GL 0 ++#define FORCE_GLES 0 + #define OPENGL_CORE 0 + #define OPENGL_VER 2,0 + +@@ -33,6 +34,17 @@ extern "C" { + #define asGL(glCall) glCall + #endif + ++#if defined(GL_ES_VERSION_2_0) || FORCE_GLES ++#define USE_GLES ++#define TEXTURE_RGB_FORMAT GL_RGBA ++// NOTE: we don't currently support more than 8bpp on GLES ++#define TEXTURE_U16_FORMAT GL_R8 ++#else ++#undef USE_GLES ++#define TEXTURE_RGB_FORMAT GL_BGRA ++#define TEXTURE_U16_FORMAT GL_R16 ++#endif ++ + using namespace SubtitleComposer; + + enum { ID_Y, ID_U, ID_V, ID_OVR, ID_SIZE }; +@@ -82,6 +94,9 @@ void + GLRenderer::setupProfile() + { + QSurfaceFormat format(QSurfaceFormat::defaultFormat()); ++#if FORCE_GLES ++ format.setRenderableType(QSurfaceFormat::OpenGLES); ++#endif + format.setVersion(OPENGL_VER); + #if DEBUG_GL + format.setOption(QSurfaceFormat::DebugContext); +@@ -126,7 +141,7 @@ GLRenderer::setFrameFormat(int width, int height, int compBits, int crWidthShift + m_crHeight = crHeight; + + m_glType = compBytes == 1 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT; +- m_glFormat = compBytes == 1 ? GL_R8 : GL_R16; ++ m_glFormat = compBytes == 1 ? GL_R8 : TEXTURE_U16_FORMAT; + + delete[] m_bufYUV; + m_bufSize = bufSize; +@@ -261,7 +276,11 @@ GLRenderer::initShader() + delete m_vertShader; + m_vertShader = new QOpenGLShader(QOpenGLShader::Vertex, this); + bool success = m_vertShader->compileSourceCode( ++#ifdef USE_GLES ++ "#version 100\n" ++#else + "#version 120\n" ++#endif + "attribute vec4 vPos;" + "attribute vec2 vVidTex;" + "attribute vec2 vOvrTex;" +@@ -288,7 +307,13 @@ GLRenderer::initShader() + csms.append(QString::number(csm[i], 'g', 10)); + } + +- success = m_fragShader->compileSourceCode(QStringLiteral("#version 120\n" ++ success = m_fragShader->compileSourceCode(QStringLiteral( ++#ifdef USE_GLES ++ "#version 100\n" ++ "precision mediump float;\n" ++#else ++ "#version 120\n" ++#endif + "varying vec2 vfVidTex;" + "varying vec2 vfOvrTex;" + "uniform sampler2D texY;" +@@ -348,8 +373,15 @@ GLRenderer::initializeGL() + QMutexLocker l(&m_texMutex); + + initializeOpenGLFunctions(); +- qDebug() << "OpenGL version: " << reinterpret_cast(glGetString(GL_VERSION)); +- qDebug() << "GLSL version: " << reinterpret_cast(glGetString(GL_SHADING_LANGUAGE_VERSION)); ++ qDebug().nospace() << "GL API: OpenGL " << (format().renderableType() == QSurfaceFormat::OpenGLES ? "ES" : "Desktop") ++ << ' ' << format().majorVersion() << "." << format().minorVersion() ++#ifdef USE_GLES ++ << " (compiled for OpenGL ES)"; ++#else ++ << " (compiled for OpenGL Desktop)"; ++#endif ++ qDebug() << "OpenGL version:" << reinterpret_cast(glGetString(GL_VERSION)); ++ qDebug() << "GLSL version:" << reinterpret_cast(glGetString(GL_SHADING_LANGUAGE_VERSION)); + + if(m_vao.create()) + m_vao.bind(); +@@ -453,13 +485,13 @@ GLRenderer::uploadMM(int texWidth, int texHeight, T *texBuf, const T *texSrc) + if(D == 1) { + asGL(glTexImage2D(GL_TEXTURE_2D, level, m_glFormat, texWidth, texHeight, 0, GL_RED, m_glType, texSrc)); + } else { // D == 4 +- asGL(glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, texWidth, texHeight, 0, GL_BGRA, GL_UNSIGNED_BYTE, texSrc)); ++ asGL(glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, texWidth, texHeight, 0, TEXTURE_RGB_FORMAT, GL_UNSIGNED_BYTE, texSrc)); + } + } else { + if(D == 1) { + asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, GL_RED, m_glType, texSrc)); + } else { // D == 4 +- asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, GL_BGRA, GL_UNSIGNED_BYTE, texSrc)); ++ asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, TEXTURE_RGB_FORMAT, GL_UNSIGNED_BYTE, texSrc)); + } + } + +-- +GitLab + diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild index aef529fbf604..3ff7e5e962a5 100644 --- a/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild +++ b/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -43,7 +43,10 @@ BDEPEND=" virtual/pkgconfig " -PATCHES=( "${FILESDIR}/${P}-tests-optional.patch" ) +PATCHES=( + "${FILESDIR}/${P}-tests-optional.patch" + "${FILESDIR}/${P}-gles-support.patch" # bug 820035 +) src_configure() { local mycmakeargs=( diff --git a/media-video/webcamoid/Manifest b/media-video/webcamoid/Manifest index 77f767665e1e..43a20f080399 100644 --- a/media-video/webcamoid/Manifest +++ b/media-video/webcamoid/Manifest @@ -1,7 +1,4 @@ AUX webcamoid-8.7.1-gcc11.patch 469 BLAKE2B e6994f1f0bd90a83ee1a3510990ff3e31867f89da9a66ff755a60f364f4bdbbbd5e8130816329beec533a48d1517261f60f2650fa9ff45a7e1536066d8fc7d3e SHA512 ac225037ef06604d413452447d863875a10f896a396ffc0def178e3bab447f3f2357558724f00ab9128f94a8f916a4d454e9fef2915e17465d4166508f9c2012 -DIST webcamoid-8.7.1.tar.gz 8900338 BLAKE2B f379811cf9e44e67caa80c301c2774f13c686fa4721b5adc85dcd803ea97edb07073e53575c7dae8dab4ebfa0a9ee4f3691511cc7ddd6b55f84ae2cc77cd3c52 SHA512 b9a4b1dd4c863ab126e304eabce47c025ec0e3eb85a5b42035d26caa004399bde733913c0a5598ada3deb01673bd42ea54c9d2b06d300608582e63dda75d9bf6 DIST webcamoid-8.8.0.tar.gz 8887888 BLAKE2B d0c3f0cee1fe487e8e61cb50148415899f2df8bdd1c48f1d944cece167e69fc6872cc7a45dbf441d6b4b88d0ae99c1a227339594a6ad94416b765a89eb1a70e0 SHA512 e21e3f6b7ad4f4031658033e94f377db06e06d5bad8f0540af6ac824972aa2811336d5edfef19c674e9b98d0bf9d96f22ac46623d5cb4c39bc310d248daf0bfa -EBUILD webcamoid-8.7.1-r1.ebuild 1741 BLAKE2B f80de276c25421a4187139976551e07192f2d716750e444e66633da59621d87a72cbf26d3afce398beda4486f3900ebab6885ce4009de59c71ce1a12992dbaa0 SHA512 b03f081bb55d6279657d6b05ce7eede8476669bfaf6a2e1fbdc48ac93648fc2012b8e08cad2487057308b032a65534deb1cd5e95ebd4baf6511319bf5fa607ec -EBUILD webcamoid-8.7.1.ebuild 1638 BLAKE2B a4f0f45dd25e991d9847b0d09ff415972fc3d0441f4207b5c647228f24315d0a4bec34612cf71e91368a744b1336102fdae8f9d671c259f16054e8e43381f8ec SHA512 8d2b1324509dd1e10f90529572404bd190ee62ea814157e55e822df316e583564c5c9bfccceaf07283b12468e02e0c76d00aa072505c8bea4fc0e196bd28355a EBUILD webcamoid-8.8.0.ebuild 1741 BLAKE2B f80de276c25421a4187139976551e07192f2d716750e444e66633da59621d87a72cbf26d3afce398beda4486f3900ebab6885ce4009de59c71ce1a12992dbaa0 SHA512 b03f081bb55d6279657d6b05ce7eede8476669bfaf6a2e1fbdc48ac93648fc2012b8e08cad2487057308b032a65534deb1cd5e95ebd4baf6511319bf5fa607ec MISC metadata.xml 586 BLAKE2B 55df36c3b4fd6319354c699e5e789b47dfd6f223068721ae842cdfae1dd158b3765e5796deabe8ca63a50da450f541e37f194c8665c7a7a1a6c2272677159d5d SHA512 729ba6c451fcc437d71c0c379179913b22e169368695daaf3452313d061641d647697f47a76684fd4bfcac318c5c7126a5214d5e0e1474c6685cbbc29fd8d0e8 diff --git a/media-video/webcamoid/webcamoid-8.7.1-r1.ebuild b/media-video/webcamoid/webcamoid-8.7.1-r1.ebuild deleted file mode 100644 index 80cf1db81110..000000000000 --- a/media-video/webcamoid/webcamoid-8.7.1-r1.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit qmake-utils xdg-utils - -DESCRIPTION="A full featured webcam capture application" -HOMEPAGE="https://webcamoid.github.io" -SRC_URI="https://github.com/webcamoid/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -IUSE_AVKYS=( alsa coreaudio ffmpeg gstreamer jack libuvc oss pulseaudio qtaudio v4lutils videoeffects ) -IUSE="${IUSE_AVKYS[@]} debug headers v4l" - -REQUIRED_USE="v4lutils? ( v4l )" - -RDEPEND=" - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtopengl:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - ffmpeg? ( media-video/ffmpeg:= ) - gstreamer? ( >=media-libs/gstreamer-1.6.0 ) - jack? ( virtual/jack ) - libuvc? ( media-libs/libuvc ) - pulseaudio? ( media-sound/pulseaudio ) - qtaudio? ( dev-qt/qtmultimedia:5 ) - v4l? ( media-libs/libv4l ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.6 -" -BDEPEND=" - dev-qt/linguist-tools:5 - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.7.1-gcc11.patch -) - -src_configure() { - local myqmakeargs=( - "CONFIG+=debug" - "PREFIX=/usr" - "BUILDDOCS=0" - "INSTALLDEVHEADERS=$(usex headers 1 0)" - "INSTALLQMLDIR=$(qt5_get_libdir)/qt5/qml" - "LIBDIR=/usr/$(get_libdir)" - "NOAVFOUNDATION=1" - "NODSHOW=1" - "NOVCAMWIN=1" - "NOWASAPI=1" - ) - - use v4l || myqmakeargs+=( "NOV4L2=1" ) - - local x - for x in ${IUSE_AVKYS[@]}; do - use ${x} || myqmakeargs+=( "NO${x^^}=1" ) - done - - eqmake5 ${myqmakeargs[@]} -} - -src_install() { - emake INSTALL_ROOT="${D}" install - einstalldocs -} - -pkg_postinst() { - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/media-video/webcamoid/webcamoid-8.7.1.ebuild b/media-video/webcamoid/webcamoid-8.7.1.ebuild deleted file mode 100644 index eb5217846b13..000000000000 --- a/media-video/webcamoid/webcamoid-8.7.1.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit qmake-utils - -DESCRIPTION="A full featured webcam capture application" -HOMEPAGE="https://webcamoid.github.io" -SRC_URI="https://github.com/webcamoid/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -IUSE_AVKYS=( alsa coreaudio ffmpeg gstreamer jack libuvc oss pulseaudio qtaudio v4lutils videoeffects ) -IUSE="${IUSE_AVKYS[@]} debug headers v4l" - -REQUIRED_USE="v4lutils? ( v4l )" - -RDEPEND=" - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtopengl:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - ffmpeg? ( media-video/ffmpeg:= ) - gstreamer? ( >=media-libs/gstreamer-1.6.0 ) - jack? ( virtual/jack ) - libuvc? ( media-libs/libuvc ) - pulseaudio? ( media-sound/pulseaudio ) - qtaudio? ( dev-qt/qtmultimedia:5 ) - v4l? ( media-libs/libv4l ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.6 -" -BDEPEND=" - dev-qt/linguist-tools:5 - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.7.1-gcc11.patch -) - -src_configure() { - local myqmakeargs=( - "CONFIG+=debug" - "PREFIX=/usr" - "BUILDDOCS=0" - "INSTALLDEVHEADERS=$(usex headers 1 0)" - "INSTALLQMLDIR=$(qt5_get_libdir)/qt5/qml" - "LIBDIR=/usr/$(get_libdir)" - "NOAVFOUNDATION=1" - "NODSHOW=1" - "NOVCAMWIN=1" - "NOWASAPI=1" - ) - - use v4l || myqmakeargs+=( "NOV4L2=1" ) - - for x in ${IUSE_AVKYS[@]}; do - use ${x} || myqmakeargs+=( "NO${x^^}=1" ) - done - - eqmake5 ${myqmakeargs[@]} -} - -src_install() { - emake INSTALL_ROOT="${D}" install - einstalldocs -} diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index b6d2bd7a5c1e..21993bd9f6f1 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -1,14 +1,9 @@ -AUX wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch 1837 BLAKE2B 7a621e0903283c9856c02844763d7091930ef122e3bee0577a556390cf7a0051d3cf26ca2af92b07ed055d4e9c925129a43e0cbf4830c0e4a8f9a06a8b36fe56 SHA512 6b3b3304a30f6b5c8f4fc2e2249596bc1f283b76962b529cdd16e534ada2e0e04f4620dedf85a9c974fab199878badc7d79e37b046f8381096d1a0957ead7a11 -AUX wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch 929 BLAKE2B 6583ffd0e7ba37e4832962cc49f9b39021625e5d8bdc064da3065b9172d95ea8510507e0e6b545e43a842e2a679a2188188ebae8f4ebb892318abcf548963428 SHA512 d4879729e1240551060a2d0f8458ffc881d851121e86805670bd9a699daffd9f97e14f6a486f7ff8da92ae88d910b5cb1a3a97664fdba9994f9ca5e2f72d20c4 -AUX wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch 903 BLAKE2B c8e78c5697599cdc988d0a30f4b56d739cde5a0312f0cb21d2a38561dc6e39e6304124d34c15d9eed2afca04db2ed40ca8430d6635a422b684eb1b072d4e4bbe SHA512 395728669c1422a6f2891da0650f7d92d4929eaa2ffc0949bc9b6a730195d1ce07972f16816e25bd19576fdedbd4c0af818951d75adf93edd78f2332dbe0aa4e -AUX wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch 1965 BLAKE2B 8c3e168372d36ee887418fbf6cd490c5047cfbeca989e8482f78a23a85460f5f708476579af84cff0ec8181e4ccea5b210b485fc8558cae6fc4f49dc4bf18d8b SHA512 df9532f437f2c7773961c0dbeb8fab5e40c1c30bc1d74551313961792f9816cf47d38cead0c5528a95a462131aeac994d202ee628db3d1bb7484a491553af054 -AUX wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch 9630 BLAKE2B 5255aa33fd37af8c89db86c9f686d93612f0d84ac6a19a3d30ccf53ef94c8867ab14fa460be7b3976c7e78b98f31cf836b121123041689648629d2a2042a6646 SHA512 96e5d6d197f26ad1e3c9a6c5b56eb6e4e8d9eeca9b60d55ba8d3355aa79954dc9bbf88c57797f8131128631de3037f5b12359b4e86c8468394d6f431db1ec1c9 -DIST wireplumber-0.4.7.tar.gz 358718 BLAKE2B a7e708ccfb9e95b3f3e2ddc5dfc1dc437ac8a2831a7cdaf03f33af65fcce8fc27dd91b2a6f346e60f68873724c2d165616005b485189604863213b5d5565f894 SHA512 8b472e1b3c7a29045326b30989d24224e510f93021c1b5b6aee59859daf594e91a738b8ad9d46d24736b7de29624d9faff40e1061bd3eddc559c95e325bfbf19 -DIST wireplumber-0.4.8.tar.gz 374824 BLAKE2B 7b5c8492d58be8b40c4c98bc807d031c453904a7df51c9b0d96c353c93018ba8cbd699b2c3c885defe7b5360df4256ad5e175015dc0102e5007853f6e0132cb7 SHA512 cb96b1d55be7e9d1433fc4a4fb4accce63f5f318a9a2b5cffc51a9f052765df777a0ba4ac73579771084295a73e6f05ed3a16a5fb9d0f5da4e183cfd74483c2c +AUX wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch 3610 BLAKE2B d473e299a6c22de630786ea4e8ff739aae2975614c79b6fc195a908b4431cc0eba57cfd688865f5c9fe91adf105b75fd6bbe8c00872b8640a8a7a36caabcb620 SHA512 f9770ec2afd83908d473d28cb8972212f57e7e12a64490417f5c301872e3c4cec644090480e60ad9085bbea8f0fc86c521e90b8853534acfe6959dfd5ed9a832 +AUX wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch 1102 BLAKE2B 2a1e2cbe901e6284002f1393621f26d9c7eebee9eb4edc334dc9712095724a32de9f5a3def5121c28f1690b9ed634c9d3fe843c4ae221567e60f6140fe6b9339 SHA512 25a70e02e403cf155a4aaa6bc63a8f3d4cae712814932a5529366ea4ad2ef31d6c14080294ae4b9a1bab7ad433c26dde71df88123815159206d3f3c76481824a +DIST wireplumber-0.4.10.tar.gz 395588 BLAKE2B 6df1af17d1e53ab1449a2f6f9af5a0c4f7b1cd981e07556e5ea3c6b4d5d624e66b97ce4f945f7ccccebbf72b75d35d10990fac11b5228275f27e5320885ff1ec SHA512 342e8bba2cf00faab71ef39bb361b5ada66ff3a68ccf7a756ea1ca402da6e94784eece277ca02992bc7573c51cb8b1bad33aa9c593b3d1bfe0bb0286e2f4506f DIST wireplumber-0.4.9.tar.gz 376170 BLAKE2B 50f552c730ac543fc2e8b0e054c861bcd22ed281a62f2921fb956f39b917cce6eb53287dfcfc81db240476f82f5cf1d7556fa34be8bf507ff847089536b81f44 SHA512 39b9e9be014489042fe480219b99d7591e0b68dd44b889bd5c6aeee73e771adb807bc21f48d031217f097182827bd2f48b68d52291036d52e95d4fa75e7f9929 -EBUILD wireplumber-0.4.7-r2.ebuild 3599 BLAKE2B f26870c8f99bbd77c423a1d3e76a8111a3eb1537bc66da6435263a230d23933a36190f7bdfd974e65eb19c39ac0d1675f505e4b755cfae87c27fe25e82128219 SHA512 2033157b0cfcb61e5644899ab8954a9ec6f01391afe347b5b3850c8ac496f5801983a0ac5d1fd3726b475cb55a7816174df353afa71a9d880e6d2691f414d4bf -EBUILD wireplumber-0.4.8-r2.ebuild 3768 BLAKE2B 631d7f8587ac270b5753a64c7a0836be51cd14e41a9909ffab651fb5357775a5fa5443a9785a7d26caee9fe3d6e832d8a2d7e74838c6cb5380de776cacbac937 SHA512 aab5a562f4d45cab757dbab197287169f5bcb377b79029aee72f97a7f8c407bfc15c78de8a437c132321e9138080c4c9661444fbeee561a5a54d22eb164bf395 -EBUILD wireplumber-0.4.8-r3.ebuild 3832 BLAKE2B 9ae35b177ad87113e0ebdbbe5c22f3eb5704cb6f917d5a2f26d52c04a02a6a70be1b625948ea010ece704fa90d25d7f591bd726475092694c81e03f3ffbe88b3 SHA512 0317a54de35494bb09ee011ecb15dd5ce062b9a0aeb0dce2078c5e31b2500383fb619e26e921120ebe6477bebae47f9d80b5a6e7d8e3f566003a9a81e9159b53 -EBUILD wireplumber-0.4.9.ebuild 3518 BLAKE2B a66b1eb5e288f1e4a42f1a7897b2f3746e29faa22ebec7fa8d7256acd9df9b2fe44b24c78e6f643334fb92461029f685574a6431bc7689427a52668925b03ea6 SHA512 2c31ef1c9c18b13de9a67a0db7dad15d5968ce883c92b8a8c0a20da973cbac6877fba51949f1e07724a11eddd064057fa9b1f01f7f613d07bb3561a402ecc316 -EBUILD wireplumber-9999.ebuild 3535 BLAKE2B a89bdf648f60895ff4fddace0bdcc0e8f91daf7669fa59790557f3cf10ce2b9dd7aebc59633a823392b25284c9aa26a7b65cce5dfec268cb3e91d5334d899097 SHA512 6aa942b9a399ab1dcac1828b869f833b482d395473d3238064aa8dd16b819dd83c9cd2fdf8311d9c8b6b7b06e5c1db25efef7e59d3f583464e36a5a6761d3615 +EBUILD wireplumber-0.4.10.ebuild 3554 BLAKE2B 5fffbb92a92c479a326e111215ebecfcc675494cb804913eede2252193629fdf09cd11bcaf63bcb0cd7767926b931e3041b6a9eee1a775e9e144525da673c8d1 SHA512 d3e0cb716523df0ff5be7491992b71d7d576d9929dd75434abcf00e81a46e17e2a11a228b897c25b669a0e2df4151b3595f14c2330fabf53935cb4c9e78e387f +EBUILD wireplumber-0.4.9-r1.ebuild 3689 BLAKE2B fbc08a9345afaabe31c270b60ce69daf78834a165c64aadf0eb6e6ad7ad5a300676107c377ee11f720df9cd11a8ca300cfea902679679ba1a0e67b0fdd043b5c SHA512 738d760ede5bd05047f399987e7266ee0c732e62f5449468c90dab39385e11e37d67d7559d96229467550e380ba30afbbbb72c08e0c733872ef6f961c4169e27 +EBUILD wireplumber-0.4.9.ebuild 3512 BLAKE2B edd21937127291c47bf9d87566172a22cde8a1aeb24eda1be76355abf5c734192c1b18cb62eade6fab59df8cb1cbf590201a77f9e4eee1e806384f7d9b2b10d6 SHA512 9751335866a253c0598653638600dc3b713adc7377d5f453a2286b7ef0d0a75751f32819c3bdb76a91e7d874109c5e9d511c12c882971c7ff716928c42119081 +EBUILD wireplumber-9999.ebuild 3554 BLAKE2B 5fffbb92a92c479a326e111215ebecfcc675494cb804913eede2252193629fdf09cd11bcaf63bcb0cd7767926b931e3041b6a9eee1a775e9e144525da673c8d1 SHA512 d3e0cb716523df0ff5be7491992b71d7d576d9929dd75434abcf00e81a46e17e2a11a228b897c25b669a0e2df4151b3595f14c2330fabf53935cb4c9e78e387f MISC metadata.xml 803 BLAKE2B d05f76db401a8f71c5c1504d17dd8c0a87686f4b0ab2da450a47f71b1a15eeee2aef17107a3a987af70a097c3004c582fdda4c46e37c89466bfb470d032446dd SHA512 cfa42b1862175344b23fe65fb97d86783ded19352988790aefc6a062da212423dd81d8147525e4256025cdcfc6850909ca61d77d6b4243add0a3339b2eb319ee diff --git a/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch b/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch deleted file mode 100644 index 3451ea73f74b..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch +++ /dev/null @@ -1,51 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317 -https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/163 - -From 211f1e6b6cd4898121e4c2b821fae4dea6cc3317 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Fri, 14 Jan 2022 16:28:48 +0100 -Subject: [PATCH] default-nodes: handle nodes without Routes - -When a node has not part of any EnumRoute, we must assume it is -available. - -Fixes selection of Pro Audio nodes as default nodes. ---- - modules/module-default-nodes.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c -index 32b2725b..15aadeaa 100644 ---- a/modules/module-default-nodes.c -+++ b/modules/module-default-nodes.c -@@ -108,6 +108,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) - gint dev_id = dev_id_str ? atoi (dev_id_str) : -1; - gint cpd = cpd_str ? atoi (cpd_str) : -1; - g_autoptr (WpDevice) device = NULL; -+ gint found = 0; - - if (dev_id == -1 || cpd == -1) - return TRUE; -@@ -168,6 +169,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) - for (; wp_iterator_next (it, &v); g_value_unset (&v)) { - gint32 *d = (gint32 *)g_value_get_pointer (&v); - if (d && *d == cpd) { -+ found++; - if (route_avail != SPA_PARAM_AVAILABILITY_no) - return TRUE; - } -@@ -175,6 +177,10 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) - } - } - } -+ /* The node is part of a profile without routes so we assume it -+ * is available. This can happen for Pro Audio profiles */ -+ if (found == 0) -+ return TRUE; - - return FALSE; - } --- -GitLab - -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317 diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch b/media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch deleted file mode 100644 index 364f8df195cf..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c4c5ca8e2215e5fc295b39af4504c43ed3fe176f - -From c4c5ca8e2215e5fc295b39af4504c43ed3fe176f Mon Sep 17 00:00:00 2001 -From: George Kiagiadakis -Date: Mon, 14 Feb 2022 10:38:51 +0200 -Subject: [PATCH] policy-bluetooth: fix string.find crash with nil string - -Fixes #193 ---- - src/scripts/policy-bluetooth.lua | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/scripts/policy-bluetooth.lua b/src/scripts/policy-bluetooth.lua -index 24fbffbb..f8f69a14 100644 ---- a/src/scripts/policy-bluetooth.lua -+++ b/src/scripts/policy-bluetooth.lua -@@ -118,7 +118,7 @@ local function isSwitched(device) - end - - local function isBluez5AudioSink(sink_name) -- if string.find(sink_name, "bluez_output.") ~= nil then -+ if sink_name and string.find(sink_name, "bluez_output.") ~= nil then - return true - end - return false --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch b/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch deleted file mode 100644 index 5f4a838c36a6..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/5f96f69218273573e625475846269b3914cfcecf - -From 5f96f69218273573e625475846269b3914cfcecf Mon Sep 17 00:00:00 2001 -From: George Kiagiadakis -Date: Wed, 9 Feb 2022 13:35:13 +0200 -Subject: [PATCH] restore-stream: do not crash if config.properties is nil - -Fixes #190 ---- - src/scripts/restore-stream.lua | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/scripts/restore-stream.lua b/src/scripts/restore-stream.lua -index 404eede5..0c17bdd7 100644 ---- a/src/scripts/restore-stream.lua -+++ b/src/scripts/restore-stream.lua -@@ -10,6 +10,7 @@ - - -- Receive script arguments from config.lua - local config = ... or {} -+config.properties = config.properties or {} - config_restore_props = config.properties["restore-props"] or false - config_restore_target = config.properties["restore-target"] or false - --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch b/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch deleted file mode 100644 index 93225b02d88b..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch +++ /dev/null @@ -1,44 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/afbc0ce57aac7aee8dc1651de4620f15c73dbace - -From afbc0ce57aac7aee8dc1651de4620f15c73dbace Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 21 Feb 2022 15:21:36 +0100 -Subject: [PATCH] si-audio-adapter: relax format parsing - -Some nodes can omit the format/rate/channels to indicate that they can -deal with all possibilities and adapt to what they are linked to. - -See pipewire#876 ---- - modules/module-si-audio-adapter.c | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/modules/module-si-audio-adapter.c b/modules/module-si-audio-adapter.c -index f1f6218..84e393f 100644 ---- a/modules/module-si-audio-adapter.c -+++ b/modules/module-si-audio-adapter.c -@@ -158,19 +158,12 @@ si_audio_adapter_find_format (WpSiAudioAdapter * self, WpNode * node) - struct spa_pod *position = NULL; - wp_spa_pod_fixate (pod); - -- /* defaults */ - spa_zero(raw_format); -- raw_format.format = SPA_AUDIO_FORMAT_F32; -- raw_format.rate = si_audio_adapter_get_default_clock_rate (self); -- raw_format.channels = 2; -- raw_format.position[0] = SPA_AUDIO_CHANNEL_FL; -- raw_format.position[1] = SPA_AUDIO_CHANNEL_FR; -- - if (spa_pod_parse_object(wp_spa_pod_get_spa_pod (pod), - SPA_TYPE_OBJECT_Format, NULL, -- SPA_FORMAT_AUDIO_format, SPA_POD_Id(&raw_format.format), -+ SPA_FORMAT_AUDIO_format, SPA_POD_OPT_Id(&raw_format.format), - SPA_FORMAT_AUDIO_rate, SPA_POD_OPT_Int(&raw_format.rate), -- SPA_FORMAT_AUDIO_channels, SPA_POD_Int(&raw_format.channels), -+ SPA_FORMAT_AUDIO_channels, SPA_POD_OPT_Int(&raw_format.channels), - SPA_FORMAT_AUDIO_position, SPA_POD_OPT_Pod(&position)) < 0) - continue; - --- -2.35.1 - diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch b/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch deleted file mode 100644 index b77cfa3c3c6f..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch +++ /dev/null @@ -1,214 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e429db7e8c266045aee25e153fb2308bd61fe233 - -From e429db7e8c266045aee25e153fb2308bd61fe233 Mon Sep 17 00:00:00 2001 -From: Julian Bouzas -Date: Wed, 9 Feb 2022 07:59:59 -0500 -Subject: [PATCH] spa-json: fix va_list APIs for different architectures - -The va_list type might not always be a pointer in some architectures, so we -cannot guarantee it will be modified after using it for a second time in another -function. This fixes the issue by using macros so args does not get copied, and -always gets modified when using it more than once. ---- - lib/wp/spa-json.c | 156 ++++++++++++++++++++++++---------------------- - 1 file changed, 80 insertions(+), 76 deletions(-) - -diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c -index f14f395d..c5e59a3e 100644 ---- a/lib/wp/spa-json.c -+++ b/lib/wp/spa-json.c -@@ -363,33 +363,33 @@ wp_spa_json_new_string (const gchar *value) - wp_spa_json_builder_new_formatted ("\"%s\"", value)); - } - --static void --wp_spa_json_builder_add_value (WpSpaJsonBuilder *self, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- wp_spa_json_builder_add_null (self); -- break; -- case 'b': -- wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); -- break; -- case 'i': -- wp_spa_json_builder_add_int (self, va_arg(args, gint)); -- break; -- case 'f': -- wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); -- break; -- case 's': -- wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); -- break; -- case 'J': -- wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); -- break; -- default: -- return; -- } --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_builder_add_value(self,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ wp_spa_json_builder_add_null (self); \ -+ break; \ -+ case 'b': \ -+ wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); \ -+ break; \ -+ case 'i': \ -+ wp_spa_json_builder_add_int (self, va_arg(args, gint)); \ -+ break; \ -+ case 'f': \ -+ wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); \ -+ break; \ -+ case 's': \ -+ wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); \ -+ break; \ -+ case 'J': \ -+ wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); \ -+ break; \ -+ default: \ -+ break; \ -+ } \ -+} while(false) - - /*! - * \brief Creates a spa json of type array -@@ -724,48 +724,46 @@ wp_spa_json_parse_object_valist (WpSpaJson *self, va_list args) - return res; - } - --static gboolean --wp_spa_json_parse_value (const gchar *data, int len, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- if (!spa_json_is_null (data, len)) -- return FALSE; -- break; -- case 'b': -- if (!wp_spa_json_parse_boolean_internal (data, len, -- va_arg(args, gboolean *))) -- return FALSE; -- break; -- case 'i': -- if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) -- return FALSE; -- break; -- case 'f': -- if (spa_json_parse_float (data, len, -- (float *)va_arg(args, double *)) < 0) -- return FALSE; -- break; -- case 's': { -- gchar *str = wp_spa_json_parse_string_internal (data, len); -- if (!str) -- return FALSE; -- *va_arg(args, gchar **) = str; -- break; -- } -- case 'J': { -- WpSpaJson *j = wp_spa_json_new (data, len); -- if (!j) -- return FALSE; -- *va_arg(args, WpSpaJson **) = j; -- break; -- } -- default: -- return FALSE; -- } -- return TRUE; --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_parse_value(data,len,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ if (!spa_json_is_null (data, len)) \ -+ return FALSE; \ -+ break; \ -+ case 'b': \ -+ if (!wp_spa_json_parse_boolean_internal (data, len, \ -+ va_arg(args, gboolean *))) \ -+ return FALSE; \ -+ break; \ -+ case 'i': \ -+ if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 'f': \ -+ if (spa_json_parse_float (data, len, va_arg(args, float *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 's': { \ -+ gchar *str = wp_spa_json_parse_string_internal (data, len); \ -+ if (!str) \ -+ return FALSE; \ -+ *va_arg(args, gchar **) = str; \ -+ break; \ -+ } \ -+ case 'J': { \ -+ WpSpaJson *j = wp_spa_json_new (data, len); \ -+ if (!j) \ -+ return FALSE; \ -+ *va_arg(args, WpSpaJson **) = j; \ -+ break; \ -+ } \ -+ default: \ -+ return FALSE; \ -+ } \ -+} while(false) - - /*! - * \brief Parses the object property values of a spa json object -@@ -827,8 +825,7 @@ wp_spa_json_object_get_valist (WpSpaJson *self, va_list args) - value = g_value_get_boxed (&item); - - if (g_strcmp0 (key_str, lookup_key) == 0) { -- if (!wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args)) -- return FALSE; -+ wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args); - lookup_key = va_arg(args, const gchar *); - if (!lookup_key) - return TRUE; -@@ -1366,9 +1363,12 @@ gboolean - wp_spa_json_parser_get_value (WpSpaJsonParser *self, const gchar *fmt, - va_list args) - { -- return wp_spa_json_parser_advance (self) && -- wp_spa_json_parse_value (self->curr.cur, -- self->curr.end - self->curr.cur, fmt, args); -+ if (wp_spa_json_parser_advance (self)) { -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ fmt, args); -+ return TRUE; -+ } -+ return FALSE; - } - - /*! -@@ -1419,9 +1419,13 @@ wp_spa_json_parser_get_valist (WpSpaJsonParser *self, va_list args) - if (!format) - return TRUE; - -- /* parse value */ -- if (!wp_spa_json_parser_get_value (self, format, args)) -+ /* advance */ -+ if (!wp_spa_json_parser_advance (self)) - return FALSE; -+ -+ /* parse value */ -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ format, args); - } while (TRUE); - - return FALSE; --- -GitLab - diff --git a/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch b/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch new file mode 100644 index 000000000000..9e664ec56564 --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch @@ -0,0 +1,87 @@ +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/0da29f38181e391160fa8702623050b8544ec775 + +From 0da29f38181e391160fa8702623050b8544ec775 Mon Sep 17 00:00:00 2001 +From: George Kiagiadakis +Date: Mon, 4 Apr 2022 14:38:28 +0300 +Subject: [PATCH] config: document which options need to be turned off to use + wp without D-Bus + +and actually implement an option for the logind module + +Related to: #237 +--- + src/config/bluetooth.lua.d/30-bluez-monitor.lua | 4 +++- + src/config/bluetooth.lua.d/50-bluez-config.lua | 8 ++++++++ + src/config/main.lua.d/50-alsa-config.lua | 4 +++- + src/config/main.lua.d/50-default-access-config.lua | 3 +++ + 4 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/src/config/bluetooth.lua.d/30-bluez-monitor.lua b/src/config/bluetooth.lua.d/30-bluez-monitor.lua +index 266d3e2f..ba86657f 100644 +--- a/src/config/bluetooth.lua.d/30-bluez-monitor.lua ++++ b/src/config/bluetooth.lua.d/30-bluez-monitor.lua +@@ -8,5 +8,7 @@ function bluez_monitor.enable() + rules = bluez_monitor.rules, + }) + +- load_optional_module("logind") ++ if bluez_monitor.properties["with-logind"] then ++ load_optional_module("logind") ++ end + end +diff --git a/src/config/bluetooth.lua.d/50-bluez-config.lua b/src/config/bluetooth.lua.d/50-bluez-config.lua +index 072504ec..dd8033ff 100644 +--- a/src/config/bluetooth.lua.d/50-bluez-config.lua ++++ b/src/config/bluetooth.lua.d/50-bluez-config.lua +@@ -34,6 +34,14 @@ bluez_monitor.properties = { + -- Register dummy AVRCP player, required for AVRCP volume function. + -- Disable if you are running mpris-proxy or equivalent. + --["bluez5.dummy-avrcp-player"] = true, ++ ++ -- Enable the logind module, which arbitrates which user will be allowed ++ -- to have bluetooth audio enabled at any given time (particularly useful ++ -- if you are using GDM as a display manager, as the gdm user also launches ++ -- pipewire and wireplumber). ++ -- This requires access to the D-Bus user session; disable if you are running ++ -- a system-wide instance of wireplumber. ++ ["with-logind"] = true, + } + + bluez_monitor.rules = { +diff --git a/src/config/main.lua.d/50-alsa-config.lua b/src/config/main.lua.d/50-alsa-config.lua +index 6c97e8ad..d29b0b6f 100644 +--- a/src/config/main.lua.d/50-alsa-config.lua ++++ b/src/config/main.lua.d/50-alsa-config.lua +@@ -7,6 +7,8 @@ alsa_monitor.properties = { + --["alsa.jack-device"] = false, + + -- Reserve devices via org.freedesktop.ReserveDevice1 on D-Bus ++ -- Disable if you are running a system-wide instance, which ++ -- doesn't have access to the D-Bus user session + ["alsa.reserve"] = true, + --["alsa.reserve.priority"] = -20, + --["alsa.reserve.application-name"] = "WirePlumber", +@@ -20,7 +22,7 @@ alsa_monitor.properties = { + + alsa_monitor.rules = { + -- An array of matches/actions to evaluate. +- -- ++ -- + -- If you want to disable some devices or nodes, you can apply properties per device as the following example. + -- The name can be found by running pw-cli ls Device, or pw-cli dump Device + --{ +diff --git a/src/config/main.lua.d/50-default-access-config.lua b/src/config/main.lua.d/50-default-access-config.lua +index 6cf18bed..45cc5b73 100644 +--- a/src/config/main.lua.d/50-default-access-config.lua ++++ b/src/config/main.lua.d/50-default-access-config.lua +@@ -1,4 +1,7 @@ + default_access.properties = { ++ -- Enable the use of the flatpak portal integration. ++ -- Disable if you are running a system-wide instance, which ++ -- doesn't have access to the D-Bus user session + ["enable-flatpak-portal"] = true, + } + +-- +GitLab + diff --git a/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch b/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch new file mode 100644 index 000000000000..4dc8e276fbfa --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch @@ -0,0 +1,33 @@ +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/da5d25acbea5ae03336bd2b4ef2b0687b380978e + +From da5d25acbea5ae03336bd2b4ef2b0687b380978e Mon Sep 17 00:00:00 2001 +From: Pauli Virtanen +Date: Mon, 28 Mar 2022 20:16:52 +0300 +Subject: [PATCH] scripts: policy-device-profile: clear tables when devices + removed + +When device ids are invalidated, clear all local tables about them, +because the id may be reused by different object, or the same object +reappearing. +--- + src/scripts/policy-device-profile.lua | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/scripts/policy-device-profile.lua b/src/scripts/policy-device-profile.lua +index d0aa2696..9daeafaa 100644 +--- a/src/scripts/policy-device-profile.lua ++++ b/src/scripts/policy-device-profile.lua +@@ -229,4 +229,10 @@ self.om:connect("object-added", function (_, device) + handleProfiles (device, true) + end) + ++self.om:connect("object-removed", function (_, device) ++ local dev_id = device["bound-id"] ++ self.active_profiles[dev_id] = nil ++ self.best_profiles[dev_id] = nil ++end) ++ + self.om:activate() +-- +GitLab + diff --git a/media-video/wireplumber/wireplumber-0.4.10.ebuild b/media-video/wireplumber/wireplumber-0.4.10.ebuild new file mode 100644 index 000000000000..9bae3695faf2 --- /dev/null +++ b/media-video/wireplumber/wireplumber-0.4.10.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{3,4} ) + +inherit lua-single meson systemd + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Replacement for pipewire-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" + +LICENSE="MIT" +SLOT="0/0.4" +IUSE="elogind system-service systemd test" + +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + ?? ( elogind systemd ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building +BDEPEND=" + dev-libs/glib + dev-util/gdbus-codegen + dev-util/glib-utils + sys-devel/gettext +" + +DEPEND=" + ${LUA_DEPS} + >=dev-libs/glib-2.62 + >=media-video/pipewire-0.3.48:= + virtual/libc + virtual/libintl + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) +" + +# Any dev-lua/* deps get declared like this inside RDEPEND: +# $(lua_gen_cond_dep ' +# dev-lua/[${LUA_USEDEP}] +# ') +RDEPEND="${DEPEND} + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) +" + +DOCS=( {NEWS,README}.rst ) + +src_configure() { + local emesonargs=( + -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) + -Dintrospection=disabled # Only used for Sphinx doc generation + -Dsystem-lua=true # We always unbundle everything we can + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) + $(meson_feature elogind) + $(meson_feature systemd) + $(meson_use system-service systemd-system-service) + $(meson_use systemd systemd-user-service) + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) + $(meson_use test tests) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r ${ED}/usr/share/wireplumber +} + +pkg_postinst() { + if systemd_is_booted ; then + ewarn "pipewire-media-session.service is no longer installed. You must switch" + ewarn "to wireplumber.service user unit before your next logout/reboot:" + ewarn "systemctl --user disable pipewire-media-session.service" + ewarn "systemctl --user --force enable wireplumber.service" + else + ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" + ewarn "is started (a replacement for directly calling pipewire binary)." + ewarn + ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" + ewarn "or, if it does exist, that any reference to" + ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." + fi + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild b/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild deleted file mode 100644 index 03a62724a829..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.43:= - virtual/libc - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${P}-default-nodes-handle-nodes-without-Routes.patch -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r ${ED}/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.4.8-r2.ebuild b/media-video/wireplumber/wireplumber-0.4.8-r2.ebuild deleted file mode 100644 index 5e77689f2572..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.8-r2.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.45:= - virtual/libc - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${P}-restore-stream-do-not-crash-if-config.properties-is-.patch - "${FILESDIR}"/${P}-spa-json-fix-va-list-APIs-for-different-architecture.patch - "${FILESDIR}"/${P}-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r ${ED}/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild b/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild deleted file mode 100644 index 5bd6d87c04e8..000000000000 --- a/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{3,4} ) - -inherit lua-single meson systemd - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -LICENSE="MIT" -SLOT="0/0.4" -IUSE="elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building -BDEPEND=" - dev-libs/glib - dev-util/gdbus-codegen - dev-util/glib-utils -" - -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.45:= - virtual/libc - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" - -# Any dev-lua/* deps get declared like this inside RDEPEND: -# $(lua_gen_cond_dep ' -# dev-lua/[${LUA_USEDEP}] -# ') -RDEPEND="${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - "${FILESDIR}"/${P}-restore-stream-do-not-crash-if-config.properties-is-.patch - "${FILESDIR}"/${P}-spa-json-fix-va-list-APIs-for-different-architecture.patch - "${FILESDIR}"/${P}-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch - "${FILESDIR}"/${P}-si-audio-adapter-relax-format-parsing.patch -) - -src_configure() { - local emesonargs=( - -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) - -Dintrospection=disabled # Only used for Sphinx doc generation - -Dsystem-lua=true # We always unbundle everything we can - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # We copy the default config, so that Gentoo tools can pick up on any - # updates and /etc does not end up with stale overrides. - # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files - # will not actually get stored twice until modified. - insinto /etc - doins -r ${ED}/usr/share/wireplumber -} - -pkg_postinst() { - if systemd_is_booted ; then - ewarn "pipewire-media-session.service is no longer installed. You must switch" - ewarn "to wireplumber.service user unit before your next logout/reboot:" - ewarn "systemctl --user disable pipewire-media-session.service" - ewarn "systemctl --user --force enable wireplumber.service" - else - ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" - ewarn "is started (a replacement for directly calling pipewire binary)." - ewarn - ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" - ewarn "or, if it does exist, that any reference to" - ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." - fi - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.4.9-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.9-r1.ebuild new file mode 100644 index 000000000000..f269c7faf59c --- /dev/null +++ b/media-video/wireplumber/wireplumber-0.4.9-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{3,4} ) + +inherit lua-single meson systemd + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Replacement for pipewire-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" + +LICENSE="MIT" +SLOT="0/0.4" +IUSE="elogind system-service systemd test" + +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + ?? ( elogind systemd ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building +BDEPEND=" + dev-libs/glib + dev-util/gdbus-codegen + dev-util/glib-utils +" + +DEPEND=" + ${LUA_DEPS} + >=dev-libs/glib-2.62 + >=media-video/pipewire-0.3.48:= + virtual/libc + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) +" + +# Any dev-lua/* deps get declared like this inside RDEPEND: +# $(lua_gen_cond_dep ' +# dev-lua/[${LUA_USEDEP}] +# ') +RDEPEND="${DEPEND} + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) +" + +DOCS=( {NEWS,README}.rst ) + +PATCHES=( + "${FILESDIR}"/${P}-scripts-policy-device-profile-clear-tables-when-devi.patch + "${FILESDIR}"/${P}-config-document-which-options-need-to-be-turned-off-.patch +) + +src_configure() { + local emesonargs=( + -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) + -Dintrospection=disabled # Only used for Sphinx doc generation + -Dsystem-lua=true # We always unbundle everything we can + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) + $(meson_feature elogind) + $(meson_feature systemd) + $(meson_use system-service systemd-system-service) + $(meson_use systemd systemd-user-service) + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) + $(meson_use test tests) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r ${ED}/usr/share/wireplumber +} + +pkg_postinst() { + if systemd_is_booted ; then + ewarn "pipewire-media-session.service is no longer installed. You must switch" + ewarn "to wireplumber.service user unit before your next logout/reboot:" + ewarn "systemctl --user disable pipewire-media-session.service" + ewarn "systemctl --user --force enable wireplumber.service" + else + ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" + ewarn "is started (a replacement for directly calling pipewire binary)." + ewarn + ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" + ewarn "or, if it does exist, that any reference to" + ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." + fi + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/wireplumber/wireplumber-0.4.9.ebuild b/media-video/wireplumber/wireplumber-0.4.9.ebuild index 6d3a6544520e..4f4c698eaf54 100644 --- a/media-video/wireplumber/wireplumber-0.4.9.ebuild +++ b/media-video/wireplumber/wireplumber-0.4.9.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 else SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Replacement for pipewire-media-session" diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index f3ed9ecc7ff4..9bae3695faf2 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -36,6 +36,7 @@ BDEPEND=" dev-libs/glib dev-util/gdbus-codegen dev-util/glib-utils + sys-devel/gettext " DEPEND=" diff --git a/media-video/yle-dl/Manifest b/media-video/yle-dl/Manifest index cb4a5b808e51..9684451fdb09 100644 --- a/media-video/yle-dl/Manifest +++ b/media-video/yle-dl/Manifest @@ -1,3 +1,5 @@ DIST yle-dl-20220213.tar.gz 67754 BLAKE2B 41ba361883440f48f60d2bb85959ed9ef18a4d6544dd8d35fa0f29ad90662ad180238af85a34415f99c77ca4d12fb8c0c51817497944bda1cd9d446bb48d10da SHA512 b15d3b5b9e2fb5cffd9e19f203cebfd6d6580d70022571ac900d51717f0d5d019a54eadbeb43e7f513d4a0db9c509f765ea1d8681f8c7a249b9ef7b283272b87 +DIST yle-dl-20220425.tar.gz 67993 BLAKE2B 907a14d3588c6d2ea0ba5c89955062e160f648e5149f798ab3e719a32355441a39b6d2c15e6be51f17f2fb170c7cd8150c3cf2aa63367184e638f547f55a975b SHA512 62931f076236407a193eec56a6e446bfe8472ae6d33e0f6a72dfa5b87e45a744432f154c402ad5e43f966f334c8b4e57e356a7435031c16ce26c9440cf5a9ded EBUILD yle-dl-20220213.ebuild 1692 BLAKE2B b33f444392f8d6482ba6ce16a5559c2e966b9b9a2f6288a9985b3f8e175b932828f568348717208af9802c44792260fdf049f8e5b801cb41f9b739e483834ee9 SHA512 c08a434455c4b4d0a393f17a1635a766ed2606650e51c1b49b40bf533da0cebc30384da1ef6d7826ee6028e140bbd689954adc6b2ed1683ae5d5206b52272213 +EBUILD yle-dl-20220425.ebuild 1430 BLAKE2B 5c0b6903a43875adebcb66aadbbbe917df80ff28e0e000499ae22dac2da1fab4f04d8638055aa08a4bdff632648cf87890f2231c7ab93a0479c1d488b6324413 SHA512 ff3031fe9db49be4733fba8c80375959df29b212aef01dd7fed59eebd00608078e7e71c0b35c9456e89888772ec4a5b91f372d905d1ebed460800cf2745d7a27 MISC metadata.xml 280 BLAKE2B 30756c19f90277ebe700cf4641848ae376453c6031a019f348f04ee8d4c30146947ec383fa4bf12b669df790417eec9285df363210138e39f611d345d127ed27 SHA512 cf301b82fada2d4ca02e1dd9ba7b5234c42b7c63f87b96d81cb06ebc7853934533b75d0fc77eff0dc39f3c0a9e2d468b6bc03ac98fcb3834da67a11b254a0b77 diff --git a/media-video/yle-dl/yle-dl-20220425.ebuild b/media-video/yle-dl/yle-dl-20220425.ebuild new file mode 100644 index 000000000000..6c229c005229 --- /dev/null +++ b/media-video/yle-dl/yle-dl-20220425.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Download media files from Yle Areena" +HOMEPAGE="https://aajanki.github.io/yle-dl/ https://github.com/aajanki/yle-dl" +SRC_URI="https://github.com/aajanki/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Requires an active internet connection during tests, +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND="media-video/ffmpeg + net-misc/wget + >=dev-python/attrs-18.1.0[${PYTHON_USEDEP}] + >=dev-python/configargparse-0.13.0[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/progress[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}]" +BDEPEND="test? ( + ${RDEPEND} + media-video/ffmpeg[gnutls] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest + +DOCS=( COPYING ChangeLog README.fi README.md yledl.conf.sample ) + +src_install() { + docompress -x "/usr/share/doc/${PF}/yledl.conf.sample" + distutils-r1_src_install +} + +pkg_postinst() { + elog "Sample configuration file has been installed to " + elog " /usr/share/doc/yle-dl-${PVR}/yledl.conf.sample" + elog + optfeature "youtube-dl download engine" net-misc/youtube-dl net-misc/yt-dlp +} -- cgit v1.2.3