From 3b08f674e3f771b49370edb144dab0958c8cf721 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 31 Aug 2021 08:59:54 +0100 Subject: gentoo resync : 31.08.2021 --- media-video/pipewire/Manifest | 24 +- .../files/pipewire-0.3.25-fix-docdir-path.patch | 32 --- ...pewire-0.3.28-revert-openaptx-restriction.patch | 20 -- media-video/pipewire/metadata.xml | 7 +- media-video/pipewire/pipewire-0.3.22.ebuild | 128 ---------- media-video/pipewire/pipewire-0.3.25-r1.ebuild | 236 ------------------ media-video/pipewire/pipewire-0.3.26-r1.ebuild | 243 ------------------ media-video/pipewire/pipewire-0.3.27-r2.ebuild | 269 -------------------- media-video/pipewire/pipewire-0.3.28-r1.ebuild | 270 -------------------- media-video/pipewire/pipewire-0.3.29-r1.ebuild | 271 -------------------- media-video/pipewire/pipewire-0.3.31-r1.ebuild | 274 -------------------- media-video/pipewire/pipewire-0.3.33-r1.ebuild | 275 ++++++++++++++++++++ media-video/pipewire/pipewire-0.3.33.ebuild | 273 -------------------- media-video/pipewire/pipewire-0.3.34.ebuild | 276 +++++++++++++++++++++ media-video/pipewire/pipewire-9999.ebuild | 9 +- 15 files changed, 563 insertions(+), 2044 deletions(-) delete mode 100644 media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch delete mode 100644 media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch delete mode 100644 media-video/pipewire/pipewire-0.3.22.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.25-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.26-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.27-r2.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.28-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.29-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.31-r1.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.33-r1.ebuild delete mode 100644 media-video/pipewire/pipewire-0.3.33.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.34.ebuild (limited to 'media-video/pipewire') diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index 0579da13729f..02205eec8547 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,32 +1,18 @@ AUX pipewire-0.3.25-enable-failed-mlock-warning.patch 704 BLAKE2B dc0732b89b57a258ea6dc54941899134259469675f92ae93aebda09a796c73ace8bc4ed0ab2aef4ea1bcaa30c1bea8c3304288168421ce8f9939ec993c8aa438 SHA512 7456a24276b7b766ff5799acf5b80ef5f85ee7a78fc5b52adff3206c0b0aa1985a0bf72634aacf7818c90136c09bcc11cb0fecec291d961c8b3585c897869f65 -AUX pipewire-0.3.25-fix-docdir-path.patch 1231 BLAKE2B 7e361262d4ccc6f21159dfce6b7e93c3e332b90ca75fb90f1a8a3edd8b4a813d78d5c4c61d89452f626c32206de9c6be075dc66e95c5cfc0e147bd08ace4db2e SHA512 8a4e0ebfc6e3776ca4e5b43f4b16828f72983053aa957368a36aa9dec12ebac32275261f67b5e4e63b7ad4580d61a6ee78327e08146ecc67ce84a493d49400bc AUX pipewire-0.3.25-non-systemd-integration.patch 822 BLAKE2B e80245300313151c01ec56a9be74590d6ee9211a78d9c16180ef1bfb1938a8ad9f8e00f2086d220ca6f8ad2d1c55508cfcc3c240467ed66239808f76029fdcae SHA512 0a7570e0dadd9119ba81b91fc0831ad511ed793f2f10f304547152448e0cf079118c595944e22f31cea94a92a0819524aad26c3fc2d17e73b622b43637cdf06a -AUX pipewire-0.3.28-revert-openaptx-restriction.patch 955 BLAKE2B 17b6adc21205fd47a8759103d680976fff64ca4f5bb02a0ebbf5dba2115036710798dce5ca3b0964848c047eaf1790ab68e0c4e884544b9fea66cffea05aad0b SHA512 4b8e3330deac02ff5788fc26b63e19b2f6ecc82f156981321e6abc397c9b6e7111c5bff8107dc455d9246bf25fc9ed3b2d674335dda396d20c6387e1623dbcc7 AUX pipewire-0.3.29-revert-openaptx-restriction.patch 1228 BLAKE2B a282cd6f678ecd5fd27076cd945b86a8139caf644fae5f6420f45e47cfa1f1ef7edacb6e5c6c0ae860bfaa016de902accb916159f90a85bddb0b26b73658e3ff SHA512 cadfe7c54eec23d2619faf274d2c5c95b4f430525c7fc0b84e667e3f90775d27dbb6682d200d3af5d48475a2b37ab0ff2dd6e8be4f2d69bead68f6f1efb7a7ad AUX pipewire-0.3.31-non-systemd-integration.patch 854 BLAKE2B 361b01278d2525768edd33881ebfa78e15006d346612422cc11817df6cc6c5079d166f3185b8d48312294a6a225ecdb607f180339f416131c7acd638b6efe3fb SHA512 495a7568a1c19e0a24edab7d0572032234efd2380fc9c0fe282a891ff316a235cdb97d5df4524233ed6d8ebfc7724ba9870393b8a5c2a192974865aa706760ab AUX pipewire-0.3.31-revert-openaptx-restriction.patch 1368 BLAKE2B 7f995c53ea843282ea802304365833c1464393f7e3e4edeb93cb400c1ed85d2cb7e9f3aa47565139e80ee0fae33e83f5306062e4d26c43d5d544a7f9ca4a4e17 SHA512 0ef4262d5d7c95061dbb68c998539c5a3f70084b6ecbed4b237f699df4f1fdb95539ab35fe0295acf46e729065295cb75750bd99eaa1ff565a26369116b52855 AUX pipewire-0.3.33-revert-libfreeaptx-switch.patch 1709 BLAKE2B e66bd84b0e297899dfa5167179394b2e5b0d7e98da35171cd9f37c0c100fb593d21955e44643ac7df00d4aa087d7e4e7d26017fc8d2b60477adb7c619978c874 SHA512 d91a7985d32e33d24e05145c567483b50d2a0049f0641a06abc295be776c1eb1a8c2935aa96118d1d71dce2e0538837bf4a18e3c235a2bdab6f9188f012da41b AUX pipewire-launcher.sh 149 BLAKE2B 42a9fd174e8216f9941ec72bc50581d539453dd0430ac61712582039f1cfe17cafa050bd87fcb90b9c16ffd891fd9f9c5dfec99b2be8c66eaed0128af180508e SHA512 7f50287565fa44e2296a7b294e8fd3dd64938d2de15c6ff5674d85a6e7bbccbc334c0fb9e28321104aff5335894b3c5a21171f385465e37b422ef53988dbfe4b AUX pipewire.desktop 322 BLAKE2B 0299b9054cf881a5cbbdb128a5e8a51308cf0b5a98260dca756e704504ef057e403b2fb4aa2d58f52dde4be59e416c95d8fce21bc3ca6b6447ecab58263a3f21 SHA512 c13ea531cfdd3798f8d6cd20f5fa8c0a5040c27a6ef3850fdd41102a3bf0bcb73176e3300845af77804a98842fb736841223bc9ac1c92eb2034e9d46e41fc344 -DIST pipewire-0.3.22.tar.gz 1263844 BLAKE2B 3fb90c0b1c17ed108e8c390873f5c4527e1ff9241d1c5964ad5b7c01fbfefda901ef1228f178cf3c9899e6e8e75969a470f8fba63473ff203cba612c6c0553ca SHA512 a6587e0afd5c90be1733ecf62c6fc68e735ab3b84f2cbbf844bbe1be93e7a23dee07b041ed6b273cab6ab207d2388ae6f2027d0380928555a0155a7cc9ca4a7e -DIST pipewire-0.3.25.tar.gz 1351257 BLAKE2B 3c4d6d98e3255df8baf50eb548bcf77b5c027a50f6acedd83cd63481ed5b642c174589f34314f150b07116cea8a3458c3f8b770df4081585d7f75cc8dde4decd SHA512 0f84be21bfcd70f25900c53a8ce399c29ce2d4d10f8b56e5103603cf0c80673aab0b16492e55b42985283adf46343cdca01626225db85a2263f06c309f68f2d7 -DIST pipewire-0.3.26.tar.gz 1447673 BLAKE2B 67feb1288fcdc9ac5578b97ab2567b46a7431921291584bc9db2c2e60db074c3a61c3af9859d3b2f9044cfba6c15e9bfde9edc001b753f8fc47965eb55d751c8 SHA512 d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178 -DIST pipewire-0.3.27.tar.gz 1459913 BLAKE2B b6db73de85c41932b630e62b3dcc589529ae5457cae6731a8ec5db50f20b541e7e9596976a368c4bb654b1443071c53f8fe4a9ddfc1ee8a0ecc04d69b683456a SHA512 a2df1df8e43846b91fbeedeb1cda9c73b970ac9de58d8b4e97ada54ee74a8f26a168504289c7392c94cc7ea54aa01ada4791c66a5d3159a2bc980df633f6bcfe -DIST pipewire-0.3.28.tar.gz 1474219 BLAKE2B d20b39c8ed49cd44f2109aab6453aac547ff66dc2ef4a52fb71fea27eb07920efc58498e5ddd82e9f6d86981185e37313748d9157c9a09a3ae1e8ae48d5d45d6 SHA512 f2ed23609c6a45fb80f54caabaa304ba4f318c905a28350c89c65f179a95cc2022f1acbb0c2ec558baf4dc6bcc5623b8daa6678d52cdb9179a88c67b6c1fe0ff -DIST pipewire-0.3.29.tar.gz 1504935 BLAKE2B fe3984ec4b02fe91683d382e3891e174748b52c5e2f609dc838837f1ac0fea736e06395a022b8ec152fe015cca24c54d4c1896acde3a2ac66eb700dc2336fe4f SHA512 bc163ad3e2d7696295fd3720e8f9cc4d478a55c0694c0faa03a40333e3b65fcbff27e4e296eb9dd0191ca2782e04934915c46e04a2444b458491cd2905823ddd DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3 -DIST pipewire-0.3.31.tar.gz 1594284 BLAKE2B 0ff358c53ea4357a72ac58ee45ccac792161d3ddd7a9dbcd6933be88e0ddc5d9c49468a3b1eb0cdf9ea81ec4272ad53078f6cae1fd20358bbeed108139e217ce SHA512 ff21e281bb3e5f6da1001e0c64b33368e96d31f0ec2d395cdfcfac105b0442d8fedd2225e6e5d1c93fdbd5e0108accecebbb7c294c55803a4ea853f1efa0c069 DIST pipewire-0.3.32.tar.gz 1604622 BLAKE2B cab83a17a2b27f710e1377a2ad2ad7003053ef3e8b55423362f0b428e22d52c2ce564da00aab71cc93262d4cb21f239fffea195d05937fdf3489dc540b77d58d SHA512 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7 DIST pipewire-0.3.33.tar.gz 1629559 BLAKE2B de48956ac87ed6d63a08dd354b1e4abf81b9db99825ca65cbb5b522e71eb6920b35173e1c3abd9a710c28709e2b0a459db67654cfeac42149cdfa91c84833a8b SHA512 bc3d5658d6fda11dd55f22ba5293b4ff6c3e9a8d083b0cf7b3356bc18f4f65967557602a0d6603a2a2a548ecb42c6b7fbb9d315ed0fce435f4bb884ab4dd263b -EBUILD pipewire-0.3.22.ebuild 3177 BLAKE2B 712e773c42b0a89d482a1c38f1d5b2ad73bd9790173093813f257378e5bcda3aaaeedb2d215812637d14dccc4c57cb25ba3d4574d579821f7c09f8a110cac8ac SHA512 89583f0495c8a12598c829de80d2b515a1a37aecf51b4cb54c4988f0fc3aff2f5d9b7f4d23621678d5f1b2e67f145d941eacc0d9eca0281d9cf202ff109a7195 -EBUILD pipewire-0.3.25-r1.ebuild 8591 BLAKE2B 4ed730cd42404fc94e7665c6ee07e9548e1d5e363f74af0a52ff488e005d6f582081f6ceef383f84e8c378c833f2406646c7b3b84e50074a9519ffeb49912b8a SHA512 5541d51a4888f753f0c463fb54009b5aabe45047df2b7b53c6016abc2481be589067bb0ecf4ee79c64a1ae2d4b06254e6b61f210a9737ee57a159da332bc3820 -EBUILD pipewire-0.3.26-r1.ebuild 8742 BLAKE2B 112df615c5e4549c2d3d44e19f45d48eb1787d4570c6e4ec5041775b3e67c2c010586ffdcccd29a8a8fd521a1b73303ab3086aaa3c5d7b6a11b4db67063fba71 SHA512 20d607009548c323e704cd33b07e0437b9ad9d1ec8a7eff895b558d1825b596550c78a956dbf7ddb9bd7e8aa312271f04c7969577180151d00e27b5128f62317 -EBUILD pipewire-0.3.27-r2.ebuild 9303 BLAKE2B 692ca1e00160f1c07f9962e1b9c22ba6185e4d97298084ef295b5688b79fa1d9b573f675c7d2a25e28001cd0ca6becba2da4e71243354dfdd41b3f97d364bc18 SHA512 128349b662a3f25159f072d998f14291db8185e3d39dfd1c5f081eb54b55bb96204cb34ad478e6f4568df3ea86b0ad68f1fd4673ab776dd49a85351bfa4cb7f4 -EBUILD pipewire-0.3.28-r1.ebuild 9375 BLAKE2B 8c48d0a74514ffb887696a078c20f8c52f583b7ad376b8493b796a5a173bf179c2927f7c04ada6a37a1e8708e3137680b958779652b475b43ae26e56d8adf98f SHA512 7961c80768d42f41a18c814cac91b36504a68f21940b30795e3eaf26b49039f43a64a30855b1789cd35f04fe89ed337fa0828f68dad68e1a9b5d67ec7c3bc1fd -EBUILD pipewire-0.3.29-r1.ebuild 9394 BLAKE2B f14cffd0a50e2405795c56ad277c53e52e1b2b0121f4c0c207246b69f0a3029c67632b664438f15c34cc2f71681d9f8083e2a420d2c2018198d3b61eb127cc43 SHA512 b32f48d64b899a99a6fef1c7fd8045ffda792588950607c568ad14df18ae52731f001bc96c88c6da66e7c8d3ec3615a15f3da4136fc166e2958633514fdbe9aa +DIST pipewire-0.3.34.tar.gz 1682396 BLAKE2B 1a3524a833bde6facf637071f905bb0237f3fc53a86d6160083f36c7a42fb7c71c873a0dc9eea04cfb08cbec08807557c2b83efc1ac403adf6a9998d83441338 SHA512 cbf8eb410d2cd1923e67ac9ee9eca0e74567bb7e8ea407a536e64b3ec27b5bbb1e7fdd74a5a7cbffbac3f9996d8a08f8c723401fb44cb2920f044a3a2f3a6c18 EBUILD pipewire-0.3.30-r2.ebuild 9676 BLAKE2B 0a830a07130fbbd97fb0e34ed02acb848e9dd1c6edb7f5e90f3b0f67a6fa9cf270ba914cb1b3db2439519f22b71ff63d78293589a68437610bf70855ada8ba25 SHA512 c5bab51ec5659176738b79ff2299794f84010cedfb6280198ee4c709f76d9cf8dc1b91bec70a132cfcbe074967b254098418b27e2dd9228445cf33b9e507140a -EBUILD pipewire-0.3.31-r1.ebuild 9681 BLAKE2B 539e8528f06605c1874194f9e01d92e6a1e35550c9f177964010a5b39a80ffb027adba89b2aa6ca8a2f59c419e0ed383c96102e62368fa1a9402dfa55a70dabf SHA512 595f83d2f06fc36d5fe83cbc054da9c20f555a28eb443ae40d0b49ba07ad73b0608abfa638285b015117c09d0024760b6493a6c7b2dc435e17412d8326dfbdd8 EBUILD pipewire-0.3.32.ebuild 9601 BLAKE2B 6e23d8b5fbc3f3a2a0369153cc59723f48755cbabfed1a7972de1b49b8a2b9493263d6a05e50868516232141f5e762be49faeb1487c2f0e887fa1f6ade9bf86b SHA512 700e6a4ac979a7fe90dcf8f14afc8a5fa5257ff0ae29797a5570f0df172c583b5d57883e94304bdcf7d1b1f0336a579e88d4dd5b45c04694641b585c754ae477 -EBUILD pipewire-0.3.33.ebuild 9661 BLAKE2B 0932ab7f735303fced337c19380cca28994352d0e3b4e0cad463682718893a2cf99572de12860e22a7fb7ffc37a2a48e3bacbd5ab13ee75f7c72c1353ae8bffb SHA512 8e978f61127ebff2b07c99e487ed3b3eda164a3500309c7e02ae15058cf3c10286504de13292eb05e59874b6410b7433b825c71c9a95125225f3ba588135f0e3 -EBUILD pipewire-9999.ebuild 9654 BLAKE2B b77973f14d900e1fc3de6c0685fd425bddc1abc31008400a65e519e2ac2b5a3701876b61a9c17fd3ccb07505378b9e02c02fa4cc3ff33585db7a55e213f798aa SHA512 e38a75cb814be7c120f9b90c7a97f1fbb1f4fe2406eb084cad1c435487c3e07d531bd2c1287b70a1a641975d8844c90fd8ce27c3847570d2949c1d467d8d39dc -MISC metadata.xml 1600 BLAKE2B 1138c789841fae8ea509ba2becdfef8376b87525b5b1822854ca083ab49e63124cbde6d8064849e0114a0e39269f63cf76d63f49396d709f6b3da865cf539487 SHA512 5ca5105edecf2515049b61e71327236c3e0fd949a25e91a9ed9dc0a9ad5d9d66f0b99329276c824e8840352b699bb9995b9ae073b43f30f87f4a8cc4bc4237a5 +EBUILD pipewire-0.3.33-r1.ebuild 9795 BLAKE2B 75e74e7779337370bba90c28cdf5cb960f7c5f490e3d6bb162d45cc6b7b579a35b509e2c744c9021b20957b5530b931461c6c0055a4f34da4ca0cbb070f6ae3f SHA512 4a9ac42b62301a377fbb165419e8ed7ed6cbd2899fc8e563f3ba37a240d89771598c8dd5957b2e13c692f6a0f4de29316e13b181dd8c7ad899eb12f882fe8d37 +EBUILD pipewire-0.3.34.ebuild 9814 BLAKE2B a69bbf960cbcd205fe494e45ae430453d1e53e0fd0d0fff717dd968fda0dd9a54c9d10ce54cc6af8b578caddd0dcb669476f9642a429d726276afcbbf677f7ed SHA512 bb24818c519fc9a5303f869fc8f6004e5a1073063473b2b606d241e4cf34b35812805cf319a08aa92f5ee00973c05f006a7bcfbcdb73cea3863e54662dc33c4f +EBUILD pipewire-9999.ebuild 9814 BLAKE2B a69bbf960cbcd205fe494e45ae430453d1e53e0fd0d0fff717dd968fda0dd9a54c9d10ce54cc6af8b578caddd0dcb669476f9642a429d726276afcbbf677f7ed SHA512 bb24818c519fc9a5303f869fc8f6004e5a1073063473b2b606d241e4cf34b35812805cf319a08aa92f5ee00973c05f006a7bcfbcdb73cea3863e54662dc33c4f +MISC metadata.xml 1181 BLAKE2B c6248f3b02728840b4264790122878d3badcb8cf674270af4fe0543a5eec659e3b1332f166ab7ec8d71d689db9f8f1cef154357b39dbc94db45f67d4c9a9decf SHA512 0a8d529ab19d3f6349b609daffe5c55d9e0dcb2f07c2c416bc209994c7623c964f72eeab148602ec5d7d35f700c2813f6c773902b761b65db9d783f6e284893b diff --git a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch b/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch deleted file mode 100644 index 9c7a55c95e26..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/doc/meson.build b/doc/meson.build -index 05c7ed35..ce9b52ea 100644 ---- a/doc/meson.build -+++ b/doc/meson.build -@@ -24,11 +24,14 @@ doxyfile = configure_file(input: 'Doxyfile.in', - output: 'Doxyfile', - configuration: doxyfile_conf) - --docdir = join_paths(pipewire_datadir, 'doc') -+docdir = get_option('docdir') -+if docdir == '' -+ docdir = join_paths(pipewire_datadir, 'doc', meson.project_name()) -+endif - - html_target = custom_target('pipewire-docs', - input: [ doxyfile ], - output: [ 'html' ], - command: [ doxygen, doxyfile ], - install: true, -- install_dir: join_paths(docdir, 'pipewire')) -+ install_dir: docdir) -diff --git a/meson_options.txt b/meson_options.txt -index 858283f2..d51e693f 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,3 +1,6 @@ -+option('docdir', -+ type : 'string', -+ description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )') - option('docs', - description: 'Build documentation', - type: 'feature', diff --git a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch deleted file mode 100644 index f624191b4420..000000000000 --- a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch +++ /dev/null @@ -1,20 +0,0 @@ -Revert "openaptx: Blacklist >= 0.2.1 due to license change" - -This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe. - -Doesn't apply to us. - -Bug: https://bugs.gentoo.org/785634 - ---- a/spa/meson.build -+++ b/spa/meson.build -@@ -22,7 +22,7 @@ if not get_option('spa-plugins').disabled() - sbc_dep = dependency('sbc', required: get_option('bluez5')) - ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac')) - ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac')) -- aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx')) -+ aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx')) - fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac')) - avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg')) - jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack')) - diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml index d199e8a9255e..153ba4a9087a 100644 --- a/media-video/pipewire/metadata.xml +++ b/media-video/pipewire/metadata.xml @@ -19,15 +19,10 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home - AAC over Bluetooth (iPhone compatible headphones) - aptX (HD) over Bluetooth (many Android compatible headphones) + Enable WebRTC-based echo canceller via media-libs/webrtc-audio-processing Build pw-cat/pw-play/pw-record - Builds an unsupported SPA (file a Gentoo bug if you need this) - Enable SPA JACK plugin and emulation to be able to run JACK applications on top of PipeWire Install a plugin for running PipeWire as a JACK client Use PipeWire as JACK replacement - LDAC over Bluetooth (primarily Sony headphones) Replace PulseAudio's ALSA plugin with PipeWire's plugin - Uses Vulkan compute shaders to provide a CGI video source diff --git a/media-video/pipewire/pipewire-0.3.22.ebuild b/media-video/pipewire/pipewire-0.3.22.ebuild deleted file mode 100644 index 882c564f08a0..000000000000 --- a/media-video/pipewire/pipewire-0.3.22.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://github.com/PipeWire/pipewire.git" - EGIT_BRANCH="work" - inherit git-r3 -else - SRC_URI="https://github.com/PipeWire/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="LGPL-2.1+" -SLOT="0/0.3" -IUSE="bluetooth debug doc ffmpeg gstreamer jack sdl sndfile systemd test vulkan X" - -BDEPEND=" - app-doc/xmltoman - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - >=media-libs/alsa-lib-1.1.7 - sys-apps/dbus - virtual/libudev - bluetooth? ( - media-libs/sbc - net-wireless/bluez:= - ) - ffmpeg? ( media-video/ffmpeg:= ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - jack? ( >=media-sound/jack2-1.9.10:2 ) - sdl? ( media-libs/libsdl2 ) - sndfile? ( >=media-libs/libsndfile-1.0.20 ) - systemd? ( sys-apps/systemd ) - vulkan? ( media-libs/vulkan-loader ) - X? ( x11-libs/libX11 ) -" -DEPEND="${RDEPEND} - vulkan? ( dev-util/vulkan-headers ) -" - -DOCS=( {README,INSTALL}.md NEWS ) - -RESTRICT="!test? ( test )" - -src_prepare() { - spa_use() { - if ! in_iuse ${1} || ! use ${1}; then - sed -e "/^add-spa-lib.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \ - -e "/^load-module.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \ - -i src/daemon/pipewire.conf.in || die - fi - } - - default - spa_use libcamera - spa_use rtkit - spa_use bluetooth bluez5 - spa_use jack - spa_use vulkan -} - -src_configure() { - local emesonargs=( - -Dexamples=true # contains required pipewire-media-session - -Dman=true - -Dspa-plugins=true - --buildtype=$(usex debug debugoptimized plain) - # alsa plugin and jack emulation - -Dpipewire-alsa=true - $(meson_use jack pipewire-jack) - # spa-plugins - # we install alsa support unconditionally - $(meson_use bluetooth bluez5) - $(meson_use ffmpeg) - $(meson_use jack) - $(meson_use vulkan) - # libcamera is not packaged - # misc - $(meson_use doc docs) - $(meson_use gstreamer) - $(meson_use gstreamer gstreamer-device-provider) - $(meson_feature sdl sdl2) - $(meson_feature sndfile) - $(meson_use systemd) - $(meson_use test test) - $(meson_use test tests) - ) - meson_src_configure -} - -src_install() { - meson_src_install - - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - -# # TODO: this breaks alsa users -# if use alsa; then -# dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf -# fi -} - -pkg_postinst() { - elog "Package has optional sys-auth/rtkit RUNTIME support that may be disabled" - elog "by setting DISABLE_RTKIT env var." - elog "To enable rtkit, uncomment the load-module line in /etc/pipewire/pipewire.conf" - elog - if use jack; then - elog "Please note that even though the libraries for JACK emulation have" - elog "been installed, this ebuild is not yet wired up to replace a JACK server." - elog - fi - elog "Read INSTALL.md for information about ALSA plugin or JACK/PulseAudio emulation." -} diff --git a/media-video/pipewire/pipewire-0.3.25-r1.ebuild b/media-video/pipewire/pipewire-0.3.25-r1.ebuild deleted file mode 100644 index 83afc679686b..000000000000 --- a/media-video/pipewire/pipewire-0.3.25-r1.ebuild +++ /dev/null @@ -1,236 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson optfeature udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" -# EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="LGPL-2.1+" -SLOT="0/0.3" -IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l" - -# 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=" - aac? ( bluetooth ) - aptx? ( bluetooth ) - ldac? ( bluetooth ) -" - -BDEPEND=" - app-doc/xmltoman - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - media-libs/alsa-lib - sys-apps/dbus - sys-libs/ncurses:=[unicode(+)] - virtual/libudev - bluetooth? ( - aac? ( media-libs/fdk-aac ) - aptx? ( media-libs/libopenaptx ) - ldac? ( media-libs/libldac ) - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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] ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7 - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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 ) - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-fix-docdir-path.patch - "${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 - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch - fi -} - -src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_feature doc docs) - -Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good) - -Dmedia-session=enabled - -Dman=enabled - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature gstreamer) - $(meson_feature gstreamer gstreamer-device-provider) - $(meson_feature systemd) # Also covers logind integration - -Dsystemd-system-service=disabled # Matches upstream - $(meson_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - #-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_feature bluetooth bluez5) - $(meson_feature bluetooth bluez5-backend-hsp-native) - $(meson_feature bluetooth bluez5-backend-hfp-native) - $(meson_feature bluetooth bluez5-backend-ofono) - $(meson_feature bluetooth bluez5-backend-hsphfpd) - $(meson_feature aac bluez5-codec-aac) - $(meson_feature aptx bluez5-codec-aptx) - $(meson_feature ldac bluez5-codec-ldac) - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_feature jack-client jack) # Allows PW to act as a JACK client - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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_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_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - ) - meson_src_configure -} - -src_compile() { - meson_src_compile - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - 1000:60000 - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -src_install() { - meson_src_install - - 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 symbol 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 -} - -pkg_postinst() { - if ! use pipewire-alsa; then - elog "Contrary to what some online resources may suggest, avoid setting" - elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients." - elog - fi - - 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 - - if use systemd; then - elog "Per Gentoo policy installed systemd units must be manually enabled:" - elog "systemctl --user disable pulseaudio.service pulseaudio.socket" - elog "systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog "Rebooting is strongly recommended to avoid surprises from" - elog "remnant PulseAudio daemon auto-spawning and surviving logouts." - elog - ewarn "Both new users and those upgrading need to enable pipewire-media-session:" - ewarn "systemctl --user enable pipewire-media-session.service" - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing of the original daemon by setting:" - elog "autospawn = no" - 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}/etc/pipewire/pipewire.conf" - elog "by commenting out the relevant command near the end of the file:" - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - elog "It is still necessary to manually enable PipeWire startup. Setup specific" - elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire" - fi - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.26-r1.ebuild b/media-video/pipewire/pipewire-0.3.26-r1.ebuild deleted file mode 100644 index 56accd5f5077..000000000000 --- a/media-video/pipewire/pipewire-0.3.26-r1.ebuild +++ /dev/null @@ -1,243 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson optfeature udev - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" -# EGIT_BRANCH="master" - inherit git-r3 -else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="LGPL-2.1+" -SLOT="0/0.3" -IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l" - -# 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=" - aac? ( bluetooth ) - aptx? ( bluetooth ) - ldac? ( bluetooth ) -" - -BDEPEND=" - app-doc/xmltoman - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - media-libs/alsa-lib - sys-apps/dbus - sys-libs/ncurses:=[unicode(+)] - virtual/libudev - bluetooth? ( - aac? ( media-libs/fdk-aac ) - aptx? ( media-libs/libopenaptx ) - ldac? ( media-libs/libldac ) - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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] ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7 - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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 ) - -RESTRICT="!test? ( test )" - -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 - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch - fi -} - -src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_feature doc docs) - -Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good) - -Dmedia-session=enabled - -Dman=enabled - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature gstreamer) - $(meson_feature gstreamer gstreamer-device-provider) - $(meson_feature systemd) # Also covers logind integration - -Dsystemd-system-service=disabled # Matches upstream - $(meson_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph - #-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this) - -Daudiomixer=enabled # Matches upstream - -Daudioconvert=enabled # Matches upstream - $(meson_feature bluetooth bluez5) - $(meson_feature bluetooth bluez5-backend-hsp-native) - $(meson_feature bluetooth bluez5-backend-hfp-native) - $(meson_feature bluetooth bluez5-backend-ofono) - $(meson_feature bluetooth bluez5-backend-hsphfpd) - $(meson_feature aac bluez5-codec-aac) - $(meson_feature aptx bluez5-codec-aptx) - $(meson_feature ldac bluez5-codec-ldac) - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_feature jack-client jack) # Allows PW to act as a JACK client - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink - -Devl=disabled # Matches upstream - -Dtest=disabled # fakesink and fakesource plugins - $(meson_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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_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_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - ) - meson_src_configure -} - -src_compile() { - meson_src_compile - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - 1000:60000 - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -src_install() { - meson_src_install - - 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher - fi -} - -pkg_postinst() { - if ! use pipewire-alsa; then - elog "Contrary to what some online resources may suggest, avoid setting" - elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients." - elog - fi - - 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 - - if use systemd; then - elog "Per Gentoo policy installed systemd units must be manually enabled:" - elog "systemctl --user disable pulseaudio.service pulseaudio.socket" - elog "systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog "Rebooting is strongly recommended to avoid surprises from" - elog "remnant PulseAudio daemon auto-spawning and surviving logouts." - elog - ewarn "Both new users and those upgrading need to enable pipewire-media-session:" - ewarn "systemctl --user enable pipewire-media-session.service" - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing of the original daemon by setting:" - elog "autospawn = no" - 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}/etc/pipewire/pipewire.conf" - elog "by commenting out the relevant command near the end of the file:" - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - elog "It is still necessary to manually enable PipeWire startup. Setup specific" - elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire" - fi - - optfeature_header "The following can be installed for optional runtime features:" - optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.27-r2.ebuild b/media-video/pipewire/pipewire-0.3.27-r2.ebuild deleted file mode 100644 index 990c290d7d21..000000000000 --- a/media-video/pipewire/pipewire-0.3.27-r2.ebuild +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit meson-multilib optfeature 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 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="LGPL-2.1+" -SLOT="0/0.3" -IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l" - -# 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=" - aac? ( bluetooth ) - aptx? ( bluetooth ) - jack-sdk? ( !jack-client ) - ldac? ( bluetooth ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-doc/xmltoman - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - aac? ( media-libs/fdk-aac ) - aptx? ( media-libs/libopenaptx ) - ldac? ( media-libs/libldac ) - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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 - ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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 - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch - fi - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - $(meson_native_enabled media-session) - $(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 - $(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 (-Dmedia-session depends on this) - -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 aac bluez5-codec-aac) - $(meson_native_use_feature aptx bluez5-codec-aptx) - $(meson_native_use_feature ldac bluez5-codec-ldac) - -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_feature 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 v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our customs 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "When switching from PulseAudio, do not forget to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" - elog - elog " systemctl --user enable pipewire-media-session.service" - elog - elog "NOTE: This is not required when using PipeWire only for screencasting." - elog - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - fi - - 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 vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.28-r1.ebuild b/media-video/pipewire/pipewire-0.3.28-r1.ebuild deleted file mode 100644 index e45f023b6a0e..000000000000 --- a/media-video/pipewire/pipewire-0.3.28-r1.ebuild +++ /dev/null @@ -1,270 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit meson-multilib optfeature 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 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -SLOT="0/0.3" -IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l" - -# 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=" - aac? ( bluetooth ) - aptx? ( bluetooth ) - jack-sdk? ( !jack-client ) - ldac? ( bluetooth ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-doc/xmltoman - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - aac? ( media-libs/fdk-aac ) - aptx? ( media-libs/libopenaptx ) - ldac? ( media-libs/libldac ) - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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 - ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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.28-revert-openaptx-restriction.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch - fi - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - $(meson_native_enabled media-session) - $(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 - $(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 (-Dmedia-session depends on this) - -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 aac bluez5-codec-aac) - $(meson_native_use_feature aptx bluez5-codec-aptx) - $(meson_native_use_feature ldac bluez5-codec-ldac) - -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_feature 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 v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our customs 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "When switching from PulseAudio, do not forget to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" - elog - elog " systemctl --user enable pipewire-media-session.service" - elog - elog "NOTE: This is not required when using PipeWire only for screencasting." - elog - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - fi - - 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 vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.29-r1.ebuild b/media-video/pipewire/pipewire-0.3.29-r1.ebuild deleted file mode 100644 index 94c7194ef130..000000000000 --- a/media-video/pipewire/pipewire-0.3.29-r1.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit meson-multilib optfeature 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 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -SLOT="0/0.3" -IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l" - -# 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=" - aac? ( bluetooth ) - aptx? ( bluetooth ) - jack-sdk? ( !jack-client ) - ldac? ( bluetooth ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-doc/xmltoman - virtual/pkgconfig - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - aac? ( media-libs/fdk-aac ) - aptx? ( media-libs/libopenaptx ) - ldac? ( media-libs/libldac ) - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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 - ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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.29-revert-openaptx-restriction.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch - fi - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - $(meson_native_enabled media-session) - $(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 - $(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 (-Dmedia-session depends on this) - -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 aac bluez5-codec-aac) - $(meson_native_use_feature aptx bluez5-codec-aptx) - $(meson_native_use_feature ldac bluez5-codec-ldac) - -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_feature 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 v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our customs 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "When switching from PulseAudio, do not forget to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" - elog - elog " systemctl --user enable pipewire-media-session.service" - elog - elog "NOTE: This is not required when using PipeWire only for screencasting." - elog - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - fi - - 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 vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.31-r1.ebuild b/media-video/pipewire/pipewire-0.3.31-r1.ebuild deleted file mode 100644 index a4448bb20cdc..000000000000 --- a/media-video/pipewire/pipewire-0.3.31-r1.ebuild +++ /dev/null @@ -1,274 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python3_{7..10} ) - -inherit meson-multilib optfeature python-any-r1 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 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -SLOT="0/0.3" -IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" - -# 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=" - app-doc/xmltoman - virtual/pkgconfig - ${PYTHON_DEPS} - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libopenaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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 - ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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.31-revert-openaptx-restriction.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch - fi - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - $(meson_native_enabled media-session) - $(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 - $(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 (-Dmedia-session depends on this) - -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) - -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_feature 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 v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our customs 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "When switching from PulseAudio, do not forget to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" - elog - elog " systemctl --user enable pipewire-media-session.service" - elog - elog "NOTE: This is not required when using PipeWire only for screencasting." - elog - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, package is no longer installing config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override sections you want to change." - fi - - 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 vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.33-r1.ebuild b/media-video/pipewire/pipewire-0.3.33-r1.ebuild new file mode 100644 index 000000000000..a857388669ed --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.33-r1.ebuild @@ -0,0 +1,275 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7..10} ) + +inherit meson-multilib optfeature python-any-r1 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 ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +SLOT="0/0.3" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" + +# 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=" + app-doc/xmltoman + virtual/pkgconfig + ${PYTHON_DEPS} + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + virtual/libudev[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libopenaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + ) + echo-cancel? ( media-libs/webrtc-audio-processing ) + 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 + ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + || ( + media-plugins/alsa-plugins[-pulseaudio] + !media-plugins/alsa-plugins + ) + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + systemd? ( sys-apps/systemd ) + v4l? ( media-libs/libv4l ) +" + +DEPEND="${RDEPEND}" + +# 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.33-revert-libfreeaptx-switch.patch + "${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +src_prepare() { + default + + if ! use systemd; then + # This can be applied non-conditionally but would make for a + # significantly worse user experience on systemd then. + eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch + fi + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session + $(meson_native_enabled media-session) + $(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 + $(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 (-Dmedia-session depends on this) + -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 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_feature 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 v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + -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) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our customs 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 symbol 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 pipewire.desktop + + exeinto /usr/libexec + newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "When switching from PulseAudio, do not forget to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" + elog + elog " systemctl --user enable pipewire-media-session.service" + elog + else + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " + elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" + elog "command near the end of the file:" + elog + elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" + elog + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, package is no longer installing config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override sections you want to change." + fi + + 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 vai D-Bus" sys-auth/rtkit + # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! + if use bluetooth; then + optfeature "better BT headset support (daemon startup required)" net-misc/ofono + #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd + fi +} diff --git a/media-video/pipewire/pipewire-0.3.33.ebuild b/media-video/pipewire/pipewire-0.3.33.ebuild deleted file mode 100644 index 6668891d3bb9..000000000000 --- a/media-video/pipewire/pipewire-0.3.33.ebuild +++ /dev/null @@ -1,273 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python3_{7..10} ) - -inherit meson-multilib optfeature python-any-r1 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 ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -SLOT="0/0.3" -IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" - -# 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=" - app-doc/xmltoman - virtual/pkgconfig - ${PYTHON_DEPS} - doc? ( - app-doc/doxygen - media-gfx/graphviz - ) -" -RDEPEND=" - acct-group/audio - media-libs/alsa-lib - sys-apps/dbus[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - media-libs/fdk-aac - media-libs/libldac - media-libs/libopenaptx - media-libs/sbc - >=net-wireless/bluez-4.101:= - ) - 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 - ) - pipewire-alsa? ( - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] - || ( - media-plugins/alsa-plugins[-pulseaudio] - !media-plugins/alsa-plugins - ) - ) - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) - systemd? ( sys-apps/systemd ) - v4l? ( media-libs/libv4l ) -" - -DEPEND="${RDEPEND}" - -# 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.33-revert-libfreeaptx-switch.patch - "${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch -) - -# limitsdfile related code taken from =sys-auth/realtime-base-0.1 -# with changes as necessary. -limitsdfile=40-${PN}.conf - -src_prepare() { - default - - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch - fi - - einfo "Generating ${limitsdfile}" - cat > ${limitsdfile} <<- EOF || die - # Start of ${limitsdfile} from ${P} - - @audio - memlock 256 - - # End of ${limitsdfile} from ${P} - EOF -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - $(meson_native_enabled media-session) - $(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 - $(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 (-Dmedia-session depends on this) - -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) - -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_feature 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 v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - -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) - ) - - meson_src_configure -} - -multilib_src_install() { - # Our customs 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 symbol 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 pipewire.desktop - - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "When switching from PulseAudio, do not forget to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" - elog - elog " systemctl --user enable pipewire-media-session.service" - elog - else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " - elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog - elog "NOTE:" - elog "Starting with PipeWire-0.3.30, package is no longer installing config" - elog "into ${EROOT}/etc/pipewire by default. In case you need to change" - elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire" - elog "and just override sections you want to change." - fi - - 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 vai D-Bus" sys-auth/rtkit - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! - if use bluetooth; then - optfeature "better BT headset support (daemon startup required)" net-misc/ofono - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd - fi -} diff --git a/media-video/pipewire/pipewire-0.3.34.ebuild b/media-video/pipewire/pipewire-0.3.34.ebuild new file mode 100644 index 000000000000..1c3229408a40 --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.34.ebuild @@ -0,0 +1,276 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7..10} ) + +inherit meson-multilib optfeature python-any-r1 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 ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +SLOT="0/0.3" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" + +# 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=" + app-doc/xmltoman + >=dev-util/meson-0.59 + virtual/pkgconfig + ${PYTHON_DEPS} + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + virtual/libudev[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libopenaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + ) + echo-cancel? ( media-libs/webrtc-audio-processing ) + 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 + ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + || ( + media-plugins/alsa-plugins[-pulseaudio] + !media-plugins/alsa-plugins + ) + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + systemd? ( sys-apps/systemd ) + v4l? ( media-libs/libv4l ) +" + +DEPEND="${RDEPEND}" + +# 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.33-revert-libfreeaptx-switch.patch + "${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +src_prepare() { + default + + if ! use systemd; then + # This can be applied non-conditionally but would make for a + # significantly worse user experience on systemd then. + eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch + fi + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session + $(meson_native_enabled media-session) + $(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 + $(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 (-Dmedia-session depends on this) + -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 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 v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + -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) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our customs 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 symbol 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 pipewire.desktop + + exeinto /usr/libexec + newexe "${FILESDIR}"/pipewire-launcher.sh 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 "To use PipeWire for audio, the user units must be manually enabled:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "When switching from PulseAudio, do not forget to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:" + elog + elog " systemctl --user enable pipewire-media-session.service" + elog + else + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable " + elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant" + elog "command near the end of the file:" + elog + elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" + elog + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, package is no longer installing config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override sections you want to change." + fi + + 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 vai D-Bus" sys-auth/rtkit + # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here! + if use bluetooth; then + optfeature "better BT headset support (daemon startup required)" net-misc/ofono + #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd + fi +} diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild index af7dc100dd1d..1c3229408a40 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-9999.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 else SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" fi DESCRIPTION="Multimedia processing graphs" @@ -20,7 +20,7 @@ HOMEPAGE="https://pipewire.org/" LICENSE="MIT LGPL-2.1+ GPL-2" SLOT="0/0.3" -IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l" # Once replacing system JACK libraries is possible, it's likely that # jack-client IUSE will need blocking to avoid users accidentally @@ -34,6 +34,7 @@ RESTRICT="!test? ( test )" BDEPEND=" app-doc/xmltoman + >=dev-util/meson-0.59 virtual/pkgconfig ${PYTHON_DEPS} doc? ( @@ -55,6 +56,7 @@ RDEPEND=" media-libs/sbc >=net-wireless/bluez-4.101:= ) + echo-cancel? ( media-libs/webrtc-audio-processing ) extra? ( >=media-libs/libsndfile-1.0.20 ) @@ -150,12 +152,13 @@ multilib_src_configure() { $(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 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_feature jack-sdk jack-devel) + $(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 -- cgit v1.2.3