diff options
99 files changed, 1832 insertions, 4871 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index e6f03a03ac59..a93328a1395f 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -3,3 +3,4 @@ DIST aws-cli-1.46.1.gh.tar.gz 19215038 BLAKE2B 3120c6768b749a85eea847040758f6412 DIST aws-cli-2.36.45.gh.tar.gz 19279291 BLAKE2B dfd22ee621601d8cc5aa7883c08f962d7056d25e33e0bbf8184470ec53585fa9b0034dd85dce58d1ca580e95109d299e20b4a45456143ab2feac05a25b34d3f2 SHA512 db99a475f322cc1cf4bd792e67d5430c82c118c36862fa6a822b4e34ab62d92b6ed686717d80b476f36ac3414e1cf8710b18f400be73f49c7b59b0231c6ed7c0 DIST aws-cli-2.36.46.gh.tar.gz 19284758 BLAKE2B 5cd2b985e327f84c64dd1901bf282069f2d92fe03dbcac243e5e80d36f24858fd179b60aa740396377e5dff36d73c2ad56680d808faf8803d0b76eba2bcde169 SHA512 4b7816702295e8faa4ed0c0ab564df8aca288051fe24fd8e6b68f3c27a2b89274d52b251cf2771952dd17d7f42d1339dfd6c2ee7adad06f9ed9b2c6556adca44 DIST aws-cli-2.36.47.gh.tar.gz 19288749 BLAKE2B 998322f865614ff38445836c6385bbdd6d153146c0a53dc2482048d73632716191a47896517225d1e131e4389d72d6400cd357b06701f97d244dd07f16c4eab4 SHA512 3b6a05261548f82b0fc48be231055fe7d005429019bfff4f7ab574b98737891dc85add8b25e990630db30262ed220a3641f7da697a9a9f7758ca95dc991f8da9 +DIST aws-cli-2.36.48.gh.tar.gz 19323282 BLAKE2B ed808c8a253bbe65599c1dbd4415aaa930a45a2b5c8233f86a5ca5529ca7cedb0a6534125ad0258204ad61a9eb66851e865b0241f8cbfe2da208695eebf503c6 SHA512 90269562aec7886a6d99682091331be058f26a67e16a32e375d46fbf4a32c5151f874bdb85297c00557d2ef581ca2d4b77b4d7f20fde12ccd6d43c7a27f8e1f0 diff --git a/app-admin/awscli/awscli-2.36.48.ebuild b/app-admin/awscli/awscli-2.36.48.ebuild new file mode 100644 index 000000000000..06abe1e785c5 --- /dev/null +++ b/app-admin/awscli/awscli-2.36.48.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 shell-completion + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +RDEPEND=" + >=dev-python/colorama-0.2.5[${PYTHON_USEDEP}] + >=dev-python/docutils-0.10[${PYTHON_USEDEP}] + >=dev-python/ruamel-yaml-0.15.0[${PYTHON_USEDEP}] + >=dev-python/prompt-toolkit-3.0.24[${PYTHON_USEDEP}] + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + >=dev-python/awscrt-0.36.2[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# bundled dependencies +RDEPEND+=" + >=dev-python/s3transfer-0.18.0[${PYTHON_USEDEP}] +" +TODO=" + dev-python/rsa[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + dev-python/flit-core[${PYTHON_USEDEP}] + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # this package bundles botocore & s3transfer, but they are custom + # v2 branches that were never released and are incompatible with + # our release versions + + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[=0-9.]*::' -e 's:==:>=:' pyproject.toml || die + # wcwidth isn't used + sed -i -e '/wcwidth/d' pyproject.toml || die +} + +python_test() { + local -x TZ=UTC + + local EPYTEST_DESELECT=( + # TODO + tests/functional/autocomplete/test_main.py::test_smoke_test_completer + tests/unit/customizations/ec2instanceconnect/test_websocket.py::TestWebsocket::test_connect_with_proxy + tests/unit/customizations/ec2instanceconnect/test_websocket.py::TestWebsocket::test_connect_with_proxy_but_no_proxy_env_empty + tests/unit/customizations/emr/test_emr_utils.py::TestEMRutils::test_which_with_existing_command + tests/unit/customizations/emr/test_emr_utils.py::TestEMRutils::test_which_with_non_existing_command + tests/unit/customizations/wizard/test_app.py + tests/unit/test_compat.py::TestGetPreferredEncoding::test_getpreferredencoding_with_env_var + ) + + # Some tests take a lot of memory, so run parallel-safe tests first. + local awscli_parallel_tests=( + tests/functional/[ac-z]*/ + tests/unit/ + ) + local botocore_parallel_tests=( + tests/functional/botocore/*/ + tests/functional/botocore/test_[cds-z]*.py + ) + #epytest "${botocore_parallel_tests[@]}" + epytest "${awscli_parallel_tests[@]}" + + local EPYTEST_IGNORE=( + "${botocore_parallel_tests[@]}" + "${awscli_parallel_tests[@]}" + ) + EPYTEST_XDIST= epytest tests/functional +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + newzshcomp bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/app-misc/localsearch/files/localsearch-3.11.2-build-fix.patch b/app-misc/localsearch/files/localsearch-3.11.2-build-fix.patch new file mode 100644 index 000000000000..b724ea857e08 --- /dev/null +++ b/app-misc/localsearch/files/localsearch-3.11.2-build-fix.patch @@ -0,0 +1,11 @@ +Bug: https://bugs.gentoo.org/982517 +--- a/src/extractor/tracker-extract-tiff.c ++++ b/src/extractor/tracker-extract-tiff.c +@@ -34,6 +34,7 @@ + #include <tracker-common.h> + + #include "utils/tracker-extract.h" ++#include "utils/tracker-exif.h" + + #ifdef HAVE_EXEMPI + #include "tracker-xmp.h" diff --git a/app-misc/localsearch/localsearch-3.11.2.ebuild b/app-misc/localsearch/localsearch-3.11.2.ebuild index 63aa5b3d1037..ff55bd3a4973 100644 --- a/app-misc/localsearch/localsearch-3.11.2.ebuild +++ b/app-misc/localsearch/localsearch-3.11.2.ebuild @@ -82,6 +82,10 @@ BDEPEND=" # Introduced by: https://gitlab.gnome.org/GNOME/localsearch/-/commit/4eabf225cd26d6d84ee749661f7fa131f064a305.patch QA_FLAGS_IGNORED="usr/lib64/localsearch-3.0/extract-modules/libextract-dummy.so" +PATCHES=( + "${FILESDIR}/${PN}-3.11.2-build-fix.patch" +) + python_check_deps() { python_has_version -b \ "dev-python/pygobject[${PYTHON_USEDEP}]" \ diff --git a/dev-debug/strace/Manifest b/dev-debug/strace/Manifest index 4bce856520c5..2f9ba2e6f5de 100644 --- a/dev-debug/strace/Manifest +++ b/dev-debug/strace/Manifest @@ -4,3 +4,5 @@ DIST strace-7.0.tar.xz 2764808 BLAKE2B dbf95b95742e274350955fc5e59f6c3f05ca8e029 DIST strace-7.0.tar.xz.asc 833 BLAKE2B 048782b2235f9f3007b3cef2565e794cefa58fdb0d5e576e38692f442e1c5656599beb7130fb6010a83c46bad90a7f5a6085966877a91a214f1b8ff28c326d90 SHA512 c003187bf2f6f068de200af2e23000998edd07cc10774d88b2d659419d08464b997b5ad141e858adcf47f236decdddd2e7cf1d0e383e5586b8c8bee280c2dc17 DIST strace-7.1.tar.xz 2792640 BLAKE2B 755ebf184008896bbb8537918b54ca00a7206a6e553a70b19d46554cada314315d3dc92ebef53c661634bd270a7b51e2131d524134a7a76cd93e40d0ec294380 SHA512 81afed51fdb220e2fb8a83adbb0f9c1c702679955550f6a5037c56d0918ad497829274d5e5f64cfd2c3146802488f07e23f60b5590556b2d1d9b6442abe69717 DIST strace-7.1.tar.xz.asc 833 BLAKE2B c10cdd02355531a8aeea98770d93e9636a656692f2c12bfd877ad85c1520a198150d5e5e2731cab4bd2e8263d8e35ca3c12f1209acc4ab29eccfd1c3ca56114f SHA512 09001f948e59439ac2d8dba302782367fcb14ea237e9faf206656b311ca176803f7cd79c13d7e4e6d67727cb3ecb4f9bc671641007210ddd9b1ac4ff65773d5e +DIST strace-7.2.tar.xz 2810844 BLAKE2B 3ec449829029d1c704768b066d64407f43f9498fb84f9ff7e4fe9bcbbdac17d46905be0006423184b46e8fa2b061c19549c834995978fc3deec0ddb03214adbd SHA512 219e84c0336d54977323f6abd08af98fc177034c68be15976ac7c53739833c1635c7d01ef5d8586c48895997b4bedb8b699000ccc3adf27d7d4ee06a4529d438 +DIST strace-7.2.tar.xz.asc 833 BLAKE2B 063157ab1a881e45dee0d9cf3845880499a3c7bc76f4130d5a6bbe0b42487b223908e1e1a531a726cb5fb138a492fa05ba379eb3f9e9f86979d9195811a36251 SHA512 bdb60f71dd1260ee8318a5e16bd2429a25536aef4e5263f08994a40c30db2a19bd20909b80e0d6969316cfc0df97bf4a0aa6efd299e5d2b1a11897ea9c4e0859 diff --git a/dev-debug/strace/strace-7.2.ebuild b/dev-debug/strace/strace-7.2.ebuild new file mode 100644 index 000000000000..81359e48de5f --- /dev/null +++ b/dev-debug/strace/strace-7.2.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edo flag-o-matic toolchain-funcs verify-sig + +DESCRIPTION="Useful diagnostic, instructional, and debugging tool" +HOMEPAGE="https://strace.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/strace/strace.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz + verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz.asc ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc + +LICENSE="LGPL-2.1+ test? ( GPL-2+ )" +SLOT="0" +IUSE="aio ncurses perl selinux static test unwind elfutils" +RESTRICT="!test? ( test )" +REQUIRED_USE="?? ( unwind elfutils )" + +BDEPEND=" + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-strace-20251130 ) +" +STATIC_DEPEND=" + elfutils? ( dev-libs/elfutils[static-libs(+)] ) + ncurses? ( sys-libs/ncurses[static-libs(+)] ) + selinux? ( sys-libs/libselinux[static-libs(+)] ) + unwind? ( sys-libs/libunwind[static-libs(+)] ) +" +LIB_DEPEND=" + elfutils? ( dev-libs/elfutils ) + ncurses? ( sys-libs/ncurses:= ) + selinux? ( sys-libs/libselinux ) + unwind? ( sys-libs/libunwind:= ) +" +# strace only uses the header from libaio to decode structs +DEPEND=" + static? ( ${STATIC_DEPEND} ) + !static? ( ${LIB_DEPEND} ) + aio? ( >=dev-libs/libaio-0.3.106 ) +" +RDEPEND=" + !static? ( ${LIB_DEPEND} ) + perl? ( dev-lang/perl ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.5-static.patch" +) + +src_prepare() { + default + + if [[ ! -e configure ]] ; then + # git generation + sed /autoreconf/d -i bootstrap || die + edo ./bootstrap + [[ ! -e CREDITS ]] && cp CREDITS{.in,} + fi + + eautoreconf + + # Stub out the -k test since it's known to be flaky. bug #545812 + sed -i '1iexit 77' tests*/strace-k.test || die +} + +src_configure() { + # Set up the default build settings, and then use the names strace expects. + tc-export_build_env BUILD_{CC,CPP} + local v bv + for v in CC CPP {C,CPP,LD}FLAGS ; do + bv="BUILD_${v}" + export "${v}_FOR_BUILD=${!bv}" + done + + filter-lfs-flags # configure handles this sanely + + export ac_cv_header_libaio_h=$(usex aio) + export ac_cv_header_termcap_h=$(usex ncurses) + use elibc_musl && export ac_cv_header_stdc=no + + local myeconfargs=( + --disable-gcc-Werror + + # Don't require mpers support on non-multilib systems. #649560 + --enable-mpers=check + + # We don't want to pin to exact linux-headers versions (bug #950309) + --enable-bundled=yes + + $(use_enable static) + $(use_with unwind libunwind) + $(use_with elfutils libdw) + $(use_with selinux libselinux) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if has usersandbox ${FEATURES} ; then + # bug #643044 + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." + return 0 + fi + + default +} + +src_install() { + default + + if use perl ; then + exeinto /usr/bin + doexe src/strace-graph + fi + + dodoc CREDITS +} diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest index 275357f9584a..4fa57adbf9c7 100644 --- a/dev-libs/elfutils/Manifest +++ b/dev-libs/elfutils/Manifest @@ -1,2 +1,4 @@ DIST elfutils-0.195.tar.bz2 12032640 BLAKE2B 7ad84f87ba24a0edd3d1885a232e63f454509f3d229952d2c9b85dd76baa6b150e022bbce70fc3e89b57f5c606ed3862178c693e3638bf22b891c5798e7c624a SHA512 e1e1fdf4f7f72bf520deb0103bb8fd208dc247bab14af100c6fb56d38c0ef6c6d54ff5bd15b84e4f70e2b2ea481e5999fea2842360f8932a861122df79b5fc8f DIST elfutils-0.195.tar.bz2.sig 310 BLAKE2B 6d0aef5b189ea74b9b019d8d46b565f04b4216955967515f5179e63d78259ba42badfc166ab90c7e12ee5c467f5dbdb30e8244ea5c5d4b499c927db9cf1cf761 SHA512 a5e11ce7752d0fac6e809aea61b6a5bbd1141d8c52c2f741ddd32b93af97af43aa555a99a45feac3bc34381570f2e7fb281f8aff53f74e3b5e64c56eb1d9d2c5 +DIST elfutils-0.196.tar.bz2 12165820 BLAKE2B 13e5aa27b839b02962a45cae1b9b603e7e95d428a16f9bdf15d04201529a9c714a53701cacc65c65fa32082d121a7e196bd242739d4cfd1f40a69efd0f1252f6 SHA512 02a5c1aaeefb6264dd43c52e78612864a51275becf781c309beb398267e1e12f166fd7190a0d09f16e386a5fd14116dc49d1efe5a59191d22df0f46c19a081f7 +DIST elfutils-0.196.tar.bz2.sig 310 BLAKE2B 63a67b2b7ed8093f3626e6864c414e77afa354984c4aecd5611d8b16f89835452cf4c1aca8381353251fb2178451e0b2ad97c1ac04cab6cf94892d864e8fef0a SHA512 010c92ac6f1bd6f3dee2713a96d9d7a1874f763844511da2f1787c8e8d0da556df1a8432c6d61aa25e996020d23eebcd592a78b800f0bc7e5cc4ba1ddbbc856c diff --git a/dev-libs/elfutils/elfutils-0.196.ebuild b/dev-libs/elfutils/elfutils-0.196.ebuild new file mode 100644 index 000000000000..f690f5b79066 --- /dev/null +++ b/dev-libs/elfutils/elfutils-0.196.ebuild @@ -0,0 +1,176 @@ +# Copyright 2003-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/elfutils.gpg +inherit autotools flag-o-matic multilib-minimal + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="https://sourceware.org/elfutils/" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/elfutils.git" + inherit git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +else + inherit verify-sig + SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" +fi + +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" +SLOT="0" +IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls static-libs test +utils valgrind zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE="debuginfod? ( libarchive )" + +RDEPEND=" + !dev-libs/libelf + >=virtual/zlib-1.2.8-r1:=[static-libs?,${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) + debuginfod? ( + dev-db/sqlite:3= + >=dev-libs/json-c-0.11:= + >=net-libs/libmicrohttpd-0.9.33:= + >=net-misc/curl-7.29.0[static-libs?] + ) + libarchive? ( >=app-arch/libarchive-3.1.2:= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + utils? ( libpfm? ( dev-libs/libpfm:= ) ) + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) + elibc_musl? ( + dev-libs/libbsd + sys-libs/argp-standalone + sys-libs/fts-standalone + sys-libs/obstack-standalone + ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" +BDEPEND+=" + sys-devel/m4 + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch + "${FILESDIR}"/${PN}-0.191-musl-macros.patch +) + +src_prepare() { + default + + eautoreconf + + if ! use static-libs; then + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die + fi + + # Fails with some CFLAGS + # " __divhc3: /var/tmp/portage/dev-libs/elfutils-0.193/work/elfutils-0.193-abi_x86_32.x86/tests/funcretval: + # dwfl_module_return_value_location: cannot handle DWARF type description" + printf "#!/bin/sh\nexit 77" > tests/run-native-test.sh || die + # Fails for abi_x86_32 w/ DT_RELR + # "section [14] '.rel.plt': relocation 55: relocation type invalid for the file type" + printf "#!/bin/sh\nexit 77" > tests/run-elflint-self.sh || die + printf "#!/bin/sh\nexit 77" > tests/run-reverse-sections-self.sh || die + # Fails with SFrames + printf "#!/bin/sh\nexit 77" > tests/run-strip-strmerge.sh || die + # Fails under sandbox + cat <<-EOF > tests/dwfl-proc-attach.c || die + int main() { + return 77; + } + EOF + # Requires static-libs + cat <<-EOF > tests/elf-from-memory.c || die + int main() { + return 77; + } + EOF + + # https://sourceware.org/PR23914 + sed -i 's:-Werror::' */Makefile.in || die +} + +src_configure() { + # bug #407135 + use test && append-flags -g + + # bug 660738 + filter-flags -fno-asynchronous-unwind-tables + + use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) + + multilib-minimal_src_configure +} + +multilib_src_configure() { + unset LEX YACC + + export ac_cv_header_perfmon_pfmlib_perf_event_h=$(multilib_native_usex libpfm) + export ac_cv_lib_pfm_pfm_get_os_event_encoding=yes=$(multilib_native_usex libpfm) + # Only for IMA verification of RPMs + export ac_cv_lib_rpm_headerGet=no + + local myeconfargs=( + $(use_enable nls) + $(multilib_native_use_enable debuginfod) + # Could do dummy if needed? We could also split libdebuginfod + # (client support) into its own USE if required. + $(multilib_native_use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable utils stackprof) + $(use_enable valgrind valgrind-annotations) + + # Explicitly disable thread safety, it's not recommended by upstream + # (marked experimental in configure) and doesn't build either on musl. + --disable-thread-safety + + # Valgrind option is just for running tests under it; dodgy under sandbox + # and indeed even w/ glibc with newer instructions. + --disable-valgrind + --program-prefix="eu-" + --with-zlib + $(use_with bzip2 bzlib) + $(multilib_native_use_with libarchive) + $(use_with lzma) + $(use_with zstd) + ) + + [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) + + # Needed because sets alignment macro + is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) + is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check VERBOSE=1 +} + +multilib_src_install_all() { + einstalldocs + + dodoc NOTES + + # These build quick, and are needed for most tests, so we don't + # disable building them when the USE flag is disabled. + if ! use utils; then + rm -rf "${ED}"/usr/bin || die + fi +} diff --git a/dev-libs/elfutils/elfutils-9999.ebuild b/dev-libs/elfutils/elfutils-9999.ebuild index feb34a8cec4c..f690f5b79066 100644 --- a/dev-libs/elfutils/elfutils-9999.ebuild +++ b/dev-libs/elfutils/elfutils-9999.ebuild @@ -28,7 +28,7 @@ fi LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" SLOT="0" -IUSE="bzip2 +debuginfod +libarchive +lzma nls static-libs stacktrace test +utils valgrind zstd" +IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls static-libs test +utils valgrind zstd" RESTRICT="!test? ( test )" REQUIRED_USE="debuginfod? ( libarchive )" @@ -44,7 +44,7 @@ RDEPEND=" ) libarchive? ( >=app-arch/libarchive-3.1.2:= ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) - stacktrace? ( dev-util/sysprof ) + utils? ( libpfm? ( dev-libs/libpfm:= ) ) zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) elibc_musl? ( dev-libs/libbsd @@ -93,6 +93,12 @@ src_prepare() { return 77; } EOF + # Requires static-libs + cat <<-EOF > tests/elf-from-memory.c || die + int main() { + return 77; + } + EOF # https://sourceware.org/PR23914 sed -i 's:-Werror::' */Makefile.in || die @@ -113,6 +119,8 @@ src_configure() { multilib_src_configure() { unset LEX YACC + export ac_cv_header_perfmon_pfmlib_perf_event_h=$(multilib_native_usex libpfm) + export ac_cv_lib_pfm_pfm_get_os_event_encoding=yes=$(multilib_native_usex libpfm) # Only for IMA verification of RPMs export ac_cv_lib_rpm_headerGet=no @@ -122,7 +130,7 @@ multilib_src_configure() { # Could do dummy if needed? We could also split libdebuginfod # (client support) into its own USE if required. $(multilib_native_use_enable debuginfod libdebuginfod) - $(multilib_native_use_enable stacktrace) + $(multilib_native_use_enable utils stackprof) $(use_enable valgrind valgrind-annotations) # Explicitly disable thread safety, it's not recommended by upstream diff --git a/dev-libs/elfutils/metadata.xml b/dev-libs/elfutils/metadata.xml index 464233572a0e..ca6e83f1edce 100644 --- a/dev-libs/elfutils/metadata.xml +++ b/dev-libs/elfutils/metadata.xml @@ -13,6 +13,7 @@ Requires <pkg>app-arch/libarchive</pkg>. </flag> + <flag name="libpfm">Enable <pkg>dev-libs/libpfm</pkg> support for hardware performance counters with eu-stackprof.</flag> <flag name="lzma">Support automatic decompression of LZMA-compressed files and kernel images</flag> <flag name="stacktrace"> Build experimental eu-stacktrace tool. Relies on integration with dev-util/sysprof. diff --git a/dev-libs/libdwarf/Manifest b/dev-libs/libdwarf/Manifest index 13ca5f5e21dc..10ee080ed5e1 100644 --- a/dev-libs/libdwarf/Manifest +++ b/dev-libs/libdwarf/Manifest @@ -1,3 +1,2 @@ -DIST libdwarf-2.2.0.tar.xz 3027540 BLAKE2B f7a1d28afc4ed3997432a2d5ce472d48ea18a2b8812c5c569d93b55bf39fcfa246ae749b1f1a6016c65a8497c852d7d5169652d6626cfc35ba1bee71fb339735 SHA512 1a5145b3b9bebbae6e6691590521c56327adb92c0ae95f145bcba8e4402b637d1479c2c6adad069ef9e0e36b2f7c8afc2811173f39e444418e2de7f4277ec393 -DIST libdwarf-2.3.0.tar.xz 3147992 BLAKE2B 1486cd0e9cfb56db5661dcbd9b52aaa3c1aa6f28fe69a9e8e20f9a0b714564a87ec9545208da31c27c89013c94dadcbf92e6204ba6b5d791a7d5e06a959723af SHA512 c6d91016d190af0761a3efa5ef77e8c964fcf853841b90b516294f716f50c876db73e20876db9f6ccd1888be7ffa0c0608418e52719a18e95e149d99d950b2a6 DIST libdwarf-2.3.1.tar.xz 3397452 BLAKE2B 17526b18043dedcc963885844ab2039eef82d8e1b4b43bb8fb665f1a5949db801433f724d2bce5fbb6a53fb9a93e78299cff43fa46e9f636d032056398036c2d SHA512 45489f19a0547c286a7f7606743860dd93f9feeec84bc32068c04b8a85d31c103948e044991ca89d2bb28ef56d467f1e57e2ea51d53ce86f53444ee75a6158a4 +DIST libdwarf-2.3.2.tar.xz 3678964 BLAKE2B e3cfc5687503252e42e7fef5623e7d7f627c2522a1ca47e7f7aa4c0803e8c944c382e0d1e00dabc76178f628a6f933ea5965f37bbe57a4372b922ea8d24493ef SHA512 6d53f409d96678a5a1d552dab1d77eda2233c7321cabe87f74bbc725023a5d8420771a9ee9fb6c0da2065be7811bb12822dc3f094421bb388386f075b0b018b7 diff --git a/dev-libs/libdwarf/libdwarf-2.3.0.ebuild b/dev-libs/libdwarf/libdwarf-2.3.0.ebuild deleted file mode 100644 index 6efcd586f92c..000000000000 --- a/dev-libs/libdwarf/libdwarf-2.3.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Library intended to simplify reading (and writing) applications using DWARF" -HOMEPAGE=" - https://www.prevanders.net/dwarf.html - https://github.com/davea42/libdwarf-code -" -SRC_URI="https://www.prevanders.net/${P}.tar.xz" - -LICENSE="GPL-2 LGPL-2.1 BSD" -SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -IUSE="test dwarfexample dwarfgen" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/zstd:= - virtual/zlib:= -" -RDEPEND="${DEPEND}" - -DOCS=( AUTHORS NEWS README.md ) - -PATCHES=( "${FILESDIR}/${PN}-0.9.2-fix-include-patch.patch" ) - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED=ON - -DBUILD_DWARFGEN=$(usex dwarfgen) - -DBUILD_DWARFEXAMPLE=$(usex dwarfexample) - -DDO_TESTING=$(usex test) - ) - - cmake_src_configure -} - -src_install(){ - cmake_src_install - - dodoc ChangeLog* doc/*.pdf -} diff --git a/dev-libs/libdwarf/libdwarf-2.2.0.ebuild b/dev-libs/libdwarf/libdwarf-2.3.2.ebuild index 6efcd586f92c..6efcd586f92c 100644 --- a/dev-libs/libdwarf/libdwarf-2.2.0.ebuild +++ b/dev-libs/libdwarf/libdwarf-2.3.2.ebuild diff --git a/dev-libs/libmaxminddb/Manifest b/dev-libs/libmaxminddb/Manifest index 461863c8bc7c..c0c3198aa45c 100644 --- a/dev-libs/libmaxminddb/Manifest +++ b/dev-libs/libmaxminddb/Manifest @@ -1,2 +1,3 @@ DIST libmaxminddb-1.11.0.tar.gz 727863 BLAKE2B 0c32f9aa2fd21111389ff1d0a4112fc6a7f786a5592c264f4dabb6a7c43d57bc86b6a47f2557634540083a07067a57020e40ac825d5141bdca053edae28954f8 SHA512 ecb7e1d8c89f1f0f018abcfb9ac7071f36e40ab5b12ecb1ded3b66db69dbe830792f6497aca9ca8c79ecfe47db7fa5dccf20714f06c49b93a69389b91e006b46 DIST libmaxminddb-1.12.2.tar.gz 730768 BLAKE2B eb7270663b0c97c7f4acf06f197066039c1b7db5499c6281f67c51f67ded61241681473682318fa7428e0a3d793fb19dc316160ef0e29d2f901a9c334ba3a291 SHA512 263e7f7901b450ac0b7fa95887ade3b2725bc794360ce6fc27ebfe06f025b7670d9e5f9a208f99073d32b673993d810f0bcee510027e4d2e87ba3c38d75036fe +DIST libmaxminddb-1.14.1.tar.gz 846612 BLAKE2B 8ced4fe8162f603c734a35d86f01bec4a03c6d4bca0410572f3fa201d06cbf49c0459f25320697186c9c13a11616a3b3f64819ed1b3004bc3c9b15898696ac8c SHA512 d6e5f0e7fff896ac63525bcf01b06944388c6756889ac533dfaf416fd2e494953f31ede1a2352bdcf5018e2544b65eb3328a22f9233c50e01e0809a5bc6486cc diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.14.1.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.14.1.ebuild new file mode 100644 index 000000000000..336dc19a0f36 --- /dev/null +++ b/dev-libs/libmaxminddb/libmaxminddb-1.14.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="C library for the MaxMind DB file format" +HOMEPAGE="https://github.com/maxmind/libmaxminddb" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/maxmind/libmaxminddb.git" + inherit autotools git-r3 +else + SRC_URI="https://github.com/maxmind/${PN}/releases/download/${PV}/${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0/0.0.7" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="test? ( dev-perl/IPC-Run3 )" + +DOCS=( Changes.md ) + +src_prepare() { + default + + if [[ ${PV} == *9999 ]] ; then + eautoreconf + fi +} + +src_configure() { + tc-export AR CC + + default +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/dev-libs/openssl/openssl-3.0.22.ebuild b/dev-libs/openssl/openssl-3.0.22.ebuild index 30a59319cdfa..e8af7316d425 100644 --- a/dev-libs/openssl/openssl-3.0.22.ebuild +++ b/dev-libs/openssl/openssl-3.0.22.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" diff --git a/dev-libs/openssl/openssl-3.4.7.ebuild b/dev-libs/openssl/openssl-3.4.7.ebuild index 6d3053e26e2e..311cc2abe4ef 100644 --- a/dev-libs/openssl/openssl-3.4.7.ebuild +++ b/dev-libs/openssl/openssl-3.4.7.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" diff --git a/dev-libs/openssl/openssl-3.5.8.ebuild b/dev-libs/openssl/openssl-3.5.8.ebuild index f65d8c2e572f..0479e382f85a 100644 --- a/dev-libs/openssl/openssl-3.5.8.ebuild +++ b/dev-libs/openssl/openssl-3.5.8.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20260617-r1 )" diff --git a/dev-perl/Authen-Libwrap/Authen-Libwrap-0.230.0-r4.ebuild b/dev-perl/Authen-Libwrap/Authen-Libwrap-0.230.0-r4.ebuild index 3c860aac2a95..a122e249e209 100644 --- a/dev-perl/Authen-Libwrap/Authen-Libwrap-0.230.0-r4.ebuild +++ b/dev-perl/Authen-Libwrap/Authen-Libwrap-0.230.0-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,6 +27,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-0.23-inc-paths.patch" + "${FILESDIR}/${PN}-0.23-perl-5.44.patch" ) PERL_RM_FILES=( diff --git a/dev-perl/Authen-Libwrap/files/Authen-Libwrap-0.23-perl-5.44.patch b/dev-perl/Authen-Libwrap/files/Authen-Libwrap-0.23-perl-5.44.patch new file mode 100644 index 000000000000..ff7c81e812d1 --- /dev/null +++ b/dev-perl/Authen-Libwrap/files/Authen-Libwrap-0.23-perl-5.44.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/979346 +https://github.com/drmuey/p5-Authen-Libwrap/pull/2 + +From f9d01b8258e752776677d08272779e9d10d94dc2 Mon Sep 17 00:00:00 2001 +From: gregor herrmann <gregoa@debian.org> +Date: Tue, 7 Jul 2026 18:03:18 +0200 +Subject: [PATCH] Fix XS comment syntax + +--- + lib/Authen/Libwrap.xs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Authen/Libwrap.xs b/lib/Authen/Libwrap.xs +index da197df..8e50bf8 100644 +--- a/lib/Authen/Libwrap.xs ++++ b/lib/Authen/Libwrap.xs +@@ -29,4 +29,4 @@ _hosts_ctl(daemon, client_name, client_addr, client_user) + XSRETURN_UNDEF; + } + +-/* EOF */ ++# EOF diff --git a/dev-perl/Coro/Coro-6.570.0-r1.ebuild b/dev-perl/Coro/Coro-6.570.0-r1.ebuild new file mode 100644 index 000000000000..3de3eb2d2a4d --- /dev/null +++ b/dev-perl/Coro/Coro-6.570.0-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DIST_AUTHOR=MLEHMANN +DIST_VERSION=6.57 +DIST_EXAMPLES=( "eg/*" ) +inherit perl-module + +DESCRIPTION="The only real threads in perl" + +LICENSE="|| ( Artistic GPL-1+ ) LGPL-2.1+ || ( BSD-2 GPL-2+ )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+ev event valgrind" + +RDEPEND=" + >=dev-perl/AnyEvent-7 + ev? ( >=dev-perl/EV-4.0.0 ) + event? ( >=dev-perl/Event-1.80.0 ) + >=dev-perl/Guard-0.500.0 + virtual/perl-Scalar-List-Utils + >=virtual/perl-Storable-2.150.0 + dev-perl/common-sense +" +DEPEND=" + valgrind? ( dev-debug/valgrind ) +" +BDEPEND=" + ${RDEPEND} + dev-perl/Canary-Stability + >=virtual/perl-ExtUtils-MakeMaker-6.520.0 +" + +PATCHES=( + "${FILESDIR}/6.514.0-ev-config.patch" + "${FILESDIR}/6.570.0-FORTIFY_SOURCE.patch" + "${FILESDIR}/6.570.0-c23.patch" +) + +src_configure() { + local myopts=() + use ev && myopts+=("EV") + use event && myopts+=( "Event" ) + + export CORO_USE_VALGRIND=$(usex valgrind y n) + + GENTOO_OPTS="${myopts[@]}" perl-module_src_configure +} diff --git a/dev-perl/Coro/files/6.570.0-FORTIFY_SOURCE.patch b/dev-perl/Coro/files/6.570.0-FORTIFY_SOURCE.patch new file mode 100644 index 000000000000..3fa136923798 --- /dev/null +++ b/dev-perl/Coro/files/6.570.0-FORTIFY_SOURCE.patch @@ -0,0 +1,41 @@ +https://src.fedoraproject.org/rpms/perl-Coro/blob/rawhide/f/Coro-6.512-Disable-disabling-FORTIFY_SOURCE.patch + +From 7accb61160334aa89bf771323c91e40f42af8574 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Fri, 14 Jul 2017 14:59:32 +0200 +Subject: [PATCH] Disable disabling FORTIFY_SOURCE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +6.512 started to disable FORTIFY_SOURCE feature because it breaks +jumps on some C standard libraries. + +Signed-off-by: Petr PÃsaÅ™ <ppisar@redhat.com> +--- a/Coro/Makefile.PL ++++ b/Coro/Makefile.PL +@@ -219,7 +219,6 @@ if ($iface eq "u") { + print "\nUsing ucontext implementation\n\n"; + conftest ("TEST_makecontext"); + } elsif ($iface eq "s") { +- $DEFINE .= " -D_FORTIFY_SOURCE=0"; + $DEFINE .= " -DCORO_SJLJ"; + print "\nUsing setjmp/longjmp/sigaltstack implementation\n\n"; + conftest ("TEST_sigaltstack"); +--- a/Coro/libcoro/coro.h ++++ b/Coro/libcoro/coro.h +@@ -342,12 +342,6 @@ struct coro_context + # define _GNU_SOURCE /* for glibc */ + # endif + +-/* try to disable well-meant but buggy checks in some libcs */ +-# ifdef _FORTIFY_SOURCE +-# undef _FORTIFY_SOURCE +-# undef __USE_FORTIFY_LEVEL /* helps some more when too much has been included already */ +-# endif +- + # if !CORO_LOSER + # include <unistd.h> + # endif +-- +2.9.4 diff --git a/dev-perl/Coro/files/6.570.0-c23.patch b/dev-perl/Coro/files/6.570.0-c23.patch new file mode 100644 index 000000000000..1061383e8f8c --- /dev/null +++ b/dev-perl/Coro/files/6.570.0-c23.patch @@ -0,0 +1,51 @@ +https://bugs.gentoo.org/981304 +https://rt.cpan.org/Public/Bug/Display.html?id=158609 +https://src.fedoraproject.org/rpms/perl-Coro/raw/rawhide/f/Coro-6.57-c23.patch +--- a/Coro/State.xs ++++ b/Coro/State.xs +@@ -156,7 +156,7 @@ static void *coro_thx; + # include <assert.h> + #endif + +-static double (*nvtime)(); /* so why doesn't it take void? */ ++static double (*nvtime)(pTHX); /* so why doesn't it take void? */ + static void (*u2time)(pTHX_ UV ret[2]); + + /* we hijack an hopefully unused CV flag for our purposes */ +@@ -391,7 +391,7 @@ coro_u2time (pTHX_ UV ret[2]) + } + + ecb_inline double +-coro_nvtime (void) ++coro_nvtime (pTHX) + { + struct timeval tv; + gettimeofday (&tv, 0); +@@ -420,7 +420,7 @@ time_init (pTHX) + if (!svp) croak ("Time::HiRes is required, but missing. Caught"); + if (!SvIOK (*svp)) croak ("Time::NVtime isn't a function pointer. Caught"); + +- nvtime = INT2PTR (double (*)(), SvIV (*svp)); ++ nvtime = INT2PTR (double (*)(pTHX), SvIV (*svp)); + + svp = hv_fetch (PL_modglobal, "Time::U2time", 12, 0); + u2time = INT2PTR (void (*)(pTHX_ UV ret[2]), SvIV (*svp)); +@@ -3031,7 +3031,7 @@ PerlIOCede_pushed (pTHX_ PerlIO *f, cons + PerlIOCede *self = PerlIOSelf (f, PerlIOCede); + + self->every = SvCUR (arg) ? SvNV (arg) : 0.01; +- self->next = nvtime () + self->every; ++ self->next = nvtime (aTHX) + self->every; + + return PerlIOBuf_pushed (aTHX_ f, mode, Nullsv, tab); + } +@@ -3048,7 +3048,7 @@ static IV + PerlIOCede_flush (pTHX_ PerlIO *f) + { + PerlIOCede *self = PerlIOSelf (f, PerlIOCede); +- double now = nvtime (); ++ double now = nvtime (aTHX); + + if (now >= self->next) + { + diff --git a/dev-python/awkward-cpp/Manifest b/dev-python/awkward-cpp/Manifest index 28ada959411a..7c8751c1ac81 100644 --- a/dev-python/awkward-cpp/Manifest +++ b/dev-python/awkward-cpp/Manifest @@ -1,4 +1,4 @@ -DIST awkward_cpp-55.tar.gz 1503409 BLAKE2B e1bc3a27e6723155411594c55eb81d7530f29022e5fc7e965717376a49ffb4383ffe898486ec58cbd678d4ce44c18ba3a1006c53ee3c7b821b27fd17a094ec72 SHA512 146ff1c3241ad2e691eca7ca505d75416de1bd932b8fbab573b5c2e1e982da4c4eea66333029ed84f78d198d08732d48473fdbd31b0d6f66ce1de4189499c478 -DIST awkward_cpp-55.tar.gz.provenance 9660 BLAKE2B a90312032f2b9a80c7e105fb1849dacdc3f6bb4da64ee21ab05e251fcb5bd7e63649be283d9bb5dd44e62380686f5a0e0523c52f9f83a807a61c7d544ef4b608 SHA512 44c5caab4101be0b2dcff1f3dfb7759451249d974c614f7e1c71fb691044659663e62a2341af78bf8ef2e907caf7e8a6bec7e8cf11c42cadcbfd36906f0953a2 DIST awkward_cpp-56.tar.gz 1501723 BLAKE2B 5cfab23715b898fbdd9c370ef6821aa606401ab187ce9ac6cd83bfec2b0dd2186ed3d0b14437c2eac6fe28922be13c8dc2e17131ff88b1a2adf2c9513756306a SHA512 6e9e11f966749fb956920c621cf32b284ce15e45f3b2701df52896a6e769376d3369f8fa4aa2b6f965f47351c8a3597c345812a21ac9bca59a92c5f1baec07cb DIST awkward_cpp-56.tar.gz.provenance 9897 BLAKE2B 2b1c556af73d8c80bb8ecf17810c66218e3ae7343c77cdae7d78c6c9d3d8e422d90bd2577d59f3b03cf4b9cdc638db7e272b0d6df807a6287af152c34e483b8a SHA512 f783c2a2e524129495a2b49fcaf0bcdb7dfb0d0dae8e806829f783836cac5595212f1fbbed3a9335688c8b1fc5613a30ca4bcfd3f509e43124dfd6bdca4d5ae2 +DIST awkward_cpp-57.tar.gz 1502719 BLAKE2B 485fbe3a519b30f77f6dae5e3b07ec32225ac6add9a076e2af75b874ae9a0d3113d53f15845abcff4e7c3bd099646d6117e51ada078638c29d0b4080ce5ae6c9 SHA512 168e3693730944ec275115de796afcf28e44cd9b6f4594114c728fb9f247fe31ad5e68e67ec342b4ee1bfecdb657b2c45e8df21f441204e4b2931594f91d42e4 +DIST awkward_cpp-57.tar.gz.provenance 9850 BLAKE2B 1ff800e97b6562f32856b766b1a05b8d324b4bb748fe4048823d3a4f5a36c90296d96ebbbe4d23d67d9086d57e1a2a55c7ce9ea0c954bf1a910ac3fba5ee1f8a SHA512 6896906683b15dad524fa14e708a9bb77783b70f7bbd13fb800e242d997131a523e30a0923115e25dc723351481ccd55ec4f067d04b5813982d0781c8daf0265 diff --git a/dev-python/awkward-cpp/awkward-cpp-55.ebuild b/dev-python/awkward-cpp/awkward-cpp-57.ebuild index 5ab4874ad1dc..5ab4874ad1dc 100644 --- a/dev-python/awkward-cpp/awkward-cpp-55.ebuild +++ b/dev-python/awkward-cpp/awkward-cpp-57.ebuild diff --git a/dev-python/awkward/Manifest b/dev-python/awkward/Manifest index f0d8be97e1d1..c1e7503dfb34 100644 --- a/dev-python/awkward/Manifest +++ b/dev-python/awkward/Manifest @@ -1,4 +1,4 @@ -DIST awkward-2.12.0.tar.gz 6455141 BLAKE2B 32f3c5c59738e6403f64c901a0744cdf9bdee0791ad64462777f6fed0f99d0ef75e8d50164b72465ada8542c1bc0e6b7286b98cd3ba5aae224712f3f5087a8fe SHA512 020a1f92444d3aec1a7f4558db71c536a859cdd4f18a04e573bd9913f362be02a37b343d265ddecfeda3c73c177da5c16ac609d89592e0e0fdbd943bd5a99f16 -DIST awkward-2.12.0.tar.gz.provenance 9528 BLAKE2B 6ecd541a59ff78d31cc1fecf9233551c3b2cbe00c5c4a504aaa866f6eef2fd8e0126969e3fb815915d458cacdd699150b03afe580884ace984f465a1efab4c55 SHA512 913276ef72ac3b007c76d155ba90746b4ab6e570178692e10eeacf07721a866b40e36776a186b4ef005d38e3cd8fc5c99123579c163488b193c9ba6667978d69 DIST awkward-2.13.0.tar.gz 6479149 BLAKE2B 85592d1a29641a212cd59a1116d1f5aaebc0564739b336a8a4b30509de52a587fe4deca0c82c02b6ba593c05796a13315a1541ddb8541a613521e69c70f5e3ec SHA512 71089cb59592955245b647692f9a1dae4acba27bd433c9d1dd03caba1cf97c566681a7fa6d10030b48419909ba0baf205fb5b2e1d7b061b84978bed53e078ef2 DIST awkward-2.13.0.tar.gz.provenance 9886 BLAKE2B a43907cca46b2e2ae5396014193b27584613e2412890b5ccbcd7c41c13c3cafff446623bad1a7c7d1dee1be905ad79f39ea58c70204f9c13eba877aad6dfae1b SHA512 c8a646ded4b0fb60618e8c612eb9fc09404d75eb280a70b27a9c85693b28008367bd9ada39dfb6447c48fd818d8a93196b1e1d228a6f24f426e38a3a3c44a835 +DIST awkward-2.14.0.tar.gz 6508333 BLAKE2B bd43d13b01aad075dfa31694b51623d332f38e4a5db85eaa9c6905e0a0be40663f73bddd979223703a53a7e9a19cdc9cee7d0eb740200f623e4d0a6de642b8aa SHA512 2883175d3d480bda41757f1195c3dbe318de7b825e6b7e1944367e729d6f4d4f9fb68e52c3aae24a9e280e78892717b837770df67c955a175749a06505cf24de +DIST awkward-2.14.0.tar.gz.provenance 9906 BLAKE2B 30b8b2b1a95a99553b0e59babc0c3b586c13c9570f05ac80145c2d87c9ca14f3c5f654e3e0aa71322bb413b33a3689bb1a0826bddb2956462873e698be0eae51 SHA512 6bb08968ba28296a897e07def4eb1d24bc4262faebe93407d1002c506c82409e3052d9d40fef1bea5cf6a9513ec34b8a6dfdbbe814ff5503c057d87596d2d8cb diff --git a/dev-python/awkward/awkward-2.12.0.ebuild b/dev-python/awkward/awkward-2.14.0.ebuild index ae502aa69617..10901bd7d871 100644 --- a/dev-python/awkward/awkward-2.12.0.ebuild +++ b/dev-python/awkward/awkward-2.14.0.ebuild @@ -21,7 +21,7 @@ SLOT="0" KEYWORDS="~amd64" RDEPEND=" - ~dev-python/awkward-cpp-55[${PYTHON_USEDEP}] + ~dev-python/awkward-cpp-57[${PYTHON_USEDEP}] >=dev-python/numpy-1.21.3[${PYTHON_USEDEP}] dev-python/packaging[${PYTHON_USEDEP}] >=dev-python/fsspec-2022.11.0[${PYTHON_USEDEP}] diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 3c16db45d4cd..fd6b98cee83e 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -6,3 +6,4 @@ DIST boto3-1.43.93.gh.tar.gz 1230597 BLAKE2B 183d94cea0d706147a75674cb85a600ad21 DIST boto3-1.43.94.gh.tar.gz 1231556 BLAKE2B 759bb159fb0fc616fab031fdf398482fc559d9a08f8a66bc62d7d4d5284a8a08886eae757f47482cbcc60a45f8bf55df781d963a9b79c2ca7922ee54410b991b SHA512 7c642a77a6d6f218a3eff7f3477cba09b4b4f0f750313adc8f9904639c382566412db2e9aed98353cdd8f180c7fce0a7fd9793479b3dcbe50c08c51c1b13d4c8 DIST boto3-1.43.95.gh.tar.gz 1232157 BLAKE2B 31fe611aa3023f8328a974e83b2c7599b2d0956989eee20ec4a1542b62e00f1295d67f62c0f2173ae3395d96cd5b9a03925bb2753fa3c42b96f97a9fbe79f785 SHA512 31ea41eed63b0fd6e18f76638d92ac7b22219f443b52087e779956b467bdb77c754418c4e9de462b39032988e243087c5b9d3038ec07a9e9d55772f2a2c0d2b3 DIST boto3-1.43.96.gh.tar.gz 1232904 BLAKE2B e040695656e1eef774e3e3832864e9e4fd68d0dd7eab2f9aacf21d1e35c381c04797a2261e88cd6a7b42b4ba665aeef7039b057810256deff06180d0b3f124e9 SHA512 afc7804b902ee8c4375a68d31a871dbd44a8571899e684dba68a181c2dfda4d83690ee0479bc5bacfca30f6909e31be3d355ff2946930ccdfe2f5801a7c123da +DIST boto3-1.43.97.gh.tar.gz 1234481 BLAKE2B a76cbe7f12781c2b733730bfae03b14579d9a2a4972031f6a13a892523faf949f22a6387daf440072a6acecf06bab1300714ea22afedc74aaaaa92dabfee74ac SHA512 c87c69b2c73e84a731e379256b22dc00668428ed0e13921fbfcbe94d663aedf47a1ed0c59aba770444ccaa89aaa7b043913cd06f093abd9b0b9dc7b85315dfc0 diff --git a/dev-python/boto3/boto3-1.43.97.ebuild b/dev-python/boto3/boto3-1.43.97.ebuild new file mode 100644 index 000000000000..93fbbe6dd59b --- /dev/null +++ b/dev-python/boto3/boto3-1.43.97.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 3ce404ef7762..4d77db4925e7 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -6,3 +6,4 @@ DIST botocore-1.43.93.gh.tar.gz 17142451 BLAKE2B eec2955aa252ff8bc49c24095006f0c DIST botocore-1.43.94.gh.tar.gz 17147633 BLAKE2B 2a872b6b2289e8a330ea901b32faaa3a1950782009103b27fdc7d54cd0d6163ce3f5fc3bc8ef722fc63fef76db805fce7c2e40854858b6b8c2bb293b264adbbf SHA512 6f63be5ab5f625c018de0c6e0046eeb2e6adfd1913bebe6b91615968309ba41c9ee1d36baa38abca6e714a43c679e88a1931a5c9fe4dde34fa98a9a562280854 DIST botocore-1.43.95.gh.tar.gz 17151488 BLAKE2B d895c9a42387b0b5425e54741d9894da2afe5d83977c079a47e4d6cdccc157e6e9395953f033f8739ce7b423f91b1522e303711cb38753af3d3fb238798c3b9c SHA512 73f2a6d6fc3a6b49e8c61a338357282b08d80e567b9c7dd025ac1a7132f7ab48e02c6f08290b1c65e09e745653605775076cc706420fbed25f216a9899e7c56b DIST botocore-1.43.96.gh.tar.gz 17158154 BLAKE2B 29d6f71cec5f1d9d4be88a580aae8cfbacee15252635fafa6d82ee35e8c086bafae04de57d695c18dfa23a86da212bf88b08c4e7b108bc3c629f0830b3f2d04c SHA512 623dc3218688d78c5b9bd7542ad584394aacb82117c9e7c8abf7d2531780cd965dea451fa209ae348f189746611276f9da321805adb8833b2d61f5e2c5c1b8de +DIST botocore-1.43.97.gh.tar.gz 17166411 BLAKE2B 267a0a411f5670c0baded3738d9cf1bdfc01549173ef83027af39db995ac19717cbb044e74d80c727344cf45e898444d72b3213da26dd385ec3bc34b25e77fcd SHA512 6fc8523f00c41b163387c14ceb1962b2fd3f5ad869c5a5d34bc00f788f1438f83904e40e0bb59a698656cf7580bdbdc16946b83db293a9a05177b2163ee116a6 diff --git a/dev-python/botocore/botocore-1.43.97.ebuild b/dev-python/botocore/botocore-1.43.97.ebuild new file mode 100644 index 000000000000..14ad5b2d1f27 --- /dev/null +++ b/dev-python/botocore/botocore-1.43.97.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + # The test suite can eat up a lot of memory when running via xdist, + # and slow down some tiny tests. Let's just run a safe subset + # of tests known to be slow-ish in parallel, and the rest in series. + local parallel_tests=( + tests/functional/*/ + tests/functional/test_event_alias.py + tests/functional/test_[cds-z]*.py + tests/unit/ + ) + + epytest "${parallel_tests[@]}" + + local EPYTEST_IGNORE=( "${parallel_tests[@]}" ) + EPYTEST_XDIST= epytest tests/functional +} diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index 9caf20049e2d..0931a8aeef07 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,5 +1,3 @@ -DIST cfn_lint-1.54.0.tar.gz 4584764 BLAKE2B e901d2eef452cd3b059e413c0cf095b3c846adf4a07f1b32f8e04f064d7fd0dd08a23b6630d546a70d49327423524e69dd04c5a413674c2d1770a0a906aaaeee SHA512 6d64cecf3ece86a1941d0e587ee5875ceaeb84dacaed9b34dd9fab8fcfdec3f419d519b54848d5c0deb29d7e3e87f1460fd302ed7e690a2d3e979086a9b8aacc -DIST cfn_lint-1.54.0.tar.gz.provenance 9942 BLAKE2B 33e3aab9c9812b942847e3c1e66501cb732a7c2d787e076eb0e54a1f762010a7470c679bd1b57e47f724c60b601bf29647907832cac56f23cfe2a46320e553f0 SHA512 c62230d36ceb34ecae3422d00ada9813480942db887c2ff53a5c817e07d5fc7e54b36023e334c4edfc3fee4bea1010393d81289426cf1d24acd53eb8ec5aadfa DIST cfn_lint-1.55.1.tar.gz 4646651 BLAKE2B d3ca76fb15a3695019334345897423e26ac0341a7c352a9c4b5a0407b37f9398f1f9e37372603d0a541760eb5e1506dc4bec7a48fa3b480f17e28bf2c42bc0b9 SHA512 b3f9968911ee841322d482c83238dd157f28639dec1088141ac06be7c88d88d94e500f70b912ed72f50993bbb7236d33ed19fdd270f00cd28f16c0791d5efbca DIST cfn_lint-1.55.1.tar.gz.provenance 10179 BLAKE2B bee20ea785698e115569fa307d03ca09f1d6e8fcacaf418dfe0fc91553f3a7be127c1bff39804930c7d900007efe4cb31f1fb943064e28fad760d38990e7c729 SHA512 c71b2a1463cd290bb0532868b7f7f0ce047a7acdf18304240a15d3b472d8926a09a58665a89cd5a70913604bf27f0d75d93a567f42c8ebf20e2dcb6e9c71337d DIST cfn_lint-1.56.0.tar.gz 4741346 BLAKE2B 610ed9da227212846ff36caf13e01031e0dfd2021fa9a0a5e619cca7196669ad833878707016a7870e53cb18abb0d57a407b2c62e8ab0f8ebe5506667eaf8659 SHA512 d6514d0c6e0b51d0c9a24d1ecb8965c78923027529fcf964c5146c70efca493eb76ead77c633c1f9e11cf2486decc2afd4f945e64f2aacd0275714303480c6dc @@ -8,3 +6,5 @@ DIST cfn_lint-1.56.2.tar.gz 4773622 BLAKE2B 977497b65c624b8366bcef94a9fa40185f6a DIST cfn_lint-1.56.2.tar.gz.provenance 10128 BLAKE2B baba49ad3c761a126e8530604d67593a2ed1fc9162f0da6bf48c1e67c4193c5bcdd4d0e035384c51955d60c45f63ecc2b884f4eda227c3edb2492997a1004482 SHA512 eb8685efe89858b80d36f7e85c5bb1ad4577d7903eb9455e92da03b0b6afe1ff85261826ed3d117ff6f411186891e49ba547592523e7ad05fa01724ee45607a4 DIST cfn_lint-1.56.3.tar.gz 4782328 BLAKE2B 4428f330d2e21fefd7254c3e062b6af231874224afe96d2bd225303b590616456a1e10b2384b1fa7c1e2aac58dde3ba96707119d31b9cab75c9c32b960d76a7e SHA512 3f5a347ad05c675adbae23f2a94c63727a30a2ffe9b862d147488da990c160f86574d34812ed3936457ee506c43f28d0d5d286d11af13652ec946d8db75ec073 DIST cfn_lint-1.56.3.tar.gz.provenance 10034 BLAKE2B 40af29c8024029066a39c6dfb07380e26fedc4dd75d4a89f7e6e6edacac35a6fa6534f68a09e2b93b74ac1a1d829e4c0c14cd94ce077921b37e761f65e6097b8 SHA512 24f89afdcc5afec8a258297b474cfc5798a2c0cdeb414c5ef3cd3dad382f8606d8832501eb8042326f906dd2de46c5387a4b74159505b697ead87f2fcf60007e +DIST cfn_lint-1.57.0.tar.gz 4865987 BLAKE2B 5d38fcc5a73abe8c28bec18d1454e681387f2fe4230605cdb982c60d8f4ddcae4755bafe0865645089f4fce1f873c2646479dd83a0645415b326483001104aca SHA512 fd5d806effdd5ca2593c208e9a50469668076a07acc183bb76441555818b9806bb0433bb196c099c2f9a9c3607dcf8a71ce144affd61c7f69eb411ce61d7981d +DIST cfn_lint-1.57.0.tar.gz.provenance 9756 BLAKE2B 9cc8e94f7d8c31ad889576f3797beb3009d59d290522fb95ddc0c769442a6adbabc4c510ba7d8678cc35e836bfcf7dd61357d45cf79b9d740cb2d693f29e0a2b SHA512 e1f02d3246b374381d1b2789ed56e0f626f5bac8737e9ea1d0b7a4fb6e0f206123dc1652109b75ab468c7e8d78ccb7cdef8abfcc64b0fb41e3c1a3008fc2725f diff --git a/dev-python/cfn-lint/cfn-lint-1.54.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild index 5005e0bd6fcc..60bfe8f96df0 100644 --- a/dev-python/cfn-lint/cfn-lint-1.54.0.ebuild +++ b/dev-python/cfn-lint/cfn-lint-1.57.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" RDEPEND=" dev-python/jsonpatch[${PYTHON_USEDEP}] @@ -51,6 +51,8 @@ python_test() { test/unit/module/test_api.py::TestLintByConfig::test_graph # scripts missing from sdist test/unit/module/maintenance/test_update_specs_from_pricing.py + # Internet + test/unit/module/schema/test_manager.py::TestUpdateResourceSchemas::test_update_force ) # from tox.ini diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest index 51463cddbe3f..45c5a2d093c6 100644 --- a/dev-python/google-api-core/Manifest +++ b/dev-python/google-api-core/Manifest @@ -8,3 +8,5 @@ DIST google_api_core-2.36.0.tar.gz 196879 BLAKE2B b9026e37bec28104b8104053654493 DIST google_api_core-2.36.0.tar.gz.provenance 5964 BLAKE2B ef264b3a188a19058f713cd8f83323e71734276d465b72f77b99a37c2ece8f0b9e25a70faa3879305621f84f1f99fe31029ec7c4f5c435565518c83a0ec4c17b SHA512 63ddeb9323376f41ce5368674f4a29cf5a8bfa0d9a4b60f3a469e4a11e2c8aaa3288cad03159ef4da605f93726ad1e4d46952403c2c00b90147014dc8e641835 DIST google_api_core-2.37.0.tar.gz 203563 BLAKE2B ba146807ce2492ddf6b3f20bf755bbc94d87e4954502b48eb64aa849b4903deb4f6b636d1e29490464142befe1939410b18b13459c6330187440dd3e4aaff774 SHA512 eac0fdccc3cb91f90798f24b59820c21d10e57bfdc4ef82ec99275fc5e973d97f0b8101d8cf0544f9ddf3aa31cc769d67a20f4652b45d5a90edee74b2310c413 DIST google_api_core-2.37.0.tar.gz.provenance 5874 BLAKE2B 69e200997fbface49b057ecb9a71e8e4831165a4a35f70ae9a8d47e5ed014eff9ffc8aa6e1d91babfb0f48b253b8ec2f55dbeb9f237e188a4af13a85174efbc8 SHA512 ae9e22056daf16c716651bb469c7d5429d5bae483c5dff67b063c3721fecf3b4a9f2b6f0c18256a78f8adb4563f856366826d947cb716433ddebfff3484b391f +DIST google_api_core-2.38.0.tar.gz 206784 BLAKE2B 6ec0dbe090374c4db6e4f27dbf97120ca0b4a47d48e17a825590950bc6d6cffa5a3ba39a2e4c3f626ab4606b3519b61eac29d380fe26a3b168db242e1f12de14 SHA512 bef24488a2389a88366e8c20d927ee51b92526d781aacd284a7fe45d1861176a43ba06f0a7fade6ccc3bd5fff7fb6bb87b4f4ab6c06daf6ebc28e5de882775eb +DIST google_api_core-2.38.0.tar.gz.provenance 6015 BLAKE2B 07b8ff1968b19edf7532b32e0aa9c8aaac7ce793cc44475928f1d87e95794c9450a51daf000fb291826de61a18609f174b3f70a287fb65a075aa95c8b49392a8 SHA512 1444bb83b4ec729503d0e5a4a0103783bf31d456614687a384096acc4fb37ff2f7f2e24be18c09772221ad11600d3921a44fa5b875c674800d9f37bdaa22f95a diff --git a/dev-python/google-api-core/google-api-core-2.38.0.ebuild b/dev-python/google-api-core/google-api-core-2.38.0.ebuild new file mode 100644 index 000000000000..2b11a77adbaf --- /dev/null +++ b/dev-python/google-api-core/google-api-core-2.38.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core Library for Google Client Libraries" +HOMEPAGE=" + https://github.com/googleapis/google-cloud-python/ + https://pypi.org/project/google-api-core/ + https://googleapis.dev/python/google-api-core/latest/index.html +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="grpc" + +RDEPEND=" + >=dev-python/googleapis-common-protos-1.69.2[${PYTHON_USEDEP}] + >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}] + <dev-python/opentelemetry-api-2[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}] + >=dev-python/proto-plus-1.26.1[${PYTHON_USEDEP}] + >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.33.0[${PYTHON_USEDEP}] + <dev-python/requests-3[${PYTHON_USEDEP}] + grpc? ( + >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}] + >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + test? ( + >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}] + >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-sdk-1.44.0[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,mock} ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # The grpc_gcp module is missing to perform a stress test + tests/unit/test_grpc_helpers.py +) + +python_test() { + rm -rf google || die + epytest tests +} diff --git a/dev-python/iminuit/Manifest b/dev-python/iminuit/Manifest index af104939be7a..8a6788b751ec 100644 --- a/dev-python/iminuit/Manifest +++ b/dev-python/iminuit/Manifest @@ -1,2 +1,4 @@ DIST iminuit-2.32.0.tar.gz 1873843 BLAKE2B eaab9ca47e2a18c2fa468f6a5341d8d0797abfbfd90fb856dd53384693f22bf45eb7e9e6554566f5db21f5ea118c50cacdeb0fd0663c6286b6c2dbe937730fd1 SHA512 57cf6c4e51802042d3657628a95078477bb444d7ea26df84f5650912082716508b81f059fd2650db7eba3df410cafef7db04e8ed0c115947e81f1ffbe26cd1fe DIST iminuit-2.32.0.tar.gz.provenance 9224 BLAKE2B 7eccba7b4ee9e18bee1ece5d30726a116d14a960fcb11f6179ed0674a4aade2193dba0901455be153219d762d4954a4446009e78fad1ce6a205f391a5496db93 SHA512 0975fb351928e3c405ef8af0b5c8167fe191fba15744f4732af512753e8c566b5603752c230668d248d25fe4f7db7fc250172c5516ca4169fe4ac967a5083ec3 +DIST iminuit-2.33.0.tar.gz 1890920 BLAKE2B 1341f1f449335ba9c4010f5f23b0f43d24dc22c1d10802f9574d16225ca4923f6139bec13d0e3ba6cf02792f0e43fb48a4ee9e5f675291a168a1b53fb18bdf1d SHA512 4623e15cc6f630632f78af1419283f2cebe77ef4abe3016df36d194dd4e62e0073fdb5ee9e11d9ef72d08505422c3eda54222d63ee192ec270770dd5ef3f74a6 +DIST iminuit-2.33.0.tar.gz.provenance 9467 BLAKE2B 7f1db00108d6c84d3ea7a33d21ac35e979cfb521cea886b79b55e07fafdfac233254c5b908fc54a550a6626f5ca54ed4c29d834ca5627cce66d8399a535b7558 SHA512 1ef76c27ba0126603355a607a0464011d5b7e184054b1c99dce6fd1e034ec9d6fe4aa3df69117dfee35e403e872e9b6156dbcfbc9fb63e7591b1889c12fe9f4a diff --git a/dev-python/iminuit/iminuit-2.33.0.ebuild b/dev-python/iminuit/iminuit-2.33.0.ebuild new file mode 100644 index 000000000000..d89a3927b9a4 --- /dev/null +++ b/dev-python/iminuit/iminuit-2.33.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=scikit-build-core +PYPI_VERIFY_REPO=https://github.com/scikit-hep/iminuit +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake distutils-r1 virtualx pypi + +DESCRIPTION="Minuit numerical function minimization in Python" +HOMEPAGE=" + https://github.com/scikit-hep/iminuit/ + https://pypi.org/project/iminuit/ +" + +LICENSE="MIT LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] +" +DEPEND=" + >=dev-python/pybind11-3.0[${PYTHON_USEDEP}] +" +BDEPEND=" + ${DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + test? ( + dev-python/annotated-types[${PYTHON_USEDEP}] + dev-python/ipython[${PYTHON_USEDEP}] + dev-python/ipywidgets[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=10 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # precision error + tests/test_cost.py::test_Template_with_model_2D + + # TODO + tests/test_describe.py::test_with_pydantic_types +) + +src_prepare() { + distutils-r1_src_prepare + + # do not force LTO + sed -i -e '/INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die +} + +src_test() { + virtx distutils-r1_src_test +} diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest index ab17e7e8606b..343979fcee66 100644 --- a/dev-python/pandas/Manifest +++ b/dev-python/pandas/Manifest @@ -1,5 +1,3 @@ DIST pandas-2.3.3.tar.gz 4495223 BLAKE2B c31604617900d439020dcdd66fcbca1cf3b720b6f4dd8ea51891946ad04774754cf7636a2ffb9fe746d15911a88153d36d4033b6a0207e9c7a1653a0f677570d SHA512 4179acb9fd9d1c5d543bb19b22483b4c2b17a36d5b10270a02ff4d8370b43c16a93673bf5509a5b1d1c960c0fde9238bbbf5b309c6745d2abf3d934535f3fd85 -DIST pandas-3.0.4.tar.gz 4658146 BLAKE2B bae5091dfd7af75d2224cd5e5d0a018aa796e95f304bc6a2962ea81680b90c52e5d6f824e29b4c245508ccdd107e031e2f0e11b83f415bc99ba6cfd622b90122 SHA512 0321357d876f465d2bbfb7194e3a15242943ab37fbf8a05829cd4b87174ba56ff0991dafc86e44ec8bfb7223fbb1e1a711da866b87198ca4b61a21ebecc7143a -DIST pandas-3.0.4.tar.gz.provenance 9953 BLAKE2B ab4e6a9db911b4ad03f6cb90f78534dee408feab2340c03e69f4175295903194c459067ba5b00ac5e318a71820b20863c621377a7df8beca17325af721169200 SHA512 893b6a9c9799625af0e58159cf1430a1242a3febeba22fb555d03e1882e82f275fa797b71a4e17fe77f80611ace4b1917c99358db72e707f37ca0a88c0c7d9b3 DIST pandas-3.0.5.tar.gz 4658219 BLAKE2B caf76801d7cac5441f7170140ccca57e3bfb808a2c361673e50c36afaf4bf4fbce1269417d80942ae1c04f3dce5b53d66d8655362ab48f10ba52b7058365bdf4 SHA512 d082483edff92dbe61143681d270cc2ae7031ed59f8851e90e69a0139f988d57dfe0ae5b32ca829cb5912fd202db7c8a3dfe59b986068a983779184b454bc5ce DIST pandas-3.0.5.tar.gz.provenance 9718 BLAKE2B bf91942df1291d46668b5a816fadd82ac32cc6c3e2158234cea1b694c569c3d873514c77c4e43fd06ff22e2c2a60c77f6e38ab327ee798899dfa45807ebc6836 SHA512 ef940be2eba603efa97f90aefa32056a7b17fe5b572a7bccb42e553a0233afcb4b171772844ae5cef6cb5fcab28847dbf1a8360b2df8555866b7b384f9e27289 diff --git a/dev-python/pandas/pandas-3.0.4.ebuild b/dev-python/pandas/pandas-3.0.4.ebuild deleted file mode 100644 index 71f7b4db6756..000000000000 --- a/dev-python/pandas/pandas-3.0.4.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYPI_VERIFY_REPO=https://github.com/pandas-dev/pandas -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="threads(+)" - -VIRTUALX_REQUIRED="manual" - -inherit distutils-r1 optfeature pypi toolchain-funcs virtualx - -DESCRIPTION="Powerful data structures for data analysis and statistics" -HOMEPAGE=" - https://pandas.pydata.org/ - https://github.com/pandas-dev/pandas/ - https://pypi.org/project/pandas/ -" - -LICENSE="BSD" -SLOT="0" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ~riscv ~x86" -fi -IUSE="big-endian full-support minimal test X" -RESTRICT="!test? ( test )" - -RECOMMENDED_DEPEND=" - >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}] - >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}] -" - -# TODO: add pandas-gbq to the tree -# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11 -# https://github.com/statsmodels/statsmodels/issues/8287 -OPTIONAL_DEPEND=" - >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}] - dev-python/blosc[${PYTHON_USEDEP}] - >=dev-python/html5lib-1.1[${PYTHON_USEDEP}] - >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}] - >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}] - >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}] - >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}] - >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}] - >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}] - >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}] - >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}] - >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}] - >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}] - !arm? ( !hppa? ( !ppc? ( !x86? ( - >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}] - dev-python/statsmodels[${PYTHON_USEDEP}] - ) ) ) ) - !big-endian? ( - >=dev-python/tables-3.7.0[${PYTHON_USEDEP}] - ) - X? ( - || ( - >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}] - x11-misc/xclip - x11-misc/xsel - ) - ) -" -DEPEND=" - >=dev-python/numpy-2.3.3:=[${PYTHON_USEDEP}] -" -COMMON_DEPEND=" - ${DEPEND} - >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}] -" -BDEPEND=" - ${COMMON_DEPEND} - >=dev-build/meson-1.2.1 - >=dev-python/cython-3.1.0[${PYTHON_USEDEP}] - >=dev-python/versioneer-0.28[${PYTHON_USEDEP}] - test? ( - ${VIRTUALX_DEPEND} - ${RECOMMENDED_DEPEND} - ${OPTIONAL_DEPEND} - dev-libs/apache-arrow[brotli,parquet,snappy] - >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}] - >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}] - >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}] - >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}] - >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}] - >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}] - x11-misc/xclip - x11-misc/xsel - ) -" -RDEPEND=" - ${COMMON_DEPEND} - !minimal? ( ${RECOMMENDED_DEPEND} ) - full-support? ( ${OPTIONAL_DEPEND} ) -" - -EPYTEST_PLUGINS=() -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_IGNORE=( - # missing test data - pandas/tests/io/pytables/test_compat.py - ) - # Note; deselects relative to pandas/ - local EPYTEST_DESELECT=( - # require -Werror - # https://github.com/pandas-dev/pandas/pull/63436 - tests/config/test_config.py::TestConfig::test_case_insensitive - - # deprecation warning - 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]' - ) - - if ! tc-has-64bit-time_t; then - EPYTEST_DESELECT+=( - # Needs 64-bit time_t (TODO: split into 32-bit arch only section) - tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]' - 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]' - ) - fi - - if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - tests/plotting/test_misc.py::test_savefig - ) - fi - - case ${EPYTHON} in - python3.14) - EPYTEST_DESELECT+=( - # crashing - tests/resample/test_resampler_grouper.py::test_tab_complete_ipython6_warning - ) - ;; - esac - - local -x LC_ALL=C.UTF-8 - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die - # nonfatal from virtx - # --no-strict-data-files is necessary since upstream prevents data - # files from even being included in GitHub archives, sigh - # https://github.com/pandas-dev/pandas/issues/54907 - nonfatal epytest pandas/tests \ - --no-strict-data-files -o xfail_strict=false \ - -m "not single_cpu and not slow and not network and not db" || - die "Tests failed with ${EPYTHON}" -} - -pkg_postinst() { - optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck - optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1" - optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml - optfeature "for msgpack compression using blosc" dev-python/blosc - optfeature "Template engine for conditional HTML formatting" dev-python/jinja2 - optfeature "Plotting support" dev-python/matplotlib - optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt - optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0" - optfeature "R I/O support" dev-python/rpy2 - optfeature "Needed for parts of pandas.stats" dev-python/statsmodels - optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36" - optfeature "miscellaneous statistical functions" dev-python/scipy - optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/qtpy x11-misc/xclip x11-misc/xsel -} diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest index dc1afc4a4866..a9965e154952 100644 --- a/dev-python/pyproject-api/Manifest +++ b/dev-python/pyproject-api/Manifest @@ -2,3 +2,5 @@ DIST pyproject_api-1.11.0.tar.gz 23787 BLAKE2B 63846530d8299564466546f8b00bf46c3 DIST pyproject_api-1.11.0.tar.gz.provenance 9781 BLAKE2B 956f3099e731974bf28a4b31f7c29f8e34d2f4e5816e15f6c4db0257ff833b349c5b63caf9c83e2590a36d02ecc94d1771fb90488bc7955142b12666a6de3c46 SHA512 01fc7652d185f6f5b255461e3b7a0fd7d1d07680416e179a7ef9ba5cf71e6e813699fafbdb04780f85e9c2e30b9cb7bca02975171d93a5c3c465ac8a46e5b0a6 DIST pyproject_api-1.11.1.tar.gz 23991 BLAKE2B 29db06754c715a3c60c98974e9c98dd343cc5a75746eb58cb055647968b188d72c5dac67463b1bf17bd6ce0b8fc17b22141e21061d6a723adeb8be51f17002c3 SHA512 f012aa1734ab6108eee56f621ccdf938a07cf57a81e68425a8004c0a2de0130c6c246b131a88d439b07bdad828e9e895833947d27d74e9ea936d21fcea5f33fa DIST pyproject_api-1.11.1.tar.gz.provenance 9736 BLAKE2B 056f457a9d5c45fcd7983fc0ff6fedefc3b7ee3b74c7a98d3e9988769d9391f9fe5e803dea6ac5a65a4902d77c51371c7ef77dbbb824b617eab0477a324bd144 SHA512 52808c3501cfa20824de9798b0dba3ec7688e2410019820234f875cad61c4e97122d7875ae33799b4c0177bdac9af5391d96bf77cfb9b6c2c2ed19be5e21953d +DIST pyproject_api-1.11.2.tar.gz 24445 BLAKE2B a7ed162e1550ba6a391846a70067285ff988515faaf9afc45d270b17a56deda3416c2e93aabfe2c307a1ed34ae66662c032d078ce64934cef7062c9079fc4bd4 SHA512 be8529258b135fbf51d704ad948361cef213809e9f82ffa88300eebf14ace6ff63856b4e1d3381ac6cd90dc81563f17d14986a28b27f76a3f63d7e021e218cf2 +DIST pyproject_api-1.11.2.tar.gz.provenance 9830 BLAKE2B 2629cf77430ee9e25996689915be1435cd500a8d4a9cb53e807934f93f885d4fa7ed3c35607c359ac23d401a5c687232d2ab5faaa384e61cad5272a1da080f42 SHA512 1130cb68757fa01bf6031722f8cc4a62c50077d192091c7a67bbe3ab439302212062d7cc74634f5a1b3ee28b47f8fcbc2db40b6ffa4e763bd2cdef566c1a97cd diff --git a/dev-python/pyproject-api/pyproject-api-1.11.2.ebuild b/dev-python/pyproject-api/pyproject-api-1.11.2.ebuild new file mode 100644 index 000000000000..81e717ad883d --- /dev/null +++ b/dev-python/pyproject-api/pyproject-api-1.11.2.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/pyproject-api +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="API to interact with the python pyproject.toml based projects" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-api/ + https://pypi.org/project/pyproject-api/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-25[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/setuptools-70.1.0[${PYTHON_USEDEP}] + >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index e75ed3a8e5dd..dd86aad1fa68 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -4,6 +4,7 @@ DIST uv_build-0.12.12.tar.gz 424423 BLAKE2B c7ed255923f884467ecaf8d70be044bea5c3 DIST uv_build-0.12.13.tar.gz 424846 BLAKE2B 9fee11946f1067045349d28ba05b6dae8aaea430fdbbe19970c286d20f758d03343ed9a6afd2166f85ecfee3009fb66c7429f6ee8c58a6453e0203f2a3fca38a SHA512 77bf75208e6932b791b42d2a9dc199901a981d3ab8881e58cd5604e3207aef020538ff120770e0eb31646c1c0b7e972c816932c9d3bb0defc6b9583763607584 DIST uv_build-0.12.14.tar.gz 427528 BLAKE2B 81c3c2310058e279debf4c3964ac02fbccb0deec757fbb0824cf0e9a7e6edc0a49b269b382ee8ec47290bf37194c33c806bbb6778ba52d6915bbff3109007a9d SHA512 d8ff710bab00c287e3935e1411c9b9898a9db2107ac03285155bbcdda58e2d94d40556ace50986777b90832a03ea896149846b51e57691f9f243203c32ec44f7 DIST uv_build-0.12.15.tar.gz 427499 BLAKE2B 30c3f72775de6f609ada7eca182fbd46da150624945983bd64691c59afb86e5e6c2bbeda1ea7f0bb5d12e8c9a332e741a9e2443ac6edba09da90352c00680d6a SHA512 8ad1d541ee1e287683d3013efb453e0ce1867e1404b369c36ac8f46b7300dd201516ade51930aad08b38ef1d42dff362baa13f58281d454344fde22f00443919 +DIST uv_build-0.12.16.tar.gz 432812 BLAKE2B 2401a3d86cef31756ae50ad6fb888b731139c18bdd9ca019ac0d2dcd8fe2debad881de41f63987347975682650e78d719f9069922d02740a1b896923591bb956 SHA512 f97ba7943f2ab91859859091f8a13a0392c86182e7ffccaf0083f48f6d158fe9fd943a667c063a07316c9026b32e93b58a6e2ecab2ed45a37809d5014495e4d3 DIST uv_build-0.12.3.tar.gz 414444 BLAKE2B f226c1c2bf0b2af538f66095e20c02ad1933afdee62a07eff5f1135692bab47e286f67e7a8f5882e98c61fbb6bf831a85dd56a2d5af2bee6d62d8857a59e56bc SHA512 90d9af3e1a1ff1d7dda21fa38c0ac2d94536e73697ddabb408fb38e2d381498b2401007af0ab31c39cbf3b632aeca2991b3a66d7108e1c5eb7294b3fba8fe107 DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245 DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e diff --git a/dev-python/uv-build/uv-build-0.12.16.ebuild b/dev-python/uv-build/uv-build-0.12.16.ebuild new file mode 100644 index 000000000000..65d94f2051ae --- /dev/null +++ b/dev-python/uv-build/uv-build-0.12.16.ebuild @@ -0,0 +1,100 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/pyproject.toml +uv_build-${PV}/pyproject.toml.orig +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 51b06af7f5f4..574140353393 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -10,6 +10,8 @@ DIST uv-0.12.14-crates.tar.xz 44168832 BLAKE2B ad318ae7073d47eec81b715bb5461993c DIST uv-0.12.14.gh.tar.gz 8629043 BLAKE2B 2260d63c6061d3dd2bdcb267848e9e6379f2e09a72e34a024f988d27aeb6818b75c1dd34962f1730d5d394722c19394abc356735ed919f9edc0ac680f0fe6f1d SHA512 72354cb5cce51e938aba647cb6fa0956efb5a5d49be1a928f8965a0639d207e142170cefb2f5d5dc9e72943951580ca156e2a12be6b7c08d049c4dc3a7f1d944 DIST uv-0.12.15-crates.tar.xz 44168832 BLAKE2B ad318ae7073d47eec81b715bb5461993c03de35b99d7b657fc1541ae63a3e3a2e5e9010bd2dbc525fc9b543ef85bdb276552383bdf916164b980c510646f2c74 SHA512 1cb24613d418983e2d7b921fe4766c5dce9d68eede6f1a99a1187657d002446a1b97685b0246d96136c6d3701050d2490830f0f325bfb602620a856b4aa498ac DIST uv-0.12.15.gh.tar.gz 8628030 BLAKE2B 6640138ba52b1d4758e7d703652669b82de5246866145cbe62d0eda101738cc15a967037962c8a2f3a964cdf329896243a6363966088e2346a9499d2b85ea626 SHA512 7bc4c206e00ebb4540cd03b4eb70b120aebafe0392cfe652bd94dc8e003ea922eb451d2ce50c1468641f97709672cbea6c05f93739162fc822a8481fe2027089 +DIST uv-0.12.16-crates.tar.xz 43866124 BLAKE2B 50e976af5551b92eaf2edc16b9aa6c729d767b8d4a4b3a5d272a961f3332cbc61a49173aeb0c1bf80be50ba3a223e40b57e4869c5fadb35879d9fcb200135051 SHA512 ad82b057e8a42914757130d7feb2901479132a1bb8cfecf35933b4bf6e8a019e45251fc1058b448025d3d1398d4fcabebb4ecfbf284c757cc1fe19c7e0213f6e +DIST uv-0.12.16.gh.tar.gz 8687042 BLAKE2B 69c16bcfd99300ae8073d5f5022d4ad2a876ea989755b2e3c9ae07150bd5cb6a17ad4fffb501b353991275c79f6e0c416d17c4c66c628516869992d2d1e86a72 SHA512 2d139e609f23b584fc6942ba261d90f724c047f9fcfe0ededa235f763957ca04828b0189feb5824a732cd15c6e39e7d3d4c4e89ca895b69ea06664cd852c2ce1 DIST uv-0.12.3-crates.tar.xz 42197452 BLAKE2B 996bb294d37774e0cb5529c34552d20877cd82a3d063b6e4dc1f6feff05a7822a91c44408a970f038d3045312be0edd4c9e8d34f6eebc04d71bd4d2ffa0184ee SHA512 8de33956c5a603fb4aa1bb5ab6db68c537d7523a84f3092057f562b1209bc976b0bc64cc6ed76cbf1b0edb4981b6a41765fa5e2729a487e4e2322052aa08b8a4 DIST uv-0.12.3.gh.tar.gz 7273161 BLAKE2B 706a2297090b13c6f731d25f55ae8c2225e3b9bd820c61814f512c1e04d98d2e46ce5bfac6ec6ea346dbce1663aea644384b37663b53d64a08a90b48217bdb0d SHA512 a4933b9b9b852dee2485800ad82ee3be111a4a5a437ab32d5064cfd4004e124ba733294a546a097379c74cf1fc234d1da0488aec7725037c7b967ec1aa862a71 DIST uv-0.12.7-crates.tar.xz 44143088 BLAKE2B 075113e8cbafd99a1c70c4ce53678f2ceb13ce31dc7cafb5773e32ae9dfa14144390380e0149219912a0c4b92e6d3b9d0a0a0016cdd4c69097bf75adf1b8a716 SHA512 f9dbdad7cbddd3238c7cc9fbcbec4e92fc8c8c66bc7247ccc8159bb186223c199e3bd411ad9148750ec1fa258775dcec1e2bb6bc3287fca7aeb6ffa7ba4d6b44 diff --git a/dev-python/uv/uv-0.12.16.ebuild b/dev-python/uv/uv-0.12.16.ebuild new file mode 100644 index 000000000000..9826f9045941 --- /dev/null +++ b/dev-python/uv/uv-0.12.16.ebuild @@ -0,0 +1,151 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.96.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0 + Unicode-DFS-2016 ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die +} + +src_configure() { + local myfeatures=( + test-git + test-pypi + test-python + ) + + cargo_src_configure --no-default-features + # otherwise, rustc/llvm runs out of address space + use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0" +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + dobin "$(cargo_target_dir)"/{uv,uvx} + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest index f8e0dd7dd414..a69430242733 100644 --- a/dev-python/virtualenv/Manifest +++ b/dev-python/virtualenv/Manifest @@ -1,7 +1,7 @@ -DIST virtualenv-21.6.1.tar.gz 5526620 BLAKE2B a970f52b9a8ef5948ac0f2827ce9d2b724010bf77ef1fd678024d61834dd607cade4f1895c7f3cffd88d0b5f20353ee3b1934056d6d93a6d7576782aa71249e3 SHA512 bb5388dec00fa8e607188b1bd9240f2bbccf1b80ba94e4df30737eb435aae2be8637d534e2448cf7eae14dcc2f2b02a63168816c2207c8251c129db2a5665f39 -DIST virtualenv-21.6.1.tar.gz.provenance 9508 BLAKE2B fa5122071df6df6435ad11f102bed2f85d5ebbaf8ab6056c2f2c66c1d3e8366692dadda375f2c39151abc413ec540169197730101ba3061dccec0cf2f7bd2668 SHA512 f5180591d1f4cca9bb5632ea2918437daf30c1deb91fac7676a783e5ee19ea424a6bac7fd3a8c6eddff7996ef6c1a4358746d92788cbd283a8abb579d745935e DIST virtualenv-21.7.10.tar.gz 5350247 BLAKE2B 9d9b5f419c4ac1225ed4435a9f5a2e337854efe68b3453a67fb764e84b48d34d896ea322ab01de1892f33a0ceabf29a7937ecc1fa6173615c3e4e68aae4b3665 SHA512 87e8de301a3d089c1066a87cc40848c0e60985eddaba9aff217f41aaa10149d96dc0ec39ee507066c3f3cc402a9ca09ca8b22d14cf369c63075e2eb703187311 DIST virtualenv-21.7.10.tar.gz.provenance 9440 BLAKE2B 6f75442780a0ce863a63316b4c43c92c5464ca27065f1d31e410a8cdadbf716fd3b8c07dcb22e2c855b2a745d9dcdcab1249ee20457e413b25b611a08f86e18a SHA512 f4386b408b460bbd0921d48e1f0751dc93b253dd4f3a1adfbb565263fd63488f6fd64d68ef52b0a60651a256c7714a687fe5cb6c23126446a6def5578f2dc5ed +DIST virtualenv-21.7.11.tar.gz 5354008 BLAKE2B 166651d9ced8ac3b6bffb0330e23e140fe0a8861487ab50f2c6ebaded9b98c57103eb8a3d3f2526300f3bc1037fbea4178debc1486312daf4a90c60a7abff950 SHA512 f7befbd3c9c3b7347ca4e1ce9319854f9ad4c84b3d670415594a0c16f2c29210913751ae4e86e50c25cbc369020b1a14ac947b0595b752890a505e14024b4274 +DIST virtualenv-21.7.11.tar.gz.provenance 9765 BLAKE2B 37f1def545140512831ccddb7bd20499c4d58c5776ecc9490e898f45f5b0c44955a1c604e7be85abdb41a91955c93226bf9a8c812503906de8f03715b9fa07e9 SHA512 8b809ef182e3fd27cfeddef6e0634c15f348f034fd1693dd4660ee91af1243088f4113fe2bfe2e13194f5a5e87974ac88e74206976f05038fa98d97494e7f12b DIST virtualenv-21.7.4.tar.gz 5345511 BLAKE2B 30c7b5e782e4867e5d2a1726ab564af6d106280a909666a4dbee0a42d0cf9bde932681eb442cecb186d3a04bea329ebce458e45ecc5b745bfcc8a8fcc1e85997 SHA512 52db3945bf8c3c8f87db9b2e9df3ff22ab45b4ce3f0ffdbb9a7b3678df4cde0b0980dd9040adf478a6909d0650ff6f873a2db2d022e402e8d46edc8b67cf5c97 DIST virtualenv-21.7.4.tar.gz.provenance 9618 BLAKE2B 5cf72407fb515710895b6534a32c0b7b96329c3c8387aae5a1552e7d43a5447bb2d10c2198b61bd0150cf3cf719d54d5e3329a5a7230abb470e3805f87031a6b SHA512 a7280f39dfeb05379b7c9ba5dd3b9fdb8e7fda8a9496805795f53407fc175b308309640e77dfadec21806e2fb07c545ccb95c7e7b87fee68fa63fdf1fb30f58e DIST virtualenv-21.7.5.tar.gz 5346743 BLAKE2B 52c54885686970e47eb44c6271515164929382f7ab8f514c1cd4861fb9145354d4b299e1d2d5eb658504713545dc9d481db8dec8541235983f9f68d795b68d52 SHA512 708068427c768f6469ffc49afa9738ef7d7b1f3edd1809ed2e8267878eae7f5729ad0992fc9acefbda6059c4c42a78a6cba31af0c6dbf4de7414b6c12da924de diff --git a/dev-python/virtualenv/virtualenv-21.6.1.ebuild b/dev-python/virtualenv/virtualenv-21.7.11.ebuild index 5e79811206d5..b2791558c0f7 100644 --- a/dev-python/virtualenv/virtualenv-21.6.1.ebuild +++ b/dev-python/virtualenv/virtualenv-21.7.11.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="test" RESTRICT="!test? ( test )" @@ -27,7 +27,7 @@ RDEPEND=" >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}] >=dev-python/filelock-3.24.2[${PYTHON_USEDEP}] >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}] - >=dev-python/python-discovery-1.4.2[${PYTHON_USEDEP}] + >=dev-python/python-discovery-1.6[${PYTHON_USEDEP}] dev-python/ensurepip-pip >=dev-python/ensurepip-setuptools-70.1 diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest index 73769ef4d958..3859429e7db3 100644 --- a/dev-python/wcwidth/Manifest +++ b/dev-python/wcwidth/Manifest @@ -1,2 +1,3 @@ DIST wcwidth-0.8.2.tar.gz 1466253 BLAKE2B d71edfcfe3c948090b2a8b454ddc9b701668076cba72fe888a79df06ae0b952d2329c75f27ed086c11c5aa02c68e1058c154d9f4b85f783e2ce5263a6355936d SHA512 5fa3741d4db553d1b06ed1310e01e8a21e696da3489d37a9f45997c279dea494c773e78c2c9d5ad2efb2c8b2e1217170eabc93c76d71167539a04a377595e84b DIST wcwidth-0.8.3.tar.gz 1458450 BLAKE2B 19a6b8d3fcf0f1d59865860a8efaa7fa14b958ac24b79bc04f9a27988f8fde78497b3ed761e1a7f076a7ab992c71e1d45d088cbb19836d1f73abee6e2f81e5b8 SHA512 d5477dd2a1f6dc6e14dc0e5e34f08b8c78c008ee2390b670155bc163f2c67f1a58ffab2ed35bbe7434d4b4ebef0c91f02cdeae15337d380c28b94858c72692dd +DIST wcwidth-0.8.4.tar.gz 414609 BLAKE2B 492540a34734e65266211b1412a2b6150c8598e46db05ab099e954c57af2c351ff13df09c43f79c4627060ee86c6220014b0f087a5712f3fef10eff63dca1ddb SHA512 29b89f55efc308d1b1b9dd16ef7224964c7c02aa729e2bd6779b0fa56ac2eb89054c29087a4dd410d183294d06f6217451b1ca693b549483fb0b732edb3c6f70 diff --git a/dev-python/wcwidth/wcwidth-0.8.4.ebuild b/dev-python/wcwidth/wcwidth-0.8.4.ebuild new file mode 100644 index 000000000000..75230a0cfae8 --- /dev/null +++ b/dev-python/wcwidth/wcwidth-0.8.4.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Measures number of Terminal column cells of wide-character codes" +HOMEPAGE=" + https://pypi.org/project/wcwidth/ + https://github.com/jquast/wcwidth/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} + +python_install_all() { + docinto docs + dodoc docs/intro.rst + distutils-r1_python_install_all +} diff --git a/dev-vcs/git-lfs/Manifest b/dev-vcs/git-lfs/Manifest index 0f9af4be3a28..8263b37ae6be 100644 --- a/dev-vcs/git-lfs/Manifest +++ b/dev-vcs/git-lfs/Manifest @@ -1,2 +1,3 @@ DIST git-lfs-3.7.1-deps.tar.xz 21418188 BLAKE2B f26ffa8956af522131384e9ad435c456e275394c47aa10770fe416e140d69393a8a7ae20d9264e4b4678b6029e87fc623a5de599535ad2598c849dbb44dff10e SHA512 9e93072ad1dfe9a8fd28f5417de6c35c2720d393fabf07d32d8e1bb63b91a5feb8163d74479db7333253d4615dafb503e2540ef3d51a9b4262709a1150336b73 DIST git-lfs-3.7.1.tar.gz 713503 BLAKE2B 94bc626888c824f30638c23d7cfe852128505e17880a8fb45499350abd3d84e75389c38638b80c5b306def8778c2cb0fd1b9f352aac06db8209848b251d325d3 SHA512 5bbf7847737a80e44295070a95e5de9f24186c9fbf58e7bda91e938af2542bcaae2ae9197b77384861d9ef6cd5ed868e9388836925ff7ab5d50157df39fc174b +DIST git-lfs-3.8.0.tar.gz 3598783 BLAKE2B 11e947f22c66cad62875d7a436152611c81fa34c161336618b8f686cbd3b3de6c50cc7698e7f76e8cfd2cba96c9377c725ccd92fff15711fdd28a0a3b4f218d8 SHA512 f541a6f728ea4f6889cc5a05184599b582927918bf871e0d609fc9e41bf8416ff820abe3d49c041008d2abea1b3a2d0ad42fe0a925ceecf7293512a2c9fe5d90 diff --git a/dev-vcs/git-lfs/git-lfs-3.8.0.ebuild b/dev-vcs/git-lfs/git-lfs-3.8.0.ebuild new file mode 100644 index 000000000000..e91ed1b4e766 --- /dev/null +++ b/dev-vcs/git-lfs/git-lfs-3.8.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 2017-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +EGO_PN=github.com/git-lfs/git-lfs +# Update the ID as it's included in each build. +COMMIT_ID="aece9221f8c09221a14395d964806b956289bc07" + +inherit edo go-module shell-completion + +DESCRIPTION="Command line extension and specification for managing large files with git" +HOMEPAGE=" + https://git-lfs.com + https://github.com/git-lfs/git-lfs +" + +if [[ "${PV}" = 9999* ]]; then + EGIT_REPO_URI="https://${EGO_PN}" + inherit git-r3 +else + SRC_URI="https://${EGO_PN}/releases/download/v${PV}/${PN}-vendor-v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="Apache-2.0 BSD BSD-2 BSD-4 ISC MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="doc test" + +BDEPEND=" + >=dev-lang/go-1.25.0 + doc? ( dev-ruby/asciidoctor ) +" +RDEPEND="dev-vcs/git" + +RESTRICT+=" !test? ( test )" +# The golang compiler already strips. +QA_PRESTRIPPED="/usr/bin/git-lfs" + +DOCS=( + CHANGELOG.md + CODE-OF-CONDUCT.md + CONTRIBUTING.md + README.md + SECURITY.md +) + +src_compile() { + export CGO_ENABLED=0 + + # Flags -w, -s: Omit debugging information to reduce binary size, + # see https://golang.org/cmd/link/. + local mygobuildargs=( + -ldflags="-X ${EGO_PN}/config.GitCommit=${COMMIT_ID} -s -w" + -gcflags=" " + -trimpath + -v -work -x + ) + ego build "${mygobuildargs[@]}" -o git-lfs git-lfs.go + + if use doc; then + for doc in docs/man/*adoc; + do + edo asciidoctor -b manpage "${doc}" + done + fi + + # Generate auto-completion scripts. + # bug 914542 + ./git-lfs completion bash > "${PN}.bash" || die + ./git-lfs completion fish > "${PN}.fish" || die + ./git-lfs completion zsh > "${PN}.zsh" || die +} + +src_install() { + dobin git-lfs + einstalldocs + + # Install auto-completion scripts generated earlier. + # bug 914542 + newbashcomp "${PN}.bash" "${PN}" + dofishcomp "${PN}.fish" + newzshcomp "${PN}.zsh" "_${PN}" + + use doc && doman docs/man/*.1 +} + +src_test() { + local mygotestargs=( + -ldflags="-X ${EGO_PN}/config.GitCommit=${COMMIT_ID}" + ) + ego test "${mygotestargs[@]}" ./... +} + +pkg_postinst () { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "" + elog "Run 'git lfs install' once for each user account manually." + elog "For more details see https://bugs.gentoo.org/show_bug.cgi?id=733372." + fi +} diff --git a/dev-vcs/git-lfs/git-lfs-9999.ebuild b/dev-vcs/git-lfs/git-lfs-9999.ebuild index 98f790e69530..b1cd812be661 100644 --- a/dev-vcs/git-lfs/git-lfs-9999.ebuild +++ b/dev-vcs/git-lfs/git-lfs-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2017-2025 Gentoo Authors +# Copyright 2017-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,25 +18,17 @@ if [[ "${PV}" = 9999* ]]; then EGIT_REPO_URI="https://${EGO_PN}" inherit git-r3 else - SRC_URI="https://${EGO_PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz" - # Add the manually vendored tarball. - # 1) Create a tar archive optimized to reproduced by other users or devs. - # 2) Compress the archive using XZ limiting decompression memory for - # pretty constraint systems. - # Use something like: - # GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw - # tar cf "${P}-deps.tar" go-mod \ - # --mtime="1970-01-01" --sort=name --owner=portage --group=portage - # xz -k -9eT0 --memlimit-decompress=256M "${P}-deps.tar" - SRC_URI+=" https://files.holgersson.xyz/gentoo/distfiles/golang-pkg-deps/${P}-deps.tar.xz" + SRC_URI="https://${EGO_PN}/releases/download/v${PV}/${PN}-vendor-v${PV}.tar.gz -> ${P}.tar.gz" fi LICENSE="Apache-2.0 BSD BSD-2 BSD-4 ISC MIT" SLOT="0" # KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + IUSE="doc test" BDEPEND=" + >=dev-lang/go-1.25.0 doc? ( dev-ruby/asciidoctor ) " RDEPEND="dev-vcs/git" diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index 1af87c8401bf..1b2d8520f255 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,10 +1,3 @@ -DIST pipewire-1.4.0-docs.tar.xz 67012 BLAKE2B 5d9f7432e33c86a5172ea310742a8e50312870eabab7f4357a1234580b8258c9bb83daa73fdcc1228c61629eb8555c00b961704671e55c6ed030f6c95b043397 SHA512 33791b64a577ead6975e0a615b1e4382ecafcc6f3dd6409ebd360c533312cab5f55f92a394bc42629ec4f53f17790ddedfb26a2b35cb4aa06ea07fd30bfce3d6 -DIST pipewire-1.4.10.tar.bz2 1944899 BLAKE2B e0d71a3916863cdced316ea8d54d492a5ec5b743d049ecf10a3fded21b4a511e98a7923295a5c5990d089878e0e194cd9e53e8d2cbeb1b219cb7eee1f847e2cb SHA512 5994ff5da5227bfdd90211ebe4d5342c83480413b4973dba63350b034a010f570c2b30334e4ded2ff63227bf0b403d960d5b069646385ac012b0a02701aa76c1 -DIST pipewire-1.4.11.tar.bz2 1947498 BLAKE2B 9e540c32066b2e1930bcc2cac667913b9fb651e382d2387f654e54fae31b74e86ea4eda85823d71ab944b9ac96fd3cceb97c3772c7e2d25fe1ff7f9ff6a52c77 SHA512 a6624b9546cba5b1707acfe7f378cd1173432e3902432428437cd0b6dd4293a732afe83c25d4c16dba16dd6bc3bb0fc1b10814cd2431aa0e4493179a22d53b9d -DIST pipewire-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz 16180 BLAKE2B 96bde7ab04f6f7b6fc08f3f39d5a4202563df214440d24c24c0367ff2eb51d0d31307f9b982a8fbd9e88dd7ab1d0ad204123abe90e10ccf1479856687593a752 SHA512 fbd9644a5df81ee4bc9687f6a8b69a0bf12deef43d749c9c5cbb976f461771deeae4bd13340a6acaffae4b0187221cf734be2b3b62408a4ce79d70575a7e664b DIST pipewire-1.6.0-docs.tar.xz 76112 BLAKE2B ce8e5307b04ecfb13ca2b7ca46385e31f50829e0270f935f437ad9b1c23d54de1709bfa03def0bb37fbf969349f2d54efe4386f59794db6d95a1c976d03b0db6 SHA512 1bc137e21c524e9f57bcc11aaac8a2fc68d46e7e38e10c387ede93deaa69ce6d93cb6b7a22128307b5aca6b58e269f42994997ae88732ef9860a83757ca809fa -DIST pipewire-1.6.4.tar.bz2 2061919 BLAKE2B 5d708b22d1f1f8096bc439475d94448c36dce285c7fae8a2187fba8c5865feda324c03ba17bee768ba615eff46e6b2e173c5c032563f450efe1bad9e994d2b7a SHA512 31c611592580869be53b4a0e1b3836343970c765481263a83205cb61068d2b82db718d590dce51ff1a0ba86afbec04b310a5fdf148901313d0d5c90f29c66b4d -DIST pipewire-1.6.5.tar.bz2 2061864 BLAKE2B d86cd6e810cc67d97130eca55df53aab60130001ba828497eefdd3e541b8d75c6d89d0d3b24cbbaa4d3ac8367b7ad68137e3c68a5d19a83fbdac463b82cfc166 SHA512 b98f9f9beb2a84b9cb7c7d8307a223033699c0b8f64b3b9a755290d979e3aa233c121b5c81da58a959b1c1cb6de506ccf8ee4724c418f75e2d30c3154ace2bca -DIST pipewire-1.6.6.tar.bz2 2062360 BLAKE2B 86526b22b5632c981a7207eec7566074b1ded282290000da8fa8b0738e89e56d8e5997d50594099725726d97001dfe6e5b86b42c51be2304048c77305f95b4c5 SHA512 dc46ec9f30d4f708cd5263aa27366df1f023556126d46d96b7a6503ac342c195ad74c129fc4889c2b4f55578315aa1bf1423e56efb9aaacf1146c2aa4f0cc881 -DIST pipewire-1.6.7.tar.bz2 2062096 BLAKE2B 11b40b9da81e3f7df891a0863910945c09496682119c87d17f043b1a43cda6dc9c58ee03b4e243da63a9d62e8907a238b4ea4ddf85656920e5e0386d949c95f1 SHA512 04e10a860774de00303df2cc84fe1b5a60711ececb85ec8fe0271b016237cfbb5afd7425a0613ff9257b117221964da50f5457df5390461001b711eff3618ec0 DIST pipewire-1.6.8.tar.bz2 2062635 BLAKE2B 1b2489186f88a433e0f00b1a1e5134f35ac5e6479f186f01de38ac22bab516d64737b95c67765abf4e55ee636743f2e852a7e3f1afade1c441b9ac01760e4293 SHA512 69fdb789d992b3f4c0ff50e47e5f200869510c28edce724d2db3e6e065d04d46f7a240ea5811ac30ce1053fbb17bcb8cf4b49ac819be551c29f96aab6a9c9511 +DIST pipewire-1.6.9.tar.bz2 2065479 BLAKE2B 52f5d7b992be73a887ef08050c0b35e8e05444d951036cf5a63cdb5d05a68cf424446d1ef7f7cd03f94e3afa117baef547d926358f51c76a7fd0b72130ea3f36 SHA512 b82e156b76c47c190dd3492bcb34284e4d17e075393dde48a3402fee44b0ccb8fede4fd6d3ead75542a7d3e7596300d35abd6fb7e3fbdced9dc564f00ad0d780 diff --git a/media-video/pipewire/files/pipewire-1.4.6-no-automagic-ebur128.patch b/media-video/pipewire/files/pipewire-1.4.6-no-automagic-ebur128.patch deleted file mode 100644 index 7b2323aae37a..000000000000 --- a/media-video/pipewire/files/pipewire-1.4.6-no-automagic-ebur128.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://bugs.gentoo.org/955373 -https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2420 - -From f42786d60cf94ba76ba447c3561148ed7d6c3293 Mon Sep 17 00:00:00 2001 -Message-ID: <f42786d60cf94ba76ba447c3561148ed7d6c3293.1751075793.git.sam@gentoo.org> -From: Sam James <sam@gentoo.org> -Date: Sat, 28 Jun 2025 02:54:34 +0100 -Subject: [PATCH] spa: allow disabling deps via -Debur128/-Dudev - -With .enabled(), Meson doesn't have some magic that packagers rely on -to explicitly disable finding a dependency if an option is off. Drop -the unnecessary .enabled() accordingly. ---- - spa/meson.build | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/spa/meson.build b/spa/meson.build -index 48a0000a1..637aeb8d4 100644 ---- a/spa/meson.build -+++ b/spa/meson.build -@@ -114,7 +114,7 @@ if get_option('spa-plugins').allowed() - cdata.set('HAVE_ALSA_COMPRESS_OFFLOAD', compress_offload_option.allowed()) - - # common dependencies -- libudev_dep = dependency('libudev', required: get_option('udev').enabled()) -+ libudev_dep = dependency('libudev', required: get_option('udev')) - cdata.set('HAVE_LIBUDEV', libudev_dep.found()) - summary({'Udev': libudev_dep.found()}, bool_yn: true, section: 'Backend') - -@@ -124,7 +124,7 @@ if get_option('spa-plugins').allowed() - lilv_lib = dependency('lilv-0', required: get_option('lv2')) - summary({'lilv (for lv2 plugins)': lilv_lib.found()}, bool_yn: true, section: 'filter-graph') - -- ebur128_lib = dependency('libebur128', required: get_option('ebur128').enabled()) -+ ebur128_lib = dependency('libebur128', required: get_option('ebur128')) - summary({'EBUR128': ebur128_lib.found()}, bool_yn: true, section: 'filter-graph') - - cdata.set('HAVE_SPA_PLUGINS', true) diff --git a/media-video/pipewire/files/pipewire-1.4.6-no-automagic-fftw.patch b/media-video/pipewire/files/pipewire-1.4.6-no-automagic-fftw.patch deleted file mode 100644 index 57a880bb4113..000000000000 --- a/media-video/pipewire/files/pipewire-1.4.6-no-automagic-fftw.patch +++ /dev/null @@ -1,44 +0,0 @@ -https://bugs.gentoo.org/955373 -https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2421 - -From 64b7a8990e2d6f37572d0b86c0d0847a283ba99e Mon Sep 17 00:00:00 2001 -Message-ID: <64b7a8990e2d6f37572d0b86c0d0847a283ba99e.1751075990.git.sam@gentoo.org> -From: Sam James <sam@gentoo.org> -Date: Sat, 28 Jun 2025 02:59:03 +0100 -Subject: [PATCH] meson: add fftw option - -Packagers need to have a way to control whether a dependency is used -even if it's installed/available. ---- - meson.build | 2 +- - meson_options.txt | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 2331ac826..0ba5c57a8 100644 ---- a/meson.build -+++ b/meson.build -@@ -321,7 +321,7 @@ cdata.set('HAVE_DBUS', dbus_dep.found()) - sdl_dep = dependency('sdl2', required : get_option('sdl2')) - summary({'SDL2 (video examples)': sdl_dep.found()}, bool_yn: true, section: 'Misc dependencies') - drm_dep = dependency('libdrm', required : false) --fftw_dep = dependency('fftw3f', required : false) -+fftw_dep = dependency('fftw3f', required : get_option('fftw')) - summary({'fftw3f (filter-chain convolver)': fftw_dep.found()}, bool_yn: true, section: 'Misc dependencies') - cdata.set('HAVE_FFTW', fftw_dep.found()) - -diff --git a/meson_options.txt b/meson_options.txt -index 74ce3fa94..cd2c839f7 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -383,3 +383,7 @@ option('ebur128', - description: 'Enable code that depends on ebur128', - type: 'feature', - value: 'auto') -+option('fftw', -+ description: 'Enable code that depends on fftw', -+ type: 'feature', -+ value: 'auto') --- -2.50.0 - diff --git a/media-video/pipewire/files/pipewire-1.6.4-filter-graph-sync_volume-init.patch b/media-video/pipewire/files/pipewire-1.6.4-filter-graph-sync_volume-init.patch deleted file mode 100644 index 8153ba0cc1c8..000000000000 --- a/media-video/pipewire/files/pipewire-1.6.4-filter-graph-sync_volume-init.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b09c8d79c5b868dd204b05940483b0203f1400f4 Mon Sep 17 00:00:00 2001 -From: Wim Taymans <wtaymans@redhat.com> -Date: Wed, 20 May 2026 11:32:39 +0200 -Subject: [PATCH] filter-graph: sync_volume initializes the control ports - -Setting the volume control ports with a volume param also initializes -the controls. This ensures the controls are not restored to their -default value when the graph is activated. - -Fixes #5192 ---- - spa/plugins/filter-graph/filter-graph.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/spa/plugins/filter-graph/filter-graph.c b/spa/plugins/filter-graph/filter-graph.c -index cd1ec7841..5df00604a 100644 ---- a/spa/plugins/filter-graph/filter-graph.c -+++ b/spa/plugins/filter-graph/filter-graph.c -@@ -740,6 +740,9 @@ static int sync_volume(struct graph *graph, struct volume *vol) - } - v = v * (vol->max[n_port] - vol->min[n_port]) + vol->min[n_port]; - -+ p->control_initialized = true; -+ p->control_current = v; -+ - n_hndl = SPA_MAX(1u, p->node->n_hndl); - res += port_id_set_control_value(p, i % n_hndl, v); - } --- -GitLab - diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml index 4b0ca4bb6762..1939672f8cb3 100644 --- a/media-video/pipewire/metadata.xml +++ b/media-video/pipewire/metadata.xml @@ -25,8 +25,6 @@ <flag name="jack-sdk">Use PipeWire as JACK replacement</flag> <flag name="libcamera">Enable libcamera plugin via <pkg>media-libs/libcamera</pkg> </flag> - <flag name="liblc3">Allow loading LC3 plugins via <pkg>media-sound/liblc3</pkg> - </flag> <flag name="loudness">Enable loudness normalisation according to the EBU R128 standard using <pkg>media-libs/libebur128</pkg> </flag> <flag name="lv2">Allow loading LV2 plugins via <pkg>media-libs/lv2</pkg> diff --git a/media-video/pipewire/pipewire-1.4.10.ebuild b/media-video/pipewire/pipewire-1.4.10.ebuild deleted file mode 100644 index 39d0c76f231a..000000000000 --- a/media-video/pipewire/pipewire-1.4.10.ebuild +++ /dev/null @@ -1,558 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - liblc3? ( media-sound/liblc3 ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-ebur128.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-fftw.patch - "${WORKDIR}"/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_native_use_feature liblc3 bluez5-codec-lc3) - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.4.11.ebuild b/media-video/pipewire/pipewire-1.4.11.ebuild deleted file mode 100644 index 9be8abcf0a1d..000000000000 --- a/media-video/pipewire/pipewire-1.4.11.ebuild +++ /dev/null @@ -1,558 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - liblc3? ( media-sound/liblc3 ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-ebur128.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-fftw.patch - "${WORKDIR}"/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_native_use_feature liblc3 bluez5-codec-lc3) - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.4.9999.ebuild b/media-video/pipewire/pipewire-1.4.9999.ebuild deleted file mode 100644 index 8a111594123a..000000000000 --- a/media-video/pipewire/pipewire-1.4.9999.ebuild +++ /dev/null @@ -1,558 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm64 ~loong ~mips" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - liblc3? ( media-sound/liblc3 ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-ebur128.patch - "${FILESDIR}"/${PN}-1.4.6-no-automagic-fftw.patch - "${WORKDIR}"/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(meson_native_use_feature bluetooth bluez5-backend-ofono) - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) - $(meson_native_use_feature bluetooth bluez5-codec-aac) - $(meson_native_use_feature bluetooth bluez5-codec-aptx) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_native_use_feature liblc3 bluez5-codec-lc3) - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.6.4-r1.ebuild b/media-video/pipewire/pipewire-1.6.4-r1.ebuild deleted file mode 100644 index 6e130589e408..000000000000 --- a/media-video/pipewire/pipewire-1.6.4-r1.ebuild +++ /dev/null @@ -1,571 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-sound/liblc3 - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - "${FILESDIR}"/${PN}-1.6.4-filter-graph-sync_volume-init.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd libsystemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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-lc3) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - -Donnxruntime=disabled - -Dbluez5-plc-spandsp=disabled - -Dbluez5-codec-ldac-dec=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - # Upgrading from a previous major version may require a restart (bug #964059) - if use sound-server && ver_test $(ver_cut 1-2 ${ver}) -lt $(ver_cut 1-2 ${PV}) ; then - ewarn "Please restart PipeWire after upgrading to a new major version:" - if use systemd ; then - ewarn " $ systemctl --user daemon-reload" - ewarn " $ systemctl restart --user pipewire.service" - ewarn " $ systemctl restart --user pipewire-pulse.service" - ewarn " $ systemctl restart --user wireplumber.service" - else - ewarn " $ gentoo-pipewire-launcher restart" - fi - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.6.4.ebuild b/media-video/pipewire/pipewire-1.6.4.ebuild deleted file mode 100644 index 58a0b1833c72..000000000000 --- a/media-video/pipewire/pipewire-1.6.4.ebuild +++ /dev/null @@ -1,570 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-sound/liblc3 - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd libsystemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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-lc3) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - -Donnxruntime=disabled - -Dbluez5-plc-spandsp=disabled - -Dbluez5-codec-ldac-dec=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - # Upgrading from a previous major version may require a restart (bug #964059) - if use sound-server && ver_test $(ver_cut 1-2 ${ver}) -lt $(ver_cut 1-2 ${PV}) ; then - ewarn "Please restart PipeWire after upgrading to a new major version:" - if use systemd ; then - ewarn " $ systemctl --user daemon-reload" - ewarn " $ systemctl restart --user pipewire.service" - ewarn " $ systemctl restart --user pipewire-pulse.service" - ewarn " $ systemctl restart --user wireplumber.service" - else - ewarn " $ gentoo-pipewire-launcher restart" - fi - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.6.5.ebuild b/media-video/pipewire/pipewire-1.6.5.ebuild deleted file mode 100644 index 773e2bb5aa21..000000000000 --- a/media-video/pipewire/pipewire-1.6.5.ebuild +++ /dev/null @@ -1,570 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-sound/liblc3 - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd libsystemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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-lc3) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - -Donnxruntime=disabled - -Dbluez5-plc-spandsp=disabled - -Dbluez5-codec-ldac-dec=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - # Upgrading from a previous major version may require a restart (bug #964059) - if use sound-server && ver_test $(ver_cut 1-2 ${ver}) -lt $(ver_cut 1-2 ${PV}) ; then - ewarn "Please restart PipeWire after upgrading to a new major version:" - if use systemd ; then - ewarn " $ systemctl --user daemon-reload" - ewarn " $ systemctl restart --user pipewire.service" - ewarn " $ systemctl restart --user pipewire-pulse.service" - ewarn " $ systemctl restart --user wireplumber.service" - else - ewarn " $ gentoo-pipewire-launcher restart" - fi - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.6.7.ebuild b/media-video/pipewire/pipewire-1.6.7.ebuild deleted file mode 100644 index 58a0b1833c72..000000000000 --- a/media-video/pipewire/pipewire-1.6.7.ebuild +++ /dev/null @@ -1,570 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{13..14} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -elif [[ ${PV} == *.9999 ]] ; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - EGIT_BRANCH="${PV%.*}" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" -IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" - -# Once replacing system JACK libraries is possible, it's likely that -# jack-client IUSE will need blocking to avoid users accidentally -# configuring their systems to send PW sink output to the emulated -# JACK's sink - doing so is likely to yield no audio, cause a CPU -# cycles consuming loop (and may even cause GUI crashes)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -# TODO: should we add "pulseaudio? ( sound-server)"? is libpipewire-module-pulse-tunnel.so useful without sound-server? -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( >=dev-util/gdbus-codegen-2.80.5-r1 ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both new webrtc-audio-processing:2 and legacy webrtc-audio-processing:1. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-sound/liblc3 - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( - media-libs/webrtc-audio-processing:= - || ( - >=media-libs/webrtc-audio-processing-2.0:2 - >=media-libs/webrtc-audio-processing-1.2:1 - ) - ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - fftw? ( sci-libs/fftw:3.0=[${MULTILIB_USEDEP}] ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - libcamera? ( media-libs/libcamera:= ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - if [[ ${PV} != *9999 && -d "${FILESDIR}"/${PV} ]] ; then - eapply "${FILESDIR}"/${PV} - fi -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd libsystemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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-lc3) - $(meson_native_use_feature bluetooth bluez5-codec-ldac) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -Dcontrol=enabled # Matches upstream - -Daudiotestsrc=enabled # Matches upstream - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_feature loudness ebur128) - $(meson_feature fftw) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - $(meson_native_use_feature libcamera) - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -Dvideoconvert=enabled # Matches upstream - -Dvideotestsrc=enabled # Matches upstream - -Dvolume=enabled # Matches upstream - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) - $(meson_native_use_feature extra pw-cat) - -Dudev=enabled - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - $(meson_native_use_feature pulseaudio libpulse) - - # TODO - -Dsnap=disabled - -Donnxruntime=disabled - -Dbluez5-plc-spandsp=disabled - -Dbluez5-codec-ldac-dec=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 - # And the current dosym8 -r implementation is likely affected by the same issue, too. - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r4 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - # Upgrading from a previous major version may require a restart (bug #964059) - if use sound-server && ver_test $(ver_cut 1-2 ${ver}) -lt $(ver_cut 1-2 ${PV}) ; then - ewarn "Please restart PipeWire after upgrading to a new major version:" - if use systemd ; then - ewarn " $ systemctl --user daemon-reload" - ewarn " $ systemctl restart --user pipewire.service" - ewarn " $ systemctl restart --user pipewire-pulse.service" - ewarn " $ systemctl restart --user wireplumber.service" - else - ewarn " $ gentoo-pipewire-launcher restart" - fi - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire <youruser>" - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio <youruser>" - elog - - if ! use jack-sdk ; then - elog - 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 <application> 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" - elog - elog "A reboot is recommended to avoid interferences from still running" - elog "PulseAudio daemon." - elog - elog "Both new users and those upgrading need to enable WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.6.6.ebuild b/media-video/pipewire/pipewire-1.6.9.ebuild index 773e2bb5aa21..8a3555ca6e47 100644 --- a/media-video/pipewire/pipewire-1.6.6.ebuild +++ b/media-video/pipewire/pipewire-1.6.9.ebuild @@ -63,7 +63,7 @@ LICENSE="MIT LGPL-2.1+ GPL-2" SLOT="0/0.4" IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings" IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux" -IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf" +IUSE+=" pulseaudio sound-server sofa ssl system-service systemd test v4l X zeroconf" # Once replacing system JACK libraries is possible, it's likely that # jack-client IUSE will need blocking to avoid users accidentally @@ -155,7 +155,7 @@ RDEPEND=" !media-sound/jack-audio-connection-kit !media-sound/jack2 ) - libcamera? ( media-libs/libcamera:= ) + libcamera? ( >=media-libs/libcamera-0.6.0:= ) loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) lv2? ( media-libs/lilv ) modemmanager? ( >=net-misc/modemmanager-1.10.0 ) @@ -165,6 +165,7 @@ RDEPEND=" roc? ( >=media-libs/roc-toolkit-0.4.0:= ) readline? ( sys-libs/readline:= ) selinux? ( sys-libs/libselinux ) + sofa? ( media-libs/libmysofa ) ssl? ( dev-libs/openssl:= ) systemd? ( sys-apps/systemd ) system-service? ( acct-user/pipewire ) @@ -294,7 +295,7 @@ multilib_src_configure() { -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) - -Dlibmysofa=disabled # libmysofa is unpackaged + $(meson_native_use_feature sofa libmysofa) $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build diff --git a/media-video/pipewire/pipewire-1.6.9999.ebuild b/media-video/pipewire/pipewire-1.6.9999.ebuild index 606bb4131b8d..8a3555ca6e47 100644 --- a/media-video/pipewire/pipewire-1.6.9999.ebuild +++ b/media-video/pipewire/pipewire-1.6.9999.ebuild @@ -155,7 +155,7 @@ RDEPEND=" !media-sound/jack-audio-connection-kit !media-sound/jack2 ) - libcamera? ( media-libs/libcamera:= ) + libcamera? ( >=media-libs/libcamera-0.6.0:= ) loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) lv2? ( media-libs/lilv ) modemmanager? ( >=net-misc/modemmanager-1.10.0 ) diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild index 606bb4131b8d..8a3555ca6e47 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-9999.ebuild @@ -155,7 +155,7 @@ RDEPEND=" !media-sound/jack-audio-connection-kit !media-sound/jack2 ) - libcamera? ( media-libs/libcamera:= ) + libcamera? ( >=media-libs/libcamera-0.6.0:= ) loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) lv2? ( media-libs/lilv ) modemmanager? ( >=net-misc/modemmanager-1.10.0 ) diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index a2a7cebc9a56..63af330cf7ed 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -1,6 +1,4 @@ -DIST wireplumber-0.5.13-docs.tar.xz 4772 BLAKE2B 09a5ea2b7b3886f11829e94446bcbf35e1c0fa514398d0b1f8d1a2a1d52764f35adad561f815031eca8e12444ae16eb60a59c81fd5ff08b1d7a601374dfe74ab SHA512 a764f71f33fe377b16ad572325885df26b99ba107201960d5f4a606d893b3a80d3a002650d23df0aab81fd5ef339ea2ee8e6d3963decb392994f19a1aa01dc24 -DIST wireplumber-0.5.14-docs.tar.xz 4772 BLAKE2B d620955580834188b44064692e49ba991c14d3834a291a5e3cbd94e58694a4eb677735eccc3d1d41b3754ad7213e9709abf148d703ea20699b0dc83e3a1def5f SHA512 76eb42ec3409ba8ae5f7e1ae76052a52da46a078ce39b2b0f97603f0208197d34d4c954f1ed8f7a160f831cb0c3c6d62f392230a41396cb8785f74af291161f5 -DIST wireplumber-0.5.14.tar.bz2 454730 BLAKE2B 07500cf16a7a1ad57b937e7ff8970541178f201adff04ff35f666cf6ce5a96d34bd24779b9400006b3b50ad874d3164109483f055bb4fa822d6988cba661e4e6 SHA512 49c2813b6374a327e1d15b79a56aa8a0f31049f4b7f13cc3cc85858dc498099556928d8347080ad3135c7b0575334deeaf343cdec6ecfe6a7734f442b97d4b40 DIST wireplumber-0.5.15-docs.tar.xz 4772 BLAKE2B 5e84c40043d7bd634e9b73a490f992a311da8a90647ad9049e75b38b9726b629d9be03db59361f01e12147d05e14fd5f242d3d1f5cac3bd369d17c807f48cb5f SHA512 a8483c3f1b1a0aaae9a57d0ab9c074f10ace170528ab201699c69c1091c46741428ae33b49e46b8cf264258361ef9f1cacac08542475a92e2e2b41c0e03c0b66 DIST wireplumber-0.5.15.tar.bz2 472690 BLAKE2B fad2209355ac353416b89d31c5e6a42a37b3a5c0dc7f4daa90ad4608a2d542f98dc9124b1fd3b456928f18a4dc3ef0a2850abc9fae171feeeaf9ebb69f872887 SHA512 2923a5269bfe3656eba9905f569b73ae36f821417ea8d3807523f17346ccaffe14b243618ae3b55a087b22fb04745967cb4e348d38ebd82e0a73615f17db3d3c -DIST wireplumber-83d08dfa437095373f9e4e156b6ca4f9e0567585.tar.bz2 449265 BLAKE2B e0fe603c1c60f43bdabcf6d60dd1861c36258c2d833ea5176b572139d78f52a9f9b8e53a68adff61fe55e2be54bceec61443b003a57a174fea1bcb9dc27837b6 SHA512 6e30bdaaa88ec5ae3399393d79129585267bf04407c59b3fa528bb72c1780f4d8e9933b3ee368ab443a86061a73d10f9dc03c5c2ad46205c80effa370346cd52 +DIST wireplumber-0.5.17-docs.tar.xz 7868 BLAKE2B df02f072c71a21322e508f95ac299a5351b7f5a73b928bdaa53b904ce88bea63e197bbf1ec321b30cf675487c7df0e7a9756719a237c73f1f2953aafb2f40271 SHA512 7c538105fc0459fdae1177fbc748a90077b4a64a60c55ddcd7b761a1e61fee414f23fdcc0b8d25188e1b5484ce4135f595253c3f7c92dd4c7a19decb51ad717e +DIST wireplumber-0.5.17.tar.bz2 533495 BLAKE2B 121d4d60c481c1bd87151ffa4be88a4f85c566967dd4d531fa8796dc0e0c9b25caa8316f722d62967de8b21c20ed0ebfa979f48f808413dfde4a35390b995ffc SHA512 ef795532a51e39aa86f40874e15d6216664255e7a9b64ced7bf54711a531e8bf0ee77907dc5868b64765b95a7f4ecc3ba73593590ed407ca4ecbf18e0e3d1e66 diff --git a/media-video/wireplumber/files/wireplumber-0.5.14-bt-autoswitch.patch b/media-video/wireplumber/files/wireplumber-0.5.14-bt-autoswitch.patch deleted file mode 100644 index 2a37c3b8641b..000000000000 --- a/media-video/wireplumber/files/wireplumber-0.5.14-bt-autoswitch.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://gitlab.freedesktop.org/pipewire/wireplumber/-/work_items/932 -https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/78bd42cad84f9cd174616a98aecbc78dbe67d121 - -From 78bd42cad84f9cd174616a98aecbc78dbe67d121 Mon Sep 17 00:00:00 2001 -From: Julian Bouzas <julian.bouzas@collabora.com> -Date: Mon, 30 Mar 2026 07:33:44 -0400 -Subject: [PATCH] bluez: Don't set bluez5.autoswitch-routes on BT devices - -This seems to cause some issues with BT profile autoswitch. - -See #932 ---- - src/scripts/monitors/bluez.lua | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua -index 347e1bc7..5ba70eb2 100644 ---- a/src/scripts/monitors/bluez.lua -+++ b/src/scripts/monitors/bluez.lua -@@ -474,16 +474,6 @@ function checkProfiles (dev) - end - end - -- -- Setup Route/Port correctly for loopback nodes -- if has_headset_profile then -- local param = Pod.Object ({ -- "Spa:Pod:Object:Param:Props", -- "Props", -- params = Pod.Struct ({ "bluez5.autoswitch-routes", true }) -- }) -- dev:set_param("Props", param) -- end -- - if has_headset_profile then - -- Always create the source loopback device if autoswitch is enabled. - -- Otherwise, only create the source loopback device if the current profile --- -GitLab diff --git a/media-video/wireplumber/wireplumber-0.5.14.ebuild b/media-video/wireplumber/wireplumber-0.5.14.ebuild deleted file mode 100644 index 65809a46f9dc..000000000000 --- a/media-video/wireplumber/wireplumber-0.5.14.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide -# -# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/issues/3663 -# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-wireplumber-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${WIREPLUMBER_DOCS_PREBUILT:=1} - -WIREPLUMBER_DOCS_PREBUILT_DEV=sam -WIREPLUMBER_DOCS_VERSION="$(ver_cut 1-3)" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -WIREPLUMBER_DOCS_USEFLAG="+doc" - -LUA_COMPAT=( lua5-{1,3,4} luajit ) -PYTHON_COMPAT=( python3_{13..14} ) - -inherit lua-single meson python-any-r1 systemd - -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" - EGIT_BRANCH="master" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - WIREPLUMBER_COMMIT="83d08dfa437095373f9e4e156b6ca4f9e0567585" - SRC_URI="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/${WIREPLUMBER_COMMIT}/wireplumber-${WIREPLUMBER_COMMIT}.tar.bz2" - S="${WORKDIR}"/${PN}-${WIREPLUMBER_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${WIREPLUMBER_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" - WIREPLUMBER_DOCS_USEFLAG="doc" - fi - - KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" -fi - -LICENSE="MIT" -SLOT="0/0.5" -IUSE="${WIREPLUMBER_DOCS_USEFLAG} doc elogind system-service systemd test" - -REQUIRED_USE=" - ${LUA_REQUIRED_USE} - ?? ( elogind systemd ) - system-service? ( systemd ) -" - -RESTRICT="!test? ( test )" - -# introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 ) is valid but likely only used for doc building -BDEPEND=" - ${PYTHON_DEPS} - dev-libs/glib - >=dev-util/gdbus-codegen-2.80.5-r1 - dev-util/glib-utils - sys-devel/gettext - doc? ( - $(python_gen_any_dep ' - dev-python/breathe[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ') - ) - test? ( sys-apps/dbus ) -" -DEPEND=" - ${LUA_DEPS} - >=dev-libs/glib-2.68 - >=media-video/pipewire-1.0.5-r1:= - virtual/libintl - elogind? ( sys-auth/elogind ) - systemd? ( sys-apps/systemd ) -" -RDEPEND=" - ${DEPEND} - system-service? ( - acct-user/pipewire - acct-group/pipewire - ) -" - -DOCS=( {NEWS,README}.rst ) - -PATCHES=( - # Defer enabling sound server parts to media-video/pipewire - # TODO: Soon, we should be able to migrate to just a dropin at - # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735. - "${FILESDIR}"/${PN}-0.5.6-config-disable-sound-server-parts.patch - - "${FILESDIR}"/${P}-bt-autoswitch.patch -) - -python_check_deps() { - if use doc; then - python_has_version \ - "dev-python/sphinx[${PYTHON_USEDEP}]" \ - "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \ - "dev-python/breathe[${PYTHON_USEDEP}]" || return 1 - else - return 0 - fi -} - -pkg_setup() { - lua-single_pkg_setup - python-any-r1_pkg_setup -} - -src_configure() { - local emesonargs=( - -Ddaemon=true - -Dtools=true - -Dmodules=true - $(meson_feature doc) - # Only used for Sphinx doc generation - -Dintrospection=disabled - -Dsystem-lua=true - -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) - $(meson_feature elogind) - $(meson_feature systemd) - $(meson_use system-service systemd-system-service) - $(meson_use systemd systemd-user-service) - -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) - -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) - $(meson_use test tests) - $(meson_use test dbus-tests) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - if ! use doc && [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/wireplumber.initd wireplumber - - mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die - rmdir "${ED}"/usr/share/doc/wireplumber || die -} - -pkg_postinst() { - if use system-service; then - ewarn - ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of" - ewarn "box, and you are on your own with configuration." - ewarn - fi -} diff --git a/media-video/wireplumber/wireplumber-0.5.13_p20260216.ebuild b/media-video/wireplumber/wireplumber-0.5.17.ebuild index 68d370758cc9..b4872b2c6c21 100644 --- a/media-video/wireplumber/wireplumber-0.5.13_p20260216.ebuild +++ b/media-video/wireplumber/wireplumber-0.5.17.ebuild @@ -19,7 +19,6 @@ EAPI=8 # (the construct below is to allow overriding from env for script) : ${WIREPLUMBER_DOCS_PREBUILT:=1} -WIREPLUMBER_DOCS_PREBUILT_DEV=sam WIREPLUMBER_DOCS_VERSION="$(ver_cut 1-3)" # Default to generating docs (inc. man pages) if no prebuilt; overridden later WIREPLUMBER_DOCS_USEFLAG="+doc" @@ -46,11 +45,11 @@ else fi if [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${WIREPLUMBER_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" + SRC_URI+=" !doc? ( https://distfiles.gentoo.org/pub/dev/sam@gentoo.org/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" WIREPLUMBER_DOCS_USEFLAG="doc" fi - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="MIT" diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index 0c3b8bd19085..b4872b2c6c21 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -17,9 +17,8 @@ EAPI=8 # Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-wireplumber-docs # Set to 1 if prebuilt, 0 if not # (the construct below is to allow overriding from env for script) -: ${WIREPLUMBER_DOCS_PREBUILT:=0} +: ${WIREPLUMBER_DOCS_PREBUILT:=1} -WIREPLUMBER_DOCS_PREBUILT_DEV=sam WIREPLUMBER_DOCS_VERSION="$(ver_cut 1-3)" # Default to generating docs (inc. man pages) if no prebuilt; overridden later WIREPLUMBER_DOCS_USEFLAG="+doc" @@ -46,7 +45,7 @@ else fi if [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${WIREPLUMBER_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" + SRC_URI+=" !doc? ( https://distfiles.gentoo.org/pub/dev/sam@gentoo.org/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" WIREPLUMBER_DOCS_USEFLAG="doc" fi diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest index 7ed5c4788459..282c793b15e4 100644 --- a/net-firewall/firewalld/Manifest +++ b/net-firewall/firewalld/Manifest @@ -1,4 +1,3 @@ -DIST firewalld-2.4.0.tar.bz2 1342244 BLAKE2B 8e878eefe9b458e2c9b742b55268839e746cfa5c8f4460df17fff74c4f6b03bad64981ec530565d6746fca05a797dcd82f3af99a3cb64dfbe98be6f7d6c38f41 SHA512 24071b2f0a2d5acf41430e41238480d78b1f758bceb493b44dba89dbc02a73f6adfc47359d108d502c41ac2b1ac8302bbda426d7f89095b44240c98739f58ae8 -DIST firewalld-2.4.2.tar.bz2 1366993 BLAKE2B add319d100c01e6431e3a416ba802827c762f0882869f1a3a6e5fd49016c193050f73c5c520ebc82e967516d782cc802738048b30e2a0592e2e8849dcc18b96b SHA512 725fb01c5982e1e824fddb18ccb5ffe95a74c3b1d04a406e08f7aa93d1d6b7b8e8f3eabd7bd3b7e15112c876a9b07cf4fce0effeb091a1ccf00c481706faac02 DIST firewalld-2.4.4.tar.bz2 1389273 BLAKE2B e7054580bf587c28b982548c831936694f32d7a94a8438f282e0bb983997aac1518db3303fe9816e5cc28679003ef6f35876c6a4e6a8ead48ac4d8a24782d782 SHA512 b28649cdb6b63117380d6d5ac93fecce12e617d36bdb5e4bbb15a72110305fc06ec73ca63f885d782ade67e7d43ad660356ac89fbbee74a58e048492a0e5dae7 DIST firewalld-2.5.1.tar.bz2 1467099 BLAKE2B afa8929f6c1cd053bd7ce56f8f8b1f053b3e147cd02e7f8dc1c44ef7b9638a0dd0c0d5b9423cf751c5a1eb6a7dd7389f76a5695767cbcb551433818c5e176cad SHA512 9b7d61cef7dc016e55ea3493c2566cb516f40446029a1d74805411e1a91d15848d69740d5d2182ea5448118ec59ebc20c78c941fdb4c003628769cb0f0976114 +DIST firewalld-2.5.2.tar.bz2 1447960 BLAKE2B 618dba90b7625c69d042af229a0f01597cef715ecc62a66187df84c361b34e64735c2a9dff2b14a72061032a61be6927f51e1e26e5686250b92941794e3b0714 SHA512 70f9dea048f36ed0b7d99b5c36933d1d6b40306f8348c860fb7de5313977cb40ed291b066fd839eb6aba79f366b8047f9734553636ff4a0c23bfdf05ac16b594 diff --git a/net-firewall/firewalld/files/firewalld-2.3.2-systemd-service.patch b/net-firewall/firewalld/files/firewalld-2.3.2-systemd-service.patch deleted file mode 100644 index 3390b78d1d5c..000000000000 --- a/net-firewall/firewalld/files/firewalld-2.3.2-systemd-service.patch +++ /dev/null @@ -1,18 +0,0 @@ -Drops the/an obsolete 'conflicts' line with old iptables services bug #833506 -Removes EnvironmentFile and FIREWALLD_ARGS variable ---- a/config/firewalld.service.in -+++ b/config/firewalld.service.in -@@ -5,12 +5,10 @@ Wants=network-pre.target - Requires=dbus.service - After=dbus.service - After=polkit.service --Conflicts=iptables.service ip6tables.service ebtables.service ipset.service - Documentation=man:firewalld(1) - - [Service] --EnvironmentFile=-/etc/sysconfig/firewalld --ExecStart=@sbindir@/firewalld --nofork --nopid $FIREWALLD_ARGS -+ExecStart=@sbindir@/firewalld --nofork --nopid - ExecReload=/bin/kill -HUP $MAINPID - StandardOutput=null - StandardError=null diff --git a/net-firewall/firewalld/firewalld-2.4.0.ebuild b/net-firewall/firewalld/firewalld-2.4.0.ebuild deleted file mode 100644 index 86d1ec60e178..000000000000 --- a/net-firewall/firewalld/firewalld-2.4.0.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -inherit bash-completion-r1 gnome2-utils linux-info optfeature -inherit plocale python-single-r1 systemd xdg-utils - -DESCRIPTION="Firewall daemon with D-Bus interface providing a dynamic firewall" -HOMEPAGE="https://firewalld.org/" -SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" -IUSE="gui selinux test" -# Tests are too unreliable in sandbox environment -RESTRICT="!test? ( test ) test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd ) - $(python_gen_cond_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - >=net-firewall/nftables-0.9.4[python,json,${PYTHON_USEDEP}] - gui? ( - dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] - x11-libs/gtk+:3 - x11-libs/libnotify[introspection] - ) - ') - net-firewall/ipset - net-firewall/nftables[xtables(+)] - selinux? ( sec-policy/selinux-firewalld ) -" -DEPEND=" - ${RDEPEND} - dev-libs/glib:2 -" -BDEPEND=" - app-text/docbook-xml-dtd - >=dev-util/intltool-0.35 - sys-devel/gettext -" - -# Testsuite's Makefile.am calls missing(!) -# ... but this seems to be consistent with the autoconf docs? -# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html -QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*" - -PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ro ru si sk sl sq sr sr@latin sv ta te tr uk zh_CN zh_TW" - -PATCHES=( - "${FILESDIR}"/${PN}-2.3.2-systemd-service.patch -) - -pkg_setup() { - # See bug #830132 for the huge list - # We can probably narrow it down a bit but it's rather fragile - local CONFIG_CHECK=" - ~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK - ~NETFILTER - ~NETFILTER_ADVANCED - ~NETFILTER_INGRESS - ~NF_NAT_MASQUERADE - ~NF_NAT_REDIRECT - ~NF_TABLES_INET - ~NF_TABLES_IPV4 - ~NF_TABLES_IPV6 - ~NF_CONNTRACK - ~NF_CONNTRACK_BROADCAST - ~NF_CONNTRACK_NETBIOS_NS - ~NF_CONNTRACK_TFTP - ~NF_CT_NETLINK - ~NF_CT_NETLINK_HELPER - ~NF_DEFRAG_IPV4 - ~NF_DEFRAG_IPV6 - ~NF_NAT - ~NF_NAT_TFTP - ~NF_REJECT_IPV4 - ~NF_REJECT_IPV6 - ~NF_SOCKET_IPV4 - ~NF_SOCKET_IPV6 - ~NF_TABLES - ~NF_TPROXY_IPV4 - ~NF_TPROXY_IPV6 - ~IP_NF_FILTER - ~IP_NF_IPTABLES - ~IP_NF_MANGLE - ~IP_NF_NAT - ~IP_NF_RAW - ~IP_NF_SECURITY - ~IP_NF_TARGET_MASQUERADE - ~IP_NF_TARGET_REJECT - ~IP6_NF_FILTER - ~IP6_NF_IPTABLES - ~IP6_NF_MANGLE - ~IP6_NF_NAT - ~IP6_NF_RAW - ~IP6_NF_SECURITY - ~IP6_NF_TARGET_MASQUERADE - ~IP6_NF_TARGET_REJECT - ~IP_SET - ~NETFILTER_CONNCOUNT - ~NETFILTER_NETLINK - ~NETFILTER_NETLINK_OSF - ~NETFILTER_NETLINK_QUEUE - ~NETFILTER_SYNPROXY - ~NETFILTER_XTABLES - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MATCH_CONNTRACK - ~NETFILTER_XT_MATCH_MULTIPORT - ~NETFILTER_XT_MATCH_STATE - ~NETFILTER_XT_NAT - ~NETFILTER_XT_TARGET_MASQUERADE - ~NFT_COMPAT - ~NFT_CT - ~NFT_FIB - ~NFT_FIB_INET - ~NFT_FIB_IPV4 - ~NFT_FIB_IPV6 - ~NFT_HASH - ~NFT_LIMIT - ~NFT_LOG - ~NFT_MASQ - ~NFT_NAT - ~NFT_QUEUE - ~NFT_QUOTA - ~NFT_REDIR - ~NFT_REJECT - ~NFT_REJECT_INET - ~NFT_REJECT_IPV4 - ~NFT_REJECT_IPV6 - ~NFT_SOCKET - ~NFT_SYNPROXY - ~NFT_TPROXY - ~NFT_TUNNEL - ~NFT_XFRM - " - - # kernel >= 4.19 has a unified NF_CONNTRACK module, bug #692944 - if kernel_is -lt 4 19; then - CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6" - fi - - # bug #831259 - if kernel_is -le 5 4 ; then - CONFIG_CHECK+=" ~NF_TABLES_SET" - fi - - # bug #853055 - if kernel_is -lt 5 18 ; then - CONFIG_CHECK+=" ~NFT_COUNTER" - fi - - # bug #926685 - if kernel_is -le 6 1 ; then - CONFIG_CHECK+=" ~NFT_OBJREF" - fi - - linux-info_pkg_setup -} - -src_prepare() { - default - - # Skip XML schema verification for tests - cat <<-EOF > config/xmlschema/check.sh || die - #!/bin/sh - exit 0 - EOF - chmod +x config/xmlschema/check.sh || die - - plocale_find_changes "po" "" ".po" || die - plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS -} - -src_configure() { - python_setup - - local myeconfargs=( - --enable-systemd - --with-systemd-unitdir="$(systemd_get_systemunitdir)" - --with-bashcompletiondir="$(get_bashcompdir)" - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - python_optimize - - # Get rid of junk - rm -rf "${ED}"/etc/sysconfig/ || die - - # For non-gui installs we need to remove GUI bits - if ! use gui; then - rm -rf "${ED}"/etc/xdg/autostart || die - rm -f "${ED}"/usr/bin/firewall-applet || die - rm -f "${ED}"/usr/bin/firewall-config || die - rm -rf "${ED}"/usr/share/applications || die - rm -rf "${ED}"/usr/share/icons || die - fi - - newinitd "${FILESDIR}"/firewalld.init firewalld -} - -pkg_preinst() { - gnome2_schemas_savelist -} - -pkg_postinst() { - xdg_icon_cache_update - gnome2_schemas_update - - # bug #833569 - optfeature "changing zones with NetworkManager" gnome-extra/nm-applet -} - -pkg_postrm() { - xdg_icon_cache_update - gnome2_schemas_update -} diff --git a/net-firewall/firewalld/firewalld-2.4.2.ebuild b/net-firewall/firewalld/firewalld-2.5.2.ebuild index 403e695ab2e6..92650865261d 100644 --- a/net-firewall/firewalld/firewalld-2.4.2.ebuild +++ b/net-firewall/firewalld/firewalld-2.5.2.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{13..14} ) -inherit bash-completion-r1 gnome2-utils linux-info optfeature -inherit plocale python-single-r1 systemd xdg-utils +inherit autotools gnome2-utils linux-info optfeature plocale python-single-r1 +inherit shell-completion systemd xdg-utils DESCRIPTION="Firewall daemon with D-Bus interface providing a dynamic firewall" HOMEPAGE="https://firewalld.org/" @@ -13,7 +13,7 @@ SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.ta LICENSE="GPL-2+" SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" IUSE="gui selinux test" # Tests are too unreliable in sandbox environment RESTRICT="!test? ( test ) test" @@ -51,10 +51,11 @@ BDEPEND=" # Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*" -PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ro ru si sk sl sq sr sr@latin sv ta te tr uk zh_CN zh_TW" +PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu he hi hr hu ia id it ja ka kk kn ko lt ml mr nl or pa pl pt_BR pt ro ru si sk sl sq sr@latin sr sv ta te tr uk zh_CN zh_TW" PATCHES=( "${FILESDIR}"/${PN}-2.4.2-systemd-service.patch + "${FILESDIR}"/${PN}-2.5.1-autoconf.patch ) pkg_setup() { @@ -174,6 +175,9 @@ src_prepare() { EOF chmod +x config/xmlschema/check.sh || die + # for autotools patch + eautoreconf + plocale_find_changes "po" "" ".po" || die plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS } diff --git a/net-irc/hexchat/files/hexchat-2.16.2-perl-5.44.patch b/net-irc/hexchat/files/hexchat-2.16.2-perl-5.44.patch new file mode 100644 index 000000000000..9a27683abc1c --- /dev/null +++ b/net-irc/hexchat/files/hexchat-2.16.2-perl-5.44.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/979428 +--- a/plugins/perl/meson.build ++++ b/plugins/perl/meson.build +@@ -83,6 +83,7 @@ perl_dep = declare_dependency( + + shared_module('perl', + sources: ['perl.c', hexchat_perl_module, irc_perl_module], ++ c_args: ['-std=gnu99'], + dependencies: [libgio_dep, hexchat_plugin_dep, perl_dep], + install: true, + install_dir: plugindir, diff --git a/net-irc/hexchat/hexchat-2.16.2-r2.ebuild b/net-irc/hexchat/hexchat-2.16.2-r2.ebuild index c68516762562..455405365666 100644 --- a/net-irc/hexchat/hexchat-2.16.2-r2.ebuild +++ b/net-irc/hexchat/hexchat-2.16.2-r2.ebuild @@ -73,6 +73,10 @@ BDEPEND=" virtual/pkgconfig " +PATCHES=( + "${FILESDIR}"/${PN}-2.16.2-perl-5.44.patch +) + pkg_setup() { use lua && lua-single_pkg_setup use python && python-single-r1_pkg_setup diff --git a/net-misc/stunnel/Manifest b/net-misc/stunnel/Manifest index b7ccc7323ee9..ce9137d5b9b7 100644 --- a/net-misc/stunnel/Manifest +++ b/net-misc/stunnel/Manifest @@ -7,3 +7,5 @@ DIST stunnel-5.78.tar.gz 929224 BLAKE2B 44538336d9f7075ebead1ae85c8c8609b5404156 DIST stunnel-5.78.tar.gz.asc 833 BLAKE2B 68812bbddea921d797d599b50868ea1d368662f6c2ad1b9ae042465f6430233756df016ffa42891e59feb01f2a545d7d06e807a2b08259da5cb7265e37591fd0 SHA512 10c82ab9c56977a26b2c3d9b4e88c310bcd90116363573c86970aa94ea8ddd0692905abfb4b1fff83e3654a098075d4f7c669b5cf6e26fa01e4c161c927e98ca DIST stunnel-5.79.tar.gz 927184 BLAKE2B 431229af003c562e7dc439e19c59c9b83b0cde386ae983c35b1b934c7b8672da96e6abaf0ae76b19bec66d7b80c61b8ca89ba27fea7a9ee3aed276ae9da15c5d SHA512 0f8c0de6b655a5ff849f6f31d530863ea10769733615459abd7081b87822aba7d728728dee8ea685598b5ef5228996163b9c27f3efd7b8d5f7836e6eefe25f9a DIST stunnel-5.79.tar.gz.asc 833 BLAKE2B d2675cea414fb45b044dd00cc4341ee2d9fcb9991533b914193dfe78b77c1eb83ad92b6cdc9808b2d85956e52aed58c1ea9200af1ddd84f5c4c886eb91141972 SHA512 e2698c8ba01cb5ded9db2e943e029f1f4ab72cc7a37a2bc0c46455c96c88eeb11d2e579fb4ef361156507c0aff409973537b8de8990af4c532f2f1d45c620cd2 +DIST stunnel-5.81.tar.gz 961068 BLAKE2B 94f025793aae897ad5a84572aa48337a6e020ce9a848579076025f9285abe58c9a1040ee77ad163f15cdf4c78d08fbbd00b18e613f95103cc8d69e5e79be3777 SHA512 bbe19dd98652754ee01506793b7e55f662d4cbd734b12cd0a8531cafcea7d38eed3fdbcbd562f471c667cb4434095a89ac0d6f6548913a94a4cce4e4659e13b1 +DIST stunnel-5.81.tar.gz.asc 833 BLAKE2B 2bf3a9d573d72529e614cd0d888cc88bc102420b178e9b13568b8d65763798cb57d4a44b0b5606688d3a9e4450effb87bc1ff5e146f837eb0847efd78372ce17 SHA512 f5794ffe4459391a06f96e737e7585d8a798a92813cd3f814518e79876525779115c39de1f1cb7b30d3d24a5b46b8fa6cbdf9a17ecc39eff924bda4d2c1f5447 diff --git a/net-misc/stunnel/files/stunnel-5.81-respect-EPYTHON-for-tests.patch b/net-misc/stunnel/files/stunnel-5.81-respect-EPYTHON-for-tests.patch new file mode 100644 index 000000000000..c9fa8f10c591 --- /dev/null +++ b/net-misc/stunnel/files/stunnel-5.81-respect-EPYTHON-for-tests.patch @@ -0,0 +1,12 @@ +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -14,8 +14,7 @@ fd_limits_select_test_CPPFLAGS = $(fd_limits_test_CPPFLAGS) -DTEST_SELECT + + # try to find a supported python version (>= 3.7) that works + check-local: $(check_PROGRAMS) +- for v in $$(seq 20 -1 7); do command -v python3.$$v && break; done || ( echo "Python 3.7 or later not found" && false ) +- for v in $$(seq 20 -1 7); do command -v python3.$$v && python3.$$v $(srcdir)/maketest.py --debug=10 --libs=$(SSLDIR)/lib64:$(SSLDIR)/lib && break; done ++ ${EPYTHON} $(srcdir)/maketest.py --debug=10 --libs=$(SSLDIR)/lib64:$(SSLDIR)/lib + + dist-hook: + rm -rf $(distdir)/__pycache__ $(distdir)/plugins/__pycache__ diff --git a/net-misc/stunnel/stunnel-5.75.ebuild b/net-misc/stunnel/stunnel-5.75.ebuild index 304d921f4a05..2e8806670faa 100644 --- a/net-misc/stunnel/stunnel-5.75.ebuild +++ b/net-misc/stunnel/stunnel-5.75.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz " LICENSE="GPL-2" diff --git a/net-misc/stunnel/stunnel-5.76-r1.ebuild b/net-misc/stunnel/stunnel-5.76-r1.ebuild index d1334c0b29c5..da7ea0781045 100644 --- a/net-misc/stunnel/stunnel-5.76-r1.ebuild +++ b/net-misc/stunnel/stunnel-5.76-r1.ebuild @@ -11,10 +11,10 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz verify-sig? ( https://www.stunnel.org/downloads/${P}.tar.gz.asc - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc ) " diff --git a/net-misc/stunnel/stunnel-5.76.ebuild b/net-misc/stunnel/stunnel-5.76.ebuild index 3db8c7b6d8df..bac92a55ce2b 100644 --- a/net-misc/stunnel/stunnel-5.76.ebuild +++ b/net-misc/stunnel/stunnel-5.76.ebuild @@ -11,10 +11,10 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz verify-sig? ( https://www.stunnel.org/downloads/${P}.tar.gz.asc - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc ) " diff --git a/net-misc/stunnel/stunnel-5.77.ebuild b/net-misc/stunnel/stunnel-5.77.ebuild index d1334c0b29c5..da7ea0781045 100644 --- a/net-misc/stunnel/stunnel-5.77.ebuild +++ b/net-misc/stunnel/stunnel-5.77.ebuild @@ -11,10 +11,10 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz verify-sig? ( https://www.stunnel.org/downloads/${P}.tar.gz.asc - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc ) " diff --git a/net-misc/stunnel/stunnel-5.78.ebuild b/net-misc/stunnel/stunnel-5.78.ebuild index 2bcf5dee9723..318c7e169a7d 100644 --- a/net-misc/stunnel/stunnel-5.78.ebuild +++ b/net-misc/stunnel/stunnel-5.78.ebuild @@ -11,10 +11,10 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz verify-sig? ( https://www.stunnel.org/downloads/${P}.tar.gz.asc - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc ) " diff --git a/net-misc/stunnel/stunnel-5.79.ebuild b/net-misc/stunnel/stunnel-5.79.ebuild index f6a627b1fc5c..c7a5827229e5 100644 --- a/net-misc/stunnel/stunnel-5.79.ebuild +++ b/net-misc/stunnel/stunnel-5.79.ebuild @@ -11,10 +11,10 @@ DESCRIPTION="TLS/SSL - Port Wrapper" HOMEPAGE="https://www.stunnel.org/index.html" SRC_URI=" https://www.stunnel.org/downloads/${P}.tar.gz - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz verify-sig? ( https://www.stunnel.org/downloads/${P}.tar.gz.asc - https://www.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc ) " diff --git a/net-misc/stunnel/stunnel-5.81.ebuild b/net-misc/stunnel/stunnel-5.81.ebuild new file mode 100644 index 000000000000..a67de149aec9 --- /dev/null +++ b/net-misc/stunnel/stunnel-5.81.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/stunnel.asc +inherit autotools python-any-r1 ssl-cert systemd tmpfiles verify-sig + +DESCRIPTION="TLS/SSL - Port Wrapper" +HOMEPAGE="https://www.stunnel.org/index.html" +SRC_URI=" + https://www.stunnel.org/downloads/${P}.tar.gz + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz + verify-sig? ( + https://www.stunnel.org/downloads/${P}.tar.gz.asc + https://www.stunnel.org/archive/${PV%%.*}.x/${P}.tar.gz.asc + ) +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="selinux stunnel3 systemd tcpd test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/openssl:= + tcpd? ( sys-apps/tcp-wrappers ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND=" + ${DEPEND} + acct-user/stunnel + acct-group/stunnel + selinux? ( sec-policy/selinux-stunnel ) + stunnel3? ( dev-lang/perl ) +" +# autoconf-archive for F_S patch +BDEPEND=" + dev-build/autoconf-archive + test? ( + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/cryptography[${PYTHON_USEDEP}]') + ) + verify-sig? ( sec-keys/openpgp-keys-stunnel ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.71-dont-clobber-fortify-source.patch + "${FILESDIR}"/${PN}-5.81-respect-EPYTHON-for-tests.patch +) + +python_check_deps() { + python_has_version "dev-python/cryptography[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Hack away generation of certificate + sed -i -e "s/^install-data-local:/do-not-run-this:/" \ + tools/Makefile.am || die "sed failed" + + # We pass --disable-fips to configure, so avoid spurious test failures + rm tests/plugins/p10_fips.py tests/plugins/p11_fips_cipher.py || die + + # Needed for FORTIFY_SOURCE patch + eautoreconf +} + +src_configure() { + # No automagic mimalloc use + export ac_cv_header_mimalloc_h=no ac_cv_search_mi_malloc=no + + local myeconfargs=( + --libdir="${EPREFIX}/usr/$(get_libdir)" + --with-ssl="${EPREFIX}"/usr + --disable-fips + $(use_enable tcpd libwrap) + $(use_enable systemd) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + + rm -rf "${ED}"/usr/share/doc/${PN} || die + rm -f "${ED}"/etc/stunnel/stunnel.conf-sample \ + "${ED}"/usr/share/man/man8/stunnel.{fr,pl}.8 || die + + if ! use stunnel3 ; then + rm -f "${ED}"/usr/bin/stunnel3 || die + fi + + dodoc AUTHORS.md BUGS.md CREDITS.md PORTS.md README.md TODO.md + docinto html + dodoc doc/stunnel.html doc/en/VNC_StunnelHOWTO.html tools/ca.html \ + tools/importCA.html + + insinto /etc/stunnel + doins "${FILESDIR}"/stunnel.conf + newinitd "${FILESDIR}"/stunnel-r2 stunnel + + systemd_dounit "${S}/tools/stunnel.service" + newtmpfiles "${FILESDIR}"/stunnel.tmpfiles.conf stunnel.conf + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if [[ ! -f "${EROOT}"/etc/stunnel/stunnel.key ]]; then + install_cert /etc/stunnel/stunnel + chown stunnel:stunnel "${EROOT}"/etc/stunnel/stunnel.{crt,csr,key,pem} + chmod 0640 "${EROOT}"/etc/stunnel/stunnel.{crt,csr,key,pem} + fi + + tmpfiles_process stunnel.conf + + einfo "If you want to run multiple instances of stunnel, create a new config" + einfo "file ending with .conf in /etc/stunnel/. **Make sure** you change " + einfo "\'pid= \' with a unique filename. For openrc make a symlink from the" + einfo "stunnel init script to \'stunnel.name\' and use that to start|stop" + einfo "your custom instance" +} diff --git a/sec-keys/openpgp-keys-openssl/openpgp-keys-openssl-20260617-r1.ebuild b/sec-keys/openpgp-keys-openssl/openpgp-keys-openssl-20260617-r1.ebuild index f4f996d13fe0..ca0c2214a2a9 100644 --- a/sec-keys/openpgp-keys-openssl/openpgp-keys-openssl-20260617-r1.ebuild +++ b/sec-keys/openpgp-keys-openssl/openpgp-keys-openssl-20260617-r1.ebuild @@ -58,7 +58,7 @@ done unset ossl_key SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" src_install() { sec-keys_src_install diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 33d8fdc4a982..667f01021667 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -17,6 +17,7 @@ DIST gcc-13.5.0.tar.xz 90977816 BLAKE2B 76080f85e48559264e0e2e9794654df4750ee5c5 DIST gcc-14-20260604.tar.xz 88473776 BLAKE2B 0d022d76185b04d314b05ee0e7906b030df6ca13efa254e5c64e625286af6e361659a359406bc90658b3d3e5379f0408500dda86a0af0aad3df88193ebe736dc SHA512 654e5484fe25986f51a55b12a959fa6c36d3640cbb8f62c63adda3e7222224048ddfd3cb87cac081759e1a2cd3732cdf17af9e6a3948aba227ddd3a4c0c2e72f DIST gcc-14-20260716.tar.xz 88509636 BLAKE2B 1e31c1c969a3ee7184d6e466dc9bf627e67e98f2c61fc4d34a74b02d7128718f7e8d0eb3a178b4e9734665fe93eeccf42e9bf5ba80e62b583044dab93b7939b1 SHA512 c587f5568ae6e8b9089dcb5e4753ad3ef5d807c3c30d329407e6be093e0a0ef26906c8dbc33a5aef20168371c10ded69c067e05acf42696eee45ade981ade321 DIST gcc-14-20260903.tar.xz 88538140 BLAKE2B b5fd80fd8addf04d296f12c26f4ce1feb7c223f0389534d02af0f303cded7f0380b12d64c7fb31f49b6a57fe21fa7721a604ad6448931624dddcdc69f9a87bb0 SHA512 5704a3edd2594a38f090a85675f51106a80472d375cd67f57fa3f644bfc5111ed43c45a64a3c158de68741b0c7ff90f4dc9017d27fe71378648f94232a3d4eeb +DIST gcc-14-20260917.tar.xz 88546212 BLAKE2B 74daba98307cd5c1d1941e5ac4c9e7aa169935a5363c6d3cbbc833906977ca8f43f8aef4a6388e867c9b886860aaa976e9b12139828a8023d5aa1fb9d991a4e3 SHA512 e4532c9447db2c044bbee715170a5a48c17478b3404fc283fe5bf13454d91f166b7fe424670c33e3735cf23738fb1f7c49b70c15e285df106e446da45d53831f DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19 DIST gcc-14.3.0-patches-6.tar.xz 28148 BLAKE2B ba80a00289da26d3b5a813a9878aae6b34640e5cf8f37431ef846894087096dc84869e120ed17f23062bd2702a8059d73ead3ba28115e9c3bad55f46e7f474ee SHA512 7ee900f327bd92484ffba03ff80827b42ffba75d7527e26e09ea07e6d61622d812e1a00f77f3d669d7bde0366bab43085552d6140b28bc319edab9eb0e9a73f5 DIST gcc-14.4.0.tar.xz 91586872 BLAKE2B 10a512f9f95fcc70a13f4eb2142927277d2e6c0a16bad76f01078dc0d7e5cb6831204f8beec22c83c1ff2d0ed1d9df8c8d0a4118ba657d1aefef2a6f15636a28 SHA512 725ed8bdd43ef1726ffe8b5e8615a13e247fac9575b7626ae013a2975d000ea213212dc414b2f2631ac4785c1c8beca85555222faf9904d3b2fa6a3807a83a15 diff --git a/sys-devel/gcc/gcc-14.4.1_p20260917.ebuild b/sys-devel/gcc/gcc-14.4.1_p20260917.ebuild new file mode 100644 index 000000000000..b4578274f0d3 --- /dev/null +++ b/sys-devel/gcc/gcc-14.4.1_p20260917.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="6" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{13..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest index e385b97073b6..ef79fbb35303 100644 --- a/sys-fs/xfsprogs/Manifest +++ b/sys-fs/xfsprogs/Manifest @@ -3,3 +3,4 @@ DIST xfsprogs-6.18.0.tar.xz 1563944 BLAKE2B 225cb49a39a2539e48513985d72602c0c067 DIST xfsprogs-6.19.0.tar.xz 1564764 BLAKE2B 30ef424589e96175aa38776d809c7a0e1ce2d74ba3ccfca83c00bf102836f93f131afd63e5be8d639aee4e3c8831f6d536029b4e7d6dd44b9297426d6c028d2c SHA512 9ca8ba19a3cc3a4e8a03ca4fe641ae958eb5fd9c4a8b09430a9fa4891d27f63506acd543c061887fec5ba22d2883c69f8c52a155f4f58af96206999725e25bf7 DIST xfsprogs-7.0.1.tar.xz 1591728 BLAKE2B 0834beee30b6f4d6cf16c4e34d2daff0720d1f620d75f1794eb8c8f8d822768f48e8d6d51e51ec8c1eeb73a0e3123a8baa6647cf3215f9d25254cc13d6cf02ba SHA512 21c235bb48f3b8e43a7cda3968e28ecb0333a28db9f2beac77acb9eebc476decdd5119d55230d44ac11734d9d0d7a88f66a74677cd25fe128fea7e0464083665 DIST xfsprogs-7.1.1.tar.xz 1595568 BLAKE2B 7c3f6f4802cb32bb88cf9f439f73aeff4ebf495ff6928c0fe6da977c96256b7fa84e1f71c370ef3e1532a8534709acfc0d3c8e1d404543c6bb0f5c9a9235ba5a SHA512 5c6e2a57a8f2e04a50cf5a085509a229f7a858a5807d85d807deeef1013d6dbbc1d701da4adb010dec5e251774b6b32e28496309bd11b4e6ebcbc09999f04cd5 +DIST xfsprogs-7.2.0.tar.xz 1599484 BLAKE2B 925583bb3477744daedff4a6382885aec44096994d79b5a17e525b1bc44832660f1f5c3dba9837ffa62d1659df5217b426cc0d358ddc83cd6a63aeee0df98c5f SHA512 3a7e3f4582c44a94a4b8fa8b8b795f0018207d92df3a9ff8334e7300307ddd293c4caaed8c7c4061b6b9d7c626b0e0d9da03a53fac029433444deaf4b6abd144 diff --git a/sys-fs/xfsprogs/xfsprogs-7.2.0.ebuild b/sys-fs/xfsprogs/xfsprogs-7.2.0.ebuild new file mode 100644 index 000000000000..96bc0f73ce7d --- /dev/null +++ b/sys-fs/xfsprogs/xfsprogs-7.2.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic systemd udev + +DESCRIPTION="XFS filesystem utilities" +HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" +SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="icu libedit nls selinux static-libs" + +RDEPEND=" + dev-libs/inih + dev-libs/userspace-rcu:= + >=sys-apps/util-linux-2.17.2 + icu? ( dev-libs/icu:= ) + libedit? ( dev-libs/libedit ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-6.18 +" +BDEPEND="nls? ( sys-devel/gettext )" +RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" + +src_prepare() { + default + + # Fix doc dir + sed -i \ + -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ + include/builddefs.in || die + + # Don't install compressed docs + sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die +} + +src_configure() { + # include/builddefs.in will add FCFLAGS to CFLAGS which will + # unnecessarily clutter CFLAGS (and fortran isn't used) + unset FCFLAGS + + # If set in user env, this breaks configure + unset PLATFORM + + export DEBUG=-DNDEBUG + + # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. + # However, we have to provide an empty value to avoid default + # flags. + export OPTIMIZER=" " + + # Avoid automagic on libdevmapper (bug #709694) + export ac_cv_search_dm_task_create=no + + # bug 903611 + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Upstream does NOT support --disable-static anymore, + # https://www.spinics.net/lists/linux-xfs/msg30185.html + # https://www.spinics.net/lists/linux-xfs/msg30272.html + local myconf=( + --enable-static + # Doesn't do anything beyond adding -flto (bug #930947). + --disable-lto + # The default value causes double 'lib' + --localstatedir="${EPREFIX}/var" + --with-crond-dir="${EPREFIX}/etc/cron.d" + # TODO: Write equivalent OpenRC init scripts for installed systemd units + # Possibly document timer equivalents too for cron + --with-systemd-unit-dir="$(systemd_get_systemunitdir)" + --with-udev-rule-dir="$(get_udevdir)/rules.d" + $(use_enable icu libicu) + $(use_enable nls gettext) + $(use_enable libedit editline) + ) + + econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + # XXX: There's a missing dep in the install-dev target, so split it + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev + + # Not actually used but --localstatedir causes this empty dir + # to be installed. + rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die + + if ! use static-libs; then + rm "${ED}/usr/$(get_libdir)/libhandle.a" || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload +} diff --git a/www-apps/grafana-bin/Manifest b/www-apps/grafana-bin/Manifest index a55aeb701da3..9ab570876e3f 100644 --- a/www-apps/grafana-bin/Manifest +++ b/www-apps/grafana-bin/Manifest @@ -1,14 +1,16 @@ -DIST grafana-bin-12.1.8.amd64.tar.gz 198645871 BLAKE2B 859d4d17a6e1c9de202ad67586cfc411eafd90f45415ed53cf9f52caad5f5dc370eb892febfb03c38111c8d6a7745d60c5276832226338314480f522e58607ad SHA512 aba22c26e57d41dd7221057ef9911be37dc46af27c375ae64f6fd7005bd53b0f7049fb4ccb5e14d13e059b5c646f98fe36b9831cfaf3c76b9920590915869631 -DIST grafana-bin-12.1.8.arm64.tar.gz 189548504 BLAKE2B 79d74eb3acfd966d0fa72ae59631d48f61e52965e29d578147422a0f3532b59afc8e9a2e2e4c9f89bb7e5f92f509d0265e44afb3d360e329c470b7ede84219ca SHA512 5660519bbdeed69aa1d21eb2f76bfcc3672e176ebe83edde3291b6f99f76ce5b7771f71e07939076dcd37cf30eb89a080a101e3b13817eeea13525a223bf7867 -DIST grafana-bin-12.2.6.amd64.tar.gz 188709618 BLAKE2B 407645642264c13b005cdc4e9f12dc87098b010dfe21f6aa838c199f5e9a11c280f4749886aa9960e5fdaf304fb64270b7bae3723c385a48728e0f76e57fd600 SHA512 ed49311b541468bc4e70e7371a15a8c3b88c1c8536547d0b71c3fd29777906f542250e4bccb6aa08a04eb8c1a5ef65b9518f7691ab7601b21e54f1e3bf0e3df7 -DIST grafana-bin-12.2.6.arm64.tar.gz 179528432 BLAKE2B ff452e4bfed0087735bbaea81518d3d00c082b689b6ba470d8f0c456f2ff79d08e30dbb87a90e43f44c02a40ea89cd26af42a552c112c78e12b6ce63e1dd7ea6 SHA512 8879a31b713c092aaf57d0aba849e09683c3a874ac27b065210ed25c0fd37812f4f7f9d5935f951a0ed3b938d70d68b2e4f5d306cfda26c6a23e7be14e67b05b -DIST grafana-bin-12.3.4.amd64.tar.gz 194490663 BLAKE2B 42f2465eeb36914941b60c2b722fb6edb007d61642ebc3b94024c90893ea60be8cca635443ca6674ce54c6bbbfafaed2258b23163007741f78090a31a0581fc1 SHA512 8602c7a47c43aa39278981c6fdc150e6205a3110bdaa159d3d82de4dac8e45a0f26471f2c45f8aacf6aa6ac953e0258752f168046880b260662a7141fe03e660 -DIST grafana-bin-12.3.4.arm64.tar.gz 185140268 BLAKE2B bd9e4a00a66d887ce6ca4893da9073abf81b1b13ebc02679d0de6418f60c59aaad0270a5d282a90727ef912fb7633b6380a9d989f526098406ea84fede4b3f36 SHA512 2fa860742fe00c6554979c6ffa2bebab2b5c0da0b02f5bae44ea67e4de01ecc7473a663190ccffe6491d99ce5fd49aad08582f1770978322655d9711e5449208 +DIST grafana-bin-12.1.10.amd64.tar.gz 197856726 BLAKE2B 30b58e7bc5a5f2417f7eacc73afd3d2137a9cec57789a9624aa6b3c7d784e3cf71ea8e6c84b0f4c68a682ec7198f6070679a3dc67a33d28035b061c5041a405e SHA512 b720b4d616b1c0c5cca99fc36565c9b838703e442839f8671aa67e9b659550875aff0a38310e2d1a0c2f7f416e94888a581877d205bad0cb94e7427bb72cc34d +DIST grafana-bin-12.1.10.arm64.tar.gz 188770279 BLAKE2B 09c71994ab2a0c27bca631a09c19c3b144b9bf8a3ad1888156defb03681fefcf62b9e420f78f92994b26009b78a743b96e0dc67af232bf91e17f8ee5d1c70a81 SHA512 88845992e0d1e780df2878199aae0c08ff2d2dae6443e7c7a5ef248708cba159042f933632c34ab63219b9bab848e6874f1a0a537e00a57e2822cf2c79a69284 +DIST grafana-bin-12.2.10.amd64.tar.gz 189823840 BLAKE2B 3473e64d098d9958f8f65c985e8680f42d378688e6edcb6be793276efd2e24c756d2f8e1960db92b67d0fb0edae37e2c0f603cd22f83980ae12a828b309e0e53 SHA512 745774eab24e3b44aa491058dbdaa4bf66e0eefce62294b799f7caefb68fc707286b5d4f6ce9248f7102c7b41f547b302c8dd075cc9267a38c74835b4fb79321 +DIST grafana-bin-12.2.10.arm64.tar.gz 179983791 BLAKE2B ceab99a260bf7b45ffeb559adc9485d37db978b5bb0c93f2b6c4865662f741148467a0ab3c57dcd21f45a79463cf210a7c3f1e6373a056091e88d584d6c562d0 SHA512 609c74afd85c7be8d6336bd830edc126c3cfa094a96aef79a8da0895acf21b80cabd577292eb01900d7264223c1009ff11b14e7d8f3efb6d1f6d6ebe8dc1a3a5 +DIST grafana-bin-12.3.11.amd64.tar.gz 271367322 BLAKE2B 582562b6db05f4a3c877916fde24513cda329efd2a0baf7cf8b1bcdde316dcbdc5428e5de655a3014b797e4d813e86edf3db4863bf790ea344fa76bb6efb0e22 SHA512 7750d3729ed22f4d34c5ac1cb594b18ae867b69230a33ebc6796b841de6efb7c9d921aea6657a938a0613c3c1ec2065dc65df9b347261ac6af657342ba68f134 +DIST grafana-bin-12.3.11.arm64.tar.gz 256219666 BLAKE2B 16c69a19e31d8cb3b7c6752e8dcc4a17b46c6945abc4e8e0c26eb0f842d0a3e5a5d20972eebda7a375ba3a82b87f05cd4c9193e0be61c4d4c7bbd2d0ab36f5c0 SHA512 c2db1baff009b13728e29afb77ca746b2cf0533826bcb79aca25369e3576c893e31bae1f63cc0444865c48d95b4afb7e2ffe4e5e3c07310588d2b2a1de19f3d5 DIST grafana-bin-12.4.0.amd64.tar.gz 198219983 BLAKE2B aaa608b477a307d41a28bba5e477bd66a7c954f6d16629ba1960ac26b5a69e129b3e76cf9839f19eda3c06a8c178e1e78b7a17b1f368e77df405aee9d88ec0f9 SHA512 0d0f573b22d8839943c6a346f429dd1db43d676e62460e53f041335500f671371f9cebd015b2197ecc87e4d8b1381fadc7a0d4ee49a7e5259f6b83ce6b46a33f DIST grafana-bin-12.4.0.arm64.tar.gz 188539753 BLAKE2B adcc241566a2b1b75823a18247b3c5b44d1f33de5744f60e86a407d5205e786f6c2c9f84635f7555e283d80f76df7c6eb7f9233777d449cc7f19e4f5029411a4 SHA512 3888c531bbce11ddd5293219f72a880d7bcf9b0eedc0e1ea8502782fc3971723e83ed2317be4bc9771a9aa807e22255e0778dc97993bdc9a75840bb0219ab263 +DIST grafana-bin-12.4.11.amd64.tar.gz 278432937 BLAKE2B 942ba92666f8759ebd4ab14b92cf8c3db6c2a01913341c2eb9952f2a4f32505fc7dc2ba9069f5712d6e937ac6934fcce1b1b2f0c9658bbe3a994eee126fda6c7 SHA512 30e9bf73cde8a7a69e0612b6ff646fb7eaf357595affabac32f1ae28d4cdfc843ebd68feb0852d87ccd0a77527692083807c5466f94247184b812ceb810fb146 +DIST grafana-bin-12.4.11.arm64.tar.gz 263008442 BLAKE2B 98ac04442d1d1113b2d4e20117e66889d4709fc69a7207408388e1eef339557d180c85d52a386f795b91aa29fdb0b3118fd51621daf50bb85ede449d586c8933 SHA512 8b8120c07835dee50856ce276c9f2fccce927998f84a3c67df4691abc560776bf18ca40f02e738afa8ed0a94a17256b2d55c55adcb5cb1d6257c2a2d75623e51 +DIST grafana-bin-13.1.6.amd64.tar.gz 363471255 BLAKE2B 25dbefa82469294e2637d4faa68f499312e1257d0375990b9b053fdf5c2680a028ac675e51fa85bf7f0bc34470126fd02a1686f919f1df4b2de3674511d24528 SHA512 e2e9f00ec6570c5610b80942da0a8ba4559af6a4433cbc0442c7362189dc0d4406d8d808438b100a87ea571fe9e1ec02ebe11aedf01e331fd3bc053de0d6a495 +DIST grafana-bin-13.1.6.arm64.tar.gz 345423792 BLAKE2B e135c92fcaf32709c1e62dd30d821b565fe8c01fdfbd0756a011739e3060d73a48fae4c8665b1d15ed314c5b5913354081b8b6ca89ea7d0ec350f4a850f4e0b0 SHA512 652ea87690f7f10efc5656e7459bf131d152f3567043edc40097a369ce502bc665a29798a4691f0db24fbf2e666e804a42b9515b76ee585802984cc5345a4629 +DIST grafana-bin-13.2.2.amd64.tar.gz 457508545 BLAKE2B cca133113773ca99da2e1abe91aefc688bb2d49baf38891e3fb2a260efd50417deb4d9b5ddf0e49d94da798d727184e58428f42ed99af7a5b0a30bff82948a25 SHA512 b10c597076a2ed1c8a7e1404860204f00841dc5ff800b2ce89309150a82143fe7e2795409bb4c58a65c4af751c4817e3bb771fefa6a839a202cf2a529191f6d6 +DIST grafana-bin-13.2.2.arm64.tar.gz 427194660 BLAKE2B fd3fc111085c85cc7d957e32d0294c32e932cc4ac569b8d9ae83a132383f2535008eb0c66037157eb54946443c984740cbad39ed402606537387bb929f540cff SHA512 b221d7214cceb962d6c25259d81af73fa92b4161d730c3ae1f70bfd405ced00c28d8502380b5616bdb3700350ba2f5e2b447e964ef310a46fe4bb7df8d1a266c DIST grafana_12.4.3+security-02_25720634919_linux_amd64.tar.gz 271616696 BLAKE2B 58a7cb2a7c480f538a172b5b562dd43cba4dac52043749264c3adee7852b9d848a1ba309dc5a16ce513e8e3c073e308f7c43b0432715e3784e1a2494397c9549 SHA512 e185a116d902b4ea54474614078ece0d002a1ff3b8629359b8c12929c2ed285b32a9143d60dea5a243bef54c34b74a757c9630f9700e3107a3d7bd3bd9053d7d DIST grafana_12.4.3+security-02_25720634919_linux_arm64.tar.gz 256899119 BLAKE2B b2b367a1e83376bd2470b691a25572858ceba2ad95ea741aabbfeeb8bcf9ab0b20570179c4399cf9bd7e3c815bd2134f0a5fd28a61bf8349be3a4ebfdddee341 SHA512 91a457d187010866bb332705a9505fef580a83c3be1745093ceadc155d7c9b93c9024e4d048df5a815281f8d86debc643b9a50069cd7c992d5e334121d0ba816 -DIST grafana_12.4.7_30647961040_linux_amd64.tar.gz 276364750 BLAKE2B 2776d21cf2f95d4e966f9c7d945c7489c9880b2cc51b36970ad316d365b871c32ac7142e54a7d560c98cd35b8913a60044c76eb2437786d1d70cf08b5a474f25 SHA512 c0385d5f17a0e4db9379e6138b6946282e2fd4508ae1e607152b964f7dbc8a1a56bf7f5a1e8a5f802c00efed6b42741b44deff1a9ca556402784a2211497e37e -DIST grafana_12.4.7_30647961040_linux_arm64.tar.gz 261028431 BLAKE2B 793ad9e4e05ffeb66a46ee382dbc8bf3d4bcaf53de75028f1da6363cf6ee2d91b3bc165414e8d08c730ec5a7f169de61f0cd5070b806dcc5cd984100c998d34c SHA512 a4dfd232d743e9004db0b5a43cdc80238cdee4c816f7ce4aa198a711e45de322a666dde6e3407c1eb37324a133b512fc10f700ecb4ad98503f25b9b121beec62 -DIST grafana_13.1.2_30900078095_linux_amd64.tar.gz 363415655 BLAKE2B e8daf2f2624d7ae66a24ebecd6d6bcce1dc1bed5e7a8ac73c76443dfeaaa0f3c28e7ba254fe203dc9100db79e0359134c02c55aaec18a6676f4e619fd58ca45a SHA512 14660284886da303db4fc694911f2ea5594c7f4330a9a467b87094c9ca75f194153b0a6508fedf60d7c012115e74b208b5daa4f6d900d046ee82ac1b3e54ba12 -DIST grafana_13.1.2_30900078095_linux_arm64.tar.gz 345280204 BLAKE2B 73e032cbd2c6d0b19d82877cb50a49ae033f8957bc94b294841b92b758222b66c9495aa0139c3e53184a24fdf4be4887ac744a319c4ef1ac8c49b3f2ca9b1917 SHA512 736eb2ba285afbec74d10ba003e0b7cd7a02d9620783347d0133b1eda9a7e4ad5c72d2d3f66011cbd5bfa6e20dd9162b0f31e5c4673fe4896e7a09d696713894 diff --git a/www-apps/grafana-bin/grafana-bin-12.1.8.ebuild b/www-apps/grafana-bin/grafana-bin-12.1.10.ebuild index aec5fcec180c..aec5fcec180c 100644 --- a/www-apps/grafana-bin/grafana-bin-12.1.8.ebuild +++ b/www-apps/grafana-bin/grafana-bin-12.1.10.ebuild diff --git a/www-apps/grafana-bin/grafana-bin-12.2.6.ebuild b/www-apps/grafana-bin/grafana-bin-12.2.10.ebuild index aec5fcec180c..aec5fcec180c 100644 --- a/www-apps/grafana-bin/grafana-bin-12.2.6.ebuild +++ b/www-apps/grafana-bin/grafana-bin-12.2.10.ebuild diff --git a/www-apps/grafana-bin/grafana-bin-12.3.4.ebuild b/www-apps/grafana-bin/grafana-bin-12.3.11.ebuild index aec5fcec180c..aec5fcec180c 100644 --- a/www-apps/grafana-bin/grafana-bin-12.3.4.ebuild +++ b/www-apps/grafana-bin/grafana-bin-12.3.11.ebuild diff --git a/www-apps/grafana-bin/grafana-bin-12.4.7.ebuild b/www-apps/grafana-bin/grafana-bin-12.4.11.ebuild index 75c21c3952a4..041649aafa2a 100644 --- a/www-apps/grafana-bin/grafana-bin-12.4.7.ebuild +++ b/www-apps/grafana-bin/grafana-bin-12.4.11.ebuild @@ -11,22 +11,18 @@ MY_PV=${PV/_beta/-beta} DESCRIPTION="Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB" HOMEPAGE="https://grafana.org" -REAL_PV="12.4.7" -REAL_PVR="12.4.7_30647961040" - -BASE_A_ARM64="grafana_${REAL_PVR}_linux_arm64.tar.gz" -BASE_A_AMD64="grafana_${REAL_PVR}_linux_amd64.tar.gz" -BASE_URL="https://dl.grafana.com/grafana/release/${REAL_PV}" -MY_PATCH="" # leading zero means we cannot use plain $PV +BASE_A_ARM64="grafana_${PVR}_linux_arm64.tar.gz" +BASE_A_AMD64="grafana_${PVR}_linux_amd64.tar.gz" +BASE_URL="https://dl.grafana.com/grafana/release/${PV}" SRC_URI=" amd64? ( - ${BASE_URL}/${BASE_A_AMD64} + https://dl.grafana.com/oss/release/grafana-${PV}.linux-amd64.tar.gz -> ${P}.amd64.tar.gz ) arm64? ( - ${BASE_URL}/${BASE_A_ARM64} + https://dl.grafana.com/oss/release/grafana-${PV}.linux-arm64.tar.gz -> ${P}.arm64.tar.gz ) " -S=${WORKDIR}/${MY_PN}-${REAL_PV} +S=${WORKDIR}/${MY_PN}-${MY_PV} LICENSE="AGPL-3" SLOT="0" diff --git a/www-apps/grafana-bin/grafana-bin-13.1.6.ebuild b/www-apps/grafana-bin/grafana-bin-13.1.6.ebuild new file mode 100644 index 000000000000..67b97cf6f568 --- /dev/null +++ b/www-apps/grafana-bin/grafana-bin-13.1.6.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +MY_PN=${PN/-bin/} +MY_PV=${PV/_beta/-beta} + +DESCRIPTION="Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB" +HOMEPAGE="https://grafana.org" + +SRC_URI=" +amd64? ( + https://dl.grafana.com/oss/release/grafana-${PV}.linux-amd64.tar.gz -> ${P}.amd64.tar.gz +) +arm64? ( + https://dl.grafana.com/oss/release/grafana-${PV}.linux-arm64.tar.gz -> ${P}.arm64.tar.gz +) +" +S=${WORKDIR}/${MY_PN}-${MY_PV} +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm64" +RESTRICT="mirror" + +DEPEND="acct-group/grafana + acct-user/grafana" +RDEPEND="${DEPEND} + media-libs/fontconfig" + +QA_PREBUILT="usr/bin/grafana*" +QA_PRESTRIPPED=${QA_PREBUILT} + +src_install() { + keepdir /etc/grafana + insinto /etc/grafana + newins "${S}"/conf/sample.ini grafana.ini + rm "${S}"/conf/sample.ini || die + + # Frontend assets + insinto /usr/share/${MY_PN} + doins -r public conf + + # Upstream packaging changes in v13; "cli" and "server" are commands ideally + exeinto /usr/share/grafana/bin + doexe bin/grafana + dobin packaging/wrappers/grafana-cli + dobin packaging/wrappers/grafana + dobin packaging/wrappers/grafana-server + + newconfd "${FILESDIR}"/grafana-r1.confd grafana + newinitd "${FILESDIR}"/grafana.initd2 grafana + systemd_newunit "${FILESDIR}"/grafana.service grafana.service + + keepdir /var/{lib,log}/grafana + keepdir /var/lib/grafana/{dashboards,plugins} + fowners grafana:grafana /var/{lib,log}/grafana + fowners grafana:grafana /var/lib/grafana/{dashboards,plugins} + fperms 0750 /var/{lib,log}/grafana + fperms 0750 /var/lib/grafana/{dashboards,plugins} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + + elog "${PN} has built-in log rotation. Please see [log.file] section of" + elog "/etc/grafana/grafana.ini for related settings." + elog + elog "You may add your own custom configuration for app-admin/logrotate if you" + elog "wish to use external rotation of logs. In this case, you also need to make" + elog "sure the built-in rotation is turned off." + fi +} diff --git a/www-apps/grafana-bin/grafana-bin-13.1.2.ebuild b/www-apps/grafana-bin/grafana-bin-13.2.2.ebuild index 0ea0357f3699..ccf099e3ffec 100644 --- a/www-apps/grafana-bin/grafana-bin-13.1.2.ebuild +++ b/www-apps/grafana-bin/grafana-bin-13.2.2.ebuild @@ -11,21 +11,15 @@ MY_PV=${PV/_beta/-beta} DESCRIPTION="Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB" HOMEPAGE="https://grafana.org" -REAL_PV="13.1.2" -REAL_PVR="13.1.2_30900078095" -BASE_A_ARM64="grafana_${REAL_PVR}_linux_arm64.tar.gz" -BASE_A_AMD64="grafana_${REAL_PVR}_linux_amd64.tar.gz" -BASE_URL="https://dl.grafana.com/grafana/release/${REAL_PV}" -MY_PATCH="" # leading zero means we cannot use plain $PV SRC_URI=" amd64? ( - ${BASE_URL}/${BASE_A_AMD64} + https://dl.grafana.com/oss/release/grafana-${PV}.linux-amd64.tar.gz -> ${P}.amd64.tar.gz ) arm64? ( - ${BASE_URL}/${BASE_A_ARM64} + https://dl.grafana.com/oss/release/grafana-${PV}.linux-arm64.tar.gz -> ${P}.arm64.tar.gz ) " -S=${WORKDIR}/${MY_PN}-${REAL_PV} +S=${WORKDIR}/${MY_PN}-${MY_PV} LICENSE="AGPL-3" SLOT="0" |
