summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig3
-rw-r--r--app-admin/ansible-lint/Manifest1
-rw-r--r--app-admin/ansible-lint/ansible-lint-24.7.0.ebuild58
-rw-r--r--app-admin/ansible-lint/metadata.xml9
-rw-r--r--app-admin/awscli/Manifest2
-rw-r--r--app-admin/awscli/awscli-1.34.21.ebuild90
-rw-r--r--app-admin/awscli/awscli-1.34.22.ebuild90
-rw-r--r--app-admin/djbdns-logparse/djbdns-logparse-0.0.2-r2.ebuild2
-rw-r--r--app-admin/sysklogd/Manifest1
-rw-r--r--app-admin/sysklogd/sysklogd-2.6.2.ebuild85
-rw-r--r--app-arch/libarchive/Manifest2
-rw-r--r--app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch334
-rw-r--r--app-arch/libarchive/libarchive-3.7.5.ebuild177
-rw-r--r--app-cdr/dvd+rw-tools/metadata.xml9
-rw-r--r--app-containers/incus/Manifest2
-rw-r--r--app-containers/incus/incus-6.0.2.ebuild215
-rw-r--r--app-containers/lxc/lxc-6.0.1.ebuild2
-rw-r--r--app-editors/vis/vis-0.9.ebuild2
-rw-r--r--app-emacs/htmlize/Manifest1
-rw-r--r--app-emacs/htmlize/htmlize-1.58.ebuild30
-rw-r--r--app-emacs/indent-bars/Manifest1
-rw-r--r--app-emacs/indent-bars/indent-bars-0.7.4.ebuild35
-rw-r--r--app-emacs/org-contrib/Manifest3
-rw-r--r--app-emacs/org-contrib/org-contrib-0.4.1.ebuild20
-rw-r--r--app-emacs/org-contrib/org-contrib-0.6.ebuild (renamed from app-emacs/org-contrib/org-contrib-0.4.2.ebuild)9
-rw-r--r--app-misc/fastfetch/Manifest1
-rw-r--r--app-misc/fastfetch/fastfetch-2.25.0.ebuild110
-rw-r--r--app-misc/regex-markup/files/regex-markup-0.10.0-c99.patch11
-rw-r--r--app-misc/regex-markup/regex-markup-0.10.0-r3.ebuild (renamed from app-misc/regex-markup/regex-markup-0.10.0-r2.ebuild)3
-rw-r--r--app-office/gnucash/gnucash-5.8-r100.ebuild233
-rw-r--r--app-office/joplin-desktop/Manifest1
-rw-r--r--app-office/joplin-desktop/joplin-desktop-3.0.13.ebuild103
-rw-r--r--app-office/libreoffice-l10n/libreoffice-l10n-24.2.6.2.ebuild2
-rw-r--r--app-office/libreoffice/libreoffice-24.2.6.2.ebuild2
-rw-r--r--app-shells/gash/gash-0.3.0-r100.ebuild29
-rw-r--r--app-text/cherrytree/Manifest2
-rw-r--r--app-text/cherrytree/cherrytree-1.1.3.ebuild77
-rw-r--r--app-text/cherrytree/cherrytree-1.1.4-r1.ebuild (renamed from app-text/cherrytree/cherrytree-1.1.2.ebuild)1
-rw-r--r--app-text/cherrytree/cherrytree-1.1.4.ebuild77
-rw-r--r--app-text/pdfjam/Manifest2
-rw-r--r--app-text/pdfjam/metadata.xml16
-rw-r--r--app-text/pdfjam/pdfjam-2.08-r1.ebuild24
-rw-r--r--app-text/pdfjam/pdfjam-3.12.ebuild58
-rw-r--r--app-text/poppler/poppler-24.08.0.ebuild2
-rw-r--r--app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.3.2.ebuild2
-rw-r--r--dev-build/remake/remake-4.3.1.1.6-r100.ebuild58
-rw-r--r--dev-debug/gdb/gdb-15.1-r100.ebuild325
-rw-r--r--dev-debug/gdb/gdb-9999.ebuild17
-rw-r--r--dev-debug/lldb/Manifest2
-rw-r--r--dev-debug/lldb/lldb-19.1.0.ebuild111
-rw-r--r--dev-debug/strace/Manifest7
-rw-r--r--dev-debug/strace/strace-6.10.ebuild14
-rw-r--r--dev-debug/strace/strace-6.11.ebuild117
-rw-r--r--dev-debug/strace/strace-6.6.ebuild14
-rw-r--r--dev-debug/strace/strace-6.7.ebuild14
-rw-r--r--dev-debug/strace/strace-6.8.ebuild14
-rw-r--r--dev-debug/strace/strace-6.9.ebuild14
-rw-r--r--dev-debug/strace/strace-9999.ebuild14
-rw-r--r--dev-gap/browse/browse-1.8.21-r2.ebuild7
-rw-r--r--dev-java/checker-framework-qual/Manifest1
-rw-r--r--dev-java/checker-framework-qual/checker-framework-qual-3.47.0.ebuild23
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild2
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild2
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.27-r1.ebuild2
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild4
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild2
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.32.ebuild2
-rw-r--r--dev-java/error-prone-annotations/Manifest1
-rw-r--r--dev-java/error-prone-annotations/error-prone-annotations-2.32.0.ebuild23
-rw-r--r--dev-java/guava-testlib/Manifest1
-rw-r--r--dev-java/guava-testlib/guava-testlib-33.3.0.ebuild64
-rw-r--r--dev-java/guava/Manifest1
-rw-r--r--dev-java/guava/guava-33.3.0.ebuild35
-rw-r--r--dev-java/jeromq/Manifest1
-rw-r--r--dev-java/jeromq/jeromq-0.6.0-r1.ebuild55
-rw-r--r--dev-java/jnacl/jnacl-1.0-r1.ebuild40
-rw-r--r--dev-java/maven-bin/Manifest1
-rw-r--r--dev-java/maven-bin/maven-bin-3.9.8.ebuild63
-rw-r--r--dev-java/metainf-services/Manifest1
-rw-r--r--dev-java/metainf-services/metainf-services-1.11.ebuild21
-rw-r--r--dev-java/openjdk-bin/Manifest17
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-23_p37_beta.ebuild137
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-24_p15_beta.ebuild (renamed from dev-java/openjdk-bin/openjdk-bin-24_p8_beta.ebuild)1
-rw-r--r--dev-java/openjdk/openjdk-11.0.24_p8.ebuild10
-rw-r--r--dev-java/openjdk/openjdk-17.0.12_p7.ebuild10
-rw-r--r--dev-java/openjdk/openjdk-21.0.4_p7.ebuild10
-rw-r--r--dev-java/swingx/metadata.xml11
-rw-r--r--dev-java/swt/Manifest3
-rw-r--r--dev-java/swt/metadata.xml2
-rw-r--r--dev-java/swt/swt-4.29-r1.ebuild2
-rw-r--r--dev-java/swt/swt-4.30-r2.ebuild2
-rw-r--r--dev-java/swt/swt-4.33.ebuild152
-rw-r--r--dev-lang/elixir/elixir-1.17.2.ebuild2
-rw-r--r--dev-lang/gnat-gpl/Manifest1
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild1
-rw-r--r--dev-lang/go/Manifest1
-rw-r--r--dev-lang/go/go-1.23.0.ebuild162
-rw-r--r--dev-lang/go/go-9999.ebuild2
-rw-r--r--dev-lang/python/Manifest6
-rw-r--r--dev-lang/python/python-3.10.15_p1.ebuild592
-rw-r--r--dev-lang/python/python-3.11.10_p1.ebuild624
-rw-r--r--dev-lang/python/python-3.12.6_p2.ebuild609
-rw-r--r--dev-lang/python/python-3.13.0_rc2.ebuild9
-rw-r--r--dev-lang/python/python-3.13.0_rc2_p1.ebuild643
-rw-r--r--dev-lang/python/python-3.8.20_p2.ebuild489
-rw-r--r--dev-lang/python/python-3.9.20_p1.ebuild581
-rw-r--r--dev-lang/rust-bin/rust-bin-1.81.0.ebuild7
-rw-r--r--dev-lang/rust/rust-1.81.0.ebuild5
-rw-r--r--dev-libs/dotconf/dotconf-1.4.1.ebuild2
-rw-r--r--dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild1
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc15.patch10
-rw-r--r--dev-libs/libclc/Manifest2
-rw-r--r--dev-libs/libclc/libclc-19.1.0.ebuild62
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild2
-rw-r--r--dev-libs/libmirage/Manifest1
-rw-r--r--dev-libs/libmirage/libmirage-3.2.9.ebuild55
-rw-r--r--dev-libs/libwacom/Manifest2
-rw-r--r--dev-libs/libwacom/libwacom-2.10.0.ebuild68
-rw-r--r--dev-libs/libwacom/libwacom-2.11.0.ebuild68
-rw-r--r--dev-libs/libwacom/libwacom-2.12.2.ebuild2
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-6.1.2-fix-segfault.patch31
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.2-r1.ebuild95
-rw-r--r--dev-ml/llvm-ocaml/Manifest2
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-19.1.0.ebuild108
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild2
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild2
-rw-r--r--dev-python/ansible-compat/Manifest1
-rw-r--r--dev-python/ansible-compat/ansible-compat-24.9.1.ebuild57
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.35.21.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.35.22.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.35.21.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.35.22.ebuild76
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.14.1.ebuild70
-rw-r--r--dev-python/clang-python/Manifest2
-rw-r--r--dev-python/clang-python/clang-python-19.1.0.ebuild54
-rw-r--r--dev-python/contourpy/contourpy-1.3.0.ebuild4
-rw-r--r--dev-python/filelock/Manifest1
-rw-r--r--dev-python/filelock/filelock-3.16.1.ebuild31
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.146.0.ebuild50
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild2
-rw-r--r--dev-python/jaraco-test/Manifest1
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.5.1.ebuild47
-rw-r--r--dev-python/jupyter-client/Manifest1
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.6.3.ebuild56
-rw-r--r--dev-python/keyring/Manifest1
-rw-r--r--dev-python/keyring/keyring-25.4.0.ebuild55
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-19.1.0.ebuild46
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.35.ebuild67
-rw-r--r--dev-python/pipdeptree/Manifest1
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.23.4.ebuild56
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-4.3.6.ebuild54
-rw-r--r--dev-python/podman/Manifest1
-rw-r--r--dev-python/podman/podman-5.2.0.ebuild52
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.9.2.ebuild64
-rw-r--r--dev-python/pymongo/Manifest1
-rw-r--r--dev-python/pymongo/pymongo-4.9.1.ebuild228
-rw-r--r--dev-python/pyopengl/Manifest1
-rw-r--r--dev-python/pyopengl/files/pyopengl-3.1.8-fix-version.patch17
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.8.ebuild74
-rw-r--r--dev-python/pyopengl_accelerate/Manifest1
-rw-r--r--dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.8.ebuild63
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-5.0.0.ebuild68
-rw-r--r--dev-python/pyproject-api/Manifest2
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.7.2.ebuild43
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.8.0.ebuild43
-rw-r--r--dev-python/pyproject-fmt/Manifest1
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.2.4.ebuild36
-rw-r--r--dev-python/pytest-env/Manifest1
-rw-r--r--dev-python/pytest-env/pytest-env-1.1.5.ebuild46
-rw-r--r--dev-python/pytest-httpbin/Manifest1
-rw-r--r--dev-python/pytest-httpbin/pytest-httpbin-2.1.0.ebuild34
-rw-r--r--dev-python/python-tests/Manifest4
-rw-r--r--dev-python/python-tests/python-tests-3.10.15_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.11.10_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.12.6_p2.ebuild69
-rw-r--r--dev-python/python-tests/python-tests-3.13.0_rc2_p1.ebuild69
-rw-r--r--dev-python/simsimd/Manifest3
-rw-r--r--dev-python/simsimd/simsimd-5.1.4.ebuild63
-rw-r--r--dev-python/simsimd/simsimd-5.4.0.ebuild (renamed from dev-python/simsimd/simsimd-5.2.1.ebuild)0
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest4
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.3.ebuild (renamed from dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.0.ebuild)0
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.4.ebuild (renamed from dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.1.ebuild)0
-rw-r--r--dev-python/statsmodels/statsmodels-0.14.3.ebuild7
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-10.12.0.ebuild92
-rw-r--r--dev-python/sympy/Manifest1
-rw-r--r--dev-python/sympy/sympy-1.13.3.ebuild105
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.19.0.ebuild97
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.4.11.ebuild (renamed from dev-python/uv/uv-0.4.9.ebuild)2
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.26.5.ebuild118
-rw-r--r--dev-python/xmlschema/Manifest1
-rw-r--r--dev-python/xmlschema/xmlschema-3.4.2.ebuild37
-rw-r--r--dev-python/zope-hookable/Manifest1
-rw-r--r--dev-python/zope-hookable/zope-hookable-7.0.ebuild44
-rw-r--r--dev-python/zope-i18nmessageid/Manifest1
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-7.0.ebuild44
-rw-r--r--dev-ruby/fiber-storage/fiber-storage-0.1.2.ebuild2
-rw-r--r--dev-ruby/i18n/Manifest4
-rw-r--r--dev-ruby/i18n/i18n-1.13.0.ebuild62
-rw-r--r--dev-ruby/i18n/i18n-1.14.3.ebuild67
-rw-r--r--dev-ruby/i18n/i18n-1.14.6.ebuild (renamed from dev-ruby/i18n/i18n-1.14.4.ebuild)13
-rw-r--r--dev-ruby/jbuilder/Manifest1
-rw-r--r--dev-ruby/jbuilder/jbuilder-2.13.0-r1.ebuild35
-rw-r--r--dev-ruby/jwt/Manifest1
-rw-r--r--dev-ruby/jwt/jwt-2.9.0.ebuild35
-rw-r--r--dev-ruby/jwt/metadata.xml3
-rw-r--r--dev-ruby/memo_wise/Manifest2
-rw-r--r--dev-ruby/memo_wise/memo_wise-1.10.0.ebuild (renamed from dev-ruby/memo_wise/memo_wise-1.8.0.ebuild)3
-rw-r--r--dev-ruby/moneta/moneta-1.6.0-r1.ebuild62
-rw-r--r--dev-ruby/rubyntlm/Manifest1
-rw-r--r--dev-ruby/rubyntlm/rubyntlm-0.6.3-r1.ebuild22
-rw-r--r--dev-ruby/rubyntlm/rubyntlm-0.6.5.ebuild2
-rw-r--r--dev-ruby/selenium-webdriver/selenium-webdriver-4.1.0.ebuild36
-rw-r--r--dev-ruby/sus-fixtures-async/Manifest2
-rw-r--r--dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild37
-rw-r--r--dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.2.ebuild37
-rw-r--r--dev-ruby/timecop/Manifest2
-rw-r--r--dev-ruby/timecop/timecop-0.9.7.ebuild40
-rw-r--r--dev-ruby/timecop/timecop-0.9.8.ebuild40
-rw-r--r--dev-scheme/akku/Manifest1
-rw-r--r--dev-scheme/akku/akku-1.1.0-r100.ebuild49
-rw-r--r--dev-scheme/bytestructures/bytestructures-2.0.2-r100.ebuild26
-rw-r--r--dev-scheme/fibers/fibers-1.2.0_p20230522-r100.ebuild41
-rw-r--r--dev-scheme/goosh/goosh-1.3-r100.ebuild20
-rw-r--r--dev-scheme/guile-colorized/guile-colorized-0.1_p20191205-r100.ebuild42
-rw-r--r--dev-scheme/guile-colorized/guile-colorized-9999.ebuild29
-rw-r--r--dev-scheme/guile-config/guile-config-0.5.1-r100.ebuild25
-rw-r--r--dev-scheme/guile-dbd-postgresql/Manifest1
-rw-r--r--dev-scheme/guile-dbd-postgresql/guile-dbd-postgresql-2.1.9.ebuild37
-rw-r--r--dev-scheme/guile-dbd-sqlite3/Manifest1
-rw-r--r--dev-scheme/guile-dbd-sqlite3/guile-dbd-sqlite3-2.1.9.ebuild37
-rw-r--r--dev-scheme/guile-dbi/Manifest1
-rw-r--r--dev-scheme/guile-dbi/files/guile-dbi-2.1.9-find-correct-site-dir.patch32
-rw-r--r--dev-scheme/guile-dbi/guile-dbi-2.1.9.ebuild40
-rw-r--r--dev-scheme/guile-gcrypt/guile-gcrypt-0.4.0-r100.ebuild43
-rw-r--r--dev-scheme/guile-gi/files/guile-gi-0.3.2-function-cast.patch89
-rw-r--r--dev-scheme/guile-gi/guile-gi-0.3.2-r100.ebuild64
-rw-r--r--dev-scheme/guile-gi/guile-gi-9999.ebuild40
-rw-r--r--dev-scheme/guile-git/guile-git-0.7.0-r100.ebuild53
-rw-r--r--dev-scheme/guile-gnutls/guile-gnutls-4.0.0-r100.ebuild59
-rw-r--r--dev-scheme/guile-hall/guile-hall-0.4.1-r100.ebuild31
-rw-r--r--dev-scheme/guile-json/guile-json-4.7.3-r100.ebuild20
-rw-r--r--dev-scheme/guile-lib/guile-lib-0.2.7-r100.ebuild30
-rw-r--r--dev-scheme/guile-libyaml/guile-libyaml-20211124-r100.ebuild65
-rw-r--r--dev-scheme/guile-lzlib/guile-lzlib-0.0.2-r100.ebuild45
-rw-r--r--dev-scheme/guile-ncurses/guile-ncurses-3.1-r100.ebuild72
-rw-r--r--dev-scheme/guile-nyacc/guile-nyacc-1.06.7-r100.ebuild29
-rw-r--r--dev-scheme/guile-sqlite3/guile-sqlite3-0.1.3-r100.ebuild32
-rw-r--r--dev-scheme/guile-ssh/guile-ssh-0.16.4-r100.ebuild64
-rw-r--r--dev-scheme/guile-zlib/guile-zlib-0.1.0-r100.ebuild48
-rw-r--r--dev-scheme/guile-zstd/guile-zstd-0.1.1-r100.ebuild46
-rw-r--r--dev-scheme/guile/guile-3.0.10-r100.ebuild4
-rw-r--r--dev-scheme/skribilo/skribilo-0.10.0-r100.ebuild82
-rw-r--r--dev-scheme/xdgdirs/xdgdirs-2.2-r100.ebuild34
-rw-r--r--dev-util/azuredatastudio/Manifest1
-rw-r--r--dev-util/azuredatastudio/azuredatastudio-1.49.0.ebuild105
-rw-r--r--dev-util/bcpp/Manifest2
-rw-r--r--dev-util/bcpp/bcpp-20240917.ebuild40
-rw-r--r--dev-util/idea-community/Manifest4
-rw-r--r--dev-util/idea-community/idea-community-2024.2.2.ebuild (renamed from dev-util/idea-community/idea-community-2024.2.1.ebuild)0
-rw-r--r--dev-util/intel_clc/Manifest10
-rw-r--r--dev-util/intel_clc/intel_clc-24.0.9.ebuild86
-rw-r--r--dev-util/intel_clc/intel_clc-24.1.3.ebuild87
-rw-r--r--dev-util/intel_clc/intel_clc-24.1.4.ebuild87
-rw-r--r--dev-util/intel_clc/intel_clc-24.1.5.ebuild87
-rw-r--r--dev-util/intel_clc/intel_clc-24.1.6.ebuild87
-rw-r--r--dev-util/intel_clc/intel_clc-24.1.7.ebuild2
-rw-r--r--dev-util/intel_clc/intel_clc-24.2.0_rc4.ebuild93
-rw-r--r--dev-util/intel_clc/intel_clc-24.2.1.ebuild93
-rw-r--r--dev-util/intel_clc/intel_clc-24.2.2.ebuild93
-rw-r--r--dev-util/intel_clc/intel_clc-24.2.3.ebuild (renamed from dev-util/intel_clc/intel_clc-24.2.0.ebuild)0
-rw-r--r--dev-util/kdevelop-php/kdevelop-php-24.08.1.ebuild2
-rw-r--r--dev-util/kdevelop-python/kdevelop-python-24.08.1.ebuild2
-rw-r--r--dev-util/kdevelop/kdevelop-24.08.1.ebuild2
-rw-r--r--dev-util/kio-perldoc/kio-perldoc-24.08.1.ebuild2
-rw-r--r--dev-util/visualvm/Manifest1
-rw-r--r--dev-util/visualvm/visualvm-2.1.10.ebuild182
-rw-r--r--eclass/guile.eclass3
-rwxr-xr-xeclass/tests/toolchain.sh17
-rw-r--r--eclass/toolchain.eclass22
-rw-r--r--games-arcade/jazz2-data/jazz2-data-0-r20200327.ebuild5
-rw-r--r--games-arcade/jazz2/Manifest1
-rw-r--r--games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch20
-rw-r--r--games-arcade/jazz2/jazz2-2.8.0.ebuild73
-rw-r--r--games-arcade/jazz2/metadata.xml2
-rw-r--r--games-emulation/ryujinx/Manifest38
-rw-r--r--games-emulation/ryujinx/ryujinx-1.1.1388.ebuild315
-rw-r--r--gnome-base/gnome-flashback/Manifest2
-rw-r--r--gnome-base/gnome-flashback/gnome-flashback-3.46.0.ebuild88
-rw-r--r--gnome-base/gnome-flashback/gnome-flashback-3.50.0.ebuild88
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.50.2-r1.ebuild3
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.50.4.ebuild3
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.52.2.ebuild3
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.52.4.ebuild3
-rw-r--r--gnome-extra/evolution-ews/evolution-ews-3.50.2.ebuild3
-rw-r--r--gnome-extra/evolution-ews/evolution-ews-3.50.3-r1.ebuild3
-rw-r--r--gnome-extra/evolution-ews/evolution-ews-3.52.2.ebuild3
-rw-r--r--gnome-extra/evolution-ews/evolution-ews-3.52.4.ebuild3
-rw-r--r--gui-apps/wmenu/wmenu-0.1.9.ebuild2
-rw-r--r--kde-apps/kapptemplate/kapptemplate-24.08.1.ebuild2
-rw-r--r--kde-apps/kde-dev-scripts/kde-dev-scripts-24.08.1.ebuild2
-rw-r--r--kde-apps/kde-dev-utils/kde-dev-utils-24.08.1.ebuild2
-rw-r--r--kde-apps/kompare/kompare-24.08.1.ebuild2
-rw-r--r--kde-apps/libkomparediff2/libkomparediff2-24.08.1.ebuild2
-rw-r--r--kde-apps/poxml/poxml-24.08.1-r1.ebuild2
-rw-r--r--kde-frameworks/kwallet/kwallet-6.6.0-r1.ebuild (renamed from kde-frameworks/kwallet/kwallet-6.6.0.ebuild)1
-rw-r--r--kde-plasma/kdesu-gui/files/kdesu-gui-6.1.5-fix-without-x11.patch28
-rw-r--r--kde-plasma/kdesu-gui/kdesu-gui-6.1.5.ebuild3
-rw-r--r--mail-client/evolution/evolution-3.50.2.ebuild3
-rw-r--r--mail-client/evolution/evolution-3.50.4-r1.ebuild3
-rw-r--r--mail-client/evolution/evolution-3.50.4.ebuild3
-rw-r--r--mail-client/evolution/evolution-3.52.2.ebuild3
-rw-r--r--mail-client/evolution/evolution-3.52.4.ebuild3
-rw-r--r--mail-client/thunderbird-bin/Manifest132
-rw-r--r--mail-client/thunderbird-bin/thunderbird-bin-128.2.2.ebuild (renamed from mail-client/thunderbird-bin/thunderbird-bin-128.2.1.ebuild)0
-rw-r--r--mail-client/thunderbird/Manifest65
-rw-r--r--mail-client/thunderbird/metadata.xml2
-rw-r--r--mail-client/thunderbird/thunderbird-128.2.2.ebuild1192
-rw-r--r--mail-mta/postfix/Manifest2
-rw-r--r--mail-mta/postfix/postfix-3.10_pre20240917.ebuild (renamed from mail-mta/postfix/postfix-3.10_pre20240902.ebuild)2
-rw-r--r--mate-extra/mate-utils/Manifest2
-rw-r--r--mate-extra/mate-utils/mate-utils-1.26.0.ebuild74
-rw-r--r--mate-extra/mate-utils/mate-utils-1.26.1.ebuild74
-rw-r--r--media-gfx/graphviz/graphviz-12.0.0-r100.ebuild230
-rw-r--r--media-gfx/hugin/hugin-9999.ebuild12
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild2
-rw-r--r--media-gfx/prusaslicer/Manifest1
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch13
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild113
-rw-r--r--media-libs/harfbuzz/harfbuzz-9.0.0.ebuild2
-rw-r--r--media-libs/imlib2/imlib2-1.12.3.ebuild2
-rw-r--r--media-libs/libpng/Manifest2
-rw-r--r--media-libs/libpng/libpng-1.6.44.ebuild70
-rw-r--r--media-libs/mesa/Manifest10
-rw-r--r--media-libs/mesa/files/24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch31
-rw-r--r--media-libs/mesa/mesa-24.0.9.ebuild438
-rw-r--r--media-libs/mesa/mesa-24.1.3.ebuild494
-rw-r--r--media-libs/mesa/mesa-24.1.4.ebuild494
-rw-r--r--media-libs/mesa/mesa-24.1.5.ebuild494
-rw-r--r--media-libs/mesa/mesa-24.1.6.ebuild494
-rw-r--r--media-libs/mesa/mesa-24.1.7.ebuild2
-rw-r--r--media-libs/mesa/mesa-24.2.0_rc4.ebuild490
-rw-r--r--media-libs/mesa/mesa-24.2.1.ebuild490
-rw-r--r--media-libs/mesa/mesa-24.2.2.ebuild490
-rw-r--r--media-libs/mesa/mesa-24.2.3.ebuild (renamed from media-libs/mesa/mesa-24.2.0.ebuild)0
-rw-r--r--media-libs/mesa/metadata.xml2
-rw-r--r--media-plugins/imlib2_loaders/imlib2_loaders-1.12.3.ebuild2
-rw-r--r--media-sound/denemo/denemo-2.6.0-r100.ebuild136
-rw-r--r--media-sound/denemo/files/denemo-2.6.0-fix-c99.patch38
-rw-r--r--media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch36
-rw-r--r--media-sound/easytag/easytag-2.4.3-r4.ebuild72
-rw-r--r--media-sound/easytag/metadata.xml3
-rw-r--r--media-sound/lilypond/lilypond-2.24.4-r100.ebuild145
-rw-r--r--media-sound/lilypond/lilypond-9999.ebuild25
-rw-r--r--media-sound/qjackctl/Manifest1
-rw-r--r--media-sound/qjackctl/qjackctl-1.0.2.ebuild47
-rw-r--r--media-video/pipewire/Manifest5
-rw-r--r--media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch79
-rw-r--r--media-video/pipewire/pipewire-1.0.5-r1.ebuild502
-rw-r--r--media-video/pipewire/pipewire-1.0.5.ebuild512
-rw-r--r--media-video/pipewire/pipewire-1.0.6.ebuild502
-rw-r--r--media-video/pipewire/pipewire-1.2.0-r2.ebuild517
-rw-r--r--media-video/pipewire/pipewire-1.2.1.ebuild517
-rw-r--r--media-video/pipewire/pipewire-1.2.2.ebuild515
-rw-r--r--media-video/pipewire/pipewire-1.2.3.ebuild2
-rw-r--r--media-video/wireplumber/Manifest3
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch24
-rw-r--r--media-video/wireplumber/wireplumber-0.4.17-r1.ebuild122
-rw-r--r--media-video/wireplumber/wireplumber-0.5.2.ebuild123
-rw-r--r--media-video/wireplumber/wireplumber-0.5.5.ebuild130
-rw-r--r--media-video/wireplumber/wireplumber-0.5.6-r1.ebuild2
-rw-r--r--media-video/wireplumber/wireplumber-0.5.6.ebuild130
-rw-r--r--net-analyzer/alive/alive-2.0.5-r100.ebuild33
-rw-r--r--net-dialup/ppp/Manifest1
-rw-r--r--net-dialup/ppp/ppp-2.5.1.ebuild124
-rw-r--r--net-firewall/firewalld/firewalld-2.2.1-r1.ebuild2
-rw-r--r--net-ftp/filezilla/filezilla-3.67.1.ebuild2
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild5
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-9999.ebuild5
-rw-r--r--net-im/slack/Manifest2
-rw-r--r--net-im/slack/slack-4.40.128.ebuild (renamed from net-im/slack/slack-4.40.120.ebuild)0
-rw-r--r--net-im/telegram-desktop-bin/Manifest4
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-5.5.5.ebuild (renamed from net-im/telegram-desktop-bin/telegram-desktop-bin-5.3.2.ebuild)0
-rw-r--r--net-im/telegram-desktop/Manifest1
-rw-r--r--net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild261
-rw-r--r--net-irc/weechat/weechat-4.4.2-r100.ebuild198
-rw-r--r--net-irc/weechat/weechat-9999.ebuild15
-rw-r--r--net-libs/gloox/gloox-1.0.28.ebuild2
-rw-r--r--net-mail/mailutils/mailutils-3.17-r100.ebuild161
-rw-r--r--net-mail/muchsync/Manifest1
-rw-r--r--net-mail/muchsync/muchsync-7.ebuild22
-rw-r--r--net-misc/curl/Manifest4
-rw-r--r--net-misc/curl/curl-8.10.1.ebuild (renamed from net-misc/curl/curl-8.10.0-r1.ebuild)1
-rw-r--r--net-misc/inetutils/inetutils-2.5-r5.ebuild (renamed from net-misc/inetutils/inetutils-2.5-r3.ebuild)56
-rw-r--r--net-misc/lldpd/lldpd-1.0.18.ebuild2
-rw-r--r--net-misc/trurl/Manifest1
-rw-r--r--net-misc/trurl/trurl-0.15.1.ebuild49
-rw-r--r--net-proxy/haproxy/Manifest4
-rw-r--r--net-proxy/haproxy/haproxy-2.6.19.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.8.11.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.9.11.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-3.0.5.ebuild217
-rw-r--r--net-vpn/candy/candy-5.10.3-r1.ebuild (renamed from net-vpn/candy/candy-5.10.3.ebuild)8
-rw-r--r--net-vpn/candy/candy-5.10.4-r1.ebuild (renamed from net-vpn/candy/candy-5.10.4.ebuild)8
-rw-r--r--net-wireless/iw/iw-6.7.ebuild4
-rw-r--r--profiles/arch/base/use.mask4
-rw-r--r--profiles/base/use.stable.mask4
-rw-r--r--profiles/package.mask43
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/clang/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/clang/parent2
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/gcc/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/gcc/parent2
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/make.defaults5
-rw-r--r--profiles/prefix/darwin/macos/15.0/arm64/parent2
-rw-r--r--profiles/prefix/darwin/macos/15.0/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/make.defaults4
-rw-r--r--profiles/prefix/darwin/macos/15.0/package.use.mask7
-rw-r--r--profiles/prefix/darwin/macos/15.0/parent1
-rw-r--r--profiles/prefix/darwin/macos/15.0/profile.bashrc4
-rw-r--r--profiles/prefix/darwin/macos/15.0/x64/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/x64/gcc/eapi1
-rw-r--r--profiles/prefix/darwin/macos/15.0/x64/gcc/parent2
-rw-r--r--profiles/prefix/darwin/macos/15.0/x64/make.defaults5
-rw-r--r--profiles/prefix/darwin/macos/15.0/x64/parent2
-rw-r--r--profiles/profiles.desc2
-rw-r--r--sci-calculators/tiemu/files/tiemu-3.03-implicit-int.patch16
-rw-r--r--sci-calculators/tiemu/tiemu-3.03-r2.ebuild1
-rw-r--r--sci-electronics/geda/geda-1.10.2-r100.ebuild96
-rw-r--r--sci-electronics/gwave/files/gwave-20190116-lfs-shim.patch14
-rw-r--r--sci-electronics/gwave/gwave-20190116-r100.ebuild63
-rw-r--r--sci-geosciences/josm-bin/josm-bin-19160.ebuild2
-rw-r--r--sci-geosciences/qmapshack/qmapshack-1.17.1_p600-r1.ebuild (renamed from sci-geosciences/qmapshack/qmapshack-1.17.1_p600.ebuild)5
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.6-r100.ebuild190
-rw-r--r--sci-libs/nlopt/nlopt-2.7.1-r100.ebuild115
-rw-r--r--sec-keys/openpgp-keys-apache-tomcat/Manifest4
-rw-r--r--sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.30.ebuild (renamed from sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.29.ebuild)0
-rw-r--r--sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.95.ebuild (renamed from sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.94.ebuild)0
-rw-r--r--sec-keys/openpgp-keys-strace/Manifest1
-rw-r--r--sec-keys/openpgp-keys-strace/metadata.xml13
-rw-r--r--sec-keys/openpgp-keys-strace/openpgp-keys-strace-20151021.ebuild21
-rw-r--r--sys-apps/bfs/Manifest1
-rw-r--r--sys-apps/bfs/bfs-4.0.2.ebuild59
-rw-r--r--sys-apps/fwupd-efi/fwupd-efi-1.6-r1.ebuild64
-rw-r--r--sys-apps/fwupd-efi/metadata.xml9
-rw-r--r--sys-apps/fwupd/Manifest1
-rw-r--r--sys-apps/fwupd/fwupd-1.9.24.ebuild210
-rw-r--r--sys-apps/fwupd/metadata.xml9
-rw-r--r--sys-apps/gawk/Manifest2
-rw-r--r--sys-apps/gawk/gawk-5.3.1.ebuild136
-rw-r--r--sys-apps/mawk/Manifest2
-rw-r--r--sys-apps/mawk/mawk-1.3.4_p20240905.ebuild52
-rw-r--r--sys-apps/openrc/Manifest2
-rw-r--r--sys-apps/openrc/openrc-0.55.1.ebuild (renamed from sys-apps/openrc/openrc-0.55.ebuild)0
-rw-r--r--sys-apps/pcmciautils/Manifest2
-rw-r--r--sys-apps/pcmciautils/pcmciautils-018_p18.ebuild (renamed from sys-apps/pcmciautils/pcmciautils-018_p8-r3.ebuild)22
-rw-r--r--sys-apps/portage/Manifest1
-rw-r--r--sys-apps/portage/portage-3.0.66.1.ebuild227
-rw-r--r--sys-apps/sysvinit/Manifest2
-rw-r--r--sys-apps/sysvinit/sysvinit-3.10.ebuild201
-rw-r--r--sys-apps/usermode-utilities/usermode-utilities-20070815-r6.ebuild6
-rw-r--r--sys-block/f3/f3-8.0.ebuild69
-rw-r--r--sys-devel/autogen/autogen-5.18.16-r100.ebuild85
-rw-r--r--sys-devel/clang-common/Manifest2
-rw-r--r--sys-devel/clang-common/clang-common-19.1.0.ebuild305
-rw-r--r--sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild40
-rw-r--r--sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-19.ebuild1
-rw-r--r--sys-devel/clang/Manifest2
-rw-r--r--sys-devel/clang/clang-19.1.0.ebuild471
-rw-r--r--sys-devel/gcc/gcc-10.5.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-11.4.1_p20240501.ebuild1
-rw-r--r--sys-devel/gcc/gcc-11.5.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.3.1_p20240209.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.4.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20240829.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20240905.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20240912.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.5.9999.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.2.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.2.1_p20240210.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20240614.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20240830.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20240906.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20240913.ebuild1
-rw-r--r--sys-devel/gcc/gcc-13.4.9999.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20240817.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20240831.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20240907.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20240914.ebuild1
-rw-r--r--sys-devel/gcc/gcc-14.3.9999.ebuild1
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild1
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240901.ebuild1
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240908.ebuild1
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240915.ebuild1
-rw-r--r--sys-devel/gcc/gcc-15.0.9999.ebuild1
-rw-r--r--sys-devel/gcc/gcc-8.5.0-r1.ebuild1
-rw-r--r--sys-devel/gcc/gcc-9.5.0.ebuild1
-rw-r--r--sys-devel/kgcc64/Manifest1
-rw-r--r--sys-devel/kgcc64/kgcc64-10.5.0.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-11.4.1_p20240501.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-11.5.0.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-12.3.1_p20240502.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-12.4.0.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-13.2.1_p20240503.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-13.3.1_p20240614.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-14.1.1_p20240511.ebuild1
-rw-r--r--sys-devel/kgcc64/kgcc64-14.2.1_p20240817.ebuild1
-rw-r--r--sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-19.ebuild1
-rw-r--r--sys-devel/lld/Manifest2
-rw-r--r--sys-devel/lld/lld-19.1.0.ebuild94
-rw-r--r--sys-devel/llvm-common/Manifest2
-rw-r--r--sys-devel/llvm-common/llvm-common-19.1.0.ebuild54
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-19.ebuild1
-rw-r--r--sys-devel/llvm/Manifest3
-rw-r--r--sys-devel/llvm/llvm-15.0.7-r7.ebuild520
-rw-r--r--sys-devel/llvm/llvm-19.1.0.ebuild548
-rw-r--r--sys-devel/llvmgold/llvmgold-19.ebuild1
-rw-r--r--sys-devel/mold/files/mold-2.33.0-icf.patch41
-rw-r--r--sys-devel/mold/mold-2.33.0-r1.ebuild106
-rw-r--r--sys-devel/mold/mold-9999.ebuild7
-rw-r--r--sys-devel/reflex/Manifest2
-rw-r--r--sys-devel/reflex/reflex-20240906.ebuild25
-rw-r--r--sys-fs/android-file-transfer-linux/Manifest1
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.3.ebuild74
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild6
-rw-r--r--sys-fs/android-file-transfer-linux/metadata.xml9
-rw-r--r--sys-fs/avfs/avfs-1.1.5.ebuild2
-rw-r--r--sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.1-r1.ebuild2
-rw-r--r--sys-fs/compsize/Manifest2
-rw-r--r--sys-fs/compsize/compsize-1.3.ebuild41
-rw-r--r--sys-fs/compsize/compsize-1.4.ebuild39
-rw-r--r--sys-fs/compsize/compsize-1.5.ebuild4
-rw-r--r--sys-fs/compsize/compsize-9999.ebuild4
-rw-r--r--sys-fs/cryptsetup/Manifest1
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild149
-rw-r--r--sys-fs/vhba/Manifest1
-rw-r--r--sys-fs/vhba/vhba-20240917.ebuild58
-rw-r--r--sys-kernel/gentoo-kernel-bin/Manifest18
-rw-r--r--sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.1.111.ebuild138
-rw-r--r--sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.10.11.ebuild172
-rw-r--r--sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.52.ebuild170
-rw-r--r--sys-kernel/gentoo-kernel/Manifest8
-rw-r--r--sys-kernel/gentoo-kernel/gentoo-kernel-6.1.111.ebuild137
-rw-r--r--sys-kernel/gentoo-kernel/gentoo-kernel-6.10.11.ebuild144
-rw-r--r--sys-kernel/gentoo-kernel/gentoo-kernel-6.6.52.ebuild144
-rw-r--r--sys-kernel/gentoo-sources/Manifest9
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-6.1.111.ebuild27
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-6.10.11.ebuild32
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-6.6.52.ebuild27
-rw-r--r--sys-kernel/vanilla-kernel/Manifest6
-rw-r--r--sys-kernel/vanilla-kernel/vanilla-kernel-6.1.111.ebuild134
-rw-r--r--sys-kernel/vanilla-kernel/vanilla-kernel-6.10.11.ebuild137
-rw-r--r--sys-kernel/vanilla-kernel/vanilla-kernel-6.6.52.ebuild137
-rw-r--r--sys-kernel/vanilla-sources/Manifest6
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-6.1.111.ebuild (renamed from sys-kernel/vanilla-sources/vanilla-sources-6.1.110.ebuild)0
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-6.10.11.ebuild (renamed from sys-kernel/vanilla-sources/vanilla-sources-6.10.10.ebuild)0
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-6.6.52.ebuild (renamed from sys-kernel/vanilla-sources/vanilla-sources-6.6.51.ebuild)0
-rw-r--r--sys-kernel/zen-sources/Manifest6
-rw-r--r--sys-kernel/zen-sources/zen-sources-6.10.10.ebuild (renamed from sys-kernel/zen-sources/zen-sources-6.10.8.ebuild)2
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0.ebuild221
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-19.1.0.ebuild174
-rw-r--r--sys-libs/libchipcard/Manifest1
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild53
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.6.ebuild49
-rw-r--r--sys-libs/libchipcard/metadata.xml3
-rw-r--r--sys-libs/libcxx/Manifest2
-rw-r--r--sys-libs/libcxx/libcxx-19.1.0.ebuild202
-rw-r--r--sys-libs/libcxxabi/Manifest2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-19.1.0.ebuild111
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-19.1.0.ebuild89
-rw-r--r--sys-libs/libstatgrab/Manifest1
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild4
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.ebuild43
-rw-r--r--sys-libs/llvm-libunwind/Manifest2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-19.1.0.ebuild129
-rw-r--r--sys-power/sispmctl/Manifest1
-rw-r--r--sys-power/sispmctl/sispmctl-4.1-r1.ebuild48
-rw-r--r--sys-power/sispmctl/sispmctl-4.12.ebuild2
-rw-r--r--sys-process/supervise-scripts/supervise-scripts-4.0-r1.ebuild27
-rw-r--r--virtual/dist-kernel/dist-kernel-6.1.111.ebuild16
-rw-r--r--virtual/dist-kernel/dist-kernel-6.10.11.ebuild16
-rw-r--r--virtual/dist-kernel/dist-kernel-6.6.52.ebuild16
-rw-r--r--virtual/jdk/jdk-23.ebuild14
-rw-r--r--virtual/jre/jre-23.ebuild10
-rw-r--r--virtual/rust/rust-1.81.0-r1.ebuild (renamed from virtual/rust/rust-1.81.0.ebuild)2
-rw-r--r--www-apache/mod_wsgi/Manifest2
-rw-r--r--www-apache/mod_wsgi/mod_wsgi-4.9.0.ebuild48
-rw-r--r--www-apache/mod_wsgi/mod_wsgi-4.9.4-r1.ebuild46
-rw-r--r--www-apps/chromedriver-bin/Manifest2
-rw-r--r--www-apps/chromedriver-bin/chromedriver-bin-129.0.6668.58.ebuild (renamed from www-apps/chromedriver-bin/chromedriver-bin-128.0.6613.137.ebuild)0
-rw-r--r--www-client/chromium/Manifest3
-rw-r--r--www-client/chromium/chromium-128.0.6613.119.ebuild1452
-rw-r--r--www-client/chromium/chromium-129.0.6668.58.ebuild (renamed from www-client/chromium/chromium-129.0.6668.42.ebuild)2
-rw-r--r--www-client/elinks/elinks-0.16.1.1-r100.ebuild199
-rw-r--r--www-client/elinks/elinks-9999.ebuild16
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-130.0.1.ebuild359
-rw-r--r--www-client/firefox/Manifest102
-rw-r--r--www-client/firefox/firefox-130.0.1.ebuild1370
-rw-r--r--www-client/google-chrome-beta/Manifest2
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-129.0.6668.42.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-129.0.6668.29.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest2
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-130.0.6710.0.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-130.0.6699.3.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest2
-rw-r--r--www-client/google-chrome/google-chrome-129.0.6668.58.ebuild (renamed from www-client/google-chrome/google-chrome-128.0.6613.137.ebuild)0
-rw-r--r--www-client/lynx/Manifest2
-rw-r--r--www-client/lynx/lynx-2.9.2.ebuild113
-rw-r--r--www-client/microsoft-edge-beta/Manifest2
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.41.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.12.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest2
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-130.0.2821.1.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-129.0.2779.0.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest2
-rw-r--r--www-client/microsoft-edge/microsoft-edge-128.0.2739.79.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-128.0.2739.67.ebuild)0
-rw-r--r--www-client/opera-beta/Manifest1
-rw-r--r--www-client/opera-beta/opera-beta-114.0.5282.12.ebuild173
-rw-r--r--www-client/opera/Manifest2
-rw-r--r--www-client/opera/opera-113.0.5230.86.ebuild (renamed from www-client/opera/opera-113.0.5230.62.ebuild)0
-rw-r--r--www-plugins/chrome-binary-plugins/Manifest6
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.42_beta.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.29_beta.ebuild)0
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.58.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-128.0.6613.137.ebuild)0
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6710.0_alpha.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6699.3_alpha.ebuild)0
-rw-r--r--www-plugins/passff-host/Manifest2
-rw-r--r--www-plugins/passff-host/passff-host-1.2.3-r1.ebuild68
-rw-r--r--www-servers/fnord/fnord-1.11-r2.ebuild40
-rw-r--r--www-servers/fnord/fnord-1.11-r3.ebuild6
-rw-r--r--www-servers/nginx-unit/Manifest1
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.33.0.ebuild102
-rw-r--r--www-servers/tomcat/Manifest8
-rw-r--r--www-servers/tomcat/tomcat-10.1.30.ebuild (renamed from www-servers/tomcat/tomcat-10.1.29.ebuild)0
-rw-r--r--www-servers/tomcat/tomcat-9.0.95.ebuild (renamed from www-servers/tomcat/tomcat-9.0.94.ebuild)0
-rw-r--r--www-servers/xsp/Manifest1
-rw-r--r--www-servers/xsp/files/2.2/mod-mono-server.initd80
-rw-r--r--www-servers/xsp/xsp-4.7.1-r2.ebuild (renamed from www-servers/xsp/xsp-3.8_p2014120900-r1.ebuild)29
-rw-r--r--x11-apps/luit/Manifest2
-rw-r--r--x11-apps/luit/luit-20240910.ebuild30
-rw-r--r--x11-apps/mesa-progs/Manifest1
-rw-r--r--x11-apps/mesa-progs/files/8.5.0-Disable-things-we-don-t-want.patch254
-rw-r--r--x11-apps/mesa-progs/mesa-progs-8.5.0.ebuild78
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch134
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild1
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild1
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild1
-rw-r--r--x11-libs/cairo/cairo-1.18.2-r1.ebuild96
-rw-r--r--x11-libs/cairo/files/cairo-1.18.2-cups.patch32
-rw-r--r--x11-misc/mate-notification-daemon/Manifest2
-rw-r--r--x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.0-r1.ebuild63
-rw-r--r--x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.1.ebuild64
-rw-r--r--x11-misc/rofi-calc/Manifest2
-rw-r--r--x11-misc/rofi-calc/rofi-calc-2.0.0.ebuild31
-rw-r--r--x11-misc/rofi-calc/rofi-calc-2.2.0.ebuild31
-rw-r--r--x11-misc/rofi-calc/rofi-calc-9999.ebuild5
-rw-r--r--x11-misc/slock/Manifest1
-rw-r--r--x11-misc/slock/slock-1.4-r1.ebuild66
-rw-r--r--x11-misc/slock/slock-1.5.ebuild4
-rw-r--r--x11-misc/tdrop/Manifest1
-rw-r--r--x11-misc/tdrop/tdrop-0.4.0.ebuild38
-rw-r--r--x11-misc/xbindkeys/xbindkeys-1.8.7-r100.ebuild53
-rw-r--r--x11-wm/marco/Manifest1
-rw-r--r--x11-wm/marco/marco-1.26.2-r1.ebuild81
-rw-r--r--x11-wm/metacity/Manifest2
-rw-r--r--x11-wm/metacity/metacity-3.46.1.ebuild56
-rw-r--r--x11-wm/metacity/metacity-3.50.0.ebuild56
-rw-r--r--x11-wm/qtile/Manifest5
-rw-r--r--x11-wm/qtile/files/qtile-0.23.0-keyring.patch52
-rw-r--r--x11-wm/qtile/qtile-0.23.0-r1.ebuild112
-rw-r--r--x11-wm/qtile/qtile-0.25.0.ebuild112
-rw-r--r--x11-wm/qtile/qtile-0.26.0.ebuild114
-rw-r--r--x11-wm/qtile/qtile-0.27.0.ebuild114
-rw-r--r--x11-wm/qtile/qtile-0.28.0.ebuild114
686 files changed, 25252 insertions, 13925 deletions
diff --git a/.editorconfig b/.editorconfig
index 7d6e17345e1e..8624863e01af 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -9,3 +9,6 @@ indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
#max_line_length = 80
+
+[*.patch]
+trim_trailing_whitespace = false
diff --git a/app-admin/ansible-lint/Manifest b/app-admin/ansible-lint/Manifest
index 6d824b7aaf37..3d8b190d5d1b 100644
--- a/app-admin/ansible-lint/Manifest
+++ b/app-admin/ansible-lint/Manifest
@@ -1,2 +1,3 @@
DIST ansible-lint-24.2.2.tar.gz 515822 BLAKE2B e9d8e689dfe4e4efbd4dad44ff3567f50412400ed979f2d60150f09f17c5f63f2441f25a33ecdf0112024ced07e62ac16b8a2dbc1c01d62855ec785fc75d1b9a SHA512 3de6b14e4b64ba577abcb67920a45dbf45fedb84e21091cd6a29e3c52a7a91555a152ee3e265624aafbf9dddba96d04241c2598a18f2103ce2cae48706142446
DIST ansible_lint-24.6.0.tar.gz 529088 BLAKE2B 3d307669d2035eb5a3a8295b40e3afca92ca4eae4ea419948fd2fa86127e05c60f3ca037a4b85b447320ba8a57f7e1a736a55d63aac80e386f9fc4d733190b09 SHA512 1eb8e3e1805ff98ae76ddcd873a5e90b0b0182fbbce3c40844b2a9069e6879fef906e14f98dd77e41372e461ea4350388b68e08be420afaf5d6c449a449a7989
+DIST ansible_lint-24.7.0.tar.gz 530977 BLAKE2B bc6b98b2372dc58bedc8fc305ebad72e75bddf980906789f51f8dde9eda9b2f51ad3397b8dc2bb5712c1abbf61d08a1a6ab5c1468d6ae10404846f952e2fc078 SHA512 1ba69c7fd2c29f89cc2526ad14ea6a7aff4a0715d3dddf0abc79d6dae9bc5ad02152bdece635684a0d1a805a816ea2f28b2a07c5570975bb73bfa332e8679109
diff --git a/app-admin/ansible-lint/ansible-lint-24.7.0.ebuild b/app-admin/ansible-lint/ansible-lint-24.7.0.ebuild
new file mode 100644
index 000000000000..057962e736a9
--- /dev/null
+++ b/app-admin/ansible-lint/ansible-lint-24.7.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"
+HOMEPAGE="https://github.com/ansible/ansible-lint"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# Upstream has stated explicitly that all tests require Internet access
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.13.0[${PYTHON_USEDEP}]
+ >=dev-python/ansible-compat-24.5.0[${PYTHON_USEDEP}]
+ >=dev-python/black-24.3.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.8.0[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4.1[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.18.5[${PYTHON_USEDEP}]
+ >=dev-python/wcmatch-8.5.0[${PYTHON_USEDEP}]
+ >=dev-util/yamllint-1.30.0[${PYTHON_USEDEP}]
+ dev-vcs/git"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/pytest-plus-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.5.0[${PYTHON_USEDEP}]
+ )"
+
+# test_call_from_outside_venv doesn't play nicely with the sandbox
+# irrespective of whether Internet access is allowed or not
+EPYTEST_DESELECT=(
+ test/test_main.py::test_call_from_outside_venv
+)
+
+distutils_enable_tests pytest
+
+# Test suite fails to start without this
+python_test() {
+ epytest test
+}
diff --git a/app-admin/ansible-lint/metadata.xml b/app-admin/ansible-lint/metadata.xml
index fffa95157a95..1b94c21f73d9 100644
--- a/app-admin/ansible-lint/metadata.xml
+++ b/app-admin/ansible-lint/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>johnmh@johnmh.me</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="pypi">ansible-lint</remote-id>
<remote-id type="github">ansible/ansible-lint</remote-id>
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index 3e848e553043..2808d07b0240 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -2,3 +2,5 @@ DIST aws-cli-1.34.10.gh.tar.gz 2788517 BLAKE2B 8b110119087836435f3e0ef29a6cfe35d
DIST aws-cli-1.34.14.gh.tar.gz 2790437 BLAKE2B df3355ac11561ac7f6e2a7c707d08de0b3335b4321ef3f5730a9abd6a23dfa909e0ba27367e705c56ce7223bbb7d1d436759457f0f92a0d7b4da21e6392a0c6b SHA512 be707816a1f6a53ab32870eaed498bfd47782b07c146af79d6f5cc1153e0b180788be1cc48cbf21f8850d04a79b3255bcfa2456079c57585e4779083bc5353e1
DIST aws-cli-1.34.19.gh.tar.gz 2795240 BLAKE2B ede95bb83dffdef1cbc6896f35e6926e3f7fe1cf27a091c019a4edadc57c24a88d06900fc6542fcf78c21f57de6651759a8ebd44952b21864313269c1cbfb289 SHA512 a82299d7f2d2fbb4600c91739b38e22e83eb95ffae0e70ef62e95ba039de6a47ba1d4e2423190a5e8ee59bf768a85181153c60329b9bbfc1a3e794d07d50dc75
DIST aws-cli-1.34.20.gh.tar.gz 2795708 BLAKE2B 733b5fd765dcfdb04a6717efcdb78988f915bd4efbe90c862b2c08e26b3a79e4ccc075d3dfcb6ad475ecb10bb1c14f4f98ca459774a6ca58febb33b4d3d751fd SHA512 03b2a368940777aed9e12f1168de953144dad40f33f05ec506630df7145dcd9a51565b1e91d5561c20ec18705fdeb0360959a6c9d6ac5803a59da7a989279709
+DIST aws-cli-1.34.21.gh.tar.gz 2796251 BLAKE2B c72399ae535ceaff6986be3d94956683a9cec868b7e0125b2c4f81f20a418a2dd926af3770caf5af70d915f76a4a1c367135075c9810a1274667a66f8dfaee6a SHA512 39d54dd1da183bf21fb2e22aa250bb05965c2dc04597eab7372a5af0de497bbd7c0d7084b38d12df8457fb22c74a2bd47bd32944f7269830a3dc34547f74af81
+DIST aws-cli-1.34.22.gh.tar.gz 2797222 BLAKE2B e9575e6f450daed3d45f9523cec74f8cd4a124a9cdb90e6abac1281efbc5df86463ccd47cf763891665765af67f22da6195bf4eadb77deb785ae759ad71f5563 SHA512 06f338559627035c24a029020dbbb58879c9101e3eb6b601b3783458135a0f86ae70ceaa4f3026c9a1b5e6af5d559b41f2eccc19895138374eb79c884fcf4cf1
diff --git a/app-admin/awscli/awscli-1.34.21.ebuild b/app-admin/awscli/awscli-1.34.21.ebuild
new file mode 100644
index 000000000000..599b9bd389b9
--- /dev/null
+++ b/app-admin/awscli/awscli-1.34.21.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit bash-completion-r1 distutils-r1
+
+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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# botocore is x.(y+1).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1 )).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # 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
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local serial_tests=(
+ tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
+ tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
+ tests/unit/customizations/test_sessionmanager.py
+ tests/unit/test_compat.py::TestIgnoreUserSignals
+ tests/unit/test_help.py
+ tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ local EPYTEST_DESELECT=( "${serial_tests[@]}" )
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit}
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins 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-admin/awscli/awscli-1.34.22.ebuild b/app-admin/awscli/awscli-1.34.22.ebuild
new file mode 100644
index 000000000000..599b9bd389b9
--- /dev/null
+++ b/app-admin/awscli/awscli-1.34.22.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit bash-completion-r1 distutils-r1
+
+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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# botocore is x.(y+1).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1 )).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # 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
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local serial_tests=(
+ tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
+ tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
+ tests/unit/customizations/test_sessionmanager.py
+ tests/unit/test_compat.py::TestIgnoreUserSignals
+ tests/unit/test_help.py
+ tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ local EPYTEST_DESELECT=( "${serial_tests[@]}" )
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit}
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins 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-admin/djbdns-logparse/djbdns-logparse-0.0.2-r2.ebuild b/app-admin/djbdns-logparse/djbdns-logparse-0.0.2-r2.ebuild
index 2a5bb8a3b82e..bda4829ac142 100644
--- a/app-admin/djbdns-logparse/djbdns-logparse-0.0.2-r2.ebuild
+++ b/app-admin/djbdns-logparse/djbdns-logparse-0.0.2-r2.ebuild
@@ -28,5 +28,5 @@ python_install_all() {
}
python_test() {
- esetup.py test
+ "${EPYTHON}" -m doctest --verbose djbdns/*.py || die
}
diff --git a/app-admin/sysklogd/Manifest b/app-admin/sysklogd/Manifest
index 28a9f11671bc..faabe8b3d2cd 100644
--- a/app-admin/sysklogd/Manifest
+++ b/app-admin/sysklogd/Manifest
@@ -2,3 +2,4 @@ DIST sysklogd-2.4.4.tar.gz 451938 BLAKE2B 218d9487440ab3fa395f596e5e4a9fa95df9df
DIST sysklogd-2.5.0.tar.gz 459695 BLAKE2B ab8185e114f7da2c35b6ba3e3b42e13f3697155b43ccfa923229d95150e3734f74db6f732bcbc999068d8a2f8124a404ee893d2e6ce4c154f89301b3b523df39 SHA512 4599f153b046317977de990455b1eea195967da81f68451f1bda4fadba6fe685d7fe533aba3b39f4daa456d6c4931743162a021067e0a16f072a7c77908286f9
DIST sysklogd-2.5.1.tar.gz 461179 BLAKE2B efb1e1ef6456644935b0c5341bf844fe87ed910aec3fd0725da2cc2d6b3f0e1f8d4667e45525b61fa3a249387a23757291daa33aac2a72d4fcd89d325e12ab89 SHA512 24d8a76cab4c25b646d879676b46f98bb56c2079badab4f351bf983015479134e4a3e4d64fb50faade26fea8dd7e31c2c45610c17420c147c36bbbe054634983
DIST sysklogd-2.5.2.tar.gz 459292 BLAKE2B c61a89e80d6fde10f5955cf3a7a563fbe9e00799eb1199bc9a2995585c074e7ab2b4fe6a30ae8bc224876448a521c3be9031853ae4710db2555279789aeda95d SHA512 0c160236d0f5ec31d0c5679c04b6f0f40a35af2b5b159af8b2b9dd2d37f5959efbe550dfc50c0b0419bea702b91a6594f2e141c2fbb78fdb20715ee8b2d27805
+DIST sysklogd-2.6.2.tar.gz 462950 BLAKE2B 591bf168cd9249af888feefd45ed10b8f90e7bdb71c75fbc8a95867dba0abfd20c08b0bbc13f80de2eb9ccf69ab9f77690978963ce96bf17472d2c036f96bb15 SHA512 4fb5ccba9e94c273e92ca4a55c6a7234a3dd6bbfd4568c8227b515c0ac5eeb6fdca452c82c989432e86a667dcf13df87f96aef302141e6023d630dc90466224d
diff --git a/app-admin/sysklogd/sysklogd-2.6.2.ebuild b/app-admin/sysklogd/sysklogd-2.6.2.ebuild
new file mode 100644
index 000000000000..7a72c587b181
--- /dev/null
+++ b/app-admin/sysklogd/sysklogd-2.6.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="Standard log daemons"
+HOMEPAGE="https://troglobit.com/sysklogd.html https://github.com/troglobit/sysklogd"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/troglobit/sysklogd.git"
+else
+ SRC_URI="https://github.com/troglobit/sysklogd/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="logger logrotate"
+# Needs network access
+RESTRICT="test"
+
+DEPEND="
+ logger? ( sys-apps/util-linux[-logger(+)] )
+"
+RDEPEND="
+ ${DEPEND}
+ logrotate? ( app-admin/logrotate )
+"
+
+DOCS=( ChangeLog.md README.md )
+
+src_prepare() {
+ default
+
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ append-lfs-flags
+ tc-export CC
+
+ local myeconfargs=(
+ --disable-static
+ --runstatedir="${EPREFIX}"/run
+ --with-systemd=$(systemd_get_systemunitdir)
+ $(use_with logger)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ insinto /etc
+ doins syslog.conf
+ keepdir /etc/syslog.d
+
+ newinitd "${FILESDIR}"/sysklogd.rc10 sysklogd
+ newconfd "${FILESDIR}"/sysklogd.confd3 sysklogd
+
+ if use logrotate ; then
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/sysklogd.logrotate sysklogd
+ sed 's@ -r 10M:10@@' -i "${ED}"/etc/conf.d/sysklogd || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_postinst() {
+ if ! use logrotate && [[ -n ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 2.0 ; then
+ elog "Starting with version 2.0 syslogd has built in log rotation"
+ elog "functionality that does no longer require a running cron daemon."
+ elog "So we no longer install any log rotation cron files for sysklogd."
+ fi
+
+ if [[ -n ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 2.1 ; then
+ elog "Starting with version 2.1 sysklogd no longer provides klogd."
+ elog "syslogd now also logs kernel messages."
+ fi
+}
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 0c49596464d7..56e85afbaa09 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,2 +1,4 @@
DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686
DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331
+DIST libarchive-3.7.5.tar.xz 5437940 BLAKE2B e1cf8490b2db64e912bd181391310653b4e3524e74f35557e1ddb8c5eb53dcde307da945d393921acf7549ef0d4a6bf228d8f42ab4d795d06dd2248196a11c85 SHA512 b9cfb0a147bf0f77cca9e2bdea173f47a78dcba5df1d97a8e0e7b14a15039ac6d5467e325423b2a05741848f73ca7ab4fece922153f24f934f9370cb521d20df
+DIST libarchive-3.7.5.tar.xz.asc 659 BLAKE2B 7310b8d7e3f07b8c75910ff3355ffda653402ca2d6db9cdf7d669b9a4ac5f3fb4c4c4482e85184fd68a23c96bce587a95b56efb88ae971399e130e533bd0969a SHA512 7494518b61a58a9aa1e991a2cf6b16340e34d7aa2c25a3c531799785e165541781d1a915437260bc536fe8267140cc69abb2670e8c0576e975a5a2b7ecf8e20d
diff --git a/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch b/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
new file mode 100644
index 000000000000..2c5bcc277364
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
@@ -0,0 +1,334 @@
+From b65d12b344a5d81c6060b1c1794afa8858fe234b Mon Sep 17 00:00:00 2001
+From: Tim Kientzle <kientzle@acm.org>
+Date: Sat, 14 Sep 2024 21:09:34 -0700
+Subject: [PATCH] Be more cautious about parsing ISO-9660 timestamps
+
+Some ISO images don't have valid timestamps for the root directory
+entry. Parsing such timestamps can generate nonsensical results,
+which in one case showed up as an unexpected overflow on a 32-bit system.
+
+Add some validation logic that can check whether a 7-byte or 17-byte
+timestamp is reasonable-looking, and use this to ignore invalid
+timestamps in various locations. This also requires us to be a little
+more careful about tracking which timestamps are actually known.
+
+Resolves issue #2329
+---
+ .../archive_read_support_format_iso9660.c | 186 ++++++++++++++++--
+ libarchive/test/test_read_format_iso_Z.c | 12 +-
+ 2 files changed, 177 insertions(+), 21 deletions(-)
+
+diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
+index 056beb5ff..951afb603 100644
+--- a/libarchive/archive_read_support_format_iso9660.c
++++ b/libarchive/archive_read_support_format_iso9660.c
+@@ -273,7 +273,7 @@ struct file_info {
+ char re; /* Having RRIP "RE" extension. */
+ char re_descendant;
+ uint64_t cl_offset; /* Having RRIP "CL" extension. */
+- int birthtime_is_set;
++ int time_is_set; /* Bitmask indicating which times are known */
+ time_t birthtime; /* File created time. */
+ time_t mtime; /* File last modified time. */
+ time_t atime; /* File last accessed time. */
+@@ -306,6 +306,11 @@ struct file_info {
+ } rede_files;
+ };
+
++#define BIRTHTIME_IS_SET 1
++#define MTIME_IS_SET 2
++#define ATIME_IS_SET 4
++#define CTIME_IS_SET 8
++
+ struct heap_queue {
+ struct file_info **files;
+ int allocated;
+@@ -394,7 +399,9 @@ static void dump_isodirrec(FILE *, const unsigned char *isodirrec);
+ #endif
+ static time_t time_from_tm(struct tm *);
+ static time_t isodate17(const unsigned char *);
++static int isodate17_valid(const unsigned char *);
+ static time_t isodate7(const unsigned char *);
++static int isodate7_valid(const unsigned char *);
+ static int isBootRecord(struct iso9660 *, const unsigned char *);
+ static int isVolumePartition(struct iso9660 *, const unsigned char *);
+ static int isVDSetTerminator(struct iso9660 *, const unsigned char *);
+@@ -1351,13 +1358,22 @@ archive_read_format_iso9660_read_header(struct archive_read *a,
+ archive_entry_set_uid(entry, file->uid);
+ archive_entry_set_gid(entry, file->gid);
+ archive_entry_set_nlink(entry, file->nlinks);
+- if (file->birthtime_is_set)
++ if ((file->time_is_set & BIRTHTIME_IS_SET))
+ archive_entry_set_birthtime(entry, file->birthtime, 0);
+ else
+ archive_entry_unset_birthtime(entry);
+- archive_entry_set_mtime(entry, file->mtime, 0);
+- archive_entry_set_ctime(entry, file->ctime, 0);
+- archive_entry_set_atime(entry, file->atime, 0);
++ if ((file->time_is_set & MTIME_IS_SET))
++ archive_entry_set_mtime(entry, file->mtime, 0);
++ else
++ archive_entry_unset_mtime(entry);
++ if ((file->time_is_set & CTIME_IS_SET))
++ archive_entry_set_ctime(entry, file->ctime, 0);
++ else
++ archive_entry_unset_ctime(entry);
++ if ((file->time_is_set & ATIME_IS_SET))
++ archive_entry_set_atime(entry, file->atime, 0);
++ else
++ archive_entry_unset_atime(entry);
+ /* N.B.: Rock Ridge supports 64-bit device numbers. */
+ archive_entry_set_rdev(entry, (dev_t)file->rdev);
+ archive_entry_set_size(entry, iso9660->entry_bytes_remaining);
+@@ -1898,8 +1914,11 @@ parse_file_info(struct archive_read *a, struct file_info *parent,
+ file->parent = parent;
+ file->offset = offset;
+ file->size = fsize;
+- file->mtime = isodate7(isodirrec + DR_date_offset);
+- file->ctime = file->atime = file->mtime;
++ if (isodate7_valid(isodirrec + DR_date_offset)) {
++ file->time_is_set |= MTIME_IS_SET | ATIME_IS_SET | CTIME_IS_SET;
++ file->mtime = isodate7(isodirrec + DR_date_offset);
++ file->ctime = file->atime = file->mtime;
++ }
+ file->rede_files.first = NULL;
+ file->rede_files.last = &(file->rede_files.first);
+
+@@ -2573,51 +2592,73 @@ parse_rockridge_TF1(struct file_info *file, const unsigned char *data,
+ /* Use 17-byte time format. */
+ if ((flag & 1) && data_length >= 17) {
+ /* Create time. */
+- file->birthtime_is_set = 1;
+- file->birthtime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= BIRTHTIME_IS_SET;
++ file->birthtime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 2) && data_length >= 17) {
+ /* Modify time. */
+- file->mtime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= MTIME_IS_SET;
++ file->mtime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 4) && data_length >= 17) {
+ /* Access time. */
+- file->atime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= ATIME_IS_SET;
++ file->atime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 8) && data_length >= 17) {
+ /* Attribute change time. */
+- file->ctime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= CTIME_IS_SET;
++ file->ctime = isodate17(data);
++ }
+ }
+ } else {
+ /* Use 7-byte time format. */
+ if ((flag & 1) && data_length >= 7) {
+ /* Create time. */
+- file->birthtime_is_set = 1;
+- file->birthtime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= BIRTHTIME_IS_SET;
++ file->birthtime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 2) && data_length >= 7) {
+ /* Modify time. */
+- file->mtime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= MTIME_IS_SET;
++ file->mtime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 4) && data_length >= 7) {
+ /* Access time. */
+- file->atime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= ATIME_IS_SET;
++ file->atime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 8) && data_length >= 7) {
+ /* Attribute change time. */
+- file->ctime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= CTIME_IS_SET;
++ file->ctime = isodate7(data);
++ }
+ }
+ }
+ }
+@@ -3226,6 +3267,56 @@ isValid733Integer(const unsigned char *p)
+ && p[3] == p[4]);
+ }
+
++static int
++isodate7_valid(const unsigned char *v)
++{
++ int year = v[0];
++ int month = v[1];
++ int day = v[2];
++ int hour = v[3];
++ int minute = v[4];
++ int second = v[5];
++ int gmt_off = (signed char)v[6];
++
++ /* ECMA-119 9.1.5 "If all seven values are zero, it shall mean
++ * that the date is unspecified" */
++ if (year == 0
++ && month == 0
++ && day == 0
++ && hour == 0
++ && minute == 0
++ && second == 0
++ && gmt_off == 0)
++ return 0;
++ /*
++ * Sanity-test each individual field
++ */
++ /* Year can have any value */
++ /* Month must be 1-12 */
++ if (month < 1 || month > 12)
++ return 0;
++ /* Day must be 1-31 */
++ if (day < 1 || day > 31)
++ return 0;
++ /* Hour must be 0-23 */
++ if (hour > 23)
++ return 0;
++ /* Minute must be 0-59 */
++ if (minute > 59)
++ return 0;
++ /* second must be 0-59 according to ECMA-119 9.1.5 */
++ /* BUT: we should probably allow for the time being in UTC, which
++ allows up to 61 seconds in a minute in certain cases */
++ if (second > 61)
++ return 0;
++ /* Offset from GMT must be -48 to +52 */
++ if (gmt_off < -48 || gmt_off > +52)
++ return 0;
++
++ /* All tests pass, this is OK */
++ return 1;
++}
++
+ static time_t
+ isodate7(const unsigned char *v)
+ {
+@@ -3252,6 +3343,67 @@ isodate7(const unsigned char *v)
+ return (t);
+ }
+
++static int
++isodate17_valid(const unsigned char *v)
++{
++ /* First 16 bytes are all ASCII digits */
++ for (int i = 0; i < 16; i++) {
++ if (v[i] < '0' || v[i] > '9')
++ return 0;
++ }
++
++ int year = (v[0] - '0') * 1000 + (v[1] - '0') * 100
++ + (v[2] - '0') * 10 + (v[3] - '0');
++ int month = (v[4] - '0') * 10 + (v[5] - '0');
++ int day = (v[6] - '0') * 10 + (v[7] - '0');
++ int hour = (v[8] - '0') * 10 + (v[9] - '0');
++ int minute = (v[10] - '0') * 10 + (v[11] - '0');
++ int second = (v[12] - '0') * 10 + (v[13] - '0');
++ int hundredths = (v[14] - '0') * 10 + (v[15] - '0');
++ int gmt_off = (signed char)v[16];
++
++ if (year == 0 && month == 0 && day == 0
++ && hour == 0 && minute == 0 && second == 0
++ && hundredths == 0 && gmt_off == 0)
++ return 0;
++ /*
++ * Sanity-test each individual field
++ */
++
++ /* Year must be 1900-2300 */
++ /* (Not specified in ECMA-119, but these seem
++ like reasonable limits. */
++ if (year < 1900 || year > 2300)
++ return 0;
++ /* Month must be 1-12 */
++ if (month < 1 || month > 12)
++ return 0;
++ /* Day must be 1-31 */
++ if (day < 1 || day > 31)
++ return 0;
++ /* Hour must be 0-23 */
++ if (hour > 23)
++ return 0;
++ /* Minute must be 0-59 */
++ if (minute > 59)
++ return 0;
++ /* second must be 0-59 according to ECMA-119 9.1.5 */
++ /* BUT: we should probably allow for the time being in UTC, which
++ allows up to 61 seconds in a minute in certain cases */
++ if (second > 61)
++ return 0;
++ /* Hundredths must be 0-99 */
++ if (hundredths > 99)
++ return 0;
++ /* Offset from GMT must be -48 to +52 */
++ if (gmt_off < -48 || gmt_off > +52)
++ return 0;
++
++ /* All tests pass, this is OK */
++ return 1;
++
++}
++
+ static time_t
+ isodate17(const unsigned char *v)
+ {
+diff --git a/libarchive/test/test_read_format_iso_Z.c b/libarchive/test/test_read_format_iso_Z.c
+index d07bc1bc8..716552fa3 100644
+--- a/libarchive/test/test_read_format_iso_Z.c
++++ b/libarchive/test/test_read_format_iso_Z.c
+@@ -93,16 +93,20 @@ test_small(const char *name)
+ assertEqualIntA(a, ARCHIVE_OK,
+ archive_read_next_header(a, &ae));
+ assertEqualString(".", archive_entry_pathname(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_atime(ae));
+- assertEqualIntA(a, 0, archive_entry_birthtime(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_ctime(ae));
++ assertEqualInt(0, archive_entry_atime_is_set(ae));
++ assertEqualInt(0, archive_entry_atime(ae));
++ assertEqualInt(0, archive_entry_birthtime_is_set(ae));
++ assertEqualInt(0, archive_entry_birthtime(ae));
++ assertEqualInt(0, archive_entry_ctime_is_set(ae));
++ assertEqualInt(0, archive_entry_ctime(ae));
+ assertEqualIntA(a, 0, archive_entry_dev(ae));
+ assertEqualIntA(a, AE_IFDIR, archive_entry_filetype(ae));
+ assertEqualIntA(a, 0, archive_entry_gid(ae));
+ assertEqualStringA(a, NULL, archive_entry_gname(ae));
+ assertEqualIntA(a, 0, archive_entry_ino(ae));
+ assertEqualIntA(a, AE_IFDIR | 0700, archive_entry_mode(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_mtime(ae));
++ assertEqualInt(0, archive_entry_mtime_is_set(ae));
++ assertEqualInt(0, archive_entry_mtime(ae));
+ assertEqualIntA(a, 4, archive_entry_nlink(ae));
+ assertEqualIntA(a, 0700, archive_entry_perm(ae));
+ assertEqualIntA(a, 2048, archive_entry_size(ae));
diff --git a/app-arch/libarchive/libarchive-3.7.5.ebuild b/app-arch/libarchive/libarchive-3.7.5.ebuild
new file mode 100644
index 000000000000..dbe3b684bfbd
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.5.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit libtool multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl:=[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2:=[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat:=[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv:=[${MULTILIB_USEDEP}] )
+ dev-libs/openssl:=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1:=[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2:=[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+# TODO: fix attr/xattr.h includes and remove sys-apps/attr dep
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ app-arch/lrzip
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/xz-utils
+ app-arch/zstd
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
+ # https://github.com/libarchive/libarchive/pull/2330
+ "${FILESDIR}/${P}-iso9660-times.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for flags to be respected w/ LTO
+ elibtoolize
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ # workaround lrzip broken on 32-bit arches with >= 10 threads
+ # https://bugs.gentoo.org/927766
+ cat > "${T}"/bin/lrzip <<-EOF || die
+ #!/bin/sh
+ exec "$(type -P lrzip)" -p1 "\${@}"
+ EOF
+ chmod +x "${T}/bin/lrzip" || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C.UTF-8
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
diff --git a/app-cdr/dvd+rw-tools/metadata.xml b/app-cdr/dvd+rw-tools/metadata.xml
index 115e9d64a669..8a56389895fc 100644
--- a/app-cdr/dvd+rw-tools/metadata.xml
+++ b/app-cdr/dvd+rw-tools/metadata.xml
@@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>johnmh@johnmh.me</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/app-containers/incus/Manifest b/app-containers/incus/Manifest
index f13173f5e89f..1c61557d1e23 100644
--- a/app-containers/incus/Manifest
+++ b/app-containers/incus/Manifest
@@ -1,5 +1,7 @@
DIST incus-6.0.1.tar.xz 11653056 BLAKE2B d026f9fb99d7393d286006cfe759681b58b980b7a2432a98ba8a6862e17099ef6ee8d1ec1766d00fac1a6d1e748a7d10d3d5ad14b31c542618044f77a27fe255 SHA512 8218c121cf1afd307f748c0f1c0b1ba34a05fa0c43a515aab03d9f92c66becaa6bff245e93842e7b0746ce6019d66f1a5e4c317ec05e0ab088b539e5378d78dc
DIST incus-6.0.1.tar.xz.asc 833 BLAKE2B c5c9d3d4796e97ef745102c13e52d691e7f087a5a0cc8e0a069ec7c94686e6e8de04d3dd247157e16eb3deea2b877453e3462ec829ced2ba9cb1928af9a3aa1b SHA512 c47df95afa7c9ef7041fb29497567ab3b1ed30c3c175b4be84bc75a6a2c47072cc291e43fa738a5a58d753b04aef87334780f9d45184a9543a49fad263859aa0
+DIST incus-6.0.2.tar.xz 11197324 BLAKE2B fa15816ea05865ce48f7cb668c3138d2d186a1876669d6eaf05ffd335d8feedf7eda41301be9d2e07879aa3fb2e7177a5bd26cb89a3789d46ef648c2fcb06db5 SHA512 ef58bc22154204a3f89b973fd5289385fa98aa2c2a97b0ff3ed2fa2a0c899ee3dc08cb46552ade2e86dc13f5de55f9ef59aea775c60eb3df74d088f8a1e2795a
+DIST incus-6.0.2.tar.xz.asc 833 BLAKE2B bcdeb0d2a3684dcdcb620166865523a2e9eb595f0e7760f05a06ea0608dc4fc7111b75206fe62a63cfd90a0d0ec79206404994e53770d5e35a639a67e1ad753c SHA512 18587ddc7b7cb41418ee0e7a43875663e71c9d39a505fd55bc29fe83717b5d5cdc876c46912561610735ddf80462631716354a943a272ae5ccf0ee495aff1c1c
DIST incus-6.4.tar.xz 11745236 BLAKE2B 14e9980238f1eb55b0ca8c1a9fe72e5335aa92193ba5805525bde7fa6d417b46cc193ce43e9ef6c85b86d2fc500021bfb6f30535e69722a93e395be55de64358 SHA512 a9d32526cc7ccf93fe0579f95cbd87f72cecf13c5ebe9d0ee4a61a8f921737f1842ea35d452bdf58ca3d2c5529198e8d80dfee41ce6c92a6213f1994f421c1f6
DIST incus-6.4.tar.xz.asc 833 BLAKE2B 8a6753f0b92f58095ff27d7ffdac9e70a408a1466dd224cabb47d482fe0b9b0747a03635a5bc419b26897e2ae073f9f0c0d81bd5ed3dff09a5e844ee9dd02f6d SHA512 c6d69941f4ecca2c0020001c5fe848f4bf14edf99b471ace57e38bed48b74862bf13eae1b973e0783ca5ab16bc33887ab9b98b42ff6d1a387ff5670af7666d6a
DIST incus-6.5.tar.xz 11233032 BLAKE2B 667bf93a55dc58f8426765d3b536fee0e3b3f521fa64ba51948874a04dbf4549d856170f50723aaad18690169e41913507bdac4cf426c65cf89df06ae883b1e8 SHA512 e5e9d0b7458052214813201c771c24e878c0682d749bb150fd477f5319a4dc1b641c963646ee5c16981d5698e941b62a4c5cc7a5f29e9f45eebf6a443dc029ec
diff --git a/app-containers/incus/incus-6.0.2.ebuild b/app-containers/incus/incus-6.0.2.ebuild
new file mode 100644
index 000000000000..aaf998d9ce31
--- /dev/null
+++ b/app-containers/incus/incus-6.0.2.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module linux-info optfeature systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
+HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus"
+SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz
+ verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )"
+
+LICENSE="Apache-2.0 BSD LGPL-3 MIT"
+SLOT="0/lts"
+KEYWORDS="~amd64 ~arm64"
+IUSE="apparmor fuidshift nls"
+
+DEPEND="acct-group/incus
+ acct-group/incus-admin
+ app-arch/xz-utils
+ >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
+ dev-db/sqlite:3
+ >=dev-libs/cowsql-1.15.6
+ dev-libs/lzo
+ >=dev-libs/raft-0.22.1:=[lz4]
+ >=dev-util/xdelta-3.0[lzma(+)]
+ net-dns/dnsmasq[dhcp]
+ sys-libs/libcap
+ virtual/udev"
+RDEPEND="${DEPEND}
+ fuidshift? ( !app-containers/lxd )
+ net-firewall/ebtables
+ net-firewall/iptables
+ sys-apps/iproute2
+ sys-fs/fuse:*
+ >=sys-fs/lxcfs-5.0.0
+ sys-fs/squashfs-tools[lzma]
+ virtual/acl"
+BDEPEND=">=dev-lang/go-1.21
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+CONFIG_CHECK="
+ ~CGROUPS
+ ~IPC_NS
+ ~NET_NS
+ ~PID_NS
+
+ ~SECCOMP
+ ~USER_NS
+ ~UTS_NS
+
+ ~KVM
+ ~MACVTAP
+ ~VHOST_VSOCK
+"
+
+ERROR_IPC_NS="CONFIG_IPC_NS is required."
+ERROR_NET_NS="CONFIG_NET_NS is required."
+ERROR_PID_NS="CONFIG_PID_NS is required."
+ERROR_SECCOMP="CONFIG_SECCOMP is required."
+ERROR_UTS_NS="CONFIG_UTS_NS is required."
+
+WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
+WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
+WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
+
+# Go magic.
+QA_PREBUILT="/usr/bin/incus
+ /usr/bin/incus-agent
+ /usr/bin/incus-benchmark
+ /usr/bin/incus-migrate
+ /usr/bin/lxc-to-incus
+ /usr/sbin/fuidshift
+ /usr/sbin/incusd
+ /usr/sbin/lxd-to-incus"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
+
+# The testsuite must be run as root.
+# make: *** [Makefile:156: check] Error 1
+RESTRICT="test"
+
+GOPATH="${S}/_dist"
+
+src_unpack() {
+ verify-sig_src_unpack
+ go-module_src_unpack
+}
+
+src_prepare() {
+ export GOPATH="${S}/_dist"
+
+ default
+
+ sed -i \
+ -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \
+ -e "s:make:make ${MAKEOPTS}:g" \
+ Makefile || die
+
+ sed -i \
+ -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
+ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
+ internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths."
+
+ # Fix hardcoded virtfs-proxy-helper file path, see bug 798924
+ sed -i \
+ -e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \
+ internal/server/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path."
+
+ cp "${FILESDIR}"/incus-0.4.service "${T}"/incus.service || die
+ if use apparmor; then
+ sed -i \
+ '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
+ "${T}"/incus.service || die
+ fi
+
+ # Disable -Werror's from go modules.
+ find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
+}
+
+src_configure() { :; }
+
+src_compile() {
+ export GOPATH="${S}/_dist"
+ export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
+
+ for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do
+ ego install -v -x "${S}/cmd/${k}"
+ done
+
+ if use fuidshift ; then
+ ego install -v -x "${S}/cmd/fuidshift"
+ fi
+
+ ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd
+
+ # Needs to be built statically
+ CGO_ENABLED=0 go install -v -tags netgo "${S}"/cmd/incus-migrate
+ CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/cmd/incus-agent
+
+ use nls && emake build-mo
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ export GOPATH="${S}/_dist"
+
+ if tc-is-cross-compiler ; then
+ local bindir="_dist/bin/linux_${GOARCH}"
+ else
+ local bindir="_dist/bin"
+ fi
+
+ newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup
+
+ # Admin tools
+ for l in incusd incus-user lxd-to-incus ; do
+ dosbin ${bindir}/${l}
+ done
+
+ # User tools
+ for m in incus-agent incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do
+ dobin ${bindir}/${m}
+ done
+
+ # fuidshift, should be moved under admin tools at some point
+ if use fuidshift ; then
+ dosbin ${bindir}/fuidshift
+ fi
+
+ newconfd "${FILESDIR}"/incus-6.0.confd incus
+ newinitd "${FILESDIR}"/incus-6.0.initd incus
+ newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user
+
+ systemd_dounit "${T}"/incus.service
+ systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket
+ systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service
+ systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service
+ systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket
+
+ if ! tc-is-cross-compiler; then
+ # Generate and install shell completion files.
+ mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die
+ "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die
+ "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die
+ "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die
+ else
+ ewarn "Shell completion files not installed! Install them manually with incus completion --help"
+ fi
+
+ dodoc AUTHORS
+ dodoc -r doc/*
+ use nls && domo po/*.mo
+}
+
+pkg_postinst() {
+ elog
+ elog "Please see"
+ elog " https://wiki.gentoo.org/wiki/Incus"
+ elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD"
+ elog
+ optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs]
+ optfeature "btrfs storage backend" sys-fs/btrfs-progs
+ optfeature "ipv6 support" net-dns/dnsmasq[ipv6]
+ optfeature "full incus-migrate support" net-misc/rsync
+ optfeature "lvm2 storage backend" sys-fs/lvm2
+ optfeature "zfs storage backend" sys-fs/zfs
+ elog
+ elog "Be sure to add your local user to the incus group."
+ elog
+}
diff --git a/app-containers/lxc/lxc-6.0.1.ebuild b/app-containers/lxc/lxc-6.0.1.ebuild
index eae2f21f0b05..415d5d6ed638 100644
--- a/app-containers/lxc/lxc-6.0.1.ebuild
+++ b/app-containers/lxc/lxc-6.0.1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
LICENSE="GPL-2 LGPL-2.1 LGPL-3"
SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping.
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools"
RDEPEND="acct-group/lxc
diff --git a/app-editors/vis/vis-0.9.ebuild b/app-editors/vis/vis-0.9.ebuild
index dba3a4d7c4fb..453b5d46dd6f 100644
--- a/app-editors/vis/vis-0.9.ebuild
+++ b/app-editors/vis/vis-0.9.ebuild
@@ -16,7 +16,7 @@ else
https://github.com/martanne/vis/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
test? ( https://github.com/martanne/vis-test/archive/${VIS_TEST_COMMIT}.tar.gz -> vis-test-${VIS_TEST_COMMIT}.tar.gz )
"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
fi
DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
diff --git a/app-emacs/htmlize/Manifest b/app-emacs/htmlize/Manifest
index 3adc75deeceb..5163e8104c6b 100644
--- a/app-emacs/htmlize/Manifest
+++ b/app-emacs/htmlize/Manifest
@@ -1 +1,2 @@
DIST htmlize-1.56.tar.gz 50922 BLAKE2B 645a1ceb272711346c9175f06e13821afb056de4a43a309d96b51ef78ca75e662252286f40445cdec2273ab7734045aeec43c9cb9ed451cda76eea6606433411 SHA512 8788fde3cefb27fd82d5859593bbfc9250f9e60962e48eaa79b9c54bcd31574953a4131ce2d562efa2f59a5d725183a851075cd2c868891bf3f810607a2da57e
+DIST htmlize-1.58.tar.gz 51270 BLAKE2B a4487b167e17692ae8e27e8bf9883ca7a20a936746add90c32ce9da29d678358468ddfbf5ce3e532eb2c34ef151e7fb89999827858e2ba1cb7592eb84c2d2293 SHA512 cd9dcb66f22f3a7d4444dbe92e559234bb03a9608879a7c42c89f2868ecba910d186aeaf8568f96d792a7bd0f40ac0c86c9d6e70323d50390a5b54cf1bd31ede
diff --git a/app-emacs/htmlize/htmlize-1.58.ebuild b/app-emacs/htmlize/htmlize-1.58.ebuild
new file mode 100644
index 000000000000..24dfb362af22
--- /dev/null
+++ b/app-emacs/htmlize/htmlize-1.58.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+REAL_PN="emacs-${PN}"
+
+inherit elisp
+
+DESCRIPTION="HTML-ize font-lock buffers in Emacs"
+HOMEPAGE="https://www.emacswiki.org/emacs/Htmlize
+ https://github.com/hniksic/emacs-htmlize"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/hniksic/${REAL_PN}.git"
+else
+ SRC_URI="https://github.com/hniksic/${REAL_PN}/archive/release/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${REAL_PN}-release-${PV}"
+
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+DOCS=( README.md NEWS )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/indent-bars/Manifest b/app-emacs/indent-bars/Manifest
index 4397228c1d6f..2be1e565b1d6 100644
--- a/app-emacs/indent-bars/Manifest
+++ b/app-emacs/indent-bars/Manifest
@@ -1 +1,2 @@
DIST indent-bars-0.2.tar.gz 33072 BLAKE2B b5f0b80f1b4291c19fec603a5610ae020ae1cd1531278c5eedf814c3aae4be76d5731b553220314ef67f785f1822c7861e088a5ec163505d9303e9ec2c5fda5c SHA512 e5eab37d5963855948efdd9739a44306c60fafef0cd589edcb6550ff52a4e6a0e403bde8124838d250c1bb78aff0bfbfa1e45275458af3e0ae00472628981b1b
+DIST indent-bars-0.7.4.tar.gz 49844 BLAKE2B 755858ddfb5dfb5f5e8af0e99f05571c33d52190b2117c34a5fc3f8b04548b6463b766f515ca5bdcd416d7f51eb251a65f2457562e9539365ede6bb7ef8c0eb0 SHA512 a8f95379925b92cb595b584742a8d916a470b9149849534b0bbdb644daf8f2ba60f0951dd99d393eceafe251c0eba048a5b703f697ac0870f51e5e0af805c4d0
diff --git a/app-emacs/indent-bars/indent-bars-0.7.4.ebuild b/app-emacs/indent-bars/indent-bars-0.7.4.ebuild
new file mode 100644
index 000000000000..948a53369085
--- /dev/null
+++ b/app-emacs/indent-bars/indent-bars-0.7.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS="27.1"
+
+inherit elisp
+
+DESCRIPTION="Fast, configurable indentation guide-bars for Emacs"
+HOMEPAGE="https://github.com/jdtsmith/indent-bars/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jdtsmith/${PN}.git"
+else
+ SRC_URI="https://github.com/jdtsmith/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-30.0.0.0
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( README.md examples.md )
diff --git a/app-emacs/org-contrib/Manifest b/app-emacs/org-contrib/Manifest
index 45dcd5d53b8f..26790e027a15 100644
--- a/app-emacs/org-contrib/Manifest
+++ b/app-emacs/org-contrib/Manifest
@@ -1,3 +1,2 @@
-DIST org-contrib-0.4.1.tar.gz 177509 BLAKE2B 4aea73aa21f36d8e655feb78e34545ba962fe82e9516010c2f55c91009fc67ca9ce12c0309174704a2ace7f98401921571b927549bf8c134cdb020e1079898c7 SHA512 e582963ab65fd88cd01013733f497c19a724b9584ae7dec178604377f347f3f8d3aa1e7871ee1ab3903a0fc94baa4ff3ce0c0591c0d5c918aeda1a9a747f9d6b
-DIST org-contrib-0.4.2.tar.gz 175913 BLAKE2B 42e4bc473ec63775e77e402614309f85c9228094bf4a8c604df1c11988ea116327fb97f8d914509075d2e988521c525ba1ac7a5da30623a9a0e2591695c39e1c SHA512 dfa2982a279384d5f0b3fcbfb3b107116c78f364d76c86952a29db6e41a7229295b700b6451f7085eb75307d7f83d1a8dbcf7c268127d989270344328a574167
DIST org-contrib-0.5.tar.gz 168071 BLAKE2B 8abc53edfa5ca5aa1c5568deabf6e9d167eae1745f7531b5a308c7b3f25c282a06003f37ef6ab45156abd067b332f1d718268c6854122fbd3c5755da43782455 SHA512 ef7b26a7626768cb0f3b95330c12eef8f8005a5e44a41f3b0426bc98b6d43b91655ec78685d6af71fe9baea305216cb991251b1141928af4dfdcc6e3321ba8f1
+DIST org-contrib-0.6.tar.gz 168041 BLAKE2B 43b0afeda86abaaf63f05f23d7be891728b9d01fa27931e84519f4b13e2d09ee7477be07234f864f5d46495d22bd7b80edeb90093539f91ae954423a1ca5208d SHA512 02502adef4e3c2a315ba433ccf7862736c3a222d6cb2b3e7ccf96237bc64beeeab6e57c614cca062a528bdcec32add3525da9828684c2f310f29b6c37d263c98
diff --git a/app-emacs/org-contrib/org-contrib-0.4.1.ebuild b/app-emacs/org-contrib/org-contrib-0.4.1.ebuild
deleted file mode 100644
index 85893537b110..000000000000
--- a/app-emacs/org-contrib/org-contrib-0.4.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-DESCRIPTION="Contributed packages to Org"
-HOMEPAGE="https://www.orgmode.org/"
-SRC_URI="https://git.sr.ht/~bzg/${PN}/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-release_${PV}/lisp"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-RDEPEND=">=app-emacs/org-mode-9.5"
-
-DOCS="../README.org"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-contrib/org-contrib-0.4.2.ebuild b/app-emacs/org-contrib/org-contrib-0.6.ebuild
index 5c5af7aa3af6..70176f372f7d 100644
--- a/app-emacs/org-contrib/org-contrib-0.4.2.ebuild
+++ b/app-emacs/org-contrib/org-contrib-0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,10 +6,11 @@ EAPI=8
inherit elisp
DESCRIPTION="Contributed packages to Org"
-HOMEPAGE="https://www.orgmode.org/"
+HOMEPAGE="https://orgmode.org/"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
+
EGIT_REPO_URI="https://git.sr.ht/~bzg/${PN}"
else
SRC_URI="https://git.sr.ht/~bzg/${PN}/archive/release_${PV}.tar.gz
@@ -22,7 +23,9 @@ fi
LICENSE="GPL-3+"
SLOT="0"
-RDEPEND=">=app-emacs/org-mode-9.5"
+RDEPEND="
+ >=app-emacs/org-mode-9.5
+"
DOCS=( ../README.org )
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-misc/fastfetch/Manifest b/app-misc/fastfetch/Manifest
index bc2e8e1a0b75..cbaec5dc2a2a 100644
--- a/app-misc/fastfetch/Manifest
+++ b/app-misc/fastfetch/Manifest
@@ -2,3 +2,4 @@ DIST fastfetch-2.21.3.tar.gz 1093534 BLAKE2B dca99e337e1239958add6323c159f58de5f
DIST fastfetch-2.22.0.tar.gz 1099230 BLAKE2B 4faef7574bc8897f17c9e59f05f033f8952d97ed56677f0ebe5afec11b7b708fce5d907431dda567cc71b0dd067239d97614b6035792009fff340a069691b547 SHA512 edb4532d220e031d666eac3ae12a004e1481a7c36c68a94b17323953822d0cedb80cdf34c84a184766e9bad64089aaadc3828b5e13f8867e961533c6919dbeae
DIST fastfetch-2.23.0.tar.gz 1105725 BLAKE2B 8b79deb0f35d8238979441014ca049fcfa838c27323fec13127f5a48e6b28feb03965135c1a338b6bd1e59913e660fc91196c27acbe1b693bc5ff7727efaa5cb SHA512 aad3d549c0f4be3b1f99e7bbbf992dccf79f9ef7ea6a26bfc31ba574b1a32496a1cf75b85c32e0643941cad4061d7ba003b42924f9f272a825a1a09b628acc39
DIST fastfetch-2.24.0.tar.gz 1104540 BLAKE2B 619d77e533a9e105228d2ce7bb077c7ac561c2ebfe9d7f4d535c8a736ff9123b333865b237409d5fd65ed27d3943ec86a9e6b2ce9a68e317c178a741046b616b SHA512 6dde07346a6ae08c49f8deca19f974fafd94a964542d97f70c39625ccbf151bf01aa626af7582367dab208bb09fc2208f18ba831bdb06202a271f05831617ffd
+DIST fastfetch-2.25.0.tar.gz 1110619 BLAKE2B 808b33ecdd28f7e31dd55ece10dd7c9ef1b4b731db87051cc7466ecfc28d94f1d2229bc8cc6486705d187d8be9b3daf08ed30dce58616bc35c5a6812570694fb SHA512 690c450cfdf53c31c99ab295702f36e0499024a79e3ebf00da0e3ad3d4bdd3b795dac59a7592451f4cbc652830297b1ec4f55428a522ae3afe50fa647334737f
diff --git a/app-misc/fastfetch/fastfetch-2.25.0.ebuild b/app-misc/fastfetch/fastfetch-2.25.0.ebuild
new file mode 100644
index 000000000000..2609a6c86f16
--- /dev/null
+++ b/app-misc/fastfetch/fastfetch-2.25.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Fast neofetch-like system information tool"
+HOMEPAGE="https://github.com/fastfetch-cli/fastfetch"
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastfetch-cli/fastfetch.git"
+ [[ ${PV} == *0.1.9999 ]] && EGIT_BRANCH=master
+ [[ ${PV} == *0.2.9999 ]] && EGIT_BRANCH=dev
+ [[ "${EGIT_BRANCH}" == "" ]] && die "Please set a git branch"
+else
+ SRC_URI="https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="X chafa dbus ddcutil drm elf gnome imagemagick opencl opengl osmesa pulseaudio sqlite test vulkan wayland xcb xfce xrandr"
+RESTRICT="!test? ( test )"
+
+# note - qa-vdb will always report errors because fastfetch loads the libs dynamically
+# make sure to crank yyjson minimum version to match bundled version
+RDEPEND="
+ >=dev-libs/yyjson-0.10.0
+ sys-libs/zlib
+ X? ( x11-libs/libX11 )
+ chafa? ( media-gfx/chafa )
+ dbus? ( sys-apps/dbus )
+ ddcutil? ( app-misc/ddcutil:= )
+ drm? ( x11-libs/libdrm )
+ elf? ( virtual/libelf:= )
+ gnome? (
+ dev-libs/glib
+ gnome-base/dconf
+ )
+ imagemagick? ( media-gfx/imagemagick:= )
+ opencl? ( virtual/opencl )
+ opengl? ( media-libs/libglvnd[X] )
+ osmesa? ( media-libs/mesa[osmesa] )
+ pulseaudio? ( media-libs/libpulse )
+ sqlite? ( dev-db/sqlite:3 )
+ vulkan? (
+ media-libs/vulkan-loader
+ sys-apps/pciutils
+ )
+ wayland? ( dev-libs/wayland )
+ xcb? ( x11-libs/libxcb )
+ xfce? ( xfce-base/xfconf )
+ xrandr? ( x11-libs/libXrandr )
+"
+DEPEND="
+ ${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ xrandr? ( X )
+ chafa? ( imagemagick )
+"
+
+src_configure() {
+ local fastfetch_enable_imagemagick7=no
+ local fastfetch_enable_imagemagick6=no
+ if use imagemagick; then
+ fastfetch_enable_imagemagick7=$(has_version '>=media-gfx/imagemagick-7.0.0' && echo yes || echo no)
+ fastfetch_enable_imagemagick6=$(has_version '<media-gfx/imagemagick-7.0.0' && echo yes || echo no)
+ fi
+
+ local mycmakeargs=(
+ -DENABLE_RPM=no
+ -DENABLE_ZLIB=yes
+ -DENABLE_SYSTEM_YYJSON=yes
+ -DIS_MUSL=$(usex elibc_musl)
+ -DINSTALL_LICENSE=no
+
+ -DENABLE_CHAFA=$(usex chafa)
+ -DENABLE_DBUS=$(usex dbus)
+ -DENABLE_DCONF=$(usex gnome)
+ -DENABLE_DDCUTIL=$(usex ddcutil)
+ -DENABLE_DRM=$(usex drm)
+ -DENABLE_ELF=$(usex elf)
+ -DENABLE_EGL=$(usex opengl)
+ -DENABLE_GIO=$(usex gnome)
+ -DENABLE_GLX=$(usex opengl)
+ -DENABLE_IMAGEMAGICK6=${fastfetch_enable_imagemagick6}
+ -DENABLE_IMAGEMAGICK7=${fastfetch_enable_imagemagick7}
+ -DENABLE_OPENCL=$(usex opencl)
+ -DENABLE_OSMESA=$(usex osmesa)
+ -DENABLE_PULSE=$(usex pulseaudio)
+ -DENABLE_SQLITE3=$(usex sqlite)
+ -DENABLE_VULKAN=$(usex vulkan)
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_X11=$(usex X)
+ -DENABLE_XCB=$(usex xcb)
+ -DENABLE_XCB_RANDR=$(usex xcb)
+ -DENABLE_XFCONF=$(usex xfce)
+ -DENABLE_XRANDR=$(usex xrandr)
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ append-cppflags -DNDEBUG
+
+ cmake_src_configure
+}
diff --git a/app-misc/regex-markup/files/regex-markup-0.10.0-c99.patch b/app-misc/regex-markup/files/regex-markup-0.10.0-c99.patch
new file mode 100644
index 000000000000..4988b57e9d75
--- /dev/null
+++ b/app-misc/regex-markup/files/regex-markup-0.10.0-c99.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/923618
+--- a/m4/regex.m4
++++ b/m4/regex.m4
+@@ -34,6 +34,7 @@ AC_DEFUN([gl_INCLUDED_REGEX],
+ jm_cv_func_working_re_compile_pattern,
+ AC_TRY_RUN(
+ [#include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <regex.h>
+ int
diff --git a/app-misc/regex-markup/regex-markup-0.10.0-r2.ebuild b/app-misc/regex-markup/regex-markup-0.10.0-r3.ebuild
index cee94b1f3d2f..e31d3e2708db 100644
--- a/app-misc/regex-markup/regex-markup-0.10.0-r2.ebuild
+++ b/app-misc/regex-markup/regex-markup-0.10.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,6 +17,7 @@ IUSE="examples nls"
PATCHES=(
"${FILESDIR}"/${P}-locale.patch
"${FILESDIR}"/${PN}-0.10.0-r2-configure.patch
+ "${FILESDIR}"/${PN}-0.10.0-c99.patch
)
src_prepare() {
diff --git a/app-office/gnucash/gnucash-5.8-r100.ebuild b/app-office/gnucash/gnucash-5.8-r100.ebuild
new file mode 100644
index 000000000000..23341e458966
--- /dev/null
+++ b/app-office/gnucash/gnucash-5.8-r100.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="regex"
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake flag-o-matic gnome2-utils guile-single python-single-r1
+
+# Please bump with app-doc/gnucash-docs
+DESCRIPTION="A personal finance manager"
+HOMEPAGE="https://www.gnucash.org/"
+SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test"
+
+# Currently restricting due to the following:
+# https://bugs.gnucash.org/show_bug.cgi?id=799159#c1
+#
+# Tests can be run but must first unmerge any existing GnuCash installation.
+RESTRICT="test"
+
+# Examples doesn't build unless GUI is also built
+REQUIRED_USE="
+ ${GUILE_REQUIRED_USE}
+ examples? ( gui )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ smartcard? ( aqbanking )
+"
+
+# dev-libs/boost must always be built with nls enabled.
+# net-libs/aqbanking dropped gtk with v6. So, to simplify the
+# dependency, we just rely on that.
+RDEPEND="
+ ${GUILE_DEPS}
+ >=dev-libs/glib-2.56.1:2
+ >=sys-libs/zlib-1.1.4
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ aqbanking? (
+ >=net-libs/aqbanking-6[ofx?]
+ >=sys-libs/gwenhywfar-5.6.0:=
+ smartcard? ( sys-libs/libchipcard )
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ gui? (
+ >=x11-libs/gtk+-3.22.30:3
+ gnome-base/dconf
+ net-libs/webkit-gtk:4.1=
+ aqbanking? ( sys-libs/gwenhywfar:=[gtk] )
+ )
+ mysql? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[mysql]
+ )
+ ofx? ( >=dev-libs/libofx-0.9.12:= )
+ postgres? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[postgres]
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ )
+ quotes? (
+ >=dev-perl/Finance-Quote-1.11
+ dev-perl/JSON-Parse
+ dev-perl/HTML-TableExtract
+ )
+ sqlite? (
+ dev-db/libdbi
+ dev-db/libdbi-drivers[sqlite]
+ )
+"
+
+# gtest is a required dep
+# see https://bugs.gnucash.org/show_bug.cgi?id=795250
+DEPEND="
+ ${RDEPEND}
+ >=sys-devel/gettext-0.20
+ dev-lang/perl
+ dev-perl/XML-Parser
+ dev-build/libtool
+ >=dev-cpp/gtest-1.8.0
+"
+# distutils is not available in python3.12, but it is still in setuptools
+BDEPEND="
+ dev-lang/swig
+ >=dev-build/cmake-3.10
+ virtual/pkgconfig
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PDEPEND="
+ doc? (
+ ~app-doc/gnucash-docs-${PV}
+ gnome-extra/yelp
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0-exclude-license.patch"
+ "${FILESDIR}/${PN}-4.12-drop-broken-test.patch"
+ "${FILESDIR}/${PN}-5.6-no-werror.patch"
+
+ # This is only to prevent webkit2gtk-4 from being selected.
+ # https://bugs.gentoo.org/893676
+ "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch"
+)
+
+pkg_setup() {
+ guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ guile_bump_sources
+
+ # ODR violation in libgnucash/engine/test/utest-Account.cpp and libgnucash/engine/test/utest-Split.cpp
+ # with Fixture struct
+ use test && filter-lto
+
+ # Fix tests writing to /tmp
+ local fixtestfiles=(
+ gnucash/report/test/test-report-html.scm
+ gnucash/report/reports/standard/test/test-invoice.scm
+ gnucash/report/reports/standard/test/test-new-owner-report.scm
+ gnucash/report/reports/standard/test/test-owner-report.scm
+ gnucash/report/reports/standard/test/test-transaction.scm
+ gnucash/report/reports/standard/test/test-portfolios.scm
+ gnucash/report/reports/standard/test/test-charts.scm
+ gnucash/report/test/test-report.scm
+ gnucash/report/test/test-commodity-utils.scm
+ gnucash/report/test/test-report-extras.scm
+ libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp
+ libgnucash/backend/xml/test/test-xml-pricedb.cpp
+ )
+ for x in "${fixtestfiles[@]}"; do
+ sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed"
+ done
+}
+
+src_configure() {
+ export GUILE_AUTO_COMPILE=0
+
+ local sql_on_off="OFF"
+ if use mysql || use postgres || use sqlite ; then
+ sql_on_off="ON"
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILE_GSCHEMAS=OFF
+ -DDISABLE_NLS=$(usex !nls)
+ -DWITH_AQBANKING=$(usex aqbanking)
+ -DWITH_GNUCASH=$(usex gui)
+ -DWITH_OFX=$(usex ofx)
+ -DWITH_PYTHON=$(usex python)
+ -DWITH_SQL=${sql_on_off}
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ LOCALE_TESTS=
+ if type locale >/dev/null 2>&1; then
+ MY_LOCALES="$(locale -a)"
+ if [[ "${MY_LOCALES}" != *en_US* ||
+ "${MY_LOCALES}" != *en_GB* ||
+ "${MY_LOCALES}" != *fr_FR* ]] ; then
+ ewarn "Missing one or more of en_US, en_GB, or fr_FR locales."
+ else
+ LOCALE_TESTS=true
+ fi
+ else
+ ewarn "'locale' not found."
+ fi
+
+ if [[ ! "${LOCALE_TESTS}" ]]; then
+ ewarn "Disabling test-qof and test-gnc-numeric."
+ echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \
+ > "${BUILD_DIR}"/CTestCustom.cmake || die "Failed to disable test-qof and test-gnc-numeric!"
+ fi
+
+ cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}"
+ XDG_DATA_HOME="${T}/$(whoami)" eninja check
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ guile_unstrip_ccache
+
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+
+ if use python ; then
+ python_optimize
+ python_optimize "${ED}"/usr/share/gnucash/python
+ fi
+}
+
+pkg_postinst() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ if use gui ; then
+ xdg_icon_cache_update
+ gnome2_schemas_update
+ fi
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-office/joplin-desktop/Manifest b/app-office/joplin-desktop/Manifest
index 61ba1d4cb866..3b6e2b1e0a97 100644
--- a/app-office/joplin-desktop/Manifest
+++ b/app-office/joplin-desktop/Manifest
@@ -1,4 +1,3 @@
-DIST Joplin-3.0.13.AppImage 239287815 BLAKE2B 0766d60d974698758872c046046b133629583f06cbc3b4fd33d0f4886bc7eba3188a47ec5205b5396dbe7a4bd537c0c9ec9677ace97a03dc0d0087c540bb1dd9 SHA512 f96ca6dfb18a5794236e16fd0c0e0c851af2cc20ecfd6095ebbdbf74bd29888726676744196927f84f5f03518ad2bb3960bb599c149b480b8a2383e936eb4a30
DIST Joplin-3.0.14.AppImage 239287839 BLAKE2B 3aedf934239f2f20da76a7a59e1e11587a7ad7aadbab3718be79d62100c5b98560c9856a16948dea4f0f2f2a1c3e412dadb27d5c88b5f4c23be922775d611b08 SHA512 27e44ae52c9954f5ce1b2cb96e2287725d1371262c645eb73953cbe4de9e1ce875211842a666153b8e4820e3117f91249f2e9ee7770e24b15383a269ce6829ce
DIST Joplin-3.0.15.AppImage 239276178 BLAKE2B 749095fd4e89a876155b4f83b87ec461df3054d75b81eb13c62383d6ba43fb7e846f9d48a855a14d6a4b8cb26e6660e28d08dca5e5f9a7191d21c29982ad250e SHA512 ace649b9e4c4039e0e85f6fee6a9e39b850601ae493a4b98451f651ca24fd9177fad89b5b81cb116b3b41c82b7ccd76f870f0293ca8398d20cdb74e992b9b0c8
DIST Joplin-3.1.3.AppImage 241399868 BLAKE2B a8a6960788dd0e703387fa3e88722513d6a394d4b347b6a69e0cf0079c2e4ce276e21fac60fe9a7a8f573259cdce5dc19dd871c06b6faffeedf5f6ded874a930 SHA512 b49bfed97bcc2210ef6c74d5a431d0620fe43332418486cc854e2f525c9e93d62682a732a03e977ed42ca55eabcde5e897406c3ecf4cc6d86fa6e333a71b9345
diff --git a/app-office/joplin-desktop/joplin-desktop-3.0.13.ebuild b/app-office/joplin-desktop/joplin-desktop-3.0.13.ebuild
deleted file mode 100644
index 8178f87f501f..000000000000
--- a/app-office/joplin-desktop/joplin-desktop-3.0.13.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTICE: This is a Electron app (oh my) and the upstream only provides AppImages.
-
-EAPI=8
-
-APPIMAGE="Joplin-${PV}.AppImage"
-
-inherit desktop xdg
-
-DESCRIPTION="Secure note taking and to-do app with synchronization capabilities"
-HOMEPAGE="https://joplinapp.org/
- https://github.com/laurent22/joplin/"
-SRC_URI="https://github.com/laurent22/joplin/releases/download/v${PV}/${APPIMAGE}"
-
-LICENSE="AGPL-3+"
-SLOT="0"
-KEYWORDS="-* amd64"
-RESTRICT="bindist"
-
-RDEPEND="
- >=app-accessibility/at-spi2-core-2.46.0:2
- app-crypt/libsecret[crypt]
- app-misc/ca-certificates
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- media-libs/alsa-lib
- media-libs/libcanberra[gtk3]
- media-libs/libglvnd
- media-libs/mesa
- net-misc/curl
- net-print/cups
- sys-apps/dbus
- sys-libs/zlib
- sys-process/lsof
- x11-libs/cairo
- x11-libs/gtk+:3
- x11-libs/libdrm
- x11-libs/libnotify
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libxkbcommon
- x11-libs/libxkbfile
- x11-libs/libXrandr
- x11-libs/libXScrnSaver
- x11-libs/pango
- x11-misc/xdg-utils
-"
-
-QA_PREBUILT="*"
-
-src_unpack() {
- mkdir -p "${S}" || die
- cp "${DISTDIR}/${APPIMAGE}" "${S}" || die
-
- cd "${S}" || die # "appimage-extract" unpacks to current directory.
- chmod +x "${S}/${APPIMAGE}" || die
- "${S}/${APPIMAGE}" --appimage-extract || die
-}
-
-src_prepare() {
- # Fix permissions.
- find "${S}" -type d -exec chmod a+rx {} + || die
- find "${S}" -type f -exec chmod a+r {} + || die
-
- default
-}
-
-src_install() {
- cd "${S}/squashfs-root" || die
-
- insinto /usr/share
- doins -r ./usr/share/icons
-
- local apphome="/opt/${PN}"
- local toremove=(
- .DirIcon
- @joplinapp-desktop.desktop
- @joplinapp-desktop.png
- AppRun
- LICENSE.electron.txt
- LICENSES.chromium.html
- resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm
- resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm64
- resources/app.asar.unpacked/node_modules/node-notifier
- usr
- )
- rm -f -r "${toremove[@]}" || die
-
- mkdir -p "${ED}/${apphome}" || die
- cp -r . "${ED}/${apphome}" || die
-
- dosym -r "${apphome}/@joplinapp-desktop" "/usr/bin/${PN}"
- make_desktop_entry "${PN}" Joplin @joplinapp-desktop "Office;" \
- "StartupWMClass=Joplin\nMimeType=x-scheme-handler/joplin;"
-}
diff --git a/app-office/libreoffice-l10n/libreoffice-l10n-24.2.6.2.ebuild b/app-office/libreoffice-l10n/libreoffice-l10n-24.2.6.2.ebuild
index 36af8344e564..9f52527950ee 100644
--- a/app-office/libreoffice-l10n/libreoffice-l10n-24.2.6.2.ebuild
+++ b/app-office/libreoffice-l10n/libreoffice-l10n-24.2.6.2.ebuild
@@ -17,7 +17,7 @@ BASE_SRC_URI_STABLE="https://download.documentfoundation.org/${PN/-l10n/}/stable
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE="offlinehelp"
#
diff --git a/app-office/libreoffice/libreoffice-24.2.6.2.ebuild b/app-office/libreoffice/libreoffice-24.2.6.2.ebuild
index dea7db5c8f02..31e34d86323b 100644
--- a/app-office/libreoffice/libreoffice-24.2.6.2.ebuild
+++ b/app-office/libreoffice/libreoffice-24.2.6.2.ebuild
@@ -111,7 +111,7 @@ LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
[[ ${MY_PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
COMMON_DEPEND="${PYTHON_DEPS}
app-arch/unzip
diff --git a/app-shells/gash/gash-0.3.0-r100.ebuild b/app-shells/gash/gash-0.3.0-r100.ebuild
new file mode 100644
index 000000000000..2dc3bad3b8f1
--- /dev/null
+++ b/app-shells/gash/gash-0.3.0-r100.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+
+inherit guile-single
+
+DESCRIPTION="POSIX-compatible shell written in Guile Scheme"
+HOMEPAGE="https://savannah.nongnu.org/projects/gash/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="strip"
+
+REQUIRED_USE="${QUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/texinfo"
+
+src_prepare() {
+ guile-single_src_prepare
+
+ sed -i -e "s|guile|${GUILE}|" tests/temporary-assignments.org || die
+}
diff --git a/app-text/cherrytree/Manifest b/app-text/cherrytree/Manifest
index 58fd75dce07b..8091cfa6e7b3 100644
--- a/app-text/cherrytree/Manifest
+++ b/app-text/cherrytree/Manifest
@@ -1,3 +1 @@
-DIST cherrytree_1.1.2.tar.xz 3460288 BLAKE2B bb09581bee1634d0d9885a6946b0baf5cb10db73d6c264ad7543ebeb4bba94be825a1f43ee4995c14dbd332ae414d44a1db461ca5f50b7d5f76f66b02ec9bed4 SHA512 39d1e765e3a644966a5571580baf7cd33b2ac65a05efebd31bfe7a6b037359f880309806d95e240d78a3f21dd312b7b4decdcd5cc5e50b48935ea3643a9dcf7e
-DIST cherrytree_1.1.3.tar.xz 4714064 BLAKE2B 440d963a6e30a93a218af188c726b25a842738ea471daa8f82cab439f240780685eeed211d270d050a1b4fef896075e68407d456d48c0690961beb9861cdd51e SHA512 3d02d822fd342689420b45b51cbd4c272d88ad97b568b87a3f8b724a32554c6443293657ff1486a998e3f46fd91420dcb4a09ba7330d6e3fe4a6fc34f0783e9e
DIST cherrytree_1.1.4.tar.xz 4714968 BLAKE2B 98cb6c20f5f957420b01352f3b1ba86768010e64583d94130e878eca747350c5eab11107ef3719c65f3a6126127b31e4d0e5807f90548f9f8819cd16f0f299f1 SHA512 053871386b4fd5e9964082421c63a10f332942fb1b29e5145b18858a1219ad55e108235dda279bdbf9b3516fd17502c55357e196a327232a6d82aaa1e06598d9
diff --git a/app-text/cherrytree/cherrytree-1.1.3.ebuild b/app-text/cherrytree/cherrytree-1.1.3.ebuild
deleted file mode 100644
index 92140c4a5713..000000000000
--- a/app-text/cherrytree/cherrytree-1.1.3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake python-any-r1 xdg
-
-DESCRIPTION="A hierarchical note taking application (C++ version)"
-HOMEPAGE="https://www.giuspen.com/cherrytree/"
-
-SRC_URI="https://github.com/giuspen/${PN}/releases/download/v$PV/${P/-/_}.tar.xz"
-S="${WORKDIR}"/${P/-/_}
-
-# GPL-3 — future/src/ct (CherryTree)
-# LGPL-2.1 — future/src/7za (7zip)
-# MIT — future/src/fmt (libfmt)
-LICENSE="GPL-3 LGPL-2.1 MIT"
-
-SLOT="0"
-
-KEYWORDS="~amd64 ~x86"
-
-IUSE="nls test"
-
-# Has deps that aren't available in ::gentoo repo
-RESTRICT="test"
-
-RDEPEND="app-i18n/uchardet
- app-text/gspell:=
- >=dev-cpp/glibmm-2.64.2:2
- dev-cpp/gtkmm:3.0
- dev-cpp/gtksourceviewmm:3.0
- dev-cpp/libxmlpp:2.6
- dev-cpp/pangomm:1.4
- dev-db/sqlite:3
- dev-libs/fribidi
- dev-libs/glib:2
- dev-libs/libfmt:=
- dev-libs/libsigc++:2
- dev-libs/libxml2:2
- >=dev-libs/spdlog-1.5
- >=x11-libs/vte-0.70.2:2.91
- net-misc/curl
- x11-libs/cairo[X]
- x11-libs/gtk+:3[X]
- x11-libs/pango[X]"
-
-DEPEND="${PYTHON_DEPS}
- ${RDEPEND}"
-
-BDEPEND="
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( dev-util/cpputest )"
-
-src_prepare() {
- # disable compress man pages
- sed -i -e \
- '/install(FILES/s|${MANFILE_FULL_GZ}|${CMAKE_SOURCE_DIR}/data/cherrytree.1|' \
- CMakeLists.txt || die
-
- # python_fix_shebang .
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DPYTHON_EXEC="${PYTHON}"
- -DUSE_NLS=$(usex nls)
- -DBUILD_TESTING=$(usex test)
- -DUSE_SHARED_FMT_SPDLOG=ON
- )
-
- cmake_src_configure
-}
diff --git a/app-text/cherrytree/cherrytree-1.1.2.ebuild b/app-text/cherrytree/cherrytree-1.1.4-r1.ebuild
index 136172d6e48a..112fe0853cc1 100644
--- a/app-text/cherrytree/cherrytree-1.1.2.ebuild
+++ b/app-text/cherrytree/cherrytree-1.1.4-r1.ebuild
@@ -40,6 +40,7 @@ RDEPEND="app-i18n/uchardet
dev-libs/libfmt:=
dev-libs/libsigc++:2
dev-libs/libxml2:2
+ >=dev-libs/spdlog-1.5:=
>=x11-libs/vte-0.70.2:2.91
net-misc/curl
x11-libs/cairo[X]
diff --git a/app-text/cherrytree/cherrytree-1.1.4.ebuild b/app-text/cherrytree/cherrytree-1.1.4.ebuild
deleted file mode 100644
index 92140c4a5713..000000000000
--- a/app-text/cherrytree/cherrytree-1.1.4.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake python-any-r1 xdg
-
-DESCRIPTION="A hierarchical note taking application (C++ version)"
-HOMEPAGE="https://www.giuspen.com/cherrytree/"
-
-SRC_URI="https://github.com/giuspen/${PN}/releases/download/v$PV/${P/-/_}.tar.xz"
-S="${WORKDIR}"/${P/-/_}
-
-# GPL-3 — future/src/ct (CherryTree)
-# LGPL-2.1 — future/src/7za (7zip)
-# MIT — future/src/fmt (libfmt)
-LICENSE="GPL-3 LGPL-2.1 MIT"
-
-SLOT="0"
-
-KEYWORDS="~amd64 ~x86"
-
-IUSE="nls test"
-
-# Has deps that aren't available in ::gentoo repo
-RESTRICT="test"
-
-RDEPEND="app-i18n/uchardet
- app-text/gspell:=
- >=dev-cpp/glibmm-2.64.2:2
- dev-cpp/gtkmm:3.0
- dev-cpp/gtksourceviewmm:3.0
- dev-cpp/libxmlpp:2.6
- dev-cpp/pangomm:1.4
- dev-db/sqlite:3
- dev-libs/fribidi
- dev-libs/glib:2
- dev-libs/libfmt:=
- dev-libs/libsigc++:2
- dev-libs/libxml2:2
- >=dev-libs/spdlog-1.5
- >=x11-libs/vte-0.70.2:2.91
- net-misc/curl
- x11-libs/cairo[X]
- x11-libs/gtk+:3[X]
- x11-libs/pango[X]"
-
-DEPEND="${PYTHON_DEPS}
- ${RDEPEND}"
-
-BDEPEND="
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( dev-util/cpputest )"
-
-src_prepare() {
- # disable compress man pages
- sed -i -e \
- '/install(FILES/s|${MANFILE_FULL_GZ}|${CMAKE_SOURCE_DIR}/data/cherrytree.1|' \
- CMakeLists.txt || die
-
- # python_fix_shebang .
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DPYTHON_EXEC="${PYTHON}"
- -DUSE_NLS=$(usex nls)
- -DBUILD_TESTING=$(usex test)
- -DUSE_SHARED_FMT_SPDLOG=ON
- )
-
- cmake_src_configure
-}
diff --git a/app-text/pdfjam/Manifest b/app-text/pdfjam/Manifest
index 90a6f52c291f..9f9c84e51413 100644
--- a/app-text/pdfjam/Manifest
+++ b/app-text/pdfjam/Manifest
@@ -1,3 +1,3 @@
DIST pdfjam-3.10.tar.gz 121928 BLAKE2B 5ff82abba43becb2792ff9e6a13dd3458d4b884e9e2361d116c638bb8a396fd8ca833361dfbc981433ebf445cfa8bfe99bb5fc7f1a76a35361666b91acef934e SHA512 dd69d8e5f86bb4fcb8db0e71454fdb0f2dd75e222d68e8cf3870d9f318aa7e8ccf51f87977ad71ddba1d78569e358044b111b8014f88dddf86654dc5bc334e90
+DIST pdfjam-3.12.tar.gz 162802 BLAKE2B d22e78cdb1e0135b2d2a9d1269a7467417a2fd3f984e969434d59db82f94a6575ff12bf814c3f90081e8e08823d68577e43b243fb2f52160dffc9d425fc84f0e SHA512 c801f5dbfb2eebf185734d14974a00c3ca3b8edda349ed7d6e0017ac80136ea10cab7ab0dc77ec1a712f7e338c8c9e58d24d7b8b69a3b2116e0a6473fc0b1317
DIST pdfjam-extra-20191118.tar.gz 15457 BLAKE2B 3d673ba68a1ee89cec7af0ec7d7fc61c8993b9ae328d3362a6bbbae47cbda2caa2e8f4ecd28424dd894c31d14754228b067389b61fa7845cfe5dfc0e2b5d9b8d SHA512 1d02abb9d81baf6edf3e51e2c7838df191a7a18b4b50518ee1ae3108020a274d7608570654ab540539d3717e51ef10f548c83c3480681bc20c9702280f694b8f
-DIST pdfjam_208.tgz 180725 BLAKE2B 903ce4f0874c9fc9ad23f3db37b882596589d6470dfe9289f65a72fb66ff843bbd49b52086d7b2d2cbbfb1b6406cbbda64d46b933a853d5d681ef88d4033372c SHA512 728c8d304c6d2af773980d20ef4a4be6e0a5dad286ad8cd00be9b1687f5024e00032a750c10c74dcd24431f081368d02b76f03cc5bb1c8725a060cd70be0fd8c
diff --git a/app-text/pdfjam/metadata.xml b/app-text/pdfjam/metadata.xml
index af299c1e9b05..5eb32f27f1d8 100644
--- a/app-text/pdfjam/metadata.xml
+++ b/app-text/pdfjam/metadata.xml
@@ -8,6 +8,22 @@
<use>
<flag name="extra">Install unsupported wrapper scripts, for example pdf90, pdfnup, pdfjoin</flag>
</use>
+ <longdescription>
+ The pdfjam is a shell script providing a simple interface to much of
+ the functionality of the excellent pdfpages package (by Andreas
+ Matthias) for LaTeX.
+
+ It takes one or more PDF files (and/or JPG/PNG graphics files) as input,
+ and produces one or more PDF files as output. It is useful for joining
+ files together, selecting pages, reducing several source pages onto one
+ output page.
+ However, it does not preserve hyperlinks.
+
+ If you don't like this package upstream recommends:
+ - <pkg>app-text/pdftk</pkg> (Java based)
+ - PDFsam (Java based)
+ - PSPDFUtils (Python based, supports PostScript)
+ </longdescription>
<upstream>
<remote-id type="github">rrthomas/pdfjam</remote-id>
</upstream>
diff --git a/app-text/pdfjam/pdfjam-2.08-r1.ebuild b/app-text/pdfjam/pdfjam-2.08-r1.ebuild
deleted file mode 100644
index 992ae1784eaa..000000000000
--- a/app-text/pdfjam/pdfjam-2.08-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PV=${PV/./}
-DESCRIPTION="pdfnup, pdfjoin and pdf90"
-HOMEPAGE="http://www.warwick.ac.uk/go/pdfjam"
-SRC_URI="http://www.warwick.ac.uk/go/pdfjam/${PN}_${MY_PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE=""
-S="${WORKDIR}"/${PN}
-
-DEPEND="virtual/latex-base"
-RDEPEND="${DEPEND}"
-
-src_install() {
- dobin bin/*
- dodoc PDFjam-README.html
- doman man1/*
-}
diff --git a/app-text/pdfjam/pdfjam-3.12.ebuild b/app-text/pdfjam/pdfjam-3.12.ebuild
new file mode 100644
index 000000000000..084765c1de2c
--- /dev/null
+++ b/app-text/pdfjam/pdfjam-3.12.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PDFJAM_EXTRAS_COMMIT=622e03add59db004144c0b41722a09b3b29d6d3e
+
+DESCRIPTION="Tool for manipulatiing PDF files"
+HOMEPAGE="https://github.com/rrthomas/pdfjam"
+SRC_URI="
+ https://github.com/rrthomas/pdfjam/releases/download/v${PV}/pdfjam-${PV}.tar.gz
+ extra? (
+ https://github.com/rrthomas/pdfjam-extras/archive/${PDFJAM_EXTRAS_COMMIT}.tar.gz
+ -> pdfjam-extra-20191118.tar.gz
+ )
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+IUSE="extra test"
+RESTRICT="!test? ( test )"
+
+DEPEND="virtual/latex-base"
+RDEPEND="
+ ${DEPEND}
+ !<dev-texlive/texlive-binextra-2023_p69527-r4
+"
+BDEPEND="test? ( app-arch/unzip )"
+
+src_prepare() {
+ default
+ if use test; then
+ unzip tests.zip || die
+ fi
+}
+
+src_test() {
+ ./tests/run.sh || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc README.md
+ doman man1/*
+
+ insinto usr/share/etc
+ doins pdfjam.conf
+
+ if use extra; then
+ cd ../pdfjam-extras-${PDFJAM_EXTRAS_COMMIT} || die
+
+ dobin bin/*
+ newdoc README.md README-extras.md
+ doman man1/*
+ fi
+}
diff --git a/app-text/poppler/poppler-24.08.0.ebuild b/app-text/poppler/poppler-24.08.0.ebuild
index fcd590b4257a..166eb09cf6d9 100644
--- a/app-text/poppler/poppler-24.08.0.ebuild
+++ b/app-text/poppler/poppler-24.08.0.ebuild
@@ -17,7 +17,7 @@ else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
SRC_URI+=" test? ( https://gitlab.freedesktop.org/poppler/test/-/archive/${TEST_COMMIT}/test-${TEST_COMMIT}.tar.bz2 -> ${PN}-test-${TEST_COMMIT}.tar.bz2 )"
SRC_URI+=" verify-sig? ( https://poppler.freedesktop.org/${P}.tar.xz.sig )"
- KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
SLOT="0/140" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
diff --git a/app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.3.2.ebuild b/app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.3.2.ebuild
index 4c9b1c46bdfe..ffb44e6d3890 100644
--- a/app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.3.2.ebuild
+++ b/app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.3.2.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.pwmt.org/pwmt/zathura-pdf-poppler.git"
EGIT_BRANCH="develop"
else
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
SRC_URI="https://github.com/pwmt/zathura-pdf-poppler/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
diff --git a/dev-build/remake/remake-4.3.1.1.6-r100.ebuild b/dev-build/remake/remake-4.3.1.1.6-r100.ebuild
new file mode 100644
index 000000000000..7a08d41b8542
--- /dev/null
+++ b/dev-build/remake/remake-4.3.1.1.6-r100.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+
+inherit guile-single flag-o-matic
+
+MY_MAKE_BASE=$(ver_cut 1-2)
+MY_REMAKE_PATCH=$(ver_cut 4-)
+MY_P="${PN}-${MY_MAKE_BASE}+dbg-${MY_REMAKE_PATCH}"
+
+DESCRIPTION="Patched version of GNU Make with improved error reporting, tracing and debugging"
+HOMEPAGE="http://bashdb.sourceforge.net/remake/"
+SRC_URI="https://github.com/rocky/remake/releases/download/${MY_P}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="guile readline"
+
+REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
+
+RDEPEND="
+ guile? ( ${GUILE_DEPS} )
+ readline? ( sys-libs/readline:0= )
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use guile && guile_bump_sources
+}
+
+src_configure() {
+ # Fixed in upstream make/gnulib, just not yet propagated into remake (bug #863827)
+ filter-lto
+
+ use readline || export vl_cv_lib_readline=no
+ econf $(use_with guile)
+}
+
+src_install() {
+ default
+
+ use guile && guile_unstrip_ccache
+
+ # delete files GNU make owns and remake doesn't care about.
+ rm -r "${ED}"/usr/include || die
+ rm "${ED}"/usr/share/info/make.info* || die
+}
diff --git a/dev-debug/gdb/gdb-15.1-r100.ebuild b/dev-debug/gdb/gdb-15.1-r100.ebuild
new file mode 100644
index 000000000000..4d5d83a579f7
--- /dev/null
+++ b/dev-debug/gdb/gdb-15.1-r100.ebuild
@@ -0,0 +1,325 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
+# tips & notes.
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic guile-single python-single-r1 strip-linguas toolchain-funcs
+
+export CTARGET=${CTARGET:-${CHOST}}
+
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+case ${PV} in
+ 9999*)
+ # live git tree
+ EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ inherit git-r3
+ SRC_URI=""
+ ;;
+ *.*.50_p2???????|*.*.90_p2???????)
+ # Weekly snapshots
+ MY_PV="${PV/_p/.}"
+ SRC_URI="
+ https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz
+ https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz
+ "
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine
+ if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then
+ REGULAR_RELEASE=1
+ fi
+ ;;
+ *.*.9?)
+ # Prereleases
+ MY_PV="${PV/_p/.}"
+ SRC_URI="
+ https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz
+ "
+ S="${WORKDIR}/${PN}-${MY_PV}"
+ ;;
+ *)
+ # Normal upstream release
+ SRC_URI="
+ mirror://gnu/gdb/${P}.tar.xz
+ https://sourceware.org/pub/gdb/releases/${P}.tar.xz
+ "
+
+ REGULAR_RELEASE=1
+esac
+
+PATCH_DEV=""
+PATCH_VER=""
+DESCRIPTION="GNU debugger"
+HOMEPAGE="https://sourceware.org/gdb/"
+SRC_URI="
+ ${SRC_URI}
+ ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz}
+ ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}
+"
+
+LICENSE="GPL-3+ LGPL-2.1+"
+SLOT="0"
+IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd"
+if [[ -n ${REGULAR_RELEASE} ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+fi
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/mpfr:=
+ dev-libs/gmp:=
+ >=sys-libs/ncurses-5.2-r2:=
+ >=sys-libs/readline-7:=
+ sys-libs/zlib
+ elibc_glibc? ( net-libs/libnsl:= )
+ debuginfod? (
+ dev-libs/elfutils[debuginfod(-)]
+ )
+ lzma? ( app-arch/xz-utils )
+ python? ( ${PYTHON_DEPS} )
+ guile? ( ${GUILE_DEPS} )
+ xml? ( dev-libs/expat )
+ source-highlight? (
+ dev-util/source-highlight
+ )
+ xxhash? (
+ dev-libs/xxhash
+ )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/xz-utils
+ sys-apps/texinfo
+ app-alternatives/yacc
+ nls? ( sys-devel/gettext )
+ source-highlight? ( virtual/pkgconfig )
+ test? ( dev-util/dejagnu )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ MIN # gnulib FP (bug #898688)
+)
+
+QA_PREBUILT="usr/share/gdb/guile/*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use guile && guile_bump_sources
+
+ strip-linguas -u bfd/po opcodes/po
+
+ # Avoid using ancient termcap from host on Prefix systems
+ sed -i -e 's/termcap tinfow/tinfow/g' \
+ gdb/configure{.ac,} || die
+}
+
+gdb_branding() {
+ printf "Gentoo ${PV} "
+
+ if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then
+ printf "p${PATCH_VER}"
+ else
+ printf "vanilla"
+ fi
+
+ [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}"
+}
+
+src_configure() {
+ strip-unsupported-flags
+
+ # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
+ # Avoid really confusing logs from subconfigure spam, makes logs far
+ # more legible.
+ MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ local myconf=(
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or gdb's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+
+ --with-pkgversion="$(gdb_branding)"
+ --with-bugurl='https://bugs.gentoo.org/'
+ --disable-werror
+ # Disable modules that are in a combined binutils/gdb tree. bug #490566
+ --disable-{binutils,etc,gas,gold,gprof,gprofng,ld}
+
+ $(use_with debuginfod)
+
+ $(use_enable test unit-tests)
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+
+ # Helps when cross-compiling. Not to be confused with --with-sysroot.
+ --with-build-sysroot="${ESYSROOT}"
+ )
+
+ is_cross && myconf+=(
+ --with-sysroot="\${prefix}/${CTARGET}"
+ --includedir="\${prefix}/include/${CTARGET}"
+ --with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
+ )
+
+ # gdbserver only works for native targets (CHOST==CTARGET).
+ # it also doesn't support all targets, so rather than duplicate
+ # the target list (which changes between versions), use the
+ # "auto" value when things are turned on, which is triggered
+ # whenever no --enable or --disable is given
+ if is_cross || use !server ; then
+ myconf+=( --disable-gdbserver )
+ fi
+
+ myconf+=(
+ --enable-64-bit-bfd
+ --disable-install-libbfd
+ --disable-install-libiberty
+ --enable-obsolete
+ # This only disables building in the readline subdir.
+ # For gdb itself, it'll use the system version.
+ --disable-readline
+ --with-system-readline
+ # This only disables building in the zlib subdir.
+ # For gdb itself, it'll use the system version.
+ --without-zlib
+ --with-system-zlib
+ --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
+ $(use_with xml expat)
+ $(use_with lzma)
+ $(use_enable nls)
+ $(use_enable sim)
+ $(use_enable source-highlight)
+ $(use multitarget && echo --enable-targets=all)
+ $(use_with python python "${EPYTHON}")
+ $(use_with xxhash)
+ $(use_with guile)
+ $(use_with zstd)
+
+ # Find libraries using the toolchain sysroot rather than the configured
+ # prefix. Needed when cross-compiling.
+ #
+ # Check which libraries to apply this to with:
+ # "${S}"/gdb/configure --help | grep without-lib | sort
+ --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix
+ )
+
+ # source-highlight is detected with pkg-config: bug #716558
+ export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)"
+
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ # ensure proper compiler is detected for Clang builds: bug #831202
+ export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}"
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ # Run the unittests (nabbed invocation from Fedora's spec file) at least
+ emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"'
+
+ # Too many failures
+ # In fact, gdb's test suite needs some work to get passing.
+ # See e.g. https://sourceware.org/gdb/wiki/TestingGDB.
+ # As of 11.2, on amd64: "# of unexpected failures 8600"
+ # Also, ia64 kernel crashes when gdb testsuite is running.
+ #emake -k check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ find "${ED}"/usr -name libiberty.a -delete || die
+
+ # Delete translations that conflict with binutils-libs. bug #528088
+ # Note: Should figure out how to store these in an internal gdb dir.
+ if use nls ; then
+ find "${ED}" \
+ -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \
+ -delete || die
+ fi
+
+ # Don't install docs when building a cross-gdb
+ if [[ ${CTARGET} != ${CHOST} ]] ; then
+ rm -rf "${ED}"/usr/share/{doc,info,locale} || die
+ local f
+ for f in "${ED}"/usr/share/man/*/* ; do
+ if [[ ${f##*/} != ${CTARGET}-* ]] ; then
+ mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die
+ fi
+ done
+ return 0
+ fi
+
+ # Install it by hand for now:
+ # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html
+ # Only install if it exists due to the twisted behavior (see
+ # notes in src_configure above).
+ [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
+
+ docinto gdb
+ dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
+ gdb/NEWS gdb/PROBLEMS
+ docinto sim
+ dodoc sim/{MAINTAINERS,README-HACKING}
+
+ if use server ; then
+ docinto gdbserver
+ dodoc gdbserver/README
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
+
+ use guile && guile_unstrip_ccache
+
+ if use python ; then
+ python_optimize "${ED}"/usr/share/gdb/python/gdb
+ fi
+}
+
+pkg_postinst() {
+ # Portage doesn't unmerge files in /etc
+ rm -vf "${EROOT}"/etc/skel/.gdbinit
+
+ if use prefix && [[ ${CHOST} == *-darwin* ]] ; then
+ ewarn "gdb is unable to get a mach task port when installed by Prefix"
+ ewarn "Portage, unprivileged. To make gdb fully functional you'll"
+ ewarn "have to perform the following steps:"
+ ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb"
+ ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb"
+ fi
+}
diff --git a/dev-debug/gdb/gdb-9999.ebuild b/dev-debug/gdb/gdb-9999.ebuild
index c35dad1f342f..90eaaa3ee62d 100644
--- a/dev-debug/gdb/gdb-9999.ebuild
+++ b/dev-debug/gdb/gdb-9999.ebuild
@@ -6,8 +6,9 @@ EAPI=8
# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging
# tips & notes.
+GUILE_COMPAT=( 2-2 3-0 )
PYTHON_COMPAT=( python3_{10..12} )
-inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs
+inherit flag-o-matic guile-single python-single-r1 strip-linguas toolchain-funcs
export CTARGET=${CTARGET:-${CHOST}}
@@ -76,7 +77,10 @@ IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highl
if [[ -n ${REGULAR_RELEASE} ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -91,7 +95,7 @@ RDEPEND="
)
lzma? ( app-arch/xz-utils )
python? ( ${PYTHON_DEPS} )
- guile? ( >=dev-scheme/guile-2.0 )
+ guile? ( ${GUILE_DEPS} )
xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
@@ -115,17 +119,22 @@ QA_CONFIG_IMPL_DECL_SKIP=(
MIN # gnulib FP (bug #898688)
)
+QA_PREBUILT="usr/share/gdb/guile/*"
+
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
)
pkg_setup() {
+ use guile && guile-single_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {
default
+ use guile && guile_bump_sources
+
strip-linguas -u bfd/po opcodes/po
# Avoid using ancient termcap from host on Prefix systems
@@ -303,6 +312,8 @@ src_install() {
# Remove shared info pages
rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info*
+ use guile && guile_unstrip_ccache
+
if use python ; then
python_optimize "${ED}"/usr/share/gdb/python/gdb
fi
diff --git a/dev-debug/lldb/Manifest b/dev-debug/lldb/Manifest
index 83c2917d4ff1..dc64ac8b60a3 100644
--- a/dev-debug/lldb/Manifest
+++ b/dev-debug/lldb/Manifest
@@ -9,6 +9,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/dev-debug/lldb/lldb-19.1.0.ebuild b/dev-debug/lldb/lldb-19.1.0.ebuild
new file mode 100644
index 000000000000..7734bd04d4e9
--- /dev/null
+++ b/dev-debug/lldb/lldb-19.1.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake flag-o-matic llvm.org llvm-utils python-single-r1
+
+DESCRIPTION="The LLVM debugger"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~x86"
+IUSE="debug debuginfod +libedit lzma ncurses +python test +xml"
+RESTRICT="test"
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+DEPEND="
+ debuginfod? (
+ net-misc/curl:=
+ dev-cpp/cpp-httplib:=
+ )
+ libedit? ( dev-libs/libedit:0= )
+ lzma? ( app-arch/xz-utils:= )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0= )
+ xml? ( dev-libs/libxml2:= )
+ ~sys-devel/clang-${PV}
+ ~sys-devel/llvm-${PV}[debuginfod=]
+"
+RDEPEND="
+ ${DEPEND}
+ python? (
+ ${PYTHON_DEPS}
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ python? (
+ >=dev-lang/swig-3.0.11
+ )
+ test? (
+ $(python_gen_cond_dep "
+ ~dev-python/lit-${PV}[\${PYTHON_USEDEP}]
+ dev-python/psutil[\${PYTHON_USEDEP}]
+ ")
+ sys-devel/lld
+ )
+"
+
+LLVM_COMPONENTS=( lldb cmake llvm/utils )
+LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party )
+llvm.org_set_globals
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # bug #858389 (https://github.com/llvm/llvm-project/issues/83636)
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local mycmakeargs=(
+ -DLLDB_ENABLE_CURSES=$(usex ncurses)
+ -DLLDB_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLDB_ENABLE_PYTHON=$(usex python)
+ -DLLDB_ENABLE_LUA=OFF
+ -DLLDB_ENABLE_LZMA=$(usex lzma)
+ -DLLDB_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+
+ -DLLDB_INCLUDE_TESTS=$(usex test)
+
+ -DCLANG_LINK_CLANG_DYLIB=ON
+ # TODO: fix upstream to detect this properly
+ -DHAVE_LIBDL=ON
+ -DHAVE_LIBPTHREAD=ON
+
+ # normally we'd have to set LLVM_ENABLE_TERMINFO, HAVE_TERMINFO
+ # and TERMINFO_LIBS... so just force FindCurses.cmake to use
+ # ncurses with complete library set (including autodetection
+ # of -ltinfo)
+ -DCURSES_NEED_NCURSES=ON
+
+ -DCLANG_RESOURCE_DIR="../../../clang/${LLVM_MAJOR}"
+
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-lldb-{shell,unit}
+ # failures + hangs
+ #use python && cmake_build check-lldb-api
+}
+
+src_install() {
+ cmake_src_install
+ find "${D}" -name '*.a' -delete || die
+
+ use python && python_optimize
+}
diff --git a/dev-debug/strace/Manifest b/dev-debug/strace/Manifest
index eb0dbf1c861d..ee9bc1b7055f 100644
--- a/dev-debug/strace/Manifest
+++ b/dev-debug/strace/Manifest
@@ -1,5 +1,12 @@
DIST strace-6.10.tar.xz 2600864 BLAKE2B acb26ed66fbfcb1bc6403441b632df2f7af018345e52120b8715e2bbfa578fc80af8e3844cba3e131601285f9e72b15c8b4ea56025c5efae846d2d36960f6c04 SHA512 0d7dafaa50fbcfebc37f37e53c2961972efd66ce0d71628fbcd2a8b871cb7e90bb3aebca14258a5a3115ae1e00cbe242b6d2f887d45f44e7321985720968f972
+DIST strace-6.10.tar.xz.asc 801 BLAKE2B 81b0bc033c5c8a34835b9fec8ab043879a1a2ba3a557fb3309b53254a92ab5abffac32b4d97b45aedbc045a882b69d7f26b186c6e9413599583976080f788e17 SHA512 058672503e8ae2444271e5c220a3bd29450c1badb06ec1a6e06e0f1f4d609af3730bc2a71e7f9cefeeed936e89d4d37e439f41da353388b885d49a204887fb91
+DIST strace-6.11.tar.xz 2610440 BLAKE2B 5ea511cd0d2f287ec4c979af7306b29ca39975a4a08f6a1123ae562db5331f7ebb1f23ff2a24ce01fd96c000d094c4d810f2b4bca3ce8adac26fbee57da7f92c SHA512 c639ae7097d418f8b815bd008de9423079dad70829a5eb392d3c5def81243b8a9133c10251a7c00a4991f580cff5b62466f8b53b4b8e425a009548fb3582bdb0
+DIST strace-6.11.tar.xz.asc 801 BLAKE2B bc60367dafb08551510bf64c384315aadc3027ed256fbfa5a6e23139800ad01f12b7ebdc09e7845b202260ec38b4a5de70e5701abd9dddc0c5f3c4c32bd6c97b SHA512 bdb86f8fa9b168240b892814037660456ee7beed547e6f5bbcb61431e6fd8d6544b8b169cc794e084c3c11f2f62aff36de410294c609c0a9ea8781fa1ddf57aa
DIST strace-6.6.tar.xz 2420364 BLAKE2B f1465fec58ac20ccce6a88441a34b1402e5c51f0bb4b7963f69b5ab5019a8c8722e3406c6f93c10c1eea11d17de7f9874895d6f4df24cf9ec42a18f36267687b SHA512 77ea45c72e513f6c07026cd9b2cc1a84696a5a35cdd3b06dd4a360fb9f9196958e3f6133b4a9c91e091c24066ba29e0330b6459d18a9c390caae2dba97ab399b
+DIST strace-6.6.tar.xz.asc 801 BLAKE2B 1bd72fc586f4338da1ae31181d28103ff3168322c07508699261b5ec4627ed3bdf7e20b4557182a258f22e83537712f20413aa9c5c4b335c75f3772e71888478 SHA512 b9eb6fc5c2f3bd8fced37fb81435087df95d9f23f0697afab8a3e359709c95238e50aafe2a3ba8cd698aeae75a4f8e28b6dce49a26878a961c2c06790458d228
DIST strace-6.7.tar.xz 2434880 BLAKE2B 249c149a9140fc79be1365e4e8697b46f6558334eefac11b51c96d2d2e67bb82cb2eac3c38c2fa31f40fc5e0ad3c52967e15a034c01c12ed041d51f006a194ae SHA512 da28fd9fb987044782e6fd6f5e90e2cea2ab8e536cbd3893ef4c9b11c9b3185f073ca3d8ca0eade49e9a2af8efbda8c2b66b8988be7ebc463dc45e8f48ca1256
+DIST strace-6.7.tar.xz.asc 801 BLAKE2B 3a87561c04e82bbb745e59343cf79c25abf2c6cbd7a82f8d116a3cf6fd00797636037b620529979bce6e814fcf84aa42d94d0678afa86aedaf829d48118339df SHA512 9ea90089ec0af3f2471c4e03fe95f09e16260c04f5083dde17ea28a94b62578a90319ccd4987ed50459318c4ef3174dfe42ea158cf45d11c8e21e7133113a1ae
DIST strace-6.8.tar.xz 2457948 BLAKE2B 0897aedc6a1ed162b8967a56d54dd0bc589ce027321c1219e5fc23e6a44103576e0f363f79a03def365a05989173271eb6096a9c48b16cdf8c54033ec6bd6f2a SHA512 c477724a77112a74a5236a38b7dbaa9b6199622a1d21cc6253cac80dc4ddea78aeaf8cddf4a51ee4119e00e1adaf95f64f64e20d9775ec3edd77cd82c8f7b30e
+DIST strace-6.8.tar.xz.asc 801 BLAKE2B 544f9a59824f5bd2e682b4df0106c85c90be8eba8fe99fa5a5b6ccc69bd9ced176f4ce3a02253e16a51290dae452426da3827e653d4c38f44eaf06427007e5a5 SHA512 4bcbf6b01440cd94ae2e05cc13220a141a0cc7c3a974d92947e09217fa4c77d7f7c272aaf32107c8974e140da25fd78e45f9f48731406b4dfd4d5a955e663daa
DIST strace-6.9.tar.xz 2466252 BLAKE2B 2da51f253ea18f27b5fabafaebdc54805aeca5b750bec6169c269dbcadb98cf76a47bf92dd619458ca86d46ec7a03710e16e0ac4973d89a86edc2d0b853714c8 SHA512 aa80b9b6ec41082f1710f2327f7a22003cdce6d95ab0e5083ada9c5b7b40b8f7cbc7dc6c017878dc0e42c52e405e98ed1488c51d17bc3538989ff4be2c2411e1
+DIST strace-6.9.tar.xz.asc 801 BLAKE2B ccb3d026a272bc02d351fd15f8b18a50a8653cda247ea9baa938820fb3c870e1803562d7e17eac3d4f1842911a4e904bc88ba267cb74aeac869185e30cd89d48 SHA512 577a3f5d0bdd51b995755a76b58e6bdf6a0a173966bb1d95ebba0a59df8a8e828eb5eca4cda55c9faf7e31053652911541134107199c073ec24fa877cec393bd
diff --git a/dev-debug/strace/strace-6.10.ebuild b/dev-debug/strace/strace-6.10.ebuild
index 976615abb153..3b7b64121199 100644
--- a/dev-debug/strace/strace-6.10.ebuild
+++ b/dev-debug/strace/strace-6.10.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-debug/strace/strace-6.11.ebuild b/dev-debug/strace/strace-6.11.ebuild
new file mode 100644
index 000000000000..3b7b64121199
--- /dev/null
+++ b/dev-debug/strace/strace-6.11.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 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 ~amd64-linux ~x86-linux"
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
+LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
+SLOT="0"
+IUSE="aio perl selinux static test unwind elfutils"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="?? ( unwind elfutils )"
+
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
+LIB_DEPEND="
+ unwind? ( sys-libs/libunwind[static-libs(+)] )
+ elfutils? ( dev-libs/elfutils[static-libs(+)] )
+ selinux? ( sys-libs/libselinux[static-libs(+)] )
+"
+# strace only uses the header from libaio to decode structs
+DEPEND="
+ static? ( ${LIB_DEPEND} )
+ aio? ( >=dev-libs/libaio-0.3.106 )
+ sys-kernel/linux-headers
+"
+RDEPEND="
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ 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)
+ 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
+
+ $(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-debug/strace/strace-6.6.ebuild b/dev-debug/strace/strace-6.6.ebuild
index c380af2dcd29..7c8d69f65cc5 100644
--- a/dev-debug/strace/strace-6.6.ebuild
+++ b/dev-debug/strace/strace-6.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-debug/strace/strace-6.7.ebuild b/dev-debug/strace/strace-6.7.ebuild
index c380af2dcd29..7c8d69f65cc5 100644
--- a/dev-debug/strace/strace-6.7.ebuild
+++ b/dev-debug/strace/strace-6.7.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-debug/strace/strace-6.8.ebuild b/dev-debug/strace/strace-6.8.ebuild
index c380af2dcd29..7c8d69f65cc5 100644
--- a/dev-debug/strace/strace-6.8.ebuild
+++ b/dev-debug/strace/strace-6.8.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-debug/strace/strace-6.9.ebuild b/dev-debug/strace/strace-6.9.ebuild
index a28843ec66a5..f6f02d671260 100644
--- a/dev-debug/strace/strace-6.9.ebuild
+++ b/dev-debug/strace/strace-6.9.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-debug/strace/strace-9999.ebuild b/dev-debug/strace/strace-9999.ebuild
index 976615abb153..3b7b64121199 100644
--- a/dev-debug/strace/strace-9999.ebuild
+++ b/dev-debug/strace/strace-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools edo flag-o-matic toolchain-funcs
+inherit autotools edo flag-o-matic toolchain-funcs verify-sig
DESCRIPTION="Useful diagnostic, instructional, and debugging tool"
HOMEPAGE="https://strace.io/"
@@ -12,17 +12,25 @@ 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"
+ 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 ~amd64-linux ~x86-linux"
fi
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc
+
LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
SLOT="0"
IUSE="aio perl selinux static test unwind elfutils"
RESTRICT="!test? ( test )"
REQUIRED_USE="?? ( unwind elfutils )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-strace-20151021 )
+"
LIB_DEPEND="
unwind? ( sys-libs/libunwind[static-libs(+)] )
elfutils? ( dev-libs/elfutils[static-libs(+)] )
diff --git a/dev-gap/browse/browse-1.8.21-r2.ebuild b/dev-gap/browse/browse-1.8.21-r2.ebuild
index feca5aa41003..229fad9e7eff 100644
--- a/dev-gap/browse/browse-1.8.21-r2.ebuild
+++ b/dev-gap/browse/browse-1.8.21-r2.ebuild
@@ -20,9 +20,14 @@ DEPEND="sci-mathematics/gap:=
sys-libs/ncurses:="
RDEPEND="${DEPEND}"
-GAP_PKG_EXTRA_INSTALL=( app bibl )
+BDEPEND="test? (
+ dev-gap/ctbllib
+ dev-gap/tomlib
+)"
gap-pkg_enable_tests
+GAP_PKG_EXTRA_INSTALL=( app bibl )
+
src_compile() {
# This has been emailed upstream but there's no public
# bug tracker AFAIK.
diff --git a/dev-java/checker-framework-qual/Manifest b/dev-java/checker-framework-qual/Manifest
index a5959914cdf3..f0802ea1f788 100644
--- a/dev-java/checker-framework-qual/Manifest
+++ b/dev-java/checker-framework-qual/Manifest
@@ -1 +1,2 @@
DIST checker-framework-3.43.0.tar.gz 8306595 BLAKE2B bcabe8e5a0de20615980048780528b6fcb1946f8793b9cd7c3b12afeb4688c6eb91724fd111419a243801b1456537cd40994d062f2ac341e904c93c285c530ad SHA512 73f6d6d45cf926b23160fc6089596f27b33b1ae6b8489aa3a2c2e0d8330331c331ce87d0826de8f512432d469f96330e77a4323082b3db4af5f5abf81ba06295
+DIST checker-framework-3.47.0.tar.gz 8335232 BLAKE2B 4b6d8f5bb055402e6b368640eb42e4e13173dc847a4b8145e7c306856cab2151c17bfbd2c3a645708e9b7525a1e3f73d4c28c3ae24d038ac0c3119d8fcf671df SHA512 17188ab83ee8c91fb112ed0f750611c7fb5fc17f80a0bbd9b19f1514902770c2a227cf879fb581c8c915fa9827febaa8e67a0188c70df625268118344a281fbd
diff --git a/dev-java/checker-framework-qual/checker-framework-qual-3.47.0.ebuild b/dev-java/checker-framework-qual/checker-framework-qual-3.47.0.ebuild
new file mode 100644
index 000000000000..026febee0f73
--- /dev/null
+++ b/dev-java/checker-framework-qual/checker-framework-qual-3.47.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.checkerframework:checker-qual:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Annotations for type-checking by the Checker Framework"
+HOMEPAGE="https://checkerframework.org/"
+SRC_URI="https://github.com/typetools/checker-framework/archive/checker-framework-${PV}.tar.gz"
+S="${WORKDIR}/checker-framework-checker-framework-${PV}/checker-qual"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild
index b892008977f0..612bc76ff406 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild
@@ -14,8 +14,8 @@ HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
SLOT="4.20"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
BDEPEND="app-arch/unzip"
COMMON_DEP="app-eselect/eselect-java"
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild
index 0a750385f6ab..beb7971b8347 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild
@@ -15,8 +15,8 @@ SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV
S="${WORKDIR}"
LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
SLOT="4.26"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
BDEPEND="
app-arch/unzip
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.27-r1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.27-r1.ebuild
index 5b3748f2682d..6042718d196f 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.27-r1.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.27-r1.ebuild
@@ -17,8 +17,8 @@ HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
LICENSE="EPL-1.0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
SLOT="4.27"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
BDEPEND="app-arch/unzip"
COMMON_DEP="app-eselect/eselect-java"
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild
index b87cee1c3b1a..fb20056ada16 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild
@@ -14,12 +14,12 @@ DMF="R-${PV/_rc/RC}-202312010110"
DESCRIPTION="Eclipse Compiler for Java"
HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
-SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
+SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
S="${WORKDIR}"
LICENSE="EPL-1.0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
SLOT="4.30"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
BDEPEND="
app-arch/unzip
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
index 44e5c0c826be..d7601e8396e0 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
@@ -18,8 +18,8 @@ SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${P
S="${WORKDIR}"
LICENSE="EPL-1.0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
SLOT="4.31"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
BDEPEND="app-arch/unzip"
COMMON_DEP="app-eselect/eselect-java"
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.32.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.32.ebuild
index 3eefeac04654..1b686c4f4bff 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.32.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.32.ebuild
@@ -18,8 +18,8 @@ SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${P
S="${WORKDIR}"
LICENSE="EPL-1.0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
SLOT="4.32"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
BDEPEND="app-arch/unzip"
COMMON_DEP="app-eselect/eselect-java"
diff --git a/dev-java/error-prone-annotations/Manifest b/dev-java/error-prone-annotations/Manifest
index f1084eef66fc..d5fc2fa612b3 100644
--- a/dev-java/error-prone-annotations/Manifest
+++ b/dev-java/error-prone-annotations/Manifest
@@ -1 +1,2 @@
DIST error-prone-2.27.1.tar.gz 2826681 BLAKE2B 8f848a89e97ea939dc4b81751a40d7b6bec64807ddca0d078bc02599bb663fa8a8d10d566536c33c4d50b3af21cf613bb282ac3403fe5345a20361627e116e5a SHA512 54d288dd5d5f23ae052eacc92ce304b2743aa56a524ad1b235ecd35cc4ecd72b44ec0c3fee319076466b8e90c20095fd5191d59b9c48cbe5bd940e189b1a073e
+DIST error-prone-2.32.0.tar.gz 2856245 BLAKE2B 129347be0a1e9ae450c03b47c088962efd7f156dfd5f7343fc17837cb4b64e1787c325ea4d6021570559a09310688a378555c5ab0e1df4996f21e88a73487212 SHA512 ae6286f9cd4d75fb0165d9788a7a2c588a05eef5a4f714a6deb9623d6d8cf4a2173bb44a8faee058f2496dd31124b40570a91a359a8f735a88abf59eea05f39e
diff --git a/dev-java/error-prone-annotations/error-prone-annotations-2.32.0.ebuild b/dev-java/error-prone-annotations/error-prone-annotations-2.32.0.ebuild
new file mode 100644
index 000000000000..4f6b1d2395ad
--- /dev/null
+++ b/dev-java/error-prone-annotations/error-prone-annotations-2.32.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.errorprone:error_prone_annotations:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java annotations for the Error Prone static analysis tool"
+HOMEPAGE="https://errorprone.info"
+SRC_URI="https://github.com/google/error-prone/archive/v${PV}.tar.gz -> error-prone-${PV}.tar.gz"
+S="${WORKDIR}/error-prone-${PV}/annotations"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/guava-testlib/Manifest b/dev-java/guava-testlib/Manifest
index 909dfaa7631a..85db383245eb 100644
--- a/dev-java/guava-testlib/Manifest
+++ b/dev-java/guava-testlib/Manifest
@@ -1,2 +1,3 @@
DIST guava-33.2.0.tar.gz 5812764 BLAKE2B ebfc20be079385e1bf4822b1402323d468c49604f585b514c1e6d40c64803df2f9848b73c63961976908ea8e6250f5e706add1619fc0ee0befaeacab02da075f SHA512 8807dd320af652cffc83ac930e6191b36c8942bc8bfe16cec5503e0721e2fe8a36d6636eb45d650c0ccd60c67fafe4f5aa8595ad454a822fd6888d4e1f22d466
+DIST guava-33.3.0.tar.gz 5819234 BLAKE2B 26c5f97b927f4afeb8c5d68714a54ef62bfc3995da8cf98d2022edd93054bb7e0bd38598adcefc209d04a246e3da50346e213ad49152e1fc0c91463cd8f0dea3 SHA512 122a10c98820443cbfc5769e1aaa5843becfc0e2e7119d0f2544d86bd265da1fc48c4113cb706f92d84ab896fc58583b80e7dc91b6cd13f9ee9996ae8457f02c
DIST truth-1.4.2.jar 275487 BLAKE2B 9c0dce92648f734ab88a0faf1a1e5328d747efffd29aa8f12b7ed2b2c87036ce18bf3195348f9ffce848842a240179fa60e9625c6997439a4cedce6aac6c2b77 SHA512 5f29cb259f2cf63e8a908061d2a58b28ecf12366a03564c8e63c33cdbdb21935ac95ed7b68437b015a2bd055732c88ec8ca1e55b45b99a2cb3e9dd53cb0b87cc
diff --git a/dev-java/guava-testlib/guava-testlib-33.3.0.ebuild b/dev-java/guava-testlib/guava-testlib-33.3.0.ebuild
new file mode 100644
index 000000000000..c005039e87d3
--- /dev/null
+++ b/dev-java/guava-testlib/guava-testlib-33.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.guava:guava-testlib:${PV}-jre"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="A set of java classes to assist the tests for Guava itself"
+HOMEPAGE="https://github.com/google/guava"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.4.2/truth-1.4.2.jar )"
+S="${WORKDIR}/guava-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.32.0:0
+ ~dev-java/guava-${PV}:0
+ dev-java/jsr305:0
+ dev-java/junit:4
+"
+
+DEPEND="${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.47.0:0
+ dev-java/j2objc-annotations:0
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="checker-framework-qual j2objc-annotations"
+JAVA_SRC_DIR="${PN}/src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="${PN}/test"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="1024M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.4.2.jar:testdata.jar"
+ JAVA_TEST_EXTRA_ARGS="-Xmx${CHECKREQS_MEMORY}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/guava/Manifest b/dev-java/guava/Manifest
index bd3ef1d79f18..a0da1bd1de4a 100644
--- a/dev-java/guava/Manifest
+++ b/dev-java/guava/Manifest
@@ -1 +1,2 @@
DIST guava-33.2.0.tar.gz 5812764 BLAKE2B ebfc20be079385e1bf4822b1402323d468c49604f585b514c1e6d40c64803df2f9848b73c63961976908ea8e6250f5e706add1619fc0ee0befaeacab02da075f SHA512 8807dd320af652cffc83ac930e6191b36c8942bc8bfe16cec5503e0721e2fe8a36d6636eb45d650c0ccd60c67fafe4f5aa8595ad454a822fd6888d4e1f22d466
+DIST guava-33.3.0.tar.gz 5819234 BLAKE2B 26c5f97b927f4afeb8c5d68714a54ef62bfc3995da8cf98d2022edd93054bb7e0bd38598adcefc209d04a246e3da50346e213ad49152e1fc0c91463cd8f0dea3 SHA512 122a10c98820443cbfc5769e1aaa5843becfc0e2e7119d0f2544d86bd265da1fc48c4113cb706f92d84ab896fc58583b80e7dc91b6cd13f9ee9996ae8457f02c
diff --git a/dev-java/guava/guava-33.3.0.ebuild b/dev-java/guava/guava-33.3.0.ebuild
new file mode 100644
index 000000000000..c24a36ec75a2
--- /dev/null
+++ b/dev-java/guava/guava-33.3.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.guava:guava:${PV}-jre"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A collection of Google's core Java libraries"
+HOMEPAGE="https://github.com/google/guava"
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.32.0:0
+ dev-java/j2objc-annotations:0
+ dev-java/jsr305:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.47.0:0
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.common"
+JAVA_CLASSPATH_EXTRA="checker-framework-qual"
+JAVA_GENTOO_CLASSPATH_EXTRA=":futures/failureaccess/src"
+JAVA_SRC_DIR="guava/src"
diff --git a/dev-java/jeromq/Manifest b/dev-java/jeromq/Manifest
index 015d1b539992..cecc2a3c6361 100644
--- a/dev-java/jeromq/Manifest
+++ b/dev-java/jeromq/Manifest
@@ -1 +1,2 @@
DIST jeromq-0.5.2.tar.gz 422673 BLAKE2B f244ef95bff70de8eb184e6eda8e292c54488435b8c9e000dbff5f1d6cb7b2b3066061bcb1fa678d2756117a52c39df795dae84071b544b0f577a331aecc8516 SHA512 49a3e9f7ff6b54dcde03958a84e72b8d4b44fb150fc980e9f1ea4ba9e258dcb0a0730d006550a3eb33e9f241e6d89cdc0ee2155213ddd309e255d606d1fa567b
+DIST jeromq-0.6.0.tar.gz 467854 BLAKE2B 65b5b8cf676965a07d4bc26898a6db6739a1b5431678c16c0c182eee5d0c69c86a01b17ad1055caacec78149816ddc0c9468fec577f2ab82c681b7822858ee17 SHA512 2e140d456bf6a7f566b3cd563a7697d08c96b004ae70cdc37e427e4526cf8db83e5df6a492e63887f3dba639e3c29384fc46ee9e9e4a6a800e3c2c2446a65695
diff --git a/dev-java/jeromq/jeromq-0.6.0-r1.ebuild b/dev-java/jeromq/jeromq-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..30abb471818b
--- /dev/null
+++ b/dev-java/jeromq/jeromq-0.6.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.zeromq:jeromq:0.6.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Pure Java implementation of libzmq"
+HOMEPAGE="https://github.com/zeromq/jeromq"
+SRC_URI="https://github.com/zeromq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ >=dev-java/jnacl-1.0-r1:0
+ >=virtual/jdk-11:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( AUTHORS {CHANGELOG,CONTRIBUTING,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jnacl"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_compile() {
+ JAVA_JAR_FILENAME="org.zeromq.${PN}.jar"
+ java-pkg-simple_src_compile # creates a legacy jar file without module-info
+
+ # maven does it with jnacl not providing module-info
+ # need to figure out how jdeps could do so - we simply add one to jnacl
+ jdeps \
+ --module-path "$(java-pkg_getjars --build-only jnacl)" \
+ --add-modules com.neilalexander.jnacl \
+ --generate-module-info \
+ src/main/java \
+ --multi-release 9 \
+ "${JAVA_JAR_FILENAME}" || die
+
+ JAVA_JAR_FILENAME="${PN}.jar"
+ java-pkg-simple_src_compile # creates the final jar file including module-info
+}
diff --git a/dev-java/jnacl/jnacl-1.0-r1.ebuild b/dev-java/jnacl/jnacl-1.0-r1.ebuild
new file mode 100644
index 000000000000..2b78a0000a35
--- /dev/null
+++ b/dev-java/jnacl/jnacl-1.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.neilalexander:jnacl:1.0"
+# JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Pure Java implementation of NaCl: Networking and Cryptography library"
+HOMEPAGE="https://github.com/neilalexander/jnacl"
+SRC_URI="https://github.com/neilalexander/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+# We don't have fest-assert
+RESTRICT="test"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+
+src_compile() {
+ JAVA_JAR_FILENAME="com.neilalexander.${PN}.jar"
+ java-pkg-simple_src_compile # creates a legacy jar file without module-info
+
+ jdeps --generate-module-info \
+ src/main/java \
+ --multi-release 9 \
+ "${JAVA_JAR_FILENAME}" || die
+
+ JAVA_JAR_FILENAME="${PN}.jar"
+ java-pkg-simple_src_compile # creates the final jar file including module-info
+}
diff --git a/dev-java/maven-bin/Manifest b/dev-java/maven-bin/Manifest
index bbe137ffaa16..4fb9d99fa973 100644
--- a/dev-java/maven-bin/Manifest
+++ b/dev-java/maven-bin/Manifest
@@ -1,3 +1,2 @@
DIST apache-maven-3.8.8-bin.tar.gz 8296049 BLAKE2B af6353193365ed33e8f2f0a7e4d31933132751f142ebbdb68aab7a74ad2dda6593bf34cef9d8d56d6c93ff93293b75517a10a5c1c048733b8c911f4ac150bdf6 SHA512 332088670d14fa9ff346e6858ca0acca304666596fec86eea89253bd496d3c90deae2be5091be199f48e09d46cec817c6419d5161fb4ee37871503f472765d00
-DIST apache-maven-3.9.8-bin.tar.gz 9083702 BLAKE2B c636ea861d1c96938490453600cac513caf54843ffc26f45e22a655e737af93689d492e3b3055b184a33a1975aaa50a681a29412ebfd036dfd8e2c61043f6291 SHA512 7d171def9b85846bf757a2cec94b7529371068a0670df14682447224e57983528e97a6d1b850327e4ca02b139abaab7fcb93c4315119e6f0ffb3f0cbc0d0b9a2
DIST apache-maven-3.9.9-bin.tar.gz 9102945 BLAKE2B a705f18a1e7bdfd5d9ba8c38da02245ed5754fe749416ccc715dcdae21d8a41026778dfb912e3ea3e89e8358aede13d29ce3081ac71b16191e53d5cac557e643 SHA512 a555254d6b53d267965a3404ecb14e53c3827c09c3b94b5678835887ab404556bfaf78dcfe03ba76fa2508649dca8531c74bca4d5846513522404d48e8c4ac8b
diff --git a/dev-java/maven-bin/maven-bin-3.9.8.ebuild b/dev-java/maven-bin/maven-bin-3.9.8.ebuild
deleted file mode 100644
index 16060561ede9..000000000000
--- a/dev-java/maven-bin/maven-bin-3.9.8.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2
-
-MY_PN=apache-${PN%%-bin}
-MY_PV=${PV/_alpha/-alpha-}
-MY_P="${MY_PN}-${MY_PV}"
-MY_MV="${PV%%.*}"
-
-DESCRIPTION="Project Management and Comprehension Tool for Java"
-HOMEPAGE="https://maven.apache.org/"
-SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0"
-SLOT="3.9"
-KEYWORDS="amd64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- app-eselect/eselect-java"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-MAVEN="${PN}-${SLOT}"
-MAVEN_SHARE="/usr/share/${MAVEN}"
-
-QA_FLAGS_IGNORED=(
- "${MAVEN_SHARE}/lib/jansi-native/linux32/libjansi.so"
- "${MAVEN_SHARE}/lib/jansi-native/linux64/libjansi.so"
-)
-
-# TODO:
-# We should use jars from packages, instead of what is bundled.
-src_install() {
- dodir "${MAVEN_SHARE}"
-
- cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
-
- java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
- java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
-
- dodoc NOTICE README.txt
-
- dodir /usr/bin
- dosym "${MAVEN_SHARE}/bin/mvn" "${EPREFIX}/usr/bin/mvn-${SLOT}"
-
- # See bug #342901.
- echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
- doenvd "${T}/25${MAVEN}"
-}
-
-pkg_postinst() {
- eselect maven update mvn-${SLOT}
-}
-
-pkg_postrm() {
- eselect maven update
-}
diff --git a/dev-java/metainf-services/Manifest b/dev-java/metainf-services/Manifest
index 9f645d5aee76..69a4f55fe8b4 100644
--- a/dev-java/metainf-services/Manifest
+++ b/dev-java/metainf-services/Manifest
@@ -1 +1,2 @@
+DIST metainf-services-1.11.tar.gz 5364 BLAKE2B 35c02791b4874a4806b9886c5d1d25e68ea0fbbd2e2e34c716e87e5043b56416c00e32e53f31e5ede0a4c9d466a64bb1e882ec9fff1ca0771ac9ae534c666394 SHA512 ccbe31a061c29ce45d1f86efee40675b89d328ad40b717abf28b9b7b62c678b584281b2d99848ff41992c7ff38941e5f9b93aac8e967605e2221d4bd02019490
DIST metainf-services-1.9.tar.gz 5353 BLAKE2B a2d72b886169f6697033c56fa581e4fed9f69236a335397b0480111959e87e1d25ee16b96c6449b37b467aa68f0b4997873346416d8a09e3b14b911ffe37ffd4 SHA512 6d666c2582944e824cc66dd58c09474775e475146af7f8edcb4abce45eff6573481f550d8c37b854addd81825201207be7855b9bbc21f539559395a63e9fa261
diff --git a/dev-java/metainf-services/metainf-services-1.11.ebuild b/dev-java/metainf-services/metainf-services-1.11.ebuild
new file mode 100644
index 000000000000..d03e2e80adf5
--- /dev/null
+++ b/dev-java/metainf-services/metainf-services-1.11.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Generates META-INF/services files automatically"
+HOMEPAGE="https://metainf-services.kohsuke.org/"
+SRC_URI="https://github.com/kohsuke/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 25258df079e6..b7c6f2420178 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -1,8 +1,9 @@
-DIST OpenJDK-jdk_aarch64_linux_hotspot_24_8-ea.tar.gz 212736873 BLAKE2B 19b1e544e8bb70a2377f9aeb85241ed807167795742e96829dccf8fa5e6ea8d8512fd85f781d40e1428f415775b6ab77c4bdbec4e3ad66b05010665e535d2a8e SHA512 5c7daf6d12bb4acc031ce17dc429f4e3bd2e7bb74ca9b8f3ef90598ef69fd017bd3c73589d64d23919344328869465c3551832d2095311f3b6208c2e62fcc4b1
-DIST OpenJDK-jdk_ppc64le_linux_hotspot_24_8-ea.tar.gz 214372109 BLAKE2B 891f3b1a16fa9ea1ec247a9c68d84fabbe67c9052584580626f67d2cd87504f7eaaf008bfbf59b6250c63b348d6b1cb734b75d7aa0ad334f9738b8f624c0d874 SHA512 d9756fcd2e02f4317c6be0c97e163c6d836c07dcf83f272ca97920433f596bbda01beac6c302a425bed3ca0fb628bc919a2e33ebe754b8bd9672787f1be9d255
-DIST OpenJDK-jdk_riscv64_linux_hotspot_24_8-ea.tar.gz 210709698 BLAKE2B a612df8e357a930ae1bc6f54a5f0f0c55f8fec279ce7ea7f52ff45a097badd1a848dbdad5778adf2a13e622c7ff63b6c10b6feb7e3f8de75016eb9bf404f03d4 SHA512 1c4d93def2a92de4e1a1a8f6ab624de542c4fc177b9d66815d50b1cac823ca6295a4a702402ae09b8b9662ea40c56da836d6a962af8a2fbd7bf6576a3036187e
-DIST OpenJDK-jdk_x64_alpine-linux_hotspot_24_8-ea.tar.gz 215051746 BLAKE2B b58ad14f0faa0940621245eeca212ed6112352c9e52833fc5dd2aa740956bce85d69f8d30aa923bc0fe0a0d81ed8dc4d4c9d8cfea5132de03d34d6c40bb7f3c8 SHA512 610a2bc5df2670a214ce39ec426428c3dfca47e5c4c04ed3bfe92fe48ec944324208f4edbb242842508a1964b97bf1085aaadec14d5fe8c4cf7bde57e20d505b
-DIST OpenJDK-jdk_x64_linux_hotspot_24_8-ea.tar.gz 214855714 BLAKE2B 4230cd14375499463872f9c9e879b27ffcff602ca2401634fa0ae1dbfbc9a7aabff67f6f99b7a2e5ce409eabef962775706785268b8bdce8cd3f40dc76042b83 SHA512 55ff9c22d61815e7b4cdf8bdadc75d6ab16c0a6d6a559a71bb11ae9ac3236e4305b9928981d489ca71078e64bb647f8731534d093e1c81249e32d7c168cc9df3
+DIST OpenJDK-jdk_aarch64_alpine-linux_hotspot_24_15-ea.tar.gz 212878116 BLAKE2B 1e5768eb0d900c7234049173dd2f76a9d1bd1661f8c5a2070400bf26fcb3d4550803b7e91b851152375b7344f164e86d6f33a82c28ee2e8bc4497029030c2281 SHA512 c8646b3f727ca48f7950327c621a8625931965b0a0b1ed4c5811a77d8b189f5295060d51ce3d7b3fa5fee714f44e6513d6fad69ae5cdf9fee314f1d8ee7397d8
+DIST OpenJDK-jdk_aarch64_linux_hotspot_24_15-ea.tar.gz 212847823 BLAKE2B b3986bd7038734c713a85177c2c87870b58c82f721a3b7328c80fdaba764589b6561d1b0ce7ca8d67a744b6e5acd15a9f51c206db0e06ab789005d44463cd511 SHA512 ece9e3cd2c88bb5455f67bbc185ff5e17f3b2f00c10ab7206a4062baa7852bf8b43abe6bc71f5eb797e87db25c3f4e199e6fd612c5f77c8ef9f58f167ce468da
+DIST OpenJDK-jdk_ppc64le_linux_hotspot_24_15-ea.tar.gz 214453128 BLAKE2B 4a99153ca3bcdf94ef8d4fc96b66a80307f09626f63fe0f70451208362d4e4ae6759e0769528041d6c5d629057c10dfb3a173eed8f6ee289fadbd52587163e9c SHA512 80ccf9398534d025e42c44d21a9c3dfb389c6b376c96724e6b086b361fdda1e20880e00ad3f74715068ec69add527f9f2ba363759ac9edb25997096316ddd128
+DIST OpenJDK-jdk_riscv64_linux_hotspot_24_15-ea.tar.gz 210831983 BLAKE2B a8603cdc69b8a6608e06dd92d233db8867c633403f976ec62be3bf9d04296e56d89910a38ccae1a130abceedb1122a03eda03f7432abdc2f0f64cc1deeeb72ea SHA512 61e25536620880c5d39df44f740e349ff96075f9208bf6ccde5b4905cddbb0bda793cbcac4875b75e8116a7e443dd28fe9cde2de3d18367a10860a0d5bb55d20
+DIST OpenJDK-jdk_x64_alpine-linux_hotspot_24_15-ea.tar.gz 215189640 BLAKE2B 9eb9f839f7e581ed54647c9a2542c36495b0ba8357422a128e57655ee59518d67f28986889a654a41d50bfc2470e2ef14a91b5aff14c34197c0ee669f1919199 SHA512 3d41bbf1bdef408244eb953463c8f3758700edbd2c348af4cf5f2b854116452d70fffaff4d6cb7195764b6d07a429c0daf125b2761d0069a571fb084eb814bf3
+DIST OpenJDK-jdk_x64_linux_hotspot_24_15-ea.tar.gz 214963834 BLAKE2B 67ef16f4f8471dc307dfa4ad6a1ac6fa4a22d6f643804be928d134202db9196a1cba78bf44cd3bbd872421520c4a96b0df0ee838b9404418cc82e115443e9ffd SHA512 7eb11bc44260e0a6f807593b1c16eff8088c4329ccb9e2a72c5face45383540f59644363c3f9840325eacf23aed7b3ee2a6a4d5998adf92200df0d1912ba2136
DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.24_8.tar.gz 192087968 BLAKE2B 12659ef10cf2728ca5eba2b4eed5f592a5bbff5065f33309498e7a465661957e0e8191bb691a89934a8221e26ae7265f0aca059ba59731b5d9a80e7f6cc55206 SHA512 84dbb810134199cb2f0278ccbcfca2d1abe32bf65bbb399e99c2ea9a027e21c2ace5685adae98930be4a185970640626b5bbbf822d499f815d803fa4485134f7
DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.24_8.tar.gz 182800065 BLAKE2B 50158e8e84637ab841226da590f53ef3d0f18aa2dc4ce5c2fabc2260d864a1de65a3021e380fa9a1af1aec92177c2618790ced8c7f12f449fd7ab4851bf37ac0 SHA512 893ab22f39f102724e7b77b7a06e09b33ee0551b166c0154ce19d4e6abd7e346d0a8314fe2e675e102febf93e001679a1c7c665f6b131c04a453cfbfbabb5003
DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.24_8.tar.gz 177494491 BLAKE2B acc6c4893a57250284b7be0fe98d6ea3b44f42227174050ac3d035ff68e482a61aeb32b38f1404f597c47dc3090fa49aa27401c6903367cc938b1f4041cb714b SHA512 88d8e3eee4af1f3578ee001516fd9a2a71af6317af404e39b64365ac780f89455dbbac1eccf50aa6d09cb879a79da88e720c344cc527d7313d6abfb8b148c3ae
@@ -22,6 +23,12 @@ DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.4_7.tar.gz 207691025 BLAKE2B 5413
DIST OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.4_7.tar.gz 203854772 BLAKE2B acecfba0619cd5856f2e2c835240729f5d70a1f4fc373c99e7dec2aadc701d5779c8b42b804337653d6e8b99089fcd1622f48232a9a36bd25b4e4b7016ce68e6 SHA512 92a12dad45b80ee25b555b26456a592db65e5cf2373984e7102ee0527a923cc1d015fba0a75177f3f0063c5d1843f4999fb6627b506cd506571b9625871dc892
DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.4_7.tar.gz 208015131 BLAKE2B b143b83ff40affffd0be90cc19fec59777a80f783c6a4d9d1161d5205dee9a50f88d89fc21e402a14a1849d2dfefb780935acb47b7366b8fb07a3cd10f9ca65b SHA512 9cf65b7ea2cc4e7a21c5832c3522211c53b55fb6f0d4ec4deecb94744dafbf1412c17508ed1c21cb06b03c5bcf8212a0e5d6f2804663833735a1ac2f77dae7a2
DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.4_7.tar.gz 207789015 BLAKE2B da61c96f082f18bbb64e543b96972d0cf812cbd64ac970a45000506e41f9f54628453d4a24b4090271dc267e21bfe285a04173c106259e67dc72246c43edbe32 SHA512 7675079ac1ed0c0428f806908b21c58549df7fc18043d26c011e063b58772ddb1c1c9648a46ab7d5204d47c2af5d3f08eace30028113d64e09cadc69c4fd0def
+DIST OpenJDK23U-jdk_aarch64_alpine-linux_hotspot_23_37-ea.tar.gz 212329941 BLAKE2B c323d26d43f7d629a45098739e7a3ae32a7391c7246f818dcfb9db3c49ecc1e1a4ef1e60873a76e7dcfcc74e9e6310f4d29ecaf9aa3a1a1863e374e8b23f0d4e SHA512 692b818864b4c3c91e850b77b711d5fc1548f2c75630016689ac33fe25fe8602f89d52b046e3c213f9fdb66215e74dba4422b3e1d24133d991e7563c05dcd4cd
+DIST OpenJDK23U-jdk_aarch64_linux_hotspot_23_37-ea.tar.gz 212322868 BLAKE2B 10b4c3a135ae8e92faf0f1137a502660632f4fda3a85ca4d69fd15c7b380a483adf2d97ba35501fa75550f4afedf0a59531cc72fef558c71fc495aa90f1d09bb SHA512 e66dbccd7e90b2282805a27478f72f3c9e62f1f25be57569a40c2a8b3a99f1cdd1b994ee58b83b20e6ad3a30c218082e845466457fc659cc742d8bfc6594e564
+DIST OpenJDK23U-jdk_ppc64le_linux_hotspot_23_37-ea.tar.gz 213924750 BLAKE2B b6d7158d2fac60a7187edaae129b986ad1977766731c89823ffe222803281adc8980f42dba6c7502403ed39fe0d5e178c858ff252c16bbbd7b05803edc6bf978 SHA512 f05c593681fc5c8048fa5e452a10ecae10aae06ee405c82db99748ecc252d9ec2ef553649765d4c01255f87039209d4dee26c25f9885531327477d95a5b4081c
+DIST OpenJDK23U-jdk_riscv64_linux_hotspot_23_37-ea.tar.gz 210224273 BLAKE2B 027e55a567d75f596d1e53c0cf010d44ad025b03344292169003b09f070a2885be0e8d0df24130d8a6da49ac8617ea17f644ebde0dcbc70c9410d0a01260ab41 SHA512 82bcd987bace91ee57fbbb6ebf92b111ffbc3e524d3a76b9e716ea7469bfa40f5ba26e9a842a7676f1c93b0947296b10240a053039dfe04f01362bfb1f9564af
+DIST OpenJDK23U-jdk_x64_alpine-linux_hotspot_23_37-ea.tar.gz 214601112 BLAKE2B f5413519769574e39cec93228dcdb21d003ecebf9a7b03bf19356bd151809b1e4541174292622d03a829510c5e937be9f21f64315fa3ac7618fac75c003362de SHA512 9894d9bd787b8ba4d5ed70cdf467b0c07bffec28d6d6149733eb7bafe9cef62fcb612fb94d1b90682ae4152c8cab2e403502f874ca9013df0c2c498da33c93e6
+DIST OpenJDK23U-jdk_x64_linux_hotspot_23_37-ea.tar.gz 214424735 BLAKE2B 667c76acff5c9980aeb1e0eb5cc6915961327d51a15c529a9a973c0e75c0eebedb877cec8678cc60d0859f21589b887c1bddd400c36470684eb5509b1ae34f74 SHA512 7dbb7d7dc391323287fb0a010735153b70b42f31755a4dee27de45c7fea170cf692e8cce98e9637dc57bba0bca1aa003e1bc1b896e1e48d3039ecaa87fc85c0f
DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u422b05.tar.gz 102132553 BLAKE2B b59a2d99f9999f86eac2ab15617ee7c58d179a7db2e3606b3296b4bee8bbfaaee2f3cd1f441d90b7462ef9a502f4f351bdb4acc8e723d6b16f208827b813e8a7 SHA512 3856d2e711fd0f93f5efb73ffe5dc115d03dbd0cd015e903b7c2d02b6a3940b10793243edd6a372d7f84306f10c7a41cf13d7b787a33d525f1e86e9975453d06
DIST OpenJDK8U-jdk_arm_linux_hotspot_8u422b05.tar.gz 98342561 BLAKE2B e34d6c959a2100b7c1817ad0fa213331e1cca75229edccf68ed4fcbd3b9bdeb0852dfdf59dac3e9cdae0179af38edc64ff7329af9f44fadcfaa7cf301f8f4e13 SHA512 a667d531b3318e7f75d3d4d9a32248c5c9ae7c1d4bd9bfcbcb5f11418016c1faa179ed748c3eae09c8693885a9401a80de8f3530891883b9f6e9de0b50002ed5
DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u422b05.tar.gz 100533202 BLAKE2B b83b926e5bf0fe45bce9a79489422b96c6ab321227a56d8b3c683a26e5b71cbf9ec80a4dc2706aa4853095a4ee3174591cba8725b9e1b645f4c275137a97abee SHA512 e345de1325f9807d1cc3e4b043d650d655ad8a3672edec304023af54c7dd1d8fea0e671781ed46e6d7459909afedb2458c1b45966b55957389ec62449aec6469
diff --git a/dev-java/openjdk-bin/openjdk-bin-23_p37_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-23_p37_beta.ebuild
new file mode 100644
index 000000000000..2d005d919140
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-23_p37_beta.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin$(ver_cut 1)-binaries/releases/download/jdk-${MY_PV1}/"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK$(ver_cut 1)U-jdk_${1}_${os}_hotspot_${MY_PV2//+/_}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=${PV/_p/+}
+MY_PV1=${MY_PV/_beta/-ea-beta}
+MY_PV2=${MY_PV1/-beta/}
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri aarch64 arm64 musl)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+ $(abi_uri riscv64 riscv)
+"
+S="${WORKDIR}/jdk-${MY_PV%_beta}"
+
+LICENSE="GPL-2-with-classpath-exception"
+# SLOT=$(ver_cut 1)
+SLOT="23"
+# KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="alsa cups headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-bin/openjdk-bin-24_p8_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-24_p15_beta.ebuild
index 72e3e2f5c768..0d6bc9a78d7a 100644
--- a/dev-java/openjdk-bin/openjdk-bin-24_p8_beta.ebuild
+++ b/dev-java/openjdk-bin/openjdk-bin-24_p15_beta.ebuild
@@ -34,6 +34,7 @@ DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
HOMEPAGE="https://adoptium.net"
SRC_URI="
$(abi_uri aarch64 arm64)
+ $(abi_uri aarch64 arm64 musl)
$(abi_uri ppc64le ppc64)
$(abi_uri x64 amd64)
$(abi_uri x64 amd64 musl)
diff --git a/dev-java/openjdk/openjdk-11.0.24_p8.ebuild b/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
index fdf4cbbec3a1..777fecd885e4 100644
--- a/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
+++ b/dev-java/openjdk/openjdk-11.0.24_p8.ebuild
@@ -163,11 +163,6 @@ src_configure() {
export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
fi
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- export DTRACE="${BROOT}"/usr/bin/stap-dtrace
- fi
-
# Work around stack alignment issue, bug #647954.
use x86 && append-flags -mincoming-stack-boundary=2
@@ -233,6 +228,11 @@ src_configure() {
fi
fi
+ # Workaround for bug #938302
+ if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
+ myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
+ fi
+
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
diff --git a/dev-java/openjdk/openjdk-17.0.12_p7.ebuild b/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
index 46a240264a9a..90f9a664d446 100644
--- a/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
+++ b/dev-java/openjdk/openjdk-17.0.12_p7.ebuild
@@ -177,11 +177,6 @@ src_configure() {
export JDK_HOME
fi
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- export DTRACE="${BROOT}"/usr/bin/stap-dtrace
- fi
-
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
@@ -242,6 +237,11 @@ src_configure() {
fi
fi
+ # Workaround for bug #938302
+ if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
+ myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
+ fi
+
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
diff --git a/dev-java/openjdk/openjdk-21.0.4_p7.ebuild b/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
index 2d2f4a5ddf98..bb3ad26ff08a 100644
--- a/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
+++ b/dev-java/openjdk/openjdk-21.0.4_p7.ebuild
@@ -175,11 +175,6 @@ src_configure() {
export JDK_HOME
fi
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- export DTRACE="${BROOT}"/usr/bin/stap-dtrace
- fi
-
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
@@ -246,6 +241,11 @@ src_configure() {
fi
fi
+ # Workaround for bug #938302
+ if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
+ myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
+ fi
+
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
diff --git a/dev-java/swingx/metadata.xml b/dev-java/swingx/metadata.xml
index 6021501589e0..6eb29ba4b9dc 100644
--- a/dev-java/swingx/metadata.xml
+++ b/dev-java/swingx/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arotenberg/swingx</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/swt/Manifest b/dev-java/swt/Manifest
index 166e78f0c03c..c5cc743a6940 100644
--- a/dev-java/swt/Manifest
+++ b/dev-java/swt/Manifest
@@ -15,3 +15,6 @@ DIST swt-4.31-gtk-linux-x86_64.zip 4039479 BLAKE2B 6f7e434acf57cd03dd5e938b1b1c5
DIST swt-4.32-gtk-linux-aarch64.zip 3991281 BLAKE2B 99fece9547e801661bb65f699780eb95cb626efd78e1bd79dec15d5fb63e03805ab6c6f75b98648cfad194d800c11cbe6a3c23250f4c4084072aea2aa4cde10c SHA512 adf5d207ba35bfa43fad2c4c64d72a4b56e8830efa0f817b158ad0bd4508eca9c83c43ebebb843c4fb75cb33835a6490b8b0b2a993bfa3507b62fba50345607a
DIST swt-4.32-gtk-linux-ppc64le.zip 4028301 BLAKE2B 1ed2590ffe01836dc9209b8323db25204c157a829f4af10f20509c30f268c88e89a9e252aebd9a4a0d3337fa20b1a3d76040b768918f7a2f7c8a6313314d14b8 SHA512 713f762fab2d5eea125844912fafdc3eb42bfb76c2caac5612972714e07b66de0e2a71ae29a51c86b2ad76c32761842ad209f8b59c931ea727dc03b2161b40f2
DIST swt-4.32-gtk-linux-x86_64.zip 4011746 BLAKE2B 5d2784f9a18684d539ea576560bb5fecbbf59960cbd8ce901c9b152df087decb2db28ebf9fbf12c710f6dde71583e9002ca0ac85d5ca7a7ce17286ad1666c5c8 SHA512 f4d511595cccf104cda35c6f314e3689508e18e5da85bb2e8bdd408d9b8d4ab3371e851b3b96ba0f835b3ff0a079c4ed887661e586ab0ce06a52abf69ba243be
+DIST swt-4.33-gtk-linux-aarch64.zip 3929090 BLAKE2B 60cc67c7b197cb31c68622c2d78090a50b4d3eca9c8c5f919b230ebed8f65a588c941f32e89ed0126d5bb5558b664a61661535b158bc7b26928556768f83fb5c SHA512 5a01ffd19c62de4fc1d0df4dae7c93ba8235af7e00713f49cf9cb591843f891bb8151a33dd51bca45c31b068edf65b59a1826cec1a1f3b9d14366d30e7efd430
+DIST swt-4.33-gtk-linux-ppc64le.zip 3966353 BLAKE2B 0ab4a75ac1efdedfcacdd235f45b1b0de04ab762cf64957ca1761e2f6a7e1571e106b26ab08b9ecd600ddf89f2abcd151dcd236c303bfe7d8cfabbce2910b2b4 SHA512 8f54cce4e5ac9e0043c8e3861aeed193f919b7bc4291f5812a568fcf4206cf4875d14d9cd7836235414cbde6a837fe38a2a6380c7d50ca04d3aa366dab733d81
+DIST swt-4.33-gtk-linux-x86_64.zip 3950557 BLAKE2B 6cf4f48e32bcfa40082c08a78dd8d64e9454db3859533696c7cc7cd37639ac7df980d9cfd13abaa80e95e44ad619b96944387363d2fb93d7de34f5f25052bd54 SHA512 3211a5480b886c542f99e29b715b5b1221ba679b572f1de6ca68bdb7b06eec6863c68fbddb9b70d74f13e501c3d76a220c7c8b466031b6c0a25bba5c011f8a63
diff --git a/dev-java/swt/metadata.xml b/dev-java/swt/metadata.xml
index c06386289922..2a7f473b5a30 100644
--- a/dev-java/swt/metadata.xml
+++ b/dev-java/swt/metadata.xml
@@ -12,7 +12,7 @@
</longdescription>
<upstream>
<bugs-to>https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform%38component=SWT</bugs-to>
- <doc>https://wiki.eclipse.org/SWT</doc>
+ <doc>https://wiki.eclipse.org/SWT/</doc>
<remote-id type="github">eclipse-platform/eclipse.platform.swt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/swt/swt-4.29-r1.ebuild b/dev-java/swt/swt-4.29-r1.ebuild
index 6dbc30c768f9..140b2c69263a 100644
--- a/dev-java/swt/swt-4.29-r1.ebuild
+++ b/dev-java/swt/swt-4.29-r1.ebuild
@@ -8,7 +8,7 @@ JAVA_PKG_IUSE="doc source"
inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
MY_PV="${PV/_rc/RC}"
-MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202309031000"
+MY_DMF="https://archive.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202309031000"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GTK based SWT Library"
diff --git a/dev-java/swt/swt-4.30-r2.ebuild b/dev-java/swt/swt-4.30-r2.ebuild
index 61d849831270..3f0934da1e12 100644
--- a/dev-java/swt/swt-4.30-r2.ebuild
+++ b/dev-java/swt/swt-4.30-r2.ebuild
@@ -8,7 +8,7 @@ JAVA_PKG_IUSE="doc source"
inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
MY_PV="${PV/_rc/RC}"
-MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202312010110"
+MY_DMF="https://archive.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202312010110"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GTK based SWT Library"
diff --git a/dev-java/swt/swt-4.33.ebuild b/dev-java/swt/swt-4.33.ebuild
new file mode 100644
index 000000000000..444346927d00
--- /dev/null
+++ b/dev-java/swt/swt-4.33.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
+
+MY_PV="${PV/_rc/RC}"
+MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202409030240"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="https://www.eclipse.org/swt/"
+SRC_URI="
+ amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
+ arm64? ( ${MY_DMF}/${MY_P}-gtk-linux-aarch64.zip )
+ ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
+S="${WORKDIR}/library"
+
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+SLOT="4.33"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="cairo opengl webkit"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+COMMON_DEP="
+ app-accessibility/at-spi2-core:2
+ dev-libs/glib
+ x11-libs/gtk+:3
+ x11-libs/libXtst
+ cairo? ( x11-libs/cairo )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ webkit? (
+ net-libs/webkit-gtk:4.1
+ )"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-17:*[-headless-awt]
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst"
+# error: pattern matching in instanceof is not supported in -source 11
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-17:*
+ x11-libs/libX11"
+
+HTML_DOCS=( ../about.html )
+
+JAVA_RESOURCE_DIRS="../resources"
+JAVA_SRC_DIR="../src"
+
+PATCHES=(
+ "${FILESDIR}/swt-4.27-as-needed-and-flag-fixes.patch"
+)
+
+src_unpack() {
+ default
+ unpack "./src.zip"
+}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ # .css stuff is essential at least for running net-p2p/biglybt
+ unzip ../swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d resources || die
+ java-pkg_clean
+ cd .. || die
+ mkdir resources src || die "mkdir failed"
+ find org -type f -name '*.java' \
+ | xargs \
+ cp --parent -t src -v \
+ || die "copying resources failed"
+ find org -type f ! -name '*.java' \
+ | xargs \
+ cp --parent -t resources -v \
+ || die "copying resources failed"
+ cp version.txt resources || die "adding version.txt failed"
+}
+
+src_compile() {
+ append-cflags -fcommon # https://bugs.gentoo.org/707838
+
+ local JAWTSO="libjawt.so"
+ IFS=":" read -r -a ldpaths <<< $(java-config -g LDPATH)
+
+ for libpath in "${ldpaths[@]}"; do
+ if [[ -f "${libpath}/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}"
+ break
+ # this is a workaround for broken LDPATH in <=openjdk-8.292_p10 and <=dev-java/openjdk-bin-8.292_p10
+ elif [[ -f "${libpath}/$(tc-arch)/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}/$(tc-arch)"
+ break
+ fi
+ done
+
+ if [[ -z "${AWT_LIB_PATH}" ]]; then
+ eerror "${JAWTSO} not found in the JDK being used for compilation!"
+ die "cannot build AWT library"
+ fi
+
+ # Fix the pointer size for AMD64
+ export SWT_PTR_CFLAGS=-DJNI64
+
+ # Bug #461784, g_thread_init is deprecated since glib-2.32.
+ append-cflags -DNO__1g_1thread_1init
+
+ local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
+
+ einfo "Building AWT library"
+ export SWT_JAVA_HOME="$(java-config -g JAVA_HOME)"
+ ${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`"
+
+ einfo "Building SWT library"
+ ${make} make_swt
+
+ einfo "Building JAVA-AT-SPI bridge"
+ ${make} make_atk
+
+ if use cairo ; then
+ einfo "Building CAIRO support"
+ ${make} make_cairo
+ fi
+
+ if use opengl ; then
+ einfo "Building OpenGL component"
+ ${make} make_glx
+ fi
+
+ if use webkit ; then
+ einfo "Building WebKit component"
+ ${make} make_webkit
+ fi
+
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_sointo "/usr/$(get_libdir)/swt"
+ java-pkg_doso *.so
+}
diff --git a/dev-lang/elixir/elixir-1.17.2.ebuild b/dev-lang/elixir/elixir-1.17.2.ebuild
index 46bdb92ad285..e327ad430656 100644
--- a/dev-lang/elixir/elixir-1.17.2.ebuild
+++ b/dev-lang/elixir/elixir-1.17.2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~riscv ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 76a2910ce921..0467c2ea4c27 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,7 +1,6 @@
DIST gcc-10-2021-20210519-19A74-src.tar.gz 109157702 BLAKE2B 8ec307e4fde35c8726bc7b9702717329695bad928d5222a7bb691cce47500de31a60bcfcbb925129a57cb81d3d7ea92e60599aa7383d5358e63cc087b0482550 SHA512 2e2cc0ec9a3a82816a5d399d2db261c356e106b82a44efd54a1ac882b96549ab8de79c69858127c4397de6e9e9463ce6fb9994fc2e426e7d3d2f98d5efa2edb6
DIST gcc-10.3.0-patches-4.tar.xz 18460 BLAKE2B 7c4b91c3beebc5fd91c0fdbeec6512c141bd78759a02aa7fff32dd30025ef41db1d57280e50db575f46cc0061a480ced9259410e9875b1dc0048886df469c4c9 SHA512 3befbcdec84e583966aad37d1a08c1863f39eb877296c5991348db9d37cc8359197f23cb3b8fa1b0f4d01497dfd2ebaa393e1a459267c19a0976fb535e463ec8
DIST gcc-interface-10-2021-20210519-19A75-src.tar.gz 359085 BLAKE2B 75f941a7635f2880cc0192acb49d8e7f567baca7530fb981be14dc6cb1bf46fda0e3c043c8703cdbeeb242b548894e0bc6787adfff0f27198354d150e6e36386 SHA512 0251a93d20c59cc4705963438880fe265e2e0bb94a35b7ddaaf03e9efae60e044e585a2204d0773a46f17b3b774e4d0c73adf852f5d06ba17373d26ed580ca8d
-DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild
index 547c25989494..002368b2c0c0 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild
@@ -7,7 +7,6 @@ PATCH_GCC_VER=10.3.0
PATCH_VER="4"
TOOLCHAIN_GCC_PV=10.3.1
-PYTHON_COMPAT=( python3_{10..12} )
REL=10
MYP=gcc-${REL}-${PV}-20210519-19A74-src
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index ef7cbff076ec..103d65c828ba 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,4 +1,3 @@
DIST go1.22.6.src.tar.gz 27561569 BLAKE2B 55ce88dc2039d68f14aea0792ed6a1b45c8e262aa73f76f852941aed12019318b3be7938c954fb7c03d7583f930f7a0e5164effc1ec10fc6d0fc282484390e49 SHA512 59f84ba390203271d9fe2d3f04624449d54d3bb73c2b6e54b5f7dc9e9e2dce2192bae07ef56a2afee871cff84d457b90f8a00f4433e072028b97af987f3799e1
DIST go1.22.7.src.tar.gz 27562038 BLAKE2B c4dd868ac6966029fd72e61d9c82ac26162f4eb26f77a3a6a7e8bc609223069c004786066ca66f24f4d595de1da4f4ee18b368f80ac94e832c8bd9edde407094 SHA512 60b37916e31c3482e8395580a29757971df5e1783dc13a9914261007e07aa8b1b9c1a0b874883e297903e16c7831117b8f814aeff0a0d4398948c97c9d73b73a
-DIST go1.23.0.src.tar.gz 28163301 BLAKE2B 49e382dae5195e4a6544f9bd96b169a4c7a822544c7db07c69566063d3f6c21dbbac9991e7da1a0b946ee59ac8f65589b47edbb9856fed93d37e2bac18f61644 SHA512 5822124ca570662ac8dcec32a79196520ce355fe421d83372f8b8a97b3811de0739edcd7080a23f845cf700a6a26f3af6c93278f6ce485b93120afdd4f6c4f47
DIST go1.23.1.src.tar.gz 28164249 BLAKE2B cabe5c50f2f674b53114e5bd692b6482143cda42fc36076b37b4644be0769c8325fe400d1646478d360697a3fba5f6e086b181eb68dfecbc325675be0af2f5ee SHA512 c1db053bab03c33b4ec4cbef6c8dfae279542cde433fdb787b564ccf797bb9ac6d191aae3152a860a9539956502f31003f746e924287040849afce5ccaaf0988
diff --git a/dev-lang/go/go-1.23.0.ebuild b/dev-lang/go/go-1.23.0.ebuild
deleted file mode 100644
index 56fac09b0188..000000000000
--- a/dev-lang/go/go-1.23.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-
-# See "Bootstrap" in release notes
-GO_BOOTSTRAP_MIN=1.20.14
-MY_PV=${PV/_/}
-
-inherit go-env toolchain-funcs
-
-case ${PV} in
-*9999*)
- EGIT_REPO_URI="https://github.com/golang/go.git"
- inherit git-r3
- ;;
-*)
- SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
- S="${WORKDIR}"/go
- case ${PV} in
- *_beta*|*_rc*) ;;
- *)
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- ;;
- esac
-esac
-
-DESCRIPTION="A concurrent garbage collected and typesafe programming language"
-HOMEPAGE="https://go.dev"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-IUSE="cpu_flags_x86_sse2"
-
-RDEPEND="
-arm? ( sys-devel/binutils[gold] )
-arm64? ( sys-devel/binutils[gold] )"
-BDEPEND="|| (
- >=dev-lang/go-${GO_BOOTSTRAP_MIN}
- >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
-
-# the *.syso files have writable/executable stacks
-QA_EXECSTACK='*.syso'
-
-# Do not complain about CFLAGS, etc, since Go doesn't use them.
-QA_FLAGS_IGNORED='.*'
-
-# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
-QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
-
-# This package triggers "unrecognized elf file(s)" notices on riscv.
-# https://bugs.gentoo.org/794046
-QA_PREBUILT='.*'
-
-# Do not strip this package. Stripping is unsupported upstream and may
-# fail.
-RESTRICT=" strip"
-
-DOCS=(
- CONTRIBUTING.md
- PATENTS
- README.md
- SECURITY.md
-)
-
-go_tuple() {
- echo "$(go-env_goos $@)_$(go-env_goarch $@)"
-}
-
-go_cross_compile() {
- [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
-}
-
-PATCHES=(
- "${FILESDIR}"/go-never-download-newer-toolchains.patch
-)
-
-src_compile() {
- if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then
- export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
- elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then
- export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
- else
- eerror "Go cannot be built without go or go-bootstrap installed"
- die "Should not be here, please report a bug"
- fi
-
- # Go's build script does not use BUILD/HOST/TARGET consistently. :(
- export GOHOSTARCH=$(go-env_goarch ${CBUILD})
- export GOHOSTOS=$(go-env_goos ${CBUILD})
- export CC=$(tc-getBUILD_CC)
-
- export GOARCH=$(go-env_goarch)
- export GOOS=$(go-env_goos)
- export CC_FOR_TARGET=$(tc-getCC)
- export CXX_FOR_TARGET=$(tc-getCXX)
- use arm && export GOARM=$(go-env_goarm)
- use x86 && export GO386=$(go-env_go386)
-
- cd src
- bash -x ./make.bash || die "build failed"
-}
-
-src_test() {
- go_cross_compile && return 0
-
- cd src
-
- # https://github.com/golang/go/issues/42005
- rm cmd/link/internal/ld/fallocate_test.go || die
-
- PATH="${GOBIN}:${PATH}" \
- ./run.bash -no-rebuild -k || die "tests failed"
- cd ..
- rm -fr pkg/*_race || die
- rm -fr pkg/obj/go-build || die
-}
-
-src_install() {
- dodir /usr/lib/go
- # The use of cp is deliberate in order to retain permissions
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
- einstalldocs
-
- insinto /usr/lib/go
- doins go.env VERSION*
-
- # testdata directories are not needed on the installed system
- rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
-
- local bin_path
- if go_cross_compile; then
- bin_path="bin/$(go_tuple)"
- else
- bin_path=bin
- fi
- local f x
- for x in ${bin_path}/*; do
- f=${x##*/}
- dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
- done
-
- # install the @golang-rebuild set for Portage
- insinto /usr/share/portage/config/sets
- newins "${FILESDIR}"/go-sets.conf go.conf
-}
-
-pkg_postinst() {
- [[ -z ${REPLACING_VERSIONS} ]] && return
- elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
- elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
- elog "due to the static linking nature of go."
- elog "If this is not done, the packages compiled with the older"
- elog "version of the compiler will not be updated until they are"
- elog "updated individually, which could mean they will have"
- elog "vulnerabilities."
- elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
- elog "See https://bugs.gentoo.org/752153 for more info"
-}
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index b16e86ae904f..485f2a1bde8d 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -23,7 +23,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+# KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
;;
esac
esac
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 1450f8797ac1..724ada4397c1 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -33,7 +33,9 @@ DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38cc
DIST python-gentoo-patches-3.10.14_p2.tar.xz 19564 BLAKE2B 2ad1398e0679e73028a0614e8c4ef6bc76928f6c1d0e93c39c3bf2c23201904ee677377abb120444995154bda4251cb8f0aabafca5e6c82601a6270d0e62bf67 SHA512 6d4194b85a176a1a0f7acc3eab48829d504e66381f3008821a9a433e63f5188b444321192ad536d8219a1c3ca56dbdb5c39439401cbbb30f35a606e2b6617624
DIST python-gentoo-patches-3.10.14_p3.tar.xz 22080 BLAKE2B f45ebe4df3dc39a842c93d741ef66fd0f9f7d1c6453d499d59b62eda41f01bc17e109205fedc506963d1f21eb3fbf9478564ff5e1a11c10336f855069a642ceb SHA512 db268f1482e5c46a71ce3aef2c2ab6d458cc5263aec360e61c6aff97f119f4f100becefbb575156b1b0239e591a496cb62a136597fadae8a5b630c7233c0040a
DIST python-gentoo-patches-3.10.15.tar.xz 15896 BLAKE2B f908b409dbcedeb4e2fa7255d9dedfb8f86f39b9b12612d45662d2305012692753874befa5377e1bcb2e8fc04b54bf206948e12eb7bc357a764c1b1e496e5997 SHA512 a647882ede8d7b97e301e472e91f4573dce9f8bf4e408449444625fdf79859a54fd828daa60c7960721f34c3d6d82e2e45db2c55f2fc093097a0db42f7363b8c
+DIST python-gentoo-patches-3.10.15_p1.tar.xz 24048 BLAKE2B 191c28ad9bc781d6f3077870e8d40ff98a47a64009ecfbbd10fe2b3c5330692181837fd3e9b336fd01f936a39160fc12761b2ef9bc00843248ab978cda2e2767 SHA512 4461e351c991694415e2812e558d6c3d3f79295358623dc955bc0839691a170d95a3efd31c0bf9f0d6191e4184d7b55fdb485b948d591782fef5b060d7660cce
DIST python-gentoo-patches-3.11.10.tar.xz 8484 BLAKE2B 844aa7a855e3ab5a6307c6bfac9d58faad249ce550d21e8526125dc56b9665dc6fa00530a60efe8f851397d368057400851906e59fec10f6325bd83a51e39317 SHA512 bb602b80eed62ca8477b05665267ec3729fd9a85d9b709f844ad729f496d008a529d05d2ebfe8acb5db5ccb99005260bfe458f6ce0d9d358530670e0970e415e
+DIST python-gentoo-patches-3.11.10_p1.tar.xz 10592 BLAKE2B 1cc02d22b55cb76beba133c37e6db3b9ba12b11cd8776acb064f14431842405cbc9efb5a06319cff1c73d9178ddbbe2e340829d4628c88a9589aa2fc1d308f80 SHA512 7ddb08e4d8a9173a26fa18de687a4c85c3d460e2bc595da6f4b15cfe3be264ccdc7d61d5fed1e7a82f256d21caf3ea7de87f774fde61a9d37bed15f86f546adb
DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997
DIST python-gentoo-patches-3.11.9_p1.tar.xz 12348 BLAKE2B 885c18eb52d299c8da43fe48106a2464ce594822e8ed362150c98f749065447b7438741cacf82a71db102434a5b2a2e91778aca8609fd7ede7898f9e57a82d49 SHA512 2ed8a97692a8980e565038ad095dad8ed3daf1f8c5c5e042a0bc278c320e099962ad13b5ff919ae334674a4828c5e8f3b9c3af6b3c37e93a42374284f5ea2243
DIST python-gentoo-patches-3.11.9_p2.tar.xz 14916 BLAKE2B a910eae412fc1ce3657272c3c2ea9ef95b8d5711ed4c85b93a35f4ab757b1134bff0f8c8a0071e8e06aac784d0b51e36cd9271f892098cba272da4a4e73317d1 SHA512 5c055186b3a8376f4f602ec5d1f8e7bf0f067bc67295c1cdaa68ce1fb6fb21cda75e22705b8a5a2a6525af67f3b36a82fde5ba6ae9b097a5914ab79a2f1a0fad
@@ -42,14 +44,18 @@ DIST python-gentoo-patches-3.12.4_p3.tar.xz 14796 BLAKE2B 68f5235ef434f9db16e7bc
DIST python-gentoo-patches-3.12.5.tar.xz 6056 BLAKE2B d9b85d98a75f6365c63ddabb8f25db3be11e7e4de22ec9426bb24160efcca25c75e3e19beec9fc2f8f8fe273c145f825c6f27ece2fca83d44cf2dbdfacae918d SHA512 72949ae8a1c796cb57e8b43d259037a723482b5a3849823c1cdc58acc012177a0ec836a4dd6ad656fe57ee1d84491c03ed9109667a953aa52bf5df7640de969f
DIST python-gentoo-patches-3.12.5_p1.tar.xz 8632 BLAKE2B 13570bb465002cea3590b06d055b936ac0fcc68f6f258aca99a67f02f0b1cd28396424b686c5e080f593a74a744ff449e7220f51f167a858b2313be4c8b64b19 SHA512 eb9fb2d48236a9f7941fb8938310cc32d216eb01e19277175223b8b1fe1bfd606bde9a3c8bc66ad2e494fb87ce23b0d1acd359c375e4a11a5caae25450c11360
DIST python-gentoo-patches-3.12.6.tar.xz 6048 BLAKE2B 577032d7aa4bab423781bffad8e64f56b492dc31fbd20acd91f3d28356bd697603dfd47a3a9051538dde2af942ae513727ecea415d82f5082a992bd22b8cb2dd SHA512 6f1037e97bb362a3d04c3ec080dc062c5de6e4b779cda0d88f684422d757acd6fc6f971c7004a3f50bbc0161dd28c3146672f74e0e598066f9a8ba4e0eb2627e
+DIST python-gentoo-patches-3.12.6_p2.tar.xz 8144 BLAKE2B 2f36ce972e0b3e2884c9df629e3aeb1af05e4c77dffb866ff28e08a0a7df3c7cf36a9de250d148d909c07fd5bad483c95b3267818657c04e7d0d6fe512e21f9a SHA512 caa86c6cf693f9293b3aa8944452d117b78c1c3f8d6a6aa658cb5c2d2ffb0cecc6cf14b293872bd2101766ee7167ba88183904b2814090f8cbc64c1fa3b771be
DIST python-gentoo-patches-3.13.0rc1_p2.tar.xz 12748 BLAKE2B 851d16e16d2a98fde62c38054d9bedf3538d88a59e19dcfd8ee7d86f3f67a3b66105664da9181dbfb9ad16aa0042815ccf469225348fb0ba8854337b0a736d33 SHA512 8264aa65bf71e97a4afe47a9fba58815163bc950ea70ff708c5f265722c5b4b8af19fbbe8a9c3673957a6de3af8307a9ba0ed9f4e42472ca24c5ed930682a038
DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc
DIST python-gentoo-patches-3.13.0rc2.tar.xz 5696 BLAKE2B 4e716d1d6225e811b598d029ef1dbdc413df614ef00ab8051ea697e633477a0114a3660cae037bdf4142f76c9f2efdefc25b604af11c31eb77d6d98d8f932cff SHA512 c20b53772bd7d305562657722aec70de78fffbf8ab7939f59d496e06c21b31fcd7b4a92573b1000d3bee4d90fd8b7422543f9cfdad15d60bc9a7ecf2a2259599
+DIST python-gentoo-patches-3.13.0rc2_p1.tar.xz 7360 BLAKE2B be41dfc96c333ca19a4a21f0931287503094676d1eba1e9e5ae86bf07be571fb7ddaf75eab87dc2ce9364ea1861ca5307ae1b8cdbe2c6f9a1a0e351f42f0fb97 SHA512 38b8b5f5ec21d3cf02a4db43929f4dd870200bde655b9b3acd0f398ed0468f9e43996821510cebb5e01b5633afc7e6fc254b0c80062bb577a044d85e25d28ff2
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
DIST python-gentoo-patches-3.8.19_p3.tar.xz 39392 BLAKE2B 451765c7546831c35f52e2772b8b43b6515f66cace2d13ed473228bf2d2b18f49b938a61d4cdf1be0fecbebfac1fc8d3d95f7597eb9d877c0b2ce495e8d419c1 SHA512 76e405ddfd3ee98dbd077f6ec83ae93d0506ddbc3b2b8884a0f38c6269ea982b635b0eb7820f6f9b2f81eb0ef514b93a5eb10437414cde4de2bfb7ea37764b3c
DIST python-gentoo-patches-3.8.19_p4.tar.xz 41888 BLAKE2B 8f5fcf8b6d925c9f668a1f8ac22d4b8c2ff7b4d90103606afc37eef735d5ed0fe7288469fb18e08bc31165c16c9877977610e5a6af9e385518028baed34fde2f SHA512 4440725419af3bc5c4f1719dd39605df28e2bca625c3a822082e4541db9479dc6fcf8c2d6fc777292b75f70669ab7e010df105b2b580865a442df76c0f83ebbc
DIST python-gentoo-patches-3.8.20.tar.xz 34380 BLAKE2B 1fea8e65f7db809a716376a3062a730321f68e711837c400fecffc27273754bb9aef3ed98651bce412596d35674f0b0813f7a722c1e2fe22954922c17846de37 SHA512 3070a0b3cb91129ffcada6052e50d779ea6b5480a3b4edc3e3f1c9d3b683ec1866168255db84b86f0a4dedb4a23949cda8f474d320db34d7511e9ede9a0342d9
+DIST python-gentoo-patches-3.8.20_p2.tar.xz 42296 BLAKE2B c0f2c4d0adcb6c10eb68342b911016666cb68308717a5ca1369100a39229ce16c6e9dfdf9e1b4cffe0191d03ca5ee7d9568cd24885fd0f4f32f14e2e8c0a96a3 SHA512 cb9e98c0dd823b6e4f8a60e9095ab58e596cd9411b675678a0d4adefc92b37e14cecc7cecb82e287ac34a9ce1d4595f261b0736bcc9fc62c43c7d8c0b3be70e7
DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2
DIST python-gentoo-patches-3.9.19_p4.tar.xz 32048 BLAKE2B 9595d508304baf36a2c8daa2ae15d3596fdfb5fed5c531fc379ee347d5b165885ade1842f094184fb7bd81a6385e45f9b77ba7bfa4334ea30292c0bc59b373e2 SHA512 5713c69ee3745246a570e0f05ac8f45baa8f9fa8a2154c930f1ddcf827a2a790cb5e308f5ff9452d3ffda5d60c167a02429af773eebf13dcb6463793cd448500
DIST python-gentoo-patches-3.9.19_p5.tar.xz 34548 BLAKE2B 6ad49bba626932b3ba1b781fe5762882aa90b552bedc0f1b8fe0921c7e4ad1bd67ddbc2c11c969fae53fd2b6189dd1b1506da87c123c055ec3df023950bd1938 SHA512 d66a2d6012d98edde4a9eb52cd8a06f0338a25f44e299713abd970884c7b1d457c6a09a1e27035841eae3a4844bbec1b4d2a4b691bbf519867a6ed58f251e633
DIST python-gentoo-patches-3.9.20.tar.xz 26992 BLAKE2B d77861cb99c5b0f76482c7250d45ab0726e9745929a2098724ba528034b7787e12be2505c3d2479f3b5e1760b8e4046d89ad6d5e4af200c4116c348c663792ba SHA512 132f1d731b671fbddf89a3af49c6887f3f8414f0f0df6769f243eab056e214ef3b2427075de10384cc4f6df2fd3140fb6321ad3e271539da9cb6846ba26e935e
+DIST python-gentoo-patches-3.9.20_p1.tar.xz 34944 BLAKE2B 332454661adc03033c7e8a5fcc91081b7d405826e9bf89bb2c2e178a0795e4415c9e87ae923756470ee973441f242e194b397354964b8f43dadd4965d210a4f4 SHA512 19bf7227535526a733633723b75d49786dfd8738595c1115b4e05665bc13a1ea70cbf0cc62cb27e81c75f5db2aa56ab985eaa5abde6243697caccb2cb5288005
diff --git a/dev-lang/python/python-3.10.15_p1.ebuild b/dev-lang/python/python-3.10.15_p1.ebuild
new file mode 100644
index 000000000000..38ab05f3ee55
--- /dev/null
+++ b/dev-lang/python/python-3.10.15_p1.ebuild
@@ -0,0 +1,592 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
+inherit prefix python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm libedit
+ +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ valgrind? ( dev-debug/valgrind )
+ test? ( app-arch/xz-utils )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ rm -r Modules/expat || die
+ rm -r Modules/_ctypes/libffi* || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # https://bugs.gentoo.org/850151
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs)
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910 and bug #864911.
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross.
+ --without-lto
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+ # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross.
+ PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Avoid as many dependencies as possible for the cross build.
+ cat >> Makefile <<-EOF || die
+ MODULE_NIS=disabled
+ MODULE__DBM=disabled
+ MODULE__GDBM=disabled
+ MODULE__DBM=disabled
+ MODULE__SQLITE3=disabled
+ MODULE__HASHLIB=disabled
+ MODULE__SSL=disabled
+ MODULE__CURSES=disabled
+ MODULE__CURSES_PANEL=disabled
+ MODULE_READLINE=disabled
+ MODULE__TKINTER=disabled
+ MODULE_PYEXPAT=disabled
+ MODULE_ZLIB=disabled
+ EOF
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the Python it was pointed to
+ # immediately.
+ PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+ local disable
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ -x test_gdb
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_concurrent_futures
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-ffi
+ --with-system-libmpdec
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ hprefixify setup.py
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" TEST_MODULES=no altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.11.10_p1.ebuild b/dev-lang/python/python-3.11.10_p1.ebuild
new file mode 100644
index 000000000000..388638fd7de9
--- /dev/null
+++ b/dev-lang/python/python-3.11.10_p1.ebuild
@@ -0,0 +1,624 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
+inherit prefix python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm libedit
+ +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ rm -r Modules/expat || die
+ rm -r Modules/_ctypes/libffi* || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # https://bugs.gentoo.org/850151
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs)
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+ # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross.
+ PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Avoid as many dependencies as possible for the cross build.
+ cat >> Makefile <<-EOF || die
+ MODULE_NIS_STATE=disabled
+ MODULE__DBM_STATE=disabled
+ MODULE__GDBM_STATE=disabled
+ MODULE__DBM_STATE=disabled
+ MODULE__SQLITE3_STATE=disabled
+ MODULE__HASHLIB_STATE=disabled
+ MODULE__SSL_STATE=disabled
+ MODULE__CURSES_STATE=disabled
+ MODULE__CURSES_PANEL_STATE=disabled
+ MODULE_READLINE_STATE=disabled
+ MODULE__TKINTER_STATE=disabled
+ MODULE_PYEXPAT_STATE=disabled
+ MODULE_ZLIB_STATE=disabled
+ EOF
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ # this is actually test_gdb.test_pretty_print
+ -x test_pretty_print
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_concurrent_futures
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-ffi
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ hprefixify setup.py
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # force-disable modules we don't want built
+ local disable_modules=( NIS )
+ use gdbm || disable_modules+=( _GDBM _DBM )
+ use sqlite || disable_modules+=( _SQLITE3 )
+ use ssl || disable_modules+=( _HASHLIB _SSL )
+ use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
+ use readline || disable_modules+=( READLINE )
+ use tk || disable_modules+=( _TKINTER )
+
+ local mod
+ for mod in "${disable_modules[@]}"; do
+ echo "MODULE_${mod}_STATE=disabled"
+ done >> Makefile || die
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
+
+pkg_postinst() {
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3.11.0_beta4-r2; then
+ ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
+ ewarn "installed previously are no longer valid and will be regenerated"
+ ewarn "(or ignored) on the next import. This may cause sandbox failures"
+ ewarn "when installing some packages and checksum mismatches when removing"
+ ewarn "old versions. To actively prevent this, rebuild all packages"
+ ewarn "installing Python 3.11 modules, e.g. using:"
+ ewarn
+ ewarn " emerge -1v /usr/lib/python3.11/site-packages"
+ fi
+ done
+}
diff --git a/dev-lang/python/python-3.12.6_p2.ebuild b/dev-lang/python/python-3.12.6_p2.ebuild
new file mode 100644
index 000000000000..8dce4fb2a254
--- /dev/null
+++ b/dev-lang/python/python-3.12.6_p2.ebuild
@@ -0,0 +1,609 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
+inherit python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm libedit
+ +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-pip )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? (
+ app-arch/xz-utils
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ # TODO: Makefile has annoying deps on expat headers
+ #rm -r Modules/expat || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
+
+ # breaks tests when using --with-wheel-pkg-dir
+ rm -r Lib/test/wheeldata || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+
+ # Avoid as many dependencies as possible for the cross build.
+ mkdir Modules || die
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ _dbm _gdbm
+ _sqlite3
+ _hashlib _ssl
+ _curses _curses_panel
+ readline
+ _tkinter
+ pyexpat
+ zlib
+ # We disabled these for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
+ # and uncommented if needed.
+ #_ctypes _crypt
+ EOF
+
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ # this is actually test_gdb.test_pretty_print
+ -x test_pretty_print
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_concurrent_futures
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ # Force-disable modules we don't want built.
+ # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ $(usev !gdbm '_gdbm _dbm')
+ $(usev !sqlite '_sqlite3')
+ $(usev !ssl '_hashlib _ssl')
+ $(usev !ncurses '_curses _curses_panel')
+ $(usev !readline 'readline')
+ $(usev !tk '_tkinter')
+ EOF
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # the Makefile rules are broken
+ # https://github.com/python/cpython/issues/100221
+ mkdir -p "${libdir}"/lib-dynload || die
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.13.0_rc2.ebuild b/dev-lang/python/python-3.13.0_rc2.ebuild
index d9dbd33759ab..7e681c4cc38e 100644
--- a/dev-lang/python/python-3.13.0_rc2.ebuild
+++ b/dev-lang/python/python-3.13.0_rc2.ebuild
@@ -243,13 +243,8 @@ src_configure() {
# Set baseline test skip flags.
COMMON_TEST_SKIPS=(
- # failures
- -x test_concurrent_futures
- -x test_gdb
- # flaky: https://github.com/python/cpython/issues/121973
- -x test_pyrepl
- # flaky: https://github.com/python/cpython/issues/122136 (bug #936314)
- -x test_asyncio
+ # this is actually test_gdb.test_pretty_print
+ -x test_pretty_print
)
# Arch-specific skips. See #931888 for a collection of these.
diff --git a/dev-lang/python/python-3.13.0_rc2_p1.ebuild b/dev-lang/python/python-3.13.0_rc2_p1.ebuild
new file mode 100644
index 000000000000..7e681c4cc38e
--- /dev/null
+++ b/dev-lang/python/python-3.13.0_rc2_p1.ebuild
@@ -0,0 +1,643 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LLVM_COMPAT=( 18 )
+LLVM_OPTIONAL=1
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing
+inherit pax-utils python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build +debug +ensurepip examples gdbm +gil jit
+ libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-pip )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? (
+ app-arch/xz-utils
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ jit? (
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+
+ if ! use gil || use jit; then
+ ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using"
+ ewarn "them could lead to unexpected breakage, including race conditions"
+ ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
+ ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead,"
+ ewarn "please consider reporting freethreading / JIT problems upstream."
+ fi
+}
+
+pkg_setup() {
+ use jit && llvm-r1_pkg_setup
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ # TODO: Makefile has annoying deps on expat headers
+ #rm -r Modules/expat || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
+
+ # breaks tests when using --with-wheel-pkg-dir
+ rm -r Lib/test/wheeldata || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+
+ # Avoid as many dependencies as possible for the cross build.
+ mkdir Modules || die
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ _dbm _gdbm
+ _sqlite3
+ _hashlib _ssl
+ _curses _curses_panel
+ readline
+ _tkinter
+ pyexpat
+ zlib
+ # We disabled these for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
+ # and uncommented if needed.
+ #_ctypes
+ EOF
+
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ # this is actually test_gdb.test_pretty_print
+ -x test_pretty_print
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ --verbose3
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+
+ # Fails in profiling run, passes in src_test().
+ -x test_capi
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable gil)
+ $(use_enable jit experimental-jit)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ # Force-disable modules we don't want built.
+ # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ $(usev !gdbm '_gdbm _dbm')
+ $(usev !sqlite '_sqlite3')
+ $(usev !ssl '_hashlib _ssl')
+ $(usev !ncurses '_curses _curses_panel')
+ $(usev !readline 'readline')
+ $(usev !tk '_tkinter')
+ EOF
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # pydoc
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
+
+pkg_postinst() {
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3.13.0_beta2; then
+ ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files"
+ ewarn "installed previously are no longer valid and will be regenerated"
+ ewarn "(or ignored) on the next import. This may cause sandbox failures"
+ ewarn "when installing some packages and checksum mismatches when removing"
+ ewarn "old versions. To actively prevent this, rebuild all packages"
+ ewarn "installing Python 3.13 modules, e.g. using:"
+ ewarn
+ ewarn " emerge -1v /usr/lib/python3.13/site-packages"
+ fi
+ done
+}
diff --git a/dev-lang/python/python-3.8.20_p2.ebuild b/dev-lang/python/python-3.8.20_p2.ebuild
new file mode 100644
index 000000000000..5d532ab5e9f5
--- /dev/null
+++ b/dev-lang/python/python-3.8.20_p2.ebuild
@@ -0,0 +1,489 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils
+inherit prefix python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm +ncurses pgo
+ +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ rm -r Modules/expat || die
+ rm -r Modules/_ctypes/libffi* || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # https://bugs.gentoo.org/850151
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs)
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ rm Lib/distutils/command/wininst*.exe || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+ local disable
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ -x test_gdb
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-ffi
+ --with-system-libmpdec
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ if tc-is-cross-compiler ; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910 and bug #864911.
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross.
+ --without-lto
+ --disable-optimizations
+ )
+
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+ # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross.
+ PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Avoid as many dependencies as possible for the cross build.
+ cat >> Makefile <<-EOF || die
+ MODULE_NIS=disabled
+ MODULE__DBM=disabled
+ MODULE__GDBM=disabled
+ MODULE__DBM=disabled
+ MODULE__SQLITE3=disabled
+ MODULE__HASHLIB=disabled
+ MODULE__SSL=disabled
+ MODULE__CURSES=disabled
+ MODULE__CURSES_PANEL=disabled
+ MODULE_READLINE=disabled
+ MODULE__TKINTER=disabled
+ MODULE_PYEXPAT=disabled
+ MODULE_ZLIB=disabled
+ EOF
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the Python it was pointed to
+ # immediately.
+ PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
+ popd &> /dev/null || die
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ hprefixify setup.py
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.9.20_p1.ebuild b/dev-lang/python/python-3.9.20_p1.ebuild
new file mode 100644
index 000000000000..1bb1be074e3d
--- /dev/null
+++ b/dev-lang/python/python-3.9.20_p1.ebuild
@@ -0,0 +1,581 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
+inherit prefix python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build debug +ensurepip examples gdbm +ncurses pgo
+ +readline +sqlite +ssl test tk valgrind
+"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ rm -r Modules/expat || die
+ rm -r Modules/_ctypes/libffi* || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # https://bugs.gentoo.org/850151
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs)
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+ local disable
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ -x test_gdb
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_concurrent_futures
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-ffi
+ --with-system-libmpdec
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable pgo optimizations)
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ if tc-is-cross-compiler ; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910 and bug #864911.
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross.
+ --without-lto
+ --disable-optimizations
+ )
+
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+ # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross.
+ PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Avoid as many dependencies as possible for the cross build.
+ cat >> Makefile <<-EOF || die
+ MODULE_NIS=disabled
+ MODULE__DBM=disabled
+ MODULE__GDBM=disabled
+ MODULE__DBM=disabled
+ MODULE__SQLITE3=disabled
+ MODULE__HASHLIB=disabled
+ MODULE__SSL=disabled
+ MODULE__CURSES=disabled
+ MODULE__CURSES_PANEL=disabled
+ MODULE_READLINE=disabled
+ MODULE__TKINTER=disabled
+ MODULE_PYEXPAT=disabled
+ MODULE_ZLIB=disabled
+ EOF
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the Python it was pointed to
+ # immediately.
+ PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
+ popd &> /dev/null || die
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ hprefixify setup.py
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ # Gentoo hack to disable accessing system site-packages
+ export GENTOO_CPYTHON_BUILD=1
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/rust-bin/rust-bin-1.81.0.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0.ebuild
index e51aa66a54b1..bf78998761f4 100644
--- a/dev-lang/rust-bin/rust-bin-1.81.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.81.0.ebuild
@@ -38,7 +38,7 @@ SRC_URI+=" ppc64? ( elibc_musl? (
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix profiler rust-analyzer rust-src rustfmt"
+IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
RDEPEND="
>=app-eselect/eselect-rust-20190311
@@ -116,7 +116,6 @@ multilib_src_install() {
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
- use profiler && components="${components},rust-demangler-preview"
use rustfmt && components="${components},rustfmt-preview"
use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}"
# Rust component 'rust-src' is extracted from separate archive
@@ -154,7 +153,6 @@ multilib_src_install() {
)
use clippy && symlinks+=( clippy-driver cargo-clippy )
- use profiler && symlinks+=( rust-demangler )
use rustfmt && symlinks+=( rustfmt cargo-fmt )
use rust-analyzer && symlinks+=( rust-analyzer )
@@ -202,9 +200,6 @@ multilib_src_install() {
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
- if use profiler; then
- echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
- fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
diff --git a/dev-lang/rust/rust-1.81.0.ebuild b/dev-lang/rust/rust-1.81.0.ebuild
index b6837f265a6f..5634139adde1 100644
--- a/dev-lang/rust/rust-1.81.0.ebuild
+++ b/dev-lang/rust/rust-1.81.0.ebuild
@@ -342,7 +342,6 @@ src_configure() {
local tools='"cargo","rustdoc"'
use clippy && tools+=',"clippy"'
use miri && tools+=',"miri"'
- use profiler && tools+=',"rust-demangler"'
use rustfmt && tools+=',"rustfmt"'
use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"'
use rust-src && tools+=',"src"'
@@ -685,7 +684,6 @@ src_install() {
use clippy && symlinks+=( clippy-driver cargo-clippy )
use miri && symlinks+=( miri cargo-miri )
- use profiler && symlinks+=( rust-demangler )
use rustfmt && symlinks+=( rustfmt cargo-fmt )
use rust-analyzer && symlinks+=( rust-analyzer )
@@ -744,9 +742,6 @@ src_install() {
echo /usr/bin/miri >> "${T}/provider-${P}"
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
fi
- if use profiler; then
- echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
- fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
diff --git a/dev-libs/dotconf/dotconf-1.4.1.ebuild b/dev-libs/dotconf/dotconf-1.4.1.ebuild
index b9e9dd68f11d..a7f18592c808 100644
--- a/dev-libs/dotconf/dotconf-1.4.1.ebuild
+++ b/dev-libs/dotconf/dotconf-1.4.1.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/williamh/dotconf.git"
else
SRC_URI="https://github.com/williamh/dotconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
fi
LICENSE="LGPL-2.1"
diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
index 0df5a58659f9..ca74802f6de0 100644
--- a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
+++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
@@ -72,6 +72,7 @@ PATCHES=(
"${FILESDIR}"/${P}-riscv.patch
"${FILESDIR}"/${P}-musl.patch
"${FILESDIR}"/${P}-libcxx.patch
+ "${FILESDIR}"/${P}-gcc15.patch
)
CMAKE_SKIP_TESTS=( "Defs.CpuSet" "KernelCollecterTest.NetworkStatsTest" )
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc15.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc15.patch
new file mode 100644
index 000000000000..f3e55f56f2d7
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc15.patch
@@ -0,0 +1,10 @@
+--- a/third_party/cpr/include/cpr/callback.h 2024-09-18 22:01:50.107007518 +0200
++++ b/third_party/cpr/include/cpr/callback.h 2024-09-18 22:03:21.582963325 +0200
+@@ -4,6 +4,7 @@
+ #include "cprtypes.h"
+
+ #include <functional>
++#include <cstdint>
+ #include <utility>
+
+ namespace cpr {
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/dev-libs/libclc/libclc-19.1.0.ebuild b/dev-libs/libclc/libclc-19.1.0.ebuild
new file mode 100644
index 000000000000..369d04fb2877
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.1.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
index e04a339a4c99..45fd1083f62d 100644
--- a/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
+++ b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0/45" # libfilezilla.so version
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest
index e7ea35fe6469..54664e1cea0e 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1 +1,2 @@
DIST libmirage-3.2.8.tar.xz 229616 BLAKE2B 37b662bbeff84144ee2ff2e6225af022cd031ef7db7734d22510cef6b1b9599c603c009c603fdb43fa13877858fc5871cd8c7fa68739f06dab60d910c9577db6 SHA512 ab4f099dd3a0a7705d7ee828cf023ab61185e3d5fbf324823a55ee604a008b66a206b8f666c0482b0eac6ac144a2421f04badd2e3e11dbc5e7bd2b211dcb2716
+DIST libmirage-3.2.9.tar.xz 229792 BLAKE2B 2c18b6541bf830f523e82f59c97f5aa9e0a866b21394496696d8f33e7258f8b07720f5abc4cc0202b5f7abff65bb5c896ed5fdb25fddf2a36e56a6e837b9b631 SHA512 67c20c5ee70f3d84e8bf55b7e5b0b90fe9d7ece7b46eee14a1bf57416f1f319b1cafa75b189730525c0cbe3457fce8d2e76759f52c8b1632d19ced6017063a89
diff --git a/dev-libs/libmirage/libmirage-3.2.9.ebuild b/dev-libs/libmirage/libmirage-3.2.9.ebuild
new file mode 100644
index 000000000000..ec9d1a2848d6
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-3.2.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg-utils
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="https://cdemu.sourceforge.io"
+SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/11"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +introspection"
+
+DEPEND="
+ >=app-arch/bzip2-1:=
+ >=app-arch/xz-utils-5:=
+ >=dev-libs/glib-2.38:2
+ >=media-libs/libsamplerate-0.1:=
+ >=media-libs/libsndfile-1.0:=
+ sys-libs/zlib:=
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-util/desktop-file-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )
+"
+
+DOCS=( AUTHORS README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DGTKDOC_ENABLED="$(usex doc)"
+ -DINTROSPECTION_ENABLED="$(usex introspection)"
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index 4758c64292ed..3b37d58a7be7 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,3 +1 @@
-DIST libwacom-2.10.0.tar.xz 114952 BLAKE2B ec9226feeac9998bc8b1886967db1ef5ea34312717eec5cce31796ffb2209cd479f6b2c1f7e2fe63c7c26ff7bdc93cf33a04314caefe84bb1113693086a78de5 SHA512 dc62db42596e14ace8463bc6bb115503d55f14c23a2a259b2169746e21b25eeeaacc09d7d1dd85c3e05f6dc5f3d96a3c757b2c93b171673e8f869337408495f9
-DIST libwacom-2.11.0.tar.xz 116056 BLAKE2B 2091859e036d928bc62543a56ea6ca0e2a879f83000437bc73560c334533a1b7b17e36a4f730c51f5b944cea6dbed0bc90b924c1f2112cd8f4bf0cb82505a0b7 SHA512 66823d97d165b428ddbfc3539572c94e2138b0732bc1c9e97c5ee071982fe8b82ead1302a5c308cbd1038e283fdfd7db853ef4a822c946f85a63b8247877a8a9
DIST libwacom-2.12.2.tar.xz 153600 BLAKE2B f2a965d1990e8d2aa248d9d81f31f50e2602c66e3cbc41dd0638994c955b30a5e4be445041e8ac5240b336611f6fb3217779142e95fc3c5265860ebc4f918c41 SHA512 34f80f6c5bdb62938874978b2761d71a1da4629969550ac87b08eb132e88bfb67b56a4f5fcd687e4607a18ef8b34262ba9c4cfc0fcf6a1a6bb98c1a05ded0b08
diff --git a/dev-libs/libwacom/libwacom-2.10.0.ebuild b/dev-libs/libwacom/libwacom-2.10.0.ebuild
deleted file mode 100644
index 6eb6728c8137..000000000000
--- a/dev-libs/libwacom/libwacom-2.10.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson python-any-r1 udev
-
-DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha amd64 arm ~arm64 ppc ppc64 sparc x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libevdev
- dev-libs/libgudev:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-text/doxygen )
- test? (
- $(python_gen_any_dep '
- dev-python/libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- use test || return 0
- python_has_version \
- "dev-python/libevdev[${PYTHON_USEDEP}]" \
- "dev-python/pyudev[${PYTHON_USEDEP}]" \
- "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- # Don't call systemd daemon-reload in the test suite
- sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/libwacom/libwacom-2.11.0.ebuild b/dev-libs/libwacom/libwacom-2.11.0.ebuild
deleted file mode 100644
index 80778e1e4813..000000000000
--- a/dev-libs/libwacom/libwacom-2.11.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson python-any-r1 udev
-
-DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libevdev
- dev-libs/libgudev:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-text/doxygen )
- test? (
- $(python_gen_any_dep '
- dev-python/libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- use test || return 0
- python_has_version \
- "dev-python/libevdev[${PYTHON_USEDEP}]" \
- "dev-python/pyudev[${PYTHON_USEDEP}]" \
- "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- # Don't call systemd daemon-reload in the test suite
- sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/libwacom/libwacom-2.12.2.ebuild b/dev-libs/libwacom/libwacom-2.12.2.ebuild
index d34d7543e545..3ce1584b9fbb 100644
--- a/dev-libs/libwacom/libwacom-2.12.2.ebuild
+++ b/dev-libs/libwacom/libwacom-2.12.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-6.1.2-fix-segfault.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-6.1.2-fix-segfault.patch
new file mode 100644
index 000000000000..78f76303468f
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-6.1.2-fix-segfault.patch
@@ -0,0 +1,31 @@
+From d1fff7cea2231e7980d85790486edb70d093a1dc Mon Sep 17 00:00:00 2001
+From: Rakesh Roy <rakesh.roy@amd.com>
+Date: Wed, 20 Mar 2024 22:50:22 +0530
+Subject: [PATCH] SWDEV-445096 - Fix -O0 crash in OpenCL tests
+
+- With https://gerrit-git.amd.com/c/lightning/ec/llvm-project/+/1002628 applied, at -O0 Kernel::dynamicParallelism() returns true but virtual queue isn't created
+- This causes segfault inside VirtualGPU::submitKernelInternal() when getVQVirtualAddress() is called
+
+Change-Id: Ia7af042adad2329e870c142caaac3e8fa886f8b8
+---
+ rocclr/device/rocm/rocvirtual.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/rocclr/device/rocm/rocvirtual.cpp b/rocclr/device/rocm/rocvirtual.cpp
+index 51080013b..1610aecfe 100644
+--- a/rocclr/device/rocm/rocvirtual.cpp
++++ b/rocclr/device/rocm/rocvirtual.cpp
+@@ -3326,8 +3326,11 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes,
+
+ if (gpuKernel.dynamicParallelism()) {
+ dispatchBarrierPacket(kBarrierPacketHeader, true);
+- static_cast<KernelBlitManager&>(blitMgr()).runScheduler(
+- getVQVirtualAddress(), schedulerParam_, schedulerQueue_, schedulerSignal_, schedulerThreads_);
++ if (virtualQueue_ != nullptr) {
++ static_cast<KernelBlitManager&>(blitMgr()).runScheduler(
++ getVQVirtualAddress(), schedulerParam_, schedulerQueue_,
++ schedulerSignal_, schedulerThreads_);
++ }
+ }
+
+ // Check if image buffer write back is required
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.2-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.2-r1.ebuild
new file mode 100644
index 000000000000..540038443185
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.2-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_SKIP_GLOBALS=1
+inherit cmake edo flag-o-matic rocm
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/ROCm-Developer-Tools/clr"
+
+SRC_URI="https://github.com/ROCm-Developer-Tools/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz"
+S="${WORKDIR}/clr-rocm-${PV}/"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/rocr-runtime-6.0
+ >=dev-libs/rocm-comgr-6.0
+ >=dev-libs/rocm-device-libs-6.0
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/rocm-cmake-5.3
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+"
+
+PATCHES=( "${FILESDIR}/rocm-opencl-runtime-6.1.2-fix-segfault.patch" )
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=ON
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DCLR_BUILD_OCL=on
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins opencl/config/amdocl64.icd
+
+ cd "${BUILD_DIR}"/opencl || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so
+ doins tools/cltrace/libcltrace.so
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/dev-ml/llvm-ocaml/Manifest
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-19.1.0.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-19.1.0.ebuild
new file mode 100644
index 000000000000..84bd71875fac
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-19.1.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm.org llvm-utils python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[debug?]
+ !sys-devel/llvm[ocaml(-)]
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ dev-ml/findlib
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_USE_TARGETS=llvm
+llvm.org_set_globals
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake_build ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
index c9db752fea93..fd219dc905f9 100644
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
+++ b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
@@ -18,4 +18,4 @@ HOMEPAGE="https://github.com/Python-SIP/sip/"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~x86"
diff --git a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
index c2f03c08b4ca..ac2734ad7511 100644
--- a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
+++ b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~x86"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 631883ed7489..0f4d601c431f 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1,3 @@
DIST ansible-compat-24.8.0.gh.tar.gz 74341 BLAKE2B ce6edf8ed532815f2e307ac51eef0ac694805b0d5f8cad78c75c57478a21eb443348d636ca0e405fe63d32daf0f426c20e0f97183082f0eba3dd4b889fb8be80 SHA512 07da3a5d4f6eaa6edec3a03107d6e751e9754a84420a9839239d17811de01e8c70bed84e8c23a1308d18e8388581b0e269ae03c235bbc244e95a29c3be25567b
DIST ansible-compat-24.9.0.gh.tar.gz 75290 BLAKE2B 0482d9eba967d4d846e35f3a2754410e1f42d34e451b2cf42bcbb88155fdf90859b9fbf6ead28a6e8c252d3a37522c1d1c903a38d4e47ba427678bc39d3c8e9c SHA512 e6803e598fabb1097bf0f10a7b9592af97152d108bc89a29547546de0eaa87ebba9232e78aeababb3ffd94c58af8b93499de9c059a6c42d04179d02b50d92a0f
+DIST ansible-compat-24.9.1.gh.tar.gz 76018 BLAKE2B 581199ab65ccc884a3eeef246a8dbe527cac91fc3b588edaf1ad45e7aa83a2e77d44eab8e9dc5d7f2598b02a22fb724ccf235d25592ff8c9de0b7718b9ad5507 SHA512 d5da3cbd29bfb49b9ac68f004eb957edbfdfa303ce204e230117e9964df36c6bcbf3b47ef343d6a77b4f24c390266aebd649a8036cf9e7f29dc350d207ab7409
diff --git a/dev-python/ansible-compat/ansible-compat-24.9.1.ebuild b/dev-python/ansible-compat/ansible-compat-24.9.1.ebuild
new file mode 100644
index 000000000000..18c39cfc27c2
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-24.9.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+# We normally use PyPI here but 4.1.12 has never been uploaded there for some reason
+SRC_URI="https://github.com/ansible/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.14[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-plus[${PYTHON_USEDEP}]
+ )
+"
+
+# All these tests attempt to connect to galaxy.ansible.com
+EPYTEST_DESELECT=(
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e193aada58f1..f2a689fa9136 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,5 @@ DIST boto3-1.35.10.gh.tar.gz 856679 BLAKE2B 03e7be74455b487a79188405796fc08bd940
DIST boto3-1.35.14.gh.tar.gz 859166 BLAKE2B eb201a319453097068b4711356ea930de739ff8874da7441fa3b931434c8a82a1692a5f67b10f06eaf7644335033e302f733fcc2267b782398e9edd28c32a613 SHA512 ade4b6bc0c816244d5335b1669090d8a5e3c8dcc8802b0aa10498ce8c5fe8e456958ff3bfd73a5c9376ce1658f9c2a90d5470c86c2b3399d7198bacd09764619
DIST boto3-1.35.19.gh.tar.gz 861578 BLAKE2B 5011df66763e646768232a65022080ffbe3db08253f1bf3e192cf57be010ccdd08f8add78ec365e1c04d78ba1722cf6ef54fbc170f7f2419fcd370c08d48e3ce SHA512 faabd3ef8eb35a323ed64a711e0a026f8f77974516b05a93d389fb82b84932f69a2c784a1065811699dac4db016549f3756f24b879485b2dfb6ca380e6873670
DIST boto3-1.35.20.gh.tar.gz 862207 BLAKE2B 06a45feaba2a8afdd213a6c059e3a3dce2608ab5f55bdccd17478be8b865ad3dddef2459481f4565bbb44736bf6ae2a68bbd26dcd1e3f0e12afc03290dc8433f SHA512 59854e97f957b58c391111aae2538771003414c04d46d50006306b84b3566dd7b1d369e68ecc658e66c04fdf89541184063aebec7859387503fbea2cfd40ea08
+DIST boto3-1.35.21.gh.tar.gz 862801 BLAKE2B 44f322177603bad3de23dc47d95dc8b80b442762986a4402ec441c96cbbaa4708a3a9532c477983c0e0d857975f42ee980e61328ac72dc8bd68151980014dba1 SHA512 67bf2a8051bb08c1b761f1a13df41806356c67826e7cc6bd3c38f82ff709e6baac43430ed720f8d1f31a7e6c1fb7e4bf14bf67e8fd66db3f133ba8b8c93384c3
+DIST boto3-1.35.22.gh.tar.gz 863521 BLAKE2B 758d3b7ad49d147278e5a3cbe222fdc1b21f925343c491b4f1708762e70e7b5cc89eb3003e3b8fd1430b8b04f8d9a59c7002c404597a03321a4a57c8827a5a5d SHA512 ad7524fd5850fd77d4f3f5ca5a94c3674639c3b4e7b6d65881cf2e546f8c5f9217d2513b43435b1a9ab97a63c9d94c20f00a3791a5fba52590b2eb4c5453bf22
diff --git a/dev-python/boto3/boto3-1.35.21.ebuild b/dev-python/boto3/boto3-1.35.21.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.21.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.35.22.ebuild b/dev-python/boto3/boto3-1.35.22.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.22.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 0b4d11ec121f..dc5fd53ffa57 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,5 @@ DIST botocore-1.35.10.gh.tar.gz 13328544 BLAKE2B cecad54696210597a09f4316a88b833
DIST botocore-1.35.14.gh.tar.gz 13340768 BLAKE2B 4ba023dbfc9e632d86028100910544e192a5b2d70ec76a21dfc5003c767a6043a144385561c35f4d7b4bfefbf4a1f3a38ef2845e323f93868e1f5ad86ae1f12b SHA512 c0dfdec80a45cf11796496bc2bef575a567368be3f29267b4d411d0615e6c8536036e47a5de11fb8f4626590dca051e891bb9430ed1ea80dfab2f43f070209d2
DIST botocore-1.35.19.gh.tar.gz 13376459 BLAKE2B ba64ff0dc221782ce23592a6d6a146a680e2b86aa734673d4b16d6fd83355958b32af0e86a6769d2237e6234d80fb7fb23d52e3bcd2187cfe7d3646307fdea38 SHA512 6988f442b573e951766f1978325937a29141436d976baedb9c29959d5ff64014520c1bee4a8ce9b0d4226f62a6efb081a0532b2a825811e8cb2de3217ed311ae
DIST botocore-1.35.20.gh.tar.gz 13379086 BLAKE2B ea90039d3dd8848052e45e967d5a4598ca7eee3cfdad492660861b63eebba2fb1b012ac146a457d5ac4f299b5c3cbf81b5c002b6f9c88d8aa37eb32a4decfb8b SHA512 35e532c49a20a098d0694be93243eca285e311899d52eae9bbc99823d65464709ae7ad03f5a82e9dacba392b83be74fc84ede549d5dd33a875888346fff6d26f
+DIST botocore-1.35.21.gh.tar.gz 13382479 BLAKE2B 6f63f736fd4bba93829dd4243bbc2ee46ee9e75f86c294cf8c2f0cb89f981f4b38146532fcb7a77184fb795d1d53d40791c6e7595b9db9ac340180cb18664dbd SHA512 c2341709b2b52fe9ee2512edab44721b00612b4f489f8dd67361c69ddc702a094aeb7dfd6fb6c15598a43c6ee4e6c530ead9525e4f5e4b59829b5ecfc18945cc
+DIST botocore-1.35.22.gh.tar.gz 13397669 BLAKE2B 644cdd48d54a92fc8c2a1f024ee0e20662431f90f45340cf4ca50f2378c4cb8c0f322c2c86a1546ce0bac5b837295643a622816a2498fb643494a94b16f034c2 SHA512 5035a36bb8af933b871bb16ea617368058b3f4c6517f9bcc95291dcfe3cc479934aa70e5d746fc5fb7936d917f9e286cd5aefac271b27bbe25c49f267e87c9e6
diff --git a/dev-python/botocore/botocore-1.35.21.ebuild b/dev-python/botocore/botocore-1.35.21.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.21.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+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_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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.35.22.ebuild b/dev-python/botocore/botocore-1.35.22.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.22.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+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_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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index c9577fac7229..a690ccef8c31 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -2,3 +2,4 @@ DIST cfn_lint-1.11.1.tar.gz 2415408 BLAKE2B c164f6cd520e4106ff9cfaaffdcb66860c3e
DIST cfn_lint-1.12.4.tar.gz 2870663 BLAKE2B 90b1c2682a143108f077b1239171cb410657a33f1970e1f9fbc06774d1301ad0c28e364d7cf60163cb1d62a3c24221595e722db1fda5b79aebfd4fb321008396 SHA512 04092142a5de5da4cf2e94fe425c696cee3fd438fb569faa16bd390f3f3b8bfee63397a2aeedca99950eb656916b04456d59f2069c8479ce4c8acdffae01018a
DIST cfn_lint-1.13.0.tar.gz 2378100 BLAKE2B a1fa12fe13df1f3f8c5e533c138036df7e2eae325641e7fd66a050a3bb81718caf353d867bf7bbc765942a93bb9025a97bd9691a5759f59118296c23daf7466e SHA512 eeec69657907cc145e533c390987f25374e9019a4c493d3a8ad98123f8db9445bac4890cbaef59b15af752d5a3437f75ea1687bc167198aec81ebb0a3c1ab097
DIST cfn_lint-1.14.0.tar.gz 2380297 BLAKE2B 27c72256f5ca353e40adb22c90754e37624962529a07e5f7b2af06a3c270d9a6b6e9721b1906de8992363dd42b66cba1b11f9e3c0f09e02cbd8c6f202f24eda8 SHA512 708d7776bc45bd5da722fda30b028f9ce403384ff584b0ea0aca47e1a002ddbb53845dc33db23ddb91e1b2984aee2a3c992c47357622c80a2954a9327c17ebae
+DIST cfn_lint-1.14.1.tar.gz 2432006 BLAKE2B c59b5767dec67dd16a31878e2d9684b2aed77e20a7b6218c4fe4905667c2f031bfdd37e9a4e91090831bcf52891508d7b19bccc65cfdb3979e556f1a6b126408 SHA512 6277700dd6e7855bb555d920ce99085463495a8dae4d23d2310033ac3261edc7f134ef09ea170cbae7d6a1c321ab90e4fd397bdff3fadc5eef0ec3da065ad787
diff --git a/dev-python/cfn-lint/cfn-lint-1.14.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.14.1.ebuild
new file mode 100644
index 000000000000..086f03ea08df
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.14.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.91.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/dev-python/clang-python/clang-python-19.1.0.ebuild b/dev-python/clang-python/clang-python-19.1.0.ebuild
new file mode 100644
index 000000000000..9b3ee513e023
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.1.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/contourpy/contourpy-1.3.0.ebuild b/dev-python/contourpy/contourpy-1.3.0.ebuild
index 1cbb8295cf6f..9b6198a6c433 100644
--- a/dev-python/contourpy/contourpy-1.3.0.ebuild
+++ b/dev-python/contourpy/contourpy-1.3.0.ebuild
@@ -21,13 +21,13 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.23[${PYTHON_USEDEP}]
"
BDEPEND="
- >=dev-python/pybind11-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.13.1[${PYTHON_USEDEP}]
test? (
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 869364d90493..70bb3897952e 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1,2 +1,3 @@
DIST filelock-3.15.4.tar.gz 18007 BLAKE2B bf64d43b189453c8c1fcf258edefb2df340d20578d942d147197423c433cd6629d5e73615201d7ef84857450d7a4cf1375d0dfc69a422c4319a76f2dc157442f SHA512 d809df84f321ab9d99f46609cc664af2d9b73161906308e1a9f949c745694577901def228c40a860c606d652f9ecefe9014159eeea92266f94e981eecc4fe103
DIST filelock-3.16.0.tar.gz 18008 BLAKE2B 076880fb7c3db622b8391a89dd9bf85acaeec39abe7f189c65dfc72d6a6742727c9fd3cac727f397097e9688d9fc1c21a0e28334689db92091b66454c312464a SHA512 bda22692d3a6b034a825fff6917b0c12614ef2615ff52fd78072b1c76c1d1e6019d9d503faa0edf54efc39566279a941b19f34e9e87ccabb7fc8fadb1b3aa825
+DIST filelock-3.16.1.tar.gz 18037 BLAKE2B 29340ea0b5ade185a0d402a5cae304a2b3588d03ae543be26ed70b79bd1d0af67a30368ba43d87e16ac42d01b83ed1852316aaff87c11fe115ac35393a258231 SHA512 d935a01de58d219968795fa97a3ed9330285786fced2fde4474b3426cfc3da97c5b7a44a21c1f41185c1ce6a2a71514d259e990dce255be6b53e644449d575eb
diff --git a/dev-python/filelock/filelock-3.16.1.ebuild b/dev-python/filelock/filelock-3.16.1.ebuild
new file mode 100644
index 000000000000..8312a00e020a
--- /dev/null
+++ b/dev-python/filelock/filelock-3.16.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index d20f2631fa42..a16c6961d2fa 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,3 +1,4 @@
DIST google_api_python_client-2.143.0.tar.gz 11695158 BLAKE2B bff768420c0303403268aff68059e81852da89e1a353bae23c86f17314842e17986b39d5c2410adc8991d3966b1c718e88a49a22ed0e222758928928c519077b SHA512 c977599521402fa3b63c432d8e058a4c5a2ac5cf15eadcba7d43200a2c5eb246bdd25a7fecb98ba3c2791d0d566a518d8274f9f77561d0fc7c78c7378a0b05c5
DIST google_api_python_client-2.144.0.tar.gz 11688778 BLAKE2B 98ca8b9d389876abf16c809f72a6ed907676ae6607acc82aa4656f8c05757459a478f820db6dc364eb7484a839f402c43c50136e254e5d0501eeeba1a1274a67 SHA512 3e6a9a59408f994dd8b5fa6ef5e49b069d907006a29c6631fdc25d6f2cc885cb919387b1cc385d6ecfccab450b4a4787787e401be9b2d7d97ba455595d72d297
DIST google_api_python_client-2.145.0.tar.gz 11714260 BLAKE2B eb672bdf74519f7dfd984412348ee0c62aa6a942acbb3182648bce2018af72ba6737924cb82c754a94c02f5b749c1bfdd07edb66bb2294b98e2b636cac7c2107 SHA512 33452e866798cd82f79e4d9a8708b4ca32a1e3118e37fbfe5b6e8b8b431167560c4175a5155499bca864fbdb59623368663e0025f71e8bd64b44e365ac889ad8
+DIST google_api_python_client-2.146.0.tar.gz 11690645 BLAKE2B 850f8b5b383ab8485b4b8aef77e94a18971498b51e1689aa707997931ba908e97e590681900beec42fc0f50adcbe8488657fbf0be0d8d5c6a55dc424a49ed86c SHA512 5789e69f1d279f8e53d40348af770aa03738853ebf19cfd4e50f23dca3412ca7d360993e4e00c4f0e654c65b3dbddfc2ffca069ebb26cc13b674bd622e90ae2a
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.146.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.146.0.ebuild
new file mode 100644
index 000000000000..58a0eb467bad
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.146.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
index 6b2e5a0f229c..c83c120b90c0 100644
--- a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
+++ b/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
@@ -17,7 +17,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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/jaraco-text[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-test/Manifest b/dev-python/jaraco-test/Manifest
index 4bb20d6aab0f..a4d227779a21 100644
--- a/dev-python/jaraco-test/Manifest
+++ b/dev-python/jaraco-test/Manifest
@@ -1 +1,2 @@
DIST jaraco.test-5.4.0.tar.gz 8838 BLAKE2B 3abdff298a61015363bda3e52d3b5226993169128386dbb620487dcf8b29926c9be0415a2a263ad311db04a591d446b9e6efaece2ab2bfbe7b2781ee2e6dcdd6 SHA512 ab260c3c5ef16e83e8be0821cb735941764c06bb414c3f913bf337b62267b177f3102f7a87241b182ef20760fdcce98f4f9c705335b0744b69f9a296d5215b1b
+DIST jaraco_test-5.5.1.tar.gz 10018 BLAKE2B 09562269a1fd14e099e8bca484f4def00986aa3999134f51f875a026fd5b2832979533e91fcff651d938cbe5c302377152e8bf2288b0afd61ef0a52644c65c92 SHA512 09b3303657ccd6882835e3c0c8e27a03f7c5cfc923318e7c4736eded0a0aa3461f043ab595af82a0bb0de33381924415fd382706ab0af6cea80554ca74873ee1
diff --git a/dev-python/jaraco-test/jaraco-test-5.5.1.ebuild b/dev-python/jaraco-test/jaraco-test-5.5.1.ebuild
new file mode 100644
index 000000000000..d1ca70fa02ec
--- /dev/null
+++ b/dev-python/jaraco-test/jaraco-test-5.5.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Testing support by jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.test/
+ https://pypi.org/project/jaraco.test/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/test[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # workaround namespaces blocking test.support import (sigh!)
+ mv jaraco/test jaraco_test || die
+ rmdir jaraco || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ # while technically these tests are skipped when Internet is
+ # not available (they test whether auto-skipping works), we don't
+ # want any Internet access whenever possible
+ local EPYTEST_DESELECT=(
+ tests/test_http.py::test_needs_internet
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network"
+}
diff --git a/dev-python/jupyter-client/Manifest b/dev-python/jupyter-client/Manifest
index 1e50bf347970..2869a7c4ba66 100644
--- a/dev-python/jupyter-client/Manifest
+++ b/dev-python/jupyter-client/Manifest
@@ -1 +1,2 @@
DIST jupyter_client-8.6.2.tar.gz 341102 BLAKE2B d9d04b6b965aa34f6b1dd228d1389a36509415e57cb66b4aede37963b6a48f5133c48e8343bbb54bd775b3faa59db8b248f515caca9dbbe594a9d4ba93a668d7 SHA512 ce0ae60b083ce0a37ddd0249d3caef0581ece61927ae685ee80b55d9431557352f1dce6cf81894d39343087b15cc6ac3449abe88cb4119a0d03824b3642f84ff
+DIST jupyter_client-8.6.3.tar.gz 342019 BLAKE2B 5a478b62d64533e334f3a01ed820f9c41ffd3a8c6d9231d4822614b32c0898af32bf67fcafb5f26a62ab7fa172880bafdf2ff1169f06e1c483e8c3fe7d3f47e6 SHA512 10d7307335d07f383acbed30e44fe92284a6eab1dccdfe9107e5390c14350c2604a11ffd4a18ff811a5a93d9ce0492ac9a2fdc0402bd324c35ca12ad22405713
diff --git a/dev-python/jupyter-client/jupyter-client-8.6.3.ebuild b/dev-python/jupyter-client/jupyter-client-8.6.3.ebuild
new file mode 100644
index 000000000000..1307e8cb8f8d
--- /dev/null
+++ b/dev-python/jupyter-client/jupyter-client-8.6.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter protocol implementation and client libraries"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_client/
+ https://pypi.org/project/jupyter-client/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-23.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.8.3[${PYTHON_USEDEP}]
+ ' 3.{8,9})
+"
+BDEPEND="
+ test? (
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: times out
+ tests/test_client.py::TestAsyncKernelClient::test_input_request
+ # TODO
+ tests/test_multikernelmanager.py::TestKernelManager::test_tcp_cinfo
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o tmp_path_retention_policy=all \
+ -p asyncio -p rerunfailures --reruns=3 -p timeout
+}
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
index 9f4a627ce5d5..7e953ae1c0d1 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1,2 +1,3 @@
DIST keyring-24.3.1.tar.gz 60454 BLAKE2B cb0a9b82163febbbd737f2f25353bf96cbb7b8a87c7db00523960b3fce5595c6af65bc02b7d070b0fa5a466fc53530975de8f7a44ab9a9f783d2db34b1a67901 SHA512 53f26763175c7f1de041d8805062696ef3ef6c79792cdc75ae72621da8e729ac4cbb6e76937db2a0a5ce4bc41ab92c164d62e4627f92edab8c0d0fc02ca4980e
DIST keyring-25.3.0.tar.gz 61495 BLAKE2B 3286c2de8a2113ccdace88c44f40adfebcd42d08cdcc314a2067ea9911e63a193b68947ccce106a521cf4e54b96887db4ba06a76dece536f72af608473ec5f1a SHA512 80f3be5990f18aced25d6f75a8ca2b2033930a6bc622d44ab8732dfdf17343bfc9a19e5818dd170ce5c8a528b87f911522ed94c0237ce8fb2f39f97b6ad2ceda
+DIST keyring-25.4.0.tar.gz 62307 BLAKE2B 0f1f6f72f7d844c5a45389b3c6d78459d8c308982c4e86bb7af8e524f758a1c26ad94886eb214f6318485022ee1c46df7060a2ba9d0d0163d68077efd0e2faba SHA512 ac971ab9317866cab85b9507f2b1016c6de6f8523a4c25e866ef2b06b31bd34cffd9f8dfe51c911a0ea791c80f3f40cb3493ae3d35f1ea46f74f1763ddf2f101
diff --git a/dev-python/keyring/keyring-25.4.0.ebuild b/dev-python/keyring/keyring-25.4.0.ebuild
new file mode 100644
index 000000000000..6253b57dcaf9
--- /dev/null
+++ b/dev-python/keyring/keyring-25.4.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="
+ https://github.com/jaraco/keyring/
+ https://pypi.org/project/keyring/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # this test fails if importlib-metadata returns more than one
+ # entry, i.e. when keyring is installed already
+ tests/test_packaging.py::test_entry_point
+ )
+ local EPYTEST_IGNORE=(
+ # apparently does not unlock the keyring properly
+ tests/backends/test_libsecret.py
+ # hangs
+ tests/backends/test_kwallet.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/dev-python/lit/lit-19.1.0.ebuild b/dev-python/lit/lit-19.1.0.ebuild
new file mode 100644
index 000000000000..75b7c01e4ef3
--- /dev/null
+++ b/dev-python/lit/lit-19.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 9f76e7a05aad..5b14688789ee 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,2 +1,3 @@
DIST mkdocs-material-9.5.33.gh.tar.gz 14905512 BLAKE2B 474852be4b975a72a2429ab1b072eadea9b3e6549f0132e307da03aed657924d928391205b6953e445590bf53a79b8c405116b93eed099a9a9a174f9b66f5d3a SHA512 2a414c0e5c3160224ec445d7ed6b366ea18667a31110be1b310b5487abdf1b3d3a4b6f44b3d2ccae401f9d850a847a85ae3e3ef2a41ebe5f62f5c5a955a9713a
DIST mkdocs-material-9.5.34.gh.tar.gz 14766308 BLAKE2B 62371c082fe6d1d42d01cc315f2e0e5a0de24ee3faff173d940b797ca7f43f20985e4025e90ba385dbf38ef7ff2b76bbae0831558d07dcafd5a5493597e223ed SHA512 ac6e2fcf96a0591513222a81046d66547cdf3a9b64acf29e7482aa93be3d7a2ceeb8ad779e9bcbd12ae9fc527414ae11cd70f07ae85b4c2b0104cade29ebe646
+DIST mkdocs-material-9.5.35.gh.tar.gz 14791440 BLAKE2B d6cd4826e4a9f57e7c1790063e1b6aaff3524b07f532bb6ca705186e633b345d3526a4ea8423c7456a342536f7a6253e5add0b9491fdfaa61a932039905d28c9 SHA512 d35ad9ee7140de4d22eee4a6cf75d2cd522dc13394ef8be4cc2360291ea4a78f7489f014917beae7d9484103f6c6642e9e71d556839c5f523921588a7b001d8a
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.35.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.35.ebuild
new file mode 100644
index 000000000000..0aabdac3ae43
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.35.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index ae24d0d4ee6c..f655de43c491 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -4,3 +4,4 @@ DIST pipdeptree-2.22.0.tar.gz 39555 BLAKE2B 6aae7c6a22176dbfcc5184086c37b0237629
DIST pipdeptree-2.23.0.tar.gz 39737 BLAKE2B 79fe45880f2942b2ded1d16e2767c4005aca52e0768a5723f37f764c7a60a8104a237ffe2a559f631bf760310143814b0e4afbaf1e5f3ef927828036c320da43 SHA512 9c5fdf7c6d3e519357d4aeb40f4aa2807dfec8fb387114cf40d99469becc68c5042af09f2cdebcca868dd78f3a3c1602b349dfe6cb581758c5c73efc3f6e52c6
DIST pipdeptree-2.23.1.tar.gz 39883 BLAKE2B 63b578cc466871dda284f66bacc7e262b18157e5fb98e3a884c5e3eddd6945ad3d41a95e2e24fc23d0917e902f0e9ead152259d5ddc919e77e2940c2e2933119 SHA512 bc62c9cf6ee01bb8167477a21c70a7dd4ae1141c1c0690a1e95aea49cd4cb7d7e18bf076a532b00b79014a23c069df8aa09ac1bfd2d328b57e444192f1b10e5d
DIST pipdeptree-2.23.3.tar.gz 39804 BLAKE2B deabb55937cca02bad8040c6625cbe2e1688af9fa349d7e74923d73c484022818a28074921d5811f0d8e9189184185829ea4dc4e3004ed5456fcc9ed340de2f5 SHA512 26b5d08a24e297d6f30f3a479ae7f93a71b12cf4bc5ae25ff907f96bf7bef8e5403654b359d79e81aed79fec7961e2b8c4db984e5222f677a33839a125e59343
+DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36baf2c5c734b542d418d78081c19f567c730944fba33b43cf6ad612ecd54f37f625a81e88fc8bb68e3e56d76d9088 SHA512 3beeeceb11f842e5f337167b724354b43b01f972f83b0bac5168504483a079e15758206a8e141dc88e4810954630bff1b1cdec3e69aa2f981b9ec2896e40428d
diff --git a/dev-python/pipdeptree/pipdeptree-2.23.4.ebuild b/dev-python/pipdeptree/pipdeptree-2.23.4.ebuild
new file mode 100644
index 000000000000..108d23b345f5
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.23.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 2bd6c6eb7eec..d67b6ee9566b 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -2,3 +2,4 @@ DIST platformdirs-4.2.2.tar.gz 20916 BLAKE2B d7c551a950118a127664b8210f33497760c
DIST platformdirs-4.3.1.tar.gz 21236 BLAKE2B 852d402831ad6060c6efc3841dd56a8484aca547e820ad9b46cc838d92f560407a769a01942bf03c31949e4b37240d292358617afdfa0dd7ea03eeba6bc62086 SHA512 6d4cd808190808bab5a90f44d9fe2fda0d624c7a76faf9f4a4a6093cd098a28b79782dbf895dcd0eeb82778aa094deeb0959fcbe25bdd93818a47b9e197b6299
DIST platformdirs-4.3.2.tar.gz 21276 BLAKE2B 9bd9a2b3258e2fe411062895bbcc5036c77d95e092df81c9b9b113f64b4568ee44623a747048c9011e9465fb22600db9256e4900c7710a75fc27cf19c07732c7 SHA512 0bad11558f3d60f1476cdcd36a405c7218b9ce68342e3a78f95936356d91fcaaa869549503cc35055d9ce3b3eec219a980ba35e814dd3706fb4b7812aff04dd4
DIST platformdirs-4.3.3.tar.gz 21304 BLAKE2B 94248b49ab0b0ea7c43231c15c3f479c1ea0a82242a9d274b6e6b71559710f1d3bbd8ad89083c89f7627956a983ad2902cbf33b8b99a12a1481214a969fcc292 SHA512 0dc8b8585c4130660a779a1846a4d468a182dfcc0f03700001242f1eb78ba2bd9799777f6ac29367034ed23c66f1af4eda4f294201197d6444d6fdd92e7f93a1
+DIST platformdirs-4.3.6.tar.gz 21302 BLAKE2B 3488d33c70c420a7234fa773a7b61eaabc85e7aabfa75c9de308074ef653b534823a133038eb8098d41f987596d7fa6c70abd6cdde28234590261ecd6c8a9f56 SHA512 8a14126346f5472798074bd9ef73b39cd0c6517951556f7ab839d2c1993d8001a3359101fe3a7a00e803d8a5540cf33057d99e1a2e93b1bd5e20a948c89e4e44
diff --git a/dev-python/platformdirs/platformdirs-4.3.6.ebuild b/dev-python/platformdirs/platformdirs-4.3.6.ebuild
new file mode 100644
index 000000000000..7b2b77a80661
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.3.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/tox-dev/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/podman/Manifest b/dev-python/podman/Manifest
index c1ce992c1b9b..2652166a275a 100644
--- a/dev-python/podman/Manifest
+++ b/dev-python/podman/Manifest
@@ -1 +1,2 @@
DIST podman-py-5.0.0.gh.tar.gz 183844 BLAKE2B c2c5511815d37321a843dfe028839592f6e9b4cc580263e743b6a2ee0917b3307b77bf4d08b327781c6d765c231d8bfcc4d1e0027351c4297509433405887552 SHA512 3abcc4c989843fb82a09e32359018cb9b3352f014253def4bec46a7336c95405b50fe774192d2f4625748351c57293b70d393eb85671719833c0a9f1311612ed
+DIST podman-py-5.2.0.gh.tar.gz 186468 BLAKE2B d993e50817c6251dae4fcff8bdd9b4d125b5f96b2d5a690922ea5294cc739e2132edd4878b1dca26e1ffb7deef1e971f94a6e34c1b869dbe412c7965b49b2973 SHA512 6189415d644cf74868ccc5d560414fa876c1e0525ca028e7436a804ffe3a1219dead37223619e3d248da455856989407482638856b68cabeaf3ca4f02a9cf25c
diff --git a/dev-python/podman/podman-5.2.0.ebuild b/dev-python/podman/podman-5.2.0.ebuild
new file mode 100644
index 000000000000..1d7ad260600f
--- /dev/null
+++ b/dev-python/podman/podman-5.2.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=podman-py-${PV/_p/.post}
+DESCRIPTION="A library to interact with a Podman server"
+HOMEPAGE="
+ https://github.com/containers/podman-py/
+ https://pypi.org/project/podman/
+"
+SRC_URI="
+ https://github.com/containers/podman-py/archive/v${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/requests-2.24[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.5.1[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
+ )
+
+ # integration tests require a workable podman server,
+ # and it doesn't seem to work in ebuild env
+ epytest podman/tests/unit
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 448301d0989a..060af0873830 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -3,3 +3,4 @@ DIST pydantic-2.8.2.tar.gz 739834 BLAKE2B d0168db26e02ac9fcf01fe85cd70c982e74f18
DIST pydantic-2.9.0.tar.gz 768298 BLAKE2B f196274c37af4b14b0ee17a5274d784a56ad2b2721ca022f572209348edb7e342ace1744e980ac5a8df0d8d7f9642d3157297f3cad24073b133ebb328b589673 SHA512 e4e2b961e831c1461446c1914176a5fca4b573ed5df7a4e5f1fe956b94568bf982e0ed0ee3ab8e08b518817b40dc76a24aaff95453a25e736890e5f0b30549d9
DIST pydantic-2.9.0b2.tar.gz 767194 BLAKE2B 407bbadc4cb8f962cb331a9ccdfa70dd96729830a4c5532962105889536ac436f50552d3d6bac4e6840d44fc7c0ef2e94e1cab4b54be1565ac636436ca8a9b0a SHA512 a0d2491c14f58bbd376545551b128c0c396713a4a73786ac004ee4a0ff9b65a220c22f93aaa11239181bd87a600bc9b10c7d594b23286b909e8e6ea397eea81c
DIST pydantic-2.9.1.tar.gz 768511 BLAKE2B 37d840042933a3fc3976ada31c2c1a26a127f64fd928ac8014c9e5047d5c30f29ab23a0f023c2d19c9daec7976c6f66c8dd1d0bd5f2507cff26f7aa0f103a30a SHA512 b35241a0956f41bfcb9f61f34a5fead2c88a266a721d0dea584068f58c72fceda1a70236ca1f3c242c9ef22ac8f7e444b48e212088a3e7e7754008652a028664
+DIST pydantic-2.9.2.tar.gz 769917 BLAKE2B 4e34fda6a9e8e8331278d0b7d0c2dfd61bde637c126fa6dabf78a09c6ef993f84dc8df6af421c8fb6d69c8e1c387a40e4bcd38cbe02f5ac521c6c70821735763 SHA512 2aace9e79a98bd94e5dc626736a245051912a11fdce36013d2ad2f96b266052386a3e12b259dca30ddc38b63c6b00b5bcc9cd5e80f7805de4d8701064f0982aa
diff --git a/dev-python/pydantic/pydantic-2.9.2.ebuild b/dev-python/pydantic/pydantic-2.9.2.ebuild
new file mode 100644
index 000000000000..55fae02778fc
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.9.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.23.4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index b3dd01f0d787..f1db3916f207 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,2 +1,3 @@
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
+DIST mongo-python-driver-4.9.1.gh.tar.gz 1937311 BLAKE2B 9312c7df50f86dad7dd713b34aba0a87dd9f878b115b3c00ae9e0825c883c869f57e0d55d552b1b4bf9715930840a540572b451d296e185085c4c0c707855811 SHA512 e616418c90088bfc328505dea315a225bfcc942fa29dcc348d3b80d0fb329b7e8fe9d6164c0e13a0562e6126535cc7d04c2cf497a39a04071f6db8af3c8ed1f1
diff --git a/dev-python/pymongo/pymongo-4.9.1.ebuild b/dev-python/pymongo/pymongo-4.9.1.ebuild
new file mode 100644
index 000000000000..45c60a630e6e
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.9.1.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
+ test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
+ test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+
+ # hangs?
+ test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
+ )
+
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_bulk.py
+ test/test_change_stream.py
+ test/test_collection.py
+ test/test_crud_unified.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ )
+ local run_separately2=(
+ test/test_command_monitoring.py
+ test/test_connection_monitoring.py
+ test/test_cursor.py
+ test/test_database.py
+ test/test_grid_file.py
+ test/test_monitoring.py
+ )
+ local run_separately_async=(
+ test/asynchronous/test_database.py
+ test/asynchronous/test_grid_file.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local stage failed=
+ for stage in {1..5}; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local async=( -p asyncio -m default_async )
+ local def=( -p asyncio -m "default or encryption" )
+ case ${stage} in
+ 1)
+ nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
+ ;;
+ 3)
+ EPYTEST_DESELECT+=(
+ "${run_separately[@]}"
+ "${run_separately2[@]}"
+ )
+ nonfatal epytest "${def[@]}" || failed=1
+ ;;
+ 4)
+ nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
+ ;;
+ 5)
+ EPYTEST_DESELECT+=(
+ "${run_separately_async[@]}"
+ )
+ nonfatal epytest "${async[@]}" || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pyopengl/Manifest b/dev-python/pyopengl/Manifest
index 819e62cac925..a5d4d4e20cc4 100644
--- a/dev-python/pyopengl/Manifest
+++ b/dev-python/pyopengl/Manifest
@@ -1 +1,2 @@
DIST PyOpenGL-3.1.7.tar.gz 1896446 BLAKE2B 3fd4c84bb59157b4a6ee09c2a5ecd0e4f548bf03a84d735acfd92453eafb92102677a2b9c98831a92be33e873630c815dee453745d630a4d6b044771a13c945c SHA512 add1b4d02e7297f00f82a9c9249d6665029073fe620a1650491af9102a76a16e9320b5f227275b0c273ff5a616c284fd9f25f0f425848676c37cab9f3c22ae2e
+DIST pyopengl-3.1.8.gh.tar.gz 3599436 BLAKE2B 7f33345d68d66d3cc81278eaa5f54298694f41f40583ee08a1f9f677705fb4414b6b2afbcd7b9345199b5f573478bfeba050e185b6534cbb19b45cb25c241b47 SHA512 d95014a36bd889fa014043e4640ba7f319bb996cb56e5f7086ee05d39c53d3928512d52b0ce181d7c144775a4da7eff7403cada0f91f23f56a699a1b023e00e6
diff --git a/dev-python/pyopengl/files/pyopengl-3.1.8-fix-version.patch b/dev-python/pyopengl/files/pyopengl-3.1.8-fix-version.patch
new file mode 100644
index 000000000000..7017dd79a451
--- /dev/null
+++ b/dev-python/pyopengl/files/pyopengl-3.1.8-fix-version.patch
@@ -0,0 +1,17 @@
+https://github.com/mcfletch/pyopengl/issues/123
+--- a/OpenGL/version.py
++++ b/OpenGL/version.py
+@@ -1,2 +1,2 @@
+ """Declares the current version for use in setuptools and the like"""
+-__version__ = "3.1.7"
++__version__ = "3.1.8"
+--- a/accelerate/OpenGL_accelerate/__init__.py
++++ b/accelerate/OpenGL_accelerate/__init__.py
+@@ -6,5 +6,5 @@ wrapper mechanism. The source code is part of the
+ PyOpenGL package and is built via the setupaccel.py
+ script in the top level of the PyOpenGL source package.
+ """
+-__version__ = "3.1.7"
+-__version_tuple__ = (3, 1, 7)
++__version__ = "3.1.8"
++__version_tuple__ = (3, 1, 8)
diff --git a/dev-python/pyopengl/pyopengl-3.1.8.ebuild b/dev-python/pyopengl/pyopengl-3.1.8.ebuild
new file mode 100644
index 000000000000..955bd7218309
--- /dev/null
+++ b/dev-python/pyopengl/pyopengl-3.1.8.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=PyOpenGL
+PYTHON_REQ_USE="tk?"
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Python OpenGL bindings"
+HOMEPAGE="
+ https://pyopengl.sourceforge.net/
+ https://github.com/mcfletch/pyopengl/
+ https://pypi.org/project/PyOpenGL/
+"
+# 3.1.8 is missing from pypi: https://github.com/mcfletch/pyopengl/issues/123
+SRC_URI="https://github.com/mcfletch/pyopengl/archive/refs/tags/release-${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-release-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="tk"
+
+RDEPEND="
+ media-libs/freeglut
+ virtual/opengl
+ x11-libs/libXi
+ x11-libs/libXmu
+ tk? ( dev-tcltk/togl )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+# The tests need an X server with the GLX extension. Software rendering
+# under Xvfb works but only with llvmpipe, not softpipe or swr.
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP},opengl,X]
+ !prefix? (
+ media-libs/mesa[llvm]
+ x11-base/xorg-server[-minimal,xorg]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mcfletch/pyopengl/pull/109
+ "${FILESDIR}/${PN}-3.1.7-pypy3.patch"
+ # https://github.com/mcfletch/pyopengl/issues/123
+ "${FILESDIR}/${P}-fix-version.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # unreliable memory counting test
+ tests/test_vbo_memusage.py::test_sf_2980896
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ nonfatal epytest tests || die "Tests failed with ${EPYTHON}"
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/pyopengl_accelerate/Manifest b/dev-python/pyopengl_accelerate/Manifest
index ffaefcbf0395..2d9c91367cba 100644
--- a/dev-python/pyopengl_accelerate/Manifest
+++ b/dev-python/pyopengl_accelerate/Manifest
@@ -1 +1,2 @@
DIST pyopengl-release-3.1.7.gh.tar.gz 3310131 BLAKE2B 37d64a0e0f3ced1965a7285ac7a0afb774b1e5ef630e42d86e40bb65176af7f0aa44accee50d3b32eb87a13c76535a3239359ea2c5bea385e20f1b1ec1a8b636 SHA512 a6cd28b15964e55e8a808477138ad03eb212501d9f4723603c405932963aedca83b91ff19e510ca181cc9800f2a22968b2913b70a975b7797f3bcad112c6c0b4
+DIST pyopengl-release-3.1.8.gh.tar.gz 3599436 BLAKE2B 7f33345d68d66d3cc81278eaa5f54298694f41f40583ee08a1f9f677705fb4414b6b2afbcd7b9345199b5f573478bfeba050e185b6534cbb19b45cb25c241b47 SHA512 d95014a36bd889fa014043e4640ba7f319bb996cb56e5f7086ee05d39c53d3928512d52b0ce181d7c144775a4da7eff7403cada0f91f23f56a699a1b023e00e6
diff --git a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.8.ebuild b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.8.ebuild
new file mode 100644
index 000000000000..ae2f3ee96966
--- /dev/null
+++ b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.8.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=pyopengl-release-${PV}
+DESCRIPTION="Accelerate module for PyOpenGL"
+HOMEPAGE="
+ https://pyopengl.sourceforge.net/
+ https://github.com/mcfletch/pyopengl/
+ https://pypi.org/project/PyOpenGL-accelerate/
+"
+SRC_URI="
+ https://github.com/mcfletch/pyopengl/archive/release-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/accelerate
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="numpy"
+
+DEPEND="
+ numpy? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/pyopengl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ rm src/*.c || die
+
+ if ! use numpy; then
+ cat > "${T}"/numpy.py <<-EOF || die
+ raise ImportError("building numpy extension disabled")
+ EOF
+ fi
+}
+
+python_compile() {
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${T}" || die
+ epytest "${S}"/tests
+}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index fcc9008a135d..3fbcac15c7ec 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,2 +1,3 @@
DIST pypdf-4.3.1.gh.tar.gz 8016393 BLAKE2B 1ff64b79dda008c92670188e174940137da5af721e169e3a45f4784aa5fdd41f9b679701009f9fa59ac31a401786cece8315d72bd7942ca5af8b05e4ed4564be SHA512 17e1b127efe744a0ff2e9733295effcbab8e497d65cae3cb821646df1c0178991771910f0ef0b4f72525d980d840bfdc4290a05ea191669887f2122ec3521825
+DIST pypdf-5.0.0.gh.tar.gz 8020126 BLAKE2B 81f1eab322365c52fde063908f474d3a4ae75f888b3e3adcbc083bb189fb0e0046ea8399da101d2725ddb2c2b605766a3a84f236619d290cb592c375dcff30c0 SHA512 f346414b232150c527b623f883f85e2c9010ff189cc41da3bcf7ce8718f529f5285a4a3af6d480115e68baf7a8b12a05bf6ec78c9ca9f346eff9ffba0b9785bd
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-5.0.0.ebuild b/dev-python/pypdf/pypdf-5.0.0.ebuild
new file mode 100644
index 000000000000..86a783051785
--- /dev/null
+++ b/dev-python/pypdf/pypdf-5.0.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ tests/test_generic.py::test_name_object
+ # Internet
+ tests/test_generic.py::test_calling_indirect_objects
+ tests/test_writer.py::test_increment_writer
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index 5e56a747aa86..559eb8fd6b19 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -1 +1,3 @@
DIST pyproject_api-1.7.1.tar.gz 22271 BLAKE2B 833001e4638594e61ba8dd97e2e62dffd25650cc30cbcdb9367f09605e128733d7c8945afeadc5ba16d15e932da0cc60eee2715eeef21290c04a73f74165e748 SHA512 e016d612578f46dbb5ab9d406d01513d8e1528524dcb58c4ebe76c5d7518289da187bed0e500d382b37aaac0e38236d54a88e7cc1f3a2a6876088b26d17337a8
+DIST pyproject_api-1.7.2.tar.gz 22353 BLAKE2B 483400bd8c79da5e3eb54ee42bcb74e6507824f3f7bfcbf5a9172c942af7488dd9896e55eba8b4153e250ddc549df8e0f56576e63b6ce472c1bbc2e0ea8ae344 SHA512 4e331249e0a6e38bcf0baa4143c0fef455e91e3b1c422233b813aa3fcbe81a7f67ce3c6f969a313e636ae19dbc4192e59add946fb57dc43907d27538116573d8
+DIST pyproject_api-1.8.0.tar.gz 22340 BLAKE2B 7087b04045870ab6ec62dbd93ca59fbab6a9200f1eb20140ac28355b6f88a719961949f06c1cb888b4ef2d9ad61c2f533cf4e361c64e34c04faf6d0db7762090 SHA512 9a598179cb31694c862a91040c453d767ecbddd7aed4156f044d6684316294e962bdaaff646cd8c9cf15af204efc9a03dbc781058610c334c7ea2f2df54f1883
diff --git a/dev-python/pyproject-api/pyproject-api-1.7.2.ebuild b/dev-python/pyproject-api/pyproject-api-1.7.2.ebuild
new file mode 100644
index 000000000000..7ebc016f7130
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.7.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-68.1.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # hardcodes assumptions specific to setuptools-70.1.0
+ tests/test_frontend_setuptools.py::test_setuptools_get_requires_for_build_wheel
+ # some minor formatting mismatch
+ tests/test_frontend_setuptools.py::test_setuptools_prepare_metadata_for_build_wheel
+)
diff --git a/dev-python/pyproject-api/pyproject-api-1.8.0.ebuild b/dev-python/pyproject-api/pyproject-api-1.8.0.ebuild
new file mode 100644
index 000000000000..7ebc016f7130
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.8.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-68.1.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # hardcodes assumptions specific to setuptools-70.1.0
+ tests/test_frontend_setuptools.py::test_setuptools_get_requires_for_build_wheel
+ # some minor formatting mismatch
+ tests/test_frontend_setuptools.py::test_setuptools_prepare_metadata_for_build_wheel
+)
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index c2d3df247513..a0388098d533 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -3,3 +3,4 @@ DIST pyproject_fmt-2.1.4.tar.gz 9023 BLAKE2B 1a44332ea829efb22d7b561abef1f362f7e
DIST pyproject_fmt-2.2.0.tar.gz 9135 BLAKE2B e4ea7a11168257978fb607a7c1dcb6e9450d139c7db5f2e45fe065ddbd5e6edfca97b4f7dd80bd7cd632068ae86cca7ef7efbd2850cac4237065319f554c5366 SHA512 97d4e8e881b39fd47f0b2b96b413e6f4462bf35e4a9797811487931188bbfcb971e744012ebee545ede0ff94d7ebf2abee0b97b965ed452628c49c69fd47070e
DIST pyproject_fmt-2.2.1.tar.gz 9175 BLAKE2B 8968163f175c22a7532a8f582d522708a4c5740a682a617fd8539009a5409d0d6f6f5679c754ac6023047923837675191c35906d0876b4e728d00e135cfd3c5a SHA512 ac2dea741cff18e0a12daf6e0076b1fc42bdb097f10a8f49a8d131fc37e4c16f811b95fb537e0c0a852eaa6fcc8c6efd9331be3087748720fc436daee0c7285d
DIST pyproject_fmt-2.2.3.tar.gz 9157 BLAKE2B a9cc1771c05d504fa0e7321f1c97cfd09f44a39ec7bdadbbba31f0fbe62b955a1689aa2ff8edb0274e5f352cca872591babd7f6c62189cf5bee1567ffb1f306d SHA512 404b038aa7d189d17e2c1df873e4bc50a199dcb193c064e19eb54a5f671fdcdc2c51ce9b19dff10e6c0dda089aee7070f7408892b6ca393abc2ed5b5ff666812
+DIST pyproject_fmt-2.2.4.tar.gz 9140 BLAKE2B 19397db0f7e2a51391f99824645c73361eaa60e2430fe22f9aec85b7273d232ae8aab8d96e1276f93c7fa8612a768fa7bf66f207c4bf73e92e69d3f0f62c8b22 SHA512 54dd02060c93040ef09f23751e0ef6c853a892df077ca012717b4586dede5081365ee4df1daaf98095af364a0e9406e9a5afde74158d5dc6715425bed58db254
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.2.4.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.2.4.ebuild
new file mode 100644
index 000000000000..6596694032a6
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.2.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ ~dev-python/pyproject-fmt-rust-1.1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
+ dev-python/tox
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest
index a69c5d927b62..0c18df4cac45 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1,2 +1,3 @@
DIST pytest_env-1.1.3.tar.gz 8627 BLAKE2B 04aee8a84b2224ce1f0bb018d0d5a8f8542d32aa3e3da0ed03afdace2562b1643f712152128f7d673e118a4db9ab10c7440f44728ba774519ceb989b4c9be7f2 SHA512 c38371a272987757774bed6b566b55ba2304ca37e69f3f5671fb03735bbdfe5e51c3b03cd885d6bdbd73496daa95a57d79e03bf5d9171f0e9c5c0ae38492b304
DIST pytest_env-1.1.4.tar.gz 8898 BLAKE2B 8e6d9af2de86af47b5429e64112f7bbd4824fa54a7ffd2a7deb63da2032f6104587594a9efcddfc56a4dd7ef969b1a6cb4150906c029437c960ad02b0e215513 SHA512 9cde819b4f68f1a19de58c86651427c608b160bdfb6b6e12c6f4b90f195a759573e442d92df08f70b807282d4b47a7c078fa0b4674433d8778a9b8fb5552209e
+DIST pytest_env-1.1.5.tar.gz 8911 BLAKE2B 77195479f0a7bfe7b82b164f30c73e37f05002b33b19b605a056f476d02dedf8ed7eb0e116fe88c00dff2732f31d271539389eb790bcd4602c62f93e732530e9 SHA512 8f7df6d823067f55b3e761acee76744dc64e2e0f0c1e19ef5ab4db3215e92843279742782e654e652af025126f6c31ba86a54e3ef9e2223ca6057fbdc136ddd1
diff --git a/dev-python/pytest-env/pytest-env-1.1.5.ebuild b/dev-python/pytest-env/pytest-env-1.1.5.ebuild
new file mode 100644
index 000000000000..bfda9aab1b32
--- /dev/null
+++ b/dev-python/pytest-env/pytest-env-1.1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin that allows you to add environment variables"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-env/
+ https://pypi.org/project/pytest-env/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pytest-httpbin/Manifest b/dev-python/pytest-httpbin/Manifest
index d7f45743003d..3d0dfa08d053 100644
--- a/dev-python/pytest-httpbin/Manifest
+++ b/dev-python/pytest-httpbin/Manifest
@@ -1 +1,2 @@
DIST pytest-httpbin-2.0.0.gh.tar.gz 19799 BLAKE2B 7725bc958417c076ee920abce83bdad8295bc4c9551500040867650d54c306e79a1ea92b013124b793058103fc9685dbb2202be5f1b2da935509f68457d63d68 SHA512 62876590bacae6601739f5cc2eccb087024e16731afc9613b5e6928c2a2f64b73418ddcb3c4f13a4bfe1f074510f922d85411d05ebf66f123a4a09d535771b64
+DIST pytest-httpbin-2.1.0.gh.tar.gz 13140 BLAKE2B d1108b8464dbc1075007b4695810afe46fed17b51a785f12dfa184ba27efcfe88818ab8073c050334398eecfd647cd9169ef2d053e3fb424a02ece8a8d8c1518 SHA512 849985f170318ea3ad1d2af8811f3e3fef0e62bd6bdc611f061a8cd7d84a2d85d0ba9caf8c97298e1c99b979b08f1a28476927fa7abc1fa57334732ecfbdf2db
diff --git a/dev-python/pytest-httpbin/pytest-httpbin-2.1.0.ebuild b/dev-python/pytest-httpbin/pytest-httpbin-2.1.0.ebuild
new file mode 100644
index 000000000000..302d6d0a6faf
--- /dev/null
+++ b/dev-python/pytest-httpbin/pytest-httpbin-2.1.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily test your HTTP library against a local copy of httpbin"
+HOMEPAGE="
+ https://github.com/kevin1024/pytest-httpbin/
+ https://pypi.org/project/pytest-httpbin/
+"
+SRC_URI="
+ https://github.com/kevin1024/pytest-httpbin/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ dev-python/httpbin[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index f6af53db9fce..bddd9d4c83b6 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -16,9 +16,13 @@ DIST Python-3.13.0rc2.tar.xz 21055084 BLAKE2B 017ac82c1938d1fea0a501efb9d1848115
DIST Python-3.13.0rc2.tar.xz.asc 963 BLAKE2B bb75db12c424b7a05c8c0082f79c1ab6e2ad04440a27d2c964edc073fbdc1c0ac442b0b2a0719a33f8058bc7bc9097eb22e031299f8de5b6d88b74e4e5ece8a8 SHA512 6d80d089b55910628744d21b0382b6441d0550c139dbee71d68a7cd9e494bff1c8235a2a894f3c7a52f9af312480a4001f333e04c9054f32db7eefd2a7d39263
DIST python-gentoo-patches-3.10.14_p3.tar.xz 22080 BLAKE2B f45ebe4df3dc39a842c93d741ef66fd0f9f7d1c6453d499d59b62eda41f01bc17e109205fedc506963d1f21eb3fbf9478564ff5e1a11c10336f855069a642ceb SHA512 db268f1482e5c46a71ce3aef2c2ab6d458cc5263aec360e61c6aff97f119f4f100becefbb575156b1b0239e591a496cb62a136597fadae8a5b630c7233c0040a
DIST python-gentoo-patches-3.10.15.tar.xz 15896 BLAKE2B f908b409dbcedeb4e2fa7255d9dedfb8f86f39b9b12612d45662d2305012692753874befa5377e1bcb2e8fc04b54bf206948e12eb7bc357a764c1b1e496e5997 SHA512 a647882ede8d7b97e301e472e91f4573dce9f8bf4e408449444625fdf79859a54fd828daa60c7960721f34c3d6d82e2e45db2c55f2fc093097a0db42f7363b8c
+DIST python-gentoo-patches-3.10.15_p1.tar.xz 24048 BLAKE2B 191c28ad9bc781d6f3077870e8d40ff98a47a64009ecfbbd10fe2b3c5330692181837fd3e9b336fd01f936a39160fc12761b2ef9bc00843248ab978cda2e2767 SHA512 4461e351c991694415e2812e558d6c3d3f79295358623dc955bc0839691a170d95a3efd31c0bf9f0d6191e4184d7b55fdb485b948d591782fef5b060d7660cce
DIST python-gentoo-patches-3.11.10.tar.xz 8484 BLAKE2B 844aa7a855e3ab5a6307c6bfac9d58faad249ce550d21e8526125dc56b9665dc6fa00530a60efe8f851397d368057400851906e59fec10f6325bd83a51e39317 SHA512 bb602b80eed62ca8477b05665267ec3729fd9a85d9b709f844ad729f496d008a529d05d2ebfe8acb5db5ccb99005260bfe458f6ce0d9d358530670e0970e415e
+DIST python-gentoo-patches-3.11.10_p1.tar.xz 10592 BLAKE2B 1cc02d22b55cb76beba133c37e6db3b9ba12b11cd8776acb064f14431842405cbc9efb5a06319cff1c73d9178ddbbe2e340829d4628c88a9589aa2fc1d308f80 SHA512 7ddb08e4d8a9173a26fa18de687a4c85c3d460e2bc595da6f4b15cfe3be264ccdc7d61d5fed1e7a82f256d21caf3ea7de87f774fde61a9d37bed15f86f546adb
DIST python-gentoo-patches-3.11.9_p2.tar.xz 14916 BLAKE2B a910eae412fc1ce3657272c3c2ea9ef95b8d5711ed4c85b93a35f4ab757b1134bff0f8c8a0071e8e06aac784d0b51e36cd9271f892098cba272da4a4e73317d1 SHA512 5c055186b3a8376f4f602ec5d1f8e7bf0f067bc67295c1cdaa68ce1fb6fb21cda75e22705b8a5a2a6525af67f3b36a82fde5ba6ae9b097a5914ab79a2f1a0fad
DIST python-gentoo-patches-3.12.5_p1.tar.xz 8632 BLAKE2B 13570bb465002cea3590b06d055b936ac0fcc68f6f258aca99a67f02f0b1cd28396424b686c5e080f593a74a744ff449e7220f51f167a858b2313be4c8b64b19 SHA512 eb9fb2d48236a9f7941fb8938310cc32d216eb01e19277175223b8b1fe1bfd606bde9a3c8bc66ad2e494fb87ce23b0d1acd359c375e4a11a5caae25450c11360
DIST python-gentoo-patches-3.12.6.tar.xz 6048 BLAKE2B 577032d7aa4bab423781bffad8e64f56b492dc31fbd20acd91f3d28356bd697603dfd47a3a9051538dde2af942ae513727ecea415d82f5082a992bd22b8cb2dd SHA512 6f1037e97bb362a3d04c3ec080dc062c5de6e4b779cda0d88f684422d757acd6fc6f971c7004a3f50bbc0161dd28c3146672f74e0e598066f9a8ba4e0eb2627e
+DIST python-gentoo-patches-3.12.6_p2.tar.xz 8144 BLAKE2B 2f36ce972e0b3e2884c9df629e3aeb1af05e4c77dffb866ff28e08a0a7df3c7cf36a9de250d148d909c07fd5bad483c95b3267818657c04e7d0d6fe512e21f9a SHA512 caa86c6cf693f9293b3aa8944452d117b78c1c3f8d6a6aa658cb5c2d2ffb0cecc6cf14b293872bd2101766ee7167ba88183904b2814090f8cbc64c1fa3b771be
DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc
DIST python-gentoo-patches-3.13.0rc2.tar.xz 5696 BLAKE2B 4e716d1d6225e811b598d029ef1dbdc413df614ef00ab8051ea697e633477a0114a3660cae037bdf4142f76c9f2efdefc25b604af11c31eb77d6d98d8f932cff SHA512 c20b53772bd7d305562657722aec70de78fffbf8ab7939f59d496e06c21b31fcd7b4a92573b1000d3bee4d90fd8b7422543f9cfdad15d60bc9a7ecf2a2259599
+DIST python-gentoo-patches-3.13.0rc2_p1.tar.xz 7360 BLAKE2B be41dfc96c333ca19a4a21f0931287503094676d1eba1e9e5ae86bf07be571fb7ddaf75eab87dc2ce9364ea1861ca5307ae1b8cdbe2c6f9a1a0e351f42f0fb97 SHA512 38b8b5f5ec21d3cf02a4db43929f4dd870200bde655b9b3acd0f398ed0468f9e43996821510cebb5e01b5633afc7e6fc254b0c80062bb577a044d85e25d28ff2
diff --git a/dev-python/python-tests/python-tests-3.10.15_p1.ebuild b/dev-python/python-tests/python-tests-3.10.15_p1.ebuild
new file mode 100644
index 000000000000..56e7dde80a4c
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.10.15_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.10.14_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ sqlite3/test ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.11.10_p1.ebuild b/dev-python/python-tests/python-tests-3.11.10_p1.ebuild
new file mode 100644
index 000000000000..8e3bf062dff3
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.10_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_11 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.12.6_p2.ebuild b/dev-python/python-tests/python-tests-3.12.6_p2.ebuild
new file mode 100644
index 000000000000..b2a3254a3e50
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.6_p2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_12 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.13.0_rc2_p1.ebuild b/dev-python/python-tests/python-tests-3.13.0_rc2_p1.ebuild
new file mode 100644
index 000000000000..34d84eddd7b6
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.0_rc2_p1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_13 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index ba7b6491785c..aaf5bfcd25d5 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,3 +1,2 @@
-DIST SimSIMD-5.1.4.gh.tar.gz 149847 BLAKE2B 49aa9cfcee079b415d504989345be48c0b055e34dabd69240fdc02a35f51da81f25ab78fa27831e411d3853bca8b586314eae6840068715ec6a9c76c874162d6 SHA512 a656a71076d35c62cebe3d0cb2fc5eae87d9f13cb7a4427d74cb2959e813b4ff387ec30fe9a68e72e529fd0a76de468178652da1bba3b164eeb9f34df7d5d410
-DIST SimSIMD-5.2.1.gh.tar.gz 153081 BLAKE2B 2454d2266ca6d1b3302f4bf347dcc85d5c0750561e7d34906d5e7e2303e4cd0a7279d10f3065a63eeb14aedc6cd584510d29f29e60f7f57cd178a3066a4e28b8 SHA512 8263aada695ce68a1eb671c46a294fd317f9bb5d3a3ec5b4a8ab27b8b8ea5801c639b6bac3ba889bd6153444c76b7fa6d2982c25003af4cdfd0d8bc007b783f8
DIST SimSIMD-5.3.0.gh.tar.gz 158052 BLAKE2B 31ef8c66812a53ddeac612dc990ae2181a339369522eb459c9e792641aef3484521352c514fa90795608595ce73b3f7bfe160cf86f318d6910e9544b75d94df4 SHA512 2e8e3e3f00897b3866bc9ee649c060ac3c891365a76be22d6f4c2a9e40755f37be93d713598d18019acf0f5129fab6dadfa68b7b1cbef90c77a9cd60ec18ec4d
+DIST SimSIMD-5.4.0.gh.tar.gz 160232 BLAKE2B 06b3af449a6992d5203f15be1a3edf67e1d6299012d399a09a5e2e3cdf82a4e20706f5d5eebfc2450eb415f9d1bf20550fe2c6a54da1bac33e7d5e22f199893d SHA512 cb1d190218dc86cc39f6343ebd7d396006d5d97eeba3f6eabac8c17bbbe9903e8e215d9968e9c3be35af475dc14579e746183216e56fa94118dc4d6e6adc17a1
diff --git a/dev-python/simsimd/simsimd-5.1.4.ebuild b/dev-python/simsimd/simsimd-5.1.4.ebuild
deleted file mode 100644
index 57068eba549d..000000000000
--- a/dev-python/simsimd/simsimd-5.1.4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 toolchain-funcs
-
-MY_P=SimSIMD-${PV}
-DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
-HOMEPAGE="
- https://github.com/ashvardanian/SimSIMD/
- https://pypi.org/project/simsimd/
-"
-# no sdist, as of 4.3.1
-# https://github.com/ashvardanian/SimSIMD/issues/113
-SRC_URI="
- https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="openmp"
-
-BDEPEND="
- test? (
- dev-python/pytest-repeat[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-src_prepare() {
- sed -i -e '/-O3/d' setup.py || die
- if ! use openmp; then
- sed -i -e '/-fopenmp/d' setup.py || die
- fi
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p repeat python/test.py
-}
diff --git a/dev-python/simsimd/simsimd-5.2.1.ebuild b/dev-python/simsimd/simsimd-5.4.0.ebuild
index 633192d3f2c5..633192d3f2c5 100644
--- a/dev-python/simsimd/simsimd-5.2.1.ebuild
+++ b/dev-python/simsimd/simsimd-5.4.0.ebuild
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index 9534bbb0d989..625da3312fba 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1,4 +1,4 @@
DIST sphinx_autodoc_typehints-2.2.3.tar.gz 40394 BLAKE2B eece3fd99898bf6c93561b0269a7cae2d9b5bd7868ef3d9cd61868b57b9435ef255731db7fdbde2cf05b1f1ed1c8864060fd15ad5b44bbd122f2c2d4fd264aeb SHA512 8a39129ae3e90703c7de8d25c7616256b4d203f6e3c6971f382265361236e7606fa16169e189ca47cd4f1dfdf27a98a16c7b92ce409e2431886e4dacd0159fcf
DIST sphinx_autodoc_typehints-2.3.0.tar.gz 40709 BLAKE2B ef1b606cf6a643f87271fb033bac4d06f83b2be9f73b765064757ff0c1dceb2124841b2f6bb674deb20e39a4d19386fea8c85f0cdb417eeb3d84da19e2bf609e SHA512 f4ee3e0eb51fd63d4cf31f2eed9b9d06cc2dc48a3f3427763e86dba8910ea02c9e31bd8d30e8d0b3494e71fb104d51904400ce96d71270e1e422f44a317de80a
-DIST sphinx_autodoc_typehints-2.4.0.tar.gz 40568 BLAKE2B 7b56f034db042d027cb7ccfa3d1ef4f13fa22b22c536cebe42ec3f6da648c2d0578021b89fe4058326254a5900b6e6c9f5455cfcb9ea05cb1e7f6ec6adb0033d SHA512 eb3b11c4fcb1e12048662eec8179d877598f0ec2f34c15efcb4989a905c53442223f7265251f2be8afe5de151f09c342ccbc04f8392eb03bef41c98f1467ea30
-DIST sphinx_autodoc_typehints-2.4.1.tar.gz 40796 BLAKE2B ea49531017abd27ae8ff8066c49334047370b27d5c8f972518bf566f1d26b965534317da4bdda2a0f5ebaf4af80ccc4e4befa561fe1bb36e9e92d82cc3175b9c SHA512 fd1bceab209c0d4b65eaec96fbb4a061690fafaeb032c54274676c434fedb8dcfd6adbac0e43de8953578c4955520cc6aac2c4c135a98efe0d46c5ebf2d40a9c
+DIST sphinx_autodoc_typehints-2.4.3.tar.gz 40572 BLAKE2B 25d9f35a6b697cf99264bb48394034a546b48374edfecdd877f3b43ce00deb6b9e6581a8a9cd1b4b9342840dd702bc52c24554f39a6f828e27bb576eb3812996 SHA512 eb809df1ed8658bfb33c437417b16888636e89062ba56738dd6f0330bbf090b2ea8f98f6f5611f0c5545e024df66b7739f23aab8bbad2ee70a923ac16393310c
+DIST sphinx_autodoc_typehints-2.4.4.tar.gz 40572 BLAKE2B 2981d3adb45c7c0bc8ec81d67e26aca302ed5e6a142c36a49fe73197a4aadb91c901f185102757953a1f95ca523cf3a44d7d1a4be2c79651e8f6f8b7a882d0fa SHA512 770145187db71775833a403ebff1ed05e9db81ac0af0c0507f40fdbde5b8d5a4bd298b882ba7c8f45c083d270e82d4a6a3e27c70514dbbd3d2045ec9ba0d20fb
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.3.ebuild
index e938bae4f916..e938bae4f916 100644
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.0.ebuild
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.3.ebuild
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.1.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.4.ebuild
index e938bae4f916..e938bae4f916 100644
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.1.ebuild
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.4.4.ebuild
diff --git a/dev-python/statsmodels/statsmodels-0.14.3.ebuild b/dev-python/statsmodels/statsmodels-0.14.3.ebuild
index c17f1ee501b8..3b129f1595f7 100644
--- a/dev-python/statsmodels/statsmodels-0.14.3.ebuild
+++ b/dev-python/statsmodels/statsmodels-0.14.3.ebuild
@@ -21,15 +21,18 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~amd64-linux"
IUSE="examples"
+# NB: upstream requires building with numpy-2 but supports 1.x
+# at runtime
DEPEND="
- >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-2.0.0[${PYTHON_USEDEP}]
>=dev-python/scipy-1.8[${PYTHON_USEDEP}]
"
RDEPEND="
- ${DEPEND}
+ >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}]
>=dev-python/packaging-21.3[${PYTHON_USEDEP}]
>=dev-python/pandas-1.4[${PYTHON_USEDEP}]
>=dev-python/patsy-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.8[${PYTHON_USEDEP}]
"
BDEPEND="
${DEPEND}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 5d0733a76bfa..8d649226b2e9 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,3 +1,4 @@
DIST stripe-10.10.0.tar.gz 1313050 BLAKE2B 6a37c70d8faab0a23a52505edf722cbdb8b40f89fc2bfd9d73ce94c3c40877ca6080ac4f8973d9ac01fd7a1d67f8e62366b3dd498673fadbd29e8dbd3a0c1d8d SHA512 1049a27f07c0fb870735786cf8e971cf91095f3799e094cf81e3529839f1710f10133ccd20d2cfe249c460ee7753cb255e876e864e56ac1bea7f280771df197c
DIST stripe-10.11.0.tar.gz 1317883 BLAKE2B fa533f6a3ab66a844ff16513ad8cb8b6a8d87677fa01ea93c406cb229577456ccc567b63196c3616878a1cb78c5b91e56ac9fff8d53e0b961702cbd65ab9024f SHA512 64b6adaf3eabe77ab863fe3ef2e0d20d6cfa0e266bb58cde0b0d2edd87dd240a0a8fedf11c35252f3cc6cd517cc767b2c4714facc29475597270e7a143e091dc
+DIST stripe-10.12.0.tar.gz 1318680 BLAKE2B 0de2d108c6813d4ed0493b0e2b906a5d41f6b39b0f60fb2730fc3737b9f641d732e22c5ddf5e4e856b6bc5a1b312c10c9304467f29b5474bf8d6a9ca219f876d SHA512 0843cae0e1dd9a54604938a3ae5a28bb681e5166c2e800478c543b22b103626ac138ee999e468e909e3b5865754ed131af5a01287044603082f1f05329da45d3
DIST stripe-10.9.0.tar.gz 1312738 BLAKE2B 6be3b40695842c164620a8abab4a8753c44cb68dcd39b7e8f62e5a359ae5ffa0faa6a8890a1b0965dd1b1f32c95fa857abe44003c94043d2e76c59a9d52fc152 SHA512 39946c7efcf7597347835495f80810987f6812be337b2f9d84bebe029b2f6d326c9a73ef0c06f3c86786f59a1fb7d227e6a0cb800b8101216df6d0fb05709ea8
diff --git a/dev-python/stripe/stripe-10.12.0.ebuild b/dev-python/stripe/stripe-10.12.0.ebuild
new file mode 100644
index 000000000000..dce53ce91aee
--- /dev/null
+++ b/dev-python/stripe/stripe-10.12.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.188.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception message mismatch with aiohttp-3.10.0
+ "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]"
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
index 9b42f9be6868..2ddd57caa73f 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1 +1,2 @@
DIST sympy-1.13.2.gh.tar.gz 8141028 BLAKE2B 7a51fa75f1733364d467b79174b71ba866751399d311212144fdc3abdc8cea99618baf0b0fe3f2fe4cb9ab7153ecae4fe4bf00716e97ea4466637633f5618089 SHA512 87f7da425ed577e78392671cb635c99a11f3d6431b8c49a41611f4d2be5da1cadd8d07e0e684f2674792a2ee750b4031baec53156e7192d4c47714d4537c3222
+DIST sympy-1.13.3.gh.tar.gz 7919933 BLAKE2B 94c601e79caf87eb0f08e15ca4cb79e16bcd97d347e1fd948b6ea98b044133ea99f52032f09e290668e4485393425254ff4062ccfd3a3ac0b8afba080da6ba19 SHA512 2ae7a400d4a2d9c826cfaa165e3e1f5d9ba210c25647984d997775d4ec3d7c8f3ad3c5468d9adf141a1dceec864ca988b4f3a01fd934b923c4486ddd458670a3
diff --git a/dev-python/sympy/sympy-1.13.3.ebuild b/dev-python/sympy/sympy-1.13.3.ebuild
new file mode 100644
index 000000000000..b86ea4f35e26
--- /dev/null
+++ b/dev-python/sympy/sympy-1.13.3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="
+ https://www.sympy.org/
+ https://github.com/sympy/sympy/
+ https://pypi.org/project/sympy/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
+
+RDEPEND="
+ >=dev-python/mpmath-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # TODO; virtx?
+ sympy/plotting/pygletplot
+ )
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 2aa3132907a5..f9d32f5bb355 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,2 +1,3 @@
DIST tox-4.18.0.tar.gz 180782 BLAKE2B dc9832ad75c3e8564317bd618fa644ff2f393e507d7ff03292f65f0b10884d010708820768b6acd403783fd78868eddedb1ce931280d1e06e8d83214d85d4879 SHA512 4934b6d9406cc4500e75da76157ceb2dd9d7d0fd5e803fcd2c2bc9b5d2837678eead5af21dd6eb82ae7fe04c90aef78cc3db445daeed194a444ad88687ec1eeb
DIST tox-4.18.1.tar.gz 181159 BLAKE2B db9b2233363b6214b1c0bae2c0319b72a7ef4a7f833628833fecb7a8d04eef0594f1a93e17f8273d45873c2130e96b7adad8afe69662cb8fe37251028ba1581f SHA512 289ee3e8b7c941dbeb94adea24442169b33cfe3ae2c4d6eadd12974ee01488325d05beb92cc3b3d5aa1f795f9d3ffe65ed3da81bc62b0527edf56f5ddb9ceb32
+DIST tox-4.19.0.tar.gz 181219 BLAKE2B fd20fcce2b0cf59b572feb1c206b1d8188dcd8eafcb2c31b6c48d982badddb20bd4afa7eb0647e2dc4f2fec47da95e27b1cd870ec14e12e513da0202755ae722 SHA512 46b34524c48ac4e1d906633c8f1fb6da81d26a110638b24e95b97973ef7a17a0412dad584f4e8e9dbd01c5fde3ebd48053caad9bdbc07c1a5a4d17a0c16a34be
diff --git a/dev-python/tox/tox-4.19.0.ebuild b/dev-python/tox/tox-4.19.0.ebuild
new file mode 100644
index 000000000000..9c69f24759e4
--- /dev/null
+++ b/dev-python/tox/tox-4.19.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/tox-dev/tox/issues/3290
+ 'tests/config/loader/test_str_convert.py::test_str_convert_ok_py39[1,2-value1-Optional]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 3bef1428a9a4..e1e6e9b7498f 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -3,5 +3,6 @@ DIST reqwest-middleware-5e3eaf254b5bd481c75d2710eed055f95b756913.gh.tar.gz 40049
DIST rs-async-zip-011b24604fa7bc223daaad7712c0694bac8f0a87.gh.tar.gz 51706 BLAKE2B 354eb52c95ea355521e1e6a7c841102424c47c156fdb0efb62e3cac666ecf289806aeefab8a0273a7c3283429ac81502283bdb5424d5f925621e5c2b1430fd4d SHA512 6650eef354e84daf41a8572b98b29f2873b7f071dd1d6983292c70b2f580fdc50cd26762d2228a70c2b200eae2f40476e6604702aa62cc97558301195bf19eb8
DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68
DIST uv-0.4.10.gh.tar.gz 2585899 BLAKE2B f941068e58877cc859b2eb52f3b35ea79cdf23aa33f746dc1e7e954a77d5a3f08fbbed8a8312f750143cef6a0eb812eb783750750eccf6144ef869f1f69732b3 SHA512 9582d8f97515bc182d699f9994a21f7c883203dabb338848c751d97737c864272e5efbaf3a81d08545caac6643ba9cbde2fe11769ec6b98062416d7501d022f8
+DIST uv-0.4.11-crates.tar.xz 46271540 BLAKE2B e0add4875653581f022ba72ee9c8167368901a507febe07f7fca2931f0952359b9529da56c0c1d7cb78bc618fb49f672b020eecd76be458f7d840c74263ec922 SHA512 5fb617bf63114b27131dd09354ff52faf7d055b73ac6ca83363d6bdae87e73dccb8d61193fee9570ac2209d8600c3229d903be826746b97dbcf4602212d46d6f
+DIST uv-0.4.11.gh.tar.gz 2598363 BLAKE2B 44b04001ca796e59aec6b17984d89324de6cbf72c3e32c20e16c65b8dd1eee930f2a6358de6bbcc4b6bf01720786cc032c76ca6cdee64a21f91ee656aedd3f41 SHA512 23d79e4c485dde92958ef4a93cab184eda9aabe12441f0c88f752e98b8f24c177d6d08c6ae520490b841c1f3d9571a2c75ee324557b390ce8e716191abaf2b2f
DIST uv-0.4.9-crates.tar.xz 46250584 BLAKE2B 6beb0a00885b674f3d8e35c67372d4ba04c6512306f78522fac2ff170d7cc6cb6c0702546da1d1de3dc84397f04258c56558c666b8f935130a0fea1debce01d0 SHA512 676f6a197af92bc9f6716c0e1df1f87d81b1b07dc81c591b94b34b985bbe4a49fb0b319fe8fba7f83d158124af84f64ebefe1ce0119e6238f9ae837e4652c5c0
-DIST uv-0.4.9.gh.tar.gz 2580667 BLAKE2B baadc0d950d57e224d7d4980424ab58c4e278c2d67a06e9d83d778ac5a6b561cdadfc514c5068ce365dbdb4da3b5165e4180567f7abe90f46d5597fce144b91d SHA512 d7746d71f1429df7d39c3f03c02934792124318f92d2eda03b68a255586567d053349e6d294da0910351d976844aee564334540563435d0e60f6a3792088f416
diff --git a/dev-python/uv/uv-0.4.9.ebuild b/dev-python/uv/uv-0.4.11.ebuild
index ae16e664c50f..36dafe2b1cc5 100644
--- a/dev-python/uv/uv-0.4.9.ebuild
+++ b/dev-python/uv/uv-0.4.11.ebuild
@@ -16,7 +16,7 @@ declare -A GIT_CRATES=(
inherit cargo check-reqs
-CRATE_PV=0.4.9
+CRATE_PV=0.4.11
DESCRIPTION="A Python package installer and resolver, written in Rust"
HOMEPAGE="
https://github.com/astral-sh/uv/
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index e6393305798c..09e6921809e0 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,3 @@
DIST virtualenv-20.26.3.tar.gz 9057588 BLAKE2B 74268cab291e7f1e3db6a4c56f0ede1d7995069cb5594341d9af0609196a8154e9153f920043b48100c2263b7020c819135e29532483b233f3c37bf3b780592f SHA512 0cd3b4dc082d071305b44dd2aba2b28527e630b6b4bf28b7b6c59f3e061b01c1dfcfb64293f2b1904109e9e27b70a873cc8c3f1a3cde73bfee114943cef92ca7
DIST virtualenv-20.26.4.tar.gz 9385017 BLAKE2B a9b7f2dd105e6d7e5c85456351fc85fd6b4daa697574b6c1c8d51139d0b64f06fff024d721c4182cadb7c207c03b5f8877917dc79eb6102373503479a9f70215 SHA512 afce31d4bea624c98893d2ab5d7ea02e87e1ea18ae25195864b32c8d127d44fe7e1d07c24949138496f571b71d745d2f571c0b2a895d2282bef04dfe496fcd93
+DIST virtualenv-20.26.5.tar.gz 9371932 BLAKE2B 3b85da76f00e44b4e9fd33ef159e06cad06e4b0663aff9433712db8dcc0abb0bad7b94f260e374687f81b09a12bb3438f533267035370efbdeef20e8f9371461 SHA512 616d6565731d8b1f4ddf90eea9c7018eb1bc553c9ad6feee5f9e6669a996205afbedd900bf8d74cbcca7113fddc985ae279454274a7ec8902ac068e5e4b1b5ba
diff --git a/dev-python/virtualenv/virtualenv-20.26.5.ebuild b/dev-python/virtualenv/virtualenv-20.26.5.ebuild
new file mode 100644
index 000000000000..acc7255ef749
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.26.5.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' pypy3)
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=180
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.26.3-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ )
+ case ${EPYTHON} in
+ python3.1[23])
+ EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ plugins+=( -p freezer )
+ else
+ plugins+=( -p time_machine )
+ fi
+ epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 70166d1b73df..bc1a8b4fd2ca 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1 +1,2 @@
DIST xmlschema-3.3.2.tar.gz 575004 BLAKE2B 4d92be6ec8933201198b38f741e06354c98ef9b2d02ecd20fefbf502d29ab82e705038ef966ad1e90e3fcfe6aae01e3c757b61e9d9acb506a0ab36074fbcc6c6 SHA512 6216373f8d8ebc2244267f2659a887b937fb5c529909b5afeb99dc7d0aed22080870b5d35543e32f16dc8e8c6fc1e0859a99fd9364c03e01aa69e71dd18078e6
+DIST xmlschema-3.4.2.tar.gz 584249 BLAKE2B 82c01c295932e0e0a503d89b878cd7972550b531edc2aa162b9e6139cf3657890d3b5fe15a8bd667e5adc24ab29b6458f095ad55f9a88b7cd9bca93eed200200 SHA512 fd8c3df89f1768a8670e8bfdb34eaf93b80e191afe6ee15904269f0e3ab728aaeca5c56e046893708aba0c7763421a50b085bd03ec8aba1326f6608b39871b03
diff --git a/dev-python/xmlschema/xmlschema-3.4.2.ebuild b/dev-python/xmlschema/xmlschema-3.4.2.ebuild
new file mode 100644
index 000000000000..ffac0df6b109
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.4.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An XML Schema validator and decoder"
+HOMEPAGE="
+ https://github.com/sissaschool/xmlschema/
+ https://pypi.org/project/xmlschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/elementpath-5[${PYTHON_USEDEP}]
+ >=dev-python/elementpath-4.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/zope-hookable/Manifest b/dev-python/zope-hookable/Manifest
index 6f399c4e3460..c04aa7de129d 100644
--- a/dev-python/zope-hookable/Manifest
+++ b/dev-python/zope-hookable/Manifest
@@ -1 +1,2 @@
DIST zope.hookable-6.0.tar.gz 24013 BLAKE2B 808005d0993e22967bc7a73a7b8a26f2263dfc9f3f33d840495a233ea8686a5e700ee46cf0dad8e37aeebb0383ec51b15a4f98323daf4d6bb606fc1ab149f39e SHA512 33d1200a24fc664ed9c7942f71b003704fda21ac42f5acc24611838aa4e8096a27a5da01956ec824105d454a0580480ce8a262c8f5c4f24782ab11416d9fdafd
+DIST zope_hookable-7.0.tar.gz 21392 BLAKE2B e6b2921f68be1f5156fede45db2a71e6394785bd5e0a4aff86a5cf943b790e0d26163391bd448739ad074e8b792b37334e48c05086268509d980035bac260066 SHA512 f927a0e15aef9adca72f25c21f2c374d6235d8e3abca9d5d9832e9c8d9b70accebfec2cac339ae360d142e69f69f920c7b2bdbbf230c975fe2c362887380a34d
diff --git a/dev-python/zope-hookable/zope-hookable-7.0.ebuild b/dev-python/zope-hookable/zope-hookable-7.0.ebuild
new file mode 100644
index 000000000000..3704c02ccd78
--- /dev/null
+++ b/dev-python/zope-hookable/zope-hookable-7.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient creation of 'hookable' objects"
+HOMEPAGE="
+ https://pypi.org/project/zope.hookable/
+ https://github.com/zopefoundation/zope.hookable/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "/'setuptools'/d" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope/hookable/tests"
+}
diff --git a/dev-python/zope-i18nmessageid/Manifest b/dev-python/zope-i18nmessageid/Manifest
index 7c7ace7a5729..80cd9dde429c 100644
--- a/dev-python/zope-i18nmessageid/Manifest
+++ b/dev-python/zope-i18nmessageid/Manifest
@@ -1 +1,2 @@
DIST zope.i18nmessageid-6.1.0.tar.gz 31187 BLAKE2B 1e616fe67d42e686928af298507afd1c5e962b4fcf89269fc69c00726814e51dd49c5a602d9da2153d3c11cb8e80fd4a9dfea354ee413d69a2022fb5479858c3 SHA512 13ca8d6c145ac48217d0f4fae4ae7fa2129a8d37ceeea640dcedca8815587cc9507935f0cc070bf37307cc21269b1a9decd2d18ae1bc79fdb0128f59f7e4b43b
+DIST zope_i18nmessageid-7.0.tar.gz 27929 BLAKE2B fbe19aec71001b4779a390cf0fc596e86667e149900cf04eebb4d2b50a3cdad8f1bbd0f81c88e8841534540dacf4fed3ef91a1519d3364b32132c7c5f833f8c1 SHA512 91256e68fab4db59b6220f67ef42e09896f3643bea472218fbeefdea248a52fa018a7e6bef4777b5a02aa878195cc3e51d0408e96fcaef02747de4cb0fc0add6
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-7.0.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-7.0.ebuild
new file mode 100644
index 000000000000..8660dd75daec
--- /dev/null
+++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-7.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope support for i18nmessageid (tagging source of i18n strings)"
+HOMEPAGE="
+ https://pypi.org/project/zope.i18nmessageid/
+ https://github.com/zopefoundation/zope.i18nmessageid/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ !dev-python/namespace-zope
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "s:'setuptools'::" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}
diff --git a/dev-ruby/fiber-storage/fiber-storage-0.1.2.ebuild b/dev-ruby/fiber-storage/fiber-storage-0.1.2.ebuild
index 494051f194ac..ec61628a3e79 100644
--- a/dev-ruby/fiber-storage/fiber-storage-0.1.2.ebuild
+++ b/dev-ruby/fiber-storage/fiber-storage-0.1.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/ioquatix/fiber-storage/archive/refs/tags/v${PV}.tar.
LICENSE="MIT"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
all_ruby_prepare() {
sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
diff --git a/dev-ruby/i18n/Manifest b/dev-ruby/i18n/Manifest
index c9fcd571833b..61acc5bdc31b 100644
--- a/dev-ruby/i18n/Manifest
+++ b/dev-ruby/i18n/Manifest
@@ -1,5 +1,3 @@
-DIST i18n-1.13.0.tar.gz 74591 BLAKE2B e8b2a624c6ea02f030eacbbdf1ca9722d23785e51f31f5dd4a640f8ab74dfafc99131773619a5e2af724c7bcdbc0e63989b1552c148137bf15cf436f340c3c96 SHA512 4c2dc75ccb09ace90a5845f4c1325f0cb144c69b06b72a35728674deea5d869ed94fa5b18cf6b56d434cbad7e528150dedbb10ed91a6d15b7e05758117cf427e
DIST i18n-1.14.1.tar.gz 74855 BLAKE2B b01b5fefd5033352455110e4fda3d567a5033c6bb732dd11519a3859a3cc4d57bd4229ea3346f2e680575f6ac4d7038d4bcbfd0ea314d2e8b08f26858ffd22f6 SHA512 89a293c00c7e62e802823d8011142a0786268b4c8341a9e389182988f1372655b4c5410ee10d6632af2fee645fbbf2feda2ccc4669d59d44640d3fa2c34b9e86
-DIST i18n-1.14.3.tar.gz 74899 BLAKE2B aaf2041763a5c089972384bc6b5fa139cda05dfaf8ed48c4552ff83f3f114ae53dec2bf1564e8ea5e345f45cf37145eb1eb05c0f4c9fb3cbb3631d55c4c15396 SHA512 8b730dccb3584d55509be4cb0bda3fd9ffb0d2c943eb22ee592e408748bf2e3c0a98fce6ceb002093a6774d073b9a762d95589e89518e4a023f35b51d5db2ad2
-DIST i18n-1.14.4.tar.gz 74949 BLAKE2B 5b55c0d6434eec11ac2b7bc39c896381bf9f274f98a1012264a96dc2432a7ad7bababc5bb0c0980b8aeb9b644a933814a48eeef5a53825aeee553ed9631d3778 SHA512 929117b02babbc51c1dcf1643429cdef35d64d54fac7fd5d5603b85305b6e84f3cecfb4f28cf16fc708eb6252a25a22e05ac50d9a9c6def0f0ac6996b9ace7fa
DIST i18n-1.14.5.tar.gz 75739 BLAKE2B 10af6c88e5ab4d50dee156b944795525f4d79035f3c2369b379f70d7fa48b84cc26fe0855017b378b7c94f8b4ecdc37dd122f536d2b54c595d70c5c731ba5c64 SHA512 b6c6e333fff38228136ce55a75f466b4885542973e96eea0cbfb5c2ea1dd4780847e59b10090f8ecbc4aeb0de67258dcdbfc1812369b8d9f1d7597468f756677
+DIST i18n-1.14.6.tar.gz 75978 BLAKE2B e2c56a8600b94b91a32481c4f24bd8b47aee118aee87da0012ddd95e9d01a6c0db489fa0528ca0a9a37ec49124d41f4322eb09f0828f0a53c268d02da1c3b7d5 SHA512 5713e6e2576c16698333058bae3f1758ab71bc040c7feab2d3b51dfc6faa7a76539c6916dd3807e429e53b1a3bf22064cea7eb7b9dd731ddb9a04f06615803a6
diff --git a/dev-ruby/i18n/i18n-1.13.0.ebuild b/dev-ruby/i18n/i18n-1.13.0.ebuild
deleted file mode 100644
index 403d191f1a34..000000000000
--- a/dev-ruby/i18n/i18n-1.13.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby30 ruby31 ruby32"
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
-
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Add Internationalization support to your Ruby application"
-HOMEPAGE="http://rails-i18n.org/"
-SRC_URI="https://github.com/ruby-i18n/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE=""
-
-ruby_add_rdepend "dev-ruby/concurrent-ruby:1"
-
-# We need mocha:1.0 which corresponds to the Gemfiles used in each_ruby_test
-ruby_add_bdepend "test? (
- >=dev-ruby/activesupport-5.1
- dev-ruby/bundler
- >=dev-ruby/minitest-5.14:5
- >=dev-ruby/mocha-1.7.0:1.0
- dev-ruby/test_declarative )"
-
-all_ruby_prepare() {
- rm -f gemfiles/*.lock || die
-
- # Remove optional unpackaged oj gem
- sed -i -e '/oj/ s:^:#:' gemfiles/* || die
-
- # Update old test dependencies
- sed -i -e '/rake/ s/~>/>=/' -e 's/1.7.0/1.7/' -e '3igem "json"' gemfiles/* || die
-}
-
-each_ruby_test() {
- case ${RUBY} in
- *ruby32)
- versions="6.1 7.0"
- ;;
- *ruby31)
- versions="6.1 7.0"
- ;;
- *ruby30)
- versions="6.0 6.1 7.0"
- ;;
- esac
-
- for version in ${versions} ; do
- if has_version "dev-ruby/activesupport:${version}" ; then
- einfo "Running tests with activesupport ${version}"
- BUNDLE_GEMFILE="${S}/gemfiles/Gemfile.rails-${version}.x" ${RUBY} -S bundle exec ${RUBY} -S rake test || die
- fi
- done
-}
diff --git a/dev-ruby/i18n/i18n-1.14.3.ebuild b/dev-ruby/i18n/i18n-1.14.3.ebuild
deleted file mode 100644
index c0da1cda43e5..000000000000
--- a/dev-ruby/i18n/i18n-1.14.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby31 ruby32 ruby33"
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Add Internationalization support to your Ruby application"
-HOMEPAGE="http://rails-i18n.org/"
-SRC_URI="https://github.com/ruby-i18n/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-ruby_add_rdepend "
- dev-ruby/concurrent-ruby:1
- >=dev-ruby/racc-1.7:0
-"
-
-ruby_add_bdepend "
- test? (
- >=dev-ruby/activesupport-5.1
- dev-ruby/bundler
- >=dev-ruby/minitest-5.14:5
- dev-ruby/mocha:2
- dev-ruby/test_declarative
- )
-"
-
-all_ruby_prepare() {
- rm -f gemfiles/*.lock || die
-
- # Remove optional unpackaged oj gem
- sed -i -e '/oj/ s:^:#:' gemfiles/* || die
-
- # Update old test dependencies
- sed -i -e '3igem "json"' -e '4igem "racc"' gemfiles/* || die
-
- # Use mocha 2 to avoid minitest deprecation issues.
- sed -i -e 's:mocha/setup:mocha/minitest:' test/test_helper.rb || die
-}
-
-each_ruby_test() {
- case ${RUBY} in
- *ruby33)
- versions="7.0 7.1"
- ;;
- *ruby32)
- versions="6.1 7.0 7.1"
- ;;
- *ruby31)
- versions="6.1 7.0 7.1"
- ;;
- esac
-
- for version in ${versions} ; do
- if has_version "dev-ruby/activesupport:${version}" ; then
- einfo "Running tests with activesupport ${version}"
- BUNDLE_GEMFILE="${S}/gemfiles/Gemfile.rails-${version}.x" ${RUBY} -S bundle exec ${RUBY} -S rake test || die
- fi
- done
-}
diff --git a/dev-ruby/i18n/i18n-1.14.4.ebuild b/dev-ruby/i18n/i18n-1.14.6.ebuild
index c0da1cda43e5..3daace5d00e6 100644
--- a/dev-ruby/i18n/i18n-1.14.4.ebuild
+++ b/dev-ruby/i18n/i18n-1.14.6.ebuild
@@ -35,14 +35,11 @@ ruby_add_bdepend "
all_ruby_prepare() {
rm -f gemfiles/*.lock || die
- # Remove optional unpackaged oj gem
- sed -i -e '/oj/ s:^:#:' gemfiles/* || die
-
- # Update old test dependencies
- sed -i -e '3igem "json"' -e '4igem "racc"' gemfiles/* || die
-
- # Use mocha 2 to avoid minitest deprecation issues.
- sed -i -e 's:mocha/setup:mocha/minitest:' test/test_helper.rb || die
+ # Remove optional unpackaged oj gem.
+ # Make mocha dependency more lenient.
+ sed -e '/oj/ s:^:#:' \
+ -e '/mocha/ s/2.1.0/2.1/' \
+ -i gemfiles/* || die
}
each_ruby_test() {
diff --git a/dev-ruby/jbuilder/Manifest b/dev-ruby/jbuilder/Manifest
index 76ea2b89c129..88bdebc38095 100644
--- a/dev-ruby/jbuilder/Manifest
+++ b/dev-ruby/jbuilder/Manifest
@@ -1 +1,2 @@
DIST jbuilder-2.12.0.gem 28160 BLAKE2B e4e32c7d6b71b0daecd0148d74179115b14bb8450c00315518fa31c30c1b510534329804f8050da07edb338d642df9067b28e6b14b7627231518732d7e1f2d3c SHA512 6c5a9bf4bc7c60c8c4f12d94265eee7e1888d5a4aa8653f294ef58aeb936c70e207d559d9b3dd5ce5eaea1847c73b1bf2e4e2d22de3d7a5e66dfb95fa60bc4a7
+DIST jbuilder-2.13.0.gem 28672 BLAKE2B 44f2c93524fc6263407d6851835dada03dca285fe7b71795b9fd0aaab27786044418e59102f0a046b0cf7dfcd6040128edebe1a53db16bdad67637e1f0aa24aa SHA512 0738879152e1b54df2ccb37f39ec8d9dc82eb5838c6af297ec15dbbb38a4781053f1022e864fbc080b4f1de7c9c356869c44f096e771175b887967e89258639a
diff --git a/dev-ruby/jbuilder/jbuilder-2.13.0-r1.ebuild b/dev-ruby/jbuilder/jbuilder-2.13.0-r1.ebuild
new file mode 100644
index 000000000000..789373cb79f1
--- /dev/null
+++ b/dev-ruby/jbuilder/jbuilder-2.13.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_BINWRAP=""
+RUBY_FAKEGEM_TASK_TEST="CI=true test"
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Create JSON structures via a Builder-style DSL"
+HOMEPAGE="https://github.com/rails/jbuilder"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE="test"
+
+ruby_add_rdepend "
+ || ( dev-ruby/activesupport:7.2 dev-ruby/activesupport:7.1 dev-ruby/activesupport:7.0 dev-ruby/activesupport:6.1 )
+ || ( dev-ruby/actionview:7.2 dev-ruby/actionview:7.1 dev-ruby/actionview:7.0 dev-ruby/actionview:6.1 )
+"
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/activemodel-5.0.0
+ >=dev-ruby/railties-5.0.0
+ dev-ruby/mocha:2
+)"
+
+all_ruby_prepare() {
+ sed -i -e '/bundler/ s:^:#:' Rakefile test/test_helper.rb || die
+}
diff --git a/dev-ruby/jwt/Manifest b/dev-ruby/jwt/Manifest
index 16e088a422e2..d9da9b1f9055 100644
--- a/dev-ruby/jwt/Manifest
+++ b/dev-ruby/jwt/Manifest
@@ -1,3 +1,4 @@
DIST jwt-2.7.1.tar.gz 75003 BLAKE2B 5c43fd78cf22960749358cbfcbfb5c47dce935ef8fd83235137a963572b95b19583399e142136663d113df472ebfb5dd976ce60156b75cceeff387950b6190b0 SHA512 efcdd81bc472a18764e0033f1040e9e2506952cbfb691acfc1ad90a5b34ebac864911e0cfeb28b82ac2ce1da7e3578a6677c0b113d1e45a81a3f4c4f8fed1047
DIST jwt-2.8.1.tar.gz 71939 BLAKE2B 07eb3df24165c72f13a77dfff658a94574e4fc5b5aed3b56041c58cf9bfb8eba663e76de7eb91e2870bbb8dcdeb79b9c2a7888d29f41feee06e2f07a825b90b9 SHA512 df4ad49f223bba0ace69a37d229868c2deabed5c09fd84e5e4ce4021242cef9e30c07a592b5bf54af6bdcfec552487d808620cf020d242757fc4310d201469c2
DIST jwt-2.8.2.tar.gz 72273 BLAKE2B 808c6144b31a4d042a161c2e9fe3008995e45ed2cf1df9f454a84e04a613f23a0394e87644dbbdd7c94272ea57c2568defe63c9d71bfcf3c02caa81b345d4240 SHA512 d92cfe8c5196c3efd4cc42751cef956cf35758e980a959f554b61e148dfcaddfd9fc3d05bb57a043eca4c03f8240086951ad24bc676fb7d0f29a677dab4b270e
+DIST jwt-2.9.0.tar.gz 74870 BLAKE2B f7b697294e1f79924ea76d8712b85c22a7c60baf34bc12bc8cd1d606fe6b94dbc13087eecafcdf5fbaf3684cf4bd55d46b0c6f58c6c4fa26a671063a79293529 SHA512 5ef5a58e884498357ee1783e1c7a93fcfe90cae4a3a75d5700e08c068601215c3fcd83e3b6d52c55cb5f0a06a9dd2dfae8c81aa7fd5f08314c5fd8234acb97b7
diff --git a/dev-ruby/jwt/jwt-2.9.0.ebuild b/dev-ruby/jwt/jwt-2.9.0.ebuild
new file mode 100644
index 000000000000..8b4de2060122
--- /dev/null
+++ b/dev-ruby/jwt/jwt-2.9.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_BINWRAP=""
+RUBY_FAKEGEM_GEMSPEC="ruby-jwt.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A Ruby implementation of JSON Web Token draft 06"
+HOMEPAGE="https://github.com/jwt/ruby-jwt"
+SRC_URI="https://github.com/jwt/ruby-jwt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="eddsa test"
+
+RUBY_S="ruby-jwt-${PV}"
+
+ruby_add_rdepend "dev-ruby/base64 eddsa? ( dev-ruby/rbnacl )"
+
+ruby_add_bdepend "test? ( dev-ruby/rbnacl )"
+
+all_ruby_prepare() {
+ sed -i -e "/simplecov/ s:^:#:" \
+ -e '/^SimpleCov.start/,/^end/ s:^:#:' \
+ spec/spec_helper.rb || die
+
+ sed -i -e 's/git ls-files -z/find * -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
+}
diff --git a/dev-ruby/jwt/metadata.xml b/dev-ruby/jwt/metadata.xml
index e7fe56f5d26f..4d2cbcfc1555 100644
--- a/dev-ruby/jwt/metadata.xml
+++ b/dev-ruby/jwt/metadata.xml
@@ -8,4 +8,7 @@
<upstream>
<remote-id type="github">jwt/ruby-jwt</remote-id>
</upstream>
+ <use>
+ <flag name="eddsa">Support EdDSA algorithm using dev-ruby/rbnacl</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-ruby/memo_wise/Manifest b/dev-ruby/memo_wise/Manifest
index 54a79f3ecda8..7966d965397a 100644
--- a/dev-ruby/memo_wise/Manifest
+++ b/dev-ruby/memo_wise/Manifest
@@ -1,2 +1,2 @@
-DIST memo_wise-1.8.0.tar.gz 186795 BLAKE2B afb1a027c6c981601d51262f13508fb8cd0074f6283bdb953537e300cc4970856765db60a92afa8331139ff98e50ba97529366f9adcd4d1ab93c93f52dcd2e48 SHA512 173dbab6fe93f21ad1ead34f4fbe8b0425747e1f2640472b9a1e4b79b935260cc0163d907d8ec423152d91165f32f2e8f1691dcdbd15830f375473415089ce6e
+DIST memo_wise-1.10.0.tar.gz 104716 BLAKE2B 57a2dfc9303bf579c7571c35ac182deea7efeaf2685f2986c5104131619aab2b3a7b8f5cd72294078a73eb2082463a3c1a0e6d4e87c5d5941b69dcdeac0368ec SHA512 970cab6e63bbfa08c09ce5bf6aa56ba2f0a89023cb02b9b8d5d88a36a95ea7b3f6bef19ec8f145f905ad3c1c8087ff8bcbfef3cdea66d4e98f07b2c9f5ed5d1c
DIST memo_wise-1.9.0.tar.gz 187663 BLAKE2B 02028a5f9ceae77702f3e536bbd33e17232ea1f443da70101e87ef0bb449eb387602fe710d20b44ffa39d112aaf8f2f8cd2897ed0e941c56ba8a6792c2f6cd14 SHA512 bdab3eca584c68055e806f825cc9d29c09f3798f0b5bffb634823021dc26227cbb85ae562193f1ed288275583e9939cd0eb4cd611da23d0c0c305bd283eea618
diff --git a/dev-ruby/memo_wise/memo_wise-1.8.0.ebuild b/dev-ruby/memo_wise/memo_wise-1.10.0.ebuild
index 32095482d139..1c45be13eb68 100644
--- a/dev-ruby/memo_wise/memo_wise-1.8.0.ebuild
+++ b/dev-ruby/memo_wise/memo_wise-1.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,6 @@ SRC_URI="https://github.com/panorama-ed/memo_wise/archive/v${PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~riscv"
-IUSE=""
all_ruby_prepare() {
sed -i -e '/bundler/ s:^:#:' spec/spec_helper.rb || die
diff --git a/dev-ruby/moneta/moneta-1.6.0-r1.ebuild b/dev-ruby/moneta/moneta-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..2152c96fc62e
--- /dev/null
+++ b/dev-ruby/moneta/moneta-1.6.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32"
+
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+# test is disabled for now. It requires many packages. Test suite also
+# takes very long run time and has high memory consumption.
+
+RUBY_FAKEGEM_EXTRADOC="CHANGES README.md SPEC.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A unified interface to key/value stores"
+HOMEPAGE="https://github.com/moneta-rb/moneta"
+SRC_URI="https://github.com/moneta-rb/moneta/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+ruby_add_depend "test? ( dev-ruby/bson dev-ruby/ox dev-ruby/rantly dev-ruby/sqlite3 dev-ruby/tokyocabinet )"
+
+all_ruby_prepare() {
+ sed -e "s/__dir__/'.'/" \
+ -e "s/_relative//" \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Remove specs for unpackaged or difficult to set up dependencies.
+ rm -f spec/active_support/cache_moneta_store_spec.rb \
+ spec/moneta/adapters/memcached/adapter_memcached_spec.rb \
+ spec/moneta/adapters/memcached/standard_memcached_spec.rb \
+ spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb \
+ spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb \
+ spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb \
+ spec/moneta/proxies/shared/shared_{tcp,unix}_spec.rb \
+ spec/moneta/proxies/transformer/transformer_{bencode,bert,bzip2,lz4,lzma,lzo,marshal_city*,php,snappy,tnet}_spec.rb \
+ spec/moneta/proxies/weak_create/weak_create_spec.rb \
+ spec/moneta/proxies/weak_each_key/weak_each_key_spec.rb \
+ spec/moneta/proxies/weak_increment/weak_increment_spec.rb \
+ spec/rack/session_moneta_spec.rb || die
+ rm -rf spec/moneta/adapters/{couch,daybreak,dbm,fog,gdbm,hbase,leveldb,lmdb,localmemcache,mongo,riak,sdbm,sequel,tdb,tokyotyrant} || die
+
+ # Fails for other reasons (probably fixable in the future)
+ rm -rf spec/moneta/adapters/activesupportcache/standard_activesupportcache_spec.rb \
+ spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb \
+ spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb \
+ spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb \
+ spec/moneta/adapters/restclient || die
+
+ # Requires a live server to be present
+ rm -rf spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb \
+ spec/moneta/adapters/activerecord/standard_activerecord_spec.rb \
+ spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb \
+ spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb \
+ spec/moneta/adapters/redis || die
+}
diff --git a/dev-ruby/rubyntlm/Manifest b/dev-ruby/rubyntlm/Manifest
index 76008a6e8464..026e05398fa3 100644
--- a/dev-ruby/rubyntlm/Manifest
+++ b/dev-ruby/rubyntlm/Manifest
@@ -1,3 +1,2 @@
-DIST rubyntlm-0.6.3.gem 32768 BLAKE2B f9e21068e684620e2e54c685132d034a805fefa4eb90261babac9d58e38167412e0257f0d9b018603772dbd6f152eb9478340d7a390174bc908d1ac8640fcff4 SHA512 7e50c1bf63477fead9189a5ade06db65a3fad04d82bccfbffb513517ab97766053c800af9551e027dedc3aee6fb35288c234d98b1a02815299bcbc463e0edd87
DIST rubyntlm-0.6.4.gem 35840 BLAKE2B 99f9f8ac253ba604a3d3821b09a49308812b40a8398fc797d0e1d20884f91255a67f7ece691b1290a35d547757477e3238f27b36362355f13b8a051a6797f8d0 SHA512 04e0ffd6e34e2eeefcee065ccd15269a43a4c6ead743f5280106cdb9caad422604f7a39d81096d76ff98d28394e8f47cc85c7efae0b4b7d80c835e8291f52156
DIST rubyntlm-0.6.5.gem 36352 BLAKE2B 3b03d50d09ff70261301526a8727dffa49e510a8e94d75382160e0eb8634ba82066e57c35bb2511e859867a952d9d4b2eb466404e1f0174264ac4feb22e78260 SHA512 6b55d06db1ce91600b858ace4304dc7b4d94158fb4389b4244aaf8857b9e32d16ac92a2052f6e235b1e47579e180959a257e0716892faa4a4c51b89e060193c0
diff --git a/dev-ruby/rubyntlm/rubyntlm-0.6.3-r1.ebuild b/dev-ruby/rubyntlm/rubyntlm-0.6.3-r1.ebuild
deleted file mode 100644
index fcb483e3a3ce..000000000000
--- a/dev-ruby/rubyntlm/rubyntlm-0.6.3-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31 ruby32"
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Ruby/NTLM provides message creator and parser for the NTLM authentication"
-HOMEPAGE="https://github.com/winrb/rubyntlm"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc64 ~x86"
-
-all_ruby_prepare() {
- sed -i -e '/simplecov/ s:^:#:' spec/spec_helper.rb || die
-}
diff --git a/dev-ruby/rubyntlm/rubyntlm-0.6.5.ebuild b/dev-ruby/rubyntlm/rubyntlm-0.6.5.ebuild
index 5800060c0f88..7441bf434fb5 100644
--- a/dev-ruby/rubyntlm/rubyntlm-0.6.5.ebuild
+++ b/dev-ruby/rubyntlm/rubyntlm-0.6.5.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://github.com/winrb/rubyntlm"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~ppc64 ~x86"
ruby_add_depend "dev-ruby/base64"
diff --git a/dev-ruby/selenium-webdriver/selenium-webdriver-4.1.0.ebuild b/dev-ruby/selenium-webdriver/selenium-webdriver-4.1.0.ebuild
deleted file mode 100644
index e76c9e2a9822..000000000000
--- a/dev-ruby/selenium-webdriver/selenium-webdriver-4.1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby27 ruby30 ruby31 ruby32"
-
-# NOTE: this package contains precompiled code. It appears that all
-# source code can be found at https://code.google.com/p/selenium/ but the
-# repository is not organized in a way so that we can easily rebuild the
-# suited shared object. We'll just try our luck with the precompiled
-# objects for now.
-
-RUBY_FAKEGEM_RECIPE_DOC="none"
-RUBY_FAKEGEM_EXTRADOC="CHANGES README.md"
-
-RUBY_FAKEGEM_TASK_TEST=""
-
-RUBY_FAKEGEM_GEMSPEC="selenium-webdriver.gemspec"
-
-RUBY_QA_ALLOWED_LIBS="x_ignore_nofocus.so"
-QA_PREBUILT="*/x_ignore_nofocus.so"
-
-inherit ruby-fakegem
-
-DESCRIPTION="This gem provides Ruby bindings for WebDriver"
-HOMEPAGE="https://github.com/seleniumhq/selenium"
-
-LICENSE="Apache-2.0"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE=""
-
-ruby_add_rdepend ">=dev-ruby/childprocess-0.5:2
- >=dev-ruby/rexml-3.2.5:3
- >=dev-ruby/rubyzip-1.2.2:*"
diff --git a/dev-ruby/sus-fixtures-async/Manifest b/dev-ruby/sus-fixtures-async/Manifest
index b55b701b10b0..2eafbf5dba4c 100644
--- a/dev-ruby/sus-fixtures-async/Manifest
+++ b/dev-ruby/sus-fixtures-async/Manifest
@@ -1,5 +1,3 @@
-DIST sus-fixtures-async-0.1.1.tar.gz 5017 BLAKE2B f293d9fe336b05e510a82c4337250f48b871eab8c38b7d9587a6402d19689197eb6a2b1f7f14e7b5823246b6f14d104e7e49f14f84a980392dd545543ffcd733 SHA512 cca073491d143b0ceaff34ada08d416ea43a035bc887c6dec02f62372724d891f47e9dfa8d749f6e485e7d14da8c395dc67185ed0a91d9ea0eb5466d3164c378
-DIST sus-fixtures-async-0.1.2.tar.gz 4988 BLAKE2B da9bfec59489ad1a2fdf0e86a75083e36826d0bb73d6fd482bdae0e842421c59db943669eb101ed4488f963130c387e4b5eed88b4388b4b4ea19cefd2ab1b9db SHA512 effc602b6ea4b3ed56fe9c578a621195ef19cc6e7e858fa06b4a9ecfbc1d27db6b302a7f6567d8b711165eff3ab0f750971eef0c02262855ee35b9eaf4448c1e
DIST sus-fixtures-async-0.1.3.tar.gz 4991 BLAKE2B a2e8d5ff1974e0f69d7f821194fa1386efc8fc1e4592c97da99863f32d0d6002c9659ec2e8341d64e13a388807c16b0b816170c60d4f1efa985a58cf7baa58bb SHA512 1361de64829f242bcef47fc152e7a18e4b261ad5ed54be7a83111781b6f9ed196385303387f155a02a7628a91c7560654dc0c1c214419a7256133ce559627dbc
DIST sus-fixtures-async-0.1.4.tar.gz 6622 BLAKE2B 8dad4dbc634c1b41f10197146bbf59e491333b0dcbb095feba82cbc2bdfc648822dc0e4ffe7d08fbf26e9e113ee4e039680ae96e6178ad32ad13afbd08b24b92 SHA512 bd3741ce31a48f578f0eba6af172f4d870cb6f8f2f0ac2a42e41fb6c95bacbbfa89322b8f9442722e7ba91fab879609262c0a775bc9a7ea72c454b847f46ef5f
DIST sus-fixtures-async-0.2.0.tar.gz 6898 BLAKE2B 38612be4c645628179fbcc95c9fdbac6b3f5bf97e9ba43e7b8e69d45b00d029d91241ca482c014ed03f8f077aeff35b132d39f58bac47ded5520757b62133aa9 SHA512 0ef78b4f8edb1d48ac0e4af81d91c287b7752bc8c5b92db94227f5d0937f40ea4c84b57ca0b1bfeba77c7bda114e4387c490dc4ce67f23daa4afe13ae9994fb6
diff --git a/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild b/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild
deleted file mode 100644
index cee9eac085d1..000000000000
--- a/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby27 ruby30 ruby31 ruby32"
-
-RUBY_FAKEGEM_EXTRADOC="readme.md"
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-RUBY_FAKEGEM_RECIPE_TEST="sus"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Convenient fixture for testing async components in a reactor"
-HOMEPAGE="https://github.com/socketry/sus-fixtures-async"
-SRC_URI="https://github.com/socketry/sus-fixtures-async/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-
-ruby_add_rdepend "
- dev-ruby/async
- dev-ruby/sus
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-tests-require.patch
-)
-
-all_ruby_prepare() {
- sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
-
- # Remove the sus configuration which enabled coverage checks.
- # Its dependency is not packaged.
- rm -f config/sus.rb || die
-}
diff --git a/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.2.ebuild b/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.2.ebuild
deleted file mode 100644
index 1e28b846551a..000000000000
--- a/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby31 ruby32"
-
-RUBY_FAKEGEM_EXTRADOC="readme.md"
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-RUBY_FAKEGEM_RECIPE_TEST="sus"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Convenient fixture for testing async components in a reactor"
-HOMEPAGE="https://github.com/socketry/sus-fixtures-async"
-SRC_URI="https://github.com/socketry/sus-fixtures-async/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-ruby_add_rdepend "
- dev-ruby/async
- >=dev-ruby/sus-0.10:0
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-tests-require.patch
-)
-
-all_ruby_prepare() {
- sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
-
- # Remove the sus configuration which enabled coverage checks.
- # Its dependency is not packaged.
- rm -f config/sus.rb || die
-}
diff --git a/dev-ruby/timecop/Manifest b/dev-ruby/timecop/Manifest
index 4f332b255f86..f07869614f41 100644
--- a/dev-ruby/timecop/Manifest
+++ b/dev-ruby/timecop/Manifest
@@ -1,4 +1,2 @@
DIST timecop-0.9.10.tar.gz 20101 BLAKE2B 05fa8fae57700c4d18f3fea51e35be5fa425ac8487333edfecde5a417e0d192d4d03047909c7e8b2e32c885786159fa1be36de466f9920cde989a8d55d248026 SHA512 17a10e5aa951cccd561ebb098eb2078e35b4bd4860bf9bfe865471eee6def4e724560905b133bfec840445eaac8b12ae8eeae01e460f25a9415c3c2748dcf8fd
DIST timecop-0.9.6.gem 17408 BLAKE2B 53afa8313be94fb8774812b014f11d9a134b51b7dafcc0fd8d91d10756e042bfd6d56b10f8072c1d606519e532beb2e02032bd4e3f6d45b4cf41dd968ba86224 SHA512 a5cbdf38caa5bccb9887a6abb5d99bdd1470c9ff8d52d19f0c46f116dc73b62512f76021adc1ec98ca4abe85ca61a4ab1e821d80980fa7ab3c821abd13b9695a
-DIST timecop-0.9.7.tar.gz 17818 BLAKE2B c978a3765864963b4dbbb8a9cf2172208fa7b66afd68417a057bba44b6d35141bab5182bef3404d6233f394e9d874026886dc85b2e400908bdbf2f3af273b6bf SHA512 4db43b655225b8017769497b5ffc88d7b6d728677439ade09d8e0b8e8ef01c0307e49575ed9e1d2ac379cd222a5a0d34feae018d15ee34b70934e93a019a76e6
-DIST timecop-0.9.8.tar.gz 17936 BLAKE2B bb66dac74df498b6a5c284805c2c8a486523d43c2923c2e11f65d24bc2e9ad59c3bdd356bf3e93946859ed9e95ac9924e48747afb17ec81a5378e0370d7dff20 SHA512 cbf74e8d4e459f17cb841fee14353feccfa26e401d999521abb5653639a3d6b8e0dbd73d4317cb18b185d33d23e20e7603992cd6e2752ac74cbf0c0c927263b3
diff --git a/dev-ruby/timecop/timecop-0.9.7.ebuild b/dev-ruby/timecop/timecop-0.9.7.ebuild
deleted file mode 100644
index 5c78acdec7fd..000000000000
--- a/dev-ruby/timecop/timecop-0.9.7.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby30 ruby31 ruby32"
-
-RUBY_FAKEGEM_BINWRAP=""
-RUBY_FAKEGEM_TASK_TEST="test"
-
-RUBY_FAKEGEM_TASK_DOC="rdoc"
-RUBY_FAKEGEM_DOCDIR="rdoc"
-RUBY_FAKEGEM_EXTRADOC="README.markdown"
-RUBY_FAKEGEM_GEMSPEC="timecop.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="A gem providing 'time travel' and 'time freezing' capabilities"
-HOMEPAGE="https://github.com/travisjeffery/timecop"
-SRC_URI="https://github.com/travisjeffery/timecop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE=""
-
-ruby_add_bdepend "test? ( dev-ruby/activesupport dev-ruby/mocha )"
-
-all_ruby_prepare() {
- sed -e '/bundler/ s:^:#:' -e '/History.rdoc/d' \
- -i Rakefile test/test_helper.rb test/timecop_with_active_support_test.rb || die
- sed -i -e '/rubygems/ a\gem "test-unit"' \
- -e '/minitest\/rg/ s:^:#:' -e '/pry/ s:^:#:' test/test_helper.rb || die
-}
-
-each_ruby_test() {
- for f in test/*_test.rb ; do
- ${RUBY} -Ilib $f || die
- done
-}
diff --git a/dev-ruby/timecop/timecop-0.9.8.ebuild b/dev-ruby/timecop/timecop-0.9.8.ebuild
deleted file mode 100644
index c8a8081ee674..000000000000
--- a/dev-ruby/timecop/timecop-0.9.8.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby31 ruby32 ruby33"
-
-RUBY_FAKEGEM_BINWRAP=""
-RUBY_FAKEGEM_TASK_TEST="test"
-
-RUBY_FAKEGEM_TASK_DOC="rdoc"
-RUBY_FAKEGEM_DOCDIR="rdoc"
-RUBY_FAKEGEM_EXTRADOC="README.markdown"
-RUBY_FAKEGEM_GEMSPEC="timecop.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="A gem providing 'time travel' and 'time freezing' capabilities"
-HOMEPAGE="https://github.com/travisjeffery/timecop"
-SRC_URI="https://github.com/travisjeffery/timecop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE=""
-
-ruby_add_bdepend "test? ( dev-ruby/activesupport dev-ruby/mocha )"
-
-all_ruby_prepare() {
- sed -e '/bundler/ s:^:#:' -e '/History.rdoc/d' \
- -i Rakefile test/test_helper.rb test/timecop_with_active_support_test.rb || die
- sed -i -e '/rubygems/ a\gem "test-unit"' \
- -e '/minitest\/rg/ s:^:#:' -e '/pry/ s:^:#:' test/test_helper.rb || die
-}
-
-each_ruby_test() {
- for f in test/*_test.rb ; do
- ${RUBY} -Ilib $f || die
- done
-}
diff --git a/dev-scheme/akku/Manifest b/dev-scheme/akku/Manifest
index f2de041e47b6..f92298f6e8f6 100644
--- a/dev-scheme/akku/Manifest
+++ b/dev-scheme/akku/Manifest
@@ -1 +1,2 @@
+DIST akku-v1.1.0.tar.bz2 415934 BLAKE2B 71bed28261307e0bff9f0c277795c8b6b4621d13385dc21290408ee189467b15a6e9cd607522b5881328ab8c9e99331e76846d7cf1e2c655b7591dc06294de22 SHA512 8eb61db9196ba95aa6f45acab609e2daf31d52245907ce49c2d2e2d34ee9b2da91baefd3bb2600d0e215bbcefc5e08a0f51555e362d726d7b1fc988215df6ad6
DIST akku-v1.1.0.tar.gz 492996 BLAKE2B 7e3d549ed7f7fc0b6e84a41ff03d66398d2a464d6aa65dc92780a2b657d4476fef592543fba0fefe0da8ee429d97d4dcc0cf13ecd53c7be425b3f292b7b1c93d SHA512 e728bd80aaa21ca896e054e71a17ee519608b7c436f9613c688dba666f0120562174b7dca3156299528c1063a74e8faa8b8a77d1b7166d7506dec6b51d555825
diff --git a/dev-scheme/akku/akku-1.1.0-r100.ebuild b/dev-scheme/akku/akku-1.1.0-r100.ebuild
new file mode 100644
index 000000000000..e0757d0bb958
--- /dev/null
+++ b/dev-scheme/akku/akku-1.1.0-r100.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Language package manager for Scheme"
+HOMEPAGE="https://akkuscm.org/"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/akkuscm/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/akkuscm/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+# tests require network access
+RESTRICT="test"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ net-misc/curl[ssl]
+"
+DEPEND="${RDEPEND}"
+
+# Installs into its own path
+# https://gitlab.com/akkuscm/akku/-/commit/d25da297fec2a2b16427359a2cbb0ec745dd8c58
+QA_PREBUILT="usr/*/${PN}/guile/*/site-ccache/*"
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_compile() {
+ touch bootstrap.db || die
+
+ guile_src_compile
+}
diff --git a/dev-scheme/bytestructures/bytestructures-2.0.2-r100.ebuild b/dev-scheme/bytestructures/bytestructures-2.0.2-r100.ebuild
new file mode 100644
index 000000000000..1739ac8b7c62
--- /dev/null
+++ b/dev-scheme/bytestructures/bytestructures-2.0.2-r100.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Structured access to bytevector contents"
+HOMEPAGE="https://github.com/TaylanUB/scheme-bytestructures/"
+SRC_URI="https://github.com/TaylanUB/scheme-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/scheme-${P}"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/fibers/fibers-1.2.0_p20230522-r100.ebuild b/dev-scheme/fibers/fibers-1.2.0_p20230522-r100.ebuild
new file mode 100644
index 000000000000..c27f6e424d58
--- /dev/null
+++ b/dev-scheme/fibers/fibers-1.2.0_p20230522-r100.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+[[ ${PV} == *_p20230522 ]] && COMMIT=83712f630a976e3084329c9917c40bde19fcc7e5
+
+DESCRIPTION="Lightweight concurrency facility for Guile Scheme"
+HOMEPAGE="https://github.com/wingo/fibers/
+ https://github.com/wingo/fibers/wiki/Manual/"
+SRC_URI="https://github.com/wingo/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ guile_foreach_impl econf --disable-Werror
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-scheme/goosh/goosh-1.3-r100.ebuild b/dev-scheme/goosh/goosh-1.3-r100.ebuild
new file mode 100644
index 000000000000..a5bff0f6faef
--- /dev/null
+++ b/dev-scheme/goosh/goosh-1.3-r100.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
+DESCRIPTION="Small process-control library for Guile"
+HOMEPAGE="http://arglist.com/guile/"
+SRC_URI="http://arglist.com/guile/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+BDEPEND="${RDEPEND}"
diff --git a/dev-scheme/guile-colorized/guile-colorized-0.1_p20191205-r100.ebuild b/dev-scheme/guile-colorized/guile-colorized-0.1_p20191205-r100.ebuild
new file mode 100644
index 000000000000..d8f4c69f42d0
--- /dev/null
+++ b/dev-scheme/guile-colorized/guile-colorized-0.1_p20191205-r100.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
+DESCRIPTION="Colorized REPL for GNU Guile"
+HOMEPAGE="https://gitlab.com/NalaGinrut/guile-colorized/"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/NalaGinrut/${PN}.git"
+else
+ # Latest release (before this commit from 2019) was in 2015
+ COMMIT_SHA="1625a79f0e31849ebd537e2a58793fb45678c58f"
+ SRC_URI="https://gitlab.com/NalaGinrut/${PN}/-/archive/${COMMIT_SHA}.tar.bz2 -> ${P}.tar.bz2"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-${COMMIT_SHA}"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ my_install() {
+ local loadpath=$(${GUILE} -c '(display (string-append (car %load-path) "/ice-9"))')
+ mkdir -p "${SLOTTED_D}${loadpath}" || die
+ emake -C "${S}" TARGET="${SLOTTED_D}${loadpath}" install
+ }
+ guile_foreach_impl my_install
+ guile_merge_roots
+ guile_unstrip_ccache
+
+ einstalldocs
+}
diff --git a/dev-scheme/guile-colorized/guile-colorized-9999.ebuild b/dev-scheme/guile-colorized/guile-colorized-9999.ebuild
index 79eef16351ba..d8f4c69f42d0 100644
--- a/dev-scheme/guile-colorized/guile-colorized-9999.ebuild
+++ b/dev-scheme/guile-colorized/guile-colorized-9999.ebuild
@@ -1,8 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
DESCRIPTION="Colorized REPL for GNU Guile"
HOMEPAGE="https://gitlab.com/NalaGinrut/guile-colorized/"
@@ -20,20 +23,20 @@ fi
LICENSE="GPL-3"
SLOT="0"
-RDEPEND=">=dev-scheme/guile-2.0.9:="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
- # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
- find "${S}" -name "*.scm" -exec touch {} + || die
-}
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
src_install() {
- einstalldocs
+ my_install() {
+ local loadpath=$(${GUILE} -c '(display (string-append (car %load-path) "/ice-9"))')
+ mkdir -p "${SLOTTED_D}${loadpath}" || die
+ emake -C "${S}" TARGET="${SLOTTED_D}${loadpath}" install
+ }
+ guile_foreach_impl my_install
+ guile_merge_roots
+ guile_unstrip_ccache
- local loadpath=$(guile -c '(display (string-append (car %load-path) "/ice-9"))')
- mkdir -p "${D}${loadpath}"
- emake TARGET="${D}${loadpath}" install
+ einstalldocs
}
diff --git a/dev-scheme/guile-config/guile-config-0.5.1-r100.ebuild b/dev-scheme/guile-config/guile-config-0.5.1-r100.ebuild
new file mode 100644
index 000000000000..3b2f6ea9a42a
--- /dev/null
+++ b/dev-scheme/guile-config/guile-config-0.5.1-r100.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile application configuration parsing library"
+HOMEPAGE="https://gitlab.com/a-sassmannshausen/guile-config/"
+SRC_URI="https://gitlab.com/a-sassmannshausen/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/guile-dbd-postgresql/Manifest b/dev-scheme/guile-dbd-postgresql/Manifest
index c65f56f71ecb..3a9066697cb9 100644
--- a/dev-scheme/guile-dbd-postgresql/Manifest
+++ b/dev-scheme/guile-dbd-postgresql/Manifest
@@ -1 +1,2 @@
DIST guile-dbi-2.1.8.tar.gz 85842 BLAKE2B 6be2f559bd0b194153d3b6659a6f794227c7b0d5c4f9f9f927398fa5af59913a4a56ef12b6e69756c66275b5dbad6861eea7a92adf4e247ca14ad017aa1daa30 SHA512 f3bb94feebe472fc23e891634c5281bc7e7597574ab7acb4b9cdfa59ee6510723550b2cfb1df3f0d9adc919ce0000478e78a6c2f227ca5dc8b50f2804ec0e37a
+DIST guile-dbi-2.1.9.tar.gz 90514 BLAKE2B f4adeb33636972c33f5bdb40c906713b35bec4b1d3afc9fbcd55d74d1d5a957b524bbefeb04e9e5ff1cd17e6a40e218d84220f8eaeeaee09bf67604fa1e87e18 SHA512 2f6ec4c792b487b2552eda06b3ee3e470ae0e603e30abafacfb597281a44c53838d7b16d447cf1ee35f9b994c5b0ed1bbf3497eb1e64e783017898e30d82d427
diff --git a/dev-scheme/guile-dbd-postgresql/guile-dbd-postgresql-2.1.9.ebuild b/dev-scheme/guile-dbd-postgresql/guile-dbd-postgresql-2.1.9.ebuild
new file mode 100644
index 000000000000..917fa0737728
--- /dev/null
+++ b/dev-scheme/guile-dbd-postgresql/guile-dbd-postgresql-2.1.9.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile DBI driver for PostgreSQL"
+HOMEPAGE="https://github.com/opencog/guile-dbi/"
+SRC_URI="https://github.com/opencog/guile-dbi/archive/guile-dbi-${PV}.tar.gz"
+S="${WORKDIR}"/guile-dbi-guile-dbi-${PV}/${PN}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-db/postgresql:*
+ >=dev-scheme/guile-dbi-2.1.9[${GUILE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-scheme/guile-dbd-sqlite3/Manifest b/dev-scheme/guile-dbd-sqlite3/Manifest
index c65f56f71ecb..3a9066697cb9 100644
--- a/dev-scheme/guile-dbd-sqlite3/Manifest
+++ b/dev-scheme/guile-dbd-sqlite3/Manifest
@@ -1 +1,2 @@
DIST guile-dbi-2.1.8.tar.gz 85842 BLAKE2B 6be2f559bd0b194153d3b6659a6f794227c7b0d5c4f9f9f927398fa5af59913a4a56ef12b6e69756c66275b5dbad6861eea7a92adf4e247ca14ad017aa1daa30 SHA512 f3bb94feebe472fc23e891634c5281bc7e7597574ab7acb4b9cdfa59ee6510723550b2cfb1df3f0d9adc919ce0000478e78a6c2f227ca5dc8b50f2804ec0e37a
+DIST guile-dbi-2.1.9.tar.gz 90514 BLAKE2B f4adeb33636972c33f5bdb40c906713b35bec4b1d3afc9fbcd55d74d1d5a957b524bbefeb04e9e5ff1cd17e6a40e218d84220f8eaeeaee09bf67604fa1e87e18 SHA512 2f6ec4c792b487b2552eda06b3ee3e470ae0e603e30abafacfb597281a44c53838d7b16d447cf1ee35f9b994c5b0ed1bbf3497eb1e64e783017898e30d82d427
diff --git a/dev-scheme/guile-dbd-sqlite3/guile-dbd-sqlite3-2.1.9.ebuild b/dev-scheme/guile-dbd-sqlite3/guile-dbd-sqlite3-2.1.9.ebuild
new file mode 100644
index 000000000000..34b6f8998c55
--- /dev/null
+++ b/dev-scheme/guile-dbd-sqlite3/guile-dbd-sqlite3-2.1.9.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile DBI driver for SQLite"
+HOMEPAGE="https://github.com/opencog/guile-dbi/"
+SRC_URI="https://github.com/opencog/guile-dbi/archive/guile-dbi-${PV}.tar.gz"
+S="${WORKDIR}"/guile-dbi-guile-dbi-${PV}/${PN}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-db/sqlite:3=
+ >=dev-scheme/guile-dbi-2.1.9[${GUILE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-scheme/guile-dbi/Manifest b/dev-scheme/guile-dbi/Manifest
index c65f56f71ecb..3a9066697cb9 100644
--- a/dev-scheme/guile-dbi/Manifest
+++ b/dev-scheme/guile-dbi/Manifest
@@ -1 +1,2 @@
DIST guile-dbi-2.1.8.tar.gz 85842 BLAKE2B 6be2f559bd0b194153d3b6659a6f794227c7b0d5c4f9f9f927398fa5af59913a4a56ef12b6e69756c66275b5dbad6861eea7a92adf4e247ca14ad017aa1daa30 SHA512 f3bb94feebe472fc23e891634c5281bc7e7597574ab7acb4b9cdfa59ee6510723550b2cfb1df3f0d9adc919ce0000478e78a6c2f227ca5dc8b50f2804ec0e37a
+DIST guile-dbi-2.1.9.tar.gz 90514 BLAKE2B f4adeb33636972c33f5bdb40c906713b35bec4b1d3afc9fbcd55d74d1d5a957b524bbefeb04e9e5ff1cd17e6a40e218d84220f8eaeeaee09bf67604fa1e87e18 SHA512 2f6ec4c792b487b2552eda06b3ee3e470ae0e603e30abafacfb597281a44c53838d7b16d447cf1ee35f9b994c5b0ed1bbf3497eb1e64e783017898e30d82d427
diff --git a/dev-scheme/guile-dbi/files/guile-dbi-2.1.9-find-correct-site-dir.patch b/dev-scheme/guile-dbi/files/guile-dbi-2.1.9-find-correct-site-dir.patch
new file mode 100644
index 000000000000..c188465575b3
--- /dev/null
+++ b/dev-scheme/guile-dbi/files/guile-dbi-2.1.9-find-correct-site-dir.patch
@@ -0,0 +1,32 @@
+https://github.com/opencog/guile-dbi/commit/56e12dcab139c373dafccdd72fa2a140d82f3910
+https://github.com/opencog/guile-dbi/issues/6
+https://github.com/opencog/guile-dbi/issues/7
+
+From 56e12dcab139c373dafccdd72fa2a140d82f3910 Mon Sep 17 00:00:00 2001
+From: Linas Vepstas <linas@linas.org>
+Date: Mon, 17 Jul 2023 19:42:45 +0300
+Subject: [PATCH] Bug-fix for issues #6 and #7
+
+Seems to work for me...
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,13 +53,13 @@ LTDL_INIT
+
+ # Checks for libraries.
+ PKG_CHECK_MODULES([GUILE], [guile-3.0])
+-#GUILE_PKG([3.0])
+-#GUILE_FLAGS
+-#GUILE_SITE_DIR
++GUILE_PKG([3.0])
++GUILE_FLAGS
++GUILE_SITE_DIR
+ #--
+-#CFLAGS="${CFLAGS} ${LTDLINCL} `$GUILECONFIG compile`"
+-#LIBS="$LIBLTDL `$GUILECONFIG link`"
+-#GUILE_SITE=`$GUILECONFIG info sitedir`
++CFLAGS="${CFLAGS} ${LTDLINCL} `$GUILE_CONFIG compile`"
++LIBS="$LIBLTDL `$GUILE_CONFIG link`"
++GUILE_SITE=`$GUILE_CONFIG info sitedir`
+
+ # Check for makeinfo; avoid ugliness if not installed.
+ AC_CHECK_PROG(have_makeinfo,makeinfo,yes,no)
diff --git a/dev-scheme/guile-dbi/guile-dbi-2.1.9.ebuild b/dev-scheme/guile-dbi/guile-dbi-2.1.9.ebuild
new file mode 100644
index 000000000000..0356148ea666
--- /dev/null
+++ b/dev-scheme/guile-dbi/guile-dbi-2.1.9.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 3-0 )
+inherit autotools guile
+
+DESCRIPTION="An SQL database interface for Guile"
+HOMEPAGE="https://github.com/opencog/guile-dbi/"
+SRC_URI="https://github.com/opencog/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${P}/${PN}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/libltdl
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/guile-dbi-2.1.9-find-correct-site-dir.patch
+)
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-scheme/guile-gcrypt/guile-gcrypt-0.4.0-r100.ebuild b/dev-scheme/guile-gcrypt/guile-gcrypt-0.4.0-r100.ebuild
new file mode 100644
index 000000000000..bfe2d620c882
--- /dev/null
+++ b/dev-scheme/guile-gcrypt/guile-gcrypt-0.4.0-r100.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile bindings of libgcrypt"
+HOMEPAGE="https://notabug.org/cwebber/guile-gcrypt"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://notabug.org/cwebber/${PN}.git"
+else
+ SRC_URI="https://notabug.org/cwebber/guile-gcrypt/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/libgcrypt:0=
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/guile-gi/files/guile-gi-0.3.2-function-cast.patch b/dev-scheme/guile-gi/files/guile-gi-0.3.2-function-cast.patch
new file mode 100644
index 000000000000..74d325bf7c20
--- /dev/null
+++ b/dev-scheme/guile-gi/files/guile-gi-0.3.2-function-cast.patch
@@ -0,0 +1,89 @@
+https://bugs.gentoo.org/880955
+
+Based on https://github.com/spk121/guile-gi/commit/94144d0beffa96bf62c03bc71b498b94dafacc46
+
+--- a/src/gig_callback.c
++++ b/src/gig_callback.c
+@@ -296,6 +296,12 @@ callback_binding_inner(struct callback_binding_args *args)
+ return (void *)1;
+ }
+
++inline static void *
++callback_binding_inner_v(void *args)
++{
++ return callback_binding_inner(args);
++}
++
+ void
+ callback_binding(ffi_cif *cif, gpointer ret, gpointer *ffi_args, gpointer user_data)
+ {
+@@ -314,7 +320,7 @@ callback_binding(ffi_cif *cif, gpointer ret, gpointer *ffi_args, gpointer user_d
+ if (scm_is_true(scm_fluid_ref(gig_callback_thread_fluid)))
+ callback_binding_inner(&args);
+ else {
+- if (NULL == scm_with_guile(callback_binding_inner, &args))
++ if (NULL == scm_with_guile(callback_binding_inner_v, &args))
+ scm_c_eval_string("(quit EXIT_FAILURE)");
+ }
+ }
+@@ -365,6 +371,12 @@ c_callback_binding_inner(struct callback_binding_args *args)
+ return (void *)1;
+ }
+
++inline static void *
++c_callback_binding_inner_v(void *args)
++{
++ return c_callback_binding_inner(args);
++}
++
+ void
+ c_callback_binding(ffi_cif *cif, gpointer ret, gpointer *ffi_args, gpointer user_data)
+ {
+@@ -383,7 +395,7 @@ c_callback_binding(ffi_cif *cif, gpointer ret, gpointer *ffi_args, gpointer user
+ if (scm_is_true(scm_fluid_ref(gig_callback_thread_fluid)))
+ c_callback_binding_inner(&args);
+ else {
+- if (NULL == scm_with_guile(c_callback_binding_inner, &args))
++ if (NULL == scm_with_guile(c_callback_binding_inner_v, &args))
+ scm_c_eval_string("(quit EXIT_FAILURE)");
+ }
+ }
+@@ -692,10 +704,16 @@ callback_free(GigCallback *gcb)
+ g_free(gcb);
+ }
+
++inline static void
++callback_free_v(void *gcb)
++{
++ callback_free(gcb);
++}
++
+ static void
+ gig_fini_callback(void)
+ {
+ g_debug("Freeing callbacks");
+- g_slist_free_full(callback_list, (GDestroyNotify)callback_free);
++ g_slist_free_full(callback_list, (GDestroyNotify)callback_free_v);
+ callback_list = NULL;
+ }
+--- a/src/gig_type_private.c
++++ b/src/gig_type_private.c
+@@ -59,8 +59,14 @@ _boxed_funcs_free(GigBoxedFuncs *funcs)
+ g_free(funcs);
+ }
+
++inline static void
++_boxed_funcs_free_v(void *funcs)
++{
++ _boxed_funcs_free(funcs);
++}
++
+ void
+ _free_boxed_funcs()
+ {
+- g_slist_free_full(_boxed_funcs, (GDestroyNotify)_boxed_funcs_free);
++ g_slist_free_full(_boxed_funcs, (GDestroyNotify)_boxed_funcs_free_v);
+ }
+--
+2.46.0
+
diff --git a/dev-scheme/guile-gi/guile-gi-0.3.2-r100.ebuild b/dev-scheme/guile-gi/guile-gi-0.3.2-r100.ebuild
new file mode 100644
index 000000000000..1d232ddf9d51
--- /dev/null
+++ b/dev-scheme/guile-gi/guile-gi-0.3.2-r100.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit virtualx autotools guile
+
+DESCRIPTION="Bindings for GObject Introspection and libgirepository for Guile"
+HOMEPAGE="https://spk121.github.io/guile-gi/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/spk121/${PN}.git"
+else
+ SRC_URI="https://github.com/spk121/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+REQUIRED_USED="${GUILE_REQUIRED_USE}"
+
+DEPEND="
+ ${GUILE_DEPS}
+ dev-libs/gobject-introspection
+ x11-libs/gtk+:3[introspection]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/guile-gi-0.3.2-function-cast.patch
+)
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ guile_foreach_impl econf --enable-introspection=yes
+}
+
+src_compile() {
+ my_compile() {
+ mkdir test || die
+ default
+ }
+ guile_foreach_impl my_compile
+}
+
+src_test() {
+ guile_foreach_impl virtx default
+}
+
+src_install() {
+ guile_src_install
+
+ mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/doc/${PF} || die
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-scheme/guile-gi/guile-gi-9999.ebuild b/dev-scheme/guile-gi/guile-gi-9999.ebuild
index 75b8c4278d3a..1d232ddf9d51 100644
--- a/dev-scheme/guile-gi/guile-gi-9999.ebuild
+++ b/dev-scheme/guile-gi/guile-gi-9999.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit virtualx autotools
+GUILE_COMPAT=( 2-2 3-0 )
+inherit virtualx autotools guile
DESCRIPTION="Bindings for GObject Introspection and libgirepository for Guile"
HOMEPAGE="https://spk121.github.io/guile-gi/"
@@ -19,42 +20,45 @@ fi
LICENSE="GPL-3"
SLOT="0"
+REQUIRED_USED="${GUILE_REQUIRED_USE}"
+
DEPEND="
- >=dev-scheme/guile-2.0.9:=
+ ${GUILE_DEPS}
dev-libs/gobject-introspection
x11-libs/gtk+:3[introspection]
"
RDEPEND="${DEPEND}"
BDEPEND="sys-apps/texinfo"
-# guile generates ELF files without use of C or machine code
-# It's a portage's false positive. bug #677600
-QA_PREBUILT='*[.]go'
+PATCHES=(
+ "${FILESDIR}"/guile-gi-0.3.2-function-cast.patch
+)
src_prepare() {
- default
-
- # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
- find "${S}" -name "*.scm" -exec touch {} + || die
+ guile_src_prepare
eautoreconf
}
src_configure() {
- econf --disable-static --enable-introspection=yes
+ guile_foreach_impl econf --enable-introspection=yes
+}
+
+src_compile() {
+ my_compile() {
+ mkdir test || die
+ default
+ }
+ guile_foreach_impl my_compile
}
src_test() {
- virtx default
+ guile_foreach_impl virtx default
}
src_install() {
- default
+ guile_src_install
- mv "${D}"/usr/share/doc/${PN} "${D}"/usr/share/doc/${PF} || die
+ mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/doc/${PF} || die
find "${ED}" -type f -name '*.la' -delete || die
-
- # Workaround llvm-strip problem of mangling guile ELF debug
- # sections. Bug https://bugs.gentoo.org/905898
- dostrip -x /usr/$(get_libdir)/guile
}
diff --git a/dev-scheme/guile-git/guile-git-0.7.0-r100.ebuild b/dev-scheme/guile-git/guile-git-0.7.0-r100.ebuild
new file mode 100644
index 000000000000..54a0136abb80
--- /dev/null
+++ b/dev-scheme/guile-git/guile-git-0.7.0-r100.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile bindings of git"
+HOMEPAGE="https://gitlab.com/guile-git/guile-git/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
+ S="${WORKDIR}/${PN}-v${PV}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-3+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+# <libgit2-1.8.0: https://gitlab.com/guile-git/guile-git/-/issues/30
+RDEPEND="
+ ${GUILE_DEPS}
+ <dev-libs/libgit2-1.8.0:=
+ >=dev-libs/libgit2-1.3.0:=
+ >=dev-scheme/bytestructures-2.0.2-r100[${GUILE_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ guile_src_prepare
+
+ # network sandbox + ssh configuration
+ sed -i -e '/tests\/clone.scm/d' Makefile.am || die
+
+ eautoreconf
+}
+
+src_test() {
+ guile_foreach_impl emake VERBOSE="1" check
+}
diff --git a/dev-scheme/guile-gnutls/guile-gnutls-4.0.0-r100.ebuild b/dev-scheme/guile-gnutls/guile-gnutls-4.0.0-r100.ebuild
new file mode 100644
index 000000000000..c9746c80710e
--- /dev/null
+++ b/dev-scheme/guile-gnutls/guile-gnutls-4.0.0-r100.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile-GnuTLS provides Guile bindings for the GnuTLS library"
+HOMEPAGE="https://gnutls.gitlab.io/guile/manual/
+ https://gitlab.com/gnutls/guile/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/gnutls/guile.git"
+else
+ SRC_URI="https://gitlab.com/gnutls/guile/-/archive/v${PV}/guile-v${PV}.tar.bz2
+ -> ${P}.tar.bz2"
+ S="${WORKDIR}/guile-v${PV}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+# <gnutls-3.8.4: https://bugs.gentoo.org/930665 https://gitlab.com/gnutls/guile/-/issues/25
+RDEPEND="
+ ${GUILE_DEPS}
+ <net-libs/gnutls-3.8.4:=[-guile(-)]
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ my_configure() {
+ # --disable-srp-authentication: bug #894050
+ econf --disable-srp-authentication guile_snarf=${GUILESNARF}
+ }
+ guile_foreach_impl my_configure
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-scheme/guile-hall/guile-hall-0.4.1-r100.ebuild b/dev-scheme/guile-hall/guile-hall-0.4.1-r100.ebuild
new file mode 100644
index 000000000000..eb5fc54a0b5a
--- /dev/null
+++ b/dev-scheme/guile-hall/guile-hall-0.4.1-r100.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile tooling to create and publish projects"
+HOMEPAGE="https://gitlab.com/a-sassmannshausen/guile-hall/"
+SRC_URI="https://gitlab.com/a-sassmannshausen/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ >=dev-scheme/guile-config-0.5.1-r100[${GUILE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ sed -i -e "s|@verbatiminclude |@verbatiminclude ${S}/|" doc/hall.texi || die
+
+ eautoreconf
+}
diff --git a/dev-scheme/guile-json/guile-json-4.7.3-r100.ebuild b/dev-scheme/guile-json/guile-json-4.7.3-r100.ebuild
new file mode 100644
index 000000000000..545f1819973f
--- /dev/null
+++ b/dev-scheme/guile-json/guile-json-4.7.3-r100.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
+DESCRIPTION="JSON module for Guile"
+HOMEPAGE="https://savannah.nongnu.org/projects/guile-json/"
+SRC_URI="http://download.savannah.nongnu.org/releases/guile-json/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
diff --git a/dev-scheme/guile-lib/guile-lib-0.2.7-r100.ebuild b/dev-scheme/guile-lib/guile-lib-0.2.7-r100.ebuild
new file mode 100644
index 000000000000..ad310a603dfe
--- /dev/null
+++ b/dev-scheme/guile-lib/guile-lib-0.2.7-r100.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
+DESCRIPTION="An accumulation place for pure-scheme Guile modules"
+HOMEPAGE="http://www.nongnu.org/guile-lib/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRES_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ sed -i -e 's/"guile"/(getenv "GUILE")/' unit-tests/os.process.scm || die
+}
+
+src_configure() {
+ guile_foreach_impl econf --with-guile-site=yes
+}
diff --git a/dev-scheme/guile-libyaml/guile-libyaml-20211124-r100.ebuild b/dev-scheme/guile-libyaml/guile-libyaml-20211124-r100.ebuild
new file mode 100644
index 000000000000..8b6169d5bf4f
--- /dev/null
+++ b/dev-scheme/guile-libyaml/guile-libyaml-20211124-r100.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit edo guile
+
+[[ ${PV} == 20211124 ]] && COMMIT=2bdacb72a65ab63264b2edc9dac9692df7ec9b3e
+
+DESCRIPTION="Simple yaml module for Guile using the ffi-helper from nyacc"
+HOMEPAGE="https://github.com/mwette/guile-libyaml/"
+SRC_URI="https://github.com/mwette/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/libyaml
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-scheme/guile-nyacc"
+
+src_compile() {
+ my_compile() {
+ guild() {
+ GUILE_LOAD_COMPILED_PATH="${BUILD_DIR}" GUILE_LOAD_PATH="${S}" edo "${GUILD}" "${@}" || die
+ }
+ # Generate bindings using NYACC
+ guild compile-ffi --no-exec "${S}"/yaml/libyaml.ffi
+
+ # Compile modules
+ mkdir -p "${BUILD_DIR}"/ccache || die
+ guild compile -o "${BUILD_DIR}"/ccache/libyaml.go "${S}"/yaml/libyaml.scm
+ guild compile -o "${BUILD_DIR}"/ccache/yaml.go "${S}"/yaml.scm
+ }
+
+ guile_foreach_impl my_compile
+}
+
+src_install() {
+ my_install() {
+ local site_dir="$(${GUILE} -c '(display (%site-dir))')"
+ mkdir -p "${SLOTTED_D}/${site_dir}/yaml" || die
+ cp "${S}/yaml/libyaml.scm" "${SLOTTED_D}/${site_dir}/yaml/" || die
+ cp "${S}/yaml.scm" "${SLOTTED_D}/${site_dir}/" || die
+
+ local site_ccache_dir="$(${GUILE} -c '(display (%site-ccache-dir))')"
+ mkdir -p "${SLOTTED_D}/${site_ccache_dir}/yaml" || die
+ cp "${BUILD_DIR}/ccache/libyaml.go" "${SLOTTED_D}/${site_ccache_dir}/yaml/" || die
+ cp "${BUILD_DIR}/ccache/yaml.go" "${SLOTTED_D}/${site_ccache_dir}/" || die
+ }
+
+ guile_foreach_impl my_install
+ guile_merge_roots
+ guile_unstrip_ccache
+
+ einstalldocs
+}
diff --git a/dev-scheme/guile-lzlib/guile-lzlib-0.0.2-r100.ebuild b/dev-scheme/guile-lzlib/guile-lzlib-0.0.2-r100.ebuild
new file mode 100644
index 000000000000..8d4f27a9c2c6
--- /dev/null
+++ b/dev-scheme/guile-lzlib/guile-lzlib-0.0.2-r100.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="GNU Guile library providing bindings to lzlib"
+HOMEPAGE="https://notabug.org/guile-lzlib/guile-lzlib/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://notabug.org/${PN}/${PN}.git"
+else
+ SRC_URI="https://notabug.org/${PN}/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ app-arch/lzlib
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README.org )
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/guile-ncurses/guile-ncurses-3.1-r100.ebuild b/dev-scheme/guile-ncurses/guile-ncurses-3.1-r100.ebuild
new file mode 100644
index 000000000000..fb877bf6f978
--- /dev/null
+++ b/dev-scheme/guile-ncurses/guile-ncurses-3.1-r100.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile FFI to ncurses library for text-based console UI"
+HOMEPAGE="https://www.gnu.org/software/guile-ncurses/"
+SRC_URI="mirror://gnu/guile-ncurses/${P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/boehm-gc
+ dev-libs/libatomic_ops
+ dev-libs/libunistring
+ sys-libs/ncurses:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0-slibtool.patch # bug #843416
+)
+
+src_prepare() {
+ guile_src_prepare
+
+ # Remove bad tests
+ # > In procedure list-ref: Wrong type argument in position 1: #f
+ local -a bad_tests=(
+ curs_attr_attr_off_underline
+ curs_attr_attr_on_blink
+ curs_attr_attr_on_bold
+ curs_attr_attr_on_dim
+ curs_attr_attr_on_invis
+ curs_attr_attr_on_protect
+ curs_attr_attr_on_reverse
+ curs_attr_attr_on_standout
+ curs_attr_attr_on_underline
+ curs_attr_attr_set
+ curs_attr_attr_set_normal
+ curs_attr_standend
+ curs_attr_standout
+ curs_bkgd_bkgd
+ curs_bkgd_bkgdset
+ termios_speed
+ )
+ local bad_test
+ for bad_test in "${bad_tests[@]}" ; do
+ echo "#t" > test/${bad_test}.scm || die
+ done
+
+ eautoreconf # 843560
+}
+
+src_test() {
+ guile_foreach_impl emake check
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-scheme/guile-nyacc/guile-nyacc-1.06.7-r100.ebuild b/dev-scheme/guile-nyacc/guile-nyacc-1.06.7-r100.ebuild
new file mode 100644
index 000000000000..e00a69aa3bd5
--- /dev/null
+++ b/dev-scheme/guile-nyacc/guile-nyacc-1.06.7-r100.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile
+
+DESCRIPTION="Guile modules for generating parsers and lexical analyzers"
+HOMEPAGE="http://www.nongnu.org/nyacc/"
+SRC_URI="mirror://nongnu/nyacc/nyacc-${PV}.tar.gz"
+S="${WORKDIR}/nyacc-${PV}"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ >=dev-scheme/bytestructures-2.0.2-r100[${GUILE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ guile_src_install
+
+ # Fix docs location
+ mv "${ED}"/usr/share/doc/nyacc "${ED}"/usr/share/doc/${PF} || die
+}
diff --git a/dev-scheme/guile-sqlite3/guile-sqlite3-0.1.3-r100.ebuild b/dev-scheme/guile-sqlite3/guile-sqlite3-0.1.3-r100.ebuild
new file mode 100644
index 000000000000..1346542b5b64
--- /dev/null
+++ b/dev-scheme/guile-sqlite3/guile-sqlite3-0.1.3-r100.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Guile bindings of sqlite3"
+HOMEPAGE="https://notabug.org/guile-sqlite3/guile-sqlite3"
+SRC_URI="https://notabug.org/guile-sqlite3/guile-sqlite3/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-3+ GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-db/sqlite:3=
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile_src_prepare
+
+ # upstream tag on top of source tree. has no autogenerated files
+ eautoreconf
+}
diff --git a/dev-scheme/guile-ssh/guile-ssh-0.16.4-r100.ebuild b/dev-scheme/guile-ssh/guile-ssh-0.16.4-r100.ebuild
new file mode 100644
index 000000000000..2de52a2e3291
--- /dev/null
+++ b/dev-scheme/guile-ssh/guile-ssh-0.16.4-r100.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="Library providing access to the SSH protocol for GNU Guile"
+HOMEPAGE="https://memory-heap.org/~avp/projects/guile-ssh/
+ https://github.com/artyom-poptsov/guile-ssh/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/artyom-poptsov/${PN}.git"
+else
+ SRC_URI="https://github.com/artyom-poptsov/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/boehm-gc
+ dev-libs/libatomic_ops
+ net-libs/libssh:0=[server,sftp]
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.16.2-tests.patch"
+)
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ my_configure() {
+ econf guile_snarf=${GUILESNARF}
+ }
+ guile_foreach_impl my_configure
+}
+
+src_install() {
+ guile_src_install
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-scheme/guile-zlib/guile-zlib-0.1.0-r100.ebuild b/dev-scheme/guile-zlib/guile-zlib-0.1.0-r100.ebuild
new file mode 100644
index 000000000000..f5d29da5871a
--- /dev/null
+++ b/dev-scheme/guile-zlib/guile-zlib-0.1.0-r100.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 3-0 )
+inherit autotools guile
+
+DESCRIPTION="GNU Guile library providing bindings to zlib"
+HOMEPAGE="https://notabug.org/guile-zlib/guile-zlib/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://notabug.org/${PN}/${PN}.git"
+else
+ SRC_URI="https://notabug.org/${PN}/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ >=sys-libs/zlib-1.3-r4
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README.org )
+
+PATCHES=( "${FILESDIR}/${PN}-0.1.0-gentoo.patch" )
+
+src_prepare() {
+ guile_src_prepare
+
+ eautoreconf
+}
diff --git a/dev-scheme/guile-zstd/guile-zstd-0.1.1-r100.ebuild b/dev-scheme/guile-zstd/guile-zstd-0.1.1-r100.ebuild
new file mode 100644
index 000000000000..093c50da4eda
--- /dev/null
+++ b/dev-scheme/guile-zstd/guile-zstd-0.1.1-r100.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile
+
+DESCRIPTION="GNU Guile bindings to the zstd compression library"
+HOMEPAGE="https://notabug.org/guile-zstd/guile-zstd/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://notabug.org/${PN}/${PN}.git"
+else
+ SRC_URI="https://notabug.org/${PN}/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+REQUIRED_USED="${GUILE_REQUIRED_USE}"
+
+# In zstd-1.5.5-r1 library was moved back from "/lib" to "/usr/lib".
+RDEPEND="
+ ${GUILE_DEPS}
+ >=app-arch/zstd-1.5.5-r1
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ guile_src_prepare
+ eautoreconf
+}
diff --git a/dev-scheme/guile/guile-3.0.10-r100.ebuild b/dev-scheme/guile/guile-3.0.10-r100.ebuild
index 6e77a662ec8e..534e4389494a 100644
--- a/dev-scheme/guile/guile-3.0.10-r100.ebuild
+++ b/dev-scheme/guile/guile-3.0.10-r100.ebuild
@@ -42,8 +42,8 @@ DOCS=( ABOUT-NLS AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS )
PATCHES=( "${FILESDIR}"/${PN}-2.2.3-gentoo-sandbox.patch )
# Where to install data files.
-GUILE_DATA="${PREFIX}/usr/share/guile-data/${SLOT}"
-GUILE_PCDIR="/usr/share/guile-data/${SLOT}/pkgconfig"
+GUILE_DATA="${EPREFIX}/usr/share/guile-data/${SLOT}"
+GUILE_PCDIR="${EPREFIX}/usr/share/guile-data/${SLOT}/pkgconfig"
src_configure() {
# see bug #676468
diff --git a/dev-scheme/skribilo/skribilo-0.10.0-r100.ebuild b/dev-scheme/skribilo/skribilo-0.10.0-r100.ebuild
new file mode 100644
index 000000000000..abed80bb9b8d
--- /dev/null
+++ b/dev-scheme/skribilo/skribilo-0.10.0-r100.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit elisp-common guile
+
+DESCRIPTION="Document production tool written in Guile Scheme"
+HOMEPAGE="https://www.nongnu.org/skribilo/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="emacs"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ app-text/ghostscript-gpl
+ media-gfx/imagemagick
+
+ ${GUILE_DEPS}
+ >=dev-scheme/guile-lib-0.2.7-r100[${GUILE_USEDEP}]
+ >=dev-scheme/guile-reader-0.6.3-r100[${GUILE_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="emacs? ( >=app-editors/emacs-23.1:* )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ # gnustep-base/gnustep-base installs /usr/bin/pl that isnt the unpackaged ploticus.
+ sed -i -e 's/for ac_prog in ploticus pl/for ac_prog in ploticus/' configure || die
+}
+
+src_configure() {
+ if ! use emacs ; then
+ export EMACS="no"
+ export EMACSLOADPATH="/dev/null"
+ fi
+
+ guile_foreach_impl econf
+}
+
+src_compile() {
+ guile_src_compile
+
+ use emacs && elisp-compile ./emacs/*.el
+}
+
+src_install() {
+ guile_src_install
+
+ # Link includes DESTDIR
+ for file in "${ED}"/usr/share/info/*.png; do
+ rm "${file}" || die
+ dosym ../doc/${PF}/html/$(basename ${file}) ${file##${ED}}
+ done
+
+ if use emacs ; then
+ elisp-install ${PN} ./emacs/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ else
+ local emacsd="${D}"/usr/share/emacs
+ if [[ -d "${emacsd}" ]] ; then
+ einfo "Building without Emacs support but ${emacsd} found! Removing."
+ rm -r "${emacsd}" || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-scheme/xdgdirs/xdgdirs-2.2-r100.ebuild b/dev-scheme/xdgdirs/xdgdirs-2.2-r100.ebuild
new file mode 100644
index 000000000000..0dc3e304acd4
--- /dev/null
+++ b/dev-scheme/xdgdirs/xdgdirs-2.2-r100.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit guile-single
+
+DESCRIPTION="Displays names/values of XDG Basedir variables"
+HOMEPAGE="https://www.gnuvola.org/software/xdgdirs/"
+SRC_URI="https://www.gnuvola.org/software/xdgdirs/${P}.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="${GUILE_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ guile-single_src_prepare
+
+ # fix shebang
+ sed -i -e "/exec/ s|guile|${GUILE}|" xdgdirs.in || die
+}
+
+src_test() {
+ # breaks diffs for tests if not disabled
+ local -x GUILE_AUTO_COMPILE=0
+
+ emake check
+}
diff --git a/dev-util/azuredatastudio/Manifest b/dev-util/azuredatastudio/Manifest
index 6a677fc0c80c..ef6b414d2c63 100644
--- a/dev-util/azuredatastudio/Manifest
+++ b/dev-util/azuredatastudio/Manifest
@@ -1,2 +1 @@
-DIST azuredatastudio-1.49.0-amd64.deb 135147824 BLAKE2B 91beda52e72ec24c40d7502756396145117d17f7d4c7fa440c1ea03b84e782a6d966189b4db946b710400624d3bd91a9a30158b3fb59f3043c82062bd326c492 SHA512 dd76c9d670a09c440805f3bf5a66b424fb7e1f1e32643ed65852dd47771c0c310881df98a37801012e85deed82a34c42c69105a055306c6f33eb764ec1da88d4
DIST azuredatastudio-1.49.1-amd64.deb 135026616 BLAKE2B 0ad8652e7c6752cbd2f4187a9da4437175f3aa06a9b186786217f14bda91d4caf675110d582eaf03f627c59803c9dbc8fe2b6e1d75af1fccd01d2f776c2f9991 SHA512 2b8c8316a1761ea3b4e9475189058cc63b9c562dbc24f8d9a74194e18a65e4d16a5b07f01b0637eea277f2ba8b0f79ebf80143d52edb87cb6a6ee2564fbcd59a
diff --git a/dev-util/azuredatastudio/azuredatastudio-1.49.0.ebuild b/dev-util/azuredatastudio/azuredatastudio-1.49.0.ebuild
deleted file mode 100644
index d8d032ceea34..000000000000
--- a/dev-util/azuredatastudio/azuredatastudio-1.49.0.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker xdg
-
-DESCRIPTION="Data management and development tool from Microsoft"
-HOMEPAGE="https://learn.microsoft.com/sql/azure-data-studio/
- https://github.com/microsoft/azuredatastudio/"
-SRC_URI="
- amd64? (
- https://azuredatastudio-update.azurewebsites.net/${PV}/linux-deb-x64/stable
- -> ${P}-amd64.deb
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE="kerberos"
-RESTRICT="bindist"
-
-# This is based on VSCode/VSCodium, so just copy their "RDEPEND".
-RDEPEND="
- >=app-accessibility/at-spi2-core-2.46.0:2
- app-crypt/libsecret[crypt]
- app-misc/ca-certificates
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- dev-util/lttng-ust:0/2.12
- media-libs/alsa-lib
- media-libs/libcanberra[gtk3]
- media-libs/libglvnd
- media-libs/mesa
- net-misc/curl
- net-print/cups
- sys-apps/dbus
- sys-libs/zlib
- sys-process/lsof
- x11-libs/cairo
- x11-libs/gtk+:3
- x11-libs/libdrm
- x11-libs/libnotify
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libxkbcommon
- x11-libs/libxkbfile
- x11-libs/libXrandr
- x11-libs/libXScrnSaver
- x11-libs/pango
- x11-misc/xdg-utils
- kerberos? ( app-crypt/mit-krb5 )
-"
-DEPEND="
- dev-libs/openssl-compat:1.0.0
-"
-BDEPEND="
- dev-util/patchelf
-"
-
-QA_PREBUILT="*"
-
-src_unpack() {
- unpack_deb "${A}"
-}
-
-src_prepare() {
- default
-
- cd "${S}/usr/share" || die
-
- mv appdata metainfo || die
- mv zsh/vendor-completions zsh/site-functions || die
-
- cd "${PN}" || die
-
- # Kerberos libs, same issue as VSCode/VSCodium.
- if ! use kerberos ; then
- rm -r resources/app/node_modules.asar.unpacked/kerberos || die
- fi
-
- # Patch "System.Security.Cryptography.Native.OpenSsl.so": *.so.10 -> *.so.1.0.0
- local mssql_ext_version=4.11.1.1
- local mssql_ext_lib=System.Security.Cryptography.Native.OpenSsl.so
- cd "resources/app/extensions/mssql/sqltoolsservice/Linux/${mssql_ext_version}" || die
- patchelf --add-needed libcrypto.so.1.0.0 "${mssql_ext_lib}" || die
- patchelf --add-needed libssl.so.1.0.0 "${mssql_ext_lib}" || die
- patchelf --remove-needed libcrypto.so.10 "${mssql_ext_lib}" || die
- patchelf --remove-needed libssl.so.10 "${mssql_ext_lib}" || die
- rm System.Native.a || die
-}
-
-src_install() {
- cp -r . "${ED}" || die
-
- dosym -r "/usr/share/${PN}/${PN}" "/usr/bin/${PN}"
-}
diff --git a/dev-util/bcpp/Manifest b/dev-util/bcpp/Manifest
index e8f30f98a742..4d1040b0d58c 100644
--- a/dev-util/bcpp/Manifest
+++ b/dev-util/bcpp/Manifest
@@ -2,3 +2,5 @@ DIST bcpp-20230130.tgz 155972 BLAKE2B f51ae04ef75125d2040f9ef2ab9fb5513ad83fc609
DIST bcpp-20230130.tgz.asc 729 BLAKE2B ffd6266919c8598067b09ac9f855c3b1d93dbd4d6536dbd68a12ccbc5f8cc62e10315e44376fc72d40881e43dfa51676a1af46400aed66bf4c2ac1d4a17b499c SHA512 b52cfa95115726ec7b9575ef8a813fc5d1eb8dc7083b19508d5058b80d41203e70d3cd61a18eea4f35755f77e92ce15c2a1f24db0befb3b62dab3b71065a3955
DIST bcpp-20240111.tgz 156659 BLAKE2B 9bcb986bd434e8c574a25d5e6a4dab08f5aec342bd60e46110902e7f5d924fff4295fc23ee5fc9190ef10c36fa89b19d9f2baff79150899f7618c06df543ae88 SHA512 e5211f484de3de4b6172d01fa9af50e2ed060cfb81d366575581480c1903dccb13b1e247809e17ae9a3cebc49d52b180b928a6abcad5f5b67b2af745b035e249
DIST bcpp-20240111.tgz.asc 729 BLAKE2B c9933393c10b77bbeefcef315b6ae8d3df75fc3ee1d1880a661775ca11cd2965864191beae23a51b78be2db995d75f3e9cd0ac44b465905a19a21c7eb8463722 SHA512 50e28e55e533ce9641b2b6c95ae937a546f32ebc41a4c77a336cfb1c3528ba0c9e193fd0320cb145c31e31c941661c9c4dfae5eb1c5aa964af11f891907493a6
+DIST bcpp-20240917.tgz 158130 BLAKE2B f07998d42fd65c4b8f57b2d0873caca26bf8d63909ee3c5830a6e20d32235915f3090aac4b5f09e7f4694de9650bcad04c4aed3dc1b49e2e6db0d252ea7a09b0 SHA512 f18c36da9d6f94c887df6b9fc47fa704d6f3ea02c613056111deafe629e63196ce1c4e316ea67c14bb1561d35ef7e895fae5d10905a1241c7c53599f0d0e893b
+DIST bcpp-20240917.tgz.asc 729 BLAKE2B c02339ac449bef2f69509697b87239c944bd9055f51dd31563e1b8589daf4c3dc4aa67cca6525ee792bc022c427dd42d858b038ddbd0b09eb258a2d887b19a20 SHA512 9148f262bda8a55b23f6813b1b40d66eebd02dc2183f9aa4104ef2eae42d90eb42a48b94a06c56ef795630869a1c0833cae51e84380cfb996568fcdc2f5a9e08
diff --git a/dev-util/bcpp/bcpp-20240917.ebuild b/dev-util/bcpp/bcpp-20240917.ebuild
new file mode 100644
index 000000000000..4d86a984f6b4
--- /dev/null
+++ b/dev-util/bcpp/bcpp-20240917.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="Indents C/C++ source code"
+HOMEPAGE="https://invisible-island.net/bcpp/"
+SRC_URI="https://invisible-island.net/archives/${PN}/${P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.asc )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )"
+
+src_compile() {
+ emake CPPFLAGS='-DBCPP_CONFIG_DIR=\"/etc/bcpp/\"'
+}
+
+src_install() {
+ default
+ dodoc CHANGES MANIFEST README VERSION txtdocs/hirachy.txt \
+ txtdocs/manual.txt
+
+ insinto /etc/bcpp
+ doins bcpp.cfg indent.cfg
+}
+
+pkg_postinst() {
+ elog "Check the documentation for more information on how to"
+ elog "Run bcpp. Please note that in order to get help for"
+ elog "bcpp, please run bcpp -h and not the command by itself."
+ elog ""
+ elog "Configuration files are at ${EPREFIX}/etc/bcpp."
+ elog "To use them, use the -c option followed by the filename."
+}
diff --git a/dev-util/idea-community/Manifest b/dev-util/idea-community/Manifest
index f0516efbcb76..40d4b85b1cbd 100644
--- a/dev-util/idea-community/Manifest
+++ b/dev-util/idea-community/Manifest
@@ -1,2 +1,2 @@
-DIST idea-community-2024.2.1-aarch64.tar.gz 880188596 BLAKE2B c688414140ca48921e952590b040c7bf1193b4154fdd5a6e99d867de3f547d8c212c7342c37482bf1d60e5eda3953a3d31b245872d4cfa46361eabc687102af2 SHA512 9beac9d5ec3f5a691de14588dd3c55575c2ec5535964f0e5ff3e7fb494d41b2a76268d13cd527c0c1b894eca3214437214ac805518325b85384955575e4082d5
-DIST idea-community-2024.2.1-amd64.tar.gz 880814955 BLAKE2B b644d1f955b5e7ef26c76aee20044fceb50955f7c5ad83d063f24aca4f38289e3885ae722e360e7f053a46591b8ea6d783fda9314e39e291fd542c1ef5a6647c SHA512 393bcdab1d5738822b8433a6b0c54d4da7ea47f3e48b9fe39057e0ef779031eda5fe290e4fb3f03fdd1a5b136041b7e2a08cbfa4b9a24efa41ef05a8cd079edc
+DIST idea-community-2024.2.2-aarch64.tar.gz 880446157 BLAKE2B 918c25046e61b59298f28bf8d290f9c50b74a89c59377023028019401fcce5b00f5cf21edccb84ed1d57ec63b9594dcf64b81aed59060422ee27ac970b47adf6 SHA512 41741760874ff2399f875c9ff148c5b88e6911df6118d002922fc7cde4290e93799cf510ec5f5f4cb6a3ea1e774d67a4f5e18b952c14fa93934a52c5888ccc49
+DIST idea-community-2024.2.2-amd64.tar.gz 881086769 BLAKE2B b95d3dcc6fa631b089215842d286ae2f2414c4f684d1d7a94c95bb2c94942fbdef563962ad3079dba62909f45a3182a64eec34c928f40f784c468920089b9261 SHA512 a57e5f58b2e65d0f421ded334696fa28d1ee748d7cf8ceb0ad10781a68cd4d9350e83d46376b17c15d312294f6155026e83209e678adf7f507874f455a68bbdc
diff --git a/dev-util/idea-community/idea-community-2024.2.1.ebuild b/dev-util/idea-community/idea-community-2024.2.2.ebuild
index b61f2c92242b..b61f2c92242b 100644
--- a/dev-util/idea-community/idea-community-2024.2.1.ebuild
+++ b/dev-util/idea-community/idea-community-2024.2.2.ebuild
diff --git a/dev-util/intel_clc/Manifest b/dev-util/intel_clc/Manifest
index 5c32dcabd6a2..4515aa66c5b3 100644
--- a/dev-util/intel_clc/Manifest
+++ b/dev-util/intel_clc/Manifest
@@ -1,10 +1,2 @@
-DIST mesa-24.0.9.tar.xz 20197892 BLAKE2B 3c68e544898031fe76a57ea754f46ede5b105c259d13dd484eaa63fe51b7d52cf76a4084529b11a586c4d8d06f4cb32f993fd1ea4e6ccc4cbc91e78fe755743a SHA512 de2ee6c9df1fc106ee10befe0a76be1e9cfe83d65dbdb83bad6d8d7cfaa085232fb115293a1a790b37b50b1fe14bd58aafbcfe5a15e953b5901a7105d57569a5
-DIST mesa-24.1.3.tar.xz 29086488 BLAKE2B 2e8e4ee98f904aa02f304a6c3cbbb81d04802203e270e6b8ad2b7a62b334ac28f5e91687d7a92501f66b0043255a533d024537ff5ef3f2f03d986e46a7272eeb SHA512 db4071ac80747397023762d6e0355b001f4e942cdc706c67f8aced80e162058667c02a0dc0804a45afc2656cb65d8b16e17148bc03f0a1692067ec170f193c1a
-DIST mesa-24.1.4.tar.xz 29106920 BLAKE2B 2109fc604858a0927271d7b1edb76a24514acac6117e564c6999c99f068624964f5cf0b7d022cac5726e432353a32a5278b3aa00b64dd4118bb2f0b7123c3b41 SHA512 0293f1493685888e5d2f0e616645c937e5a9c348fcb654b050b7c42bfdade1518c508920e456cf8be0033dceab4570a916db87dbb454174e425d91e9c05d0748
-DIST mesa-24.1.5.tar.xz 29140156 BLAKE2B ea29b3b8b6f178dd21d7ee3042ea829755e398f8876dfac6c744de77c08d85abb2736add2141204e6d3343de46040f49d96e1ad455714880b4be46d7b36581f1 SHA512 5916cc38c4a17161b012310c473077177887c5fff1bc5cb1f6efdf5da44878c18c99fe0c62318d897798cd4edb0f7206a989198ba085c2d402d49cdd0ee25288
-DIST mesa-24.1.6.tar.xz 29172600 BLAKE2B 295634438e1a2ae64bd1c5b0309a253e72a4d95e559cabad72f94aa2b91e5b05179c69cce5e371b69707419399dae0bfe808cb16b2e9ee112277e18b8f0f31f9 SHA512 2df0c78126f34a9ab7ce4946ed9fcd58d828717ecfd93681d9e136e605e9a8e01428dd632c0125e06d805498ffd75250f0e617f47fbb7e6368e6c8a48f4c4dfc
DIST mesa-24.1.7.tar.xz 29206724 BLAKE2B b3102fcf96c032d07826186c2d60dc93e5c17b26f725c20cf1e402d1cfbaaba9809bff7a04d3df0179d2ec8606bc9fb391761d17a148671b9270cf2aaca0324d SHA512 890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01
-DIST mesa-24.2.0-rc4.tar.xz 29324360 BLAKE2B da26f43fa3e940a406e4987ed311fd22fc7608d4e09fc6cfd6584fe8873b8c5fdbf51d5f32042c46a883739cd22204a3dde2a0a1d6283c3453bc635bfba24ed5 SHA512 5a0b9043e8c3222faeaad31f435f3ea440d670ffa5497340c5809666a857fa4c77288745d52372a2267e9f9be97fc04e0d20b81bc027c1b7a33176a3bfa6b3c6
-DIST mesa-24.2.0.tar.xz 29342732 BLAKE2B dfbd0e5b8de3db475f40a8313ee3013bb513d505541e056efd84aad50d5043414dd2c0b95e6c7336a1b4d29037274dae2fa1fdb9697187bf239a5adb54dd3721 SHA512 a585c788801b5a341d356e44d958b148e6e14f6b3d7224e99a92faa2f004bf0cfc90103c5fdc651afb22f805c6f9dc594f9f3f5ecebcea36f6305b3a6ccb9294
-DIST mesa-24.2.1.tar.xz 29431192 BLAKE2B f4ef9fd08bbf16551498a8edce1e19e594a0b85ee1f05f8f7c80fcf12ec7ac4cb5947b713791f5202201f8cfc48773507d869dbd239e6fc3dcf2c3a621892327 SHA512 3b77e5faec51b67583131123b0cc010b52325ea308e4075323102aa999d9c9fbb65b873eb537ed4f577b5a0811e7f096e7e101510cb50326ea5c439b4b468380
-DIST mesa-24.2.2.tar.xz 29441876 BLAKE2B 14b29989b056c3bc76cb64babef6e93dd31af37ea72674adaad3f7ef7373c004996e375941662b1c3bbacfd707a21e2e3631a116a841130edfa1bfe3450ae5ab SHA512 d9979f7a1ae7bfeb0658d1b6c9021b7d0043c3ca71db9deaa2fc8a3d4c07cd58497b9233737a31fb66ef711a369a859757a63fb86c2aadd859867f9a4eaf16a9
+DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca989296a070deaa46aeb72298eaca6a3fa9d13574859623cec4a6af978f44d2c9562b9757be2257364c27600be6 SHA512 7a1ace23568d1907b778a2859f97c8988a414ba74e02e1fb5af6f95f768e1b1a2dfdaf412b0d655678ed915d28273953fd1236ebcd87553a1880f1a7f3ea4d44
diff --git a/dev-util/intel_clc/intel_clc-24.0.9.ebuild b/dev-util/intel_clc/intel_clc-24.0.9.ebuild
deleted file mode 100644
index 922614294c85..000000000000
--- a/dev-util/intel_clc/intel_clc-24.0.9.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 16 17 )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="amd64"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Dbuildtype=$(usex debug debug plain)
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.1.3.ebuild b/dev-util/intel_clc/intel_clc-24.1.3.ebuild
deleted file mode 100644
index 4ff279ed0893..000000000000
--- a/dev-util/intel_clc/intel_clc-24.1.3.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.1.4.ebuild b/dev-util/intel_clc/intel_clc-24.1.4.ebuild
deleted file mode 100644
index df38191345d0..000000000000
--- a/dev-util/intel_clc/intel_clc-24.1.4.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.1.5.ebuild b/dev-util/intel_clc/intel_clc-24.1.5.ebuild
deleted file mode 100644
index df38191345d0..000000000000
--- a/dev-util/intel_clc/intel_clc-24.1.5.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.1.6.ebuild b/dev-util/intel_clc/intel_clc-24.1.6.ebuild
deleted file mode 100644
index 4ff279ed0893..000000000000
--- a/dev-util/intel_clc/intel_clc-24.1.6.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.1.7.ebuild b/dev-util/intel_clc/intel_clc-24.1.7.ebuild
index df38191345d0..4ff279ed0893 100644
--- a/dev-util/intel_clc/intel_clc-24.1.7.ebuild
+++ b/dev-util/intel_clc/intel_clc-24.1.7.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then
else
S="${WORKDIR}/mesa-${MY_PV}"
SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="MIT SGI-B-2.0"
diff --git a/dev-util/intel_clc/intel_clc-24.2.0_rc4.ebuild b/dev-util/intel_clc/intel_clc-24.2.0_rc4.ebuild
deleted file mode 100644
index a413a9047a73..000000000000
--- a/dev-util/intel_clc/intel_clc-24.2.0_rc4.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.2.1.ebuild b/dev-util/intel_clc/intel_clc-24.2.1.ebuild
deleted file mode 100644
index 4acbe36c77e0..000000000000
--- a/dev-util/intel_clc/intel_clc-24.2.1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.2.2.ebuild b/dev-util/intel_clc/intel_clc-24.2.2.ebuild
deleted file mode 100644
index 4acbe36c77e0..000000000000
--- a/dev-util/intel_clc/intel_clc-24.2.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..18} )
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit llvm-r1 meson python-any-r1
-
-MY_PV="${PV/_/-}"
-
-DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V"
-HOMEPAGE="https://mesa3d.org/"
-
-if [[ ${PV} == 9999 ]]; then
- S="${WORKDIR}/intel_clc-${MY_PV}"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- S="${WORKDIR}/mesa-${MY_PV}"
- SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-libs/libclc
- dev-util/spirv-tools
- >=sys-libs/zlib-1.2.8:=
- x11-libs/libdrm
- $(llvm_gen_dep '
- dev-util/spirv-llvm-translator:${LLVM_SLOT}
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-DEPEND="${RDEPEND}
- dev-libs/expat
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
-}
-
-pkg_setup() {
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
-
- use debug && EMESON_BUILDTYPE=debug
-
- local emesonargs=(
- -Dllvm=enabled
- -Dshared-llvm=enabled
- -Dintel-clc=enabled
-
- -Dgallium-drivers=''
- -Dvulkan-drivers=''
-
- # Set platforms empty to avoid the default "auto" setting. If
- # platforms is empty meson.build will add surfaceless.
- -Dplatforms=''
-
- -Dglx=disabled
- -Dlibunwind=disabled
- -Dzstd=disabled
-
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/src/intel/compiler/intel_clc
-}
diff --git a/dev-util/intel_clc/intel_clc-24.2.0.ebuild b/dev-util/intel_clc/intel_clc-24.2.3.ebuild
index 4acbe36c77e0..4acbe36c77e0 100644
--- a/dev-util/intel_clc/intel_clc-24.2.0.ebuild
+++ b/dev-util/intel_clc/intel_clc-24.2.3.ebuild
diff --git a/dev-util/kdevelop-php/kdevelop-php-24.08.1.ebuild b/dev-util/kdevelop-php/kdevelop-php-24.08.1.ebuild
index dd445596a575..7c7d13560729 100644
--- a/dev-util/kdevelop-php/kdevelop-php-24.08.1.ebuild
+++ b/dev-util/kdevelop-php/kdevelop-php-24.08.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://kdevelop.org/"
LICENSE="GPL-2 LGPL-2"
SLOT="6"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
IUSE=""
# remaining tests fail for some, bug 668530
diff --git a/dev-util/kdevelop-python/kdevelop-python-24.08.1.ebuild b/dev-util/kdevelop-python/kdevelop-python-24.08.1.ebuild
index e283a3d10c12..366e3f7f8ade 100644
--- a/dev-util/kdevelop-python/kdevelop-python-24.08.1.ebuild
+++ b/dev-util/kdevelop-python/kdevelop-python-24.08.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://kdevelop.org/"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-util/kdevelop/kdevelop-24.08.1.ebuild b/dev-util/kdevelop/kdevelop-24.08.1.ebuild
index e8180d9e7333..4bc5241fab4f 100644
--- a/dev-util/kdevelop/kdevelop-24.08.1.ebuild
+++ b/dev-util/kdevelop/kdevelop-24.08.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://kdevelop.org/"
LICENSE="GPL-2 LGPL-2"
SLOT="6/$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
IUSE="gdbui plasma +qmake +share subversion"
# see bug 366471
diff --git a/dev-util/kio-perldoc/kio-perldoc-24.08.1.ebuild b/dev-util/kio-perldoc/kio-perldoc-24.08.1.ebuild
index a50ec345e017..7a8193555d08 100644
--- a/dev-util/kio-perldoc/kio-perldoc-24.08.1.ebuild
+++ b/dev-util/kio-perldoc/kio-perldoc-24.08.1.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="KIO worker interface to browse Perl documentation"
LICENSE="GPL-2+ || ( Artistic GPL-1+ )"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/dev-util/visualvm/Manifest b/dev-util/visualvm/Manifest
index 15af8e7a56b3..cb321ae2a671 100644
--- a/dev-util/visualvm/Manifest
+++ b/dev-util/visualvm/Manifest
@@ -1,3 +1,4 @@
DIST nashorn-core-15.4.jar 2167292 BLAKE2B f40349e9f369eed1bb3795622ffe9353c98f35df1d5c2f5f3845d8f1fd5ecea553e11da15d17b9083f6ae2efa4485df131a9a9216499f1c7d440ca4b1d772a2b SHA512 3b560e1ae67d5d5d19250849dee3f813d2c801e56ba85d90439a067378a47f95020910da85b7c8afb6675ea2e25cd274953483efd07e89097656aadc804c8020
DIST nb190_platform_20231030.zip 26056691 BLAKE2B 7815c08ad60515e8018336452e24c2fb0743d1ef48c58ffd80d371000fa664f8f0053a4c1d56a012b9e50f6714a44c300a915061afebd586f9438abae7867447 SHA512 779256d678c9a13dde4314a5771480c450ae86c49e80ac99eb90a4e9e32e3bc5759128f60a610aecc3ce9e7dbce56b0076b528c8f18a682ebac2dd74cb5a6eea
+DIST visualvm-2.1.10.tar.gz 11782775 BLAKE2B 6c25293fc456cd5add37aa11d623e7a329f31f2608eaf5217a64f014d26a0ab439569edac6367a79102c3d89fe88182bd9ac56edf96aac515b6b6146eaf70a25 SHA512 dd8da529b766c97e8dfc392eafeafb672cd5f74d8a86cb5c4c4385769c5cb1376e7757601d5254de46d7bc5ff705aef0d839692426ffd1a3a10304c3fa90d440
DIST visualvm-2.1.9.tar.gz 11781212 BLAKE2B e924134e211a7f0a95d299f21dab2fff35fb0c0f646ea25adc0eb1204628fbec752075380dc6f717ff902f566040cf9ed8186b1470f9277d39742e288142de67 SHA512 ed950c6216185b9d09ed0605729cd02b649df32fef0f204066419bf96f61f63887b7bad082e5434e740f23856270be2b5c0bd35aa825511cb35486059592b3e7
diff --git a/dev-util/visualvm/visualvm-2.1.10.ebuild b/dev-util/visualvm/visualvm-2.1.10.ebuild
new file mode 100644
index 000000000000..d71b0bc917f6
--- /dev/null
+++ b/dev-util/visualvm/visualvm-2.1.10.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NBV=190
+NBT=20231030
+NBZ=nb${NBV}_platform_${NBT}.zip
+ASM_UTIL_VERSION="9.5"
+ASM_UTIL_FILE="asm-util-${ASM_UTIL_VERSION}.jar"
+FLIGHT_RECORDER_VERSION="8.3.1"
+FLIGHT_RECORDER_FILE="flightrecorder-${FLIGHT_RECORDER_VERSION}.jar"
+COMMON_VERSION="8.3.1"
+COMMON_FILE="common-${COMMON_VERSION}.jar"
+ENCODER_VERSION="1.2.3"
+ENCODER_FILE="encoder-${ENCODER_VERSION}.jar"
+LZ4_JAVA_VERSION="1.8.0"
+LZ4_JAVA_FILE="lz4-java-${LZ4_JAVA_VERSION}.jar"
+NASHORN_CORE_VERSION="15.4"
+NASHORN_CORE_FILE="nashorn-core-${NASHORN_CORE_VERSION}.jar"
+
+inherit java-pkg-2 desktop
+
+DESCRIPTION="Integrates commandline JDK tools and profiling capabilities"
+HOMEPAGE="https://visualvm.github.io"
+
+SRC_URI="https://github.com/oracle/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/oracle/${PN}/releases/download/2.1.8/${NBZ}
+ https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/${NASHORN_CORE_VERSION}/${NASHORN_CORE_FILE}"
+S="${WORKDIR}/${P}/${PN}"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+ >=dev-java/ant-1.10.14-r3:0
+"
+
+COMMON_DEPEND="
+ dev-java/jmc:0
+ dev-java/lz4-java:0
+ dev-java/owasp-java-encoder:0
+"
+
+# it does not compile with java 11
+# not even after removing hardcoded -source and -target values
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/jdk:1.8
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ !dev-util/visualvm:7
+ dev-java/asm:9
+ dev-java/hamcrest-core:1.3
+ dev-java/jcommander:0
+ dev-java/jna:4
+ dev-java/junit:4
+ dev-java/junit:5
+ dev-java/testng:0
+ >=virtual/jre-1.8:*
+"
+
+QA_PREBUILT="
+ /usr/share/visualvm/cluster/lib/deployed/jdk15/linux-amd64/libprofilerinterface.so
+ /usr/share/visualvm/cluster/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so
+ /usr/share/visualvm/platform/modules/lib/libflatlaf-linux-x86_64.so
+ /usr/share/visualvm/platform/modules/lib/aarch64/linux/libjnidispatch-nb.so
+ /usr/share/visualvm/platform/modules/lib/amd64/linux/libjnidispatch-nb.so
+ /usr/share/visualvm/platform/modules/lib/riscv64/linux/libjnidispatch-nb.so
+"
+
+INSTALL_DIR=/usr/share/${PN}
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd "${S}" || die
+ unpack ${NBZ}
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # Remove unneeded binaries
+ rm -rv netbeans/platform/lib/*.{dll,exe} \
+ netbeans/platform/modules/lib/{amd64/*.dll,i386,x86} || die
+ find libs.profiler/lib.profiler/release/lib/deployed/jdk1? -mindepth 1 \
+ -maxdepth 1 ! -name linux-amd64 -exec rm -rv {} + || die
+
+ # link in external libraries
+ ln -s "${DISTDIR}/${NASHORN_CORE_FILE}" nashorn.jdk15/external || die "Failed to link nashorn core jar"
+ java-pkg_jar-from --into nashorn.jdk15/external asm-9 asm-util.jar ${ASM_UTIL_FILE} \
+ || die "Failed to link asm util jar"
+ java-pkg_jar-from --into jfr.generic/external jmc jmc-common.jar ${COMMON_FILE} \
+ || die "Failed to link jmc common jar"
+ java-pkg_jar-from --into jfr.generic/external jmc jmc-flightrecorder.jar ${FLIGHT_RECORDER_FILE} \
+ || die "Failed to link jmc flightrecorder jar"
+ java-pkg_jar-from --into jfr.generic/external lz4-java lz4-java.jar ${LZ4_JAVA_FILE} \
+ || die "Failed to link lz4 java jar"
+ java-pkg_jar-from --into jfr.generic/external owasp-java-encoder owasp-java-encoder.jar ${ENCODER_FILE} \
+ || die "Failed to link owasp-java-encoder jar"
+
+ # remove hardcoded javac's source & target settings
+ cd .. || die
+ find -name build.xml \
+ -exec sed -Ei 's,(source|target)="1.5",,g' {} + ||
+ die "remove javac's source & target in build.xml files"
+
+ cd .. || die
+ find -name build.xml \
+ -exec sed -Ei 's,(source|target)="1.4",,g' {} + ||
+ die "remove javac's source & target in build.xml files"
+
+ for prop in $(find -name project.properties); do
+ sed -e '/javac.source=/d' -e '/javac.target/d' -i ${prop}
+ done
+
+ for impl in $(find -name build-impl.xml); do
+ sed -e '/default.javac.source=/d' -e '/default.javac.target/d' -i ${mpl}
+ done
+}
+
+src_compile() {
+ eant -v \
+ -Dext.binaries.downloaded=true \
+ -Djavac.source="$(java-pkg_get-source)" \
+ -Djavac.target="$(java-pkg_get-target)" \
+ build
+}
+
+src_install() {
+ # this is the visualvm cluster
+ insinto ${INSTALL_DIR}
+ doins -r build/cluster netbeans/{harness,platform}
+
+ # configuration file that can be used to tweak visualvm startup parameters
+ insinto /etc/${PN}
+ newins launcher/visualvm.conf ${PN}.conf
+ sed -i "s%visualvm_default_userdir=.*%visualvm_default_userdir=\"\${HOME}/.visualvm\"%g" \
+ "${ED}/etc/${PN}/visualvm.conf" || die "Failed to update userdir"
+ sed -i "s%visualvm_default_cachedir=.*%visualvm_default_cachedir=\"\${HOME}/.cache/visualvm\"%g" \
+ "${ED}/etc/${PN}/visualvm.conf" || die "Failed to update cachedir"
+ echo -e "\nvisualvm_jdkhome=\"\$(java-config -O)\"" >> "${ED}/etc/${PN}/visualvm.conf" \
+ || die "Failed to set jdk detection"
+
+ # replace bundled stuff
+ pushd "${ED}/${INSTALL_DIR}/platform/core" > /dev/null || die
+ for name in asm{,-commons,-tree}; do
+ rm ${name}-9.5.jar && java-pkg_jar-from asm-9 ${name}.jar ${name}-9.2.jar || die
+ done
+ popd > /dev/null
+
+ pushd "${ED}/${INSTALL_DIR}/platform/modules/ext" > /dev/null || die
+ rm hamcrest-core-1.3.jar && java-pkg_jar-from hamcrest-core-1.3 hamcrest-core.jar hamcrest-core-1.3.jar || die
+ rm jcommander-1.78.jar && java-pkg_jar-from jcommander jcommander.jar jcommander-1.78.jar || die
+ for name in jna{,-platform}; do
+ rm ${name}-5.12.1.jar && java-pkg_jar-from jna-4 ${name}.jar ${name}-5.12.1.jar || die
+ done
+ rm junit-4.13.2.jar && java-pkg_jar-from junit-4 junit.jar junit-4.13.2.jar || die
+ for name in junit-jupiter-{api,engine,params}; do
+ rm ${name}-5.6.0.jar && java-pkg_jar-from junit-5 ${name}.jar ${name}-5.6.0.jar || die
+ done
+ rm testng-6.14.3.jar && java-pkg_jar-from testng testng.jar testng-6.14.3.jar || die
+ popd > /dev/null
+
+ pushd "${ED}/${INSTALL_DIR}/cluster/modules/ext" > /dev/null || die
+ rm ${ASM_UTIL_FILE} && java-pkg_jar-from asm-9 asm-util.jar ${ASM_UTIL_FILE} || die
+ rm ${COMMON_FILE} && java-pkg_jar-from jmc jmc-common.jar ${COMMON_FILE} || die
+ rm ${FLIGHT_RECORDER_FILE} && java-pkg_jar-from jmc jmc-flightrecorder.jar ${FLIGHT_RECORDER_FILE} || die
+ rm ${LZ4_JAVA_FILE} && java-pkg_jar-from lz4-java lz4-java.jar ${LZ4_JAVA_FILE} || die
+ rm ${ENCODER_FILE} && java-pkg_jar-from owasp-java-encoder owasp-java-encoder.jar ${ENCODER_FILE} || die
+ popd > /dev/null
+
+ # visualvm runtime script
+ newbin "${FILESDIR}"/${PN}-r2.sh ${PN}
+
+ # makes visualvm entry
+ make_desktop_entry ${PN} VisualVM java "Development;Java;"
+}
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
index 9310cd060da9..323d04ef1152 100644
--- a/eclass/guile.eclass
+++ b/eclass/guile.eclass
@@ -190,8 +190,9 @@ _guile_multibuild_wrapper() {
local -x SLOTTED_ED="${SLOTTED_D}${EPREFIX}/"
local -x GUILE_EFFECTIVE_VERSION="${GUILE_CURRENT_VERSION}"
mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
"$@"
+ popd >/dev/null || die
}
# @VARIABLE: SLOTTED_D
diff --git a/eclass/tests/toolchain.sh b/eclass/tests/toolchain.sh
index 6f8df5b4fc4a..1ba2e6b1f29d 100755
--- a/eclass/tests/toolchain.sh
+++ b/eclass/tests/toolchain.sh
@@ -49,10 +49,6 @@ test_downgrade_arch_flags 4.5 "-march=core2" "-march=haswell"
test_downgrade_arch_flags 4.4 "-march=core2" "-march=haswell"
test_downgrade_arch_flags 4.3 "-march=core2" "-march=haswell"
test_downgrade_arch_flags 4.2 "-march=nocona" "-march=haswell"
-test_downgrade_arch_flags 4.1 "-march=nocona" "-march=haswell"
-test_downgrade_arch_flags 4.0 "-march=nocona" "-march=haswell"
-test_downgrade_arch_flags 3.4 "-march=nocona" "-march=haswell"
-test_downgrade_arch_flags 3.3 "-march=nocona" "-march=haswell"
test_downgrade_arch_flags 4.9 "-march=bdver4" "-march=bdver4"
test_downgrade_arch_flags 4.8 "-march=bdver3" "-march=bdver4"
@@ -62,31 +58,18 @@ test_downgrade_arch_flags 4.5 "-march=amdfam10" "-march=bdver4"
test_downgrade_arch_flags 4.4 "-march=amdfam10" "-march=bdver4"
test_downgrade_arch_flags 4.3 "-march=amdfam10" "-march=bdver4"
test_downgrade_arch_flags 4.2 "-march=k8" "-march=bdver4"
-test_downgrade_arch_flags 4.1 "-march=k8" "-march=bdver4"
-test_downgrade_arch_flags 4.0 "-march=k8" "-march=bdver4"
-test_downgrade_arch_flags 3.4 "-march=k8" "-march=bdver4"
-test_downgrade_arch_flags 3.3 "-march=x86-64" "-march=bdver4"
-
-test_downgrade_arch_flags 3.4 "-march=c3-2" "-march=c3-2"
-test_downgrade_arch_flags 3.3 "-march=c3" "-march=c3-2"
test_downgrade_arch_flags 4.5 "-march=garbage" "-march=garbage"
test_downgrade_arch_flags 10 "-mtune=intel" "-mtune=intel"
test_downgrade_arch_flags 4.9 "-mtune=intel" "-mtune=intel"
test_downgrade_arch_flags 4.8 "-mtune=generic" "-mtune=intel"
-test_downgrade_arch_flags 3.4 "" "-mtune=generic"
-test_downgrade_arch_flags 3.4 "" "-mtune=x86-64"
-test_downgrade_arch_flags 3.3 "" "-mtune=anything"
test_downgrade_arch_flags 4.5 "-march=amdfam10 -mtune=generic" "-march=btver2 -mtune=generic"
-test_downgrade_arch_flags 3.3 "-march=k6-2" "-march=geode -mtune=barcelona"
-test_downgrade_arch_flags 3.4 "-march=k8" "-march=btver2 -mtune=generic"
test_downgrade_arch_flags 10 "-march=native" "-march=native"
test_downgrade_arch_flags 8 "-march=znver1" "-march=znver2"
test_downgrade_arch_flags 4.2 "-march=native" "-march=native"
-test_downgrade_arch_flags 4.1 "-march=nocona" "-march=native"
test_downgrade_arch_flags 9 "-march=znver2" "-march=znver3"
test_downgrade_arch_flags 10 "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c03312be43ad..a545f730ada7 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -22,7 +22,9 @@ _TOOLCHAIN_ECLASS=1
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
-inherit edo flag-o-matic gnuconfig libtool multilib pax-utils python-any-r1 toolchain-funcs prefix
+inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
+
+[[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1
tc_is_live() {
[[ ${PV} == *9999* ]]
@@ -143,6 +145,12 @@ tc_version_is_between() {
# @DESCRIPTION:
# Indicate the developer who hosts the patchset for an ebuild.
+# @ECLASS_VARIABLE: TOOLCHAIN_HAS_TESTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Controls whether python-any-r1 is inherited and validate_failures.py
+# is used.
+
# @ECLASS_VARIABLE: GCC_PV
# @INTERNAL
# @DESCRIPTION:
@@ -273,6 +281,7 @@ STDCXX_INCDIR=${TOOLCHAIN_STDCXX_INCDIR:-${LIBPATH}/include/g++-v${GCC_BRANCH_VE
LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
IUSE="test vanilla +nls"
RESTRICT="!test? ( test )"
+[[ -z ${TOOLCHAIN_HAS_TESTS} ]] && RESTRICT+=" test"
TC_FEATURES=()
@@ -537,7 +546,8 @@ get_gcc_src_uri() {
[[ -n ${MUSL_VER} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
- GCC_SRC_URI+=" test? ( https://gitweb.gentoo.org/proj/gcc-patches.git/plain/scripts/testsuite-management/validate_failures.py?id=${GCC_VALIDATE_FAILURES_VERSION} -> gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py )"
+ [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && \
+ GCC_SRC_URI+=" test? ( https://gitweb.gentoo.org/proj/gcc-patches.git/plain/scripts/testsuite-management/validate_failures.py?id=${GCC_VALIDATE_FAILURES_VERSION} -> gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py )"
echo "${GCC_SRC_URI}"
}
@@ -569,7 +579,7 @@ toolchain_pkg_setup() {
# more legible.
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
- use test && python-any-r1_pkg_setup
+ [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test && python-any-r1_pkg_setup
}
#---->> src_unpack <<----
@@ -633,7 +643,7 @@ toolchain_src_prepare() {
tc_enable_hardened_gcc
fi
- if use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test ; then
cp "${DISTDIR}"/gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py "${T}"/validate_failures.py || die
chmod +x "${T}"/validate_failures.py || die
fi
@@ -2275,7 +2285,7 @@ toolchain_src_install() {
pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
- if use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test ; then
mkdir "${T}"/test-results || die
cd "${WORKDIR}"/build || die
find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \; || die
@@ -2434,7 +2444,7 @@ create_revdep_rebuild_entry() {
#---->> pkg_pre* <<----
toolchain_pkg_preinst() {
- if [[ ${MERGE_TYPE} != binary ]] && use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} && ${MERGE_TYPE} != binary ]] && use test ; then
# Install as orphaned to allow comparison across more versions even
# after unmerged. Also useful for historical records and tracking
# down regressions a while after they first appeared, but were only
diff --git a/games-arcade/jazz2-data/jazz2-data-0-r20200327.ebuild b/games-arcade/jazz2-data/jazz2-data-0-r20200327.ebuild
index 10ac074109cf..ecb870298485 100644
--- a/games-arcade/jazz2-data/jazz2-data-0-r20200327.ebuild
+++ b/games-arcade/jazz2-data/jazz2-data-0-r20200327.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,8 @@ KEYWORDS="~amd64"
IUSE="+cc demo gles2-only"
RESTRICT="!demo? ( bindist fetch )"
-RDEPEND="games-arcade/jazz2:=[gles2-only=]"
+# jazz2-import is available only before version 1.0.0
+RDEPEND="<games-arcade/jazz2-1:=[gles2-only=]"
BDEPEND="
${RDEPEND}
diff --git a/games-arcade/jazz2/Manifest b/games-arcade/jazz2/Manifest
index 412f67c80f37..f339610dfc4d 100644
--- a/games-arcade/jazz2/Manifest
+++ b/games-arcade/jazz2/Manifest
@@ -1 +1,2 @@
DIST jazz2-0.6.7.tar.gz 11031735 BLAKE2B 014ff24c6f5a834a727aaed3760a1e228d9f7d9653dd293e98030c9105cbf15a3b420c2d515605e36187cc833ae892ed30589f1bf821c0b674b883cea216f3f5 SHA512 7172a3ccb367122d1c9bfbd36b76cc3d365024affba9aea5cfa595fd11a9b4dc980e57c1cfdb0d32bc28bb7ecb5f6f5225909697c4c93c43117596f44d80ff8f
+DIST jazz2-2.8.0.tar.gz 3656018 BLAKE2B c023e722871304754e45a1329cfff9e0e713413a6a05b5265dd000bab8a057ac5dbdb1a263b29f562df0221b97eb326fbd15f3c6b6f316b756630c2521413bec SHA512 1a6b61cb654c5afee7d615cca912b75ef4f1e90929d7808800467bd13a1ebd9096430d1c1fa969cfacf8c10ff1e696c74371c1809a0ffbda90c5db31c686ae05
diff --git a/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch b/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch
new file mode 100644
index 000000000000..349ec40fd180
--- /dev/null
+++ b/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch
@@ -0,0 +1,20 @@
+From 04d43f938c8b656bf5fb0dbed464566af4c0062c Mon Sep 17 00:00:00 2001
+From: Death Killer <884052+deathkiller@users.noreply.github.com>
+Date: Sun, 4 Aug 2024 16:49:59 +0200
+Subject: [PATCH] Fixed about screen
+
+https://github.com/deathkiller/jazz2-native/commit/04d43f938c8b656bf5fb0dbed464566af4c0062c
+
+diff --git a/Sources/Jazz2/UI/Menu/AboutSection.cpp b/Sources/Jazz2/UI/Menu/AboutSection.cpp
+index 9c3afd59..ea7723e9 100644
+--- a/Sources/Jazz2/UI/Menu/AboutSection.cpp
++++ b/Sources/Jazz2/UI/Menu/AboutSection.cpp
+@@ -62,7 +62,7 @@
+ # define _i7 "\nOpenAL \f[c:#707070]· \f[h:80]https://github.com/kcat/openal-soft\f[/h]\f[/c]"
+ # endif
+ #else
+-# define _i6 ""
++# define _i7 ""
+ #endif
+
+ #if defined(WITH_VORBIS)
diff --git a/games-arcade/jazz2/jazz2-2.8.0.ebuild b/games-arcade/jazz2/jazz2-2.8.0.ebuild
new file mode 100644
index 000000000000..bcc62ab10108
--- /dev/null
+++ b/games-arcade/jazz2/jazz2-2.8.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg-utils
+
+DESCRIPTION="Open source reimplementation of Jazz Jackrabbit 2"
+HOMEPAGE="
+ https://deat.tk/jazz2/
+ https://github.com/deathkiller/jazz2-native
+"
+SRC_URI="
+ https://github.com/deathkiller/jazz2-native/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+S="${WORKDIR}/${PN}-native-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+openal sdl"
+
+DEPEND="
+ sys-libs/zlib:=
+ openal? (
+ media-libs/libopenmpt
+ media-libs/openal
+ )
+ !sdl? ( media-libs/glfw:= )
+ sdl? ( media-libs/libsdl2:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-about-section.patch"
+)
+
+src_prepare() {
+ # We need to install README.md to a different directory, default
+ # src_install will handle that.
+ sed -i '/README_INSTALL_DESTINATION/d' cmake/ncine_installation.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local backend=GLFW
+ use sdl && backend=SDL2
+ local mycmakeargs=(
+ -DNCINE_LINUX_PACKAGE="${PN}"
+
+ -DNCINE_DOWNLOAD_DEPENDENCIES=OFF
+ -DNCINE_LINKTIME_OPTIMIZATION=OFF
+ -DNCINE_STRIP_BINARIES=OFF
+ -DNCINE_VERSION_FROM_GIT=OFF
+ -DNCINE_WITH_BACKWARD=OFF
+
+ -DNCINE_WITH_GLEW=OFF
+
+ -DNCINE_PREFERRED_BACKEND=${backend}
+
+ -DNCINE_WITH_AUDIO=$(usex openal)
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/games-arcade/jazz2/metadata.xml b/games-arcade/jazz2/metadata.xml
index dff951fa6b7f..39f3565c770c 100644
--- a/games-arcade/jazz2/metadata.xml
+++ b/games-arcade/jazz2/metadata.xml
@@ -7,8 +7,10 @@
</maintainer>
<upstream>
<remote-id type="github">deathkiller/jazz2</remote-id>
+ <remote-id type="github">deathkiller/jazz2-native</remote-id>
</upstream>
<use>
<flag name="server">Build the multiplayer game server</flag>
+ <flag name="sdl">Prefer SDL2 over GLFW backend</flag>
</use>
</pkgmetadata>
diff --git a/games-emulation/ryujinx/Manifest b/games-emulation/ryujinx/Manifest
index 92d4711521eb..78cb44cd4c3a 100644
--- a/games-emulation/ryujinx/Manifest
+++ b/games-emulation/ryujinx/Manifest
@@ -1,29 +1,46 @@
+DIST avalonia.11.0.10.nupkg 14418163 BLAKE2B 867d732e22d794dce0f2142b02df1dbcb06156d5a3de27ed7be5f5d7995d4278ffa8087bc8350ce8e51d5f330fdba697795d758a2eed464cbaab6d6e5b8e3adb SHA512 0b413cd082d38842389f22d96f83cb233e44ad7a77992b13eee35f7866279e46c9419b1c07bc38f9a29da6b7e434943b8ac424194d76ccb07fd9767eb9313af8
DIST avalonia.11.0.7.nupkg 14364728 BLAKE2B 48ba41b306f924c73f5c382e056f354a06e742da49db001b10c311ec0c856d91164209982bbce9ec4365f6afce87b06a157192fec308bf75e972f69c30af90ab SHA512 04ec6399c36c5b6dd1b6406557637330c16c82b38322687a865cd5dc474b13aac7ba3e6f12dbab8568d2f9f4bef205f02c8c6f55f1beb2634ff123bfc6fabb46
DIST avalonia.angle.windows.natives.2.1.0.2023020321.nupkg 4391179 BLAKE2B 36fd6dd6d9af3d9210b687d1407c61ffa938621137ee53960e04ca2eca44c655e566fd834664b1667d92d0031e62593a593b17c798de8e808665a3f7f1af6393 SHA512 4ec227f1c4da9cffbcccf2273171b51792c52f3e83f2a808904c559563a73f0ad63e6199c5fd82474101e03ac10718aab1877c1b4b051cf80d3ed88d41de7d06
DIST avalonia.buildservices.0.0.29.nupkg 37078 BLAKE2B 3d23f0050f6112c89ce100c3c1b88c04414c095ab6fadc1de74ec4b059e1edd3d7930a715e53c19dd4285ebb634e40f13965fddf81143465a5d056965b4e8d22 SHA512 9485e64c84b087beaf0803c049e9c057216b889bb8d452f0339149dbde65b2c9f1cca2f2b119c3d1eb8c6eb135f582edc72516095bb6be9a2d3b530d3aa3d639
+DIST avalonia.controls.colorpicker.11.0.10.nupkg 239815 BLAKE2B c96d3967d04daa2eeadceff3d02e89e54ef3275b33f7ed9c29f68b4178a99ddf6480b31169ca58d61780ca0f8385db483a391997b35e010fc56edcf49dbd038a SHA512 a35ec570c5c82524f90fa2c2113946df922fd091ee1a4f572695d1978a82fc0d370e9780d986502c0cdc0ff920e9a96fc766ebd03a7cdfb05579d9c6407aec36
DIST avalonia.controls.colorpicker.11.0.4.nupkg 244571 BLAKE2B f5dd96b6688d581f0a89265d2346f7ea11f0b543bc4b166905a0b11d6ff21dc99086909441cf83e126c8f9deb940286a32aa711f73db345af7ecbd6f2d290363 SHA512 bbdb79b7e6ef08b09549467127a7bb931a9df8ece03898a601b7e5975925312e958933374fbfcc4a7584ad8593d92adadb593c559a74298df0c372b47e22b9ed
DIST avalonia.controls.colorpicker.11.0.7.nupkg 242124 BLAKE2B 02f835c2923227a76ca8c0ac92bb1b0dfaa7418f79a8c62f01b446bdc14c75ddd871daf516794276a73e493f55403e2987ac66092d183a7609ff6361ee262dac SHA512 9ddb0771d26c0b3b57957a6f53dac2971af4012ce1fd36718869040c19bbed467a333cc81ae6a02d0ac831fa1d07dfd80bb036e36028153f1cd294e66edd5176
+DIST avalonia.controls.datagrid.11.0.10.nupkg 387551 BLAKE2B d57a9512844c22cdb03d30901b9d430d7f57344f67157aa959a3b94c2b02de8def390771203860039b515874703bca035440b39522312102b62f2acac466f2c6 SHA512 a17aa994a3c56c5f82d131df33cb0de00b0212549f89a44976c0686ce635062f58f1ec64e06a0138791268893fc47761234df1cbfe406a4898c33121e44b799c
DIST avalonia.controls.datagrid.11.0.7.nupkg 387475 BLAKE2B 15e02fa9b5392e53584e24baea6d6dfaf4ff478c82b669a723cea9e82a28c3eda838c38b3411121336e52b623b9cb1da711dbd1ab7391b55ae42d04a467be88e SHA512 2ed03668b6aa1fd389157a41a21a274d030435205165124913f5a14d96d0fcf8ead9fcce80d5171828c3a1e633764c5af4e92764457a3c4226c7d1f1cbadbebd
DIST avalonia.controls.itemsrepeater.11.0.4.nupkg 123427 BLAKE2B d928cfe26039741da4ce79a42a0a57642294bf9d9047791d44771ac19c3d9cb2e0aac2a829ab38fe25afcddf9addfd869b8c88b927a8eec3de01588abddec8d2 SHA512 c22ad89d17e20f02db3d54bbeed57dbc316db5378848ccfd5ea4035ad03a15b4ad8961dddffef2ca7db843455379930223d14fe99ae4e2e2c050f928024e6994
+DIST avalonia.desktop.11.0.10.nupkg 37191 BLAKE2B f0898f4a4e0a28386aaaeb4dee51e5d169f08a69a62c022fbf25b340ba15a568ef712f8701d93e512dd47f2fe336df019b722fe9fb2bcb69762a5b6286a8b039 SHA512 47804a493667905f8d3cf690e352a3cf465991d3e851c7c7b1aef8dcc2c33a63cc803e13d586a9eec0b98aa8e88c01ef2dc2b90d4ae62f11850af0ceee8c91e1
DIST avalonia.desktop.11.0.7.nupkg 37184 BLAKE2B d52e45a3e0d22018a343eaeea8541a68069e5032820d22cf3512bd217be3e4cb6b4ecff659230a0ce34f66da1ba8bb79b72991a76b5c0d0a57c2421933e8094f SHA512 cd7be6154a2fc71df8900aee7c46c960b0f23ff7b5dfee6082aa84b8c12f001ebdd5be5ceacffaa9e429060089a84fd4051b45a6e64077913f7724d60540727e
+DIST avalonia.diagnostics.11.0.10.nupkg 230109 BLAKE2B da80bc6fcaa1b8ed38247ba22a5d0736cb930f7c622f5926d346a950eaa8e9911979eee23cfe06adb7b400d98b3ae08fb32b4e7169b74d5f82e0f3032bfc251e SHA512 3e7a2d4cc1ce8adaba87ca925f669fcbd5baa362b4be7dd1309648fcb49dfd865ed443cfc0f443a61f1efd19475ba5a3f66ac1b5b9df340f240e9a87b06c631d
DIST avalonia.diagnostics.11.0.7.nupkg 230083 BLAKE2B 8bfbf209b76491f88eb400a5c9b61b3638037ec51ebb8f53d1bf70011bed076c6a97aee8def867fc52a2aa870f4f7ac0caeb452fe9f2db08c01a71b54310f331 SHA512 8c41eb2f3204e0b5f878ec06f7452ebd59c2304b7fdbcecd059e9f03375d1c7bcb15e9ce219179eaa4c977fad4e3a3af4f222c43cb5ab84b6f9e148ced3f687a
+DIST avalonia.freedesktop.11.0.10.nupkg 178321 BLAKE2B 091df67f2a17de5e0e655e59e5e9c2732223f93897795389ee7be2ae7bab8b8bad291277f01774de114dddfab50af8a59aef75115455e0f80b949fb3d581d437 SHA512 53c5415fcde87516e2c5917d6a956bea47904770d8fa5d36eeffd0c294d15ea194ae6c453fd17143ba92bb2ab6501fcc6780bb4720bcc0000176bd574dbc0fda
DIST avalonia.freedesktop.11.0.7.nupkg 178281 BLAKE2B df76b56e6b91064a141f3881cdf7d4e4d96303eaed9f7a2c3ccb125774811fcf3124510aa05f0cb9f0c8cf27c597901d7a1f17b06e1e4c8f8bf460895169fa35 SHA512 776976c6d7572792a8b75c27d1bb13a4e834a9639b59647d297b11b0385cc29e282764547876dc8bd11412dc5c23c9f503b8a4e20432f2627563768e24fb7746
+DIST avalonia.markup.xaml.loader.11.0.10.nupkg 372292 BLAKE2B c9f72366a55c39313634580249d1a70d190abda252e14e117ad788136da789b31837374ade341123e0279608fb9c9c3b76efe5a73a3fb0d952e97f2d42cab9e5 SHA512 d6b7b0c9577e9078d259c26be3b75072f9bd2a652ba376f6f5ab90ae5e9d9b1ffe4e41d3eb9c9e73495362fa9b1857bc64edef10e85ba2e6e4de869a030d1b15
DIST avalonia.markup.xaml.loader.11.0.7.nupkg 372221 BLAKE2B 31c7176c275b2bba15589e4f46970eced968c2b35947fe24347bab3728aabfc327131073ef7ac0e3265394a3e0a0806fabd6bfb31235b602f2459684adcc85cf SHA512 ee9350af80220461484715df6b1b03ffec72d017ebb24094e46488f9c4e1b83bae9913d980f67e4ec2664965f585cdbfcb188c67565a1dc537c082b03cc8dba3
+DIST avalonia.native.11.0.10.nupkg 547680 BLAKE2B 7735979fd5c22429b777ea271cf47a90db5f7f084078826deaf05dbe6ea9a65c979047d25fcb14ca0682a87a2ef9660ea4f7df24118f117755bab50c7ec25286 SHA512 a06da387b69dc192eb1d4759d3a34fab60f4f1e52e98b3c2bdb4a4c755813a9731f78486a06e6c3b909ebe6dbb0f373142d6d92f7f6037dd1977861126024d99
DIST avalonia.native.11.0.7.nupkg 546223 BLAKE2B b8d983a4fba8f0f68f2c1c6389943b21ce4790e2af93a4aeb51a43e6e65d479e4ac467a7475fc4b50bc47659912462ccaa56b0bbb89273e5b7a775e3c33e6bd3 SHA512 ad4dc6ca0baccec4f1bf5cc9cd032eed8a9a36d19d1649ce45e8f18d3d7625c3e4afd86d4da1b51e24f4fbe83cb879645f8efec9c3e77248543caa7c83ce8ea2
+DIST avalonia.remote.protocol.11.0.10.nupkg 102597 BLAKE2B 3c6cea608b6bb8f58c704c8bb72a70e714c6eacdb61a87336582aba55c39d97f572bb94612a361070fe7d078f6e8a2505b826115ceb1e9319541dc3b82080568 SHA512 cc6a48cdadc218502086aa6cfadb3a06227cd28c34da79da3380743bbf42605f28ab0b7f887c82a8a26154c6047f208e4f2ce67a9e44d5c07389e1f79c059683
DIST avalonia.remote.protocol.11.0.4.nupkg 93173 BLAKE2B 363dd140cacb874714a0bbf7f12126fdc5a5a083b6a19c4f9fa1f2ed315f479a91b440c174484c1d0a99cd47c0bc3408d562eb3684e442f46c2b505f0522395c SHA512 99164d4808d71c090441cc39ae14a6d13e9d76e0d10f682feccbad7fb4b059aa48fa92666b07b3e950400afcfe7069c238f56295fe9ad03a8ddc02dccefd98c6
DIST avalonia.remote.protocol.11.0.7.nupkg 102570 BLAKE2B 7a04ca3ecbe41bafb9ef99c0e51f52e9934e3e6982821f03bb7b4eb80edc305453a467d6c40f6479d8547698a72fa4b298f12f1287ddc467cfad99c950963c81 SHA512 af65ca3197c6dff1d877e6e2b3615f605fc9cabe59b7463047e5fa3e2a467fac4d9fdc1912e3ad48ba295f664b66eb6551c11c78ad68547841452ce6dc1361eb
DIST avalonia.skia.11.0.0.nupkg 187203 BLAKE2B 4cec64d8de662e4fb724b4b94d51a2a0bb88637cf4aaefb90ccf837b7e2650794758ec17e0daefbb78bfd92cf411dd496c50d083660ba62428f12f6ad305c06c SHA512 6fe1db10ed9422decd24fb60801d9b63651f0bd3f046a9e9d566d0816e7f3fb70eb4cf23db173537a5d5d8e1b75c2999793e5503648fa200a31806c6591b2723
+DIST avalonia.skia.11.0.10.nupkg 139558 BLAKE2B 4d7fd9127e84c8342651519464cc7a035038da4dbdf6739815d408c1ece534f01f0f2a56994eebedaf7adb9375e5989852a957c66b90f637464ed08e70d9cec6 SHA512 b4eaaa73b6b03f0b615f4cbe64d5ed5d7f6fb4ab953157116b3b7862b189e24f704cecb70e55f32eb0c991f47f253878a41a2fce01690acdf42f616996d45319
DIST avalonia.skia.11.0.4.nupkg 137829 BLAKE2B c0d0446ad88d128527f94010f1198e42cb3a5e8f9838b8502bc022c24eae1fab4b51250758d4b338d524c5335a22627966e4868c7a7cee3d6a083510232f9d45 SHA512 4299c6f49bb1a1c250fd69ed89e9ddaf47505a64fe40e90d2a59af06eb7847ed97d19fe42ab13709b1e922c660d5ec30dfbc9f72622239174dde8c76fd1a9071
DIST avalonia.skia.11.0.7.nupkg 138658 BLAKE2B bf2ff0f20f3c3b4f26f1003766efe6aefaf74dad194d6f6c2fe49f968dfa9ed83f2c315113ed2436457d93fdb81a2c96fd5e24b26120b8456d9cd2863a7213cd SHA512 e42663df7f1c3f13f6d983a9110da6bbf44df42d17a6830b2e156000b1027144d99a5da655a9062e0f094e1605895ce07ce2a0aa3621c4c79696bc1419340320
DIST avalonia.svg.11.0.0.13.nupkg 107627 BLAKE2B 962b51afd5e08c727f42600f235980964e1c59f4efb9d615758e65e0075e61d9f3f8e630e98bb601f79953e3fa2ad242b8c16616db86d2c8005e509f8eeeff8c SHA512 14df3ee5297d127ad23751ad28aefc8b27cef2ad08d1794b3c6396aff1de3a15fcf547ad55f587407c977e8d0cc6ccfce5b20fef991f42d70aed83eba850a9ad
+DIST avalonia.svg.11.0.0.18.nupkg 140657 BLAKE2B c090c3f0ca116a90f243fdfbee4a45699e5fb1065d5070a6da8cc52a9e206f867891a568efbebbef62793a2093e44cc1f1ee55f3f83170c125296f5bb25371c2 SHA512 42bcbf8aeb44ab7387478ebe73510207a9690f942c46240faf6b78f2e40d160ad0916afa357b771c9e62efd6a19c0b27bba0eeb9c459634137c9edf1978a3df3
DIST avalonia.svg.skia.11.0.0.13.nupkg 74442 BLAKE2B 3cba5da950935bc90a6fd4331eed8873ecd0ba58068b16a0f70f39cbff1fc5d50c38862a68529809f0d8b17272723b564d5fedd96a6003104af2cbd312f18d27 SHA512 e6888dc587451a2fdb7bf708d7924fac5c121479cc9754958d96f6e4036c752b56a1e231b35b66519b5a6942993943f63611638e46986f33a3c9a9f436f913e9
+DIST avalonia.svg.skia.11.0.0.18.nupkg 100745 BLAKE2B 80ce920f0deb6c3d722a2ec6b596676bc7076b85c8ca31c0b54de9088931bac2b0e0adc126f13c2565ce6cb322657ff3fc23b1a53442175629375c7289340f5b SHA512 353cf22e8b9b2d750861703843af211f883eec1996750df7b841c537e0dbc66f3cd3ab188ca22153053b8f4bc93e3aeef99bf575a398534553eec17b435e66de
+DIST avalonia.themes.simple.11.0.10.nupkg 148697 BLAKE2B 352ab5006df3f919472292af06ce4936e48f2cd7330555cf08389f2535ee1d41ae3a8edfbfd7ef5edd4053775307b75a0e0d7a2aa89d33dd6c9c9cf227921e3d SHA512 edd2586b7ccb3ab6e29ab08879966c95e646ac39e9908ccb9905f59829c1b55ee41b91bc1f92878e09b24f0faf7ea8782593291aee2b6b00006e2b211a3c6e1a
DIST avalonia.themes.simple.11.0.7.nupkg 148589 BLAKE2B 0e99ff8a1f90dddb784af5270fc2b6e5e59ccce8223beb954632fd4727ff599077359f61de536f1215421f1f575e7a2250f1fb3776dbd1c5572debe5994349ac SHA512 9af2514c8052b6786e90bb8b7a49493808122b6459b83aab169932243e98777f3a265fc87d3b6efe57e544b58e0983d2891240a468ee3eb29ca06d7f76761cb3
+DIST avalonia.win32.11.0.10.nupkg 476114 BLAKE2B 5d1379c1564864be7ab149257e2bf6d840be801fa4acca8a81168b29e15e0c293eef48cc3afd95f7159f72e4cf054dd5f147fcb8244283bbdc41b35759a78d73 SHA512 b6db518fcce1ba56a5cf6692dfc88424a9bace33534c5a3abe7899c9c2412e451e2c8c5bb83cdc6b5fbfbc38cdbef8242e34322edee4621b11d60780f2b45eea
DIST avalonia.win32.11.0.7.nupkg 472764 BLAKE2B 1a8de06bb67aa2a11ca9cdd108b6dc434f35c9395a39eeee59c31dc59c42afb592e6b88b5294bd71f6efd769fbe0a016a45383791ec090a5d192f1394411cbac SHA512 2a6b45c82023c66bfdf59cc07d2b5a6db865c1db66d3ece6103394133604e0a625936c5f88232ee047c1ed60ae91c3800fafb1de801f109ebbea0f6cb4ff6527
+DIST avalonia.x11.11.0.10.nupkg 285086 BLAKE2B 90b5be3a153a25ca74e73c65e4d0fd78d78acecf5d42f101db125a90dc018b2577ce4eba83da38961a9ce0c2990761fa561042f287f3ffa744f494702c8b0fe4 SHA512 8f68b2b5b2bc985719e4c030688bcd5a3ea29f0781b0176b69c33a41a5ab11db25b5b92fd8b9aa751f2faebbdee0f04032415fab8e5bffd7a2f2efef33c94a25
DIST avalonia.x11.11.0.7.nupkg 285005 BLAKE2B c639d4d7628199aca061e3a4fd620487142206f849ff009211084726cfff2684b34f3aa5077c1e4a779a7653c6942b51d970d520a3f5a9507196932f973be932 SHA512 c1eb86572e30a016eb692fccffb9f3db8ebe85d705e6b6f8f79578a08ea3a2613ea622bba23722089835d86494ed3eae4acc8ac0e51685ef3d94613d7df59a72
DIST commandlineparser.2.9.1.nupkg 496069 BLAKE2B e2c4b38841f83d6bc10432b8055af90369f1fe0a10105a58b51b44cd48e5d84cb0b5e4b19f444d8c81b38646a62c7c4d11cbd710e92fea68be3ebea6ab98e3f1 SHA512 4f364e45c9668c7e7cc6a922b488f3fa523033c20d7a432694f0a6af05ce528ea0481d8375e2f4f1032c6990347b4803ce9a0e48068c6fe15ec46fb1254f085d
DIST concentus.1.1.7.nupkg 797108 BLAKE2B da3fbb82f283201803cec6e22f2f4f1dbfaa425a2c43d354eb4d9dc5278dedf14842bb61d3c666c348e7c866eaf0685b09873f24644ba4cf5f5eafedcfe7731b SHA512 ac1cbf5172bbceaf9961ee591fbf39f774720b1c5e841d9829068bf13af6a3519ce957b62c2695954a0cb6ce8bce5d4773941b17810b6c7c3e57a0821e7c0922
+DIST concentus.2.2.0.nupkg 867331 BLAKE2B 57e8ad4afd6c7c1d95ee9ce4a46fe5becc07fad10f8f0802d4aca12e6729dbf4fe206f57c0251c01bdb7f04e07ce83bca17f800233914e2881a34466761740ea SHA512 0617c93353247d361b085d07aea4c0b90c53881fb977b08a7c70aae66e86294ef558d9679044a9020b080cc2e9b3c3d09fb7a94f9710cfe0b5dc029dca1c5abd
DIST discordrichpresence.1.2.1.24.nupkg 145124 BLAKE2B 583f3bdc9235448ca110841f9e12e149c30e4c28e1ae1004e3b0bfeff9ee884bed18da6186f488d5c7e10981ae0702ec1c22c5ae4d8f29bb2fab3c814c3e1096 SHA512 6aaa67d7a7ff242cb4ad2660ff983fe7da4e48f4e4372dde26f5f24983752b123d1d8bb2baa881ed3dd26bdc52f50f756140ab8a7c0260d9320bd2f2bc3c68ae
DIST dynamicdata.8.3.27.nupkg 2133956 BLAKE2B ec9ec52bd955ba26ab3be0897f4e4546520a9861d66781dccd32249e259e4347904d1b2240909601b24c4162fbc816770935707ccea2a4ea2de186a4ba93d5a0 SHA512 068ca0705a887571fb4bff38b3e1def43d4b5bd0b15cea5e2d84a96f2b25215538a0eb4ddf0e209fcf70aca5896697d82e3ff7347e7fecd91fc95eef52b9b326
+DIST dynamicdata.9.0.4.nupkg 2398114 BLAKE2B b03fa545e51335c07f4f2eba53c2816c06c472de114a928350b5ddb3a47767b4cde4d425e6919206a7398b668179c18bb8561611e37044ff6218ae28b4087ebd SHA512 bdfa49e44545e06f6435a29423a05c67f9b004f51a3c2dff376e9de49099da068add76f9496f95171a35b24323de31e7ab2abde8e748d5fa770d6fd01bff7ed0
DIST excss.4.2.3.nupkg 820188 BLAKE2B 040aaabfcd5810436fc64b96b7f6f2b86157b182ed7ff33d39828815248f329d86b3d6fb43cf471e11c79dbc886ae19f60bfd92f21b8d884ebb5f3f2b41f30bc SHA512 fcb06d04937a6bd864060e8bdf4a65970c7450cdbdd3279465851310ac8bf12b645cac54ce8b7a8039c7ca9309ba3d9ee4e23827599479c4140f7755e119caa9
DIST fluentavaloniaui.2.0.5.nupkg 3203576 BLAKE2B c5701a84ac310f375e6b5af404adc967a91ef95b5256071f2c9555d64d1ecb8b88d4c518fc3e968f364e9c0554afffc2f8ba7da3b251a2523c9c90b6440cef03 SHA512 7c5c90d6cfcea56268d4dfaf090b0d0ac33ef9160cdc8482cab89cc45d94caa411e8ed03abe0f52fb79abc23e01240832d69c95bd3a82c606fddc2012d602abf
DIST fsharp.core.7.0.200.nupkg 2777817 BLAKE2B b3266436b0ffc4b71759adf69ccc08ea4c61abf4c00cf7a6dc32700596ebbbbeeabfb71db1286534bca34cb1dddae901700aad8a2ea8b81fdbb108f13004ee7d SHA512 78367c201c0a714cd2b286737c2da08c9c188f126aaee609d9d19e7cc7512ecf09af211e259159bba5688c45487cde29fd7a3dea65222292f6b7d89aac73817a
@@ -54,11 +71,17 @@ DIST microsoft.csharp.4.3.0.nupkg 462324 BLAKE2B c6cbdfc136e3895429e8d941ff1fd40
DIST microsoft.csharp.4.7.0.nupkg 627100 BLAKE2B 114a5af7151feb80785619d54caf5f928558a034254b5c2e185820a441f017705c933b0d66a31d395ce516a81f97655cfeca46e37397082b1b5d6ac6f507301a SHA512 2c96988515f95714d4b83f5650f183dc6a564e0b3cf5255fa0e3ef48476debab4bde542f9f2f6c47f6620b7a71d6a515e4415e6d2e388b60817a29621d5690df
DIST microsoft.dotnet.platformabstractions.3.1.6.nupkg 72146 BLAKE2B 08d852b5e6558b499f2d780284aa747e5cf39886d86fa378128fae9f71741bd57c5bc75c0077948f193b7e8ea03a520d8ef3bd3b4fc80779adb4a84a4b44fe8c SHA512 55b87f544874686bed96889953b7e99e43426b79b0fac31cc452e0f4a27ca5cc08522c0ac967bf9df649f7c04137a5e2553d134ad79d5c1e69578367c2b4b4c6
DIST microsoft.extensions.dependencymodel.6.0.0.nupkg 111550 BLAKE2B 4cfeb02ef997979211430e5fce97bc47f4542c42049de8726d3bd882c6f2b94be638a7456e79bfa5960a696eb871c64e18914d83df1964ef7b8e2139caba79df SHA512 4222e75931c6e471e40966d3cb47ed73987b1bf9082d6753ef41a0ec6c6011df654847b540bc67accfe24b258fa2ea188be5c4e4458849afe7bff1d376e78789
+DIST microsoft.extensions.dependencymodel.8.0.0.nupkg 260512 BLAKE2B 9adefb89f67e0005d87ede2dcf6e2f07c42e6f59db5dda66177f0267c873cd918886b7c67fc7bac59211fbc665f9ce737bbc555a4901be5b74a4e783e263cca4 SHA512 4aa0b36bca0fe3ccea6e1ff4cfb3b6cf9287ba0e1da6f5e6e40ff64adb7df2c09aaad3ffbb1fcc3331b3c295591e3e1713b0dfbc6216ab07b78e22edc3ba46f6
DIST microsoft.identitymodel.abstractions.7.3.0.nupkg 111216 BLAKE2B 6de90f3263a866285a3783d267fc744103dd042ccd8657b72fc6949011f552d686e2bd72f47f113760857e5144ee1bd6ce0c2de216b147c895db38f2b0e624ca SHA512 1f135af6382b383a453e889e6b3bba8e764cc79cbaf746414e132ab4183d18e67abbd21410d2fdfb54ee628b3cd0cbb7a712d28a37fa85afe45b038673215748
+DIST microsoft.identitymodel.abstractions.8.0.1.nupkg 111940 BLAKE2B a167c10a36fc031d4fa478be20857e12124b730c55fdd7d688e7d1fcb2396758fcb03ab1cdc630842285b66ec4446545ed0a5f9ba715a08044583f19dcb054ee SHA512 8481e53cca2fa621044797759f19a28f200b7949651ff19d09d58d2acaa2fe2bb8341ae90938c6df0d3c307f094ea913d8d3a8c43ca5e394d6493fcab8822d6b
DIST microsoft.identitymodel.jsonwebtokens.7.3.0.nupkg 379487 BLAKE2B 178798c7e2b5b5b6102d2fc880043fcd02c6de766acfb6c1710526c05d0b273945cc16ab07d80291be4b964c4bfeac55a3779ba9bd61cc5b94427153e1cf3729 SHA512 733a97d4684d8582c884764800d800c97be851ffe69faa37e23e1aeb56734fbf90c5bac590555e8f21a55eb06f50240d915cbc532ac9a32c54b37f6848ab1736
+DIST microsoft.identitymodel.jsonwebtokens.8.0.1.nupkg 411141 BLAKE2B 2bdd4127d27beedd95b9cfb334ce455d60d7b24a3d5b1d73b346e57046163bfde7f032d84069a7be8fc04df28cecc3a5fdfe9a2eb3a24a64f780eca06114bfef SHA512 30042d22f2865eee2de7357c4bb53cc4c97583dd9fa5ebdeb6d9a3830bb3a74e180cfd542873c866fe1ef31faf3c45d9ae3fdca2f97941768b8c906c1961b451
DIST microsoft.identitymodel.logging.7.3.0.nupkg 168809 BLAKE2B 401e2378aedde1965dd3f9bcd3e9faf165999a7a567f3ad96bfa4da42755205d9f0d5e6f91d35057abd2dab5907cf8a41f608644cd259e15d09d850b60448eb3 SHA512 db9d6caa2e318bcc4b59bd180ee45c80741ae12348e6042cfba51bd1ca6b50ca692d8318a7eee6fd08b8190a7c6b42c8808f53db60caed9bda384c2e5c2cee02
+DIST microsoft.identitymodel.logging.8.0.1.nupkg 167172 BLAKE2B 8baab654d274ee7abaca8c1695daa6d75a9b119553d854d67d19b352003d5bf050a0ae4f242ef85bd025ff3aa64a0a633a7fe76444df9dd62f044da576bbe745 SHA512 ad7de5a04dd1d353b795bf595c85424d6d12db07c9df35abf7fedc5d299fae43d1249a3b5755f511949a4302062ab2af20a881b19a4cac80a75675dc4339fbb9
DIST microsoft.identitymodel.tokens.7.3.0.nupkg 847285 BLAKE2B 34a9a580f103763a02e71b3b919076204fe7f5bab2d815e9346b9ce049f371f366a255c0f1e2a9e71397be33e95c3e70b7a76067da83466a2de9ce4eda88e29b SHA512 185467e99df1c629ddd0ae0a88fff27574f9f9b5255049544c1c8df58680715bad271ab0100bda9a8164635612b78169473b4b0b1696a0ba42da56877452cb6a
+DIST microsoft.identitymodel.tokens.8.0.1.nupkg 973200 BLAKE2B b7063bdc962d50cad8536ca9eca74d9308f255bbafa303ff6e502b2292eb321424e6ce28998329c40cb8cfc34134f849b13eedda8b65a5fb1f1bfb82fe504b26 SHA512 45f859e29a1c3ab33c58882d5a9bf04be1e74d789c4a6fa9213585a94c1c3024700a9c9337406ead43ad3b2d0caa4dc921059db06da773a8acd130173edc601e
DIST microsoft.io.recyclablememorystream.3.0.0.nupkg 175299 BLAKE2B b62b17517bdef389f56b7700aaede24dba4651498cc3db84b146ed35f1c3913dfd203d63486a4146e9150fb11c6a2b9e8f82154e61948da9c236f29c8ea41628 SHA512 ef1548eb301d88e00a72190f50b8f2df7591a7730fc70a18201de4c7441655d17d7e56f70e1a221ad487adeedcff547d0c87b7b2142bae261e8b05d63a4037ca
+DIST microsoft.io.recyclablememorystream.3.0.1.nupkg 177094 BLAKE2B eed4635e61f0b5f07391a19db3e30bb4d6cc05fc12068867f434c22f3a36464824671292022cbc25c371324549c1fbce93d6964003949778c1e04ec2a8c6cc7d SHA512 c5794ea27c908b5fb2442faa441e9f3f81ffa3dc29d41a313b542643923ae61070905b1c15c2ecad98092c6b9b2a3b423aca979e71ed979728bd572b69f20a46
DIST microsoft.net.test.sdk.17.9.0.nupkg 33666 BLAKE2B 083013cb17263a5bd06a5f21a371390d52aa62d79650649ee0367d9c9f06854e7be9d526f935b956022aa7bbcf0962c90797ec4d69dc85b2bb02286776a8d379 SHA512 d56b077911a15540e89e7eee4febc01a4626245e7b41347ed0f0e9a08bc33eafaf26d68dceb50725b3c5ad4dda57ecbaf03fb4c258f8411a29e5fcefc4504990
DIST microsoft.netcore.platforms.1.0.1.nupkg 17876 BLAKE2B 13250226ef4869ad62b8acbe8b8f791f9bca1932562cb7a7e8162c3fa502c02200673cc9839f79953cb2d3a75f64f92d43ed1dcd9081732e4917197483188163 SHA512 5f3622dafd8fe8f3406c7a7ee506a7363c9955b28819ae1f2b067c38eae7ab6e620eb63442929b967c94fc511e47a2b7547ab62b6f1aafe37daa222499c9bb19
DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
@@ -135,6 +158,7 @@ DIST runtime.win.system.net.primitives.4.3.0.nupkg 229724 BLAKE2B 070f7846a7c9a2
DIST runtime.win.system.net.sockets.4.3.0.nupkg 182568 BLAKE2B 5a5e6a9e909955b44b3ec7bc47924ac164685ab49f5c4f3932e29a2176d7959de4ad7e449b8226d7a52ef8ff06fdb8050609f0d70b2a57f63627c25bb18bc239 SHA512 d70b564d53be12665bd4ddb4ce64e60fef42d17c68368a6c7877e059f41f3218bbb72867162b740bf3bd363304397eacbda8c48ea4f83d2d3ec958c11d23493d
DIST runtime.win.system.runtime.extensions.4.3.0.nupkg 125023 BLAKE2B b49fe00fd21a6fda42c642b69546989d9da187d7b1056b0c771a5069e29ddf10ff2ecb6172bc762e2c70847d6f992c7788446650ef4ef868f3e3ed84748b6f05 SHA512 f8ddce885541079b78ad27c1d4d53df5b78c976d6395a52cca6777606f0b8327dae6caa617e269034fb8100ab8964f60117708a25def4191e5c6c7c18e043b25
DIST ryujinx-1.1.1221.tar.gz 4488183 BLAKE2B ba6bea94109e8323e780f511bf20caf513ebdf7c52edadb9b749d11324c572316798b1b39b3199f5754bfe93e25ffd1b5c12849e010d4da9f5229ec62f6b5586 SHA512 ca9aa2ca6e2baf2b67b366defc82a1906139f84af595d1a06d61faeb2028bf0a32b85181a0c6f5d04b46df5cd127fcedc34f7b5e30b089d4cf2fabba6972907f
+DIST ryujinx-1.1.1388.tar.gz 4698167 BLAKE2B f0502e75e22657c7264a09a7ffd735ff78020a4fd6f28001247eae3d2e68cde8605a101d4612ef5b8589ea621842e6cf6a36c7435365e5ed34234c93140485b4 SHA512 a2f0a973ff58df6055d57dd9903fb535b3a3b482a8fad76dc6d2a9b497695a77ce8bd92d6d93a66db513001794b7ebb2169036d1bac6317f7acba7774a7299a9
DIST ryujinx.atksharp.3.24.24.59-ryujinx.nupkg 195681 BLAKE2B 40f173fa9a550ef13c267cd2faee63ca9434423931613aa62344d5023972a7e2be30bb3df8bf2ab212b4fe59b552026a2f1a12fd92481c0e121b3853ebcb08c7 SHA512 6237bbfcd7f80517c9eb40d8b2ceea7586f34cc7e0aaf8e550ba6c1364d0b4bc3560a497bc7ecfb71d6e4cb08a0aabf97568cd38be6153ad74a8504cb59e9c3b
DIST ryujinx.audio.openal.dependencies.1.21.0.1.nupkg 750288 BLAKE2B 5cd26add050945e556cc6fca0f8fb6770b5daeb705d6a5ca2265ab24474c7423f76d219a2712170e9e623a38c74faa418e4cd82227f1c5b7af57e514d77513c7 SHA512 4b6b99d943db72eac80779e2bbae15e9bac11ff1a30365f5363990f49f0c605fff5ce0b57bbb54e33cd73eed6e588e28598cfc0fe5bea7b56c2a3dda2d031194
DIST ryujinx.cairosharp.3.24.24.59-ryujinx.nupkg 91970 BLAKE2B 193a901e86e67280dfc7d7e90cca41ce1abf66b3bdeed873f169922b083b3432301447d3f3df9c0a0a464b2fc9cbb73374e0df77a9413d81e5f2abb3efe65e11 SHA512 441db2af76714be2fa020488537f4ad9cd99c6910e9df70c4876a828e776ffa8cd910d06c9a0f5bdf26827be0a6b2c0217eac3c060f0a46be5557083ed263a75
@@ -151,10 +175,15 @@ DIST securifybv.shelllink.0.1.0.nupkg 41278 BLAKE2B 57f356e042f56a9ec17326f077ac
DIST shaderc.net.0.1.0.nupkg 25024 BLAKE2B 5278362621890a9b24c449c40cbc39e743983e1e181ee18e2e4b02f847a7b9733017651933a8c911562cda55a6d4771ba8fd43a7b30f7e3715b1a303bd49bf60 SHA512 04ae2e3da77b5ae29e795291372ca63dcb90534043cbc432f25b72383832a0f010f0e346e7d022a1fb42068c7ec300e37c3592389607c36219847bbb060e2fc5
DIST sharpziplib.1.4.2.nupkg 741182 BLAKE2B 3d22a281cf9afed622be8a4134f0ce143df11a94c6950bd14d35cf5a39700c4a1bb706c718561b06f8698ae804254bb1d38552a5f1bcce316d85a9394ee359f3 SHA512 4e080196e9b20427d1b5abe23943d647c365611247cf571d3cf2575808be7294b9957050aed57fa34326ef8965bbb314e03944693216502d0eb990253dfc94f4
DIST shimskiasharp.1.0.0.13.nupkg 214149 BLAKE2B b111b4fec586f193ab976e82d307cfcd07b67ceabe7c8400af9f17c7d4634a69ac0119576548840f559b533624b08fe01a5f976034eca0d5920bf5b9de369769 SHA512 705bfd34f50270bdc3f6fabca07f7860887cd2da9f3a65bfa29a76bf51773d00110f0f4e953e0eed3fcef63073b5430ef92a90ea0d3d33573853811c333ee466
+DIST shimskiasharp.1.0.0.18.nupkg 277939 BLAKE2B 1761193168c4d7067a99cb5d929b62f9a934a0ab6dff22e08887ba545b699dfaff752dc323147734c9b6bf0ef11b73120a065233e60498e1ef737c90c3bcf503 SHA512 b026f6a56ff5b331982c48a8b44b1b0d4926206d7db3e74d634ad961a4d4107c36b0274f4dd304c207e727ef1d61645dbe3caa114b405769e23db4544e417377
DIST silk.net.core.2.16.0.nupkg 356306 BLAKE2B 91f6b55354cae8c7c57c29422cf7ba3e193e9cc0a152b342a5a6d9cd1c6ce338439af11a8550edd202232998d56906d5c48f63e8c658247b6497d70090daa34a SHA512 9cea9e04ab772b40da0f48e5f7fede810ee7380bdec00fe98fa59bd2234664adec38ef63e7e0d6fa4cf83e0ecd6054901a814a28b9c804fbac33ff045cb9f3df
+DIST silk.net.core.2.21.0.nupkg 412098 BLAKE2B 7154f03db448069e9d0526a8a3b2bf819e686d42b30b3eb89a6b56a37854442721e5cfe17dd4df53e56199d5ea66e4e4e5087e8394ea7e3be1847316e7724ebd SHA512 0f2603dcffe9bdc818f5b9f7ac30af771591afbc2014ef959e3c91a09245f5d89619a546c1d3d6f1811f62191d754aa868da1cd6326a3bac8d058efc3965da20
DIST silk.net.vulkan.2.16.0.nupkg 2652999 BLAKE2B 8fe40cfd674ff0075e707941c0bd99d57e8ad7551dcbfaa980fe2634fa6ee89c2b0a51b495d1db6b49945a42df94192ae74483e21873f7b95f5c3d687ea04aae SHA512 b6f53b3d4d2cd4e8eed14a5d567de5195ff595d2649f441b09920d7bbaec48563a95554cf7289901f8bb394339a92b428a05ae913b4d2a45a7af61ad38e44fc8
+DIST silk.net.vulkan.2.21.0.nupkg 4813505 BLAKE2B 11bde61d873b99fb2fd986ad77ebd11490a22ceb7b810520c8307268d6443ebb15a29844d76c4bf9d19299616dc10ee2efc5adc1f238372012ebff4cba63b368 SHA512 7af0bab44d4f7661db4153d2590fe461ebe6995f7487a6517fe506b2138bb6e60a81d1c036848d69193e5b6752019407cfbeb805aaafcd4215cd98955a198bc4
DIST silk.net.vulkan.extensions.ext.2.16.0.nupkg 294573 BLAKE2B b2778ac65f8c7807bec384e87d67e7b6458e35c96275abbb066bdb1947db19586956a7ec3f88f9255e44cfa432c7c1930e1d03004fd40e61f3b8bc763a3fc9a1 SHA512 1efe3177b98eec2457c6ee7ade30012580cf6077f6985ed76a9fb5ad358a9934cc9dd621bc1fdedcca90219f321e952344b898fdb5b23a59a6445e870d8d6a00
+DIST silk.net.vulkan.extensions.ext.2.21.0.nupkg 461071 BLAKE2B ca4ce31ed82206b0283be2ae318ede33ad18c3986d498259a5916ac6344c0179184e886703c8fef277fb9749b70a1b8d7207b3d0aa7b1f2c5e1c9fa2264abba6 SHA512 338c27a7bd2f0fe21830b90e2fe362e6567add337c610f4dc96538a70737b0e512658b0b87a962c67f0b78313044b2968acfbd48be039ff8b077cdccc55d58f0
DIST silk.net.vulkan.extensions.khr.2.16.0.nupkg 487175 BLAKE2B 86ba9c72f1acc9b96a34554879940746e47920844d221a0eb9e94aeba12c4a6550ce38978de85bb677bfa3f5ca3bd00add8800510179b288fd2a2f55d7f78003 SHA512 6b6365aa6246013c62408dcbc6c51818eae841a84c900f30ce4d163201386518b7f01ae10e003ae6a92e97cec9da287ca73c8665ab475666a503dc49f0790778
+DIST silk.net.vulkan.extensions.khr.2.21.0.nupkg 557089 BLAKE2B 1516d763c9e43d257facd377871b3eed12fabde3bf766bba9517bc07f6a147f2e624c06c35a755d048dd4d97db94a0bd8193587c799a851eb1ca3a6dcee3056c SHA512 0f315c517cd8bebf84c32af3c4e68c31b6c889f112b7d5dc4049f8f8d728f1b6b313b64a9237286548f4d0939e71a511004b22d58fbe205c865a8fc5bf779e41
DIST sixlabors.fonts.1.0.0.nupkg 1018176 BLAKE2B 8c8f31d68eb893018f09c3a9205a78ac93c3fbbd716a0c4643b7c00cd6b6f3891d78c6c7e4a83130084140e2541c52c053c155a352c477166199d4d3803c4ada SHA512 cbd960c1bb91bde6b20068b4b269bc7a11710bb0975884e157ef2cbddda6a9ade5a6c44232e01203b49a09fec669f72dac01baf12fe507f7fbb58ded8ae613b2
DIST sixlabors.imagesharp.2.1.7.nupkg 4517893 BLAKE2B b8a35a5237d11bb74214ba90c674b03d7e465086c01c9da8ca3f0355076d216acfa8588462fa4b6de39e4e226b5ad4996b2bff990747606957d49598835dba48 SHA512 7d48846d24a2442708aabfe3c20e7a3066df286840ffd36953988417b3a52030b571102d28b6a0507a979d604fcf36b3e7d1b801c00ec5720895a12da7ba1774
DIST sixlabors.imagesharp.drawing.1.0.0.nupkg 534688 BLAKE2B a116fbab8393394728bbd8fef53e83a798f0c643fc639a755d6258792a26b51673636d9d448cc8baadee3fadc9b2c46ed116f05e054c7c362967a66017dc576b SHA512 aaa93e7fce031cd969e6cda4ded839da7aa27508f168837c08e7324d23f31be0543485209114b3ca129852194bb20a1e7564497822f28fe1f200459ee51acc36
@@ -174,8 +203,11 @@ DIST skiasharp.nativeassets.win32.2.88.6.nupkg 11067547 BLAKE2B 27e223d732c0184c
DIST skiasharp.nativeassets.win32.2.88.7.nupkg 10916239 BLAKE2B b3790e274d0e763152a8ad8d61754eca0c84908b3414979e0a7b7c55e59c953f4158b592e8687ca12fac9b7a0f3092afc2a4a03731c7e3680d90075076c86f79 SHA512 3476a2b19745b1ece35858a8534a02f7196ea0b30971d96b4d6219d2e8de4068f9ad83b5e0527519facd88fc64b46c69ac43b45a0f26c01e36885c3c54872324
DIST spb.0.0.4-build32.nupkg 42558 BLAKE2B 6cf06cfa1bab3f1a9e3dfad733c1fc884f2a9586f190451752cb7bc436e31400f1056ab203bca72391fa2979a277e4feec16a8a5267e2ad5217b9c739a8c9a49 SHA512 de220d44f6deadde8a73f3a1784762fb4f5240dea0a681cd5a6ac18c01c5ae2645baab960ba54652b8837b5b0e775c8ee0f3cd7df7d8c18adf0d16a39f7abcec
DIST svg.custom.1.0.0.13.nupkg 915164 BLAKE2B 83456dda070df4ae3a59a3a42412d2e7d25c08ecdc0678b36b4bcc1d1ee341c059e6fd1d03f0a01f872ccb683e58edd0ea6146a692caa862b321d240ddb6ecd3 SHA512 45343585e56c4d72c3be8219184f5cdd13ec5b79fdecd3ba2bd3850d131e9adacf4de798d5782fadf88b468e98635e4bcb7f7a0320092a10d1d46698a51793f3
+DIST svg.custom.1.0.0.18.nupkg 914299 BLAKE2B 2bc6515007840aba0822720670da76b31b1dc78bc145d12365863ca3830984232969d085677b92a7e4d9246617228ef436c71266f6b84ef5a8111cf3df2ecf44 SHA512 2fc6f4bb4c16cb5e878335f8dcdf661cca8b69d2304d9a121922a6898ef7a5abea425bc1c80a87f8f150ab1b0f09b1a4c7dc89784df522f21aab0313d414721e
DIST svg.model.1.0.0.13.nupkg 257208 BLAKE2B b530abd5748001795f87ecb1fbe8b02b1bbda2f9a8d20732ef5ace87817e8eea5bdff361ab0bcb6c806bfbc1cf314e52f18e8732057ebd3b82d22afd5ed93651 SHA512 680a4103bc1763c59b0095d80b3171628746d1b7eee9baec16345d80af863750852532b24e0c410dbaa2a68a3402dfc5fcca766c5980786e66b646a7358f0877
+DIST svg.model.1.0.0.18.nupkg 338934 BLAKE2B 63a8aa1ab9c165039a7acc94ff606567ff282eb58a43ce9b3bae1ee220a69a3c2821f4e4c1d32ea07f1b65e5328add8fd5127cb59ae429d0cc1aeff72e5e3952 SHA512 e6a6024b744c8ed1f0a97d79e193c15068b411fdaf605336e6127343b5604eab4f122c52741dae2bdf814cdc1c8c33e6870fdc61cfb716d8bb1207c7b6858458
DIST svg.skia.1.0.0.13.nupkg 109368 BLAKE2B 6e51d54ad1e3bef82cba221e7475fe3b494f6ac43855e098f61c0f08200fa32cf5be62c3ba10387efc43a346406775205345bc18e92925446fc11544271369ab SHA512 da109cb14d434aced99957b207c9adca01a7b91eab43a109ddf1690df273e848e34d289e7a96d6e5f5bfcb1ae694709b27a4fa99da0ecf1fb649a5ef1e7428bf
+DIST svg.skia.1.0.0.18.nupkg 142489 BLAKE2B bae713cd5e973fd0d6adaa568e6b673a7b507e88d94c908b0d4c2c0f02f788e8c6f128496851484a76f9c94eaf371ea9908bfe9dabdd2da6e4ee77b2df189eb9 SHA512 a8b13fd29d71f5acd0ce6738e40a090d3dd9a4066c99136bff7eac0293d8856562729b996f4c1f39873b434bed801d39ad2cb95ceae48cb1bad10b2eb3226dcc
DIST system.appcontext.4.1.0.nupkg 146990 BLAKE2B 7881a5a903a358e19b0de72fe800c70ac9233e7c5e1e4115d69be6f8dbc4fbe86debb79bcd453295730e803ff1da974075c999f52e4c721e085676746c2f9b58 SHA512 f724af13eb14aa57255f82841683a93b427de172b8d31b9fe2c6bc8c21a795e60ecf211b4e49e1c2e285fe1ad498e6bd9c843e109a60a3dc27b49df560106e96
DIST system.buffers.4.0.0.nupkg 35190 BLAKE2B fee35456dd7fde57a978d20526e4136f50764307ab2db6edf2c9d990992f4d2520531687885764ba2fb54f2a26640da699abb8ee538cda2015d65382d01128d5 SHA512 0663f4639c4e37c9dff12717cdeaebf30e38d91e986d6a99f9f16ba88189873e0399e418659e732a18c674d8875f8f41a1cf60319604173ca8430960759fddf2
DIST system.buffers.4.3.0.nupkg 35171 BLAKE2B 3b274a048ce14845ca957019b3670db00338972f6e11279e47f59ca6b4326aaecab1d11317694ed98e8a27f3de7ef6f90de94d4711ab224f805388d468728392 SHA512 3dcbf66f6edf7e9bb4f698cddcf81b9d059811d84e05c7ac618b2640efed642f089b0ef84c927c5f58feffe43bb96a6bcf4fec422529b82998b18d70e4648cbe
@@ -187,6 +219,7 @@ DIST system.collections.4.3.0.nupkg 810001 BLAKE2B 0079d5834bb3857c002cc68631364
DIST system.collections.concurrent.4.0.12.nupkg 502657 BLAKE2B 39d39b111bb1dbf282a42d0b7cf0cfc64509d1805beec3a10c216946b21f090e2d1f94227035de2c17442b463a1985a65ce4de203356381e88eec036b26e893a SHA512 a46bd40b8cc7afeaea14c80ee6ab99a5ef6d27e9e897cfe842e9ab5ca04b9de8d7192a310225b1040d57d4870921487acf5df993ab81301d49994048e1341e85
DIST system.collections.immutable.5.0.0.nupkg 623075 BLAKE2B 14724fcb8654455184f8f16f8ac56b7b3c995e632af36e91f307331620b4e9f515a13bc4625d898fbb4b57ff9f017b43cb91ab40b0cebcd7d5eefe32979afa4a SHA512 726f8db7d179714cf0efeb0fc02fcebe7b4755762902e391e77cf78671dd5d5f364c7cf4ce3545b51cc7f37327d12d1500ba19f4b934f0e8bb69a6a347c0bbfd
DIST system.collections.immutable.7.0.0.nupkg 538962 BLAKE2B 865b39a568c4c1643efbeba07b37a9b43adab688cee8174b4875b575c8e02f3a6ebd90ebc20ffcfc096c6a2017089b8e029345cf4eb24f3ccf9b911e57df0be6 SHA512 f084afc9395d74b4f252c47b7d0e378e676d6b8b6033a68636b648b58805e3772dd22ff1ded05d3c8c8553d2e7685b29b753fe1cbb5a333f018abe6422a3ebfa
+DIST system.collections.immutable.8.0.0.nupkg 787241 BLAKE2B c46f56d995ac2cb0e4eb7b6bd2b62e80f522af8b7c1e59e4b52dbd9aa3113f3653913c9aa77c9d72655588807dbc6d17322833c768d8b8626ad231f49fba09f8 SHA512 057a9591c22b8629afbde9baab60a15a4b96e976188abbdbe85961beec1a32806a05da5caf89de84904a3fae53c38d14a9c50cea80e8383b1e70cd328d9e8053
DIST system.componentmodel.annotations.4.5.0.nupkg 691299 BLAKE2B 38a889831cef09c372c64fbb244dbe7e7f44d4a8b136516bc1d7a02b97d02f62f897b820ed16e67445c7168465ef77d62206d6d1123e52571cb92d57727fd63e SHA512 7f5029507196abf9490bc3d913b26a6c0ded898ed99e06503b699b61f086d0995055552aaa654c032d1f32f03012e1badfd338ec42dd3fa3d0c5ce4e228ea2e8
DIST system.console.4.0.0.nupkg 102388 BLAKE2B 9cadd0e2a0256da6c777eed3550c399df1bb936daab99dce3025d5781334b4583acddde3a0f8edf617ccb3e2b9f72158c791d63ccce7cbb2645882fb7d8efbe9 SHA512 44937dfe632127d3a7c89ca77502eeb6f66201ef135384e04b570a90a3eee3d72497869344c759c35295d6a4b46afd561ba19562dfff9896ecf2d4b07e96fb9b
DIST system.diagnostics.debug.4.0.11.nupkg 149779 BLAKE2B 337beed5f06441a09fb704ffdcc3c277e2f99d7b4931e86419e4d4d0925ad44c86276aae0ee1e29f94ecd37257953731e9607bd00de716d3195dc994dbe189c2 SHA512 02f4d0bf969eb1a876def21c1ffd75f8ed5f979aed9a1169f409e60a6e07016854e2154da5c0164fabaeaf6527a18d8e67282db1b69327a1b3581e9c0c742f58
@@ -226,6 +259,7 @@ DIST system.objectmodel.4.0.12.nupkg 321648 BLAKE2B 7a008caf5f7f38f34d62037e5e35
DIST system.objectmodel.4.3.0.nupkg 321655 BLAKE2B bd1110665321034ec27635077ba7f9f1a18cf2f813d7a99f511a91fb6c95827b3b10108bf8a5b4a9e32685a8754e1eeca7d1afb2dcd02ad5ce3ef9db61fcc114 SHA512 409bca3d2139bd1d003c711400ba2db5e576bb54d593aa541ec3576e7b2029b60159ab1c5b2c4e7389267b1b95ebcd8c2f064dc6e1f53e693aacb1737f066123
DIST system.private.uri.4.3.0.nupkg 16869 BLAKE2B 7a407e16b35e4a5f405029e80749f7ae1c907707d9f72657016667ccf1255463011497b09b7d9e23fb3ccfd4de508dea48b33b13267775619f63134897e54c61 SHA512 5989a57ef273b689a663e961a0fe09d9b1d88438e5478358efc4b165de3b2674fa9579c301ce12d2d2fa5f33295f2acb42eceea2ebebf70c733da6364ceaf94d
DIST system.reactive.6.0.0.nupkg 2716934 BLAKE2B 9a3886ed7ef59205f53f2c6a2e5f16262942b3ee969583cc20807ab63cbe53207f1bd91deb3e06031d2e947d5c6550e6d2cd93ae6d919c6e9a1141b51d5e7daa SHA512 9303ea0efe2b4b1782bbeb87ce88469e7dbde14ad441f153d2d79a518f7fe8aec76f6407d69b726a0383f1f272232c833fd79421f7ba56dfda110f45deb48b72
+DIST system.reactive.6.0.1.nupkg 2721369 BLAKE2B 5bf499b849e5d474beb09d961f235bc1705732d0fac6999a116d796487f2bb9c036a1ba70ef3a9bbf487f127001a5a38b0067316d5447a1b516dbaaa4b38efc9 SHA512 5b7af637b4a167f66a29cb96f3339bc8bb1f1cd279b5cb5ff9579d8a56e8e6747c6231580a83e8c905999e82586c01fde00f2f4f3826cb0c11d2933a074977f4
DIST system.reflection.4.1.0.nupkg 700819 BLAKE2B 7d98a07245ceb46e777b904b66ebd5d85067ed9a5e7ca10bc0838f115cfd5f7da1b6420b2126e56310b47b533fcd22ce020e046d03423ccdeb9392609783ce56 SHA512 67143ef8f6fb1044830c70c66e9a2b4f1850f50df5dadfaa5177338362ea7b9e9fe4b0ba59cd4eac6e1c8db4e0c285c239e4c2b3ce61391618b411aaff45f7c2
DIST system.reflection.4.3.0.nupkg 700821 BLAKE2B a6aaf054f27be81f1a8251241deaddd6d35aa9ff1cd1b35a65c75201c3305ca0481d8f7a6de52a85736b0477332c404573db300f324e6301365f14fd59784225 SHA512 2325b67ed60dce0302807064f25422cbe1b7fb275b539b44fba3c4a8ce4926f21d78529a5c34b31c03d80d110f7bace9af9589d457266beac014220057af8333
DIST system.reflection.emit.4.0.1.nupkg 219037 BLAKE2B 032654f464c65df895878e3e726c7f14c8c380fdb29a092b3ab99b57cd5b4c2a094df9a579b6a0b8ab416244a98b7bb2efe4a3e56792bd62f35d7077eeae33dc SHA512 ff7766886b945148ea65a49e4ddc648336340def2c2e94b8277b584444ec9126d96918f0bcbeb62016a530623a89ccd9eae749d62065b01058387b5d09fc7dd1
@@ -239,6 +273,7 @@ DIST system.reflection.extensions.4.3.0.nupkg 99740 BLAKE2B 15554874193bbddbb2a7
DIST system.reflection.metadata.1.6.0.nupkg 852113 BLAKE2B 4d15704a1fe00501c1bd8c945d02cd2e2d77c12ce86aa628edd18383838c9dbbfc449b8026707bb1ac570e55369e988aa6068f57acdea28f519bd3bdfd5b9304 SHA512 f5227666edc6bb1da78b8a8e86a68e9bd647caa2ec6a1580c14a4a5e1fe5cfde3bdaf0d8c23dc210c405a55f83ceb6add1a9adab149dc065b38cfddc9b01ba20
DIST system.reflection.metadata.5.0.0.nupkg 1006081 BLAKE2B 2b10bc13e07d904270e3661435d372008ab9aee0c0dfd409251867273c3e9541392413018306900b0d9c114843756828c946801f65912e27f7a3d351c9061c52 SHA512 3b74e3e491eee87a8410f5b9a2e556233d9919267f6a054da7a4c9c34b6916b07c77ea9ef8cceb5b7c3361e7394e502cc3c9a09247c6a06bb58509e82554e527
DIST system.reflection.metadata.7.0.0.nupkg 1029794 BLAKE2B c4eb7069819ae7d6ee8fcf156fcf5fbb5d57022eb2c8e4677f1e64508c69853410da7985a08c936c38eb43201bf5cdcaa8c3c091531238ae78f4037b286b60a8 SHA512 2d93c8ba1a78ceb90d25b7a3b82ae7c7f2452ad29f49ee8e1c60b2bcda19f8f6edf68689d42a586aef5faf9f1049fe5e8095ec9a4ab48a2cd2a950a8b7ec2c85
+DIST system.reflection.metadata.8.0.0.nupkg 1307788 BLAKE2B 45e8712d7cb14ce712722aa4871c6ee6a346ff05f7269f96858a47fb53e4e977473d47f20097f349f3ad1aae517f372006a172654df433aa7d309a4ddec172c5 SHA512 fbab0c76426379ed01ea79b702504197b710688d283e788bbef92b90586610dddfa3f84638d685770a4068ef8645395b65ee24459cc5c14ee4497416d11c89c6
DIST system.reflection.primitives.4.0.1.nupkg 281678 BLAKE2B 3aba0904b106e846cc9ff3fec98a6cc4acba2d2dd3296248303bb02b2e32bdafa7fa095f1c29636fd1c85ca5ef4d972a7b6218834e458ec9f41f275eb195cb4d SHA512 08ad6f78c5f68af95a47b0854b4ee4360c4bad6e83946c2e45eaa88b48d27d06618c6b7479bd813eb5f30a2db486590d17645e9c0e06a72dbe12ffd37730707e
DIST system.reflection.primitives.4.3.0.nupkg 281679 BLAKE2B 36dc0fb5e7a6927ab2f54bc9ccb2e032cce0284c3aa9b83cf2ded8bab5fc7918553b06b16bef69161a7d9a0548b3e9159ab582533578cd28a661225559bd2b1d SHA512 d4b9cc905f5a5cab900206338e889068bf66c18ee863a29d68eff3cde2ccca734112a2a851f2e2e5388a21ec28005fa19317c64d9b23923b05d6344be2e49eaa
DIST system.reflection.typeextensions.4.1.0.nupkg 187836 BLAKE2B d9cf37002f9c37bd11c43df97fd2e8234993f34c97e9a0606ef28164f1c587cc55ad2f2d66dc62de304ccae90f4d5636d163bbbc86fc00b4bb258a5dc91f4068 SHA512 5b1875ae86f76f60307fbe261c7471e996d4d4eade0c4783cb35a5aad7fec4f01be01cb1f1f78af22d483ecce12096f6ed431d69c4a66c7bf235008bcac30cb7
@@ -275,9 +310,12 @@ DIST system.text.encoding.4.3.0.nupkg 327281 BLAKE2B e153609b257919932499a013337
DIST system.text.encoding.codepages.4.5.1.nupkg 4234891 BLAKE2B d06be022d76a5793999248baa82db37adc262da2e74531d75f5f5e1a6c29b0ca702694b19c3254ab2e955f5b70959ff22f35d43593a2072af6ba5b7952155dc2 SHA512 12edddc9452a0c592eb24aeb2b9e152d60b8d44540349368e6fce3a239c6029847f8557adcd260df3b39c744ef45a6034d9db2fbce9e20e2b8dc78363578b0ef
DIST system.text.encoding.codepages.5.0.0.nupkg 4244436 BLAKE2B 85bf22ce5389b87be3c7bef61ed2e16a38e7170bf778c03157b71da30a1396d721599afad71c9865ce9c3b8d4357aff62a268c5e75e51e2c969558f56cb29391 SHA512 4f32c801b3dc8b3d287c17310e8eaecbb7d3d0e311e39e1c428439fea7276860febc38422a61abc93d3cbbcd97bf511835b316553e931e04f6333a80629dc746
DIST system.text.encoding.codepages.7.0.0.nupkg 3198933 BLAKE2B 077972f69636114b3d9db09398f6d9322a681665fcf280a15fb0506d45da644e07c2e3aee91d76c908e1ab1762411bc970978bc8823a5b45aa994b172a7d95bc SHA512 485abfaeb1f9dac307249b2d84375a7d63c4bb175109107ba59e3ab6b476c52a62d677ca3c06f0e9a999afd5bf2f21d396a4b4d534563bb9da8d1b8ed6fc458a
+DIST system.text.encoding.codepages.8.0.0.nupkg 4260927 BLAKE2B a31aecd7246d821bec0b0f793c7076210132c2f9433265ec2059b8059d574a89e6167dc1154c645559ab0115e4abc43305518e0d62868640d8651009c84fec24 SHA512 77dadf6b1a73eeefb50507a6d76f5e3a20e0ae7d3f550c349265ae4e0d55f0ae4f0ef1b41be08dd810798a8e01dbba74e2caac746b5158b8e23d722523d473ed
DIST system.text.encoding.extensions.4.0.11.nupkg 244203 BLAKE2B 957201548c8629ab5111cbbcae3518b7c07bef93ac972b557e4f9f729dfd2519ef4523d5f6ea23b22eb19f93a3b17dbf7f1b6bed105f89b9219d53d8ed1534f7 SHA512 b2ba1f2a96bf14466fb31e4ac1fad25e7032688357340ad8976b8aafe7cbe39c061835a4e17d7cf6ae291d3155f07d3371f6b65ffc1c15474c3c86dbb7735e82
DIST system.text.encodings.web.6.0.0.nupkg 235525 BLAKE2B 1a9c6233292c8d9186c92fea63b918a3a97ec23588f06a3170d0f085359acf77eea7b10867ee81602837818f25968f7cd91e193f83a081fbe6ae4467ec92d32f SHA512 0f26afeeaa709ea1f05ef87058408dd9df640c869d7398b2c9c270268ddf21a9208cd7d2bfa1f7fbd8a5ceab735dd22d470a3689627c9c4fadc0ea5fe76237fa
+DIST system.text.encodings.web.8.0.0.nupkg 374440 BLAKE2B 97211e710df3dcd17932f168e254806d7c8692ac01d667a2e89a5ddc956b24fba8467fbc2d451057757b5c502442d2c91bcaf0f867da7e95456b2aa18136b354 SHA512 ba0822c38c3b658aba9495642d269e882b827e3be4ad2dc1426d8a97d3cbc5a2277c5f80847d0cb9381078af01523328c4992caa058146d5d8ee6b8a08609c32
DIST system.text.json.6.0.0.nupkg 1228529 BLAKE2B 3285c14fda2abeabd40a2f76cbe8c6b6d9dde0cdbdf0ed2429fb83e473bbf510dc85af89d69e29b959f49e67432cc6c4ae639685dfd303a09e6262d37f7e9d15 SHA512 167b4ee8d1277a5d8bd6b4fbe0a3b3a708519235fb005ea98cafdd5b30e17758efeb0a87dcd068af289400d841f4d2cd24550df882d1927c47ec6ff4fb8781ff
+DIST system.text.json.8.0.0.nupkg 1983421 BLAKE2B 053f3200d5920a5a31b4e4e6d13f0a81490a518ed68363a1a04c1edbbc125f90b9fa8f469614127bde714df352052a0dc56d70c9595277686799d33a16df351b SHA512 59243516d9de8ce90be60d6c5d271ff4c5fc6b2a4b723443022a72bd1b8f98adac3d17439df5543fedead81a8e3b018fd9a89c40a2459d3cb2d1dd935d17b426
DIST system.text.regularexpressions.4.1.0.nupkg 514882 BLAKE2B 864d70cdb65bf87b684561f98d2d5193e2d66015e4cd770ab823a6ba966b3813d75f0ed6aaec82012a3d5f66ef9be182e7773b4c3b94407ab10c9e5dcd9e9f2e SHA512 9b612027e43c33cc256e016e0b400547c5923e93ab6ed1a40d2b97292cb18a1195fa79aba2b0166a6b11842a0fef6685d31b848375daffdf6d2acf297af40bbe
DIST system.threading.4.0.11.nupkg 708036 BLAKE2B 6b85f9c80dfddd5faa9799fdd64379c4c066b076596cd0008c46114b91025a20e00cb8b626b6fa5d139af6aeb8a3f6781ca7e55c4f7d147eae2f38e14d7a63c2 SHA512 05c0dd1bbcfcedb6fc6c5f311c41920a4775f8a28a61ca246b6c65ad8afd9b04881d3357880af000ac056fd121fc5c3ec0b56d6fd607e0c27e7a639157c85e3e
DIST system.threading.4.3.0.nupkg 708088 BLAKE2B 004d01762fad35a4607522d974a0cdc3d0049c82fe704f2f86fb98ee81059ebb56d13c290fcd273d1067a1a7c7f17bf3259d4d7e802c1d09a95e3c5fa29ef3f3 SHA512 97a2751bdce69faaf9c54f834a9fd5c60c7a786faa52f420769828dbc9b5804c1f3721ba1ea945ea1d844835d909810f9e782c9a44d0faaecccb230c4cd95a88
diff --git a/games-emulation/ryujinx/ryujinx-1.1.1388.ebuild b/games-emulation/ryujinx/ryujinx-1.1.1388.ebuild
new file mode 100644
index 000000000000..4cda1feaf498
--- /dev/null
+++ b/games-emulation/ryujinx/ryujinx-1.1.1388.ebuild
@@ -0,0 +1,315 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+avalonia@11.0.10
+avalonia.angle.windows.natives@2.1.0.2023020321
+avalonia.buildservices@0.0.29
+avalonia.controls.colorpicker@11.0.10
+avalonia.controls.colorpicker@11.0.4
+avalonia.controls.datagrid@11.0.10
+avalonia.controls.itemsrepeater@11.0.4
+avalonia.desktop@11.0.10
+avalonia.diagnostics@11.0.10
+avalonia.freedesktop@11.0.10
+avalonia.markup.xaml.loader@11.0.10
+avalonia.native@11.0.10
+avalonia.remote.protocol@11.0.10
+avalonia.remote.protocol@11.0.4
+avalonia.skia@11.0.0
+avalonia.skia@11.0.10
+avalonia.skia@11.0.4
+avalonia.svg@11.0.0.18
+avalonia.svg.skia@11.0.0.18
+avalonia.themes.simple@11.0.10
+avalonia.win32@11.0.10
+avalonia.x11@11.0.10
+commandlineparser@2.9.1
+concentus@2.2.0
+discordrichpresence@1.2.1.24
+dynamicdata@9.0.4
+excss@4.2.3
+fluentavaloniaui@2.0.5
+fsharp.core@7.0.200
+gtksharp.dependencies@1.1.1
+harfbuzzsharp@2.8.2.3
+harfbuzzsharp@7.3.0
+harfbuzzsharp.nativeassets.linux@2.8.2.3
+harfbuzzsharp.nativeassets.linux@7.3.0
+harfbuzzsharp.nativeassets.macos@2.8.2.3
+harfbuzzsharp.nativeassets.macos@7.3.0
+harfbuzzsharp.nativeassets.webassembly@2.8.2.3
+harfbuzzsharp.nativeassets.webassembly@7.3.0
+harfbuzzsharp.nativeassets.win32@2.8.2.3
+harfbuzzsharp.nativeassets.win32@7.3.0
+libhac@0.19.0
+microcom.codegenerator.msbuild@0.11.0
+microcom.runtime@0.11.0
+microsoft.codeanalysis.analyzers@3.0.0
+microsoft.codeanalysis.analyzers@3.3.4
+microsoft.codeanalysis.common@3.8.0
+microsoft.codeanalysis.common@4.8.0
+microsoft.codeanalysis.csharp@3.8.0
+microsoft.codeanalysis.csharp@4.8.0
+microsoft.codeanalysis.csharp.scripting@3.8.0
+microsoft.codeanalysis.scripting.common@3.8.0
+microsoft.codecoverage@17.9.0
+microsoft.csharp@4.3.0
+microsoft.csharp@4.7.0
+microsoft.dotnet.platformabstractions@3.1.6
+microsoft.extensions.dependencymodel@8.0.0
+microsoft.identitymodel.abstractions@8.0.1
+microsoft.identitymodel.jsonwebtokens@8.0.1
+microsoft.identitymodel.logging@8.0.1
+microsoft.identitymodel.tokens@8.0.1
+microsoft.io.recyclablememorystream@3.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@2.0.0
+microsoft.netcore.platforms@2.1.2
+microsoft.netcore.targets@1.1.0
+microsoft.net.test.sdk@17.9.0
+microsoft.testplatform.objectmodel@17.9.0
+microsoft.testplatform.testhost@17.9.0
+microsoft.win32.registry@4.5.0
+msgpack.cli@1.0.1
+netcoreserver@8.0.7
+netstandard.library@2.0.0
+netstandard.library@2.0.3
+newtonsoft.json@13.0.1
+nunit@3.13.3
+nunit3testadapter@4.1.0
+opentk.audio.openal@4.8.2
+opentk.core@4.8.2
+opentk.graphics@4.8.2
+opentk.mathematics@4.8.2
+opentk.redist.glfw@3.3.8.39
+opentk.windowing.graphicslibraryframework@4.8.2
+runtime.any.system.collections@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+runtime.win.system.diagnostics.debug@4.3.0
+runtime.win.system.runtime.extensions@4.3.0
+ryujinx.atksharp@3.24.24.59-ryujinx
+ryujinx.audio.openal.dependencies@1.21.0.1
+ryujinx.cairosharp@3.24.24.59-ryujinx
+ryujinx.gdksharp@3.24.24.59-ryujinx
+ryujinx.giosharp@3.24.24.59-ryujinx
+ryujinx.glibsharp@3.24.24.59-ryujinx
+ryujinx.graphics.nvdec.dependencies@5.0.3-build14
+ryujinx.graphics.vulkan.dependencies.moltenvk@1.2.0
+ryujinx.gtksharp@3.24.24.59-ryujinx
+ryujinx.pangosharp@3.24.24.59-ryujinx
+ryujinx.sdl2-cs@2.30.0-build32
+securifybv.propertystore@0.1.0
+securifybv.shelllink@0.1.0
+shaderc.net@0.1.0
+sharpziplib@1.4.2
+shimskiasharp@1.0.0.18
+silk.net.core@2.21.0
+silk.net.vulkan@2.21.0
+silk.net.vulkan.extensions.ext@2.21.0
+silk.net.vulkan.extensions.khr@2.21.0
+skiasharp@2.88.3
+skiasharp@2.88.6
+skiasharp@2.88.7
+skiasharp.harfbuzz@2.88.6
+skiasharp.nativeassets.linux@2.88.3
+skiasharp.nativeassets.linux@2.88.7
+skiasharp.nativeassets.macos@2.88.3
+skiasharp.nativeassets.macos@2.88.6
+skiasharp.nativeassets.macos@2.88.7
+skiasharp.nativeassets.webassembly@2.88.3
+skiasharp.nativeassets.webassembly@2.88.7
+skiasharp.nativeassets.win32@2.88.3
+skiasharp.nativeassets.win32@2.88.6
+skiasharp.nativeassets.win32@2.88.7
+spb@0.0.4-build32
+svg.custom@1.0.0.18
+svg.model@1.0.0.18
+svg.skia@1.0.0.18
+system.buffers@4.5.1
+system.codedom@4.4.0
+system.codedom@8.0.0
+system.collections@4.3.0
+system.collections.immutable@5.0.0
+system.collections.immutable@8.0.0
+system.componentmodel.annotations@4.5.0
+system.diagnostics.debug@4.3.0
+system.dynamic.runtime@4.3.0
+system.globalization@4.3.0
+system.io@4.3.0
+system.io.hashing@8.0.0
+system.io.pipelines@6.0.0
+system.linq@4.3.0
+system.linq.expressions@4.3.0
+system.management@8.0.0
+system.memory@4.5.4
+system.memory@4.5.5
+system.numerics.vectors@4.3.0
+system.numerics.vectors@4.4.0
+system.numerics.vectors@4.5.0
+system.objectmodel@4.3.0
+system.private.uri@4.3.0
+system.reactive@6.0.1
+system.reflection@4.3.0
+system.reflection.emit@4.3.0
+system.reflection.emit.ilgeneration@4.3.0
+system.reflection.emit.lightweight@4.3.0
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.6.0
+system.reflection.metadata@5.0.0
+system.reflection.metadata@8.0.0
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.3.0
+system.resources.resourcemanager@4.3.0
+system.runtime@4.3.0
+system.runtime.compilerservices.unsafe@4.7.1
+system.runtime.compilerservices.unsafe@5.0.0
+system.runtime.compilerservices.unsafe@6.0.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.3.0
+system.runtime.interopservices@4.3.0
+system.security.accesscontrol@4.5.0
+system.security.principal.windows@4.5.0
+system.text.encoding@4.3.0
+system.text.encoding.codepages@4.5.1
+system.text.encoding.codepages@8.0.0
+system.text.encodings.web@8.0.0
+system.text.json@8.0.0
+system.threading@4.3.0
+system.threading.tasks@4.3.0
+system.threading.tasks.extensions@4.5.4
+tmds.dbus.protocol@0.15.0
+unicornengine.unicorn@2.0.2-rc1-fb78016
+"
+
+inherit check-reqs desktop dotnet-pkg xdg
+
+DESCRIPTION="Experimental Nintendo Switch Emulator written in C#"
+HOMEPAGE="https://www.ryujinx.org/
+ https://github.com/Ryujinx/Ryujinx/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN^}/${PN^}.git"
+else
+ SRC_URI="https://github.com/${PN^}/${PN^}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN^}-${PV}"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ app-arch/brotli
+ dev-libs/expat
+ dev-libs/icu
+ dev-libs/libxml2
+ dev-libs/openssl
+ dev-libs/wayland
+ media-gfx/graphite2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz
+ media-libs/libglvnd[X]
+ media-libs/libpng
+ media-libs/libpulse
+ media-libs/libsdl2
+ media-video/pipewire
+ x11-libs/gtk+:3
+ x11-libs/libX11
+"
+
+CHECKREQS_DISK_BUILD="3G"
+DOTNET_PKG_PROJECTS=(
+ "src/${PN^}/${PN^}.csproj"
+)
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.1221-better-defaults.patch"
+ "${FILESDIR}/${PN}-1.1.1221-disable-updates.patch"
+)
+
+DOCS=( README.md distribution/legal/THIRDPARTY.md )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ sed "s|1.0.0-dirty|${PV}|g" -i src/*/*.csproj || die
+
+ # The patch below can be removed once >=dotnet-sdk-8.0.401 is generally available.
+ sed 's|Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2"|Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0"|' \
+ -i Directory.Packages.props
+
+ dotnet-pkg_src_prepare
+}
+
+src_test() {
+ dotnet-pkg-base_test src/Ryujinx.Tests.Memory
+}
+
+src_install() {
+ # Bug https://bugs.gentoo.org/933075
+ # and bug https://github.com/Ryujinx/Ryujinx/issues/5566
+ dotnet-pkg-base_append-launchervar "GDK_BACKEND=x11"
+
+ dotnet-pkg-base_install
+
+ # "Ryujinx.sh" launcher script is only copied for "linux-x64" RID,
+ # let's copy it unconditionally. Bug: https://bugs.gentoo.org/923817
+ exeinto "/usr/share/${P}"
+ doexe "distribution/linux/${PN^}.sh"
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/${PN^}.sh"
+
+ newicon distribution/misc/Logo.svg "${PN^}.svg"
+ domenu "distribution/linux/${PN^}.desktop"
+
+ insinto /usr/share/mime/packages
+ doins "distribution/linux/mime/${PN^}.xml"
+
+ einstalldocs
+}
diff --git a/gnome-base/gnome-flashback/Manifest b/gnome-base/gnome-flashback/Manifest
index ad0cc9b811e2..86da16ea7bb9 100644
--- a/gnome-base/gnome-flashback/Manifest
+++ b/gnome-base/gnome-flashback/Manifest
@@ -1,3 +1 @@
-DIST gnome-flashback-3.46.0.tar.xz 892424 BLAKE2B f752687a07d8b5205aebed47e0ece8b77edc32aa9fa934b9e14234119d3bf074b528eb1af8ea5841ca20c2f91511eac40e6a708835542bbdc8ea4e1d364984e8 SHA512 845d9cf3551295bc6dcaeeb141875ddb875e8cf885a2a3b17c4234dd40b37b8ed5279f07414c4cc7590369b394a7270c48d34d767bd0d1ef0189f4b73e73da10
-DIST gnome-flashback-3.50.0.tar.xz 907036 BLAKE2B a995ab42fad19b566ff07c9f745a6a8ba3efab3e9201b72a813a4bc91976d2b5150b84cd1cbeb62e22ccead3d9bb17143ce793a699a0699d5223e021598c0fbc SHA512 1c6b5569f01870f9e55f22b5ba34dd7ba54d5d61fa3a1096e906ea0e0919e0af2f3a6e2dd95c8e0952aead80e207f1319faa4f657a5d3350fd73caddb55c7062
DIST gnome-flashback-3.52.1.tar.xz 917764 BLAKE2B 1191261a2e3627b44a2ca1e52641be860126baa0b7133a9ea51cd35b6a36e6d3390f69e07b6ac1244ac112e7561d73bdb6a404978358b066b01f093d60fa1a09 SHA512 30291be06e18188e20288ee2ac62d9e67a7a079fab1d2169f91d1b7555f663c1381def72220fd13182d7b68af5bd3ebb4c9bd9605f45f92f87783edcb0deba85
diff --git a/gnome-base/gnome-flashback/gnome-flashback-3.46.0.ebuild b/gnome-base/gnome-flashback/gnome-flashback-3.46.0.ebuild
deleted file mode 100644
index 27afadfa314c..000000000000
--- a/gnome-base/gnome-flashback/gnome-flashback-3.46.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome2 toolchain-funcs
-
-DESCRIPTION="GNOME Flashback session"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-flashback/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="elogind systemd"
-REQUIRED_USE="^^ ( elogind systemd )"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- >=x11-libs/gdk-pixbuf-2.32.2:2
- >=x11-libs/gtk+-3.22.0:3[X]
- >=gnome-base/gnome-desktop-43:3=
- >=gnome-base/gnome-panel-3.35.2
- >=media-libs/libcanberra-0.13[gtk3]
- >=dev-libs/glib-2.67.3:2
- >=gnome-base/gsettings-desktop-schemas-3.31.0
- >=sys-auth/polkit-0.97
- >=app-i18n/ibus-1.5.2
- >=sys-power/upower-0.99.0:=
- >=x11-libs/libXrandr-1.5.0
- >=x11-libs/libXxf86vm-1.1.4
-
- x11-libs/libxcb:=
- x11-libs/libX11
- gnome-base/gdm
- elogind? ( >=sys-auth/elogind-230 )
- systemd? ( >=sys-apps/systemd-230:= )
- net-wireless/gnome-bluetooth:3=
- x11-libs/libXext
- >=x11-libs/libXi-1.6.0
- x11-libs/pango
- x11-libs/libxkbfile
- x11-misc/xkeyboard-config
- x11-libs/libXfixes
- media-libs/libpulse[glib]
- media-libs/alsa-lib
- sys-libs/pam
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-" # autoconf-archive for eautoreconf
-RDEPEND="${RDEPEND}
- x11-wm/metacity
- gnome-base/gnome-panel
- gnome-base/gnome-settings-daemon
-"
-
-src_configure() {
- local myconf=(
- --disable-static
- --without-compiz-session
- $(use_enable systemd systemd-session)
- )
-
- # Below elogind DESKTOP_* and SCREENSAVER_* pkg-config calls need to match up with
- # what upstream has each version (libsystemd replaced with libelogind). Explicit
- # per-version die to force a manual recheck. Only update the explicit version if the
- # "PKG_CHECK_MODULES([DESKTOP/SCREENSAVER], ...)" blocks did not change; otherwise adjust
- # elogind conditional block below accordingly first.
- if ver_test ${PV} -ne 3.46.0; then
- die "Maintainer has not checked over packages MENU pkg-config deps for elogind support"
- fi
-
- if use elogind; then
- local pkgconfig="$(tc-getPKG_CONFIG)"
- myconf+=(
- DESKTOP_CFLAGS="$(${pkgconfig} --cflags glib-2.0 gio-2.0 gio-unix-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind x11)"
- DESKTOP_LIBS="$(${pkgconfig} --libs glib-2.0 gio-2.0 gio-unix-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind x11)"
- SCREENSAVER_CFLAGS="$(${pkgconfig} --cflags gdm gio-unix-2.0 glib-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind xxf86vm)"
- SCREENSAVER_LIBS="$(${pkgconfig} --libs gdm gio-unix-2.0 glib-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind xxf86vm)"
- )
- fi
-
- gnome2_src_configure "${myconf[@]}"
-}
diff --git a/gnome-base/gnome-flashback/gnome-flashback-3.50.0.ebuild b/gnome-base/gnome-flashback/gnome-flashback-3.50.0.ebuild
deleted file mode 100644
index b648245ada77..000000000000
--- a/gnome-base/gnome-flashback/gnome-flashback-3.50.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome2 toolchain-funcs
-
-DESCRIPTION="GNOME Flashback session"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-flashback/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="elogind systemd"
-REQUIRED_USE="^^ ( elogind systemd )"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- >=x11-libs/gdk-pixbuf-2.32.2:2
- >=x11-libs/gtk+-3.22.0:3[X]
- >=gnome-base/gnome-desktop-43:3=
- >=gnome-base/gnome-panel-3.35.2
- >=media-libs/libcanberra-0.13[gtk3]
- >=dev-libs/glib-2.67.3:2
- >=gnome-base/gsettings-desktop-schemas-3.31.0
- >=sys-auth/polkit-0.97
- >=app-i18n/ibus-1.5.2
- >=sys-power/upower-0.99.0:=
- >=x11-libs/libXrandr-1.5.0
- >=x11-libs/libXxf86vm-1.1.4
-
- x11-libs/libxcb:=
- x11-libs/libX11
- gnome-base/gdm
- elogind? ( >=sys-auth/elogind-230 )
- systemd? ( >=sys-apps/systemd-230:= )
- net-wireless/gnome-bluetooth:3=
- x11-libs/libXext
- >=x11-libs/libXi-1.6.0
- x11-libs/pango
- x11-libs/libxkbfile
- x11-misc/xkeyboard-config
- x11-libs/libXfixes
- media-libs/libpulse[glib]
- media-libs/alsa-lib
- sys-libs/pam
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-" # autoconf-archive for eautoreconf
-RDEPEND="${RDEPEND}
- x11-wm/metacity
- gnome-base/gnome-panel
- gnome-base/gnome-settings-daemon
-"
-
-src_configure() {
- local myconf=(
- --disable-static
- --without-compiz-session
- $(use_enable systemd systemd-session)
- )
-
- # Below elogind DESKTOP_* and SCREENSAVER_* pkg-config calls need to match up with
- # what upstream has each version (libsystemd replaced with libelogind). Explicit
- # per-version die to force a manual recheck. Only update the explicit version if the
- # "PKG_CHECK_MODULES([DESKTOP/SCREENSAVER], ...)" blocks did not change; otherwise adjust
- # elogind conditional block below accordingly first.
- if ver_test ${PV} -ne 3.50.0; then
- die "Maintainer has not checked over packages MENU pkg-config deps for elogind support"
- fi
-
- if use elogind; then
- local pkgconfig="$(tc-getPKG_CONFIG)"
- myconf+=(
- DESKTOP_CFLAGS="$(${pkgconfig} --cflags glib-2.0 gio-2.0 gio-unix-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind x11)"
- DESKTOP_LIBS="$(${pkgconfig} --libs glib-2.0 gio-2.0 gio-unix-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind x11)"
- SCREENSAVER_CFLAGS="$(${pkgconfig} --cflags gdm gio-unix-2.0 glib-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind xxf86vm)"
- SCREENSAVER_LIBS="$(${pkgconfig} --libs gdm gio-unix-2.0 glib-2.0 gnome-desktop-3.0 gtk+-3.0 libelogind xxf86vm)"
- )
- fi
-
- gnome2_src_configure "${myconf[@]}"
-}
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.50.2-r1.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.50.2-r1.ebuild
index 641888ecc6e9..f066b4c3f06f 100644
--- a/gnome-extra/evolution-data-server/evolution-data-server-3.50.2-r1.ebuild
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.50.2-r1.ebuild
@@ -146,7 +146,8 @@ src_compile() {
}
src_test() {
- virtx cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ virtx cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.50.4.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.50.4.ebuild
index fc2d5296f008..b20947255e52 100644
--- a/gnome-extra/evolution-data-server/evolution-data-server-3.50.4.ebuild
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.50.4.ebuild
@@ -146,7 +146,8 @@ src_compile() {
}
src_test() {
- virtx cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ virtx cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.52.2.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.52.2.ebuild
index 738c9a6e2f38..f77aac0a3a6c 100644
--- a/gnome-extra/evolution-data-server/evolution-data-server-3.52.2.ebuild
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.52.2.ebuild
@@ -145,7 +145,8 @@ src_compile() {
}
src_test() {
- virtx cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ virtx cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.52.4.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.52.4.ebuild
index ec3f65f0138d..bf476cbae0e7 100644
--- a/gnome-extra/evolution-data-server/evolution-data-server-3.52.4.ebuild
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.52.4.ebuild
@@ -145,7 +145,8 @@ src_compile() {
}
src_test() {
- virtx cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ virtx cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-ews/evolution-ews-3.50.2.ebuild b/gnome-extra/evolution-ews/evolution-ews-3.50.2.ebuild
index be5af4aa8b97..d5b71171bddc 100644
--- a/gnome-extra/evolution-ews/evolution-ews-3.50.2.ebuild
+++ b/gnome-extra/evolution-ews/evolution-ews-3.50.2.ebuild
@@ -60,7 +60,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-ews/evolution-ews-3.50.3-r1.ebuild b/gnome-extra/evolution-ews/evolution-ews-3.50.3-r1.ebuild
index f1289dd7ac96..3fee01d4d062 100644
--- a/gnome-extra/evolution-ews/evolution-ews-3.50.3-r1.ebuild
+++ b/gnome-extra/evolution-ews/evolution-ews-3.50.3-r1.ebuild
@@ -63,7 +63,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-ews/evolution-ews-3.52.2.ebuild b/gnome-extra/evolution-ews/evolution-ews-3.52.2.ebuild
index b8536add3667..aa6c1306dab2 100644
--- a/gnome-extra/evolution-ews/evolution-ews-3.52.2.ebuild
+++ b/gnome-extra/evolution-ews/evolution-ews-3.52.2.ebuild
@@ -59,7 +59,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/gnome-extra/evolution-ews/evolution-ews-3.52.4.ebuild b/gnome-extra/evolution-ews/evolution-ews-3.52.4.ebuild
index b8536add3667..aa6c1306dab2 100644
--- a/gnome-extra/evolution-ews/evolution-ews-3.52.4.ebuild
+++ b/gnome-extra/evolution-ews/evolution-ews-3.52.4.ebuild
@@ -59,7 +59,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/gui-apps/wmenu/wmenu-0.1.9.ebuild b/gui-apps/wmenu/wmenu-0.1.9.ebuild
index fd44b1acaba1..c51b8d399abb 100644
--- a/gui-apps/wmenu/wmenu-0.1.9.ebuild
+++ b/gui-apps/wmenu/wmenu-0.1.9.ebuild
@@ -14,7 +14,7 @@ if [[ "${PV}" == *9999* ]]; then
else
SRC_URI="https://codeberg.org/adnano/wmenu/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}"
- KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
diff --git a/kde-apps/kapptemplate/kapptemplate-24.08.1.ebuild b/kde-apps/kapptemplate/kapptemplate-24.08.1.ebuild
index 22d7f98b6017..88f4886dafb2 100644
--- a/kde-apps/kapptemplate/kapptemplate-24.08.1.ebuild
+++ b/kde-apps/kapptemplate/kapptemplate-24.08.1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kapptemplate/"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/kde-apps/kde-dev-scripts/kde-dev-scripts-24.08.1.ebuild b/kde-apps/kde-dev-scripts/kde-dev-scripts-24.08.1.ebuild
index 8c5f0c4f1edb..4d4a8e7ea2a5 100644
--- a/kde-apps/kde-dev-scripts/kde-dev-scripts-24.08.1.ebuild
+++ b/kde-apps/kde-dev-scripts/kde-dev-scripts-24.08.1.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="KDE Development Scripts"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
RDEPEND="
diff --git a/kde-apps/kde-dev-utils/kde-dev-utils-24.08.1.ebuild b/kde-apps/kde-dev-utils/kde-dev-utils-24.08.1.ebuild
index 60c3d150729d..b7ed413d3710 100644
--- a/kde-apps/kde-dev-utils/kde-dev-utils-24.08.1.ebuild
+++ b/kde-apps/kde-dev-utils/kde-dev-utils-24.08.1.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="KDE Development Utilities"
LICENSE="GPL-2+"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/kde-apps/kompare/kompare-24.08.1.ebuild b/kde-apps/kompare/kompare-24.08.1.ebuild
index 459ee19bca8f..8f8193978656 100644
--- a/kde-apps/kompare/kompare-24.08.1.ebuild
+++ b/kde-apps/kompare/kompare-24.08.1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kompare/"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/kde-apps/libkomparediff2/libkomparediff2-24.08.1.ebuild b/kde-apps/libkomparediff2/libkomparediff2-24.08.1.ebuild
index c3777d97ef92..bf37eddbd5df 100644
--- a/kde-apps/libkomparediff2/libkomparediff2-24.08.1.ebuild
+++ b/kde-apps/libkomparediff2/libkomparediff2-24.08.1.ebuild
@@ -12,7 +12,7 @@ DESCRIPTION="Library to compare files and strings"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/kde-apps/poxml/poxml-24.08.1-r1.ebuild b/kde-apps/poxml/poxml-24.08.1-r1.ebuild
index 84b513673108..aea25ee2b6d3 100644
--- a/kde-apps/poxml/poxml-24.08.1-r1.ebuild
+++ b/kde-apps/poxml/poxml-24.08.1-r1.ebuild
@@ -12,7 +12,7 @@ DESCRIPTION="KDE utility to translate DocBook XML files using gettext po files"
LICENSE="GPL-2" # TODO: CHECK
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
DEPEND="
diff --git a/kde-frameworks/kwallet/kwallet-6.6.0.ebuild b/kde-frameworks/kwallet/kwallet-6.6.0-r1.ebuild
index 88398dda0fe5..9d620498544a 100644
--- a/kde-frameworks/kwallet/kwallet-6.6.0.ebuild
+++ b/kde-frameworks/kwallet/kwallet-6.6.0-r1.ebuild
@@ -20,6 +20,7 @@ DEPEND="
=kde-frameworks/kcolorscheme-${PVCUT}*:6
=kde-frameworks/kconfig-${PVCUT}*:6
=kde-frameworks/kcoreaddons-${PVCUT}*:6
+ =kde-frameworks/kcrash-${PVCUT}*:6
=kde-frameworks/kdbusaddons-${PVCUT}*:6
=kde-frameworks/ki18n-${PVCUT}*:6
=kde-frameworks/knotifications-${PVCUT}*:6
diff --git a/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.5-fix-without-x11.patch b/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.5-fix-without-x11.patch
new file mode 100644
index 000000000000..bb5317cb1cc5
--- /dev/null
+++ b/kde-plasma/kdesu-gui/files/kdesu-gui-6.1.5-fix-without-x11.patch
@@ -0,0 +1,28 @@
+From bcaa74b9c7d896f5578e1f681dfa1a1f0bf2756d Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 18 Sep 2024 19:34:20 +0000
+Subject: [PATCH] Fix build w/ WITH_X11=OFF when KWindowSystem was built w/
+ KWINDOWSYSTEM_X11=OFF
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ kdesu/kdesu.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/kdesu/kdesu.cpp b/kdesu/kdesu.cpp
+index 887df083..a5e4a945 100644
+--- a/kdesu/kdesu.cpp
++++ b/kdesu/kdesu.cpp
+@@ -40,7 +40,9 @@
+ #include <klocalizedstring.h>
+ #include <kmessagebox.h>
+ #include <kshell.h>
++#if WITH_X11
+ #include <kstartupinfo.h>
++#endif
+ #include <kuser.h>
+ #include <kwindowsystem.h>
+
+--
+2.46.0
+
diff --git a/kde-plasma/kdesu-gui/kdesu-gui-6.1.5.ebuild b/kde-plasma/kdesu-gui/kdesu-gui-6.1.5.ebuild
index 99081e35a177..7c67dbaca947 100644
--- a/kde-plasma/kdesu-gui/kdesu-gui-6.1.5.ebuild
+++ b/kde-plasma/kdesu-gui/kdesu-gui-6.1.5.ebuild
@@ -35,7 +35,8 @@ RDEPEND="${DEPEND}
PATCHES=(
"${FILESDIR}/${PN}-6.1.5-build-only-kdesu.patch" # downstream split
- "${FILESDIR}/${PN}-5.27.11-cmake.patch" # bug 939081, pending upstream MR
+ "${FILESDIR}/${PN}-5.27.11-cmake.patch" # bug 939081
+ "${FILESDIR}/${P}-fix-without-x11.patch" # bug 939735, pending upstream MR
)
src_prepare() {
diff --git a/mail-client/evolution/evolution-3.50.2.ebuild b/mail-client/evolution/evolution-3.50.2.ebuild
index 74293119e3ca..d2ea0aa53be8 100644
--- a/mail-client/evolution/evolution-3.50.2.ebuild
+++ b/mail-client/evolution/evolution-3.50.2.ebuild
@@ -138,7 +138,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/mail-client/evolution/evolution-3.50.4-r1.ebuild b/mail-client/evolution/evolution-3.50.4-r1.ebuild
index 6695759493a3..82f499b4d1c5 100644
--- a/mail-client/evolution/evolution-3.50.4-r1.ebuild
+++ b/mail-client/evolution/evolution-3.50.4-r1.ebuild
@@ -140,7 +140,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/mail-client/evolution/evolution-3.50.4.ebuild b/mail-client/evolution/evolution-3.50.4.ebuild
index 8f920528f44d..3ef4b2f97780 100644
--- a/mail-client/evolution/evolution-3.50.4.ebuild
+++ b/mail-client/evolution/evolution-3.50.4.ebuild
@@ -138,7 +138,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/mail-client/evolution/evolution-3.52.2.ebuild b/mail-client/evolution/evolution-3.52.2.ebuild
index b38c7fda6a5a..5e3c21998ec5 100644
--- a/mail-client/evolution/evolution-3.52.2.ebuild
+++ b/mail-client/evolution/evolution-3.52.2.ebuild
@@ -136,7 +136,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/mail-client/evolution/evolution-3.52.4.ebuild b/mail-client/evolution/evolution-3.52.4.ebuild
index 20a459401c3e..bd2df262d68d 100644
--- a/mail-client/evolution/evolution-3.52.4.ebuild
+++ b/mail-client/evolution/evolution-3.52.4.ebuild
@@ -136,7 +136,8 @@ src_compile() {
}
src_test() {
- cmake_src_test
+ # -j1: https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/522
+ cmake_src_test -j1
}
src_install() {
diff --git a/mail-client/thunderbird-bin/Manifest b/mail-client/thunderbird-bin/Manifest
index 0998e44d2ee3..24cfa78955ac 100644
--- a/mail-client/thunderbird-bin/Manifest
+++ b/mail-client/thunderbird-bin/Manifest
@@ -62,71 +62,71 @@ DIST thunderbird-115.15.0-uz.xpi 616842 BLAKE2B e91646bc269836c830f0515a82ce0edb
DIST thunderbird-115.15.0-vi.xpi 815663 BLAKE2B 7cf6b7a580bedbcdb8d1d6ce969ed6a475db3301e1ed72f50ca0be7672c5932af64cc44346a4011694edfb17c4d2a461604be23140285756061f7a97588a8bb2 SHA512 29502cfa4e379d46603f3aae3dcc4f6f1d3371f69a821dec466f5febee8cd9fb80dc68de65198290d84b2ccb4ca333d85a1e9bcdeb8ccea6a19ca8961a2dc9d6
DIST thunderbird-115.15.0-zh-CN.xpi 816082 BLAKE2B 6327323e3cb30dbed637dbd82175ba0f1eb68c6b228c735db585a8050358739bffcc2ed3d0f86b84a0f5dfed16cab9d4b4bd1882459903fc5741dc2ea63c5a31 SHA512 9861cac106263f3928a0cfc70f4760f35053a8dd4c207ed788922328fff5d297ddc9c81768d461fd04b0b3266ce1150022eb73405c3fa5876f9c479fc7655b10
DIST thunderbird-115.15.0-zh-TW.xpi 819843 BLAKE2B 1f5854be3f2cdd4f680b0d649d6ee144f0d2ffc0cfaff094ad2f569a7c3a3245c8c460309b352de87e884e484486d9c3b84cbe56b07408706580528b9f65402f SHA512 3e7fffbdbe5b4435a29a420496e341a9b9d04568cfb46e0f73a8bbff4640d85266d105ca39789261db80e44834e7813a62723f5f3d190fbe585c293cfe03f39d
-DIST thunderbird-128.2.1-af.xpi 530350 BLAKE2B 029e36e76659b7ba83108dc975b456f57c088271d8f423574222ea3074861e7c8828a2e1949ed3b5f0119c5a141a17292a8a8deda0a97e484e9ebdd293701a9f SHA512 b4df011d615580de03296452a21012ca656b45889522bf80884a98bc3fac51f6913f34b525fc42953ee3e7ff2750c2bf6db4c0ae87c1af93f7fde709fc64b58c
-DIST thunderbird-128.2.1-ar.xpi 679867 BLAKE2B 8bda4bb4bc068343bfbe89a59a24feb30c8205563031e549d0caa0fb30e89651dedd48ae0505bbf0c15bf56d2b568d7545d71808e78329ccccce038401f54206 SHA512 6d419a49791e9fee211fb3856390009326e86f99b45af0622f93a8f345abe15aba24b9c4504b905e11c96ceb267ffcbfe3e8eea9b010b55397a7ceff1156661d
-DIST thunderbird-128.2.1-ast.xpi 561054 BLAKE2B 21f75810f09dc385b2932d2561044b12d38c04b70b06243b7b500142eb4c1acd82d079e07ea2d4acbf142aa836b9d1b48b8e24ab45733692a98b1250f107108a SHA512 a57f06c1053fc94d4ad860312411008aae42fe71599aeb75f7f619e8049d8f3c872b741524c86dfcfa8c7984450086c5778aa73f62a7ef76967bbc3467aba51a
-DIST thunderbird-128.2.1-be.xpi 755106 BLAKE2B 4c19d5e5c913bda45b91dadab5156f6c0590eaf687bd7f016164a4f1c4c0ca386dba7f3b30edcf3077c5097c3fcd0e56d8d3be73d0140b41fdda9000b8ba5ac6 SHA512 e68ef72706ace40ec52e0f0961f96c7878bb5021e710bb820538beff2afd8582fa5b251c937346488a5d53f25a54e843993d45d1ccbb1de204b4abc7aec76831
-DIST thunderbird-128.2.1-bg.xpi 807861 BLAKE2B f11eaecb49b7a4de63e2e0cf38726936384545f8313ecd4647b19f8a2f71acae5e897b2000e44bdb3a44875e1264aaf4f88dc2c1bd5926dbabedae3068dff70a SHA512 d5f963301783d61f79a3a89d87f4e36f2d5e44de05937c895a1495a7d045565839efa884a75ba0de1e59e3a5b2006248ac0b02fedbbc6d8f0f9dc820da496006
-DIST thunderbird-128.2.1-br.xpi 652477 BLAKE2B 4983dc599fa782e1138813b998205f136cf6946c0e10343ead4b4ae59046bad38e88bdb45f8ab776bf09e3524e8cb64bd9c87e5c3c9fb6d2a46d975e62bd76db SHA512 789e9e2960548e30e11b48578d6f3fd9333e8cb6a8447519cfe40e931bc79d4d5edd25f2a1084b62276cfe1997d4089a71a03480a7ed0d770811f0c406843596
-DIST thunderbird-128.2.1-ca.xpi 708967 BLAKE2B d31dede8764c4703f7e1cb3a99f7060965fe826b9f2628aff1ae699eeeeca1b2091f5407f694d753a5dfc0f0472e293559644d11ee690c8e03bd9187631b5b23 SHA512 e78857f22081990ec3fb23cd99734d00d6df2242723fa6e5002a27bcb4540adea4c7a164587a3b5622f8fe6ac3e27d4ddf8bc1f3c519ba256be08a3a0169e1a7
-DIST thunderbird-128.2.1-cak.xpi 671704 BLAKE2B 91652a7f2e314077a4ea1d5121daf18f01ca157aba0295b1fbea77782acc20414311286c5c69fb4ae7bf6b75ac101fb67aa7704bf55c90d83b39987256a35d77 SHA512 d141352ec32e5a22bae9054e0a1609f87454f6199f45bda581ec85d7b3208071e2edb009a96db63f4504773a0bca2948d592731d4362cc4964b23bb97aaa7dec
-DIST thunderbird-128.2.1-cs.xpi 785043 BLAKE2B 614f7487f91c2008cc929a1fe9ef65dec6c1279dee8db443c0a17e6a5c20d674aadf3e21e9a10d9aed1a4f69decae46501bf07d0dfa22e7da7a0c409bbc8936d SHA512 07a416b0c33b1dcfc95b0e7086c8a44aa1424b7fbff5e9bb08c0bc23ccbc13ba4a8cb6c7d7566a12a26c78bbb670c5d2539717a5bcb6c83d9376e1f936b4038a
-DIST thunderbird-128.2.1-cy.xpi 749052 BLAKE2B de84446f54c6c875f90daad0cf5f77dab164dcf2e4525592354307397af51bf825dba73e65299614880e5be8d44b08404a78281043b05767d2b1fbc1f6595b97 SHA512 2da1b3a314d1072c029ac00b6ef4f8bd4f23d34e69ed94255b01ba0b7932e8ec19c169efa65b730d822e4804d9419eb0aacd4ec4645f14b59b3f98a796892780
-DIST thunderbird-128.2.1-da.xpi 734116 BLAKE2B ed0e00f99e9af82fe622f11dd114848d654fc10268c6f7c2d488d1c40a18ad48e803a0a7c952a990fb3a4ccdea60109705bb36f6b24837f95875981f57066c76 SHA512 bea309acb790dd4e605d9fd83018d3436a76942f3a04adb546fc004a1ac30704670d69f8397cc32666a59b4180dc1320f49f945f96e17718a0f1a967a326747e
-DIST thunderbird-128.2.1-de.xpi 766250 BLAKE2B 7befc0bd55804848152a38882b28b3179103b750e5ba03aca0d25ee8993b15c72ed8f913aa1204d093608ef8e7bc6292cb965ab7b34e4e568701135989dd755e SHA512 8209b99caeb1807f6769efe8ac52780f25832179d6db98945c9b0cc5761ff5d7ec2c511afa359ba3bcb27ccc5f176bf761f639a8e68df8082a8615511a5cebc5
-DIST thunderbird-128.2.1-dsb.xpi 782740 BLAKE2B 2efbe071cb3526babafb7d2eb67da841c558da46b5f5d9b0bf823a57f36f75fa55f12eb14834d83f04e5308c6450316148430d264540d541ae407bfe86254985 SHA512 665d1803cab339390b6713e9628a31008c62aec62dab9a14e77d380a507a427d51fed7969d17982ac77d2bf10621aa4dda72c1709d96415dd8d9f0793fb0e0d9
-DIST thunderbird-128.2.1-el.xpi 889269 BLAKE2B 30fb03354dafd7fafe65ee852c24e639f577603db2d507aad0f4c4abfcb3adbe8d0bb3ac3eef5dce3905846f34acc25a8adb29a63d86fa7e99da9630629fa9cc SHA512 9c890d99c9e56ad592860a5cc8254fc8e685f93e5e77950842aa9fceb475ad61508884ad9ee9fad83b502b5de5723f7d3d4581b93b7910b7e34af7b9c0a073f4
-DIST thunderbird-128.2.1-en-CA.xpi 702143 BLAKE2B caf415b29be838a19680ccbe85d9e5d79672544b11d9b6ee13c69c3643b9f6a64e6a148d5bdf833899c01fa69e9e2cd59a99dace7743c6786e0758d46c3ff179 SHA512 5b536083b37a40e8aa189485dbd4163eec28c12a1ef859c4d2187d4ff54eb0761dceebada0c5dfb797a5c47adaa39bcad655587a74b5dc3a70a4fe49b9dc1e6f
-DIST thunderbird-128.2.1-en-GB.xpi 702699 BLAKE2B d6daa753116c8f594628ab3eb444ddf89a3aa625835fecf3f06558de9c00d3fb7aae563785f227df866b008bde68eb448817d5ada60e67a11483a09ee0cc4fcb SHA512 8df247357f8275d36455f5566856c1687bb45ad36b7211111b2bb9df639cbdc7d3ad32ef32fdbe5178ec7ffdebfcc6fb73854bd26892119adea09221f977b5e0
-DIST thunderbird-128.2.1-es-AR.xpi 758349 BLAKE2B 8147f1d2cfc69e47f8438cdf231421b4e01b1b9e013a56755fe917ecfc835b04c06bb0e163b0898e7509e92f9cf0b9506c15ccbda54ecb16324491cce9695e68 SHA512 1d8c48570c62db60961308c401baced3f7a4b533c3cfd482760c33a736b647144bd674ec56ff0ab68eccf0144924218fcdb4b1169b0bbf68f46e059a748d242d
-DIST thunderbird-128.2.1-es-ES.xpi 723515 BLAKE2B 8b01aa7bd41aab8f9b28688565ccbb91c69456ceea8cec9556b45ecb987e2a57139d021cfcc449553ca9e8487f818bbd3d16421dcdda57af81f06a96fc19bc50 SHA512 f81ba9665788c67cdf607b1d381fd5e55306e8796e4879c9a8ac86a1fc252ae8f574706cc59b86547d30db38a7e3c3c73fb1d2165170dea11507ce052815cf8f
-DIST thunderbird-128.2.1-es-MX.xpi 737708 BLAKE2B 8c469daa61ec503df621fe7a4b1b2003495fadef96ea914507adeda2e4c6fc9378b553f351d9fdf5d3118b45251ebef3ac5f1d7b7a882f9c54c5f158f8955c06 SHA512 7797764b28d2b63e6741a4bb81b6841472fe0a49c29448edbe1f37fc5d7ea986c6e8c9eba2d47e0a73dc08c5985f9af406123ccb2ba7d853a11e528220c9d8e4
-DIST thunderbird-128.2.1-et.xpi 696281 BLAKE2B 30a5b741615a7e8059e4e7eff46f13246fb4893a7487a2154d3aa4fb67d1fe9cf976db8de5fe3388284a669f21e5994b7b69bca622db842b621d38ee0f1232ad SHA512 766771bd0036b80c201d8a4bf2328f14eb3f78f5e9cc128d82d48463803dd1e1bc91d74a92a98b0f9b37bdabee921d412b4844e75974c187f6ee8dd3ff78b4a7
-DIST thunderbird-128.2.1-eu.xpi 726802 BLAKE2B 3302a687f6899ca2a02aab958d1a3d568245b67a8e2c8d7800cefc5c4e1235237cc446c34c130065d7a0c8cbc532fc8a732517fede5a138121f9a4a090b8e99f SHA512 5b6f0770ac7d190aeff30bc177379aa5a7bdab682d9ce3944aec5215eec3b67bb807f0fb3d534c531619b7e81a494d16632be7b01e50dfbad862c82164da3364
-DIST thunderbird-128.2.1-fi.xpi 733651 BLAKE2B 840f69360c340ec1bda7031530ca67448750f87d10dfe14601b4e43e261b4e531c08b030c3d4e2890731343cc6a84ff2baf7807b59f2968d7b94f6a436d91b3d SHA512 15cacb9af1a626a7fdeefbe78c68fd9296a8743651f2a4a9c9b7e3fd9daab72166cf6f596835a9372dd5240789badce0ea46e4d4f657598660f25576c6f15ae4
-DIST thunderbird-128.2.1-fr.xpi 770186 BLAKE2B d8ef58005b2b3946dd6f5153308d937d54ff3ecdf0a7786c0e4ac673e01016753dcc8a5488a8f72b17a7bafec1f52c0f38e38a481122f543082b60c6f500c734 SHA512 bf338e98d6a1ca32f835e45d4557f4d9eb4d9de7ac7e5d73d241d5b24dd385427df4a37d0df518e4406f2d1badf93ccfbf0590b35ce1a9990d06deaa34ef70d2
-DIST thunderbird-128.2.1-fy-NL.xpi 752849 BLAKE2B 96b36322f9fa2c27353d66d3e35c6117b3ad85b153417645bd715c631adb67486dae62ae8f85081563980634b96e4c8afe612f21eb1d6e6d21933f3b193d74ac SHA512 0a29b05cdc6e282ab945007370cd56bd96f8f5e78c24b327ddf41e4abbf981ba595b06b1da81c63cb3b34478138f7a9abb83352e5bd1f098fb505a93bed2ec8f
-DIST thunderbird-128.2.1-ga-IE.xpi 615199 BLAKE2B 3003eaa9db402e8794395bc0b6d17c7ed21844e4a9fdfe87222d7a3c2831900704ddc6302088034ae2aa3d99d6bd1ef8a991481513ca48f9df9e73b702fa0594 SHA512 fe2336002759657610d0afacf53eb4b071da742a0db53c511ad45721eb2616377012ba1376994980752209aa984d466db6322cb143d28223b2f076308dd4a910
-DIST thunderbird-128.2.1-gd.xpi 727803 BLAKE2B 14f142e6a163013e32b6b636edd64980798adf0d4210d1d933a2e6a1f66846b817b3353ee64ffaae0cbe5aae19292875917dafbd9eafd3f2306e8e373261a8b3 SHA512 5e95eb3ae53a81e9577bf0018e37e3c48208683bde3731b823207b5ccc9bb28445d2cac05104a14c8c99105918d70baa9470e59bdd3cb13aa13f04f5e481dbc7
-DIST thunderbird-128.2.1-gl.xpi 736573 BLAKE2B e9dd27f657ba949ed0f9c1487d2c8a7e06786951a05993af2600d73c89c5766753436f1c78f18239f93cc6e277af86b50366247ac76b202697772f3f53f347f1 SHA512 4f5d2abaf85d9beb3688f6765ccf46de53de76b26cf538ab598070a6614976cb3e2ddc98ee12972cbc84fa20bd71e7906938bb92717a8b4221ec4331b7390a26
-DIST thunderbird-128.2.1-he.xpi 700302 BLAKE2B 19ed0bd4d55435c88326450d0886e1fa482846f2f95ef4530bacf2b4955dbefb88960ba4f977451fd206a6f6f3b54f78a9b875ab67ccae6d12b4822ff08d7189 SHA512 609064139d4c03fa59eb3a5879f40fabfcf49cfcac3a5f0d6445116b625e255b8e000a008803dbb859d2613525f20a30383233979c1fa50d4a1d6fd6831c9c07
-DIST thunderbird-128.2.1-hr.xpi 715018 BLAKE2B 9db282369838be56c22daf034c72276595bc49f0ad85f2a91d9b180e97b0efbbec5cfe71d676520ad3f3ea615298d677cf8accfb7c94dcb67a5f2675885bd61b SHA512 2ccdda7f559a9ae2b36fd8b6b307ec058f8e657ba8261034f0c1c94f24641b7abd5184a088b858ee2ace635ac71f319b24bec237965209fbee0fc969b0b27b6d
-DIST thunderbird-128.2.1-hsb.xpi 780138 BLAKE2B 73c1c8f8103bc5206d04cefee77b0f6b0d85ac4616b7587897ca2edd33e582e6290b06545168ae04386886b088f65474bc630ce6a705c6b7a2b2526c547d03fd SHA512 b9d9e057eec2c2d7987e5bf23ee73c1091f15373ffd405b1fef3bf0b403a0018f8496bccf599283b67fb9f7e896b120746c574a2033e544e54b97716ff6794d6
-DIST thunderbird-128.2.1-hu.xpi 782933 BLAKE2B b6caedfeb71766bd61b097014b88534b2d57066b2f6f60ef12241052bc1ca2b90885f3368b145f6f03e4749d4df85788b789a90790f164dc5c0c0580b7a60a96 SHA512 1934e9090abaf8e2ab0c6d0f9dc328e04a6643908f8c15422115d9408f7915e30bb300813ae49abfa800fd765b126fca44b9e082a5e5fe39c0019d15dfda3a2e
-DIST thunderbird-128.2.1-id.xpi 666012 BLAKE2B b959625f7bcdb640cfc31bd4092ed67f4a9527562273ad5da8bf3afc63908481fa8ce4d6f481ea53c5f2b210d04bfbd5d5b9afb7960b786191e12cece7da850d SHA512 8ca188e30c781b0bacf564ebc76d60360102152ad9c53128136fe09f8d4feef395a4c05ab5a8851ef011a9650c3aaa80e2e97f99341e72c3bf016299f7475dfb
-DIST thunderbird-128.2.1-is.xpi 743887 BLAKE2B 5a84e49807f9a58d59b82adee236000bb4ebafbd693f2a86959846e112eb6f61ac02622cb1a5ca9cfef2bbb8623912d18424661f87ed83197f796781928381da SHA512 bc59bc564522d4a1d6603114d66744762369c011c735a71959f80c5c568491ee5c6e81f30a655defe59b3f4ff21efad1dc6dda7b92487615c51a41078fe9126e
-DIST thunderbird-128.2.1-it.xpi 690399 BLAKE2B 3fa933f6983bf5b1644de8181c59e9637e889e5ac772a61c739cfa186cb8acd3ba9196a07555c9cc49186b9fc2d15731aedf95024072ae7a763619a2b0f10f1f SHA512 6345b513959a45f9963eddcc716ebc22b02545d565a283bf6e48ae19a98f67ea6403abd1e9154e319145761b3e88f97a5bb682fc01bbc11e1f527e013b65dc6e
-DIST thunderbird-128.2.1-ja.xpi 819903 BLAKE2B 9ab5d6463167e0e7fd818a4d74ad1191b87b35073d9bab2b34732f3dbc3272210d1353e80d7b42a969af05119b57d80b8a23ba3ae9d6f55210f8edb673322274 SHA512 8f96304191f9f3f0780a184950bf4ee031fc7e768beadccd114a4e4a24fdee9353e7c3e134e139acf129c59d317abf544dee325f087cf0c5462b9ec5cc418e6b
-DIST thunderbird-128.2.1-ka.xpi 796046 BLAKE2B 8ac49290a772133c51c2ee6a23ec81cdc5856571ba299ff7c6254222fa48189ed14bc2059a6213f221ce1ad985c2684a593f60f5159426dedfc09d9f7d998ea0 SHA512 5be26bdd75362aae33a9f77bd772caf34f67fbc98a90dcf3a17d215d6f40d382ac04fb0a5af99aff16d7d207e45e5b4fe9e53f368ce578e696adeaeb7564a44a
-DIST thunderbird-128.2.1-kab.xpi 731858 BLAKE2B 0c669becc31864983bf1717b9dd2725b0f1df72a26ca976aae5db8ef21fac2b54596630b858fdf110b95747a7a4f9aa5771666cedfe1f40da0c2e27101b004aa SHA512 1d79709a7a8c7171129a64093bde5263e2c35c17a4c99d0efa8e7e0f4f8d65d525d45e17ed51e7633ece13b46a0283c3b81a14d6ec72af046cfd311be6ea8614
-DIST thunderbird-128.2.1-kk.xpi 857290 BLAKE2B f5d67baa0271251c71c6d78e86e2763fbc6e223c14f8d2b388abd8d9a55d354eda30c99f2eb1b8fb9e1425b8bd74c0099895258e4e06ba025379a181a8020230 SHA512 582527b1aa96a9bffb00fc8b5b09de677268405b074a9f43aa47c29513c0110c22fc6b5f528e739d447b2556065c5e338635cb71bcb6c504be29d86adc8a3bc5
-DIST thunderbird-128.2.1-ko.xpi 755164 BLAKE2B 2e8e5bdafb6cd287003e68552573434fad16a5269360c0c07a43d8f4193ba70d1dfac79e9a47fe038fceb8b21947d591352038612023e3a8ac8029f19991bab1 SHA512 2d95d891f8b99ba68eba67e3b54c2bdc440de4c8c5aa27d745cfdf96c1ab843b1cb24db736e85aef3c82d6b18ae1c339a0e0aa7617031314f3f934f25f5ff07b
-DIST thunderbird-128.2.1-lt.xpi 700919 BLAKE2B 9279a164acdfa298ce75107669a3c38b3d661e3e882cddd8e63f90fadbd7c6eb46160f514282b241ee97c2ee7dbdcd1030e59e102c2e96a716a8575f6491a2e5 SHA512 fdc8943bcfc112676fb4211853eb2a33ff8a33488e55b01473214b75e33c18ffea7e3340cc291653260101eb2c3cfa1dcb45487b5f8406595d7d948b8852632d
-DIST thunderbird-128.2.1-lv.xpi 623625 BLAKE2B fadb3eef3480df834da8242ee71a21ca52084a5ada7664fa4dcb52284fcae079fa6bc075eae764192551d8908a1a7311cfc36543f9dcc2ebf94b2a5b2da8af22 SHA512 d1218de16de091b469e45bd1836dad34fdd1f4978b351aafa4712d2abc29db3400c6adb5b802625e6d104d45d20c2eb4e68a50375ad0075f9bd82bb95f2833f2
-DIST thunderbird-128.2.1-ms.xpi 581083 BLAKE2B dbe1ad18fecc692990d6d0bbf9b33f7ff34b8fd5854ec8ba8fb123f1f5f2b5d69bc186096dee9dde0798fee63171f4f768456fd02b536b54c01d792e5ae28bdc SHA512 c6eaddc26b9ce6a8f71959878c43c59816cc8141c188859d1286a5656aed0c0f13fd73aa6e33996fe9e5f63d998cd04b40af6145c88f8f2d9ccff31e43cabce7
-DIST thunderbird-128.2.1-nb-NO.xpi 703765 BLAKE2B e5918468de4d57f17a4184f9de0c6f7fe3fc570845e4baeae2db4a5817d91f8d958668db357ce0cb73aa2029d270a69d14b91df020a33dc2f275c2c61d7b1eb6 SHA512 c72fdfb6b96929f978f4bf21f025a69e84ac9b1ca88b6aff8e1a5bc8d78a8dd3e680686133ba017f63b527e3b3e184a6612ec977ed94f65e478c04b30a1dfc44
-DIST thunderbird-128.2.1-nl.xpi 744107 BLAKE2B 731d30bc43f2e8de96efff278d4c9d6fbff849be8c8e3d5a78f3ac70251ee9cd5057a96e08b0947aab762566317b1bc43b1bbba0b851eba8112a5f59e295c070 SHA512 a47fb34784617bb904a58dd521c6c994489ddc2f1352f56f40f8a4d787ecc3e3e085e5d85fb74b49a3d769f21b20d9cf82e24cbb48dc84c7e74c4fa10a8bd2fe
-DIST thunderbird-128.2.1-nn-NO.xpi 723768 BLAKE2B 09756d7e04b5f25815a53dcee5393f4807eb229d8cf6b34c3c625c75dd3ad19559d7c45f9f5a27ea4d88178ee04a5fc8a353da9e3f6577142eba85f82687dce2 SHA512 6a78180385a8589a732f154d59114db64e50abdcf3a30c227861d1352f6a70cf3b899ea38d3a2f1a777ee551a17a41db9852055dd9debe79649ba6843f58a679
-DIST thunderbird-128.2.1-pa-IN.xpi 683076 BLAKE2B eedf1fd929ee7aa504d42918426403b2dafd98bd2b954d4db73a29e058b05510b37bd5e6ea803689791f4f13d78a15d07470f22a79506093fa4a219168cdca39 SHA512 ff3b7f2c167f4712020f4ee36dbbd25c26549ca2a0a7889bbf5f8815028233183ef87bf6080ed89010fcf6ca3944b5d964dcde74de85045dac85c9152b1e537f
-DIST thunderbird-128.2.1-pl.xpi 762952 BLAKE2B 8a2c196b864f7f42a38533bdc13729107d1037d69ea6005311099d6cd44ef481635d9c0544529566b9a0783f3c5cdd1276954d3c7b4df1ceb9c6651ff99760fd SHA512 92aa91dc7c2dcd8f340992e0abfa8089495dd6e4108be22b5bb2972e3a9a0f034f39502048f0b5c5568b6db01fa0360dde8a844ac315e7e66ac08754fa14aa4b
-DIST thunderbird-128.2.1-pt-BR.xpi 751314 BLAKE2B a575610d534e6845fafcc5d0839c309b553017d5badf0d843372ec40d4f8ea38676b0c34e82607f66e3a645d866b9fca74eaa02eae7a68fd35c10faff269e032 SHA512 b1b5812baa54eae0362676d4c5b3c25197c85d3822461fc40b46646d706a194fa73e5730f993f1978e9de7258e684bee09201530b70341b9a1be89dd02cd5d54
-DIST thunderbird-128.2.1-pt-PT.xpi 746870 BLAKE2B 3edfd1060c9f6132984089b3fa24e267b51c60167c271cfd447ba76934a028bd3f243b9c271230594e6159d4f58c9b37b7afcdb18d5061093b311a4e9bf995c0 SHA512 9165ba22ec09aa949a442a3d6b8275dbebe67674b1c930267d9cc12c2270f345488bdbae7f32a9098182650112bab32a9cf4ae7c22accb6b358f8b9e2f06aab6
-DIST thunderbird-128.2.1-rm.xpi 746779 BLAKE2B 4c56b2caf8f23df94b95db14b3887644a837d250e441085f8bb57966b0a7084a277986ece0d2a40e58dacae4c8f048d3c6c0b3aa8f64afd94db9115416bd8623 SHA512 b72e65bc157dcefba8577998dc916f334226d98e8d7bb1897d48fccc571c807797d6f675742459c586d18575290e68ac924c765f49b45bbb59cdd6a17782373e
-DIST thunderbird-128.2.1-ro.xpi 669742 BLAKE2B 7269f94c345ab6f839dcfe10fb9c316240c23c814051b287376d0a939e37b8b9340be849d4959250cda057894445a5415d17ad6b2d12745403c48234cdefe208 SHA512 993952740d99f2f1f896d856c738a926d8320d05b33f514f25e5bbf879c24317c0f51dc979f06078ec8fb68624fc125835792f1a6246f78045de7bda08d1448b
-DIST thunderbird-128.2.1-ru.xpi 872247 BLAKE2B 8f71476a0e71509f3448d1cff42b3f3d92b06c6d882ff8482f8f7ca529ab636762c526c74cfc02757955b8ccee69185b41b7b2e3722c25c86e28e469ce655a7c SHA512 a132dd16295f4880009db20d56d1cd785a8c018969969b207dc1771bbc111ce1b8abfdb23dc7e3f6319690bda5b1f9707d07885a4d6bda3353ce574de02c562a
-DIST thunderbird-128.2.1-sk.xpi 784171 BLAKE2B 65d26edd887434de33f21b43525062a6df131111ca40e66016ff40f72acdfb9f74b02e5628d95a8e5c05079c0d342f247191e511c7f144554494f6d2622c2a52 SHA512 0240b86e82d5ad761a006131b033ab40c836ffa0cb95b30f8301972c8a4a48ada0bf495571151f74a93f2d433b86c63c69ed436c826d994d9d599c45d4521931
-DIST thunderbird-128.2.1-sl.xpi 743550 BLAKE2B f79390d189d8997b39a88220e90407555cd1b41c7041f1fb6c31d04df029c3d32697f11ea56184f267fe76856385558ab2ed269c174aed2d1833b548b9342dda SHA512 7236c4ccc161ff6551b14bf83efa218936ff9a59053db317f48477f509537bdb78777d5dac4a72a84670cb3015795327116acbe9a8ead2689c852762a5054b32
-DIST thunderbird-128.2.1-sq.xpi 765888 BLAKE2B 4215519862d0a1e0e9b6962f30adc5d5fd5d215ef821f882e5b45aec1167a9809b6d98896d1b4a1595e8fb5e56824057ab83b99f747f3fa99688cc3eb83ee8e0 SHA512 5401ff6040bd50e1f53fc02621471aec876c5a54798c96a1088e416057a0112e23420dd0997e74e21c7961471b82ed0c6153090632724160aa3745e56ec8bf47
-DIST thunderbird-128.2.1-sr.xpi 771007 BLAKE2B 83ed4a49c137b9983c8ba45b919b60fa723734c914e1c272b701242c78a93d3748183c34a37dbd3eae6268d6e5a3b6e13fc1f514300504835f9c3d5316824709 SHA512 87eaa384d0aab2de44157ec239bf87a5b5f2ae1a5d9036311dc887e97b63803621420a66a6be9a569084511593f570eb1019db83743357628fa2fb0726b83a22
-DIST thunderbird-128.2.1-sv-SE.xpi 747521 BLAKE2B 84e07a98cf96cc87fcc410ddfd9889f23bb36abd7e8f2c13091faf039faf6d30e044ea4598dc127655dd57c3c3d66bbd8b9e11cbd08d17f30d71f15b5ddee1dd SHA512 3412d1bee9bfc153be5c8c6c0c015d6fa3fa6d4d4c901ca914b0aee75aacb3648a1eb7dc77916d521d038f9220c80924859997f3bf9226e0726d330c7f91f5a5
-DIST thunderbird-128.2.1-th.xpi 813955 BLAKE2B 7abdacbfeaf7692642e5e90f7c3009f48d2071989d7247ce1dbdc57c16b028250c8f286c7f178d0e4b83f2f2120d66d1474d9baf85337f7d0727d8975796e27c SHA512 6f4ca7656ecf67a137f618e8bb6ab2a817968b1844a41d109d98bc665125ec68e5e007fbe7b76a28db8082b9c13659d82b3e31b82bbe27b0e6596fb799f95000
-DIST thunderbird-128.2.1-tr.xpi 758166 BLAKE2B eb4118bfce198810949f1b2fb399a405e80ce678d9ac35b3a0c9449fe222b23d49586ffb0bd0ec0c7a5b1425036d7162c2f81a832d0bb3a86a220d50d2032712 SHA512 98b5514915baba99cd2e060d3d91ac423147925aa6469a619b11f6a044e9ebeec8f57d7cdb220e034730cc496cda74664e0c5f07d9f326747c04a52f3eb82590
-DIST thunderbird-128.2.1-uk.xpi 856055 BLAKE2B 9b92c639a835c7a089a71ce7d56f322cb1c1b98a4aa89c291b96051de729a6cb3790e58e08445c60d0ca91490ae0d596fe2fff9945a26bc6a47a3a547a59feca SHA512 c33087e527575533563fd154808c364701c7b0dfbe512597206b6cbf086b6fc62b0757f7c0efe191edd7178609444c39a5626f39851d118205570eaf8bb9ef94
-DIST thunderbird-128.2.1-uz.xpi 592134 BLAKE2B 30ace0cfffae65aabdb6613470ab7a71f36f9cf81077a1f86807cea47c652e7f62b4426150d09da56b7f626c914361cf61c16b9f31c58dc20aa3e4d0880919e1 SHA512 c5df80c44f719964e00143b5fb6347c447907b936b0d4e8900d01127ed13d86be4367aa63b688666028a9908706677b7e89fb239f61110195382f3623477791c
-DIST thunderbird-128.2.1-vi.xpi 787028 BLAKE2B b8855d3fe3afd29cf88252458cf5d298cc8ad531dd6470e1c21fc4c4cfdcb487692c5b12efd6bb1e57270ff16218a38fc503b676a7398dc5b0d5fff1342dbc98 SHA512 1caf0e8bd087531c373225bb54f30a49b3274a30a3e220e81bb2746b6fbf71ad18c50a36f644c90c02045eeaa14c54213429fb69c87b6bc2ec7fd91353e43b31
-DIST thunderbird-128.2.1-zh-CN.xpi 785328 BLAKE2B c0074053890028a8888e04fbc803337888715f9004b44823af4d6dcecfe6de70b8e8c5d45ca234d7ce4276bdd6e68d38e74866b9bc8da345b490b1dcbb870e28 SHA512 641c7296e86a859061116e7b5c9f0077d6dc02e1c81212c21ce0247e9e92a88f3d7fa2be307f717e6f95077c29c236487dc8fd93d7f9795aba569e36f9f5f1dc
-DIST thunderbird-128.2.1-zh-TW.xpi 789780 BLAKE2B 26dd81ab3b1066b0e4e1fb94d7d1f0a6241a94420fdd34fcea42f841c6f86109a7d53e422ada0378b865998d7946bea315051e1df47f04e278840db4d94a752b SHA512 6e8c435ed7f07b1dd1b201730049aeb924a7b1b44ae2fa9ed1a209e7862abd0316845c929fea24f73e43262f147b7e092bfe26ed7f3d2914c09bc60f160ccd98
+DIST thunderbird-128.2.2-af.xpi 530349 BLAKE2B 5eaa31b141d9a52ba51a4571520d6a83540f036dabfa5178c3a7106d0d22980ebd27c607437ef6dd795912504e32ecef8b1acca0b80d540fe1d2bccbe91b1178 SHA512 b7fa16adc69576b42119dcf65c4e45e31e00e98987e260df7e728be4e9fad5db7e3ee7704a3893ee85ecabad9cfcd05d81f6e7dc6278764fc0ad80ac97c530b6
+DIST thunderbird-128.2.2-ar.xpi 679867 BLAKE2B 27dc65b70f05954af61e2b47bbc6ec28288a8c2f44b32c616144b87e02c60f236d6ff2a8fe29e217afa322dd7e138f075e6d9726d95415628c3dccb6a030c008 SHA512 0faaca4ec5ba7867bbe4d3f57ec9cbbe66b1bdf7ebbe4dc5519a49aaba776eb0d1c4374c9b8136b416d61471805ca9dae7a2e5a12b6d3b7eedaf5d953fab2c95
+DIST thunderbird-128.2.2-ast.xpi 561054 BLAKE2B 6d6fe7db3bfa5f6ffb9e3bc93cbef8b49eeb13ea2332d4026712e1ec5d85a8571e9c191dd42250d92d31dc87d60c59c341452cca9867688b242664d3146e8e25 SHA512 a4b6a92b2bd2b2926e06ba8c43ec7803b5b3ff82ad240c6a90de65a25671f6dff686beb32f0f21f253564dd5403f2e225d1339989b43aa4d80bf3a9c6a3fbd90
+DIST thunderbird-128.2.2-be.xpi 755103 BLAKE2B 45e203ce7e29a7cc67e1f18fac1407f4c81d67b79e3ae02c754cf180d6c1a46ada7b468cb9a0a3e9d4045841e6fd10531d48b41bf3ed6ce94712285d6865b67d SHA512 3263422945063667f62824134f9b1aa0f4aae3780caba3306c0df60220f6aa2b0f1e666b58fed90e0c83a8b3d4e3ade2e0b4b9e719f0768ec07a2602380e683c
+DIST thunderbird-128.2.2-bg.xpi 807860 BLAKE2B b6b61e6814b858c55aee5b42963424d2e1f53dd17c75e4245806a207257973203de93e012776c2c92d680c3335967b2924064e28038e1b9e88cdd620a1ae730b SHA512 5fef536a4b59667343c0b480776d88b0d389eea2f75a78996d40659a3960b84e3aec498357da7e8df0b9b1457e4926d314d30fc97f7d838fce4f2fa65c872cbd
+DIST thunderbird-128.2.2-br.xpi 652476 BLAKE2B 83b6fb3638774a6a1b8b041c9346b550da5a63cf62255ab2463b8278d58220773b8292f615babeecc1f1a15d75606a57c128ead33c2b6a26b04df623483515c9 SHA512 05a442876965d6f70654f27499bb89e4314369c2dbae34a3e3769c4b43ff25e6816993fcebf5ca65d0f81c27c6cbd8afc0d7c4ae59297d84fa677065582480a9
+DIST thunderbird-128.2.2-ca.xpi 708965 BLAKE2B ab1a9d953816b8a19b30eab974802ee86219f75e0e7e2fc3346ce130c06ec216cee822d68edb9e238d78688ecbee6b55bb3818724a7eecd86ca541b53d5e83c2 SHA512 97e30e2ff485f83ba1612fb205d0542ee8c14307630985823f6dee5bab91a67fdc3d92da806d93efd57dd78487e8c6063ca0e2034f8126d22b1242c05ac560bf
+DIST thunderbird-128.2.2-cak.xpi 671704 BLAKE2B 4aab96d35224b5722f1e9ba230abcfff9b990dee52dc8221537521e64b42d93b6a6e2946370f83a0259eed8df48d01b96ccb3c24780f3bd522a4e4b8c5e17487 SHA512 70abfe9ddba026194866f7ee3580e749b0a6fcdc3d9a574b80c3007acbc37eecded23efc69f0db31e17166825509faec8cbf24479e3be8304aebfb3aa3f58abc
+DIST thunderbird-128.2.2-cs.xpi 785044 BLAKE2B 436909104d905eb197af8f1d1f36e5560a1efe836b4b4916090b2bad3e7199d5639f56f2c995d6bec209546fde475ae4e52d9fc63b33939b9770519935ea0d3b SHA512 df01acbe01daa0100a300b57ed933ec31dd671c9b7ea7cb19fc76f07aeb010b7362b640312f511860d2285d057cb3da08091bf7a8f7574f72ef3310a9511a99b
+DIST thunderbird-128.2.2-cy.xpi 749050 BLAKE2B 194c5d39cf68ea157e36bed4e95ddb87dd807e3258ffe39aa7e7064c40b5b33ba5b8579026d7ff2f1e60f0d74dbd5ab9d4a3fbe1f783075a62bdc2b0d5729a09 SHA512 9a822522fcc3a18193f3a5046f7a52dd3d467dc2855a9238f33473272aba4c6fbe59e5873c98a1d50b82ec10dd58285e5bcdeaf58b1040889b3b9e5d3094207c
+DIST thunderbird-128.2.2-da.xpi 734115 BLAKE2B d67c877852a541c18cf913e7920f0e34a981bd13c5d5879b5de5ef0922df308453f8d10115085d6869cf69770e2aef1e258e57bc313f23cb28a2d4fd368c5a0e SHA512 8b470f007dfa79d11f3fa55cf6f36fbd4ccd0ad7dd436a53d9761d20a04e7e199555f04f765e6e9221e3079ecd96792b3cb1c51e826596aff147b6b728313be7
+DIST thunderbird-128.2.2-de.xpi 766250 BLAKE2B 817a18baebbff78c08f7f28ddb7563fc0f8002fda98c264d344a5623eacd4fcc6487285d567bce7c9ed0a3d92a147b71507b847d884a58400add9af8f77555ef SHA512 f1cbd3ec218d41eca12e8fcde90319ba3acc3d7ccdd0fd8d0d535daefef5e344428684b544cafe24d23d31cdd8e2397d44d03a65dbddb2d679decccda12e21bb
+DIST thunderbird-128.2.2-dsb.xpi 782741 BLAKE2B 57d30baa8a7c74b7e211e21c70e6bbd7a52979747c24e3d496cba1322ea3d1a88c44d151040bb2f12109383e0ae0a08823e3a73a2a18f82b93f703849b69993a SHA512 8c8aa85a43ab884069061eb09b9227a7604da7826ead0313d754aa6842f02f237f466e502c979d000fb69addc0a6bc8812a8d650bf90e002aff863dfb924cf59
+DIST thunderbird-128.2.2-el.xpi 889267 BLAKE2B fb1febb9726de7356330015ca659436a1b961bc4d368b49498fe86cb410c7fe707ab7e7fd6ae8f7be9617f74a0aafbff8970e93fcfc7dd3db03903ae1ead28d7 SHA512 7f0132917a7472a2351a7d6c508455a9783a1c947eaef910147e64ab98a812876b6bf7e1039e7c5f57a46153aadc2a31a67c004857e0ebcae288eb9726c5995b
+DIST thunderbird-128.2.2-en-CA.xpi 702143 BLAKE2B eb53739465510736eac8d5edde33e3188960861270c7fc169bc5a0db72b31dd04d7de5ddb59570dab5fc396d3d7c1d5ccbce4ecaedef111dc6710ad314f5648e SHA512 49ddb0731c27aab5ecd9c35269439866835454723304c49491d1034585a6c6e7e7e052f0331c09ce3a218c79ec23919255bb6d60e9a194e453b572ec0c9e9696
+DIST thunderbird-128.2.2-en-GB.xpi 702698 BLAKE2B effca0c4ce13366f7f52bb7e9d1b6649a6c266747da06537a9be4df80407acdd7ce44b3251354fbbfafa1fb05da77054aa207f8efc829084be0388a34fde7533 SHA512 2c39705e01179244373facd5de6c0122187d4e7d4476e8571bcadd2725d9a78431c19c53b091abfec0ab3e4b2b22aae868c95a3886e2bf4598cb00235a37613c
+DIST thunderbird-128.2.2-es-AR.xpi 758350 BLAKE2B 29ac3165963c6d2f6ff12fba8d6423b6c023ede2a0395fa815d28325a7b544f8cf72dfffdc607ede7c2006844011bb645109aec2592df02c85be111e1a650807 SHA512 dea206ebc27ac17f68cd11c488843109cb512e6bf4f40eabb076c9568517d3ab3d43e9a0335ff9497c00b2906c9f28840f05c85c9f3adce060b34ca132a37d7f
+DIST thunderbird-128.2.2-es-ES.xpi 723514 BLAKE2B ab795afb266dc446f3b99bce6975053b9ba11e1cd8bb039e6dd72fbc3bf8f7084504fbb91af46cbb770f9d81946a7082b0e1f30c8661c8abd6d99cb1981d711d SHA512 b75040158484dffeaae54b0bbe4f3943531e46ebe9e4bea2df8d57a824bfd163fdf4136ad8104847893e8dbd9ebfa86d6dc2a2dd5391d10652833030c9dd9253
+DIST thunderbird-128.2.2-es-MX.xpi 737707 BLAKE2B f7d5120d9c1b21967a5b7e880e5d9d72542897e7468c8d83da780ab3d723d1a248bec8022a0ef6ac0c87d4dd6286f682275eb782f98fca00c19273bc3c2dd022 SHA512 6fd973a1a351ca80b961ec99e60936beb98ef50fffa80a47cd6703732363c8a25d27679336ef353f35362cf831dd0947b4ce77bff7d6f7f4f9dffcb66129979c
+DIST thunderbird-128.2.2-et.xpi 696279 BLAKE2B f0ebe0f02d09630b3f5c33606a46bb07a916aee95bc5343a7fb988e9adb318d776fead30d0e6877d3b426307bb394502b4cf61cf8d2baeaef296b21def49e5a8 SHA512 8dec1a219b4ea2b4e186d8120129176defbc317830198e2211f1aa8cc89ef16987294e9444aa250748798eb748ce8e5cbaed209cdfbae4615b69b683b3d20b26
+DIST thunderbird-128.2.2-eu.xpi 726801 BLAKE2B 1827c2d6c2142e52cb08fe4f17dee71da7b80f91264afa06bf89f401b02660f05730967631378ec544ee70cb29ab6efaf15faf462a6602c3a0d275fa187cb500 SHA512 c52309755ba065f666c4f66c0fba2782c593a6a7d2c85c6ef072948914cbc820e7aa726418e4ba6e56310e7704c5dca127c04eabf4f02598edb70fc171520431
+DIST thunderbird-128.2.2-fi.xpi 733649 BLAKE2B 462f2bfbcdc12aa7560f9092659a68fbb5bf37295a04474ef080416afb56213d9da562efc039f6bbe4eeab750c04c1b268a54bab442244b4b58b4228792b3ac9 SHA512 20c0d9f1d85e0ebfac38f1bd3d45e86fd9784d02fbea3b003f57acc85f0e1e5500ee4db7a065ef442679f5710bc5bc7e2dd55bc5b53d6e82fbd1a5e1ae9f328f
+DIST thunderbird-128.2.2-fr.xpi 770186 BLAKE2B bef36af72a56ab5965217501d20181ea75eae47dc9c1f67ae5c7ebea46d6cbba91a73832cb60876121372ef8568c8553cda2061a93debf86303170659ce3c99d SHA512 1d47991f193b992b133b391e1ef973ff6dc186c0e363d0ef1c83e288f56214384482c3562c4a45dcc375a23c43c75e9aca6702acab2201b93331d0b438213783
+DIST thunderbird-128.2.2-fy-NL.xpi 752848 BLAKE2B a292e6823319c2f91767bd22f9a595a8b61b24b69abb0e059c56f2ba58c6ce716edfcf89ddc2287500e1c4970b9e2d0c7203743111b5f8397d18c2078a82eec6 SHA512 7ad1aa764b030b00b114fc6f0a16265de1fee327303fed96ab4adead7b7c14941c2f8ea4703d1ae8a1956969db3b54215dc44f579c053d9ae7f86f189e91e671
+DIST thunderbird-128.2.2-ga-IE.xpi 615197 BLAKE2B 080b9cb464049731acf64c73ead986d884daf6dd7275cfa00a23df16285aa92bb48588702bba255ee79191dfb178360ff5dd4c2afe8eab533e67be96ff67e134 SHA512 22d06a3ed77ec8346ce994d765bb7997015c66c63644cf7840b4efea64c60907a5c32a1d506d97be8350412ea1b9a7cedb6e9610140799a4fe963a3e85b91936
+DIST thunderbird-128.2.2-gd.xpi 727803 BLAKE2B 9f9c41a1631b3f637991317f8a3773dadbb99dd2643ccbc80aac524aa8d8207fe676a03013de086fc0addf5dc5141d6099791bd4c7aade8aaceddb99da73f994 SHA512 4e10a62b3275ecc5ba2eeb3f81b880da33e90363ccb84e6a19e0bcd4d950a6efb1714b9048d7a7abb73ed09306af7c9108dca28ac3267ffbf53f5c2cc516fa3f
+DIST thunderbird-128.2.2-gl.xpi 736571 BLAKE2B d2cc440ee4e3722e1c36a4da68753fb69b7abac394eec5c61212dabba6b633319cba0b1862cc18cdfd76c8de0c9bb97b95f08187573bff5518d0cc4ea2def846 SHA512 e275162e37cd1d3f43c3e33af5bfefe42ca875c58f26a5478ccfc9be73575f5643b25107cb6569192cdcef460fbfa428811c1a2cdf43ca03ae7379f26ae8909b
+DIST thunderbird-128.2.2-he.xpi 700301 BLAKE2B 12f2bc196456da04d4549fdee2596b51148acd01f3371e776911a370937c6ba052d694a5b1a5459face5d8e19ccdf0c7ded30c010c32d99242693017c1e4e93f SHA512 e6b22bde8ce7470b88fb0ff3ba57ab3dfeecd616411cbccefd27106281c2e60a8337b69ebde2d286ebd1e84cba32fbd0b2c2dc4094ea9263294ed5f2571da26e
+DIST thunderbird-128.2.2-hr.xpi 715017 BLAKE2B cd35408eab5bf605e0e9e55d15a6dfd6be3d6c6a0ef1fd1335ddbd0ddff9878177d7ea298b43ebdd9074049a4085432e1953d69ed9641f954db73f2c07531522 SHA512 4bdf8cf2cace5f41c53b19c4b8aa2aca0532369fb1d777acbeb9fceb3b5a8e18934091d4ed3b358bf4d61345976e2c72124adc57fed8b73485a2cbca31ecb9aa
+DIST thunderbird-128.2.2-hsb.xpi 780137 BLAKE2B f9c38da2ba17c44c22553bee202da03cf37ffdd2ba9b594cb887cc2357743df4832dbd0bd0860e213156adacb61e3e76cabc9ab87e89bf4d17afb110f13b3167 SHA512 60e38453a6bcebab8ff3b58df8a771e92fb750260b0e9db21b0dd162b75b38694204d35fa50000a1bad57b9a52f583514c322b28385a205e903fe37dd6d22159
+DIST thunderbird-128.2.2-hu.xpi 782932 BLAKE2B ada66a9f56dbfea99864fb021e8bea226f255d54ce9f95ea7cbede9a34bcde4ff44c85c3b040ef22514a1078cf6658d1e0492059b14f36967f2f31bf0ec2646b SHA512 ae6775bc5fa417ada71054c4f09b50037bf5fada2e155dff71446256b3cedfe28cc66cf0280e78d399b9d988aeab296abec02e34946695cd789885cc231482bf
+DIST thunderbird-128.2.2-id.xpi 666011 BLAKE2B e7ffab246eabc957fabad9f1a44b281a5f922e4786955169d5452527226de602ef174249ea5b4fc8191c1aeefe9ef3969cbc280b96d5137557ad4ed9765e272e SHA512 0df571d988ae5d36013d93f86cb5dc2942c8b04885288932fafd269216eb45a638261719532d9ab5640052c2f3af9ffb72235de99ae93697d4fc932867a69332
+DIST thunderbird-128.2.2-is.xpi 743886 BLAKE2B 1194a26ecb666dbc1675c1a6546b65b9132748ff9ca3cef03635a6c8ab014cf82483f816d9fab214cc8e9b5ceffbdea093219184e635e19460702824b59de29a SHA512 934375a444a0c97a9559d6e625bac69477e04129ed8b1ee084ce2be100e0422411a1b6cd439318c31e708720f3cc8d7e4fb57afb95489b91577bc4d2c3a92bd0
+DIST thunderbird-128.2.2-it.xpi 690397 BLAKE2B d3c81362ef8acce58ac9bd8e5cc86845fa7afc7aa817c5bf1976dd716aa76eae856bae25ae6c8e910718f09c28c0e14d183de94e1848fc84b40e5bf1cde9de92 SHA512 e912e81e16c6d594de1db3fa1e31f6a809d9b5cd630076d5c6346f956d4f4f7b40d8a12943c993a5181823aa0704a9c121c5b13a13cd74ab9322608ae6a3da70
+DIST thunderbird-128.2.2-ja.xpi 819902 BLAKE2B 0118c465fced58ba8782557776e767b6474c36b635e8b380045f7ff639aca3fdae5be5222429782fc7075c8afc2c1a63247d18546a1e8bf2ecd605e6ee57144f SHA512 b2082cbcdc4b7d888a7b2949d20e284048c56582aa365d47d505db2ab2951bb94ebdc48769ea7614d4cc856a1d326e0c28cb2d799e8fbfa9d107037197590c45
+DIST thunderbird-128.2.2-ka.xpi 796045 BLAKE2B 60d3c3f1d20d75d91014e738f0f04842d8580abb9fc21173fc66f61df45b0da61228fb402f45aa3566ad4605e9e9fc019cfb4a2b6767d90210588c920cc01283 SHA512 325ce0d81111f7adb5aea2ab2941629d21c041d3440398757d8d761cd7285a2c38e5e6d992859821d2869479b4146047f48e0c7ab9aa3cdd9f17e38e9d307002
+DIST thunderbird-128.2.2-kab.xpi 731859 BLAKE2B feccb64e54a2d0e3d4230971572445ba58d9efce7183085385a014619c199dc6de26b802cc4c2723a2166eed21cf1e26dbe6feb579b69eb59b472c8e41ec6c34 SHA512 177d4df8a2f0a09f7c48aba46fe7e07705467482ba82cf8b9031ace3375c24d70376fc3d067a6702999db3e093c78e08942f6d9e1f2226e5d32387fc3b744c75
+DIST thunderbird-128.2.2-kk.xpi 857288 BLAKE2B 1985ca4f666353a697d668053bf7b2c14d1d807babf09f5a78db6bf19afd26c50709c17ab5ba580a74510ba35636281c3f7542ca5d085ad69bd6473b481b1ec7 SHA512 94e132fa08c1dece0e3c2b47be24b063bb0f4155d4318534143ae4606fc409e5cd82034de6a93423726ca96a89969d94833551423ee02d041d644cb3507becbe
+DIST thunderbird-128.2.2-ko.xpi 755165 BLAKE2B 1206f17fa9cd4c900f024272d93a5db8c2a3e2c1c8a1901bcd6bf962e55203e2bf03cc4f10243f2329de7f77549fe26e650d71be29d6e37e34e7388e4cede228 SHA512 470fc5bfdc0d139d19a236cd1abaa72d9da2a3e87ed8c7bd2f23282217241d5611537033cd28e5938b8d19d64ba0d3d75b200d4073db747d60482c838fa9b63d
+DIST thunderbird-128.2.2-lt.xpi 700917 BLAKE2B 82ee9103889b2e7b8625b7646f8436a8c5b12a45237c7203d8d3a33b0d205bdad0e992e58582c0ee43570f4a601f69a3def5149e4f6443e72159b1e267cf3f3b SHA512 fca2e33a1fbe684efbd96b6f74b2d811c329fabc7ebff26fa9152b36bf316851e8390537d05255dee0e1c5e47ad2336036b76526573791d7ece6c127e2feb538
+DIST thunderbird-128.2.2-lv.xpi 623624 BLAKE2B b537c537dfdcc03d68737aeaa2fc13482b9f57ce5646a444bff7e788abbb02d5f4c7c399b467d83b2684de28b597a1b4223c8889a3b6906bfd32ce0a2fe5e538 SHA512 4b9f301ba9ede84aafc5518a8650d48469ad79826ddb5303a0df433f4b10d268f47ccde0492fc0ac9aac9e03f10ba3524962841ddabf7ff304398fdf309fd154
+DIST thunderbird-128.2.2-ms.xpi 581083 BLAKE2B 6906fa8c3abf7539eb3569139bf615f9f6bfc2933a82bc15f31c73dd85c689b35f0fe1f6f02d8894541733ff69072fcb7b4701c67b0b395dff6bf02e71419d6c SHA512 3e1807a9f3b0396ac79981f4104bba73d0b1357c8e8dedd67b06703144f419059c5c104a2d0030b16fce15aa55923e2f0efedcad5f080375a7713f362301a184
+DIST thunderbird-128.2.2-nb-NO.xpi 703762 BLAKE2B 5dc2fdbe2368cb1481e470b347abe248d968f0dd7bf4374ef2b4f719e746619b49f721f0c03f5d01341db8d8d72e48511b58b693c0438f80603d1f7ddd4dbbdd SHA512 a6732fceea73299362855bd4fca683f0944b3955f9668aa369932ec8e8bb39cf1f8e8a011ee103c5f642e0e22310ee3a7b422d773b705bec04fe1f81fe71131b
+DIST thunderbird-128.2.2-nl.xpi 744105 BLAKE2B de180ebeaa93a970e4e2caa315531dd3a33bbd2868ed0281c084f4a369cf8f7e5aea0e3bf34e3a5283bfad4f904fee0db9d0bce91b5230e96bc209dbbd4a388b SHA512 fb978ad3fc6e70b117fac9aacb0377d7e488d8a8891ccebaae6fe845edb1c87bf05a6286a764343707bf44bbbb29b6b62cfaebc18d90308838eee3c5cfeeef91
+DIST thunderbird-128.2.2-nn-NO.xpi 723767 BLAKE2B ea5f20c8e761796d18e0e08c1a7c3b8ffd04afca6b08445c98faae9cb37c0f53819cfa43ae264d31ebdcc02cc658a3e8163c2096c6a3aec4b64d04c96cb73eee SHA512 d0d5f91c1d3563cf61f86bb0f58c9dd91ffa9809db112fa2114ed8b938c64cab76c14be04b94b794bd07e07b91755bb6e8cbd8efc089dab52bcb1d0720b1acce
+DIST thunderbird-128.2.2-pa-IN.xpi 683077 BLAKE2B fdffb7bded96a4a2b156392bb72f0dca89bd8c3835b5bbcb9a811a311a4dfb0df0274ba0ce99f3427d8744b3734f0f4c53dd74bd4d1416a4bf085cfc495dcfcc SHA512 a536b95560e84affb3d67173773a0b0a69053dcebe2abc9dc4c05469f7895fe31977a4bd3e3c22870d191882546e1168518c7444c1baf2153e7556b6f88815ca
+DIST thunderbird-128.2.2-pl.xpi 762951 BLAKE2B b130f1fb22fd05fe58cee3ee470d40358e490767df5ec3ce278fe91edfb5775b7170d2ea11525389f6fc141961bca3256408b0fadf222a59ffcd779ad05acae3 SHA512 8d008eb7b0723c6d8fea007a926e2b5b929d65fcac5c4009ec4cb7e7927af79eb5f5e62c14b4e0d9ce3b310a67155857c0c36649842b0ff259bfb9ea7dae43d4
+DIST thunderbird-128.2.2-pt-BR.xpi 751312 BLAKE2B 532ab4de97a86d7ef08457af3a6254db0c13b35739c3dc43d439d8dbe66ab0496447b4ea2bb90216c73451f716cf3bdcd70639b2a179f65ab6693a99f55f5c7e SHA512 5b9ccc6efffe4d096fe8a011ccf0ed0d75801ba6fbde7448d61d86c67445a81fde037332f962b7a8718f07f15c540ae11584911f007a335f37dd6c370a16b8bf
+DIST thunderbird-128.2.2-pt-PT.xpi 746870 BLAKE2B f17c0e3065d028b7c9798d4b0a1f2915817bd51c20780e4884156c6464f3fb3fb26bb44e59285a403287055a4cb8689d08d0d46c363207c4998c1b79f2ca091f SHA512 5d212f4ad1829206c99c269e440142274288470e997b362ffb8a2f22081858d44be8432ea2bedca5f6ca31c02bbd31e0559e8e562bfe83ac4b69eeaa23a4019d
+DIST thunderbird-128.2.2-rm.xpi 746779 BLAKE2B 57ed03115b45eeeca524d359915e604766ec1fc6a572cdddf792c81f5683c5211c97cef4466aeb70fdbec11b8b64b163d4b11c0db9e4eba40deb9c512e06407b SHA512 44f8ab9bcf893ef4f6fbfa9c549b7c0dd84e87bb6c8c35fc8257a04b449c19e55c38a3d0e3321e938aaf29dd61d0636384390c8ec20b276755b0a83b70875bfa
+DIST thunderbird-128.2.2-ro.xpi 669742 BLAKE2B c8a3351698503cd460a94147ab145eca308a598ce151bfc19d696f5d0b8bf59f91a54c26a338d0c1db88cac673071bad71814d99a583d6d1a0575148b22da410 SHA512 affab7161952ef70aa8f6147e048b9209ab9996de1416e8c645726ceda9ec694a46a95e91fb4da3de7bef95ef9d7f9a2fb5c0e0cc1c20cf440b1b09e4eae8582
+DIST thunderbird-128.2.2-ru.xpi 872245 BLAKE2B 97afe1df85d1f3870ff50af4a2c8756a6ae00b0e21990fe80e0ef3df7d6c65106eb317a5faa8b97c496e7a7230c8d021dd677e957e00caf1de644e8571fa207b SHA512 5fa1e5810cd442a8a95b29c4e1f6e0a5c447d4ac43ca8b3de3cd21aa3ff215e281a7c73ab85309b261274578b99f52b95e60abbda876f434adf91be3860ab2bf
+DIST thunderbird-128.2.2-sk.xpi 784168 BLAKE2B 0604012ee5bd5101cad8cac6727c61680993ca307ff49af10fc162d760095453a7c642aa8bb77a13c34fcf28c7e290d286efe4e4104e9d9d83a5aa0f05099ce3 SHA512 028d4c99b393bcd245d02cd0e97c98dcc20bdd153a08afd623de06579d9ff71108997840a757c84c6abab322ed20cc5c87a5dc273823ddc6610d74f268b08241
+DIST thunderbird-128.2.2-sl.xpi 743551 BLAKE2B da17cc1ce9d00f3ed713f0fed9a5825848b008eb359b905b894d2e0d9398c4d678bf329094ba98b0348962bdf87315b3f35917f5c136a1f6b99a53f19f7b1a51 SHA512 c505cc60ea3fe60ef1a0a252e99ef3aec14eed535b181c2f2ba21e607a7c41ec7dd37f9afeae7d7ca2e7ed0486908ee019b7397c3eb1d1ab0ba69a2132950ef1
+DIST thunderbird-128.2.2-sq.xpi 765885 BLAKE2B 0cfa9eb328f260dcad69784cd2d6502d01b5fee740a73022363e770fd1bc06572a1ddeaf308b5381a39d7b391746c8dcd4019d763df6d001a13dbf45d720b9de SHA512 956daefdf678b71adb87fe64e8004382a47e2fcfbebc9552bb0c3d83871347fe77e13bc9dc1a4220c124357bb6121392b58168f12f178c88c0c40009218e6ba5
+DIST thunderbird-128.2.2-sr.xpi 771005 BLAKE2B f7ba13aafe1e6042494650d2b5172bf788e04f3919491d5f19e542f5d4fc6090bc89ea1b89e4cc7fd1370b9194c2799544b3bfabbb88df03ed03782075788d6f SHA512 6813b47cb79ceed6f376238480488f3ef2c388775bcf2cebe77dba4b9af4cfa6205219a3850635eddc9f3a363df65f63435b42e6a3afebe33b1816bdb5b21c15
+DIST thunderbird-128.2.2-sv-SE.xpi 747521 BLAKE2B f6ea783938e5c2cfbf6d0b1c1020b1ed45df1a55655a6886c70b9d24250cf920bf9e95233878ff3e832b9ccdbcb6ec69f7a7a59737de7b908dea21579aa10a4c SHA512 9f93d3180d2b64ab5dc6682a74a9a2d38acc0274733940e51a257a87903e0375093b25e3189673786473f1553047cdfededdf3728266cbb2dfaf52a2dfe6e76e
+DIST thunderbird-128.2.2-th.xpi 813953 BLAKE2B 2eca50868dd09e7d8576da9cc5f204fc816a7ef3fd459ea6260e429905e7d6c9768cbd8f7b26817a23d6b64699164c6c604d5d06939c01a9ed743015d83f38bd SHA512 490ece4ddb5ed2155084ee3d2fe54a2d216f5622eb55088b399e92da55ff598836e787a1dffc638122f3c80de0c35214121bd84884d25c51a3b83b3288f77893
+DIST thunderbird-128.2.2-tr.xpi 758165 BLAKE2B 9e502939d4ed61372e0e16df5ee1a30d0c89caccc1edf8a0778baf8f01f1a37dca4408d081332cf74b2c74c683273de070675fc85044704e69fae6991502bb70 SHA512 232e52755661a339650a76b701610cc136c7a7e5b11788afdf470e18ebd13a3befa7464ab073579bf7a7b7b340a82ceb9328df93e8995b2356c87a55b8110a1e
+DIST thunderbird-128.2.2-uk.xpi 856053 BLAKE2B 7530213593db5e282dd54e2f5f1f26b982f1a3d01d206676f9f8641c7ecfa54f126e5b095ef6c528482eedb1e949aab5696a67b4883d760c9393d079076a9a45 SHA512 02072a6eeb9f03a71cae1f7ef4de4272aa677657b1cc8ed1c28badc713510c9d53c6029e3647817769fdd79caed735373263d0150c4c5ae6997479cd0291c64e
+DIST thunderbird-128.2.2-uz.xpi 592131 BLAKE2B 569538d472409a3ac52a4891c07446220d2d9795c1e2a51afc15604814b19ad3833fb16a7f46958bebd89fb8f47958647f56321105612954216b8c0caa3f7f1b SHA512 415f903c63ffc47a9d6463ac41a2b842164497377fe9ac225875b8f3babb3c798b988ee40b5cd609cc2559eee96c2b19d91e51d8df36381cbdd2a1ecf892ccbb
+DIST thunderbird-128.2.2-vi.xpi 787028 BLAKE2B c9fb95cbd3055b58f38d8e166eb64899ac3cfda96fb223dcecf70123b21781d607c5ba552b177f91edcc9af9e378ce799b9497e740b19d5a9e8f4e7b6daec995 SHA512 4cb791209a31f87a481085fe8925b470f51ae4ba357a415bbfb01f974bad4080c61edeaf3805c5544636376ccd85470e26e24c7477a1a6436944b4a2072fd28b
+DIST thunderbird-128.2.2-zh-CN.xpi 785327 BLAKE2B 095094bc0b01974406837e776d263b96c85699123f7c5bb6cd9126e5da03c5320eaafac24344205b49a463a8b1729121f73882734aedd723ad43178ba24f0bf8 SHA512 345bba000b277941423af0f3f47763208a565a408c99a6a8ff5619d3d5a91a8c5c18d867d667f6ecdc2f56dad4007ccd2f75cff113bb7eb294f3ee2d9b8d1def
+DIST thunderbird-128.2.2-zh-TW.xpi 789780 BLAKE2B 1e1d95617c86fbcc00804dd18dcad0cc1b876ba09a2162696d14075e4814810aadc24e2124b25df935f380171a6dd1a95ec679b28ea509aeeb27d99b3a1e5950 SHA512 0b650d6c00a0dc05119e20b4d072124c98e70f70a7b98f05644e344fe952b8992d9aa5ea0f320e0f13c3c80e07e8a23f3160e4443510c139ebeedf2eb7778d1f
DIST thunderbird-bin_i686-115.15.0.tar.bz2 83141923 BLAKE2B 65ab94671fecf4f315c790ee4525041363f1f05796f6c0ca2c73948b478d37b299104fa61c425e2f0d5cc8e291119590a9f60491f126ade931e2634c866e050f SHA512 c63ba5fac74c89583af6e7beceec7e027463f1511522c8245fc80b1f55e3a87de97a54e2c599b87d5ab3bc928bcdfd9533e54d0fa7415a8af2618133aaa4a90f
-DIST thunderbird-bin_i686-128.2.1.tar.bz2 89460512 BLAKE2B 0d43117d42979d4f2e071b2701c4939902034961323da2a3e528db721f08cfdfd750dc9f7cf941df1dacea5a508066d8dd4718a0de643b56052d6cbf9d3f2daf SHA512 ad4e56ebcf11665f2cbc6814e1c85c8b75fe679c6b85ccde6376f8a4d687b8602d7df0bccab54ad07c5cfe17142341a692029c36621d1f26d4f062a57804f130
+DIST thunderbird-bin_i686-128.2.2.tar.bz2 89436816 BLAKE2B 9b8046651ab6640341f1bd1226e6d74d4e2fbf72f428f9e3aded1c1b299be0bc0b5c34d8b3627a04be4cf0dea3224ff24eae42af81a95cc12588efd6dcaf3866 SHA512 2c616a6ffa4ed7cdc00f4d26067f9b2d7c624384eeb8c202dae551286bce6471966655d9fb22b4473926d90ee5352836662c375db8071c86935744ec4920d20c
DIST thunderbird-bin_x86_64-115.15.0.tar.bz2 80669183 BLAKE2B e288a1ee07234ac3ab5749f2c18f1f342b440353b66a7c6d5c80b1aa1e6f46dc2dd1e5c81124b0393fa61141ad4c6c14939f2fdf9f15547e4160df5bdba7d2ec SHA512 311df005e79ba20d6e4e61b934f0c1e450e15b6622ec741c1ead98a111c7679f01cc9b4bc2c713be470385ed8fe9f87a8c3a2d0adf6198623fbbc092134a9f06
-DIST thunderbird-bin_x86_64-128.2.1.tar.bz2 87162359 BLAKE2B a540e6a7b70f6553a0203a325c85a5c8af4f9e728e7905290bd522e4d1f467301ac42462a4cdb6a787aed14e59ade3e717c8a4eb83785df2826c3b8d7d644bd1 SHA512 a4ae85e5f73fe72e470a39cbe40218c881cdfd010f068c0ea4961ba8d5df1ff6cd739a546335640ce6ce9c48ff6c5b3315a93ca64654da422b7a2a9f37f5a0ff
+DIST thunderbird-bin_x86_64-128.2.2.tar.bz2 87105848 BLAKE2B 48cd8302e2c5059f0776cca72abf4d74d53b75c2479571c96b1e11a52964f3dc774e6ac65f0b8245c0580647b7d7eda693f4ca112c0fcba1bd2e3c565551eb48 SHA512 cc85b2686b03fed538043d0908a62ebd80d1a563eccbe2548f54115270db36d1dbdcf3b840039a4875abc8efb276a81c4d9fd4cd92310960bba0cce9b566a540
diff --git a/mail-client/thunderbird-bin/thunderbird-bin-128.2.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-128.2.2.ebuild
index 1df793b39ec9..1df793b39ec9 100644
--- a/mail-client/thunderbird-bin/thunderbird-bin-128.2.1.ebuild
+++ b/mail-client/thunderbird-bin/thunderbird-bin-128.2.2.ebuild
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 8bae87e7b3c0..5a2121fc146f 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -130,3 +130,68 @@ DIST thunderbird-128.2.1-vi.xpi 787028 BLAKE2B b8855d3fe3afd29cf88252458cf5d298c
DIST thunderbird-128.2.1-zh-CN.xpi 785328 BLAKE2B c0074053890028a8888e04fbc803337888715f9004b44823af4d6dcecfe6de70b8e8c5d45ca234d7ce4276bdd6e68d38e74866b9bc8da345b490b1dcbb870e28 SHA512 641c7296e86a859061116e7b5c9f0077d6dc02e1c81212c21ce0247e9e92a88f3d7fa2be307f717e6f95077c29c236487dc8fd93d7f9795aba569e36f9f5f1dc
DIST thunderbird-128.2.1-zh-TW.xpi 789780 BLAKE2B 26dd81ab3b1066b0e4e1fb94d7d1f0a6241a94420fdd34fcea42f841c6f86109a7d53e422ada0378b865998d7946bea315051e1df47f04e278840db4d94a752b SHA512 6e8c435ed7f07b1dd1b201730049aeb924a7b1b44ae2fa9ed1a209e7862abd0316845c929fea24f73e43262f147b7e092bfe26ed7f3d2914c09bc60f160ccd98
DIST thunderbird-128.2.1esr.source.tar.xz 672402456 BLAKE2B 0a082fc46148162979c55da1e43d4592b1f012c01d227444f3157824a66dc7035cf81d9f200c834f62226415f52c550888bfee70eabea8c4765addef6409d3d3 SHA512 8a04c57f7c4c8f19ca3aa5f62a65fe05944a8425e074ff49ff087c542bb64091666078ed0b887528d2662d92e65f7a00a5fad98e7897d2f1e1def963923523f0
+DIST thunderbird-128.2.2-af.xpi 530349 BLAKE2B 5eaa31b141d9a52ba51a4571520d6a83540f036dabfa5178c3a7106d0d22980ebd27c607437ef6dd795912504e32ecef8b1acca0b80d540fe1d2bccbe91b1178 SHA512 b7fa16adc69576b42119dcf65c4e45e31e00e98987e260df7e728be4e9fad5db7e3ee7704a3893ee85ecabad9cfcd05d81f6e7dc6278764fc0ad80ac97c530b6
+DIST thunderbird-128.2.2-ar.xpi 679867 BLAKE2B 27dc65b70f05954af61e2b47bbc6ec28288a8c2f44b32c616144b87e02c60f236d6ff2a8fe29e217afa322dd7e138f075e6d9726d95415628c3dccb6a030c008 SHA512 0faaca4ec5ba7867bbe4d3f57ec9cbbe66b1bdf7ebbe4dc5519a49aaba776eb0d1c4374c9b8136b416d61471805ca9dae7a2e5a12b6d3b7eedaf5d953fab2c95
+DIST thunderbird-128.2.2-ast.xpi 561054 BLAKE2B 6d6fe7db3bfa5f6ffb9e3bc93cbef8b49eeb13ea2332d4026712e1ec5d85a8571e9c191dd42250d92d31dc87d60c59c341452cca9867688b242664d3146e8e25 SHA512 a4b6a92b2bd2b2926e06ba8c43ec7803b5b3ff82ad240c6a90de65a25671f6dff686beb32f0f21f253564dd5403f2e225d1339989b43aa4d80bf3a9c6a3fbd90
+DIST thunderbird-128.2.2-be.xpi 755103 BLAKE2B 45e203ce7e29a7cc67e1f18fac1407f4c81d67b79e3ae02c754cf180d6c1a46ada7b468cb9a0a3e9d4045841e6fd10531d48b41bf3ed6ce94712285d6865b67d SHA512 3263422945063667f62824134f9b1aa0f4aae3780caba3306c0df60220f6aa2b0f1e666b58fed90e0c83a8b3d4e3ade2e0b4b9e719f0768ec07a2602380e683c
+DIST thunderbird-128.2.2-bg.xpi 807860 BLAKE2B b6b61e6814b858c55aee5b42963424d2e1f53dd17c75e4245806a207257973203de93e012776c2c92d680c3335967b2924064e28038e1b9e88cdd620a1ae730b SHA512 5fef536a4b59667343c0b480776d88b0d389eea2f75a78996d40659a3960b84e3aec498357da7e8df0b9b1457e4926d314d30fc97f7d838fce4f2fa65c872cbd
+DIST thunderbird-128.2.2-br.xpi 652476 BLAKE2B 83b6fb3638774a6a1b8b041c9346b550da5a63cf62255ab2463b8278d58220773b8292f615babeecc1f1a15d75606a57c128ead33c2b6a26b04df623483515c9 SHA512 05a442876965d6f70654f27499bb89e4314369c2dbae34a3e3769c4b43ff25e6816993fcebf5ca65d0f81c27c6cbd8afc0d7c4ae59297d84fa677065582480a9
+DIST thunderbird-128.2.2-ca.xpi 708965 BLAKE2B ab1a9d953816b8a19b30eab974802ee86219f75e0e7e2fc3346ce130c06ec216cee822d68edb9e238d78688ecbee6b55bb3818724a7eecd86ca541b53d5e83c2 SHA512 97e30e2ff485f83ba1612fb205d0542ee8c14307630985823f6dee5bab91a67fdc3d92da806d93efd57dd78487e8c6063ca0e2034f8126d22b1242c05ac560bf
+DIST thunderbird-128.2.2-cak.xpi 671704 BLAKE2B 4aab96d35224b5722f1e9ba230abcfff9b990dee52dc8221537521e64b42d93b6a6e2946370f83a0259eed8df48d01b96ccb3c24780f3bd522a4e4b8c5e17487 SHA512 70abfe9ddba026194866f7ee3580e749b0a6fcdc3d9a574b80c3007acbc37eecded23efc69f0db31e17166825509faec8cbf24479e3be8304aebfb3aa3f58abc
+DIST thunderbird-128.2.2-cs.xpi 785044 BLAKE2B 436909104d905eb197af8f1d1f36e5560a1efe836b4b4916090b2bad3e7199d5639f56f2c995d6bec209546fde475ae4e52d9fc63b33939b9770519935ea0d3b SHA512 df01acbe01daa0100a300b57ed933ec31dd671c9b7ea7cb19fc76f07aeb010b7362b640312f511860d2285d057cb3da08091bf7a8f7574f72ef3310a9511a99b
+DIST thunderbird-128.2.2-cy.xpi 749050 BLAKE2B 194c5d39cf68ea157e36bed4e95ddb87dd807e3258ffe39aa7e7064c40b5b33ba5b8579026d7ff2f1e60f0d74dbd5ab9d4a3fbe1f783075a62bdc2b0d5729a09 SHA512 9a822522fcc3a18193f3a5046f7a52dd3d467dc2855a9238f33473272aba4c6fbe59e5873c98a1d50b82ec10dd58285e5bcdeaf58b1040889b3b9e5d3094207c
+DIST thunderbird-128.2.2-da.xpi 734115 BLAKE2B d67c877852a541c18cf913e7920f0e34a981bd13c5d5879b5de5ef0922df308453f8d10115085d6869cf69770e2aef1e258e57bc313f23cb28a2d4fd368c5a0e SHA512 8b470f007dfa79d11f3fa55cf6f36fbd4ccd0ad7dd436a53d9761d20a04e7e199555f04f765e6e9221e3079ecd96792b3cb1c51e826596aff147b6b728313be7
+DIST thunderbird-128.2.2-de.xpi 766250 BLAKE2B 817a18baebbff78c08f7f28ddb7563fc0f8002fda98c264d344a5623eacd4fcc6487285d567bce7c9ed0a3d92a147b71507b847d884a58400add9af8f77555ef SHA512 f1cbd3ec218d41eca12e8fcde90319ba3acc3d7ccdd0fd8d0d535daefef5e344428684b544cafe24d23d31cdd8e2397d44d03a65dbddb2d679decccda12e21bb
+DIST thunderbird-128.2.2-dsb.xpi 782741 BLAKE2B 57d30baa8a7c74b7e211e21c70e6bbd7a52979747c24e3d496cba1322ea3d1a88c44d151040bb2f12109383e0ae0a08823e3a73a2a18f82b93f703849b69993a SHA512 8c8aa85a43ab884069061eb09b9227a7604da7826ead0313d754aa6842f02f237f466e502c979d000fb69addc0a6bc8812a8d650bf90e002aff863dfb924cf59
+DIST thunderbird-128.2.2-el.xpi 889267 BLAKE2B fb1febb9726de7356330015ca659436a1b961bc4d368b49498fe86cb410c7fe707ab7e7fd6ae8f7be9617f74a0aafbff8970e93fcfc7dd3db03903ae1ead28d7 SHA512 7f0132917a7472a2351a7d6c508455a9783a1c947eaef910147e64ab98a812876b6bf7e1039e7c5f57a46153aadc2a31a67c004857e0ebcae288eb9726c5995b
+DIST thunderbird-128.2.2-en-CA.xpi 702143 BLAKE2B eb53739465510736eac8d5edde33e3188960861270c7fc169bc5a0db72b31dd04d7de5ddb59570dab5fc396d3d7c1d5ccbce4ecaedef111dc6710ad314f5648e SHA512 49ddb0731c27aab5ecd9c35269439866835454723304c49491d1034585a6c6e7e7e052f0331c09ce3a218c79ec23919255bb6d60e9a194e453b572ec0c9e9696
+DIST thunderbird-128.2.2-en-GB.xpi 702698 BLAKE2B effca0c4ce13366f7f52bb7e9d1b6649a6c266747da06537a9be4df80407acdd7ce44b3251354fbbfafa1fb05da77054aa207f8efc829084be0388a34fde7533 SHA512 2c39705e01179244373facd5de6c0122187d4e7d4476e8571bcadd2725d9a78431c19c53b091abfec0ab3e4b2b22aae868c95a3886e2bf4598cb00235a37613c
+DIST thunderbird-128.2.2-es-AR.xpi 758350 BLAKE2B 29ac3165963c6d2f6ff12fba8d6423b6c023ede2a0395fa815d28325a7b544f8cf72dfffdc607ede7c2006844011bb645109aec2592df02c85be111e1a650807 SHA512 dea206ebc27ac17f68cd11c488843109cb512e6bf4f40eabb076c9568517d3ab3d43e9a0335ff9497c00b2906c9f28840f05c85c9f3adce060b34ca132a37d7f
+DIST thunderbird-128.2.2-es-ES.xpi 723514 BLAKE2B ab795afb266dc446f3b99bce6975053b9ba11e1cd8bb039e6dd72fbc3bf8f7084504fbb91af46cbb770f9d81946a7082b0e1f30c8661c8abd6d99cb1981d711d SHA512 b75040158484dffeaae54b0bbe4f3943531e46ebe9e4bea2df8d57a824bfd163fdf4136ad8104847893e8dbd9ebfa86d6dc2a2dd5391d10652833030c9dd9253
+DIST thunderbird-128.2.2-es-MX.xpi 737707 BLAKE2B f7d5120d9c1b21967a5b7e880e5d9d72542897e7468c8d83da780ab3d723d1a248bec8022a0ef6ac0c87d4dd6286f682275eb782f98fca00c19273bc3c2dd022 SHA512 6fd973a1a351ca80b961ec99e60936beb98ef50fffa80a47cd6703732363c8a25d27679336ef353f35362cf831dd0947b4ce77bff7d6f7f4f9dffcb66129979c
+DIST thunderbird-128.2.2-et.xpi 696279 BLAKE2B f0ebe0f02d09630b3f5c33606a46bb07a916aee95bc5343a7fb988e9adb318d776fead30d0e6877d3b426307bb394502b4cf61cf8d2baeaef296b21def49e5a8 SHA512 8dec1a219b4ea2b4e186d8120129176defbc317830198e2211f1aa8cc89ef16987294e9444aa250748798eb748ce8e5cbaed209cdfbae4615b69b683b3d20b26
+DIST thunderbird-128.2.2-eu.xpi 726801 BLAKE2B 1827c2d6c2142e52cb08fe4f17dee71da7b80f91264afa06bf89f401b02660f05730967631378ec544ee70cb29ab6efaf15faf462a6602c3a0d275fa187cb500 SHA512 c52309755ba065f666c4f66c0fba2782c593a6a7d2c85c6ef072948914cbc820e7aa726418e4ba6e56310e7704c5dca127c04eabf4f02598edb70fc171520431
+DIST thunderbird-128.2.2-fi.xpi 733649 BLAKE2B 462f2bfbcdc12aa7560f9092659a68fbb5bf37295a04474ef080416afb56213d9da562efc039f6bbe4eeab750c04c1b268a54bab442244b4b58b4228792b3ac9 SHA512 20c0d9f1d85e0ebfac38f1bd3d45e86fd9784d02fbea3b003f57acc85f0e1e5500ee4db7a065ef442679f5710bc5bc7e2dd55bc5b53d6e82fbd1a5e1ae9f328f
+DIST thunderbird-128.2.2-fr.xpi 770186 BLAKE2B bef36af72a56ab5965217501d20181ea75eae47dc9c1f67ae5c7ebea46d6cbba91a73832cb60876121372ef8568c8553cda2061a93debf86303170659ce3c99d SHA512 1d47991f193b992b133b391e1ef973ff6dc186c0e363d0ef1c83e288f56214384482c3562c4a45dcc375a23c43c75e9aca6702acab2201b93331d0b438213783
+DIST thunderbird-128.2.2-fy-NL.xpi 752848 BLAKE2B a292e6823319c2f91767bd22f9a595a8b61b24b69abb0e059c56f2ba58c6ce716edfcf89ddc2287500e1c4970b9e2d0c7203743111b5f8397d18c2078a82eec6 SHA512 7ad1aa764b030b00b114fc6f0a16265de1fee327303fed96ab4adead7b7c14941c2f8ea4703d1ae8a1956969db3b54215dc44f579c053d9ae7f86f189e91e671
+DIST thunderbird-128.2.2-ga-IE.xpi 615197 BLAKE2B 080b9cb464049731acf64c73ead986d884daf6dd7275cfa00a23df16285aa92bb48588702bba255ee79191dfb178360ff5dd4c2afe8eab533e67be96ff67e134 SHA512 22d06a3ed77ec8346ce994d765bb7997015c66c63644cf7840b4efea64c60907a5c32a1d506d97be8350412ea1b9a7cedb6e9610140799a4fe963a3e85b91936
+DIST thunderbird-128.2.2-gd.xpi 727803 BLAKE2B 9f9c41a1631b3f637991317f8a3773dadbb99dd2643ccbc80aac524aa8d8207fe676a03013de086fc0addf5dc5141d6099791bd4c7aade8aaceddb99da73f994 SHA512 4e10a62b3275ecc5ba2eeb3f81b880da33e90363ccb84e6a19e0bcd4d950a6efb1714b9048d7a7abb73ed09306af7c9108dca28ac3267ffbf53f5c2cc516fa3f
+DIST thunderbird-128.2.2-gl.xpi 736571 BLAKE2B d2cc440ee4e3722e1c36a4da68753fb69b7abac394eec5c61212dabba6b633319cba0b1862cc18cdfd76c8de0c9bb97b95f08187573bff5518d0cc4ea2def846 SHA512 e275162e37cd1d3f43c3e33af5bfefe42ca875c58f26a5478ccfc9be73575f5643b25107cb6569192cdcef460fbfa428811c1a2cdf43ca03ae7379f26ae8909b
+DIST thunderbird-128.2.2-he.xpi 700301 BLAKE2B 12f2bc196456da04d4549fdee2596b51148acd01f3371e776911a370937c6ba052d694a5b1a5459face5d8e19ccdf0c7ded30c010c32d99242693017c1e4e93f SHA512 e6b22bde8ce7470b88fb0ff3ba57ab3dfeecd616411cbccefd27106281c2e60a8337b69ebde2d286ebd1e84cba32fbd0b2c2dc4094ea9263294ed5f2571da26e
+DIST thunderbird-128.2.2-hr.xpi 715017 BLAKE2B cd35408eab5bf605e0e9e55d15a6dfd6be3d6c6a0ef1fd1335ddbd0ddff9878177d7ea298b43ebdd9074049a4085432e1953d69ed9641f954db73f2c07531522 SHA512 4bdf8cf2cace5f41c53b19c4b8aa2aca0532369fb1d777acbeb9fceb3b5a8e18934091d4ed3b358bf4d61345976e2c72124adc57fed8b73485a2cbca31ecb9aa
+DIST thunderbird-128.2.2-hsb.xpi 780137 BLAKE2B f9c38da2ba17c44c22553bee202da03cf37ffdd2ba9b594cb887cc2357743df4832dbd0bd0860e213156adacb61e3e76cabc9ab87e89bf4d17afb110f13b3167 SHA512 60e38453a6bcebab8ff3b58df8a771e92fb750260b0e9db21b0dd162b75b38694204d35fa50000a1bad57b9a52f583514c322b28385a205e903fe37dd6d22159
+DIST thunderbird-128.2.2-hu.xpi 782932 BLAKE2B ada66a9f56dbfea99864fb021e8bea226f255d54ce9f95ea7cbede9a34bcde4ff44c85c3b040ef22514a1078cf6658d1e0492059b14f36967f2f31bf0ec2646b SHA512 ae6775bc5fa417ada71054c4f09b50037bf5fada2e155dff71446256b3cedfe28cc66cf0280e78d399b9d988aeab296abec02e34946695cd789885cc231482bf
+DIST thunderbird-128.2.2-id.xpi 666011 BLAKE2B e7ffab246eabc957fabad9f1a44b281a5f922e4786955169d5452527226de602ef174249ea5b4fc8191c1aeefe9ef3969cbc280b96d5137557ad4ed9765e272e SHA512 0df571d988ae5d36013d93f86cb5dc2942c8b04885288932fafd269216eb45a638261719532d9ab5640052c2f3af9ffb72235de99ae93697d4fc932867a69332
+DIST thunderbird-128.2.2-is.xpi 743886 BLAKE2B 1194a26ecb666dbc1675c1a6546b65b9132748ff9ca3cef03635a6c8ab014cf82483f816d9fab214cc8e9b5ceffbdea093219184e635e19460702824b59de29a SHA512 934375a444a0c97a9559d6e625bac69477e04129ed8b1ee084ce2be100e0422411a1b6cd439318c31e708720f3cc8d7e4fb57afb95489b91577bc4d2c3a92bd0
+DIST thunderbird-128.2.2-it.xpi 690397 BLAKE2B d3c81362ef8acce58ac9bd8e5cc86845fa7afc7aa817c5bf1976dd716aa76eae856bae25ae6c8e910718f09c28c0e14d183de94e1848fc84b40e5bf1cde9de92 SHA512 e912e81e16c6d594de1db3fa1e31f6a809d9b5cd630076d5c6346f956d4f4f7b40d8a12943c993a5181823aa0704a9c121c5b13a13cd74ab9322608ae6a3da70
+DIST thunderbird-128.2.2-ja.xpi 819902 BLAKE2B 0118c465fced58ba8782557776e767b6474c36b635e8b380045f7ff639aca3fdae5be5222429782fc7075c8afc2c1a63247d18546a1e8bf2ecd605e6ee57144f SHA512 b2082cbcdc4b7d888a7b2949d20e284048c56582aa365d47d505db2ab2951bb94ebdc48769ea7614d4cc856a1d326e0c28cb2d799e8fbfa9d107037197590c45
+DIST thunderbird-128.2.2-ka.xpi 796045 BLAKE2B 60d3c3f1d20d75d91014e738f0f04842d8580abb9fc21173fc66f61df45b0da61228fb402f45aa3566ad4605e9e9fc019cfb4a2b6767d90210588c920cc01283 SHA512 325ce0d81111f7adb5aea2ab2941629d21c041d3440398757d8d761cd7285a2c38e5e6d992859821d2869479b4146047f48e0c7ab9aa3cdd9f17e38e9d307002
+DIST thunderbird-128.2.2-kab.xpi 731859 BLAKE2B feccb64e54a2d0e3d4230971572445ba58d9efce7183085385a014619c199dc6de26b802cc4c2723a2166eed21cf1e26dbe6feb579b69eb59b472c8e41ec6c34 SHA512 177d4df8a2f0a09f7c48aba46fe7e07705467482ba82cf8b9031ace3375c24d70376fc3d067a6702999db3e093c78e08942f6d9e1f2226e5d32387fc3b744c75
+DIST thunderbird-128.2.2-kk.xpi 857288 BLAKE2B 1985ca4f666353a697d668053bf7b2c14d1d807babf09f5a78db6bf19afd26c50709c17ab5ba580a74510ba35636281c3f7542ca5d085ad69bd6473b481b1ec7 SHA512 94e132fa08c1dece0e3c2b47be24b063bb0f4155d4318534143ae4606fc409e5cd82034de6a93423726ca96a89969d94833551423ee02d041d644cb3507becbe
+DIST thunderbird-128.2.2-ko.xpi 755165 BLAKE2B 1206f17fa9cd4c900f024272d93a5db8c2a3e2c1c8a1901bcd6bf962e55203e2bf03cc4f10243f2329de7f77549fe26e650d71be29d6e37e34e7388e4cede228 SHA512 470fc5bfdc0d139d19a236cd1abaa72d9da2a3e87ed8c7bd2f23282217241d5611537033cd28e5938b8d19d64ba0d3d75b200d4073db747d60482c838fa9b63d
+DIST thunderbird-128.2.2-lt.xpi 700917 BLAKE2B 82ee9103889b2e7b8625b7646f8436a8c5b12a45237c7203d8d3a33b0d205bdad0e992e58582c0ee43570f4a601f69a3def5149e4f6443e72159b1e267cf3f3b SHA512 fca2e33a1fbe684efbd96b6f74b2d811c329fabc7ebff26fa9152b36bf316851e8390537d05255dee0e1c5e47ad2336036b76526573791d7ece6c127e2feb538
+DIST thunderbird-128.2.2-lv.xpi 623624 BLAKE2B b537c537dfdcc03d68737aeaa2fc13482b9f57ce5646a444bff7e788abbb02d5f4c7c399b467d83b2684de28b597a1b4223c8889a3b6906bfd32ce0a2fe5e538 SHA512 4b9f301ba9ede84aafc5518a8650d48469ad79826ddb5303a0df433f4b10d268f47ccde0492fc0ac9aac9e03f10ba3524962841ddabf7ff304398fdf309fd154
+DIST thunderbird-128.2.2-ms.xpi 581083 BLAKE2B 6906fa8c3abf7539eb3569139bf615f9f6bfc2933a82bc15f31c73dd85c689b35f0fe1f6f02d8894541733ff69072fcb7b4701c67b0b395dff6bf02e71419d6c SHA512 3e1807a9f3b0396ac79981f4104bba73d0b1357c8e8dedd67b06703144f419059c5c104a2d0030b16fce15aa55923e2f0efedcad5f080375a7713f362301a184
+DIST thunderbird-128.2.2-nb-NO.xpi 703762 BLAKE2B 5dc2fdbe2368cb1481e470b347abe248d968f0dd7bf4374ef2b4f719e746619b49f721f0c03f5d01341db8d8d72e48511b58b693c0438f80603d1f7ddd4dbbdd SHA512 a6732fceea73299362855bd4fca683f0944b3955f9668aa369932ec8e8bb39cf1f8e8a011ee103c5f642e0e22310ee3a7b422d773b705bec04fe1f81fe71131b
+DIST thunderbird-128.2.2-nl.xpi 744105 BLAKE2B de180ebeaa93a970e4e2caa315531dd3a33bbd2868ed0281c084f4a369cf8f7e5aea0e3bf34e3a5283bfad4f904fee0db9d0bce91b5230e96bc209dbbd4a388b SHA512 fb978ad3fc6e70b117fac9aacb0377d7e488d8a8891ccebaae6fe845edb1c87bf05a6286a764343707bf44bbbb29b6b62cfaebc18d90308838eee3c5cfeeef91
+DIST thunderbird-128.2.2-nn-NO.xpi 723767 BLAKE2B ea5f20c8e761796d18e0e08c1a7c3b8ffd04afca6b08445c98faae9cb37c0f53819cfa43ae264d31ebdcc02cc658a3e8163c2096c6a3aec4b64d04c96cb73eee SHA512 d0d5f91c1d3563cf61f86bb0f58c9dd91ffa9809db112fa2114ed8b938c64cab76c14be04b94b794bd07e07b91755bb6e8cbd8efc089dab52bcb1d0720b1acce
+DIST thunderbird-128.2.2-pa-IN.xpi 683077 BLAKE2B fdffb7bded96a4a2b156392bb72f0dca89bd8c3835b5bbcb9a811a311a4dfb0df0274ba0ce99f3427d8744b3734f0f4c53dd74bd4d1416a4bf085cfc495dcfcc SHA512 a536b95560e84affb3d67173773a0b0a69053dcebe2abc9dc4c05469f7895fe31977a4bd3e3c22870d191882546e1168518c7444c1baf2153e7556b6f88815ca
+DIST thunderbird-128.2.2-pl.xpi 762951 BLAKE2B b130f1fb22fd05fe58cee3ee470d40358e490767df5ec3ce278fe91edfb5775b7170d2ea11525389f6fc141961bca3256408b0fadf222a59ffcd779ad05acae3 SHA512 8d008eb7b0723c6d8fea007a926e2b5b929d65fcac5c4009ec4cb7e7927af79eb5f5e62c14b4e0d9ce3b310a67155857c0c36649842b0ff259bfb9ea7dae43d4
+DIST thunderbird-128.2.2-pt-BR.xpi 751312 BLAKE2B 532ab4de97a86d7ef08457af3a6254db0c13b35739c3dc43d439d8dbe66ab0496447b4ea2bb90216c73451f716cf3bdcd70639b2a179f65ab6693a99f55f5c7e SHA512 5b9ccc6efffe4d096fe8a011ccf0ed0d75801ba6fbde7448d61d86c67445a81fde037332f962b7a8718f07f15c540ae11584911f007a335f37dd6c370a16b8bf
+DIST thunderbird-128.2.2-pt-PT.xpi 746870 BLAKE2B f17c0e3065d028b7c9798d4b0a1f2915817bd51c20780e4884156c6464f3fb3fb26bb44e59285a403287055a4cb8689d08d0d46c363207c4998c1b79f2ca091f SHA512 5d212f4ad1829206c99c269e440142274288470e997b362ffb8a2f22081858d44be8432ea2bedca5f6ca31c02bbd31e0559e8e562bfe83ac4b69eeaa23a4019d
+DIST thunderbird-128.2.2-rm.xpi 746779 BLAKE2B 57ed03115b45eeeca524d359915e604766ec1fc6a572cdddf792c81f5683c5211c97cef4466aeb70fdbec11b8b64b163d4b11c0db9e4eba40deb9c512e06407b SHA512 44f8ab9bcf893ef4f6fbfa9c549b7c0dd84e87bb6c8c35fc8257a04b449c19e55c38a3d0e3321e938aaf29dd61d0636384390c8ec20b276755b0a83b70875bfa
+DIST thunderbird-128.2.2-ro.xpi 669742 BLAKE2B c8a3351698503cd460a94147ab145eca308a598ce151bfc19d696f5d0b8bf59f91a54c26a338d0c1db88cac673071bad71814d99a583d6d1a0575148b22da410 SHA512 affab7161952ef70aa8f6147e048b9209ab9996de1416e8c645726ceda9ec694a46a95e91fb4da3de7bef95ef9d7f9a2fb5c0e0cc1c20cf440b1b09e4eae8582
+DIST thunderbird-128.2.2-ru.xpi 872245 BLAKE2B 97afe1df85d1f3870ff50af4a2c8756a6ae00b0e21990fe80e0ef3df7d6c65106eb317a5faa8b97c496e7a7230c8d021dd677e957e00caf1de644e8571fa207b SHA512 5fa1e5810cd442a8a95b29c4e1f6e0a5c447d4ac43ca8b3de3cd21aa3ff215e281a7c73ab85309b261274578b99f52b95e60abbda876f434adf91be3860ab2bf
+DIST thunderbird-128.2.2-sk.xpi 784168 BLAKE2B 0604012ee5bd5101cad8cac6727c61680993ca307ff49af10fc162d760095453a7c642aa8bb77a13c34fcf28c7e290d286efe4e4104e9d9d83a5aa0f05099ce3 SHA512 028d4c99b393bcd245d02cd0e97c98dcc20bdd153a08afd623de06579d9ff71108997840a757c84c6abab322ed20cc5c87a5dc273823ddc6610d74f268b08241
+DIST thunderbird-128.2.2-sl.xpi 743551 BLAKE2B da17cc1ce9d00f3ed713f0fed9a5825848b008eb359b905b894d2e0d9398c4d678bf329094ba98b0348962bdf87315b3f35917f5c136a1f6b99a53f19f7b1a51 SHA512 c505cc60ea3fe60ef1a0a252e99ef3aec14eed535b181c2f2ba21e607a7c41ec7dd37f9afeae7d7ca2e7ed0486908ee019b7397c3eb1d1ab0ba69a2132950ef1
+DIST thunderbird-128.2.2-sq.xpi 765885 BLAKE2B 0cfa9eb328f260dcad69784cd2d6502d01b5fee740a73022363e770fd1bc06572a1ddeaf308b5381a39d7b391746c8dcd4019d763df6d001a13dbf45d720b9de SHA512 956daefdf678b71adb87fe64e8004382a47e2fcfbebc9552bb0c3d83871347fe77e13bc9dc1a4220c124357bb6121392b58168f12f178c88c0c40009218e6ba5
+DIST thunderbird-128.2.2-sr.xpi 771005 BLAKE2B f7ba13aafe1e6042494650d2b5172bf788e04f3919491d5f19e542f5d4fc6090bc89ea1b89e4cc7fd1370b9194c2799544b3bfabbb88df03ed03782075788d6f SHA512 6813b47cb79ceed6f376238480488f3ef2c388775bcf2cebe77dba4b9af4cfa6205219a3850635eddc9f3a363df65f63435b42e6a3afebe33b1816bdb5b21c15
+DIST thunderbird-128.2.2-sv-SE.xpi 747521 BLAKE2B f6ea783938e5c2cfbf6d0b1c1020b1ed45df1a55655a6886c70b9d24250cf920bf9e95233878ff3e832b9ccdbcb6ec69f7a7a59737de7b908dea21579aa10a4c SHA512 9f93d3180d2b64ab5dc6682a74a9a2d38acc0274733940e51a257a87903e0375093b25e3189673786473f1553047cdfededdf3728266cbb2dfaf52a2dfe6e76e
+DIST thunderbird-128.2.2-th.xpi 813953 BLAKE2B 2eca50868dd09e7d8576da9cc5f204fc816a7ef3fd459ea6260e429905e7d6c9768cbd8f7b26817a23d6b64699164c6c604d5d06939c01a9ed743015d83f38bd SHA512 490ece4ddb5ed2155084ee3d2fe54a2d216f5622eb55088b399e92da55ff598836e787a1dffc638122f3c80de0c35214121bd84884d25c51a3b83b3288f77893
+DIST thunderbird-128.2.2-tr.xpi 758165 BLAKE2B 9e502939d4ed61372e0e16df5ee1a30d0c89caccc1edf8a0778baf8f01f1a37dca4408d081332cf74b2c74c683273de070675fc85044704e69fae6991502bb70 SHA512 232e52755661a339650a76b701610cc136c7a7e5b11788afdf470e18ebd13a3befa7464ab073579bf7a7b7b340a82ceb9328df93e8995b2356c87a55b8110a1e
+DIST thunderbird-128.2.2-uk.xpi 856053 BLAKE2B 7530213593db5e282dd54e2f5f1f26b982f1a3d01d206676f9f8641c7ecfa54f126e5b095ef6c528482eedb1e949aab5696a67b4883d760c9393d079076a9a45 SHA512 02072a6eeb9f03a71cae1f7ef4de4272aa677657b1cc8ed1c28badc713510c9d53c6029e3647817769fdd79caed735373263d0150c4c5ae6997479cd0291c64e
+DIST thunderbird-128.2.2-uz.xpi 592131 BLAKE2B 569538d472409a3ac52a4891c07446220d2d9795c1e2a51afc15604814b19ad3833fb16a7f46958bebd89fb8f47958647f56321105612954216b8c0caa3f7f1b SHA512 415f903c63ffc47a9d6463ac41a2b842164497377fe9ac225875b8f3babb3c798b988ee40b5cd609cc2559eee96c2b19d91e51d8df36381cbdd2a1ecf892ccbb
+DIST thunderbird-128.2.2-vi.xpi 787028 BLAKE2B c9fb95cbd3055b58f38d8e166eb64899ac3cfda96fb223dcecf70123b21781d607c5ba552b177f91edcc9af9e378ce799b9497e740b19d5a9e8f4e7b6daec995 SHA512 4cb791209a31f87a481085fe8925b470f51ae4ba357a415bbfb01f974bad4080c61edeaf3805c5544636376ccd85470e26e24c7477a1a6436944b4a2072fd28b
+DIST thunderbird-128.2.2-zh-CN.xpi 785327 BLAKE2B 095094bc0b01974406837e776d263b96c85699123f7c5bb6cd9126e5da03c5320eaafac24344205b49a463a8b1729121f73882734aedd723ad43178ba24f0bf8 SHA512 345bba000b277941423af0f3f47763208a565a408c99a6a8ff5619d3d5a91a8c5c18d867d667f6ecdc2f56dad4007ccd2f75cff113bb7eb294f3ee2d9b8d1def
+DIST thunderbird-128.2.2-zh-TW.xpi 789780 BLAKE2B 1e1d95617c86fbcc00804dd18dcad0cc1b876ba09a2162696d14075e4814810aadc24e2124b25df935f380171a6dd1a95ec679b28ea509aeeb27d99b3a1e5950 SHA512 0b650d6c00a0dc05119e20b4d072124c98e70f70a7b98f05644e344fe952b8992d9aa5ea0f320e0f13c3c80e07e8a23f3160e4443510c139ebeedf2eb7778d1f
+DIST thunderbird-128.2.2esr.source.tar.xz 676994144 BLAKE2B e3eec7d15b4d855376ef1aa9ae2de490134a156f8ca817fbb88d6a942a567692656235ed3bf3cd11e6846b033a4ae56cdfaacde8365ac1d1facb2f41f4abf30b SHA512 6300f3f6d3a907e849a6acf06101d7441680a4eab965955887ac829886d4f2152e49a0ca97255e3cd9de579fea9ff5c03f75c70a361116a66c735face885ab89
diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml
index 51a24c64cf6b..27ca960df2ea 100644
--- a/mail-client/thunderbird/metadata.xml
+++ b/mail-client/thunderbird/metadata.xml
@@ -16,6 +16,8 @@
for faster binaries. This option will double the compile time.</flag>
<flag name="pulseaudio">Add sound server support via media-libs/libpulse (may be PulseAudio or
Pipewire, or apulse if installed)</flag>
+ <flag name="rust-extensions">Compile and install experimental rust extensions, that may become
+ part of Thunderbird some day.</flag>
<flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
<flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
diff --git a/mail-client/thunderbird/thunderbird-128.2.2.ebuild b/mail-client/thunderbird/thunderbird-128.2.2.ebuild
new file mode 100644
index 000000000000..1599513d8ece
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-128.2.2.ebuild
@@ -0,0 +1,1192 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}esr"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}esr-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}esr.source.tar.xz -> ${MOZ_P_DISTFILES}esr.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto +openh264 pgo pulseaudio sndio"
+IUSE+=" selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +rust-extensions +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ rust-extensions? ( dbus )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ clang? (
+ sys-devel/lld:${LLVM_SLOT}
+ virtual/rust:0/llvm-${LLVM_SLOT}
+ pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.76 )
+ !elibc_glibc? ( dev-lang/rust )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.101
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? ( sys-apps/dbus )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-74.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES es-MX et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm-r1_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=comm/mail
+ mozconfig_add_options_ac '' --enable-project=comm/mail
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_enable rust-extensions thunderbird-rust
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ else
+ # This controls the backend of the bundled librnp. Choices are "botan" and "openssl".
+ # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp.
+ mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan"
+ fi
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # LTO is handled via configure
+ filter-lto
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}
diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest
index b3142fdb9f1c..f633436fa520 100644
--- a/mail-mta/postfix/Manifest
+++ b/mail-mta/postfix/Manifest
@@ -1,4 +1,4 @@
-DIST postfix-3.10-20240902.tar.gz 4963467 BLAKE2B 283d1d5e5148878c73b9eb94e527760680d06c3fde3c07c26f2181ad329e7e10d7fa031caed783488d099725e8d08fb8fa9336579cb7c3494d504b4932fa5b88 SHA512 7fd7e5926e6ac2cc47c625fe0bb8611cfa3ee051d6748991dde9d86f1a2e1e9c6e7bb18c934fffa0ab785172bd831f0fc016ebbe627dc30a691e60602cab9568
+DIST postfix-3.10-20240917.tar.gz 4960629 BLAKE2B e89dbfb0a2e535c176d2e1f5961988113b9bd4f2269d4b21e11aa05c2db96555a4bd51d31ba81083db220abc3c92c8b2527a29b4aa799c891a895042577b06a1 SHA512 6cb3ed2bc964858df04bc022f46c7d5ad767c745c73e6ab8a5459152e52313204c7fe58090769c5cf301d48ce31af18b725afa426a7fd2c22d122b6772c825c2
DIST postfix-3.8.5.tar.gz 4871284 BLAKE2B 0de999c47a4130eb3418ec60b23c10be405b9bc4b2a6022671f9dc4713256d2b81d3b43f01d89e02d2593f87109dcde366b0265eb0cb13cb3118d0e60e36b48b SHA512 26005da5750e7af742f4fc7596ae8320467176e069546c3487418c663b54f56734b4a6541665b8d72d94df2e0fd4f68a2bcc44c50a6d950334d5a5fb2293dff4
DIST postfix-3.8.6.tar.gz 4873054 BLAKE2B eda349dbf7fe45636fbd68991dba9f099a41dd402f7d58eb71ae881b5889889e5fd29e42e2492ab2af4d7febae1922cb3513b740b21e97f12deb44b5927a3c3d SHA512 2b227bb6b57e4cf2d727a23762b161f2328959faa4683d63b35543701c3e954be552537eaa14a899c65ec4856d9f91b0398337088a6e2b48c0446fd406be8de4
DIST postfix-3.9.0.tar.gz 4953133 BLAKE2B e07a525d9cbea43d3ed11f3d672452cf94f88ca7bbaf3c3254bf5be4ef675a1797a5fff2444c0db60c6eb53e43734a388a91faed72bb2fb4e3e5a353535602b0 SHA512 46faaf529a6d2edc5ea747ee0d73a028f7061a923da0ea4b1e1828d935b15f5782d83f7a8472e7c74b45ea0e96666c871efd352934bead28a88ddd3561ade324
diff --git a/mail-mta/postfix/postfix-3.10_pre20240902.ebuild b/mail-mta/postfix/postfix-3.10_pre20240917.ebuild
index 7636e785ebfc..f9aa172eb2af 100644
--- a/mail-mta/postfix/postfix-3.10_pre20240902.ebuild
+++ b/mail-mta/postfix/postfix-3.10_pre20240917.ebuild
@@ -32,7 +32,7 @@ DEPEND="
ldap? ( net-nds/openldap:= )
ldap-bind? ( net-nds/openldap:=[sasl] )
lmdb? ( >=dev-db/lmdb-0.9.11:= )
- mongodb? ( dev-libs/mongo-c-driver dev-libs/libbson )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.23.0 >=dev-libs/libbson-1.23.0 )
mysql? ( dev-db/mysql-connector-c:0= )
nis? ( net-libs/libnsl:= )
pam? ( sys-libs/pam )
diff --git a/mate-extra/mate-utils/Manifest b/mate-extra/mate-utils/Manifest
index e5fe81a79e58..9e34ebccc993 100644
--- a/mate-extra/mate-utils/Manifest
+++ b/mate-extra/mate-utils/Manifest
@@ -1,3 +1 @@
-DIST mate-utils-1.26.0.tar.xz 7984892 BLAKE2B 9785ecc232f06241bfc389550226d0a099a543c91b9c131e1f2b8998dccd4152c4c056070b10dcd3b98f4d59be87304b999998a10192257aaa682834f6d544e5 SHA512 c8752f6b43a836adc647ec8a9eef4fcea782914994d27ee8491406188da584aa98244d0ba402005beecc293d1b6e50a9ed5339467011e05f301a6b98c2374b91
-DIST mate-utils-1.26.1.tar.xz 8022244 BLAKE2B 73bcaae2fae9c9eafa8a9236d6ce73b46f7d013bad02dd6a9925acd4a698277b20044d45a884108bbdd71093589c090a8293e52e354de0a1c167f71845b2d10c SHA512 b8ec7b510ff872a0427e074ee09824e90ad62fe76ab1dac038ecbe86fd361b15acf57769e58df2c8c9c6acb57d9f1cd0718d178a2a2d1262de1476956d446dd3
DIST mate-utils-1.28.0.tar.xz 7986440 BLAKE2B dadcbeffb35cb31629fdc1f142c5734cd5f3c72eb38b37d699a99ab1d4cc13a0d018ba85a6de743a40fef2ef75fa5f6aad88893d3958e5a894dae9926ab13459 SHA512 bf64e0458bc60ebcda219201bb552239503cfddf576ebfba957d4d73ed69766d003fa7af8df9a271a795c6eb2db268a58a97b4251f9528d261edb98a4e94c72a
diff --git a/mate-extra/mate-utils/mate-utils-1.26.0.ebuild b/mate-extra/mate-utils/mate-utils-1.26.0.ebuild
deleted file mode 100644
index c13a05662b68..000000000000
--- a/mate-extra/mate-utils/mate-utils-1.26.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
-fi
-
-DESCRIPTION="Utilities for the MATE desktop"
-LICENSE="FDL-1.1+ GPL-2+ GPL-3+ LGPL-2+"
-SLOT="0"
-
-IUSE="X applet debug ipv6 nls test udisks"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=dev-libs/glib-2.50:2
- >=gnome-base/libgtop-2.12:2=
- >=media-libs/libcanberra-0.4[gtk3]
- sys-libs/zlib
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/pango
- applet? ( >=mate-base/mate-panel-1.17.0 )
- udisks? ( >=sys-fs/udisks-1.90.0:2 )
-"
-
-RDEPEND="${COMMON_DEPEND}
- mate-base/mate-desktop
- virtual/libintl
-"
-
-BDEPEND="${COMMON_DEPEND}
- app-text/rarian
- >=app-text/scrollkeeper-dtd-1:1.0
- app-text/yelp-tools
- dev-libs/libxml2
- dev-util/glib-utils
- dev-util/gtk-doc
- dev-build/gtk-doc-am
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
-"
-
-src_prepare() {
- # Make apps visible in all DEs.
- LC_ALL=C find . -iname '*.desktop.in*' -exec \
- sed -e '/OnlyShowIn/d' -i {} + || die
-
- mate_src_prepare
-}
-
-src_configure() {
- mate_src_configure \
- --enable-zlib \
- --enable-debug=$(usex debug yes minimum) \
- $(use_with X x) \
- $(use_enable applet gdict-applet) \
- $(use_enable ipv6) \
- $(use_enable nls) \
- $(use_enable udisks disk_image_mounter)
-}
diff --git a/mate-extra/mate-utils/mate-utils-1.26.1.ebuild b/mate-extra/mate-utils/mate-utils-1.26.1.ebuild
deleted file mode 100644
index 1325b07f8579..000000000000
--- a/mate-extra/mate-utils/mate-utils-1.26.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
-fi
-
-DESCRIPTION="Utilities for the MATE desktop"
-LICENSE="FDL-1.1+ GPL-2+ GPL-3+ LGPL-2+"
-SLOT="0"
-
-IUSE="X applet debug ipv6 nls test udisks"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=dev-libs/glib-2.50:2
- >=gnome-base/libgtop-2.12:2=
- >=media-libs/libcanberra-0.4[gtk3]
- sys-libs/zlib
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/pango
- applet? ( >=mate-base/mate-panel-1.17.0 )
- udisks? ( >=sys-fs/udisks-1.90.0:2 )
-"
-
-RDEPEND="${COMMON_DEPEND}
- mate-base/mate-desktop
- virtual/libintl
-"
-
-BDEPEND="${COMMON_DEPEND}
- app-text/rarian
- >=app-text/scrollkeeper-dtd-1:1.0
- app-text/yelp-tools
- dev-libs/libxml2
- dev-util/glib-utils
- dev-util/gtk-doc
- dev-build/gtk-doc-am
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
-"
-
-src_prepare() {
- # Make apps visible in all DEs.
- LC_ALL=C find . -iname '*.desktop.in*' -exec \
- sed -e '/OnlyShowIn/d' -i {} + || die
-
- mate_src_prepare
-}
-
-src_configure() {
- mate_src_configure \
- --enable-zlib \
- --enable-debug=$(usex debug yes minimum) \
- $(use_with X x) \
- $(use_enable applet gdict-applet) \
- $(use_enable ipv6) \
- $(use_enable nls) \
- $(use_enable udisks disk_image_mounter)
-}
diff --git a/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild
new file mode 100644
index 000000000000..d66128a9fbcf
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit guile-single libtool python-single-r1
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
+# Unfortunately upstream uses an "artifact" store for the pre-generated
+# tarball now, which makes predictable URLs impossible.
+SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PV}/${P}.tar.xz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
+
+REQUIRED_USE="
+ !cairo? ( !X !gtk2 !postscript !lasi )
+ guile? ( ${GUILE_REQUIRED_USE} )
+ pdf? ( cairo )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Requires ksh, tests against installed package, missing files and directory
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/expat-2
+ >=dev-libs/glib-2.11.1:2
+ dev-libs/libltdl
+ >=media-libs/freetype-2.1.10
+ >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ virtual/libiconv
+ cairo? (
+ >=x11-libs/cairo-1.1.10[svg(+)]
+ >=x11-libs/pango-1.12
+ )
+ devil? ( media-libs/devil[png,jpeg] )
+ gtk2? (
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ gts? ( sci-libs/gts )
+ guile? ( ${GUILE_DEPS} )
+ lasi? ( media-libs/lasi )
+ pdf? ( app-text/poppler )
+ perl? ( dev-lang/perl:= )
+ postscript? ( app-text/ghostscript-gpl )
+ python? ( ${PYTHON_DEPS} )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ ruby? ( dev-lang/ruby:* )
+ svg? ( gnome-base/librsvg )
+ tcl? ( >=dev-lang/tcl-8.3:= )
+ webp? ( media-libs/libwebp:= )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ doc? (
+ app-text/ghostscript-gpl
+ sys-apps/groff
+ )
+ guile? (
+ dev-lang/swig
+ ${GUILE_DEPS}
+ )
+ nls? ( >=sys-devel/gettext-0.14.5 )
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )"
+
+# Dependency description / Maintainer info:
+
+# Rendering is done via the following plugins (/plugins):
+# - core, dot_layout, neato_layout, gd , dot
+# the ones which are always compiled in, depend on zlib, gd
+# - gtk
+# Directly depends on gtk-2.
+# needs 'pangocairo' enabled in graphviz configuration
+# gtk-2 depends on pango, cairo and libX11 directly.
+# - gdk-pixbuf
+# Directly depends on gtk-2 and gdk-pixbuf.
+# needs 'pangocairo' enabled in graphviz configuration
+# - ming
+# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
+# incomplete.
+# - cairo/pango:
+# Needs pango for text layout, uses cairo methods to draw stuff
+# - xlib:
+# needs cairo+pango,
+# can make use of gnomeui and inotify support (??? unsure),
+# needs libXaw for UI
+# UI also links directly against libX11, libXmu, and libXt
+# and uses libXpm if available so we make sure it always is
+
+# There can be swig-generated bindings for the following languages (/tclpkg/gv):
+# - c-sharp (disabled)
+# - scheme (enabled via guile) ... no longer broken on ~x86
+# - go (disabled)
+# - io (disabled)
+# - lua (enabled via lua)
+# - ocaml (enabled via ocaml)
+# - perl (enabled via perl) *1
+# - php (enabled via php) *2
+# - python (enabled via python) *1
+# - ruby (enabled via ruby) *1
+# - tcl (enabled via tcl)
+# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
+# *2 = Those bindings don't build because the paths for the headers/libs aren't
+# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
+
+# There are several other tools in /tclpkg:
+# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
+# tkspline, tkstubs ; enabled with: --with-tk
+
+# And the commands (/cmd):
+# - dot, gvedit, gvpr, smyrna, tools/* :)
+# sci-libs/gts can be used for some of these
+# - gvedit (via 'qt5'):
+# based on ./configure it needs qt-core and qt-gui only
+# - smyrna : experimental opengl front-end (via 'smyrna')
+# currently disabled -- it segfaults a lot
+# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
+# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
+# with flags enabled at configure time
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if use guile; then
+ guile-single_src_prepare
+ else
+ default
+ fi
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=(
+ # Speeds up the libltdl configure
+ --cache-file="${S}"/config.cache
+ --enable-ltdl
+ $(use_enable doc man-pdfs)
+ $(use_with cairo pangocairo)
+ $(use_with examples demos '$(docdir)/examples')
+ $(use_with devil)
+ $(use_with gtk2 gdk)
+ $(use_with gtk2 gdk-pixbuf)
+ $(use_with gtk2)
+ $(use_with gts)
+ $(use_with qt5 qt)
+ $(use_with lasi)
+ $(use_with pdf poppler)
+ $(use_with postscript ghostscript)
+ $(use_with svg rsvg)
+ $(use_with webp)
+ $(use_with X x)
+ --with-digcola
+ --with-freetype2
+ --with-ipsepcola
+ --with-libgd
+ --with-sfdp
+ --without-ming
+ # New/experimental features, to be tested, disable for now
+ --without-ipsepcola
+ --without-smyrna
+ # Bindings
+ $(use_enable guile)
+ $(use_enable perl)
+ $(use_enable python python3)
+ $(use_enable ruby)
+ $(use_enable tcl)
+ --disable-go
+ --disable-lua
+ --disable-java
+ --disable-ocaml
+ --disable-php
+ --disable-python
+ --disable-r
+ --disable-sharp
+ # libtool file collision, bug #276609
+ --without-included-ltdl
+ --disable-ltdl-install
+ QMAKE=$(usev qt5 qmake5)
+ )
+ # XXX: Temporary bash for bug #926600. It's been reverted upstream
+ # on master already:
+ # https://gitlab.com/graphviz/graphviz/-/merge_requests/3636
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ use guile && guile_unstrip_ccache
+
+ use python && python_optimize \
+ "${D}"$(python_get_sitedir) \
+ "${ED}"/usr/$(get_libdir)/graphviz/python3
+}
+
+pkg_postinst() {
+ # We need to register all plugins before they become usable
+ dot -c || die
+}
+
+pkg_postrm() {
+ # Remove cruft, bug #547344
+ rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
+}
diff --git a/media-gfx/hugin/hugin-9999.ebuild b/media-gfx/hugin/hugin-9999.ebuild
index aec868af9672..db8dffa1c308 100644
--- a/media-gfx/hugin/hugin-9999.ebuild
+++ b/media-gfx/hugin/hugin-9999.ebuild
@@ -1,10 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
WX_GTK_VER="3.2-gtk3"
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit mercurial python-single-r1 wxwidgets cmake xdg
@@ -14,6 +14,8 @@ SRC_URI=""
EHG_REPO_URI="http://hg.code.sf.net/p/hugin/hugin"
EHG_PROJECT="${PN}-${PN}"
+S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
+
LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2"
SLOT="0"
KEYWORDS=""
@@ -56,8 +58,6 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DOCS=( authors.txt README TODO )
-S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
-
pkg_setup() {
use python && python-single-r1_pkg_setup
setup-wxwidgets
@@ -71,10 +71,6 @@ src_configure() {
local mycmakeargs=(
-DBUILD_HSI=$(usex python)
-DENABLE_LAPACK=$(usex lapack)
- # Temporary workaround for bug #833443. Can be dropped when
- # we switch to wxgtk-3.2, but complications for that remain
- # w/ egl+wayland.
- -DUSE_GDKBACKEND_X11=on
)
cmake_src_configure
}
diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild
index 4f98c56730e6..93e003b07367 100644
--- a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild
+++ b/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kgraphviewer/"
LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE=""
RDEPEND="
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index 1d0a10b8a015..a1d14e59d466 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1 +1,2 @@
DIST prusaslicer-2.8.0.tar.gz 69806919 BLAKE2B b87c63ae411814dbffc8ae96c243bf06018d600db732ef32f7c766ce6bdf156b0aca6da90868482f39b9c6421c6a386bccc9f69e23218dadc07f1bcdb21b9793 SHA512 d98b43e9e1a6da9cbab46b2564da02fc0f8521d84a4df915d0ffd0878ee1a25afebe7078e38b124ec8565782379c51a7f9564462652ef1a7d9819d29297c1937
+DIST prusaslicer-2.8.1.tar.gz 69409077 BLAKE2B dd3ee810ea00d03f1790386d1fe1fd044c038429700cd33f21299abdf5def12902f7a07c23aa3d2a6cfc5e18d1e2534080889d4a33beefb493a504978a742453 SHA512 0471fa579a494d66e6b49c0bc1a9fa91f3a5f9147d8b7fa8133c6f03391f8daddddb19ed222d1be44f6f22e2de3021f3fb839331e3c3ccdf5643caa8a61d6912
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch
index b4a92de67ab6..f550c53d3f42 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch
@@ -11,7 +11,7 @@
--- a/src/slic3r/GUI/PresetArchiveDatabase.cpp
+++ b/src/slic3r/GUI/PresetArchiveDatabase.cpp
-@@ -514,7 +514,7 @@ void PresetArchiveDatabase::load_app_manifest_json()
+@@ -515,7 +515,7 @@ void PresetArchiveDatabase::load_app_manifest_json()
if (!fs::exists(path, ec) || ec) {
copy_initial_manifest();
}
@@ -20,7 +20,7 @@
std::string data;
if (file.is_open()) {
std::string line;
-@@ -681,7 +681,7 @@ void PresetArchiveDatabase::save_app_manifest_json() const
+@@ -682,7 +682,7 @@ void PresetArchiveDatabase::save_app_manifest_json() const
data += "]";
std::string path = get_stored_manifest_path().string();
@@ -29,16 +29,9 @@
if (file.is_open()) {
file << data;
file.close();
-@@ -916,4 +916,4 @@ void PresetArchiveDatabase::sync_blocking()
- read_server_manifest(std::move(manifest));
- }
-
--}} // Slic3r::GUI
-\ No newline at end of file
-+}} // Slic3r::GUI
--- a/src/slic3r/Utils/Http.cpp
+++ b/src/slic3r/Utils/Http.cpp
-@@ -301,7 +301,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha
+@@ -302,7 +302,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha
//FIXME may throw! Is the caller aware of it?
void Http::priv::set_post_body(const fs::path &path)
{
diff --git a/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild
new file mode 100644
index 000000000000..fbf13e9d7d66
--- /dev/null
+++ b/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+MY_PN="PrusaSlicer"
+MY_PV="$(ver_rs 3 -)"
+
+inherit cmake wxwidgets xdg
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/prusa3d/prusaslicer.git"
+else
+ SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+fi
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-cpp/tbb:=
+ dev-libs/boost:=[nls]
+ dev-libs/cereal
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ media-gfx/openvdb:=
+ media-gfx/libbgcode
+ net-misc/curl[adns]
+ media-libs/glew:0=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:0=
+ media-libs/qhull:=
+ sci-libs/libigl
+ sci-libs/nlopt
+ sci-libs/opencascade:=
+ sci-mathematics/cgal:=
+ sys-apps/dbus
+ sys-libs/zlib:=
+ virtual/opengl
+ x11-libs/gtk+:3
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
+ media-libs/nanosvg:=
+"
+DEPEND="${RDEPEND}
+ media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.8.0-wxwidgets-3.2.4.patch"
+ "${FILESDIR}/${PN}-2.8.1-fixed-linking.patch"
+ "${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
+ "${FILESDIR}/${PN}-2.8.1-fstream.patch"
+)
+
+src_prepare() {
+ if has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/prusaslicer-2.8.1-opencascade-7.8.0.patch"
+ fi
+
+ sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
+
+ sed -i -e 's/find_package(OpenCASCADE 7.6.[0-9] REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
+ src/occt_wrapper/CMakeLists.txt || die
+
+ find . -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) -exec \
+ sed -i 's|#include <Eigen/|#include <eigen3/Eigen/|g; s|#include <unsupported/Eigen/|#include <eigen3/unsupported/Eigen/|g' {} + || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+
+ setup-wxwidgets
+
+ local mycmakeargs=(
+ -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
+
+ -DSLIC3R_BUILD_TESTS=$(usex test)
+ -DSLIC3R_FHS=ON
+ -DSLIC3R_GTK=3
+ -DSLIC3R_GUI=ON
+ -DSLIC3R_PCH=OFF
+ -DSLIC3R_STATIC=OFF
+ -DSLIC3R_WX_STABLE=ON
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
diff --git a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
index 93db0a4e76b5..70070d39e784 100644
--- a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
+++ b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="Old-MIT ISC icu"
diff --git a/media-libs/imlib2/imlib2-1.12.3.ebuild b/media-libs/imlib2/imlib2-1.12.3.ebuild
index 1426103e8d53..9519e8e06cee 100644
--- a/media-libs/imlib2/imlib2-1.12.3.ebuild
+++ b/media-libs/imlib2/imlib2-1.12.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://downloads.sourceforge.net/enlightenment/${P}.tar.xz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+X apidoc bzip2 cpu_flags_x86_mmx cpu_flags_x86_sse2 debug
eps +filters +gif +jpeg jpeg2k jpegxl heif lzma mp3 packing +png
raw +shm static-libs svg +text +tiff +webp zlib"
diff --git a/media-libs/libpng/Manifest b/media-libs/libpng/Manifest
index 94f9732bfc63..17ef60db1f6d 100644
--- a/media-libs/libpng/Manifest
+++ b/media-libs/libpng/Manifest
@@ -4,3 +4,5 @@ DIST libpng-1.6.40.tar.xz 1021332 BLAKE2B 4dd2df57791ca68cc31ba966b9176ecb374585
DIST libpng-1.6.42.tar.xz 1035484 BLAKE2B 8a8895b673ff90416a00c9ff775d7bdc38ab1ab0d83fd6e70cfffea2ed78bd42896950a64bf48ad9a00ea50d8c5d5702975b0bae7bb3300d4de4c82b334e513e SHA512 a9e8641f79ebc811e8e1e94c4966737f8d0f3aef33c86834c419ca76050567891c065899c3bc0c945c59b5d50c5ff7d693cc51089d06efe92e71ae8014fa157c
DIST libpng-1.6.43-apng-apng.patch.gz 10333 BLAKE2B 11bc92064e52f8a045b9d2a7158808471faf3e94b08dceae6aa5cfef635731ef3740e69b27118b9a5b2f2d3b810f108b8c30192388c569de1371f34a5f49f592 SHA512 3a3320c682fe8a575e76e9ede0a2d2d62533cbb206b428bfdf2729c649aaf3061b21e55c1d8848d474e40615b4e9870d49927b14de237777135524f904bac36c
DIST libpng-1.6.43.tar.xz 1044076 BLAKE2B e8781001f001e6f514ca01ceafc51557e6cdedcbed3aa64df213d02635eec937cac4ccc0f34b636f582a7d141b67ec6c8d90a6ffb15c679ab0c3f4f8798be791 SHA512 c95d661fed548708ce7de5d80621a432272bdfe991f0d4db3695036e5fafb8a717b4e4314991bdd3227d7aa07f8c6afb6037c57fa0fe3349334a0b6c58268487
+DIST libpng-1.6.44-apng-apng.patch.gz 10336 BLAKE2B 3c78cadd08b48466eee7c271ec82649dab55f28977622128c78764257a3f53e3255ddb1d728f10cb457b4db314566fe54b7edc88ab68b3dd1a8310bda500ab4f SHA512 5b8502abd3fad84772136a9eea53a918f806ef7035fe6df5d2b631a5279f298b9f125922d5aab7306e7c7aa1445ac9e36072e22fab4005d20662232078187f3c
+DIST libpng-1.6.44.tar.xz 1045640 BLAKE2B 61064dd83f40a7e2e60ff723a568b7d0cda95aa80621a211aee7127b9783fbfc20cd82a2fe2d03584cbf9ab77c5444e3e008ac5ccc7f64af6e858ebcbcb78822 SHA512 bbd3e5e68d8b6fe3d85e59ca0babe8b522c19cac4b6ce0fcf21516cda7120b642be611eb1eaa565b7eabbacd22606593619aabd227b43a36f1efc707e7e11851
diff --git a/media-libs/libpng/libpng-1.6.44.ebuild b/media-libs/libpng/libpng-1.6.44.ebuild
new file mode 100644
index 000000000000..2cf06113dcc7
--- /dev/null
+++ b/media-libs/libpng/libpng-1.6.44.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal
+
+APNG_REPO=apng # sometimes libpng-apng is more up to date
+APNG_VERSION="1.6.44"
+DESCRIPTION="Portable Network Graphics library"
+HOMEPAGE="http://www.libpng.org/"
+SRC_URI="
+ https://downloads.sourceforge.net/${PN}/${P}.tar.xz
+ apng? (
+ https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz
+ https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz
+ )
+"
+
+LICENSE="libpng2"
+SLOT="0/16"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="apng cpu_flags_arm_neon cpu_flags_x86_sse static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO )
+
+src_prepare() {
+ default
+
+ if use apng; then
+ case ${APNG_REPO} in
+ apng)
+ eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch
+ ;;
+ libpng-apng)
+ eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch
+ ;;
+ *)
+ die "Unknown APNG_REPO!"
+ ;;
+ esac
+
+ # Don't execute symbols check with apng patch, bug #378111
+ sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die
+ fi
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_enable tools)
+ $(use_enable test tests)
+ $(use_enable cpu_flags_arm_neon arm-neon)
+ $(use_enable cpu_flags_x86_sse intel-sse)
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+
+ find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die
+}
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 260a93bec71f..fae3ee3c13a8 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -1,13 +1,5 @@
-DIST mesa-24.0.9.tar.xz 20197892 BLAKE2B 3c68e544898031fe76a57ea754f46ede5b105c259d13dd484eaa63fe51b7d52cf76a4084529b11a586c4d8d06f4cb32f993fd1ea4e6ccc4cbc91e78fe755743a SHA512 de2ee6c9df1fc106ee10befe0a76be1e9cfe83d65dbdb83bad6d8d7cfaa085232fb115293a1a790b37b50b1fe14bd58aafbcfe5a15e953b5901a7105d57569a5
-DIST mesa-24.1.3.tar.xz 29086488 BLAKE2B 2e8e4ee98f904aa02f304a6c3cbbb81d04802203e270e6b8ad2b7a62b334ac28f5e91687d7a92501f66b0043255a533d024537ff5ef3f2f03d986e46a7272eeb SHA512 db4071ac80747397023762d6e0355b001f4e942cdc706c67f8aced80e162058667c02a0dc0804a45afc2656cb65d8b16e17148bc03f0a1692067ec170f193c1a
-DIST mesa-24.1.4.tar.xz 29106920 BLAKE2B 2109fc604858a0927271d7b1edb76a24514acac6117e564c6999c99f068624964f5cf0b7d022cac5726e432353a32a5278b3aa00b64dd4118bb2f0b7123c3b41 SHA512 0293f1493685888e5d2f0e616645c937e5a9c348fcb654b050b7c42bfdade1518c508920e456cf8be0033dceab4570a916db87dbb454174e425d91e9c05d0748
-DIST mesa-24.1.5.tar.xz 29140156 BLAKE2B ea29b3b8b6f178dd21d7ee3042ea829755e398f8876dfac6c744de77c08d85abb2736add2141204e6d3343de46040f49d96e1ad455714880b4be46d7b36581f1 SHA512 5916cc38c4a17161b012310c473077177887c5fff1bc5cb1f6efdf5da44878c18c99fe0c62318d897798cd4edb0f7206a989198ba085c2d402d49cdd0ee25288
-DIST mesa-24.1.6.tar.xz 29172600 BLAKE2B 295634438e1a2ae64bd1c5b0309a253e72a4d95e559cabad72f94aa2b91e5b05179c69cce5e371b69707419399dae0bfe808cb16b2e9ee112277e18b8f0f31f9 SHA512 2df0c78126f34a9ab7ce4946ed9fcd58d828717ecfd93681d9e136e605e9a8e01428dd632c0125e06d805498ffd75250f0e617f47fbb7e6368e6c8a48f4c4dfc
DIST mesa-24.1.7.tar.xz 29206724 BLAKE2B b3102fcf96c032d07826186c2d60dc93e5c17b26f725c20cf1e402d1cfbaaba9809bff7a04d3df0179d2ec8606bc9fb391761d17a148671b9270cf2aaca0324d SHA512 890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01
-DIST mesa-24.2.0-rc4.tar.xz 29324360 BLAKE2B da26f43fa3e940a406e4987ed311fd22fc7608d4e09fc6cfd6584fe8873b8c5fdbf51d5f32042c46a883739cd22204a3dde2a0a1d6283c3453bc635bfba24ed5 SHA512 5a0b9043e8c3222faeaad31f435f3ea440d670ffa5497340c5809666a857fa4c77288745d52372a2267e9f9be97fc04e0d20b81bc027c1b7a33176a3bfa6b3c6
-DIST mesa-24.2.0.tar.xz 29342732 BLAKE2B dfbd0e5b8de3db475f40a8313ee3013bb513d505541e056efd84aad50d5043414dd2c0b95e6c7336a1b4d29037274dae2fa1fdb9697187bf239a5adb54dd3721 SHA512 a585c788801b5a341d356e44d958b148e6e14f6b3d7224e99a92faa2f004bf0cfc90103c5fdc651afb22f805c6f9dc594f9f3f5ecebcea36f6305b3a6ccb9294
-DIST mesa-24.2.1.tar.xz 29431192 BLAKE2B f4ef9fd08bbf16551498a8edce1e19e594a0b85ee1f05f8f7c80fcf12ec7ac4cb5947b713791f5202201f8cfc48773507d869dbd239e6fc3dcf2c3a621892327 SHA512 3b77e5faec51b67583131123b0cc010b52325ea308e4075323102aa999d9c9fbb65b873eb537ed4f577b5a0811e7f096e7e101510cb50326ea5c439b4b468380
-DIST mesa-24.2.2.tar.xz 29441876 BLAKE2B 14b29989b056c3bc76cb64babef6e93dd31af37ea72674adaad3f7ef7373c004996e375941662b1c3bbacfd707a21e2e3631a116a841130edfa1bfe3450ae5ab SHA512 d9979f7a1ae7bfeb0658d1b6c9021b7d0043c3ca71db9deaa2fc8a3d4c07cd58497b9233737a31fb66ef711a369a859757a63fb86c2aadd859867f9a4eaf16a9
+DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca989296a070deaa46aeb72298eaca6a3fa9d13574859623cec4a6af978f44d2c9562b9757be2257364c27600be6 SHA512 7a1ace23568d1907b778a2859f97c8988a414ba74e02e1fb5af6f95f768e1b1a2dfdaf412b0d655678ed915d28273953fd1236ebcd87553a1880f1a7f3ea4d44
DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
diff --git a/media-libs/mesa/files/24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch b/media-libs/mesa/files/24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch
deleted file mode 100644
index 437954a0960d..000000000000
--- a/media-libs/mesa/files/24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://bugs.gentoo.org/927636
-
-From 5957778c164bbe95411837f2fd80ad0001b6b7ec Mon Sep 17 00:00:00 2001
-From: Jesse Natalie <jenatali@microsoft.com>
-Date: Fri, 22 Mar 2024 09:15:23 -0700
-Subject: [PATCH] dzn: Include vulkan_core.h instead of vulkan.h in the device
- enum header
-
-Prevents pulling in X11 "None" define into the DXCore implementation,
-which conflicts with updated DXCore headers.
-
-Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10803
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
----
- src/microsoft/vulkan/dzn_physical_device_enum.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/microsoft/vulkan/dzn_physical_device_enum.h b/src/microsoft/vulkan/dzn_physical_device_enum.h
-index 7ecc5d34630..4aec1c2b7c1 100644
---- a/src/microsoft/vulkan/dzn_physical_device_enum.h
-+++ b/src/microsoft/vulkan/dzn_physical_device_enum.h
-@@ -24,7 +24,7 @@
- #ifndef DZN_PHYSICAL_DEVICE_ENUM_H
- #define DZN_PHYSICAL_DEVICE_ENUM_H
-
--#include <vulkan/vulkan.h>
-+#include <vulkan/vulkan_core.h>
-
- #include <wsl/winadapter.h>
-
---
diff --git a/media-libs/mesa/mesa-24.0.9.ebuild b/media-libs/mesa/mesa-24.0.9.ebuild
deleted file mode 100644
index 8862c9e68d83..000000000000
--- a/media-libs/mesa/mesa-24.0.9.ebuild
+++ /dev/null
@@ -1,438 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..17} )
-LLVM_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info toolchain-funcs
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- vdpau? ( X )
- xa? ( X )
- X? ( gles1? ( opengl ) gles2? ( opengl ) )
- zink? ( vulkan || ( opengl gles1 gles2 ) )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.4:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.611.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.30 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- >=dev-build/meson-1.3.1
- )
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- ")
- vulkan? (
- dev-util/glslang
- llvm? (
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- )
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-PATCHES=(
- "${FILESDIR}"/24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- emesonargs+=(-Dintel-clc=system)
- else
- emesonargs+=(-Dintel-clc=disabled)
- fi
-
- if use opengl || use gles1 || use gles2; then
- emesonargs+=(
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- )
- else
- emesonargs+=(
- -Degl=disabled
- -Dgbm=disabled
- -Dglvnd=false
- )
- fi
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Dbuildtype=$(usex debug debug plain)
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.1.3.ebuild b/media-libs/mesa/mesa-24.1.3.ebuild
deleted file mode 100644
index 21a8ac3b80e2..000000000000
--- a/media-libs/mesa/mesa-24.1.3.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.39
- proc-macro2@1.0.70
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # swrast
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.1.4.ebuild b/media-libs/mesa/mesa-24.1.4.ebuild
deleted file mode 100644
index ecfc5c2c1b39..000000000000
--- a/media-libs/mesa/mesa-24.1.4.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.39
- proc-macro2@1.0.70
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # swrast
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.1.5.ebuild b/media-libs/mesa/mesa-24.1.5.ebuild
deleted file mode 100644
index ecfc5c2c1b39..000000000000
--- a/media-libs/mesa/mesa-24.1.5.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.39
- proc-macro2@1.0.70
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # swrast
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.1.6.ebuild b/media-libs/mesa/mesa-24.1.6.ebuild
deleted file mode 100644
index 1c30c12f9f74..000000000000
--- a/media-libs/mesa/mesa-24.1.6.ebuild
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.39
- proc-macro2@1.0.70
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # swrast
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.1.7.ebuild b/media-libs/mesa/mesa-24.1.7.ebuild
index ecfc5c2c1b39..21a8ac3b80e2 100644
--- a/media-libs/mesa/mesa-24.1.7.ebuild
+++ b/media-libs/mesa/mesa-24.1.7.ebuild
@@ -32,7 +32,7 @@ else
SRC_URI="
https://archive.mesa3d.org/${MY_P}.tar.xz
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
fi
# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
diff --git a/media-libs/mesa/mesa-24.2.0_rc4.ebuild b/media-libs/mesa/mesa-24.2.0_rc4.ebuild
deleted file mode 100644
index 8e909b9f1bf8..000000000000
--- a/media-libs/mesa/mesa-24.2.0_rc4.ebuild
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.39
- proc-macro2@1.0.70
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS}
- d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
- vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # svga
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- gallium_enable !llvm softpipe
- gallium_enable llvm llvmpipe
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.2.1.ebuild b/media-libs/mesa/mesa-24.2.1.ebuild
deleted file mode 100644
index f6e781d20e57..000000000000
--- a/media-libs/mesa/mesa-24.2.1.ebuild
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.68
- proc-macro2@1.0.86
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS}
- d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
- vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # svga
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- gallium_enable !llvm softpipe
- gallium_enable llvm llvmpipe
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.2.2.ebuild b/media-libs/mesa/mesa-24.2.2.ebuild
deleted file mode 100644
index f6e781d20e57..000000000000
--- a/media-libs/mesa/mesa-24.2.2.ebuild
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-LLVM_OPTIONAL=1
-CARGO_OPTIONAL=1
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
-
-MY_P="${P/_/-}"
-
-CRATES="
- syn@2.0.68
- proc-macro2@1.0.86
- quote@1.0.33
- unicode-ident@1.0.12
- paste@1.0.14
-"
-
-inherit cargo
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
- inherit git-r3
-else
- SRC_URI="
- https://archive.mesa3d.org/${MY_P}.tar.xz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
-# but there are "stale" distfiles on the mirrors with the wrong names.
-# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS}
- d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
- vivante vmware zink"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug +llvm
- lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa +zstd"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_freedreno
- video_cards_intel
- video_cards_nouveau
- video_cards_panfrost
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_vmware
- video_cards_zink
- )
- )
- llvm? ( ${LLVM_REQUIRED_USE} )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_zink? ( vulkan opengl )
- video_cards_nvk? ( vulkan video_cards_nouveau )
- vdpau? ( X )
- xa? ( X )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- $(llvm_gen_dep "
- sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- opencl? (
- dev-util/spirv-llvm-translator:\${LLVM_SLOT}
- sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
- )
- ")
- video_cards_r600? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- video_cards_radeon? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- )
- lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
- opencl? (
- >=virtual/opencl-3
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
- video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
- video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
- )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
- valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- >=dev-build/meson-1.4.1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- $(python_gen_any_dep "
- >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
- dev-python/packaging[\${PYTHON_USEDEP}]
- dev-python/pyyaml[\${PYTHON_USEDEP}]
- ")
- video_cards_intel? (
- ~dev-util/intel_clc-${PV}
- dev-libs/libclc[spirv(-)]
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- vulkan? (
- dev-util/glslang
- video_cards_nvk? (
- >=dev-util/bindgen-0.68.1
- >=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${MY_P}.tar.xz
- fi
-
- # We need this because we cannot tell meson to use DISTDIR yet
- pushd "${DISTDIR}" >/dev/null || die
- mkdir -p "${S}"/subprojects/packagecache || die
- local i
- for i in *.crate; do
- ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
- done
- popd >/dev/null || die
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_lavapipe &&
- ! use video_cards_nouveau &&
- ! use video_cards_nvk &&
- ! use video_cards_panfrost &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
- fi
- fi
-
- # VA
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_nouveau &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_virgl; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
- if use llvm && use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
- ewarn "detected! This can cause problems. For details, see bug 459306."
- fi
-
- if use video_cards_intel ||
- use video_cards_radeonsi; then
- if kernel_is -ge 5 11 3; then
- CONFIG_CHECK="~KCMP"
- elif kernel_is -ge 5 11; then
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- elif kernel_is -ge 5 10 20; then
- CONFIG_CHECK="~KCMP"
- else
- CONFIG_CHECK="~CHECKPOINT_RESTORE"
- fi
- linux-info_pkg_setup
- fi
-
- use llvm && llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- bin/symbols-check.py || die # bug #830728
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
- tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_freedreno ||
- use video_cards_intel || # crocus i915 iris
- use video_cards_nouveau ||
- use video_cards_panfrost ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_vmware || # svga
- use video_cards_zink; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vaapi gallium-va))
- use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
- else
- emesonargs+=(-Dgallium-va=disabled)
- fi
-
- if use video_cards_d3d12; then
- emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_nouveau ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_virgl; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_intel ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- gallium_enable !llvm softpipe
- gallium_enable llvm llvmpipe
- gallium_enable video_cards_d3d12 d3d12
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_panfrost panfrost
- gallium_enable video_cards_v3d v3d
- gallium_enable video_cards_vc4 vc4
- gallium_enable video_cards_virgl virgl
- gallium_enable video_cards_vivante etnaviv
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_zink zink
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 &&
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
-
- if use llvm && use opencl; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
- emesonargs+=(
- $(meson_native_true gallium-rusticl)
- -Drust_std=2021
- )
- fi
-
- if use vulkan; then
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_lavapipe swrast
- vulkan_enable video_cards_panfrost panfrost
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- vulkan_enable video_cards_vc4 broadcom
- vulkan_enable video_cards_virgl virtio
- if use video_cards_nvk; then
- vulkan_enable video_cards_nvk nouveau
- if ! multilib_is_native_abi; then
- echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
- emesonargs+=(
- --native-file "${T}"/rust_fix.ini
- )
- fi
- fi
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use opengl && use X; then
- emesonargs+=(-Dglx=dri)
- else
- emesonargs+=(-Dglx=disabled)
- fi
-
- if [[ "${ABI}" == amd64 ]]; then
- emesonargs+=($(meson_feature video_cards_intel intel-rt))
- fi
-
- use debug && EMESON_BUILDTYPE=debug
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Dexpat=enabled
- $(meson_use opengl)
- $(meson_feature opengl gbm)
- $(meson_feature opengl gles1)
- $(meson_feature opengl gles2)
- $(meson_feature opengl glvnd)
- $(meson_feature opengl egl)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dintel-clc=$(usex video_cards_intel system auto)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- -Db_ndebug=$(usex debug false true)
- )
- meson_src_configure
-
- if ! multilib_is_native_abi && use video_cards_nvk; then
- sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
- fi
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-gallium_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- GALLIUM_DRIVERS+=("$@")
- fi
-}
-
-vulkan_enable() {
- if [[ $1 == -- ]] || use $1; then
- shift
- VULKAN_DRIVERS+=("$@")
- fi
-}
diff --git a/media-libs/mesa/mesa-24.2.0.ebuild b/media-libs/mesa/mesa-24.2.3.ebuild
index f6e781d20e57..f6e781d20e57 100644
--- a/media-libs/mesa/mesa-24.2.0.ebuild
+++ b/media-libs/mesa/mesa-24.2.3.ebuild
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index 459ad451374c..7751dc5a1a80 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -7,7 +7,6 @@
</maintainer>
<use>
<flag name="d3d9">Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine.</flag>
- <flag name="gles1">Enable GLESv1 support.</flag>
<flag name="llvm">Enable LLVM backend for Gallium3D.</flag>
<flag name="lm-sensors">Enable Gallium HUD lm-sensors support.</flag>
<flag name="opencl">Enable the Rusticl Gallium OpenCL state tracker.</flag>
@@ -17,7 +16,6 @@
<flag name="vulkan-overlay">Build vulkan-overlay-layer which displays Frames Per Second and other statistics</flag>
<flag name="wayland">Enable support for <pkg>dev-libs/wayland</pkg></flag>
<flag name="xa">Enable the XA (X Acceleration) API for Gallium3D.</flag>
- <flag name="zink">Enable the Zink OpenGL-over-Vulkan Gallium driver</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:mesa3d:mesa</remote-id>
diff --git a/media-plugins/imlib2_loaders/imlib2_loaders-1.12.3.ebuild b/media-plugins/imlib2_loaders/imlib2_loaders-1.12.3.ebuild
index d2f84bfedf65..f6322646e0e9 100644
--- a/media-plugins/imlib2_loaders/imlib2_loaders-1.12.3.ebuild
+++ b/media-plugins/imlib2_loaders/imlib2_loaders-1.12.3.ebuild
@@ -10,7 +10,7 @@ SRC_URI="https://downloads.sourceforge.net/enlightenment/${P}.tar.xz"
LICENSE="|| ( BSD GPL-2 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+KEYWORDS="amd64 arm ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
IUSE="xcf"
RDEPEND=">=media-libs/imlib2-${PV}"
diff --git a/media-sound/denemo/denemo-2.6.0-r100.ebuild b/media-sound/denemo/denemo-2.6.0-r100.ebuild
new file mode 100644
index 000000000000..5b89d259294e
--- /dev/null
+++ b/media-sound/denemo/denemo-2.6.0-r100.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 )
+inherit autotools font guile-single xdg
+
+DESCRIPTION="A music notation editor"
+HOMEPAGE="http://www.denemo.org/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# configure options currently not used:
+# --enable-mem(no) memory debugging: needs Electric fence (efence), which
+# is not available in portage. See https://github.com/boundarydevices/efence
+# --enable-gtk-doc-pdf(no) doesn't work
+# fluidsynth currently broken. See https://savannah.gnu.org/bugs/index.php?62202
+IUSE="alsa +aubio debug jack gtk-doc nls +portaudio +portmidi
+ +rubberband test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ >=app-text/evince-3.22.1-r1:=
+ dev-libs/glib:2
+ dev-libs/libxml2:2
+ gnome-base/librsvg:2
+ media-libs/fontconfig:1.0
+ >=media-libs/libsmf-1.3
+ >=media-libs/libsndfile-1.0.28-r1
+ >=media-sound/fluidsynth-1.1.6-r1:=
+ >=media-sound/lilypond-2.24.4-r100
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/gtksourceview:3.0=
+ x11-libs/pango
+ alsa? ( >=media-libs/alsa-lib-1.1.2 )
+ aubio? ( >=media-libs/aubio-0.4.1-r1:= )
+ jack? ( virtual/jack )
+ portaudio? (
+ >=media-libs/portaudio-19_pre20140130
+ sci-libs/fftw:3.0=
+ )
+ portmidi? ( media-libs/portmidi )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-build/gtk-doc-am-1.25-r1
+ >=dev-util/intltool-0.51.0-r1
+ app-alternatives/lex
+ virtual/pkgconfig
+ app-alternatives/yacc
+ gtk-doc? ( >=dev-util/gtk-doc-1.25-r1 )
+ nls? ( >=sys-devel/gettext-0.19.8.1 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.6.0-respect-user-CFLAGS.patch
+ "${FILESDIR}"/${PN}-2.6.0-fix-c99.patch
+ "${FILESDIR}"/${PN}-2.6.0-incompatible-pointers.patch
+)
+DOCS=( AUTHORS ChangeLog docs/{DESIGN{,.lilypond},GOALS,TODO} NEWS )
+
+src_prepare() {
+ sed -e '/^Categories=/s/GNOME\;/GNOME\;GTK\;/' -i pixmaps/org.denemo.Denemo.desktop || die
+ sed -e 's|appdatadir = \$(datarootdir)/appdata|appdatadir = \$(datarootdir)/metainfo|' \
+ -i Makefile.am || die
+ guile-single_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ myeconfargs=(
+ --disable-gtk-doc-pdf
+ --disable-gtk2
+ --disable-installed-tests
+ --disable-mem
+ --disable-rpath
+ --disable-static
+ --enable-evince
+ --enable-fluidsynth
+ --enable-gtk3
+ --enable-x11
+ $(use_enable alsa)
+ $(use_enable aubio)
+ $(use_enable debug)
+ # --enable-doc does nothing for itself
+ # basic html documentation is always being installed in the
+ # /usr/share/denemo/manual directory
+ $(use_enable gtk-doc doc)
+ $(use_enable gtk-doc gtk-doc)
+ $(use_enable gtk-doc gtk-doc-html)
+ $(use_enable jack)
+ $(use_enable nls)
+ $(use_enable portaudio)
+ $(use_enable portmidi)
+ $(use_enable rubberband)
+ $(use_enable test always-build-tests)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # make check fails if used with parallel builds
+ emake -j1 check
+}
+
+src_install() {
+ guile-single_src_install
+
+ # link html documentation installed in /usr/share/denemo/manual
+ dodir /usr/share/doc/${PF}/html
+ local f
+ for f in denemo-manual.html denemo.css images; do
+ dosym -r /usr/share/denemo/manual/"${f}" /usr/share/doc/${PF}/html/"${f}"
+ done
+}
+
+pkg_postinst() {
+ font_pkg_postinst
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ font_pkg_postrm
+ xdg_desktop_database_update
+}
diff --git a/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch b/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch
new file mode 100644
index 000000000000..8d1c30c895f2
--- /dev/null
+++ b/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/927336
+https://savannah.gnu.org/bugs/?63720
+
+From 509906e7cc4669b525cbcb05022e7e10c6663627 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <npopov@redhat.com>
+Date: Fri, 27 Jan 2023 12:13:10 +0100
+Subject: [PATCH] Fix C99 support in sffile.c
+
+This fixes one -Wimplicit-function-declaration and one
+-Wimplicit-int warning, which will become errors in future
+compiler versions.
+
+Related to:
+
+ <https://fedoraproject.org/wiki/Changes/PortingToModernC>
+ <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
+--- a/libs/libsffile/sffile.c
++++ b/libs/libsffile/sffile.c
+@@ -20,6 +20,7 @@
+ *================================================================*/
+ //Interface to Denemo License: FSF GPL version 3 or later
+
++#include <ctype.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -51,7 +52,7 @@ static void ConvertIllegalChar(char *name){
+ int ParseSoundfont(char *soundfont, int index, char **name, int *preset, int *bank) {
+ FILE *fp;
+ static SFInfo sf;
+- static initialized = FALSE;
++ static int initialized = FALSE;
+ int i;
+ int number = 0;
+ if(soundfont) {
+--
+2.39.1
+
diff --git a/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch b/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch
new file mode 100644
index 000000000000..28274e810eb9
--- /dev/null
+++ b/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch
@@ -0,0 +1,36 @@
+diff --git a/src/source/proof.c b/src/source/proof.c
+index f9a02bf0e..3b8f5fc82 100644
+--- a/src/source/proof.c
++++ b/src/source/proof.c
+@@ -280,7 +280,7 @@ press (EvView * view, GdkEventButton *event, EvDocumentModel *model)
+ infodialog (help_text);
+ nearest_annotation_text = NULL;
+ extern EvMappingList * ev_document_annotations_get_annotations();
+- EvMappingList *mapping_list = ev_document_annotations_get_annotations (doc, ev_document_get_page(doc, i));
++ EvMappingList *mapping_list = ev_document_annotations_get_annotations (EV_DOCUMENT_ANNOTATIONS (doc), ev_document_get_page(doc, i));
+ if(mapping_list)
+ {
+ gdouble nearest = G_MAXDOUBLE;
+@@ -313,7 +313,7 @@ find_annotated_pages (EvDocumentModel *model)
+ for (i=0; i< ev_document_get_n_pages(doc);i++)
+ {
+ extern EvMappingList * ev_document_annotations_get_annotations();
+- EvMappingList *mapping_list = ev_document_annotations_get_annotations (doc, ev_document_get_page(doc, i));
++ EvMappingList *mapping_list = ev_document_annotations_get_annotations (EV_DOCUMENT_ANNOTATIONS (doc), ev_document_get_page(doc, i));
+ if(mapping_list)
+ {
+ annotated_pages = g_list_append (annotated_pages, GINT_TO_POINTER(i));
+diff --git a/tests/integration.c b/tests/integration.c
+index f3aad7a1f..5910425e6 100644
+--- a/tests/integration.c
++++ b/tests/integration.c
+@@ -248,7 +248,7 @@ parse_dir_and_run_complex_test(gchar* path, const gchar* extension)
+ while(files){
+ filename = g_build_filename(path, files->data, NULL);
+ gchar* test_case_path = g_strdup_printf("%s-%d", test_case_path_fragment, test_case_path_counter);
+- g_test_add (test_case_path, gchar*, filename, setup, test_open_save_complex_file, teardown);
++ g_test_add (test_case_path, void, filename, setup, test_open_save_complex_file, teardown);
+ g_free(test_case_path);
+ test_case_path_counter ++;
+ files = g_list_next(files);
+
diff --git a/media-sound/easytag/easytag-2.4.3-r4.ebuild b/media-sound/easytag/easytag-2.4.3-r4.ebuild
deleted file mode 100644
index c13294c50ecf..000000000000
--- a/media-sound/easytag/easytag-2.4.3-r4.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome2
-
-DESCRIPTION="GTK+ utility for editing MP2, MP3, MP4, FLAC, Ogg and other media tags"
-HOMEPAGE="https://wiki.gnome.org/Apps/EasyTAG"
-
-LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="flac mp3 mp4 nautilus opus speex test vorbis wavpack"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- opus? ( vorbis )
- speex? ( vorbis )"
-
-RDEPEND="
- >=dev-libs/glib-2.38:2
- media-libs/libcanberra[gtk3]
- >=x11-libs/gtk+-3.10:3
- flac? ( >=media-libs/flac-1.3:= )
- mp3? (
- >=media-libs/id3lib-3.8.3-r8
- >=media-libs/libid3tag-0.15.1b-r4:=
- )
- mp4? ( >=media-libs/taglib-1.9.1[mp4(+)] )
- nautilus? ( gnome-base/nautilus )
- opus? (
- >=media-libs/opus-1.1
- >=media-libs/opusfile-0.4
- )
- speex? ( >=media-libs/speex-1.2_rc1 )
- vorbis? (
- >=media-libs/libogg-1.3.1
- >=media-libs/libvorbis-1.3.4
- )
- wavpack? ( >=media-sound/wavpack-4.70 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-text/docbook-xml-dtd:4.4
- app-text/yelp-tools
- dev-util/glib-utils
- dev-libs/libxml2
- dev-libs/libxslt
- >=dev-util/intltool-0.50
- >=sys-devel/gettext-0.18.3.2
- virtual/pkgconfig
- test? (
- dev-libs/appstream-glib
- >=dev-util/desktop-file-utils-0.22
- )"
-
-PATCHES=( "${FILESDIR}"/${P}-ogg-corruption.patch )
-
-src_configure() {
- gnome2_src_configure \
- --disable-Werror \
- $(use_enable test appdata-validate) \
- $(use_enable test tests) \
- $(use_enable mp3) \
- $(use_enable mp3 id3v23) \
- $(use_enable nautilus nautilus-actions) \
- $(use_enable vorbis ogg) \
- $(use_enable opus) \
- $(use_enable speex) \
- $(use_enable flac) \
- $(use_enable mp4) \
- $(use_enable wavpack)
-}
diff --git a/media-sound/easytag/metadata.xml b/media-sound/easytag/metadata.xml
index d31fc8785b2d..2b47f46d2132 100644
--- a/media-sound/easytag/metadata.xml
+++ b/media-sound/easytag/metadata.xml
@@ -6,7 +6,4 @@
<name>Gentoo Sound project</name>
</maintainer>
<longdescription>Utility for viewing and editing tags for MP3, MP2, FLAC, AAC, MP4 and OGG files. It features a simple and attractive GTK+ interface</longdescription>
- <use>
- <flag name="nautilus">Build <pkg>gnome-base/nautilus</pkg> extension</flag>
- </use>
</pkgmetadata>
diff --git a/media-sound/lilypond/lilypond-2.24.4-r100.ebuild b/media-sound/lilypond/lilypond-2.24.4-r100.ebuild
new file mode 100644
index 000000000000..63d46dcb3e06
--- /dev/null
+++ b/media-sound/lilypond/lilypond-2.24.4-r100.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="deprecated,regex"
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit elisp-common autotools guile-single python-single-r1 toolchain-funcs xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/lilypond.git"
+else
+ MAIN_VER=$(ver_cut 1-2)
+ SRC_URI="https://lilypond.org/download/sources/v${MAIN_VER}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~riscv ~x86"
+fi
+
+DESCRIPTION="GNU Music Typesetter"
+HOMEPAGE="http://lilypond.org/"
+
+LICENSE="GPL-3 FDL-1.3"
+SLOT="0"
+LANG_USE="l10n_ca l10n_cs l10n_de l10n_en l10n_fr l10n_hu l10n_it l10n_ja l10n_nl l10n_pt l10n_zh"
+IUSE="debug doc emacs profile ${LANG_USE}"
+unset LANG_USE
+REQUIRED_USE="${GUILE_REQUIRED_USE} ${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+ dev-texlive/texlive-metapost
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ doc? ( app-text/texi2html )
+"
+RDEPEND="app-text/ghostscript-gpl
+ dev-libs/boehm-gc
+ dev-libs/glib:2
+ dev-libs/libatomic_ops
+ media-fonts/tex-gyre
+ media-libs/fontconfig
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ >=x11-libs/pango-1.40
+ emacs? ( >=app-editors/emacs-23.1:* )
+ ${GUILE_DEPS}
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ app-text/t1utils
+ dev-lang/perl
+ dev-libs/kpathsea
+ media-gfx/fontforge[png,python]
+ sys-devel/gettext
+ doc? (
+ dev-texlive/texlive-langcyrillic
+ l10n_cs? ( dev-texlive/texlive-xetex )
+ l10n_ja? ( dev-texlive/texlive-langjapanese )
+ l10n_zh? ( dev-texlive/texlive-langchinese )
+ )
+"
+# Correct output data for tests isn't bundled with releases
+RESTRICT="test"
+
+DOCS=( DEDICATION README.md ROADMAP )
+
+QA_PREBUILT="usr/*/${PN}/${PV}/ccache/*"
+
+pkg_setup() {
+ guile-single_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ guile-single_src_prepare
+
+ # respect CFLAGS
+ sed -i 's/OPTIMIZE -g/OPTIMIZE/' aclocal.m4 || die
+
+ eautoreconf
+
+ xdg_environment_reset #586592
+}
+
+src_configure() {
+ # fix hardcoded `ar`
+ sed -i "s/AR=ar/AR=$(tc-getAR)/g" flower/GNUmakefile || die "Failed to fix ar command"
+
+ local myeconfargs=(
+ --disable-optimising
+ --disable-pipe
+ $(use_enable debug debugging)
+ $(use_enable doc documentation)
+ $(use_enable profile profiling)
+ )
+
+ export VARTEXFONTS="${T}/fonts" # https://bugs.gentoo.org/692010
+
+ econf "${myeconfargs[@]}" AR="$(tc-getAR)"
+}
+
+src_compile() {
+ default
+
+ # http://lilypond.org/doc/v2.24/Documentation/changes/index#notes-for-source-compilation-and-packagers
+ emake bytecode
+
+ use doc && emake LANGS="${L10N}" doc info
+
+ if use emacs ; then
+ elisp-compile elisp/lilypond-{font-lock,indent,mode,what-beat}.el \
+ || die "elisp-compile failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" vimdir=/usr/share/vim/vimfiles install install-bytecode
+
+ use doc && emake DESTDIR="${D}" install-doc
+
+ # remove elisp files since they are in the wrong directory
+ rm -r "${ED}"/usr/share/emacs || die
+
+ if use emacs ; then
+ elisp-install ${PN} elisp/*.{el,elc} elisp/out/*.el \
+ || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el
+ fi
+
+ guile_unstrip_ccache
+
+ python_fix_shebang "${ED}"
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/media-sound/lilypond/lilypond-9999.ebuild b/media-sound/lilypond/lilypond-9999.ebuild
index ae3457cd2655..63d46dcb3e06 100644
--- a/media-sound/lilypond/lilypond-9999.ebuild
+++ b/media-sound/lilypond/lilypond-9999.ebuild
@@ -3,9 +3,11 @@
EAPI=8
+GUILE_REQ_USE="deprecated,regex"
+GUILE_COMPAT=( 2-2 3-0 )
PYTHON_COMPAT=( python3_{10..13} )
-inherit elisp-common autotools python-single-r1 toolchain-funcs xdg-utils
+inherit elisp-common autotools guile-single python-single-r1 toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]]; then
inherit git-r3
@@ -24,7 +26,7 @@ SLOT="0"
LANG_USE="l10n_ca l10n_cs l10n_de l10n_en l10n_fr l10n_hu l10n_it l10n_ja l10n_nl l10n_pt l10n_zh"
IUSE="debug doc emacs profile ${LANG_USE}"
unset LANG_USE
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="${GUILE_REQUIRED_USE} ${PYTHON_REQUIRED_USE}"
BDEPEND="
dev-texlive/texlive-metapost
@@ -35,12 +37,16 @@ BDEPEND="
doc? ( app-text/texi2html )
"
RDEPEND="app-text/ghostscript-gpl
- >=dev-scheme/guile-3.0.7:12=[deprecated,regex]
+ dev-libs/boehm-gc
+ dev-libs/glib:2
+ dev-libs/libatomic_ops
media-fonts/tex-gyre
media-libs/fontconfig
media-libs/freetype:2
+ media-libs/harfbuzz
>=x11-libs/pango-1.40
emacs? ( >=app-editors/emacs-23.1:* )
+ ${GUILE_DEPS}
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
app-text/t1utils
@@ -60,12 +66,15 @@ RESTRICT="test"
DOCS=( DEDICATION README.md ROADMAP )
-# guile generates ELF files without use of C or machine code
-# It's a portage's false positive. bug #677600
-QA_PREBUILT='*[.]go'
+QA_PREBUILT="usr/*/${PN}/${PV}/ccache/*"
+
+pkg_setup() {
+ guile-single_pkg_setup
+ python-single-r1_pkg_setup
+}
src_prepare() {
- default
+ guile-single_src_prepare
# respect CFLAGS
sed -i 's/OPTIMIZE -g/OPTIMIZE/' aclocal.m4 || die
@@ -120,6 +129,8 @@ src_install() {
elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el
fi
+ guile_unstrip_ccache
+
python_fix_shebang "${ED}"
einstalldocs
diff --git a/media-sound/qjackctl/Manifest b/media-sound/qjackctl/Manifest
index a6736768432f..002b767a2a2a 100644
--- a/media-sound/qjackctl/Manifest
+++ b/media-sound/qjackctl/Manifest
@@ -1 +1,2 @@
DIST qjackctl-1.0.1.tar.gz 1318578 BLAKE2B c2741cfed5244e9c0b837b7bb7ac31dd6fad74226cad9401014565928e59c6fc448fda6e4e335e4acdc92d55b05f330a2101b1f9cbbce6918b7749c62f0e9379 SHA512 ac0442c0fe8f29ca27dfe149db3bc20a968ff7b2abb764bbb7b7cd1f57e26edac70b834c4f6fa6578fa07afad9de3e8f846d131517e9b5862333634715933b08
+DIST qjackctl-1.0.2.tar.gz 1319207 BLAKE2B f5af834b39d48dd5a10b970bc90cfd25470c91210b295727fb03bf6a277361bd67f54c3a841ee9aa7d419020500906ad41cbea490d6b223a7fc4c6357a523f0e SHA512 617760310eed763c813bf2ff95b72bd7c76bdc68bf2f997333eb9769e55eec6c02ff0e0813f576b5f06cdb856756cbf36017a6d1c578d493ceed7aa082470f25
diff --git a/media-sound/qjackctl/qjackctl-1.0.2.ebuild b/media-sound/qjackctl/qjackctl-1.0.2.ebuild
new file mode 100644
index 000000000000..29b887562b75
--- /dev/null
+++ b/media-sound/qjackctl/qjackctl-1.0.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg cmake
+
+DESCRIPTION="Qt GUI to control the JACK Audio Connection Kit and ALSA sequencer connections"
+HOMEPAGE="https://qjackctl.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/qjackctl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa dbus debug portaudio"
+
+BDEPEND="dev-qt/linguist-tools:5"
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ virtual/jack
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( dev-qt/qtdbus:5 )
+ portaudio? ( media-libs/portaudio )
+"
+RDEPEND="${DEPEND}
+ dev-qt/qtsvg:5
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.13-disable-git.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCONFIG_ALSA_SEQ=$(usex alsa 1 0)
+ -DCONFIG_DBUS=$(usex dbus 1 0)
+ -DCONFIG_DEBUG=$(usex debug 1 0)
+ -DCONFIG_PORTAUDIO=$(usex portaudio 1 0)
+ -DCONFIG_QT6=no
+ )
+ cmake_src_configure
+}
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 9acb4f661c48..61d55c9782f0 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,9 +1,4 @@
DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
-DIST pipewire-1.0.5.tar.bz2 1698291 BLAKE2B 0f919a01b5f84060fb2ce560a7790a0d59374671f52a941492930fe21ac39178688f27f00cad649d239901f88b392e16895648efae2ec2785c394c1f6d186ddf SHA512 18fbbe36c8752eb0f1df5ee3f3fffee279addcec9825281bd165ad8316f17af7e91bb5759f63c16139c074b03e5a77ef9d596a87f584d1580bbb754101b70a0f
-DIST pipewire-1.0.6.tar.bz2 1698889 BLAKE2B f782efa2aa8fa0976fd3025f58041f450505c63acd9028c3d79368d0c41465a51b4472059a1c13092aa72dc6110fc12589b03de653d7eac3c93bc5498cc17154 SHA512 09e5c951c835dcc2654ec284aaaad6be4254744e943f95556c494cd22a4fc67bdc481982856f2aa439e33ec84e7fbdb6df45a1d4b9ced261b01cd91b0ee4d2ed
DIST pipewire-1.0.7.tar.bz2 1698775 BLAKE2B be075eb82fe516116de0a6a4d390dd99d7ea3b41e53c9079219978649845df4e9c16cb8e2dcfe594c2ace65fe63976ec432e9ce97eb048df5103d17f3e8ff353 SHA512 3fb46376cdf061b3ea7be55249399d0036c2728bb4deeb6f5c6d708141234e75f563e6a3dc749fbd40dadba72ad2db5fda358b368a480479157731cc67f3303d
DIST pipewire-1.2.0-docs.tar.xz 58528 BLAKE2B b7abdfecd46239050ab80695c8f3d1a4e6a2aded3f9d64c435c64c7dc54a4e6ae32c3526da0fb4f6e2a22a6dbc8c768450ac2c0824b685022284eb1e1990c038 SHA512 25792090f258acc6cd52231be3918f0edaefeeb6c757acc748710a2e6f40ff7861a44e376dc9651742173c40153d3f848c9532257036ab874940270559d9c7f3
-DIST pipewire-1.2.0.tar.bz2 1810104 BLAKE2B a20caae515d800f80f607aeba585609ce9f47d0a38c48cc2eb3534f64049f774c119e36d27a585b5f7537e4eef6b2a56881e7db1e2ca2eedd52248ee9f331209 SHA512 3b9ceb02d3ea9fcadd2e009750d0c5b2435c8648c79f2fa9dc8dc83c772759985b140a02381a6c7be819b23d2a5a7671e456e81cf9b5be3437e994ef610bda59
-DIST pipewire-1.2.1.tar.bz2 1812153 BLAKE2B a95d3ba69ef6ee8d001c9081fec4392ef0c219c154b0f78851dd15e5a60f6daccc33fdf80a9ea653bd32d14109c5e1a5885e0c5ce392747be8e08c37a239a2e2 SHA512 e5bf5b712e2d96c96dd907780cd4b1a3d153f01261977bd75a11823bcc2be17b6c858d2967821862660d97426c8ed5f8ebd7bfde27dafe9f30c5b459b17e587f
-DIST pipewire-1.2.2.tar.bz2 1812524 BLAKE2B 4085ace98c38e718dd259f5ef864d8674e0c663bd486f5e8dfb2e79d63b471eb8686ab79841aa0e5689ef9d08ce0be66cb67cce2e9038cd5a81e823a816e8209 SHA512 8baf98bdb05f95acaf2f9a5189ad6da843181464cc21f31cc39604bfb2beb2a34327621348122e07436e39c5d0ad223a941674737848ac2e4e56e0d366d1b5f5
DIST pipewire-1.2.3.tar.bz2 1813639 BLAKE2B 42bd8a08125e79a67a4adec30541ae7fef3c1e8279d8f84365636f8691a237fc7d6b392ed2576b681a9b9418804978e5a8493d7062567ed89035286fb49977f5 SHA512 8a06ef3a9079b334b0d3248431fe6a09f330ad8078dc378ac465e253d3601c3e4552e2e07f7cf492ff6fbc218e686b30941ea153ccaaf826b5f0ff231f6b214e
diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
deleted file mode 100644
index ab102a606c82..000000000000
--- a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Sun, 30 Jun 2024 13:44:06 -0400
-Subject: [PATCH] meson: fix conflicting use of feature-based dependency
- lookups
-
-When spa-plugins is enabled, the gio-2.0 global dependency is
-overwritten.
-
-When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
-dependency is then detected as found. This means that
-pipewire-module-protocol-pulse can end up enabling gsettings support
-even if it has been forcibly turned off.
-
-Rename the meson variables to ensure they are looked up separately.
----
- meson.build | 6 +++---
- spa/meson.build | 6 +++---
- src/modules/meson.build | 4 ++--
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 2607c5c8f4..38b6b59d00 100644
---- a/meson.build
-+++ b/meson.build
-@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
- flatpak_support = glib2_dep.found()
- cdata.set('HAVE_GLIB2', flatpak_support)
-
--gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
--summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
--if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
-+gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
-+summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
-+if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
- error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
- endif
-
-diff --git a/spa/meson.build b/spa/meson.build
-index 67e4b5c506..cf25609dab 100644
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
- summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
-
- bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
-- gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
-- gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
-+ bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
-+ bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
- bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
- sbc_dep = dependency('sbc', required: get_option('bluez5'))
- summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
-- bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
-+ bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
- bluez_deps_found = get_option('bluez5').allowed()
- foreach dep: bluez5_deps
- if get_option('bluez5').enabled() and not dep.found()
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index ceaa7013d9..3f400f0877 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -433,11 +433,11 @@ if avahi_dep.found()
- cdata.set('HAVE_AVAHI', true)
- endif
-
--if gio_dep.found()
-+if gsettings_gio_dep.found()
- pipewire_module_protocol_pulse_sources += [
- 'module-protocol-pulse/modules/module-gsettings.c',
- ]
-- pipewire_module_protocol_pulse_deps += gio_dep
-+ pipewire_module_protocol_pulse_deps += gsettings_gio_dep
- cdata.set('HAVE_GIO', true)
- if get_option('gsettings-pulse-schema').enabled()
- install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],
---
-GitLab
-
diff --git a/media-video/pipewire/pipewire-1.0.5-r1.ebuild b/media-video/pipewire/pipewire-1.0.5-r1.ebuild
deleted file mode 100644
index 1373789d2b11..000000000000
--- a/media-video/pipewire/pipewire-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,502 +0,0 @@
-# Copyright 1999-2024 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_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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_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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # 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-r3 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.0.5.ebuild b/media-video/pipewire/pipewire-1.0.5.ebuild
deleted file mode 100644
index 0115d177525b..000000000000
--- a/media-video/pipewire/pipewire-1.0.5.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2024 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_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-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
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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_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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # Install sound-server enabler, alsa part, wireplumber 0.4.15 syntax, clean this up with wireplumber dep bump
- dodir /etc/wireplumber/main.lua.d
- echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
- # Install sound-server enabler, bluetooth part, wireplumber 0.4.15 syntax, clean this up with wireplumber dep bump
- dodir /etc/wireplumber/bluetooth.lua.d
- echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-
- # Install sound-server enabler for wireplumber 0.4.81+ conf syntax
- insinto /etc/pipewire/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-r3 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.0.6.ebuild b/media-video/pipewire/pipewire-1.0.6.ebuild
deleted file mode 100644
index 1373789d2b11..000000000000
--- a/media-video/pipewire/pipewire-1.0.6.ebuild
+++ /dev/null
@@ -1,502 +0,0 @@
-# Copyright 1999-2024 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_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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_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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # 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-r3 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.2.0-r2.ebuild b/media-video/pipewire/pipewire-1.2.0-r2.ebuild
deleted file mode 100644
index f4aeba1f7ea4..000000000000
--- a/media-video/pipewire/pipewire-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,517 +0,0 @@
-# Copyright 1999-2024 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="${PV}"
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
- "${FILESDIR}"/${P}-automagic-gsettings.patch
-)
-
-pkg_setup() {
- if use doc || use man ; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # Used for upstream backports
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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)
-
- # 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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # 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-r3 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.2.1.ebuild b/media-video/pipewire/pipewire-1.2.1.ebuild
deleted file mode 100644
index 537951c763cc..000000000000
--- a/media-video/pipewire/pipewire-1.2.1.ebuild
+++ /dev/null
@@ -1,517 +0,0 @@
-# Copyright 1999-2024 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_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
- "${FILESDIR}"/${PN}-1.2.0-automagic-gsettings.patch
-)
-
-pkg_setup() {
- if use doc || use man ; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # Used for upstream backports
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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)
-
- # 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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # 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-r3 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.2.2.ebuild b/media-video/pipewire/pipewire-1.2.2.ebuild
deleted file mode 100644
index 408bee308b53..000000000000
--- a/media-video/pipewire/pipewire-1.2.2.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2024 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_{10..12} )
-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
-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 dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux 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.
-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 )
- 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 legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * 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
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- 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
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.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
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- 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)
-
- $(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 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_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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)
-
- # 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
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # 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-r3 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.2.3.ebuild b/media-video/pipewire/pipewire-1.2.3.ebuild
index 45015ea4407d..2f8576568666 100644
--- a/media-video/pipewire/pipewire-1.2.3.ebuild
+++ b/media-video/pipewire/pipewire-1.2.3.ebuild
@@ -47,7 +47,7 @@ else
PIPEWIRE_DOCS_USEFLAG="man"
fi
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Multimedia processing graphs"
diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index fceeff018ba5..f05acee20f6e 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,5 +1,2 @@
-DIST wireplumber-0.4.17.tar.bz2 330355 BLAKE2B fec1cf75bec687bff1cb48416cf22503a79609cf11220ab9353d3b8038cae1db63da8aa269aca034c0c0afd474e2ba89b236bb7e778da111516e3b15d5449f02 SHA512 5efb71091f262458bc912f4670249fac3ef858021785fbee9be749564a3fa452b1c4ff75634132f7d44fd06d7fc5ea2debb022b1f4a8d5c9c3afa992fab7ecf8
-DIST wireplumber-0.5.2.tar.bz2 408788 BLAKE2B 51a9c0268212b353b54099d2d57fd93dec5b42d4ec3151f93b4ebd4df3f4478a19858ec8302af58558a9387afa647a00a0872d471f0f2ea5e681978afbdcf553 SHA512 4cd2949739b8af86f73e072fe8c1d8606fa9be77b6e109aa0825d516f11953c4811ae1162da07ae245f7039f4243d01c43b8e9c083d4e0be1066b180484abbfb
DIST wireplumber-0.5.3.tar.bz2 411081 BLAKE2B 627cb0adaddd512e2b5f2e706b622972232f76000d690837da5f03a3628669b99c4768de6590ec378684311915626de7ac3316bda1f5d1152c9df448ec41e389 SHA512 1c62f7f919242b2a9586ff6a532f214b564bcf10c838eae4a64078edf6fd461fc65f364c8af79150e33b86594331446516a1a4c926bb245a4b2ba2d9f63f7243
-DIST wireplumber-0.5.5.tar.bz2 411519 BLAKE2B 016641b6b21b6176b0f3f70c0c96ccd32ea4d3609bf337a3c9af6e8219cb160a92e30027e3187adb023d0c35ad822ce9be374d098eab76508f218a7ae2528754 SHA512 50ddc6f275bba89ddac0e55dd2a572a13ca19953bce6bdbca14eadd44f3669c7ad4b39ae857770543567a05ea3e437ccee36a2538fad1f4caa777036ace04f77
DIST wireplumber-0.5.6.tar.bz2 415566 BLAKE2B 7f5323ddea415bac31bbb5f05b711e52bd631d9e6c4b22b6055055761a19c0a4c16a36a90ecd0f90c3fbfaddad8be57e823ad0b97327569e94074bee21d5e31c SHA512 58b18c1c1f1040e9954de75488a82ff7504fb908f7e5d57dd219f3479612551c94a1384d399a99b983f66859560aaf71c8ab9414318e48abb6f8cd3b88fcecc8
diff --git a/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
deleted file mode 100644
index b4f3ecd311f7..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 3d86f51d2c43fd76be2450a8c27836fdd8619cfa
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Sun May 15 18:19:03 2022 +0300
-
- config: Disable alsa and bluez monitors by default
---- a/src/config/bluetooth.lua.d/50-bluez-config.lua
-+++ b/src/config/bluetooth.lua.d/50-bluez-config.lua
-@@ -1,4 +1,4 @@
--bluez_monitor.enabled = true
-+bluez_monitor.enabled = false
-
- bluez_monitor.properties = {
- -- Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
---- a/src/config/main.lua.d/50-alsa-config.lua
-+++ b/src/config/main.lua.d/50-alsa-config.lua
-@@ -1,4 +1,4 @@
--alsa_monitor.enabled = true
-+alsa_monitor.enabled = false
-
- alsa_monitor.properties = {
- -- Create a JACK device. This is not enabled by default because
---
-2.42.0
-
diff --git a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
deleted file mode 100644
index 747c967706dc..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2024 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.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- test? ( sys-apps/dbus )
-"
-
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.68:=
- virtual/libintl
- elogind? ( sys-auth/elogind )
- systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.4.15-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature elogind)
- $(meson_feature systemd)
- $(meson_use system-service systemd-system-service)
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- $(meson_use test dbus-tests)
- )
-
- meson_src_configure
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.2.ebuild b/media-video/wireplumber/wireplumber-0.5.2.ebuild
deleted file mode 100644
index ea1b71883dbb..000000000000
--- a/media-video/wireplumber/wireplumber-0.5.2.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2024 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.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson 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
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.5"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- 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.4.81-config-disable-sound-server-parts.patch
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Ddoc=disabled
- # 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
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
-
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.5.ebuild b/media-video/wireplumber/wireplumber-0.5.5.ebuild
deleted file mode 100644
index a3a02062c4c1..000000000000
--- a/media-video/wireplumber/wireplumber-0.5.5.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2024 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.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson 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
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.5"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- 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.4.81-config-disable-sound-server-parts.patch
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Ddoc=disabled
- # 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
-
- mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die
- rmdir "${ED}"/usr/share/doc/wireplumber || die
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
-
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
index 77539b3689c2..1122490df73a 100644
--- a/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
+++ b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
else
SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- 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-0.5.6.ebuild b/media-video/wireplumber/wireplumber-0.5.6.ebuild
deleted file mode 100644
index 05daac42ad03..000000000000
--- a/media-video/wireplumber/wireplumber-0.5.6.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2024 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.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson 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
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.5"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- 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
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Ddoc=disabled
- # 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
-
- mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die
- rmdir "${ED}"/usr/share/doc/wireplumber || die
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
-
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/net-analyzer/alive/alive-2.0.5-r100.ebuild b/net-analyzer/alive/alive-2.0.5-r100.ebuild
new file mode 100644
index 000000000000..277a47bb198a
--- /dev/null
+++ b/net-analyzer/alive/alive-2.0.5-r100.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile-single unpacker
+
+DESCRIPTION="Periodic ping program"
+HOMEPAGE="https://www.gnu.org/software/alive/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+DEPEND="${GUILE_DEPS}"
+RDEPEND="${DEPEND}
+ dev-scheme/xdgdirs
+ net-misc/iputils"
+BDEPEND="$(unpacker_src_uri_depends)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-ping-test.patch
+)
+
+src_prepare() {
+ guile-single_src_prepare
+
+ eautoreconf
+}
diff --git a/net-dialup/ppp/Manifest b/net-dialup/ppp/Manifest
index 84e1b64ccc57..1ca41536ecd5 100644
--- a/net-dialup/ppp/Manifest
+++ b/net-dialup/ppp/Manifest
@@ -1,5 +1,6 @@
DIST ppp-2.4.9-patches-03.tar.xz 18520 BLAKE2B b3da095672fa57727ba11a5dba761ea3f24ee330f27252f0379dab5761d5381809176faafed86d97a6b89cc8a4cb958baa07f4900e22fe6e76b6c852e0703f0c SHA512 9a035acf1915225340c12e6242f0c5db399b5f5970888d7f1799a5f125cf97b95d9fcb8c9aa2f6bd56c1544d2b10585f772d4fc1025002e3e8403011e3d2c029
DIST ppp-2.4.9.tar.gz 719904 BLAKE2B 7ba3eb8c98fec5599635dbd302399617e1075f3a1df090f1a94ce2bb8a5c7631e6eea82246adc33711aba5fe95e7ba7c982e2cbf1fb0d71e45f877d9b092ffb7 SHA512 c309f8f69f534c05547cd2f66dade0e0f198ea4c2928a7e899e660280786b3e965437a67b8c5bb81c59d0fa1818b4eb7b701d2dce015a420d380422d2bca4e1a
DIST ppp-2.5.0.tar.gz 1170057 BLAKE2B 6a0e9efcbff3cb499705071cc7d0e3411cf4871fd53b2bfedbb1f2cf3ad80728eb436050cf33b78e36d473be64f15907a21da17f283337455f0af379bc18272d SHA512 094368ea2aa6c6e8dfba4443509857a7c1c7ff839bb6d6657743802477208c01e87db31593cef0932d3725c640e9c103179da6b742825034cda82bd31ddcc2ed
+DIST ppp-2.5.1.tar.gz 991639 BLAKE2B e3ece873ea25bde5ddffd0da168ffe6ba890693f20fb9f1d6a48f365331abdb4cf517fd0b3004d26a0c778ad4d750e39e38486544e2771b23223469db13c239c SHA512 57b3bbf918c302dbc621f56b706efa1b35b2fc45b71c3a309c1cfee22c28fcf98d7f8965fbeba9260c124f2afb9e297885007256ee05469adca73fad032902b9
DIST ppp-dhcpc.tgz 33497 BLAKE2B ca59130012f007cf45af6bcfa468c112b0d521c8b11f42d42c566dd9de55bd6d6f1b1ceb83cbae18cfe79cb5cb36ba6c6858a4718915acc6987295008aca53da SHA512 aeaf791b14f5a09c0e2079072a157e65132cbff46e608bc0724e6a5827a01da934f5006e2774eb7105f83e607a52cb4987238f4385cf6f5cc86cbe305a556738
DIST pppgetpass.8 450 BLAKE2B 4e9805cfecb4d07c302682c1ced42cc5d247d18fae904b909e126874af962cf48bb703cd75b0cefce4e19404f2e757602d3b57f187567fc23d4b93d9598d1486 SHA512 21f6dda908cf73ee27bfa39d2b50e7f76b371e50bd7d5a0586174b30129c119accbd260d7f9e0e6aa6aabfa5ba11a13ba560588a99672c9dd4e9f33254f88836
diff --git a/net-dialup/ppp/ppp-2.5.1.ebuild b/net-dialup/ppp/ppp-2.5.1.ebuild
new file mode 100644
index 000000000000..8838554026f7
--- /dev/null
+++ b/net-dialup/ppp/ppp-2.5.1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info pam tmpfiles
+
+DESCRIPTION="Point-to-Point Protocol (PPP)"
+HOMEPAGE="https://ppp.samba.org/"
+SRC_URI="https://download.samba.org/pub/ppp/${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="activefilter atm gtk pam selinux systemd"
+
+DEPEND="
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ activefilter? ( net-libs/libpcap )
+ atm? ( net-dialup/linux-atm )
+ gtk? ( x11-libs/gtk+:2 )
+ pam? ( sys-libs/pam )
+ systemd? ( sys-apps/systemd )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-ppp )
+"
+BDEPEND="virtual/pkgconfig"
+PDEPEND="net-dialup/ppp-scripts"
+
+pkg_setup() {
+ local CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY"
+ local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)"
+ local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline"
+ ERROR_PPP_ASYNC+=" (optional, but highly recommended)"
+ local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline"
+ WARNING_PPP_SYNC_TTY+=" (optional; used by 'sync' pppd option)"
+ if use activefilter ; then
+ CONFIG_CHECK+=" ~PPP_FILTER"
+ local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)"
+ fi
+ CONFIG_CHECK+=" ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE"
+ local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)"
+ local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)"
+ local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)"
+ CONFIG_CHECK+=" ~PPPOE ~PACKET"
+ local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)"
+ local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe plugin)"
+ if use atm ; then
+ CONFIG_CHECK+=" ~PPPOATM"
+ local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)"
+ fi
+
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Set the right paths in radiusclient.conf
+ sed -e "s:/usr/local/etc:/etc:" \
+ -e "s:/usr/local/sbin:/usr/sbin:" \
+ -i pppd/plugins/radius/etc/radiusclient.conf || die
+ # Set config dir to /etc/ppp/radius
+ sed -i -e "s:/etc/radiusclient:/etc/ppp/radius:g" \
+ pppd/plugins/radius/{*.8,*.c,*.h} \
+ pppd/plugins/radius/etc/* || die
+}
+
+src_configure() {
+ local args=(
+ --localstatedir="${EPREFIX}"/var
+ --runstatedir="${EPREFIX}"/run
+ $(use_enable systemd)
+ $(use_with atm)
+ $(use_with pam)
+ $(use_with activefilter pcap)
+ $(use_with gtk)
+ --enable-cbcp
+ --enable-multilink
+ )
+ econf "${args[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ if use pam; then
+ pamd_mimic_system ppp auth account session
+ fi
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}/modules.ppp" ppp.conf
+
+ dosbin scripts/p{on,off,log}
+ doman scripts/pon.1
+ dosym pon.1 /usr/share/man/man1/poff.1
+ dosym pon.1 /usr/share/man/man1/plog.1
+
+ # Adding misc. specialized scripts to doc dir
+ dodoc -r scripts
+
+ if use gtk ; then
+ dosbin contrib/pppgetpass/pppgetpass.{gtk,vt}
+ newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass
+ else
+ newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass
+ fi
+
+ doman contrib/pppgetpass/pppgetpass.8
+
+ newtmpfiles "${FILESDIR}/pppd.tmpfiles" pppd.conf
+
+ insinto /etc/ppp/radius
+ doins pppd/plugins/radius/etc/{dictionary*,issue,port-id-map,radiusclient.conf,realms,servers}
+}
+
+pkg_postinst() {
+ tmpfiles_process pppd.conf
+}
diff --git a/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild b/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
index f017a3287621..5aeaca95a3b0 100644
--- a/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
+++ b/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
@@ -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 ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="gui selinux test"
# Tests are too unreliable in sandbox environment
RESTRICT="!test? ( test ) test"
diff --git a/net-ftp/filezilla/filezilla-3.67.1.ebuild b/net-ftp/filezilla/filezilla-3.67.1.ebuild
index d1cfeea701ce..c6c446248943 100644
--- a/net-ftp/filezilla/filezilla-3.67.1.ebuild
+++ b/net-ftp/filezilla/filezilla-3.67.1.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~riscv ~x86"
IUSE="cpu_flags_x86_sse2 dbus nls test"
RESTRICT="!test? ( test )"
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
index 57b1fef595ab..6c8d004c97be 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
@@ -48,6 +48,11 @@ RDEPEND="
BDEPEND="dev-build/autoconf-archive"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # FP noise (bug #900068)
+ sendfile sendfilev
+)
+
PATCHES=(
"${FILESDIR}/${PN}-1.0.28-pam.patch"
"${FILESDIR}/${PN}-1.0.51-sys-sendfile.patch"
diff --git a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
index c550fb4e65c8..06dcee741445 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
@@ -48,6 +48,11 @@ RDEPEND="
BDEPEND="dev-build/autoconf-archive"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # FP noise (bug #900068)
+ sendfile sendfilev
+)
+
PATCHES=( "${FILESDIR}/${PN}-1.0.28-pam.patch" )
src_prepare() {
diff --git a/net-im/slack/Manifest b/net-im/slack/Manifest
index 848ecbefdc03..171f0e1f153f 100644
--- a/net-im/slack/Manifest
+++ b/net-im/slack/Manifest
@@ -1,2 +1,2 @@
-DIST slack-desktop-4.40.120-amd64.deb 81441946 BLAKE2B b2ac591f6abaa4fa37508c9dcce5eee382affbbde7612b1191c830ad95b51127d407657c1d0503cdb54032113b57c78785da8db0ac6e44bf469aa3273b50e1bd SHA512 66c54a75920cc6d821a66e139c1e389bfd518419c37b891236896cd4651369ce5b2c57fb23a01d766c32997be6b1d4cfe411b091557b7aa6c4b97dcf3d8e2bf2
DIST slack-desktop-4.40.126-amd64.deb 81473774 BLAKE2B 2ba69b6b7171cd90c0f7f884f2c7af5933ced5bc77f5639a4e109054d0032e8391a4bb7e32a909709b0c251e71e50b768ead5d66c54fdf70fbc0398e316b1ee6 SHA512 c1ff49a49f209d27b0b61133e0b2237e79f065291ae4390ad19600547b0fcf820aeb658b28cb13975895aec6eff8dca002e68af53dd441d45e38b58c7d014511
+DIST slack-desktop-4.40.128-amd64.deb 81478206 BLAKE2B 5fb6a8889ff5246e11a837849e87c4cbf711642650864d340ebc3dc70abc622489913a5e5a2258475c13d10c5bdcf49d6dcfbde8868bd88e7880b4e44591e109 SHA512 b03c67b3b968f3e6105eabffc13a225906fef80719247f2ad08b1f24be8b77608861d64fcac3da4f71fd376cf0d11f0102113214f78894f6e26b14bff8cb5994
diff --git a/net-im/slack/slack-4.40.120.ebuild b/net-im/slack/slack-4.40.128.ebuild
index 1df68b31ba00..1df68b31ba00 100644
--- a/net-im/slack/slack-4.40.120.ebuild
+++ b/net-im/slack/slack-4.40.128.ebuild
diff --git a/net-im/telegram-desktop-bin/Manifest b/net-im/telegram-desktop-bin/Manifest
index 4e2a86936d43..3da2be25630b 100644
--- a/net-im/telegram-desktop-bin/Manifest
+++ b/net-im/telegram-desktop-bin/Manifest
@@ -1,4 +1,4 @@
-DIST tdesktop-5.3.2.tar.gz 19633052 BLAKE2B 9a26cde1c8ca28be9418beb0c5c85ddcfa600fd0d299c4561ece24ebee76d707a3542e34c85e42c5c4acf4cd20cdea10056deac82c00cbe118c1438f94fb15ac SHA512 736699832930935aeb3d1b0e27e24bc95ae09d8ed07d95fe8bd624a17959c4d2444ad8403006641450ce126429d573c126dbf5071125aa7a2edb9c612377dcb7
DIST tdesktop-5.4.1.tar.gz 19879412 BLAKE2B 5ef691f42fb0931736bb5c8710b4165f1ad82308bab4e06a3c3e1630bac8de1372409c8956afa789e00bc66e7ef2b042de4ec3ce42c23af8fcdbe5f2999b06a8 SHA512 9848698d0a1190c7c6da101f80132f0e09e21f585def18b2da334d45b20cab17a96e4d707bef958606e180ea2c183ca464770707f8696cf2a02b256d736b6450
-DIST tsetup.5.3.2.tar.xz 56785516 BLAKE2B 9f90bd71818b9bc5b325cff61056b084ec2a5bab4abbef08bae0c8a2ad1e29aa5f9874c19c9deb38bb377461df9bb624a6cf3f4acdfaa944d8a6ee9873165e3a SHA512 42d7f5f41b822f24a13915e01dcbb1a45661eda9c2b2f03816a826493ca3bd23e4486f14680344b4c4ec119faec204ba7d750b8b5c685801d854cc831a25cceb
+DIST tdesktop-5.5.5.tar.gz 19927448 BLAKE2B a652a8ff502c9f37876a0e9a8b166e05c20397f4674cc3d1838e8a36be7037afd15e0defafe341c9a13f31fea27cf24e5cd1a2d031b27fd2758d103a961d71dd SHA512 67e0d4809ea0bae567e948fbef6d18c3969bfb914098c1e27f575a72d25d346f2ec6274f9e1263cfae759a1e9be97513e38ebe95d326c69460aa6298c563b589
DIST tsetup.5.4.1.tar.xz 57175592 BLAKE2B e9a107c64b4f82dc8b3edb34fb37b8d10c3e32326cfdc265d998b3baca6c6a7f655990f65fe68db98e1f885646712e605c17eb671609948bedcca82ee50438ce SHA512 7155bc54a50c0b0377cad5d409ab9be42be0ad790f9f514cf11bac55ccefdb080898d98db50db2e995c7f2c81659f541a305c7a9172176f13d2994d54860a3e5
+DIST tsetup.5.5.5.tar.xz 57286424 BLAKE2B c636d5fa1dc5939304afa3ed7bd1f908cd3fd598d497185a9b4fd6d473091b3eaa34567b76a614a3ff9bd320f7ca9a22d437acca49deb4914a0ff622044ce09c SHA512 c982fe0d6bb5c4b45b41c06cfce9dd3a76c72dee96b82919022fc62c1ee8a4d86ed0e93769d0688881055c7bdac434276b9f191338f8fc273c614caad08c98ed
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-5.3.2.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-5.5.5.ebuild
index 24722ca70535..24722ca70535 100644
--- a/net-im/telegram-desktop-bin/telegram-desktop-bin-5.3.2.ebuild
+++ b/net-im/telegram-desktop-bin/telegram-desktop-bin-5.5.5.ebuild
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index 4ced5bee3b06..1231a3ab72ae 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -2,3 +2,4 @@ DIST tdesktop-5.0.4-full.tar.gz 69462550 BLAKE2B 46e630ea74c6571e41909bab768ff19
DIST tdesktop-5.2.3-full.tar.gz 69745773 BLAKE2B a6811098d2e0f8d0ebc0d7ac4d392981ff600544d31eb38a72b208778a69462d241122f8ff74b3a8b730d7a1221b78febb0ea9f641872992a830d9c805555c39 SHA512 5d5bf1f5c35af11b2adf7db075832e7cca5768c2c5f82d9fc5054b9d45f964a3520eb88864aefc3de593ce1359534b210b1e5d89495819e7386f6ca15fd4a15c
DIST tdesktop-5.4.1-full.tar.gz 70056797 BLAKE2B 078a747c51df9ca8a173270b128e5c84439706b6c9d5ecde0fb0c88301f709b01613d2a895e9d1219809093cf3409211e63d8e131abed172c16192763dadc764 SHA512 f86b86c6001b2c214d897821c175f41c53ca44401285909b2b12254634cca821137d61a28c75d79ed757c1ade08873035397aae7c462494c1ab6382501a8072a
DIST tdesktop-5.5.1-full.tar.gz 70095171 BLAKE2B 3221defb9df90333434b688e698b7c1ef842dca968049f3cd0cee428da353867cac52a0325fa1006e7d0a11d693c8e5e28b1983b57217ac4c227831cf1052214 SHA512 c8aadf6d2ad739523e714774c1b69be6792f805fb83d7f16a716c688cc800c54c5f13595742bd26d8b84f26342d89e21c668c8a79ed2a0607782a8421a40844a
+DIST tdesktop-5.5.5-full.tar.gz 70112426 BLAKE2B 21cdb01d66ea1d1b7479995d790fc44d65248c807dafb25d865970a0d619483ccccd99c8d64b6853d8aa29c78c73010f14e720bf707c918e7c3bb5cb2428dde5 SHA512 88cd526fb02b7b0459cb1bd1b0c57147b2261e57c392d2cb62964015ef6b26e202fba717b35d74201c41becf0a5d78ef4d9d593b5666b3f0a0db646e40bfd1fc
diff --git a/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild b/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild
new file mode 100644
index 000000000000..98c1b5012cf5
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-5.5.5.ebuild
@@ -0,0 +1,261 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org https://github.com/telegramdesktop/tdesktop"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="dbus enchant +fonts +jemalloc +libdispatch screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ dev-cpp/ada:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20240706
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20240804:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ libdispatch? ( dev-libs/libdispatch )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5[compositor(+)]
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor,qml]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-2.0_p20240315
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-2.0_p20240315
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch
+ "${FILESDIR}"/tdesktop-4.10.0-system-cppgir.patch
+ "${FILESDIR}"/tdesktop-5.2.2-qt6-no-wayland.patch
+ "${FILESDIR}"/tdesktop-5.2.2-libdispatch.patch
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ # QtGui will use find_package to find QtDbus as well, which
+ # conflicts with the -DCMAKE_DISABLE_FIND_PACKAGE method.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ # https://github.com/telegramdesktop/tdesktop/issues/17437#issuecomment-1001160398
+ use !libdispatch && append-cppflags -DCRL_FORCE_QT
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_USE_LIBDISPATCH=$(usex libdispatch)
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if ! use jemalloc && use elibc_glibc; then
+ # https://github.com/telegramdesktop/tdesktop/issues/16084
+ # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
+ ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
+ ewarn "Do NOT report issues about RAM usage without enabling this flag first."
+ ewarn
+ fi
+ if ! use libdispatch; then
+ ewarn "Disabling USE=libdispatch may cause performance degradation"
+ ewarn "due to fallback to poor QThreadPool! Please see"
+ ewarn "https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode"
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}
diff --git a/net-irc/weechat/weechat-4.4.2-r100.ebuild b/net-irc/weechat/weechat-4.4.2-r100.ebuild
new file mode 100644
index 000000000000..51c44dccd853
--- /dev/null
+++ b/net-irc/weechat/weechat-4.4.2-r100.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+LUA_COMPAT=( lua5-{1..4} )
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake guile-single lua-single python-single-r1 xdg
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/weechat/weechat.git"
+else
+ inherit verify-sig
+ SRC_URI="https://weechat.org/files/src/${P}.tar.xz
+ verify-sig? ( https://weechat.org/files/src/${P}.tar.xz.asc )"
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/weechat.org.asc
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-weechat )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~x64-macos"
+fi
+
+DESCRIPTION="Portable and multi-interface IRC client"
+HOMEPAGE="https://weechat.org/"
+
+LICENSE="GPL-3+"
+SLOT="0/${PV}"
+
+NETWORKS="+irc"
+PLUGINS="+alias +buflist +charset +exec +fifo +fset +logger +relay +scripts +spell +trigger +typing +xfer"
+# dev-lang/v8 was dropped from Gentoo so we can't enable javascript support
+# dev-lang/php eclass support is lacking, php plugins don't work. bug #705702
+SCRIPT_LANGS="guile lua +perl +python ruby tcl"
+LANGS=" cs de es fr hu it ja pl pt pt_BR ru sr tr"
+IUSE="doc enchant man nls relay-api selinux test +zstd ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}"
+
+REQUIRED_USE="
+ enchant? ( spell )
+ guile? ( ${GUILE_REQUIRED_USE} )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( nls )
+ relay-api? ( relay )
+"
+
+RDEPEND="
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ net-misc/curl[ssl]
+ charset? ( virtual/libiconv )
+ guile? ( ${GUILE_DEPS} )
+ lua? ( ${LUA_DEPS} )
+ nls? ( virtual/libintl )
+ perl? (
+ dev-lang/perl:=
+ virtual/libcrypt:=
+ )
+ python? ( ${PYTHON_DEPS} )
+ relay-api? ( dev-libs/cJSON )
+ ruby? (
+ || (
+ dev-lang/ruby:3.3
+ dev-lang/ruby:3.2
+ dev-lang/ruby:3.1
+ )
+ )
+ selinux? ( sec-policy/selinux-irc )
+ spell? (
+ enchant? ( app-text/enchant:* )
+ !enchant? ( app-text/aspell )
+ )
+ tcl? ( >=dev-lang/tcl-8.4.15:0= )
+ zstd? ( app-arch/zstd:= )
+"
+
+DEPEND="${RDEPEND}
+ test? ( dev-util/cpputest )
+"
+
+BDEPEND+="
+ virtual/pkgconfig
+ doc? ( >=dev-ruby/asciidoctor-1.5.4 )
+ man? ( >=dev-ruby/asciidoctor-1.5.4 )
+ nls? ( >=sys-devel/gettext-0.15 )
+"
+
+DOCS="AUTHORS.md CHANGELOG.md CONTRIBUTING.md UPGRADING.md README.md"
+
+RESTRICT="!test? ( test )"
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ use guile && guile_bump_sources
+
+ # install only required translations
+ local i
+ for i in ${LANGS} ; do
+ if ! has ${i} ${LINGUAS-${i}} ; then
+ sed -i \
+ -e "/${i}.po/d" \
+ po/CMakeLists.txt || die
+ fi
+ done
+
+ # install only required documentation ; en always
+ local j
+ for i in $(grep -e 'set(.*en.*)$' doc/CMakeLists.txt \
+ | sed -e 's/.*set(\(\w\+\).*/\1/'); do
+ for j in $(grep set.${i} doc/CMakeLists.txt \
+ | sed -e "s/.*${i}\(.*\)).*/\1/" -e 's/ en//'); do
+ if ! has ${j} ${LINGUAS-${j}} ; then
+ sed -i \
+ -e "s/\(set(${i}.*\) ${j}/\1/" \
+ doc/CMakeLists.txt || die
+ fi
+ done
+ done
+
+ # install docs in correct directory
+ sed -i "s#\${DATAROOTDIR}/doc/\${PROJECT_NAME}#\0-${PVR}/html#" doc/CMakeLists.txt || die
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # fix linking error on Darwin
+ sed -i "s/+ get_config_var('LINKFORSHARED')//" \
+ cmake/FindPython.cmake || die
+ # allow to find the plugins by default
+ sed -i 's/".so,.dll"/".bundle,.so,.dll"/' \
+ src/core/wee-config.c || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ -DENABLE_JAVASCRIPT=OFF
+ -DENABLE_LARGEFILE=ON
+ -DENABLE_NCURSES=ON
+ -DENABLE_PHP=OFF
+ -DENABLE_ALIAS=$(usex alias)
+ -DENABLE_BUFLIST=$(usex buflist)
+ -DENABLE_CHARSET=$(usex charset)
+ # -DENABLE_DOC requires all plugins (except javascript).
+ # https://github.com/weechat/weechat/blob/v4.0.2/CMakeLists.txt#L144
+ # Impossible since php was dropped in net-irc/weechat-3.5.r1.ebuild. bug #705702
+ -DENABLE_DOC=OFF
+ -DENABLE_DOC_INCOMPLETE=$(usex doc)
+ -DENABLE_ENCHANT=$(usex enchant)
+ -DENABLE_EXEC=$(usex exec)
+ -DENABLE_FIFO=$(usex fifo)
+ -DENABLE_FSET=$(usex fset)
+ -DENABLE_GUILE=$(usex guile)
+ -DENABLE_IRC=$(usex irc)
+ -DENABLE_LOGGER=$(usex logger)
+ -DENABLE_LUA=$(usex lua)
+ -DENABLE_MAN=$(usex man)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_PERL=$(usex perl)
+ -DENABLE_PYTHON=$(usex python)
+ -DENABLE_RELAY=$(usex relay)
+ -DENABLE_CJSON=$(usex relay-api)
+ -DENABLE_RUBY=$(usex ruby)
+ -DENABLE_SCRIPT=$(usex scripts)
+ -DENABLE_SCRIPTS=$(usex scripts)
+ -DENABLE_SPELL=$(usex spell)
+ -DENABLE_TCL=$(usex tcl)
+ -DENABLE_TESTS=$(usex test)
+ -DENABLE_TRIGGER=$(usex trigger)
+ -DENABLE_TYPING=$(usex typing)
+ -DENABLE_XFER=$(usex xfer)
+ -DENABLE_ZSTD=$(usex zstd)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ if $(locale -a | grep -iq "en_US\.utf.*8"); then
+ cmake_src_test -V
+ else
+ eerror "en_US.UTF-8 locale is required to run ${PN}'s ${FUNCNAME}"
+ die "required locale missing"
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ use guile && guile_unstrip_ccache
+}
diff --git a/net-irc/weechat/weechat-9999.ebuild b/net-irc/weechat/weechat-9999.ebuild
index b35455cb8847..51c44dccd853 100644
--- a/net-irc/weechat/weechat-9999.ebuild
+++ b/net-irc/weechat/weechat-9999.ebuild
@@ -3,10 +3,11 @@
EAPI=8
+GUILE_COMPAT=( 2-2 3-0 )
LUA_COMPAT=( lua5-{1..4} )
PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake lua-single python-single-r1 xdg
+inherit cmake guile-single lua-single python-single-r1 xdg
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
@@ -36,6 +37,7 @@ IUSE="doc enchant man nls relay-api selinux test +zstd ${SCRIPT_LANGS} ${PLUGINS
REQUIRED_USE="
enchant? ( spell )
+ guile? ( ${GUILE_REQUIRED_USE} )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
test? ( nls )
@@ -49,7 +51,7 @@ RDEPEND="
sys-libs/zlib:=
net-misc/curl[ssl]
charset? ( virtual/libiconv )
- guile? ( >=dev-scheme/guile-2.0:12= )
+ guile? ( ${GUILE_DEPS} )
lua? ( ${LUA_DEPS} )
nls? ( virtual/libintl )
perl? (
@@ -90,6 +92,7 @@ DOCS="AUTHORS.md CHANGELOG.md CONTRIBUTING.md UPGRADING.md README.md"
RESTRICT="!test? ( test )"
pkg_setup() {
+ use guile && guile-single_pkg_setup
use lua && lua-single_pkg_setup
use python && python-single-r1_pkg_setup
}
@@ -97,6 +100,8 @@ pkg_setup() {
src_prepare() {
cmake_src_prepare
+ use guile && guile_bump_sources
+
# install only required translations
local i
for i in ${LANGS} ; do
@@ -185,3 +190,9 @@ src_test() {
die "required locale missing"
fi
}
+
+src_install() {
+ cmake_src_install
+
+ use guile && guile_unstrip_ccache
+}
diff --git a/net-libs/gloox/gloox-1.0.28.ebuild b/net-libs/gloox/gloox-1.0.28.ebuild
index b28ecdb63dcb..bd98580dff92 100644
--- a/net-libs/gloox/gloox-1.0.28.ebuild
+++ b/net-libs/gloox/gloox-1.0.28.ebuild
@@ -53,7 +53,7 @@ src_install() {
if use examples; then
# unhide the libs directory
- mv "${S}"/src/examples/.libs "${S}"/src/examples/libs
+ mv "${S}"/src/examples/.libs "${S}"/src/examples/libs || die
dodoc -r src/examples/
fi
diff --git a/net-mail/mailutils/mailutils-3.17-r100.ebuild b/net-mail/mailutils/mailutils-3.17-r100.ebuild
new file mode 100644
index 000000000000..bc60b6d6cfa7
--- /dev/null
+++ b/net-mail/mailutils/mailutils-3.17-r100.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools elisp-common flag-o-matic guile-single python-single-r1 toolchain-funcs
+
+DESCRIPTION="A useful collection of mail servers, clients, and filters"
+HOMEPAGE="https://mailutils.org/"
+SRC_URI="mirror://gnu/mailutils/${P}.tar.xz"
+
+LICENSE="GPL-3+ LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos"
+IUSE="berkdb bidi +clients emacs gdbm sasl guile kerberos kyotocabinet \
+ ldap mysql nls pam postgres python servers split-usr ssl static-libs test +threads tcpd \
+ tokyocabinet"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !mail-filter/libsieve
+ !mail-client/mailx
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ dev-libs/libltdl:0
+ virtual/libcrypt:=
+ virtual/mta
+ berkdb? ( sys-libs/db:= )
+ bidi? ( dev-libs/fribidi )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ gdbm? ( sys-libs/gdbm:= )
+ guile? ( ${GUILE_DEPS} )
+ kerberos? ( virtual/krb5 )
+ kyotocabinet? ( dev-db/kyotocabinet )
+ ldap? ( net-nds/openldap:= )
+ mysql? ( dev-db/mysql-connector-c:= )
+ nls? ( sys-devel/gettext )
+ pam? ( sys-libs/pam:= )
+ postgres? ( dev-db/postgresql:= )
+ python? ( ${PYTHON_DEPS} )
+ sasl? ( >=net-misc/gsasl-2.0.0 )
+ servers? ( virtual/libiconv dev-libs/libunistring:= )
+ ssl? ( net-libs/gnutls:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ "
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-util/dejagnu )
+"
+
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ servers? ( tcpd ldap )"
+
+DOCS=( ABOUT-NLS AUTHORS COPYING COPYING.LESSER ChangeLog INSTALL NEWS README THANKS TODO )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5-add-include.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ if use guile; then
+ guile_bump_sources
+ sed -i -e "s|guile|${GUILE}|" libmu_scm/tests/testsuite || die
+ fi
+ if use mysql; then
+ sed -i -e /^INCLUDES/"s:$:$(mysql_config --include):" \
+ sql/Makefile.am || die
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+
+ if use guile; then
+ export GUILE_SNARF="${GUILESNARF}"
+ export GUILE_TOOLS="${GUILE/guile/guile-tools}"
+ fi
+
+ # maildir is the Gentoo default
+ econf \
+ MU_DEFAULT_SCHEME=maildir \
+ CURSES_LIBS="$($(tc-getPKG_CONFIG) --libs ncurses)" \
+ $(use_with berkdb berkeley-db) \
+ $(use_with bidi fribidi) \
+ $(use_with gdbm) \
+ $(use_with sasl gsasl) \
+ $(use_with guile) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with mysql) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_with postgres) \
+ $(use_enable python) \
+ $(use_with ssl gnutls) \
+ $(use_enable static-libs static) \
+ $(use_enable threads pthread) \
+ $(use_with tokyocabinet) \
+ $(use_with kyotocabinet) \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_enable servers build-servers) \
+ $(use_with servers unistring ) \
+ $(use_enable clients build-clients) \
+ EMACS=$(usex emacs emacs no) \
+ --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ --with-mail-spool=/var/spool/mail \
+ --with-readline \
+ --enable-ipv6 \
+ --enable-sendmail \
+ --disable-debug
+}
+
+src_install() {
+ default
+
+ insinto /etc
+ # bug 613112
+ newins "${FILESDIR}/mailutils.rc" mailutils.conf
+ keepdir /etc/mailutils.d/
+ insinto /etc/mailutils.d
+ doins "${FILESDIR}/mail"
+
+ use guile && guile_unstrip_ccache
+
+ if use python; then
+ python_optimize
+ if use static-libs; then
+ rm -r "${D}$(python_get_sitedir)/mailutils"/*.{a,la} || die
+ fi
+ fi
+
+ if use servers; then
+ newinitd "${FILESDIR}"/imap4d.initd imap4d
+ newinitd "${FILESDIR}"/pop3d.initd pop3d
+ newinitd "${FILESDIR}"/comsatd.initd comsatd
+ fi
+
+ # compatibility link
+ if use clients && use split-usr; then
+ dosym ../usr/bin/mail /bin/mail
+ fi
+
+ if ! use static-libs; then
+ find "${D}" -name "*.la" -delete || die
+ fi
+}
diff --git a/net-mail/muchsync/Manifest b/net-mail/muchsync/Manifest
index 8913c1675a80..c57e3c49ca62 100644
--- a/net-mail/muchsync/Manifest
+++ b/net-mail/muchsync/Manifest
@@ -1 +1,2 @@
DIST muchsync-6.tar.gz 137023 BLAKE2B b2a60a26bd3a2918b52ea50a98223f828a60c1ba172f349cc350ab8cf224e114623bfb5775a9c05347311f21dbeed14744becd11022fbf8310608faf2a0146f9 SHA512 620e398f7e3973d915c32b1c244e2b1d5ed7c65dfc2a51958e62c229f14f8cf7fe794868930aaddc2d95145795a5affc0f50fc012d2d0b4bf2884930da3eec89
+DIST muchsync-7.tar.gz 140748 BLAKE2B 18b8dd4bcfec4700c304ae97170a3d6e746cd75d9cf3284633bb490b934cf172d0ef792a6f082ad90b2c538755467e193d5b894133e719a4048a3ab09d479afe SHA512 f924d16151a731c370a4a016971e5a1666a2171e3dcc8f691834ec1bda35171a1561274b2a91d866f49df5eab3cd39966514548a8bfaaef136b7c3aa1570dc32
diff --git a/net-mail/muchsync/muchsync-7.ebuild b/net-mail/muchsync/muchsync-7.ebuild
new file mode 100644
index 000000000000..fdfd1f891fd7
--- /dev/null
+++ b/net-mail/muchsync/muchsync-7.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Synchronizes mail messages and notmuch tags across machines"
+HOMEPAGE="https://www.muchsync.org/"
+SRC_URI="https://www.muchsync.org/src/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="dev-db/sqlite:3
+ dev-libs/openssl:0=
+ dev-libs/xapian:=
+ net-mail/notmuch:=
+"
+RDEPEND="${DEPEND}
+ virtual/openssh
+"
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index 217735387d6a..792b00ecc0bb 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -1,5 +1,5 @@
-DIST curl-8.10.0.tar.xz 2729448 BLAKE2B 18b438c0e4e7b0b698a1fee16406c611124e3d137349869dd8dbb43b5ba45163c6a053e02f665e627424c96e18f8499c13ebe1eeb4c1441936d0183d28696ae6 SHA512 055277695ea242fcb0bf26ca6c4867a385cd578cd73ed4c5c4a020233248044c1ecaebcbaeaac47d3ffe07a41300ea5fc86396d7e812137cf75ed3e1b54ca5b2
-DIST curl-8.10.0.tar.xz.asc 488 BLAKE2B 2b651b074b39eb8b34bc9e46a70d4e6597f04250fc3b5c8f8c4641a022529d176179cc54d9c7dccd9b64c62f1873a7ab214705d6a724928e68b871216658a683 SHA512 3d3ece14008facc373cd715d46eeb523bb17a701df3b1839f0774847692613a9472d3e7a60ba814846bbc8e8e4f17c81a1f1355e1c9eebef244b7cd00e0f6fb8
+DIST curl-8.10.1.tar.xz 2726748 BLAKE2B bfdfa24f6d652884044c5e8eea5d70daad651b46255c99c9df502f9595a2dcbf8c4034446becf9e87f8e8a3f397a8fda29ab3e0d6020ac0dae62dd42b8136b78 SHA512 f1c7a12492dcfb8ba08be69b96a83ce9074592cbaa6b95c72b3c16fc58ad35e9f9deec7b72baca7d360d013b0b1c7ea38bd4edae464903ac67aa3c76238d8c6c
+DIST curl-8.10.1.tar.xz.asc 488 BLAKE2B 8e8f2b628d4e8964a76c1c43c5557aacbfc2d2dbc51be8a0fa1b157c257f15f29aedba842cba7cb270c4adcf0b4a5d9c8b0b3d49633c48b061fb3e1472303d66 SHA512 21d6d560c027efc9e3e5db182a77501d6376442221ba910df817e2ec980bee44a9fe2afc698205f8d5e8313ae47915a341d60206a46b46e816d73ee357a894ac
DIST curl-8.7.1.tar.xz 2707016 BLAKE2B a2a9f48d0b69c0d92fcbbda535ce55082a5243abe3ab2db80d6fa3f32fb2c98b65026d69fc45c94e966398cf9ba8d9c95b6b91f4768b54749ed3275dd21838ef SHA512 5bbde9d5648e9226f5490fa951690aaf159149345f3a315df2ba58b2468f3e59ca32e8a49734338afc861803a4f81caac6d642a4699b72c6310ebfb1f618aad2
DIST curl-8.7.1.tar.xz.asc 488 BLAKE2B 1c91d116aecc8e98d8ec3aad68b7c96f11151e6c2716f531e5d2989e9b6b1199e180603673891d7967cdcdaee1d6b5e15160ccabe9b51590e2887022db03c2ed SHA512 f98c393997c4a32f545a8982226e8cd612395210915a4576c2ce227d0f650cff341be7bf15e989d1789abf32ac4fd9c190b9250b81e650b569e8532048746b37
DIST curl-8.8.0.tar.xz 2748860 BLAKE2B c14903bad4cbd1752a5335afa6bcc78be1a484692fce0e0a6c2061963e0e6b4e56defb8332cef32d0dbddb481ad0443b71faf3a52a6e9d945c89ecbce373d2a3 SHA512 9d2c0d3a0d8f6c31ba4fabe48f801910f886fde43dc198dc4213708d6967ed5e040a1bb7348aa1cb126577ee508a3ec36fe65256d027d861d6ffb70f6383967a
diff --git a/net-misc/curl/curl-8.10.0-r1.ebuild b/net-misc/curl/curl-8.10.1.ebuild
index 335c3c36a022..8aa5f19b3d9c 100644
--- a/net-misc/curl/curl-8.10.0-r1.ebuild
+++ b/net-misc/curl/curl-8.10.1.ebuild
@@ -158,7 +158,6 @@ QA_CONFIG_IMPL_DECL_SKIP=(
PATCHES=(
"${FILESDIR}"/${PN}-prefix-2.patch
"${FILESDIR}"/${PN}-respect-cflags-3.patch
- "${FILESDIR}"/${P}-sendrecv-poll.patch
)
src_prepare() {
diff --git a/net-misc/inetutils/inetutils-2.5-r3.ebuild b/net-misc/inetutils/inetutils-2.5-r5.ebuild
index 82f4a8ee053b..c42a36ef11c6 100644
--- a/net-misc/inetutils/inetutils-2.5-r3.ebuild
+++ b/net-misc/inetutils/inetutils-2.5-r5.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit pam
+inherit pam systemd
DESCRIPTION="Collection of common network programs"
HOMEPAGE="https://www.gnu.org/software/inetutils/"
@@ -77,6 +77,48 @@ iu_pamd() {
fi
}
+create_init() {
+ use "$1" || return
+
+ newinitd - "$1" <<-EOF
+ #!${EPREFIX}/sbin/openrc-run
+ command="${EPREFIX}/usr/libexec/$1"
+ command_args="$2"
+ pidfile="${EPREFIX}/var/run/$1.pid"
+ EOF
+
+ systemd_newunit - "$1.service" <<-EOF
+ [Service]
+ ExecStart="${EPREFIX}/usr/libexec/$1"${2:+ }$2
+ PIDFile=${EPREFIX}/var/run/$1.pid
+ Type=forking
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+}
+
+create_socket() {
+ systemd_newunit - "$1.socket" <<-EOF
+ [Socket]
+ ListenStream=$2
+ Accept=yes
+
+ [Install]
+ WantedBy=sockets.target
+ EOF
+
+ systemd_newunit - "$1@.service" <<-EOF
+ [Unit]
+ CollectMode=inactive-or-failed
+
+ [Service]
+ ExecStart="${EPREFIX}/usr/libexec/$1"
+ StandardInput=socket
+ StandardError=journal
+ EOF
+}
+
src_install() {
default
iu_pamd rexecd rexec
@@ -86,4 +128,16 @@ src_install() {
iu_pamd rlogind krlogin
iu_pamd rshd krsh
fi
+
+ create_init ftpd --daemon
+ create_init inetd
+ create_init rlogind --daemon
+ create_init syslogd
+
+ create_socket ftpd 21
+ create_socket rexecd 512
+ create_socket rlogind 513
+ create_socket rshd 514
+ create_socket telnetd 23
+ create_socket uucpd 540
}
diff --git a/net-misc/lldpd/lldpd-1.0.18.ebuild b/net-misc/lldpd/lldpd-1.0.18.ebuild
index 92848bf22b45..38ba68aaacec 100644
--- a/net-misc/lldpd/lldpd-1.0.18.ebuild
+++ b/net-misc/lldpd/lldpd-1.0.18.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/lldpd/lldpd/releases/download/${PV}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/4.9.1"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
IUSE="cdp doc +dot1 +dot3 edp fdp graph +lldpmed old-kernel sanitizers
seccomp sonmp snmp static-libs test readline valgrind xml"
RESTRICT="!test? ( test )"
diff --git a/net-misc/trurl/Manifest b/net-misc/trurl/Manifest
index 0df7a6ebf06b..06eee8f0023a 100644
--- a/net-misc/trurl/Manifest
+++ b/net-misc/trurl/Manifest
@@ -1 +1,2 @@
DIST trurl-0.14.tar.gz 47830 BLAKE2B 15be36ef5c5989cf15d3983827055c793f15ae59efe8e02cc2f55ad9b19c528bb568aacc0583590017a6d6a3a74db1bd6bd3e18d3fee1c7c7d86e71f503d57f7 SHA512 25c1a3035095065368c8a11547e1d918b6f688e293982895a7bc27d9e161c0193ceccfaa0c2440f5c42a8ba4d5176a3f6a4fb843f5fa573328ef9baf5a438165
+DIST trurl-0.15.1.tar.gz 51397 BLAKE2B 41104b5e3b9bfbba17aaa829e5a0766879af963c73f5548d26eac8a80c0f8eb61da77de11a4dfd6321be522121f12ab239384e8e720d72564d4c841d395de0f2 SHA512 b2aabc77861686de137f0013c8782309bf04c0fa51a657384dca0d0f89aa0ca166d7de2c5d7c5c1ff63c1c4a5564e127658e2965dc4ab164939c1c4223f76eac
diff --git a/net-misc/trurl/trurl-0.15.1.ebuild b/net-misc/trurl/trurl-0.15.1.ebuild
new file mode 100644
index 000000000000..b27cb174ba1e
--- /dev/null
+++ b/net-misc/trurl/trurl-0.15.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit toolchain-funcs python-any-r1
+
+DESCRIPTION="Command line tool for URL parsing and manipulation"
+HOMEPAGE="https://curl.se/trurl/ https://daniel.haxx.se/blog/2023/04/03/introducing-trurl/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/curl/trurl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/curl/trurl/archive/refs/tags/${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${P}
+
+ KEYWORDS="~amd64 ~arm ~arm64"
+fi
+
+LICENSE="curl"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Older curls may work but not all features will be present
+DEPEND=">=net-misc/curl-7.81.0"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( ${PYTHON_DEPS} )"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_compile() {
+ tc-export CC
+ export NDEBUG=1
+
+ default
+}
+
+src_test() {
+ emake PYTHON3="${EPYTHON}" test
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
+}
diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
index daebdfc0ea27..4ba01ae153cf 100644
--- a/net-proxy/haproxy/Manifest
+++ b/net-proxy/haproxy/Manifest
@@ -3,11 +3,15 @@ DIST haproxy-2.4.25.tar.gz 3664305 BLAKE2B b02eca0ef2719fad33c8db65b6568706cff3a
DIST haproxy-2.4.27.tar.gz 3671596 BLAKE2B 987df4b07686e68805ff31a6832498ad8a7487a63b37e8d5ba9cd20be245a91c42e50d754d7d580d0899fed630a6bf99bd594cfec7b3a9d00ccac744a09da19b SHA512 97227805acd6131df8b4d398099bd9b89d1cd2aaddce4a3f334bf5b8b4dd01a30a0c3b56a7c23268456cf0e3a39244ddfd3ea0c27ee44f2c3bdf49c045b5fd8c
DIST haproxy-2.6.16.tar.gz 4084854 BLAKE2B 15a33d6d88de9181d4b1b05d59d32f1c76496e3c8d4a8be8d762ff5945a3e56d416f463473dfb9e3c266032458dab737264fea0d18f467e66cca016da33c9fdc SHA512 81d55c46debe61f691cd0d8ccefd6eb8b5387ce1f4591ed7011ddbcc13b521f708499c9921983c9089e7f9ffcf1ed545d5b6124a92409b78def1f7eb1044e147
DIST haproxy-2.6.18.tar.gz 4103766 BLAKE2B e55f401ede25e54b199b33b7fc3dd788a45e9abbeef10fde5be6939124ab14e119ace3a2dd9d191b7c32270989c98787bdc30d2defa80c012215e2761538ce4c SHA512 44bc0504b62c9553fe084c607e8e4d73df100b371a3493663f82fe661d07852046e1be5dc7d195a3d85f1170d9096c6a0770251ed10c1bc88f8f982ce740042f
+DIST haproxy-2.6.19.tar.gz 4110701 BLAKE2B fe003ac433a7756e57751db8f5430fb5f16e20d328bd28c0c5595304570a1450cecc19ca600fae515b21af00bfd6699ba08bd8ccfe43a09b6719e0f90b985a02 SHA512 cdcf6c2108d844c08b586e0e4ee4bd64dde3ef0da7487d65ea68f6fb52d9a1c2c34f4438ffacebea1d0f2400aac9f9f1b9000714a08cbac192a9f302dcc6c345
DIST haproxy-2.7.11.tar.gz 4213212 BLAKE2B ca5713d694b8d709188457dd821218d3474d05dd63ed6d3906d98bf4b24b2ea9847b032d6264c7e80a59043a9e085595fdcbdc0dec44137f0b7d71f1189688e0 SHA512 1e5298397e8759cb260997bf23336b9aa62b56ca7dd832cb4155526d9e7c5c664122e33717ce5be34bbf1539a85a8fbdb6e535aa056d2c232673a4034446288a
DIST haproxy-2.7.9.tar.gz 4186553 BLAKE2B a2c7e92d008886ac5b5cf9f67be808bed68faea41b4bc25a3e5e187a4a2116bc37c40a5df9e2f640dba6c79caea39615eff434e904470e67d7703125a5ffc7e2 SHA512 774d0ae7a402fae0805706f4b88891162e18179f6ad9c2d0916ae30be2502409afdd11dfbbbce9b49564c7e14e8625e4a26751bbfc3b19e3e13ac12c8cc19495
DIST haproxy-2.8.10.tar.gz 4392333 BLAKE2B 4afc387970adbd6f882aa9b1d95cf6cc914d98ce69648282798fe2d97be82adc60c6ad4d0f3a78f56e2eca26d91a47044de2ca7277ca2567ecfdd2233ad64f32 SHA512 0a36f1e17702f4ab6eccf1c10643f4685e8c8b272cc71cbf5feb61c8c95ea52b5fc47eeefc97390bb8cb4ac1d52db0c9ad3c0510f8ca017bf10204690554c6d2
+DIST haproxy-2.8.11.tar.gz 4400628 BLAKE2B 0daccc4dbae5cecae3ad0bc1d164ea78a9584a0f4cb71e15664aff4b76fc05a828030dee355722c99a77270427bd3e9e43939ae59a3f3b1cabcc0179faff34b9 SHA512 59517187a5c0e0dbcb8629d2a922f7a865e1ebdbb9fe0f4fbe273913e0f15a1a26767808bd1607f10e79d3abcdd8c35c1ae648df149a1d5c0df32604df553655
DIST haproxy-2.8.7.tar.gz 4376705 BLAKE2B ae145fe6b642f860af814c2c43e84452a0bbc1b545b1b11eb07c65d903b97e42576b94e1774838b32b29ce32778941b79222669fc7615779c49f2ced85bf3fdc SHA512 dd2fe2ccd5d8805da3f7544451507b182377c34a9951747643c04cb9ee178b7be0978d56a0586c59771c2bb955765d3e961f6f06187afb768dc1fd27f08da464
DIST haproxy-2.9.10.tar.gz 4532342 BLAKE2B a015b04cb008b6b0d0397e57caa0ae2fda7c91cf0c21f581cc58088fc853d962a5fc1750cd07012e03e3a063e9710803c5100e326aa89bc013b87d638764b11b SHA512 3aea657c37251cdeed295e90cbe0b54a87821c87ef17f80cd057a16102212fb1b992c6fe8b7c4f1a5d6f1890170f470a703b74bd17e2546cfd9847323d2c687f
+DIST haproxy-2.9.11.tar.gz 4540689 BLAKE2B 53f81c845e2bb8b3c9935a6035cb28d49708337e16081c2197cab60e4c1f01642cc64f1b2162bdabef07ab79cf72af9fac136bfa19fe89518b7de110433a1789 SHA512 316ab1dfbc60da4fe39acd4f9dc62d352690b35f0787f4fc0ae51853c7d35c656417e97945650bd79900d815414ad9504e4ff368e852657690f20ddc69bd3693
DIST haproxy-2.9.6.tar.gz 4507680 BLAKE2B 5666624d340cba70bc21f53efbe0a7b37897a616e55aa865ffa80471b6b5c03b3eae10bf86078245ec87cc2681b1fd2777148e0fa7f0d4a0a6bc65733f0e8692 SHA512 4e00069356083c8d428bf056e2a26ccfb3e18029cc96769189010d59d0b4f1c7af58986f1653067db83838dcbc2c138798663d3fbb9aac1d3c49c30cfc579c2a
DIST haproxy-2.9.7.tar.gz 4516225 BLAKE2B 60590f2ff726bce2078c2075fe7f5476b870bda935560bcbecaf2deeb097c031d458105920f04b441dd59418b7a45b451b16be142f3bb89ddc5efd92ba98303c SHA512 23f320d49f822761cc0a4d8b7e15c8a58b804e4601c9421fa2433afe19798944d5a7264bf83502534b99236dda7c44ec72b97c1e6cdbcf203ab3090ae5313b3b
DIST haproxy-3.0.4.tar.gz 4689835 BLAKE2B bb3691ac99db91a4a9faecce14f032d152d2fec36bc7722e7a71a8218e05e258c2667e45109af2006f20df38739d911db0be2f4845789824e7a012d4adc7bc38 SHA512 354d441d39a981ca16d844b64e06fde62df9ba0bc7fdd9e79e4890312be18378d7231ac997b035d5ef990f67f0b2cf8e60592026634777ccdb99286078c12867
+DIST haproxy-3.0.5.tar.gz 4698022 BLAKE2B c64d8799755fddaf5b45a9e2b67c5f03b25af98fbddde68ab1206c288d9a65f91938810b150c4398ee138d9154c90f1af9fb05c3d0bbc80394e71430e1cc4396 SHA512 8c16b026d5e26fc030178ecd354c68e8ea32c2b971f143cb2aa2f1b2d16fbfc0a27e3975f78873a0cefe3f904b5f1999f8d75622a04234b9cf88f90161d9ea91
diff --git a/net-proxy/haproxy/haproxy-2.6.19.ebuild b/net-proxy/haproxy/haproxy-2.6.19.ebuild
new file mode 100644
index 000000000000..ce11ece1a066
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.6.19.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.8.11.ebuild b/net-proxy/haproxy/haproxy-2.8.11.ebuild
new file mode 100644
index 000000000000..ce11ece1a066
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.8.11.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.9.11.ebuild b/net-proxy/haproxy/haproxy-2.9.11.ebuild
new file mode 100644
index 000000000000..ce11ece1a066
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.9.11.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-3.0.5.ebuild b/net-proxy/haproxy/haproxy-3.0.5.ebuild
new file mode 100644
index 000000000000..019b7ed1219f
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-3.0.5.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-vpn/candy/candy-5.10.3.ebuild b/net-vpn/candy/candy-5.10.3-r1.ebuild
index 9460dccd05c1..b2396261c0bd 100644
--- a/net-vpn/candy/candy-5.10.3.ebuild
+++ b/net-vpn/candy/candy-5.10.3-r1.ebuild
@@ -14,10 +14,10 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
DEPEND="
- dev-libs/poco
- dev-libs/openssl
- dev-libs/spdlog
- dev-libs/libfmt
+ dev-libs/poco:=
+ dev-libs/openssl:=
+ dev-libs/spdlog:=
+ dev-libs/libfmt:=
"
RDEPEND="
${DEPEND}
diff --git a/net-vpn/candy/candy-5.10.4.ebuild b/net-vpn/candy/candy-5.10.4-r1.ebuild
index 36c322c1a7fa..b2396261c0bd 100644
--- a/net-vpn/candy/candy-5.10.4.ebuild
+++ b/net-vpn/candy/candy-5.10.4-r1.ebuild
@@ -14,10 +14,10 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
DEPEND="
- dev-libs/poco
- dev-libs/openssl:0=
- dev-libs/spdlog
- dev-libs/libfmt
+ dev-libs/poco:=
+ dev-libs/openssl:=
+ dev-libs/spdlog:=
+ dev-libs/libfmt:=
"
RDEPEND="
${DEPEND}
diff --git a/net-wireless/iw/iw-6.7.ebuild b/net-wireless/iw/iw-6.7.ebuild
index f1bbe2108630..c13f238058df 100644
--- a/net-wireless/iw/iw-6.7.ebuild
+++ b/net-wireless/iw/iw-6.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://mirrors.edge.kernel.org/pub/software/network/${PN}/${P}.tar.xz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm ~arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
DEPEND="dev-libs/libnl:="
RDEPEND="
diff --git a/profiles/arch/base/use.mask b/profiles/arch/base/use.mask
index ecee15a9d4de..a9616ebb2587 100644
--- a/profiles/arch/base/use.mask
+++ b/profiles/arch/base/use.mask
@@ -17,10 +17,6 @@ jasper
# sci-libs/atlas is only supported on specific architectures
atlas
-# Michał Górny <mgorny@gentoo.org> (2024-02-05)
-# LLVM slots without keywords.
-llvm_slot_19
-
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2023-07-11)
# Mask secureboot flag on arches where sbsigntools is not keyworded
secureboot
diff --git a/profiles/base/use.stable.mask b/profiles/base/use.stable.mask
index 4c528b5880f3..93d8ee1913f9 100644
--- a/profiles/base/use.stable.mask
+++ b/profiles/base/use.stable.mask
@@ -4,6 +4,10 @@
# This file requires eapi 5 or later. New entries go on top.
# Please use the same syntax as in use.mask
+# Sam James <sam@gentoo.org> (2024-09-18)
+# LLVM slots without stable keywords.
+llvm_slot_19
+
# Michał Górny <mgorny@gentoo.org> (2024-05-08)
# Python implementations without stable keywords.
python_targets_python3_13
diff --git a/profiles/package.mask b/profiles/package.mask
index b67976898544..0b89538c44d0 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -356,6 +356,49 @@ dev-scheme/guile-commonmark
dev-scheme/guile:2.2
dev-scheme/guile:3.0
>=dev-build/make-4.4.1-r100
+>=app-office/gnucash-5.8-r100
+>=app-shells/gash-0.3.0-r100
+>=dev-build/remake-4.3.1.1.6-r100
+>=dev-debug/gdb-15.1-r100
+>=dev-scheme/akku-1.1.0-r100
+>=dev-scheme/bytestructures-2.0.2-r100
+>=dev-scheme/fibers-1.2.0_p20230522-r100
+>=dev-scheme/goosh-1.3-r100
+>=dev-scheme/guile-colorized-0.1_p20191205-r100
+>=dev-scheme/guile-config-0.5.1-r100
+>=dev-scheme/guile-dbi-2.1.9
+>=dev-scheme/guile-dbd-postgresql-2.1.9
+>=dev-scheme/guile-dbd-sqlite3-2.1.9
+>=dev-scheme/guile-gcrypt-0.4.0-r100
+>=dev-scheme/guile-git-0.7.0-r100
+>=dev-scheme/guile-gnutls-4.0.0-r100
+>=dev-scheme/guile-hall-0.4.1-r100
+>=dev-scheme/guile-json-4.7.3-r100
+>=dev-scheme/guile-lib-0.2.7-r100
+>=dev-scheme/guile-libyaml-20211124-r100
+>=dev-scheme/guile-lzlib-0.0.2-r100
+>=dev-scheme/guile-ncurses-3.1-r100
+>=dev-scheme/guile-nyacc-1.06.7-r100
+>=dev-scheme/guile-sqlite3-0.1.3-r100
+>=dev-scheme/guile-ssh-0.16.4-r100
+>=dev-scheme/guile-zlib-0.1.0-r100
+>=dev-scheme/guile-zstd-0.1.1-r100
+>=dev-scheme/xdgdirs-2.2-r100
+>=media-gfx/graphviz-12.0.0-r100
+>=media-sound/lilypond-2.24.4-r100
+>=net-analyzer/alive-2.0.5-r100
+>=net-irc/weechat-4.4.2-r100
+>=net-mail/mailutils-3.17-r100
+>=sci-electronics/geda-1.10.2-r100
+>=sci-electronics/gwave-20190116-r100
+>=sci-libs/linux-gpib-4.3.6-r100
+>=sci-libs/nlopt-2.7.1-r100
+>=sys-devel/autogen-5.18.16-r100
+>=www-client/elinks-0.16.1.1-r100
+>=x11-misc/xbindkeys-1.8.7-r100
+>=dev-scheme/guile-gi-0.3.2-r100
+>=media-sound/denemo-2.6.0-r100
+>=dev-scheme/skribilo-0.10.0-r100
# Eli Schwartz <eschwartz@gentoo.org> (2024-08-15)
# Abandoned upstream since 2011, unmaintained in gentoo since 2017. Tons of
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/clang/eapi b/profiles/prefix/darwin/macos/15.0/arm64/clang/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/clang/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/clang/parent b/profiles/prefix/darwin/macos/15.0/arm64/clang/parent
new file mode 100644
index 000000000000..855aaf175968
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/clang/parent
@@ -0,0 +1,2 @@
+..
+../../../features/clang-lld
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/eapi b/profiles/prefix/darwin/macos/15.0/arm64/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/gcc/eapi b/profiles/prefix/darwin/macos/15.0/arm64/gcc/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/gcc/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/gcc/parent b/profiles/prefix/darwin/macos/15.0/arm64/gcc/parent
new file mode 100644
index 000000000000..5ebbfd24d627
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/gcc/parent
@@ -0,0 +1,2 @@
+..
+../../../features/fsf-gcc-nold
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/make.defaults b/profiles/prefix/darwin/macos/15.0/arm64/make.defaults
new file mode 100644
index 000000000000..d998178e0188
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/make.defaults
@@ -0,0 +1,5 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="arm64-apple-darwin24"
+CHOST_arm64="${CHOST}"
diff --git a/profiles/prefix/darwin/macos/15.0/arm64/parent b/profiles/prefix/darwin/macos/15.0/arm64/parent
new file mode 100644
index 000000000000..a75c3ad0a555
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/arm64/parent
@@ -0,0 +1,2 @@
+..
+../../arch/arm64
diff --git a/profiles/prefix/darwin/macos/15.0/eapi b/profiles/prefix/darwin/macos/15.0/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/make.defaults b/profiles/prefix/darwin/macos/15.0/make.defaults
new file mode 100644
index 000000000000..5ea2db2a3f07
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/make.defaults
@@ -0,0 +1,4 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+MACOSX_DEPLOYMENT_TARGET="15.0"
diff --git a/profiles/prefix/darwin/macos/15.0/package.use.mask b/profiles/prefix/darwin/macos/15.0/package.use.mask
new file mode 100644
index 000000000000..0d222cee3b56
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/package.use.mask
@@ -0,0 +1,7 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Fabian Groffen <grobian@gentoo.org> (2011-04-10)
+# as long as util-linux installs uuid.h which breaks the system headers
+# (hence we don't) we can't do uuid support here
+x11-libs/libSM -uuid
diff --git a/profiles/prefix/darwin/macos/15.0/parent b/profiles/prefix/darwin/macos/15.0/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/prefix/darwin/macos/15.0/profile.bashrc b/profiles/prefix/darwin/macos/15.0/profile.bashrc
new file mode 100644
index 000000000000..933758acd5d9
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/profile.bashrc
@@ -0,0 +1,4 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+export MACOSX_DEPLOYMENT_TARGET=15.0
diff --git a/profiles/prefix/darwin/macos/15.0/x64/eapi b/profiles/prefix/darwin/macos/15.0/x64/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/x64/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/x64/gcc/eapi b/profiles/prefix/darwin/macos/15.0/x64/gcc/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/x64/gcc/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/prefix/darwin/macos/15.0/x64/gcc/parent b/profiles/prefix/darwin/macos/15.0/x64/gcc/parent
new file mode 100644
index 000000000000..fceecddb55c7
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/x64/gcc/parent
@@ -0,0 +1,2 @@
+..
+../../../features/fsf-gcc-ld64
diff --git a/profiles/prefix/darwin/macos/15.0/x64/make.defaults b/profiles/prefix/darwin/macos/15.0/x64/make.defaults
new file mode 100644
index 000000000000..ec3bbe571aeb
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/x64/make.defaults
@@ -0,0 +1,5 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="x86_64-apple-darwin24"
+CHOST_amd64="${CHOST}"
diff --git a/profiles/prefix/darwin/macos/15.0/x64/parent b/profiles/prefix/darwin/macos/15.0/x64/parent
new file mode 100644
index 000000000000..269f6f48bb15
--- /dev/null
+++ b/profiles/prefix/darwin/macos/15.0/x64/parent
@@ -0,0 +1,2 @@
+..
+../../arch/x64
diff --git a/profiles/profiles.desc b/profiles/profiles.desc
index e06559fd61d9..445189fc42ef 100644
--- a/profiles/profiles.desc
+++ b/profiles/profiles.desc
@@ -725,12 +725,14 @@ x64-macos prefix/darwin/macos/12.0/x64 exp
x64-macos prefix/darwin/macos/12.0/x64/gcc exp
x64-macos prefix/darwin/macos/13.0/x64/gcc exp
x64-macos prefix/darwin/macos/14.0/x64/gcc exp
+x64-macos prefix/darwin/macos/15.0/x64/gcc exp
arm64-macos prefix/darwin/macos/11.0/arm64 exp
arm64-macos prefix/darwin/macos/11.0/arm64/gcc exp
arm64-macos prefix/darwin/macos/12.0/arm64 exp
arm64-macos prefix/darwin/macos/12.0/arm64/gcc exp
arm64-macos prefix/darwin/macos/13.0/arm64/gcc exp
arm64-macos prefix/darwin/macos/14.0/arm64/gcc exp
+arm64-macos prefix/darwin/macos/15.0/arm64/gcc exp
# Solaris Profiles
x64-solaris prefix/sunos/solaris/5.11/x64 exp
diff --git a/sci-calculators/tiemu/files/tiemu-3.03-implicit-int.patch b/sci-calculators/tiemu/files/tiemu-3.03-implicit-int.patch
new file mode 100644
index 000000000000..c3f91a61be1d
--- /dev/null
+++ b/sci-calculators/tiemu/files/tiemu-3.03-implicit-int.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/915615
+
+Patch contributed by Matt Whitlock <gentoo@mattwhitlock.name>
+
+--- a/src/core/uae/gencpu.c
++++ b/src/core/uae/gencpu.c
+@@ -304,7 +304,7 @@
+ insn_n_cycles += 4;
+ }
+
+-static void fill_prefetch_next_1 (needcycles)
++static void fill_prefetch_next_1 (int needcycles)
+ {
+ if (needcycles && using_ce) {
+ printf ("\tint lostcycles;\n");
+
diff --git a/sci-calculators/tiemu/tiemu-3.03-r2.ebuild b/sci-calculators/tiemu/tiemu-3.03-r2.ebuild
index 817fd4efec30..6c97f027df6c 100644
--- a/sci-calculators/tiemu/tiemu-3.03-r2.ebuild
+++ b/sci-calculators/tiemu/tiemu-3.03-r2.ebuild
@@ -36,6 +36,7 @@ PATCHES=(
"${FILESDIR}"/${P}-r2820.patch
"${FILESDIR}"/${P}-fix-ftbfs-with-customized-abort-function.patch
"${FILESDIR}"/${P}-clang16-build-fix.patch
+ "${FILESDIR}"/${P}-implicit-int.patch
)
src_prepare() {
diff --git a/sci-electronics/geda/geda-1.10.2-r100.ebuild b/sci-electronics/geda/geda-1.10.2-r100.ebuild
new file mode 100644
index 000000000000..93666fb0cfa9
--- /dev/null
+++ b/sci-electronics/geda/geda-1.10.2-r100.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="
+ media-gfx/graphviz
+ media-gfx/imagemagick
+ virtual/latex-base
+"
+GUILE_COMPAT=( 2-2 )
+inherit autotools docs guile-single xdg
+
+MY_PN=${PN}-gaf
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="GPL Electronic Design Automation (gEDA):gaf core package"
+HOMEPAGE="http://geda-project.org/ http://wiki.geda-project.org/geda:gaf"
+SRC_URI="http://ftp.geda-project.org/${MY_PN}/stable/v$(ver_cut 1-2)/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug fam nls"
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/glib:2
+ sci-electronics/electronics-menu
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/pango
+ nls? ( virtual/libintl )
+ fam? ( app-admin/gamin )
+"
+
+DEPEND="${RDEPEND}
+ dev-util/desktop-file-utils
+ x11-misc/shared-mime-info"
+BDEPEND="
+ sys-apps/groff
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+PATCHES=(
+ # Xorn requires python2
+ "${FILESDIR}/${P}-drop-xorn.patch"
+
+ "${FILESDIR}/${PN}-1.10.2-fix-gtk-sheet.patch"
+)
+
+pkg_setup() {
+ guile-single_pkg_setup
+}
+
+src_prepare() {
+ guile-single_src_prepare
+ rm -r xorn || die
+
+ # remove compressed files, compressed by portage in install phase
+ rm docs/wiki/media/geda/gsch2pcb-libs.tar.gz || die
+ rm docs/wiki/media/geda/pcb_plugin_template.tar.gz || die
+ rm docs/wiki/media/pcb/plugin_debug_window.tar.gz || die
+
+ # -Wmaybe-uninitialized is made fatal, which is not ideal for building
+ # releases. Upstream is working on fixing these anyway.
+ sed -i '/Werror_maybe_uninitialized_IF_SUPPORTED/d' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-rpath
+ --disable-update-xdg-database
+ $(use_enable doc doxygen)
+ $(use_enable debug assert)
+ $(use_enable nls)
+ $(use_with fam libfam)
+ )
+
+ local -x GUILE_SNARF="${GUILESNARF}"
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ guile_src_install
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-electronics/gwave/files/gwave-20190116-lfs-shim.patch b/sci-electronics/gwave/files/gwave-20190116-lfs-shim.patch
new file mode 100644
index 000000000000..5957b6a1b6b0
--- /dev/null
+++ b/sci-electronics/gwave/files/gwave-20190116-lfs-shim.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/886139
+
+--- a/spicefile/sp2sp.c
++++ b/spicefile/sp2sp.c
+@@ -234,7 +234,7 @@
+ }
+ of = stdout;
+ } else {
+- of = (FILE *)fopen64(outfilename, "w"); /* DJW: why is the cast needed? */
++ of = fopen(outfilename, "w");
+ if(!of) {
+ if(errno)
+ perror(outfilename);
+
diff --git a/sci-electronics/gwave/gwave-20190116-r100.ebuild b/sci-electronics/gwave/gwave-20190116-r100.ebuild
new file mode 100644
index 000000000000..2b2cd9972339
--- /dev/null
+++ b/sci-electronics/gwave/gwave-20190116-r100.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="networking"
+GUILE_COMPAT=( 2-2 )
+inherit autotools desktop flag-o-matic guile-single xdg
+
+DESCRIPTION="Analog waveform viewer for SPICE-like simulations"
+HOMEPAGE="http://gwave.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/${PN}/gwave3/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnuplot plotutils"
+SLOT="0"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+DEPEND="
+ ${GUILE_DEPS}
+ >=x11-libs/gtk+-2.8.0:2=
+ sys-libs/readline:0=
+ sys-libs/ncurses:0="
+
+RDEPEND="${DEPEND}
+ sci-electronics/electronics-menu
+ gnuplot? ( sci-visualization/gnuplot )
+ plotutils? ( media-libs/plotutils )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multiple-little-bugfixes.patch
+ "${FILESDIR}"/${P}-as-needed.patch
+ "${FILESDIR}"/${P}-fix-configure.patch
+ "${FILESDIR}"/${P}-lfs-shim.patch
+)
+
+src_prepare() {
+ guile-single_src_prepare
+
+ sed -i \
+ -e "s|guile-snarf|${GUILESNARF}|" \
+ -e "s|guile-tools|${GUILE/guile/guile-tools}|" \
+ src/Makefile.am || die
+ sed -i \
+ -e "s|guile-tools|${GUILE/guile/guile-tools}|" \
+ scheme/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # https://bugs.gentoo.org/886139
+ append-lfs-flags
+ econf
+}
+
+src_install() {
+ guile-single_src_install
+ newicon icons/wave-drag-ok.xpm gwave.xpm
+ make_desktop_entry gwave "Gwave" gwave "Electronics"
+}
diff --git a/sci-geosciences/josm-bin/josm-bin-19160.ebuild b/sci-geosciences/josm-bin/josm-bin-19160.ebuild
index 6303fb8bbeed..3c2c192c743d 100644
--- a/sci-geosciences/josm-bin/josm-bin-19160.ebuild
+++ b/sci-geosciences/josm-bin/josm-bin-19160.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}"
LICENSE="Apache-2.0 GPL-2+ GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND=">=virtual/jre-1.8"
BDEPEND="app-arch/unzip"
diff --git a/sci-geosciences/qmapshack/qmapshack-1.17.1_p600.ebuild b/sci-geosciences/qmapshack/qmapshack-1.17.1_p600-r1.ebuild
index e35048395d1a..c884821ce0d6 100644
--- a/sci-geosciences/qmapshack/qmapshack-1.17.1_p600.ebuild
+++ b/sci-geosciences/qmapshack/qmapshack-1.17.1_p600-r1.ebuild
@@ -17,10 +17,11 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-db/sqlite
- dev-libs/quazip:0=[qt6(+)]
+ >=dev-libs/quazip-1.3:0=[qt6]
dev-qt/qt5compat:6[icu,qml]
+ dev-qt/qtbase[dbus,gui,icu,network,opengl,sql,widgets,xml]
dev-qt/qttools:6[assistant,linguist,opengl,qdbus,qml,widgets,zstd]
- dev-qt/qtwebengine:6[widgets]
+ dev-qt/qtwebengine:6[qml,widgets]
sci-geosciences/routino
sci-libs/alglib
sci-libs/gdal:=
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.6-r100.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.6-r100.ebuild
new file mode 100644
index 000000000000..7950a9d28862
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-4.3.6-r100.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit readme.gentoo-r1 autotools guile-single perl-functions python-single-r1 udev
+
+# Check for latest firmware version on bump
+FW_PV="2008-08-10"
+
+DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/linux-gpib/${P}.tar.gz
+ firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-${FW_PV}.tar.gz )
+"
+S="${WORKDIR}/${PN}-user-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="pcmcia static guile perl php python tcl doc firmware"
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+COMMONDEPEND="
+ sys-libs/readline:=
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( ${GUILE_DEPS} )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ python? ( ${PYTHON_DEPS} )
+ firmware? ( sys-apps/fxload )
+"
+RDEPEND="${COMMONDEPEND}
+ acct-group/gpib
+ ~sci-libs/linux-gpib-modules-${PV}
+"
+DEPEND="${COMMONDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.0-perl.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use perl && perl_set_version
+ use python && python_setup
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
+}
+
+src_prepare() {
+ default
+
+ use guile && guile_bump_sources
+
+ # We have to use --root instead of --prefix for setup.py.
+ # Otherwise the python files are not installed properly into site-packages.
+ sed -i -e \
+ 's/--prefix=$(DESTDIR)$(prefix)/--root=$(DESTDIR)/g' \
+ language/python/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static) \
+ $(use_enable guile guile-binding) \
+ $(use_enable perl perl-binding) \
+ $(use_enable php php-binding) \
+ $(use_enable python python-binding) \
+ $(use_enable tcl tcl-binding) \
+ $(use_enable doc documentation)
+}
+
+src_install() {
+ # PYTHONDONTWRITEBYTECODE=0 is required, otherwise
+ # installation of the python files is skipped
+ FIRM_DIR="${EPREFIX}"/usr/share/usb
+ emake \
+ DESTDIR="${ED}" \
+ INSTALL_MOD_PATH="${ED}" \
+ HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
+ UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
+ USB_FIRMWARE_DIR=${FIRM_DIR} \
+ PYTHONDONTWRITEBYTECODE=0 \
+ docdir="/usr/share/doc/${PF}/html" install
+
+ use guile && guile_unstrip_ccache
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ emake DESTDIR="${ED}" install
+ perl_fix_packlist
+ perl_delete_emptybsdir
+ cd "${S}" || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules || die
+ udev_dorules 99-gpib.rules
+
+ dodoc doc/linux-gpib.pdf ChangeLog AUTHORS README* NEWS
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ # remove .la files
+ find "${ED}" -name '*.la' -delete || die
+
+ DOC_CONTENTS="
+As the udev rules were changed and refactored in this release it is
+necessary to remove any manually installed pre-4.3.0 gpib udev rules files
+in /etc/udev/rules.d/. The files to remove are:
+\n
+ 99-agilent_82357a.rules\n
+ 99-gpib-generic.rules\n
+ 99-ni_usb_gpib.rules\n
+\n
+You need to run the 'gpib_config' utility to setup the driver before
+you can use it. In order to do it automatically you can add to your
+start script something like this (supposing the appropriate driver
+is loaded on the startup):
+\n
+ gpib_config --minor 0
+\n
+To give a user access to the computer's gpib board you will have to add
+them to the group 'gpib' or, you could change the permissions on the device
+files /dev/gpib[0-15] to something you like better, using 'chmod'
+\n
+Edit /etc/gpib.conf to match your interface board, and any devices you wish
+to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
+more information.
+\n
+"
+
+ if use pcmcia; then
+ DOC_CONTENTS+='
+For PCMCIA cards:\n
+All files needed for a PCMCIA board were copied to /etc/pcmcia.
+You may wish to edit the options passed to the gpib_config call in the
+/etc/pcmcia/linux-gpib-pcmcia script.
+You may need to send a SIGHUP signal to the cardmgr daemon to force it
+to reload the files in /etc/pcmcia \(alternatively you could use your
+pcmcia init.d script to restart the cardmgr, or you could just reboot\).
+The driver module will be loaded as needed by the cardmgr.
+
+'
+ fi
+
+ if use firmware; then
+ DOC_CONTENTS+='
+For Agilent \(HP\) 82341C and 82341D cards:
+The firmware for these boards is uploaded by passing the appropriate
+firmware file from /usr/share/linux-gpib/hp_82341 directory to
+gpib_config using the -I or --init-data command line option. Example:\n
+gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
+'
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sci-libs/nlopt/nlopt-2.7.1-r100.ebuild b/sci-libs/nlopt/nlopt-2.7.1-r100.ebuild
new file mode 100644
index 000000000000..55bc5573894b
--- /dev/null
+++ b/sci-libs/nlopt/nlopt-2.7.1-r100.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+FORTRAN_NEEDED="test"
+
+inherit python-r1 cmake guile-single fortran-2
+
+DESCRIPTION="Non-linear optimization library"
+HOMEPAGE="https://github.com/stevengj/nlopt"
+SRC_URI="https://github.com/stevengj/nlopt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="cxx guile octave python test"
+REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} ) python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ guile? ( ${GUILE_DEPS} )
+ octave? ( >=sci-mathematics/octave-6:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="python? ( dev-lang/swig )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ use guile && guile_bump_sources
+ use python && python_copy_sources
+}
+
+src_configure() {
+ # MATLAB detection causes problems (as in bug 826774) if we don't
+ # explicitly disable it.
+ local mycmakeargs=(
+ -DNLOPT_CXX=$(usex cxx)
+ -DNLOPT_FORTRAN=$(usex test)
+ -DNLOPT_GUILE=$(usex guile)
+ -DNLOPT_OCTAVE=$(usex octave)
+ -DNLOPT_MATLAB=OFF
+ -DNLOPT_PYTHON=OFF
+ -DNLOPT_SWIG=$(usex python)
+ -DNLOPT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+
+ if use python; then
+ python_configure() {
+ local mycmakeargs=(
+ ${mycmakeargs[@]}
+ -DNLOPT_PYTHON=ON
+ -DINSTALL_PYTHON_DIR="$(python_get_sitedir)"
+ )
+
+ cmake_src_configure
+ }
+
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ python_foreach_impl run_in_build_dir cmake_src_compile
+ fi
+}
+
+src_test() {
+ do_test() {
+ local a f
+ cd "${BUILD_DIR}"/test
+ for a in {1..$(usex cxx 9 7)}; do
+ for f in {5..9}; do
+ ./testopt -a $a -o $f || die "algorithm $a function $f failed"
+ done
+ done
+ }
+
+ do_test
+
+ if use python; then
+ python_foreach_impl run_in_build_dir do_test
+ fi
+}
+
+nlopt_install() {
+ cmake_src_install
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+
+ guile_unstrip_ccache
+ if use python; then
+ python_foreach_impl run_in_build_dir nlopt_install
+ fi
+
+ local r
+ for r in */README; do
+ newdoc ${r} README.$(dirname ${r})
+ done
+}
diff --git a/sec-keys/openpgp-keys-apache-tomcat/Manifest b/sec-keys/openpgp-keys-apache-tomcat/Manifest
index 4d1605629254..9e8158a58a81 100644
--- a/sec-keys/openpgp-keys-apache-tomcat/Manifest
+++ b/sec-keys/openpgp-keys-apache-tomcat/Manifest
@@ -1,4 +1,4 @@
DIST openpgp-keys-apache-tomcat-10.1.28-KEYS.asc 35385 BLAKE2B 1c2bba42759f901fef1cda1871c706cd5f960de4120de62361853b7e6cade3c205852215e8562e066ca675506bf1a8d424fb588dfd856cdc99bca5bcc575be06 SHA512 43d3c06e6eb776b939864a092161f70759e6f095b9b2bb7f00172cb6dca890fb88dff6f646863b882226ac490ad8082c03a84f93dfe917e7b9aab378f54612ce
-DIST openpgp-keys-apache-tomcat-10.1.29-KEYS.asc 35385 BLAKE2B 1c2bba42759f901fef1cda1871c706cd5f960de4120de62361853b7e6cade3c205852215e8562e066ca675506bf1a8d424fb588dfd856cdc99bca5bcc575be06 SHA512 43d3c06e6eb776b939864a092161f70759e6f095b9b2bb7f00172cb6dca890fb88dff6f646863b882226ac490ad8082c03a84f93dfe917e7b9aab378f54612ce
+DIST openpgp-keys-apache-tomcat-10.1.30-KEYS.asc 35385 BLAKE2B 1c2bba42759f901fef1cda1871c706cd5f960de4120de62361853b7e6cade3c205852215e8562e066ca675506bf1a8d424fb588dfd856cdc99bca5bcc575be06 SHA512 43d3c06e6eb776b939864a092161f70759e6f095b9b2bb7f00172cb6dca890fb88dff6f646863b882226ac490ad8082c03a84f93dfe917e7b9aab378f54612ce
DIST openpgp-keys-apache-tomcat-9.0.93-KEYS.asc 14008 BLAKE2B 62f0f6bf0d89a3930df668c039c69c4b2648128079a4d420f4f0c8a1b4c228ca5c631f3d2f66745a7c4d8c85e98609dc4119bc224306d972f65ab432385a1231 SHA512 51ad85d42824d22ace66ce2eeee62df598d55efe11caad7f6e5c9d09377a80431013711a0243fb0dc1f7a4bf3aa24ed77024a311aa77277743b784e3ef6a946e
-DIST openpgp-keys-apache-tomcat-9.0.94-KEYS.asc 14008 BLAKE2B 62f0f6bf0d89a3930df668c039c69c4b2648128079a4d420f4f0c8a1b4c228ca5c631f3d2f66745a7c4d8c85e98609dc4119bc224306d972f65ab432385a1231 SHA512 51ad85d42824d22ace66ce2eeee62df598d55efe11caad7f6e5c9d09377a80431013711a0243fb0dc1f7a4bf3aa24ed77024a311aa77277743b784e3ef6a946e
+DIST openpgp-keys-apache-tomcat-9.0.95-KEYS.asc 14008 BLAKE2B 62f0f6bf0d89a3930df668c039c69c4b2648128079a4d420f4f0c8a1b4c228ca5c631f3d2f66745a7c4d8c85e98609dc4119bc224306d972f65ab432385a1231 SHA512 51ad85d42824d22ace66ce2eeee62df598d55efe11caad7f6e5c9d09377a80431013711a0243fb0dc1f7a4bf3aa24ed77024a311aa77277743b784e3ef6a946e
diff --git a/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.29.ebuild b/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.30.ebuild
index 7481a3964076..7481a3964076 100644
--- a/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.29.ebuild
+++ b/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-10.1.30.ebuild
diff --git a/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.94.ebuild b/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.95.ebuild
index 57c3e1749269..57c3e1749269 100644
--- a/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.94.ebuild
+++ b/sec-keys/openpgp-keys-apache-tomcat/openpgp-keys-apache-tomcat-9.0.95.ebuild
diff --git a/sec-keys/openpgp-keys-strace/Manifest b/sec-keys/openpgp-keys-strace/Manifest
new file mode 100644
index 000000000000..1b497f6ea033
--- /dev/null
+++ b/sec-keys/openpgp-keys-strace/Manifest
@@ -0,0 +1 @@
+DIST openpgp-keys-strace-20151021-ldv.asc 18604 BLAKE2B 6ebc04c411fab0748a781f6957ca867f9fa947f5581aab0337ddf6ab6e1cae929426a0d2bd0b60b62e7c4689f3bfbbb24096fd79c6e9d57777e87b8f91266037 SHA512 42ee6e993c2f0e53ddd220c858c2d14047842497e9b716ea473195a84ca154ecae2581879f134665cb58f52a58a145b9ce89b5ba3feb0112a9c63bb4f20ba468
diff --git a/sec-keys/openpgp-keys-strace/metadata.xml b/sec-keys/openpgp-keys-strace/metadata.xml
new file mode 100644
index 000000000000..a951b078ee91
--- /dev/null
+++ b/sec-keys/openpgp-keys-strace/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">strace/strace</remote-id>
+ <remote-id type="gitlab">strace/strace</remote-id>
+ <remote-id type="cpe">cpe:/a:strace_project:strace</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sec-keys/openpgp-keys-strace/openpgp-keys-strace-20151021.ebuild b/sec-keys/openpgp-keys-strace/openpgp-keys-strace-20151021.ebuild
new file mode 100644
index 000000000000..bf7acc23d4a6
--- /dev/null
+++ b/sec-keys/openpgp-keys-strace/openpgp-keys-strace-20151021.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OpenPGP keys used by the strace project"
+HOMEPAGE="https://strace.io/"
+# Mirrored from https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x296d6f29a020808e8717a8842db5bd89a340aeb7
+# on 2024-09-18.
+SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-ldv.asc"
+S=${WORKDIR}
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+src_install() {
+ local files=( ${A} )
+ insinto /usr/share/openpgp-keys
+ newins - strace.asc < <(cat "${files[@]/#/${DISTDIR}/}" || die)
+}
diff --git a/sys-apps/bfs/Manifest b/sys-apps/bfs/Manifest
index e9167cc4a2bf..aaed2b1da131 100644
--- a/sys-apps/bfs/Manifest
+++ b/sys-apps/bfs/Manifest
@@ -1,2 +1,3 @@
DIST bfs-3.3.1.tar.gz 262841 BLAKE2B bc848f4daa98172531e6c13100dcd1f3b722f4282acc5fd3677b2c4a83effa49e681d0cac3fa2c104fd1db03543c4f0a6ca9bc494ee3737d0c927f0170171eac SHA512 e31153ef244483e4337bd2bb64fc4ddf55d56048b5af54003a917287868114c81befb771b6cfc7473e384d3157b24cbec7ca27336362a438c7803eb7fc85d8d3
DIST bfs-4.0.1.tar.gz 272678 BLAKE2B c25165b469ea52ef2e0b73ae0cbcef485a739d25cd3c49d25cd0543ab97009b256637d0dab5cb1ce01c3da7ab77519ac6a5b9cff36634c81415ec309d46c7d1d SHA512 0697aab71e2101638fbb5923ec57b9439d6fdd212dccd2f1b90cd4a1bc9c72acca5dca92e9aa6efef06696b324cb6754784602064f35b529ff97d1933672d73c
+DIST bfs-4.0.2.tar.gz 274986 BLAKE2B d87dd646a0c6bced3881426f8a82501e9a8ab19b0d4a249fd44d774cac9fd37a7a0cb01551a2af343b4f0c64f7b9e926cee8db67f5217bd39dd469a85b0b434e SHA512 a3ce3ccee27576a4a0ffb2bd46635aaabc5718cbe53eef5da52bc510dcf629a613802d0b2f95da47d009873e6ab1b87eb84087b30c227b27676bb14cac9f6e97
diff --git a/sys-apps/bfs/bfs-4.0.2.ebuild b/sys-apps/bfs/bfs-4.0.2.ebuild
new file mode 100644
index 000000000000..f98d49a5b7c4
--- /dev/null
+++ b/sys-apps/bfs/bfs-4.0.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo flag-o-matic toolchain-funcs
+
+DESCRIPTION="Breadth-first version of the UNIX find command"
+HOMEPAGE="https://tavianator.com/projects/bfs.html"
+SRC_URI="https://github.com/tavianator/bfs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="0BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc"
+IUSE="acl caps debug io-uring selinux unicode"
+
+DEPEND="
+ acl? ( virtual/acl )
+ caps? ( sys-libs/libcap )
+ io-uring? ( sys-libs/liburing:= )
+ selinux? ( sys-libs/libselinux )
+ unicode? ( dev-libs/oniguruma:= )
+"
+RDEPEND="${DEPEND}"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # Not available on Linux
+ acl_is_trivial_np acl_trivial fdclosedir getdents getprogname
+ posix_spawn_file_actions_addfchdir getmntinfo posix_getdents strtofflags
+ # Seems to be in POSIX 2024 but not yet in ncurses?
+ tcgetwinsize
+)
+
+src_configure() {
+ tc-export CC PKG_CONFIG
+ use debug || append-cppflags -DNDEBUG
+
+ edo ./configure \
+ $(use_with acl libacl) \
+ $(use_with caps libcap) \
+ $(use_with selinux libselinux) \
+ $(use_with io-uring liburing) \
+ $(use_with unicode oniguruma) \
+ V=1
+}
+
+src_compile() {
+ emake V=1
+}
+
+src_test() {
+ # -n check gets confused so need manual src_test definition?
+ emake V=1 check
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/sys-apps/fwupd-efi/fwupd-efi-1.6-r1.ebuild b/sys-apps/fwupd-efi/fwupd-efi-1.6-r1.ebuild
new file mode 100644
index 000000000000..7406eca63ae0
--- /dev/null
+++ b/sys-apps/fwupd-efi/fwupd-efi-1.6-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit meson python-any-r1 secureboot
+
+DESCRIPTION="EFI executable for fwupd"
+HOMEPAGE="https://fwupd.org"
+
+if [[ ${PV} = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fwupd/fwupd-efi.git"
+else
+ SRC_URI="https://github.com/fwupd/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+# uswid is used as a CLI tool, hence no Pythonic stuff
+BDEPEND="$(python_gen_any_dep '
+ dev-python/pefile[${PYTHON_USEDEP}]
+ ')
+ sys-apps/uswid
+ virtual/pkgconfig"
+
+DEPEND=">=sys-boot/gnu-efi-3.0.18"
+
+python_check_deps() {
+ python_has_version "dev-python/pefile[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ secureboot_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ python_fix_shebang "${S}/efi"
+}
+
+src_configure() {
+ local emesonargs=(
+ -Defi-libdir="${EPREFIX}"/usr/$(get_libdir)
+ -Defi_sbat_distro_id="gentoo"
+ -Defi_sbat_distro_summary="Gentoo GNU/Linux"
+ -Defi_sbat_distro_pkgname="${PN}"
+ -Defi_sbat_distro_version="${PVR}"
+ -Defi_sbat_distro_url="https://packages.gentoo.org/packages/${CATEGORY}/${PN}"
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ secureboot_auto_sign
+}
diff --git a/sys-apps/fwupd-efi/metadata.xml b/sys-apps/fwupd-efi/metadata.xml
index 771d90fee052..48dbe6113cec 100644
--- a/sys-apps/fwupd-efi/metadata.xml
+++ b/sys-apps/fwupd-efi/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>johnmh@johnmh.me</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/fwupd/fwupd-efi/issues</bugs-to>
<remote-id type="github">fwupd/fwupd-efi</remote-id>
diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest
index 7513305fec6b..4c948d347a7a 100644
--- a/sys-apps/fwupd/Manifest
+++ b/sys-apps/fwupd/Manifest
@@ -1,2 +1,3 @@
DIST fwupd-1.9.20.tar.xz 4290676 BLAKE2B da9c47df676fc6da059e6a2df60891ff3d9141280ee3be58079c7e07ea785e3129aa5140520dcb87cbd8df7833bc43c201217fac54099133cbab0143fc5dfae8 SHA512 3854421b99e4f6869f840bdf601d3fb61a60ef2875f829858809631f22d24060184c424ef7406ff7ede50ad7a2bcd8b93793244c84d88d2269776f0c26846ee9
DIST fwupd-1.9.23.tar.xz 4300104 BLAKE2B d084244f99b5edccf4bf6a783846623876e9b4344c05bfe3cd412235bcde63d1f36db5528572e371fd0bde27f72c2bd61ba7b6472504ade4c9a068a00e34ca4e SHA512 379adcc79d40795f4895749bc944689ffee6fadc7c3dd1974df98c15120ca47d020ad4efabc68d0371cb36ebd3b549698c05a81bee0a673745a867bb32c4eeb5
+DIST fwupd-1.9.24.tar.xz 4305048 BLAKE2B 5ac7bbc5cdcee13a39fe25cd5b83dfbb9615e6349cd39e8b25cc654c0318870de603c1f6ce550da6662d3f9cd7d275cf6254058f6b71dcb9f7916329147ab771 SHA512 2f9935bbfc3ffc49bf0939a75dd52861eea9108d8f7026dbcdf4c07ad234f70f0b1cb6740eefe555dc2a49aba1ea4d65a78427aad7a0ba9de1fe318734255bfe
diff --git a/sys-apps/fwupd/fwupd-1.9.24.ebuild b/sys-apps/fwupd/fwupd-1.9.24.ebuild
new file mode 100644
index 000000000000..27af56f8a6be
--- /dev/null
+++ b/sys-apps/fwupd/fwupd-1.9.24.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit meson python-single-r1 vala udev xdg
+
+DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
+HOMEPAGE="https://fwupd.org"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="amdgpu amt +archive bash-completion bluetooth cbor elogind fastboot flashrom gnutls gtk-doc +gusb introspection logitech lzma minimal modemmanager nvme policykit spi +sqlite synaptics systemd test test-full tpm uefi"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ^^ ( elogind minimal systemd )
+ fastboot? ( gusb )
+ logitech? ( gusb )
+ minimal? ( !introspection )
+ modemmanager? ( gusb )
+ spi? ( lzma )
+ synaptics? ( gnutls )
+ test? ( archive gusb )
+ test-full? ( test )
+ uefi? ( gnutls )
+"
+RESTRICT="!test? ( test )"
+
+BDEPEND="$(vala_depend)
+ $(python_gen_cond_dep '
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ >=dev-build/meson-0.60.0
+ virtual/pkgconfig
+ gtk-doc? (
+ $(python_gen_cond_dep '
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ ')
+ >=dev-util/gi-docgen-2021.1
+ )
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ introspection? ( dev-libs/gobject-introspection )
+ test? (
+ net-libs/gnutls[tools]
+ test-full? ( dev-util/umockdev )
+ )
+"
+COMMON_DEPEND="${PYTHON_DEPS}
+ >=app-arch/gcab-1.0
+ app-arch/xz-utils
+ >=dev-libs/glib-2.68:2
+ >=dev-libs/json-glib-1.6.0
+ >=dev-libs/libgudev-232:=
+ >=dev-libs/libjcat-0.1.4[gpg,pkcs7]
+ >=dev-libs/libxmlb-0.3.6:=[introspection?]
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ ')
+ >=net-misc/curl-7.62.0
+ archive? ( app-arch/libarchive:= )
+ cbor? ( >=dev-libs/libcbor-0.7.0:= )
+ elogind? ( >=sys-auth/elogind-211 )
+ flashrom? ( >=sys-apps/flashrom-1.2-r3 )
+ gnutls? ( >=net-libs/gnutls-3.6.0 )
+ gusb? ( >=dev-libs/libgusb-0.3.8[introspection?] )
+ logitech? ( dev-libs/protobuf-c:= )
+ lzma? ( app-arch/xz-utils )
+ modemmanager? ( net-misc/modemmanager[mbim,qmi] )
+ policykit? ( >=sys-auth/polkit-0.114 )
+ sqlite? ( dev-db/sqlite )
+ systemd? ( >=sys-apps/systemd-211 )
+ tpm? ( app-crypt/tpm2-tss:= )
+ uefi? (
+ sys-apps/fwupd-efi
+ sys-boot/efibootmgr
+ sys-fs/udisks
+ sys-libs/efivar
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ sys-apps/dbus
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ x11-libs/pango[introspection]
+ amdgpu? (
+ sys-kernel/linux-headers
+ x11-libs/libdrm[video_cards_amdgpu]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.6-fragile_tests.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ if use test-full && has sandbox ${FEATURES}; then
+ ewarn "Certain ${PN} tests are fragile with sandboxing enabled,"
+ ewarn "see https://github.com/fwupd/fwupd/issues/1414."
+ ewarn "When in doubt, emerge ${PN} with USE=-test-full."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ vala_setup
+
+ sed -e "/install_dir.*'doc'/s/doc/gtk-doc/" \
+ -i docs/meson.build || die
+
+ python_fix_shebang "${S}"/contrib/*.py
+}
+
+src_configure() {
+ local plugins=(
+ -Dplugin_gpio="enabled"
+ $(meson_feature amdgpu plugin_amdgpu)
+ $(meson_feature amt plugin_intel_me)
+ $(meson_feature fastboot plugin_fastboot)
+ $(meson_feature flashrom plugin_flashrom)
+ $(meson_feature gusb plugin_uf2)
+ $(meson_feature logitech plugin_logitech_bulkcontroller)
+ $(meson_feature modemmanager plugin_modem_manager)
+ $(meson_feature nvme plugin_nvme)
+ $(meson_use spi plugin_intel_spi)
+ $(meson_feature synaptics plugin_synaptics_mst)
+ $(meson_feature synaptics plugin_synaptics_rmi)
+ $(meson_feature tpm plugin_tpm)
+ $(meson_feature uefi plugin_uefi_capsule)
+ $(meson_use uefi plugin_uefi_capsule_splash)
+ $(meson_feature uefi plugin_uefi_pk)
+ )
+ if use ppc64 || use riscv ; then
+ plugins+=( -Dplugin_msr="disabled" )
+ fi
+
+ local emesonargs=(
+ --localstatedir "${EPREFIX}"/var
+ -Dbuild="$(usex minimal standalone all)"
+ -Dconsolekit="disabled"
+ -Dcurl="enabled"
+ -Defi_binary="false"
+ -Dman="true"
+ -Dsupported_build="enabled"
+ -Dsystemd_unit_user=""
+ -Dudevdir="${EPREFIX}$(get_udevdir)"
+ $(meson_feature archive libarchive)
+ $(meson_use bash-completion bash_completion)
+ $(meson_feature bluetooth bluez)
+ $(meson_feature cbor)
+ $(meson_feature elogind)
+ $(meson_feature gnutls)
+ $(meson_feature gtk-doc docs)
+ $(meson_feature gusb)
+ $(meson_feature lzma)
+ $(meson_feature introspection)
+ $(meson_feature policykit polkit)
+ $(meson_feature sqlite)
+ $(meson_feature systemd)
+ $(meson_use test tests)
+ $(meson_use test-full)
+
+ ${plugins[@]}
+ )
+ use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
+ export CACHE_DIRECTORY="${T}"
+ meson_src_configure
+}
+
+src_test() {
+ LC_ALL="C" meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ if ! use minimal ; then
+ newinitd "${FILESDIR}"/${PN}-r2 ${PN}
+ fi
+
+ if use test; then
+ # Preventing tests from being installed in the first place is a moving target,
+ # just axe them all afterwards.
+ rm -rf \
+ "${ED}"/usr/libexec/installed-tests \
+ "${ED}"/usr/share/fwupd/device-tests \
+ "${ED}"/usr/share/fwupd/host-emulate.d/thinkpad-p1-iommu.json.gz \
+ "${ED}"/usr/share/fwupd/remotes.d/fwupd-tests.conf \
+ "${ED}"/usr/share/installed-tests \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ use minimal || udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ use minimal || udev_reload
+}
diff --git a/sys-apps/fwupd/metadata.xml b/sys-apps/fwupd/metadata.xml
index b19370c03702..f6aae5585891 100644
--- a/sys-apps/fwupd/metadata.xml
+++ b/sys-apps/fwupd/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>johnmh@johnmh.me</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="archive">Use <pkg>app-arch/libarchive</pkg> for archives support</flag>
<flag name="amdgpu">Build and install AMD dGPU (Navi3x and above) plugin</flag>
diff --git a/sys-apps/gawk/Manifest b/sys-apps/gawk/Manifest
index 6021ab2da4cd..a80da9eb3138 100644
--- a/sys-apps/gawk/Manifest
+++ b/sys-apps/gawk/Manifest
@@ -2,3 +2,5 @@ DIST gawk-5.2.2.tar.xz 3402872 BLAKE2B 49dd69d3e2414867d60fe42b74b39bc6858114aee
DIST gawk-5.2.2.tar.xz.sig 488 BLAKE2B ad737580d7eeb556187a3eeb269decb484398ca91b0fbf08da7f78bba92328ca2fb566b00f8e880fb7c5f0f956e49f8ab9fddc73209902c420666d5413e8a467 SHA512 563911c3771feddf64810ef2480705fd470c90380c0e258940cedeef3f15d594ef657ddab267a6d958321333d466b77c9b83be2392549c959245324950fb32ed
DIST gawk-5.3.0.tar.xz 3436180 BLAKE2B 1bab754626a51679e4d6fe4552bc965f402a51d176eab30686bf19c74085fd15507b51514c3c46d38f68d3e98da4326c138411abe12e4d8793cec617b2533f3c SHA512 c274a62c7420e7b7769b8ed94db40024bd5917ff49bd50a77ad6df1f16ecf116968aaf85da94015479466bf5570b370b6fdd197f95212ae0c3509dfcb7d9e35a
DIST gawk-5.3.0.tar.xz.sig 488 BLAKE2B 9d35eca94424cc39bb52b0b790e0db0b9ee51099c40da0a8be7bc60450d227735ba51dcfc10a08f6765d2037054cb9324f0fba100ea2ad08cf56dac1e2c11ac0 SHA512 b0fd75375bee6ca113bb99b07a868729bb90a50d06bc4ff124603594cd9ba564433f69a26e8d01c30f4e4fbfb70ecad2ffa14ed93142b9a1aab2e38ae71b7903
+DIST gawk-5.3.1.tar.xz 3510032 BLAKE2B be9132324344c0b052e954e004a942ff7c6b14b86b73cda491d7a33485f60341be4d8da1a06d1d7a27445b9b39a528bcce3eee9c2a3f8756de21bdc57a33f54d SHA512 c6b4c50ce565e6355ca162955072471e37541c51855c0011e834243a7390db8811344b0c974335844770e408e1f63d72d0d81459a081c392e0245c726019eaff
+DIST gawk-5.3.1.tar.xz.sig 488 BLAKE2B 2abafbb965912a194d047bed3ac1ef33a2b44dce0bc4b1a83a6ca3e2ecf676da0ad8333bb3817f0f32c7d67ab8662dc6086c9e1d6f2185a93d786390197fc643 SHA512 3e13b1bd598b7d4c715c802dcc9db298aeab12721620692f9dd76d3941fdfd87381f660c93be5cc04b6cd7378a6464b9033c93419dfcb514dcc33da8d0d9f502
diff --git a/sys-apps/gawk/gawk-5.3.1.ebuild b/sys-apps/gawk/gawk-5.3.1.ebuild
new file mode 100644
index 000000000000..e4c14b19931a
--- /dev/null
+++ b/sys-apps/gawk/gawk-5.3.1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+#GAWK_IS_BETA=yes
+
+DESCRIPTION="GNU awk pattern-matching language"
+HOMEPAGE="https://www.gnu.org/software/gawk/gawk.html"
+
+if [[ ${GAWK_IS_BETA} == yes || ${PV} == *_beta* ]] ; then
+ if [[ ${PV} == *_beta* ]] ; then
+ # Beta versioning is sometimes for the release prior, e.g.
+ # 5.2.1_beta is labelled upstream as 5.2.0b.
+ MY_PV=${PV/_beta/b}
+ MY_PV=$(ver_cut 1-2 ${MY_PV}).$(($(ver_cut 3 ${MY_PV}) - 1))$(ver_cut 4- ${MY_PV})
+ MY_P=${PN}-${MY_PV}
+
+ S="${WORKDIR}"/${MY_P}
+ else
+ MY_P=${P}
+ fi
+
+ SRC_URI="https://www.skeeve.com/gawk/${MY_P}.tar.gz"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gawk.asc
+ inherit verify-sig
+
+ SRC_URI="mirror://gnu/gawk/${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+# While tempting to enable mpfr by default as e.g. Fedora do, as of 5.2.x,
+# MPFR support is "on parole" and may be removed:
+# https://www.gnu.org/software/gawk/manual/html_node/MPFR-On-Parole.html.
+IUSE="mpfr pma nls readline"
+
+RDEPEND="
+ mpfr? (
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=sys-apps/texinfo-7.1
+ >=sys-devel/bison-3.5.4
+ nls? ( sys-devel/gettext )
+"
+
+if [[ ${GAWK_IS_BETA} != yes ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-gawk )"
+fi
+
+src_prepare() {
+ default
+
+ # Use symlinks rather than hardlinks, and disable version links
+ sed -i \
+ -e '/^LN =/s:=.*:= $(LN_S):' \
+ -e '/install-exec-hook:/s|$|\nfoo:|' \
+ Makefile.in doc/Makefile.in || die
+
+ # bug #413327
+ sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in || die
+
+ # Fix standards conflict on Solaris
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i \
+ -e '/\<_XOPEN_SOURCE\>/s/1$/600/' \
+ -e '/\<_XOPEN_SOURCE_EXTENDED\>/s/1//' \
+ extension/inplace.c || die
+ fi
+}
+
+src_configure() {
+ # README says gawk may not work properly if built with non-Bison.
+ # We already BDEPEND on Bison, so just unset YACC rather than
+ # guessing if we need to do yacc.bison or bison -y.
+ unset YACC
+
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+ --libexec='$(libdir)/misc'
+ $(use_with mpfr)
+ $(use_enable nls)
+ $(use_enable pma)
+ $(use_with readline)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ # Automatic dodocs barfs
+ rm -rf README_d || die
+
+ default
+
+ # Install headers
+ insinto /usr/include/awk
+ doins *.h
+ rm "${ED}"/usr/include/awk/config.h || die
+}
+
+pkg_postinst() {
+ # Symlink creation here as the links do not belong to gawk, but to any awk
+ if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
+ eselect awk update ifunset
+ else
+ local l
+ for l in "${EROOT}"/usr/share/man/man1/gawk.1* "${EROOT}"/usr/bin/gawk ; do
+ if [[ -e ${l} ]] && ! [[ -e ${l/gawk/awk} ]] ; then
+ ln -s "${l##*/}" "${l/gawk/awk}" || die
+ fi
+ done
+
+ if ! [[ -e ${EROOT}/bin/awk ]] ; then
+ # /bin might not exist yet (stage1)
+ [[ -d "${EROOT}/bin" ]] || mkdir "${EROOT}/bin" || die
+
+ ln -s "../usr/bin/gawk" "${EROOT}/bin/awk" || die
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
+ eselect awk update ifunset
+ fi
+}
diff --git a/sys-apps/mawk/Manifest b/sys-apps/mawk/Manifest
index 1688f8fc0cc0..30d236fd37d1 100644
--- a/sys-apps/mawk/Manifest
+++ b/sys-apps/mawk/Manifest
@@ -8,3 +8,5 @@ DIST mawk-1.3.4-20240819.tgz 421586 BLAKE2B cc80703428d50d3eb1ba681aedadc3c0136e
DIST mawk-1.3.4-20240819.tgz.asc 729 BLAKE2B 59139459eb51853d3182858bc3d5db961c1b676bf7e219aff65a45bda6b32e8855502231200d9bc63b15181bce400bf883463877cb3546a237d9622681c9f650 SHA512 0e736aea177a0c28808d47dfb459502eefcccfc6f2129a0bdd3c6571d807a5bb49ef554b8169dc2c6f60c6b544bd7d490ab27ec7534846d1b6b736d98ab8fd4f
DIST mawk-1.3.4-20240827.tgz 423080 BLAKE2B 3844a0240e55b5287397763634ed16fb292919a60228fbb9e7d73e347b9ddef7a206d4207f45d1042fad87d5af62c2bb339dfa5bafc788c2aa854034fccc47f6 SHA512 29d4f4a2ef7bb75b3ac60a3bf1c9d33b09efb842b36b7106d5e76736fde2de5c5647170aa5378f4e1232e2495c064dffae6698bfbdf4546768db457b62fb2012
DIST mawk-1.3.4-20240827.tgz.asc 729 BLAKE2B d1958ba9d04d249c744f48430ccb9deb34b0bbad5e733e2f720269d128f4f2916e6acc69fdfdd7b6b66d755a1b800847da7befa18aa9f1417ea44014e7adf6e3 SHA512 5930fad06cc53de14ff8eb14548b4a3aadf47ac93f2a7122c74db49583fe2d0eb07c29bc0082870e2760c7250c26e0e336fbba918a7c54cef6f75caf0b600357
+DIST mawk-1.3.4-20240905.tgz 423935 BLAKE2B 7c15dddeb4f7afa5a94eb6c3a1f3d84be0e6ccbb56e6ba337f44432a272fd1cf6b162ccfb520f6aeb2393b174a89ba945bb6a325c584721a2ea5b89c073851de SHA512 769ce73112cb912ea82ed18f9a106209c4284a32ede41a4d8af64e862857323a9515551a4e7420d0c0fb6ea5773340771c7d68b17794fb9a810d39783fbdc1d2
+DIST mawk-1.3.4-20240905.tgz.asc 729 BLAKE2B d4db8a008cac7e0a274de689ebef9fe5d7e820937cf61f9bfcac5bfeeff6e70ab920d759e750c3f7248c63876cfa4230e51b0a50b213c91e85c7e59da3e03b24 SHA512 f30f560aeb58dfcb878c2a2d756a88d68c3ed62c3232e7ad9f20469a3bd1fae667276a20a0866dd481f08830551dee6368194421e9e0370d9daa33c520230c16
diff --git a/sys-apps/mawk/mawk-1.3.4_p20240905.ebuild b/sys-apps/mawk/mawk-1.3.4_p20240905.ebuild
new file mode 100644
index 000000000000..b69e235b7eef
--- /dev/null
+++ b/sys-apps/mawk/mawk-1.3.4_p20240905.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit toolchain-funcs verify-sig
+
+MY_P="${P/_p/-}"
+DESCRIPTION="An (often faster than gawk) awk-interpreter"
+HOMEPAGE="https://invisible-island.net/mawk/mawk.html"
+SRC_URI="https://invisible-mirror.net/archives/${PN}/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )"
+
+DOCS=( ACKNOWLEDGMENT CHANGES README )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ arc4random # missing on musl but it handles it fine
+ arc4random_push # doesn't exist on Linux
+)
+
+src_configure() {
+ tc-export BUILD_CC
+ econf
+}
+
+src_install() {
+ default
+
+ exeinto /usr/share/doc/${PF}/examples
+ doexe examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+}
+
+pkg_postinst() {
+ if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then
+ eselect awk update ifunset
+ fi
+}
+
+pkg_postrm() {
+ if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then
+ eselect awk update ifunset
+ fi
+}
diff --git a/sys-apps/openrc/Manifest b/sys-apps/openrc/Manifest
index 628d1dd4d74f..d7bdb25a12b0 100644
--- a/sys-apps/openrc/Manifest
+++ b/sys-apps/openrc/Manifest
@@ -1,4 +1,4 @@
DIST openrc-0.48.tar.gz 250249 BLAKE2B 4d99d0562e268ad747562ee39cae645ea9221a705fb344969388d2f5f8e0597e62c12bda9dffe0d98eab6437aac0af2c873ad082ec8db01cd61e48b8637f421b SHA512 c67c0a1c87f44a6fde0a7634fcdff0683a821eef5183a4f3e1ef850d04dd7f6c23ec0a72b4a76d9f6c08cb34e362d5e204937caec549eadc638c286c2389c5ee
DIST openrc-0.53.1.tar.gz 251312 BLAKE2B c44570b489621ac097f057dd25a9a7fd6274fc68c987d548a8c7ab49068bc2025375527c97b82b919ff955d27ce8e4110d6e8f0472abfd83b6911ea9e501198d SHA512 f4e53c28c62b8f184935387d3d8b30dea5953b28d7e50dc00a2b48d84fa3b0c9c19d27a9cdf0b9879b4e4b2a3f91604b893ad5178680e7af0bbbdbd00e108537
DIST openrc-0.54.2.tar.gz 249992 BLAKE2B 46f7439c9cc264dee19ce3b2ae7d3ac892d302242b9de0855afdfc368bed8bea5b34d95d46327ce3ce796b5dff8e3d30f110249d60ed408a6d6d9a085c7d1c7d SHA512 6a4a9e7d84a5b4f1aeb78a271e69560b1d9e621392b36d26997727d75099f3628e7712f09b4e5393bc588eca41b375e2777a307d8b03ce26f45ed297537c9fd6
-DIST openrc-0.55.tar.gz 249860 BLAKE2B 0d7350a95aee7fd3b8df76cad01e0eac4d3f1f8aaf56aa5a7a01d2fcb21f4aca382eb9472bdced4738571947c232a81689fc8f5dd6289457132cc49497ee3b3c SHA512 3c317efd7fc412db789d1170c37caf127c74194fb3d2327112e85a827be072b1ec86620673bf3e96d72d5e54b38be8366b676169e4b746399646dfe89fefd625
+DIST openrc-0.55.1.tar.gz 249926 BLAKE2B 058c4105ee8198e854c6fd23a3074f6ca4470ffe1faf66ee948e088b859ca55d163e16390ad4dbdd97ff4c1e9bc829fe791e4d96c5ac31f30022dcf91d5179cf SHA512 a06018ef98870bf42f209cdbcb1c578864653929df3d5954ce27adb28fa11c8a2fe0374fe6e10b03a957f7f513b3d64a94800b40f5ab104695d1ed2bfc91615d
diff --git a/sys-apps/openrc/openrc-0.55.ebuild b/sys-apps/openrc/openrc-0.55.1.ebuild
index ac2096513430..ac2096513430 100644
--- a/sys-apps/openrc/openrc-0.55.ebuild
+++ b/sys-apps/openrc/openrc-0.55.1.ebuild
diff --git a/sys-apps/pcmciautils/Manifest b/sys-apps/pcmciautils/Manifest
index 63bc74b18f3d..500a901487bc 100644
--- a/sys-apps/pcmciautils/Manifest
+++ b/sys-apps/pcmciautils/Manifest
@@ -1,3 +1,3 @@
DIST pcmciautils_018-14.debian.tar.xz 11516 BLAKE2B f023fce015a71a09b4b012c0d7396bc8eb426ccbd3c92e0ce7bd46c5f5d2510d0eae5a296300017e316fef1a6471d0040e8f84afc989d7f5fba734fdd5e11e1e SHA512 e5c98cbe54da296a8de05916f2e987f0dd5668e39a65f771e46aa5b1a04aa4821c3c5d0c94b0c9bede26df011f6a441be91f3c49105ceaca631daf013fbd6430
-DIST pcmciautils_018-8.debian.tar.gz 11213 BLAKE2B cf28ecf71ebfd5c4ad7d882cbadab71b787f407adb2d20258cdc1157ca7d542bf398ff09207037d1d6e933d43e477b50b28ca3f0ac0e557fbaefb9f31656843e SHA512 8a00d776e208b43d01fe22b9d4e889bc1b2c5982aa1bf225bdd613ffb0f5b37f5266ccc1cb91df9ac49c4ee3e3653ebb29807b61fff53c585e2cfed5aa2cd9e9
+DIST pcmciautils_018-18.debian.tar.xz 12184 BLAKE2B 88d6d394dddd6973f9d18d1437a541851606a5f7ad5fe2cb1279cbe79bfb624e2d68829dc3733e13b90bc6d45e48ad29ea7b68ddde8f2d597196a2badd1c3d19 SHA512 2081bf550f16aa9e976ea4f8e88c7a3519dfe16935a0165563e070652791ef1ee89bf18e7bdf1fff64027cea2663e1c2531c1802149a47381f51a3764079e442
DIST pcmciautils_018.orig.tar.gz 48516 BLAKE2B 0b197cdd7d0940e5c0eee2da961f0f4dd972a3178ba5d07a6492185d0ab156cd61f5343c8f9d812cff402f04af76a15baa3db564d14317d3817e5325dd8811fb SHA512 f0af1fc6155686ae61c1c85a6451b032088a3880dfbc05c1d1ed33ca8e975745f9d4bedb0f3ee0a1252461aa008bed8014c73ff850cddd89d930524a6d68d47d
diff --git a/sys-apps/pcmciautils/pcmciautils-018_p8-r3.ebuild b/sys-apps/pcmciautils/pcmciautils-018_p18.ebuild
index c7f6111bb77d..b72fbf77e118 100644
--- a/sys-apps/pcmciautils/pcmciautils-018_p8-r3.ebuild
+++ b/sys-apps/pcmciautils/pcmciautils-018_p18.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic linux-info toolchain-funcs udev
@@ -10,13 +10,15 @@ MY_PV=${PV%_p*}
DESCRIPTION="PCMCIA userspace utilities for Linux"
HOMEPAGE="https://packages.qa.debian.org/pcmciautils"
-SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
- mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}-${DEB_REV}.debian.tar.gz"
+SRC_URI="
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}-${DEB_REV}.debian.tar.xz
+"
S="${WORKDIR}"/${PN}-${MY_PV}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~loong ppc ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~x86"
IUSE="debug staticsocket"
RDEPEND="sys-apps/kmod[tools]"
@@ -27,8 +29,9 @@ DEPEND="${RDEPEND}
PATCHES=(
"${WORKDIR}"/debian/patches/no-modprobe-rules.patch
"${WORKDIR}"/debian/patches/remove-libsysfs-dep.patch
- "${FILESDIR}"/${P}-flex-2.6.3-fix.patch
+ "${FILESDIR}"/${PN}-018_p8-flex-2.6.3-fix.patch
"${FILESDIR}"/${PN}-018_p8-musl-unsigned-type.patch
+ "${WORKDIR}"/debian/patches/parallel-build.patch
)
pkg_setup() {
@@ -59,6 +62,7 @@ src_configure() {
V=true
udevdir="$(get_udevdir)"
CC="$(tc-getCC)"
+ HOSTCC="$(tc-getBUILD_CC)"
LD="$(tc-getCC)"
AR="$(tc-getAR)"
STRIP=true
@@ -76,3 +80,11 @@ src_install() {
dodoc doc/*.txt
}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index 68ee3af2c25e..5789fe3a82bd 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -2,4 +2,5 @@ DIST portage-3.0.61.tar.bz2 1178151 BLAKE2B bad3140735b12a18a3108e91cc88146fc5c6
DIST portage-3.0.63.tar.bz2 1187961 BLAKE2B 10523150b0eabac97309004c57356c40fa94ebd59f8f76701ae63d13f9424b523ccee2a367174af3a52078d5d9e4338b94e144247f6709c2f7df4418c040b06f SHA512 323adc17254f92e58f22028dad12ebcaaafa25c82567c5d31cc9575c30e0d78224c8f9efe0fcbeee549b08b0797edffb4bbe9c6fbbd8943e3f9dcda25eedd699
DIST portage-3.0.64.tar.bz2 1187654 BLAKE2B 622cdda85315ab60ca3b1ae7cf1cb1fe479b69c945dafe14655030387d857ae89c0d8326b85fb3d3754ea95ecf2792ae60ba36f1ad9b18d1ac693fdabf9b235e SHA512 26a9fc9532aebd5965c6d62d78914d827ac48df100b5fc518934857881ca19b927e05b2cd9a2bb674b0e1bd5feff2058a083de9c8fb86af16efe8752325c7722
DIST portage-3.0.65.tar.bz2 1193321 BLAKE2B 4734b0a2b17cf0cdbd0bedac9efa6cecb5799460e1faa8b8ab137fa017e17d47d6d5da6382e75322f21d4be77a31acffbacd753c70b43b011613cc5a6332bc96 SHA512 c864bcb3bef11916128852a5f50b161d82529d7316ec970703a9ec948c46a51148419ef1dfde2906f72347dd41d0eebd49f5a1769a228d97145f5517c34dbff8
+DIST portage-3.0.66.1.tar.bz2 1198196 BLAKE2B 8dbd1bc17c1a9a3530425efa31a27efba39e1ef5f5457b4084875c64f7128453139aea447c25a642c124438e88ef484a43b1838cbd8c03748017571dd18f9921 SHA512 fcd3d4d3dcfdb67cbcdb0f4854860f073b4a9d41dadc97a3e6f890e3c75091aceec5622e97495741622b5c390309f05dec35b9e951d7ee7a78e28a9b3ed2939d
DIST portage-3.0.66.tar.bz2 1198148 BLAKE2B 77012739f18dfbbf088533fc9ccb64fe870d849ef6dadfdd92855d16fbca5eec08b065f94067898016787c03fd1b338dbe06192d56a97f2ad62681bda37c3be8 SHA512 0b182a2078c1c2b7d2e7148834dd6f2b2ae09bf4c91454e0cae908406abd9ad221a46738869ead17c5595c988bb2c11c462ba29ffb022389b1f2e824f093c853
diff --git a/sys-apps/portage/portage-3.0.66.1.ebuild b/sys-apps/portage/portage-3.0.66.1.ebuild
new file mode 100644
index 000000000000..5958c3dd1f5e
--- /dev/null
+++ b/sys-apps/portage/portage-3.0.66.1.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE='bzip2(+),threads(+)'
+TMPFILES_OPTIONAL=1
+
+inherit meson linux-info python-r1 tmpfiles
+
+DESCRIPTION="The package management and distribution system for Gentoo"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/portage.git
+ https://github.com/gentoo/portage.git
+ "
+ inherit git-r3
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.27
+ >=dev-build/meson-1.3.0-r1
+ >=sys-apps/sed-4.0.5
+ sys-devel/patch
+ !build? ( $(python_gen_impl_dep 'ssl(+)') )
+ apidoc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-epytext[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ~app-text/docbook-xml-dtd-4.4
+ app-text/xmlto
+ )
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# Require sandbox-2.2 for bug #288863.
+# For whirlpool hash, require python[ssl] (bug #425046).
+RDEPEND="
+ ${PYTHON_DEPS}
+ acct-user/portage
+ >=app-arch/tar-1.27
+ app-arch/zstd
+ >=app-misc/pax-utils-0.1.17
+ dev-lang/python-exec:2
+ >=sys-apps/baselayout-2.9
+ >=sys-apps/findutils-4.9
+ !build? (
+ >=app-admin/eselect-1.2
+ app-portage/getuto
+ >=app-shells/bash-5.0:0
+ >=sec-keys/openpgp-keys-gentoo-release-20240703
+ >=sys-apps/sed-4.0.5
+ rsync-verify? (
+ >=app-crypt/gnupg-2.2.4-r2[ssl(-)]
+ >=app-portage/gemato-14.5[${PYTHON_USEDEP}]
+ )
+ )
+ elibc_glibc? ( >=sys-apps/sandbox-2.2 )
+ elibc_musl? ( >=sys-apps/sandbox-2.2 )
+ kernel_linux? ( sys-apps/util-linux )
+ selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
+ xattr? ( kernel_linux? (
+ >=sys-apps/install-xattr-0.3
+ ) )
+"
+# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
+# NOTE: FEATURES=installsources requires debugedit and rsync
+PDEPEND="
+ !build? (
+ >=net-misc/rsync-2.6.4
+ >=sys-apps/coreutils-6.4
+ >=sys-apps/file-5.44-r3
+ )
+"
+
+pkg_pretend() {
+ local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
+
+ check_extra_config
+}
+
+src_prepare() {
+ default
+
+ if use prefix-guest; then
+ sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
+ -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
+ -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
+ -i cnf/repos.conf || die "sed failed"
+ fi
+}
+
+src_configure() {
+ local code_only=false
+ python_foreach_impl my_src_configure
+}
+
+my_src_configure() {
+ local emesonargs=(
+ -Dcode-only=${code_only}
+ -Deprefix="${EPREFIX}"
+ -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(meson_use doc)
+ $(meson_use apidoc)
+ $(meson_use gentoo-dev)
+ $(meson_use ipc)
+ $(meson_use xattr)
+ )
+
+ if use native-extensions && [[ "${EPYTHON}" != "pypy3" ]] ; then
+ emesonargs+=( -Dnative-extensions=true )
+ else
+ emesonargs+=( -Dnative-extensions=false )
+ fi
+
+ if use build; then
+ emesonargs+=( -Drsync-verify=false )
+ else
+ emesonargs+=( $(meson_use rsync-verify) )
+ fi
+
+ meson_src_configure
+ code_only=true
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ local EPYTEST_XDIST=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ python_foreach_impl epytest
+}
+
+src_install() {
+ python_foreach_impl my_src_install
+ dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf
+
+ local scripts
+ mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die)
+ python_replicate_script "${scripts[@]}"
+}
+
+my_src_install() {
+ local pydirs=(
+ "${D}$(python_get_sitedir)"
+ "${ED}/usr/lib/portage/${EPYTHON}"
+ )
+
+ meson_src_install
+ python_fix_shebang "${pydirs[@]}"
+ python_optimize "${pydirs[@]}"
+}
+
+pkg_preinst() {
+ if ! use build && [[ -z ${ROOT} ]]; then
+ python_setup
+ local sitedir=$(python_get_sitedir)
+ [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
+ env -u DISTDIR \
+ -u PORTAGE_OVERRIDE_EPREFIX \
+ -u PORTAGE_REPOSITORIES \
+ -u PORTDIR \
+ -u PORTDIR_OVERLAY \
+ PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
+ "${PYTHON}" -m portage._compat_upgrade.default_locations || die
+
+ env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \
+ PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
+ "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die
+
+ env -u FEATURES -u PORTAGE_REPOSITORIES \
+ PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
+ "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die
+
+ env -u BINPKG_FORMAT \
+ PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
+ "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die
+ fi
+
+ # elog dir must exist to avoid logrotate error for bug #415911.
+ # This code runs in preinst in order to bypass the mapping of
+ # portage:portage to root:root which happens after src_install.
+ keepdir /var/log/portage/elog
+ # This is allowed to fail if the user/group are invalid for prefix users.
+ if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then
+ chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog}
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.3.77"; then
+ elog "The emerge --autounmask option is now disabled by default, except for"
+ elog "portions of behavior which are controlled by the --autounmask-use and"
+ elog "--autounmask-license options. For backward compatibility, previous"
+ elog "behavior of --autounmask=y and --autounmask=n is entirely preserved."
+ elog "Users can get the old behavior simply by adding --autounmask to the"
+ elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this"
+ elog "change, see https://bugs.gentoo.org/658648."
+ fi
+}
+
+pkg_postinst() {
+ # Warn about obsolete "enotice" script, bug #867010
+ local bashrc=${EROOT}/etc/portage/profile/profile.bashrc
+ if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then
+ eerror "Obsolete 'enotice' script detected!"
+ eerror "Please remove this from ${bashrc} to avoid problems."
+ eerror "See bug 867010 for more details."
+ fi
+}
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest
index 388b7cada10a..f865ddebde29 100644
--- a/sys-apps/sysvinit/Manifest
+++ b/sys-apps/sysvinit/Manifest
@@ -2,3 +2,5 @@ DIST sysvinit-3.08.tar.xz 268296 BLAKE2B ec4a4ff3663ac7d67808b50b67631ff4fe1ab56
DIST sysvinit-3.08.tar.xz.sig 833 BLAKE2B b1cbe8a95faa16a22e92e2a8841643aeaf7a5a31cc9fa9628a7ee2400aac1b3a184ae01f09c75d48d5d55a71f7e62feb25c16345644bfb4fcd19cbd061f86573 SHA512 1af105d84b98428766cc315d8dea068e6c5a7ad52008291ba7c1d5accbcaeead4999fd714fc152c1038e54953f9b469bd0f792a0830e68c3e2f43afcd36e0e2d
DIST sysvinit-3.09.tar.xz 239600 BLAKE2B 81c3e80dd66896110b1a2488415dd20fae03b4b7d8d4f40d175c195942e1c13367a7f1cf9efd1c79a37e16684bd12e1c76dbb1f8faab44e495e8de684fe744ef SHA512 ddd3681e24c699f9f0cf2cfc44488e32205a8fcf1723b79da47b95adef0c0edc1d9fd387d259dba15a2158fbd0b7920d789b46a9f3c7cd016a12bb1dc92f00d4
DIST sysvinit-3.09.tar.xz.sig 833 BLAKE2B f00020388eb330d753c4280d96b1363c1b539bf8b8cc21a79f055970f44acebf14e690b132dc09ed43e6db8907624083e7b5cc5849808fd804188d97c5eafd2d SHA512 c509bb8dc4fee98ac8e4502bc10e1058dc91126eeb0767a56167267bc14d4b09353b98d8d3a8a5c5dc2b5a0e2e315e0c8c9d3d662ac14510466ae5092504e672
+DIST sysvinit-3.10.tar.xz 240060 BLAKE2B 894f1ad140f1e92f4d4a2220a9abff6ba106d9f84ee0e001ee8d5a0f41a2877e08110d442a2bcd52efc5662838fae36835b067091d37b9f4d295b47c01c26153 SHA512 769fb7995bd01074202d06f0cd2bd5661bd170fc9e83a631c3400d7db8d705520250f47165bdf3dd73d78f9730749f97f7ca8d84e2f30e5fb1949ac3fbaeb053
+DIST sysvinit-3.10.tar.xz.sig 833 BLAKE2B 98e931a055f18c757f84ba555fcb9b5771c51690918d31ac0eb078218b3aa53065caeb5647abcc3e606b245bdd450b4649cb2274560a9fc27844dc7a1eac7a9c SHA512 7759fc58a6298c645a2868bfeea750656bf424c49235e860a4ee5c92a766437dcd566ddcd01b37cfa4dff53ab3b1c96f4dcd41f7234f8c64c01f8edb0932a681
diff --git a/sys-apps/sysvinit/sysvinit-3.10.ebuild b/sys-apps/sysvinit/sysvinit-3.10.ebuild
new file mode 100644
index 000000000000..a7beec09b9b9
--- /dev/null
+++ b/sys-apps/sysvinit/sysvinit-3.10.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Dropped these because blank as of 3.02
+#PLOCALES="de es fi fr hu id pl"
+PLOCALES="de es fr pl"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sysvinit.asc
+inherit toolchain-funcs flag-o-matic plocale verify-sig
+
+DESCRIPTION="/sbin/init - parent of all processes"
+HOMEPAGE="https://savannah.nongnu.org/projects/sysvinit"
+# https://github.com/slicer69/sysvinit/issues/12
+#SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz"
+#SRC_URI+=" verify-sig? ( mirror://nongnu/${PN}/${P/_/-}.tar.xz.sig )"
+SRC_URI="https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz.sig )"
+S="${WORKDIR}/${P/_*}"
+
+LICENSE="GPL-2"
+SLOT="0"
+if [[ ${PV} != *beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+IUSE="selinux ibm nls static"
+
+COMMON_DEPEND="
+ acct-group/root
+ selinux? (
+ >=sys-libs/libselinux-1.28
+ )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/os-headers
+"
+# Old OpenRC blocker is for bug #587424
+# Keep for longer than usual given it's cheap and avoid user inconvenience
+RDEPEND="
+ ${COMMON_DEPEND}
+ !<app-i18n/man-pages-l10n-4.18.1-r1
+ !<sys-apps/openrc-0.13
+ selinux? ( sec-policy/selinux-shutdown )
+"
+# po4a is for man page translations
+BDEPEND="
+ nls? ( app-text/po4a )
+ verify-sig? ( >=sec-keys/openpgp-keys-sysvinit-20220413 )
+"
+
+PATCHES=(
+ # bug #158615
+ "${FILESDIR}/${PN}-3.08-shutdown-single.patch"
+)
+
+src_prepare() {
+ default
+
+ # We already enforce F_S=2 as a minimum in our toolchain, and
+ # allow 3. Also, SSP doesn't always make sense for some platforms
+ # e.g. HPPA. It's default-on in our toolchain where it works.
+ sed -i \
+ -e '/^CPPFLAGS =$/d' \
+ -e '/^override CFLAGS +=/s/ -fstack-protector-strong//' \
+ -e '/^override CFLAGS +=/s/ -D_FORTIFY_SOURCE=2//' \
+ src/Makefile || die
+
+ # last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux
+ sed -i -r \
+ -e '/^(USR)?S?BIN/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \
+ -e '/^MAN[18]/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \
+ src/Makefile || die
+
+ # pidof has moved to >=procps-3.3.9
+ sed -i -r \
+ -e '/\/bin\/pidof/d' \
+ -e '/^MAN8/s:\<pidof.8\>::g' \
+ src/Makefile || die
+
+ # logsave is already in e2fsprogs
+ sed -i -r \
+ -e '/^(USR)?S?BIN/s:\<logsave\>::g' \
+ -e '/^MAN8/s:\<logsave.8\>::g' \
+ src/Makefile || die
+
+ # Munge inittab for specific architectures
+ cd "${WORKDIR}" || die
+ cp "${FILESDIR}"/inittab-2.98-r1 inittab || die "cp inittab"
+ local insert=()
+ use ppc && insert=( '#psc0:12345:respawn:/sbin/agetty 115200 ttyPSC0 linux' )
+ use arm && insert=( '#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100' )
+ use arm64 && insert=( 'f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100' )
+ use hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' )
+ use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console dumb' )
+ if use ibm ; then
+ insert+=(
+ '#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0'
+ '#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0'
+ )
+ fi
+ (use arm || use mips || use sparc) && sed -i '/ttyS0/s:#::' inittab
+ if use x86 || use amd64 ; then
+ sed -i \
+ -e '/ttyS[01]/s:9600:115200:' \
+ inittab
+ fi
+
+ if [[ ${#insert[@]} -gt 0 ]] ; then
+ printf '%s\n' '' '# Architecture specific features' "${insert[@]}" >> inittab
+ fi
+
+ delete_unused_locale() {
+ local locale=${1}
+
+ einfo "Deleting non-requested man page translations for locale=${locale}"
+ rm "${S}"/man/po/${locale}.po || die
+
+ sed -i -e "/^\[po4a_langs\]/ s:${locale}::" "${S}"/man/po/po4a.cfg || die
+ }
+
+ plocale_for_each_disabled_locale delete_unused_locale
+}
+
+src_compile() {
+ tc-export CC
+
+ append-lfs-flags
+
+ # bug #381311
+ export DISTRO=
+ export VERSION="${PV}"
+
+ use static && append-ldflags -static
+ emake -C src $(usex selinux 'WITH_SELINUX=yes' '')
+
+ if use nls && [[ -n "$(plocale_get_locales)" ]] ; then
+ cd man/po || die
+ po4a po4a.cfg || die
+ fi
+}
+
+src_install() {
+ emake -C src install ROOT="${ED}"
+ dodoc README doc/*
+
+ insinto /etc
+ doins "${WORKDIR}"/inittab
+
+ newinitd "${FILESDIR}"/bootlogd.initd bootlogd
+ newconfd "${FILESDIR}"/bootlogd.confd bootlogd
+
+ into /
+ dosbin "${FILESDIR}"/halt.sh
+
+ keepdir /etc/inittab.d
+
+ if use nls && [[ -n "$(plocale_get_locales)" ]] ; then
+ install_locale_man_pages() {
+ doman -i18n=${1} man/po/${1}/*
+ }
+
+ plocale_for_each_locale install_locale_man_pages
+ fi
+
+ # Dead symlink
+ find "${ED}" -xtype l -delete || die
+
+ find "${ED}" -type d -empty -delete || die
+}
+
+pkg_postinst() {
+ # Reload init to fix unmounting problems of / on next reboot.
+ # This is really needed, as without the new version of init cause init
+ # not to quit properly on reboot, and causes a fsck of / on next reboot.
+ if [[ -z ${EROOT} ]] ; then
+ if [[ -e /dev/initctl ]] && [[ ! -e /run/initctl ]] ; then
+ ln -s /dev/initctl /run/initctl \
+ || ewarn "Failed to set /run/initctl symlink!"
+ fi
+ # Do not return an error if this fails
+ /sbin/telinit U &>/dev/null
+ fi
+
+ elog "The last/lastb/mesg/mountpoint/sulogin/utmpdump/wall tools have been moved to"
+ elog "sys-apps/util-linux. The pidof tool has been moved to sys-process/procps."
+
+ # Required for new bootlogd service
+ if [[ ! -e "${EROOT}/var/log/boot" ]] ; then
+ touch "${EROOT}/var/log/boot"
+ fi
+
+ local ver
+ for ver in ${REPLACING_VERSIONS}; do
+ ver_test ${ver} -ge 3.07-r2 && continue
+ ewarn "Previously, the 'halt' command caused the system to power off"
+ ewarn "even if option -p was not given. This long-standing bug has"
+ ewarn "been fixed, and the command now behaves as documented."
+ break
+ done
+}
diff --git a/sys-apps/usermode-utilities/usermode-utilities-20070815-r6.ebuild b/sys-apps/usermode-utilities/usermode-utilities-20070815-r6.ebuild
index 33b2245e39e8..d08ba46dfd6a 100644
--- a/sys-apps/usermode-utilities/usermode-utilities-20070815-r6.ebuild
+++ b/sys-apps/usermode-utilities/usermode-utilities-20070815-r6.ebuild
@@ -6,14 +6,14 @@ EAPI=8
inherit toolchain-funcs
DESCRIPTION="Tools for use with Usermode Linux virtual machines"
-HOMEPAGE="http://user-mode-linux.sourceforge.net/"
-SRC_URI="http://user-mode-linux.sourceforge.net/uml_utilities_${PV}.tar.bz2"
+HOMEPAGE="https://user-mode-linux.sourceforge.net/"
+SRC_URI="https://user-mode-linux.sourceforge.net/uml_utilities_${PV}.tar.bz2"
S="${WORKDIR}"/tools-${PV}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 arm x86"
IUSE="fuse"
RDEPEND="
diff --git a/sys-block/f3/f3-8.0.ebuild b/sys-block/f3/f3-8.0.ebuild
deleted file mode 100644
index 88a46210bc81..000000000000
--- a/sys-block/f3/f3-8.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Utilities to detect broken or counterfeit flash storage"
-HOMEPAGE="http://oss.digirati.com.br/f3/ https://github.com/AltraMayor/f3"
-
-PATCHES=(
-)
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/AltraMayor/${PN}.git"
-
- PATCHES=()
-
- inherit git-r3
-else
- SRC_URI="https://github.com/AltraMayor/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-IUSE="extra"
-
-RDEPEND="elibc_musl? ( sys-libs/argp-standalone )"
-DEPEND="${RDEPEND}
- extra? (
- sys-block/parted
- virtual/udev
- )"
-
-DOCS=( changelog README.rst )
-
-src_prepare() {
- default
-
- sed -i \
- -e 's:-ggdb::' \
- -e 's:^PREFIX =:PREFIX ?=:' \
- Makefile || die
-
- # bug #715518
- use elibc_musl && append-ldflags -largp
-
- tc-export CC
-}
-
-src_compile() {
- default
-
- if use extra; then
- emake V=1 extra
- fi
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" install
-
- if use extra; then
- emake PREFIX="${ED}/usr" install-extra
- fi
-
- einstalldocs
-}
diff --git a/sys-devel/autogen/autogen-5.18.16-r100.ebuild b/sys-devel/autogen/autogen-5.18.16-r100.ebuild
new file mode 100644
index 000000000000..ca84c102bfb6
--- /dev/null
+++ b/sys-devel/autogen/autogen-5.18.16-r100.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+inherit flag-o-matic autotools guile-single toolchain-funcs
+
+DESCRIPTION="Program and text file generation"
+HOMEPAGE="https://www.gnu.org/software/autogen/"
+SRC_URI="
+ mirror://gnu/${PN}/rel${PV}/${P}.tar.xz
+ https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/verify.h;h=3b57ddee0acffd23cc51bc8910a15cf879f90619;hb=537a5511ab0b1326e69b32f87593a50aedb8a589 -> ${P}-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify.h
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="libopts static-libs"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+ ${GUILE_DEPS}
+ dev-libs/libxml2
+"
+DEPEND="${RDEPEND}"
+
+# We don't pass the flag explicitly, bug #796776.
+# Let's fix it upstream after next autogen release if it happens.
+QA_CONFIGURE_OPTIONS+=" --enable-snprintfv-convenience"
+
+QA_CONFIG_IMPL_DECL_SKIP+=(
+ # libgen.h is legacy and linux doesn't include -lgen nor nonstandard
+ # functions. bug #924961
+ pathfind
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.18.16-no-werror.patch
+ "${FILESDIR}"/${PN}-5.18.16-rpath.patch
+ "${FILESDIR}"/${PN}-5.18.16-respect-TMPDIR.patch
+ "${FILESDIR}"/${PN}-5.18.16-make-4.3.patch
+ "${FILESDIR}"/${PN}-5.18.16-guile-3.patch
+ "${FILESDIR}"/${PN}-5.18.16-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.18.16-FORTIFY_SOURCE.patch
+ "${FILESDIR}"/${PN}-5.18.16-no-which.patch
+)
+
+src_prepare() {
+ guile-single_src_prepare
+
+ # missing tarball file
+ cp "${DISTDIR}"/${P}-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify.h autoopts/verify.h || die
+
+ # May be able to drop this on next release (>5.18.16)
+ eautoreconf
+}
+
+src_configure() {
+ # suppress possibly incorrect -R flag
+ export ag_cv_test_ldflags=
+
+ # autogen requires run-time sanity of regex and string functions.
+ # Use defaults of linux-glibc until we need somethig more advanced.
+ if tc-is-cross-compiler ; then
+ export ag_cv_run_strcspn=no
+ export libopts_cv_with_libregex=yes
+ fi
+
+ # bug 920174
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ guile-single_src_install
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use libopts ; then
+ rm "${ED}"/usr/share/autogen/libopts-*.tar.gz || die
+ fi
+}
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-devel/clang-common/clang-common-19.1.0.ebuild b/sys-devel/clang-common/clang-common-19.1.0.ebuild
new file mode 100644
index 000000000000..8c285440f7e4
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-19.1.0.ebuild
@@ -0,0 +1,305 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 llvm.org multilib
+
+DESCRIPTION="Common files shared between multiple slots of clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="
+ default-compiler-rt default-libcxx default-lld
+ bootstrap-prefix cet hardened llvm-libunwind
+"
+
+PDEPEND="
+ sys-devel/clang:*
+ default-compiler-rt? (
+ sys-devel/clang-runtime[compiler-rt]
+ llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] )
+ !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
+ )
+ !default-compiler-rt? ( sys-devel/gcc )
+ default-libcxx? ( >=sys-libs/libcxx-${PV}[static-libs] )
+ !default-libcxx? ( sys-devel/gcc )
+ default-lld? ( >=sys-devel/lld-${PV} )
+ !default-lld? ( sys-devel/binutils )
+"
+IDEPEND="
+ !default-compiler-rt? ( sys-devel/gcc-config )
+ !default-libcxx? ( sys-devel/gcc-config )
+"
+
+LLVM_COMPONENTS=( clang/utils )
+llvm.org_set_globals
+
+pkg_pretend() {
+ [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
+
+ local flag missing_flags=()
+ for flag in default-{compiler-rt,libcxx,lld}; do
+ if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then
+ missing_flags+=( "${flag}" )
+ fi
+ done
+
+ if [[ ${missing_flags[@]} ]]; then
+ eerror "It seems that you have the following flags set on sys-devel/clang:"
+ eerror
+ eerror " ${missing_flags[*]}"
+ eerror
+ eerror "The default runtimes are now set via flags on sys-devel/clang-common."
+ eerror "The build is being aborted to prevent breakage. Please either set"
+ eerror "the respective flags on this ebuild, e.g.:"
+ eerror
+ eerror " sys-devel/clang-common ${missing_flags[*]}"
+ eerror
+ eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
+ die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common"
+ fi
+}
+
+_doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ if [[ ${triple} == x86_64* ]]; then
+ cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
+ @gentoo-cet.cfg
+ EOF
+ fi
+ done
+
+ if use kernel_Darwin; then
+ cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
+ -lc++abi
+ EOF
+ fi
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+ if [[ ${triple} == x86_64* ]]; then
+ cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
+ @gentoo-cet.cfg
+ EOF
+ fi
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
+doclang_cfg() {
+ local triple="${1}"
+
+ _doclang_cfg ${triple}
+
+ # LLVM may have different arch names in some cases. For example in x86
+ # profiles the triple uses i686, but llvm will prefer i386 if invoked
+ # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
+ # be used if invoked through ${CHOST}-clang{,++,-cpp} though.
+ #
+ # To make sure the correct triples are installed,
+ # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
+ # and compare with CHOST values in profiles.
+
+ local abi=${triple%%-*}
+ case ${abi} in
+ armv4l|armv4t|armv5tel|armv6j|armv7a)
+ _doclang_cfg ${triple/${abi}/arm}
+ ;;
+ i686)
+ _doclang_cfg ${triple/${abi}/i386}
+ ;;
+ sparc)
+ _doclang_cfg ${triple/${abi}/sparcel}
+ ;;
+ sparc64)
+ _doclang_cfg ${triple/${abi}/sparcv9}
+ ;;
+ esac
+}
+
+src_install() {
+ newbashcomp bash-autocomplete.sh clang
+
+ insinto /etc/clang
+ newins - gentoo-runtimes.cfg <<-EOF
+ # This file is initially generated by sys-devel/clang-runtime.
+ # It is used to control the default runtimes using by clang.
+
+ --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
+ --unwindlib=$(usex default-compiler-rt libunwind libgcc)
+ --stdlib=$(usex default-libcxx libc++ libstdc++)
+ -fuse-ld=$(usex default-lld lld bfd)
+ EOF
+
+ newins - gentoo-gcc-install.cfg <<-EOF
+ # This file is maintained by gcc-config.
+ # It is used to specify the selected GCC installation.
+ EOF
+
+ newins - gentoo-common.cfg <<-EOF
+ # This file contains flags common to clang, clang++ and clang-cpp.
+ @gentoo-runtimes.cfg
+ @gentoo-gcc-install.cfg
+ @gentoo-hardened.cfg
+ # bug #870001
+ -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
+ EOF
+
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
+ # Baseline hardening (bug #851111)
+ newins - gentoo-hardened.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
+ -Xarch_host -fstack-clash-protection
+ -Xarch_host -fstack-protector-strong
+ -fPIE
+ -include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+
+ newins - gentoo-cet.cfg <<-EOF
+ -Xarch_host -fcf-protection=$(usex cet full none)
+ EOF
+
+ if use kernel_Darwin; then
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # There was -Wl,-z,relro here, but it's not supported on Mac
+ # TODO: investigate whether -bind_at_load or -read_only_stubs will do the job
+ EOF
+ else
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
+ -Wl,-z,relro
+ -Wl,-z,now
+ EOF
+ fi
+
+ dodir /usr/include/gentoo
+
+ cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
+ /* __has_include is an extension, but it's fine, because this is only
+ for Clang anyway. */
+ #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__)
+ # include <stdc-predef.h>
+ #endif
+ EOF
+
+ local fortify_level=$(usex hardened 3 2)
+ # We have to do this because glibc's headers warn if F_S is set
+ # without optimization and that would at the very least be very noisy
+ # during builds and at worst trigger many -Werror builds.
+ cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
+ #ifdef __clang__
+ # pragma clang system_header
+ #endif
+ #ifndef _FORTIFY_SOURCE
+ # if defined(__has_feature)
+ # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
+ # else
+ # define __GENTOO_HAS_FEATURE(x) 0
+ # endif
+ #
+ # if defined(__STDC_HOSTED__) && __STDC_HOSTED__ == 1
+ # define __GENTOO_NOT_FREESTANDING 1
+ # else
+ # define __GENTOO_NOT_FREESTANDING 0
+ # endif
+ #
+ # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 && __GENTOO_NOT_FREESTANDING > 0
+ # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
+ # define _FORTIFY_SOURCE ${fortify_level}
+ # endif
+ # endif
+ # undef __GENTOO_HAS_FEATURE
+ # undef __GENTOO_NOT_FREESTANDING
+ #endif
+ EOF
+
+ # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
+ # non-hardened?
+ if use hardened ; then
+ cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
+ -Xarch_host -D_GLIBCXX_ASSERTIONS
+
+ # Analogue to GLIBCXX_ASSERTIONS
+ # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
+ # https://libcxx.llvm.org/Hardening.html#using-hardened-mode
+ -Xarch_host -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
+ EOF
+
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
+ EOF
+ fi
+
+ # We only install config files for supported ABIs because unprefixed tools
+ # might be used for crosscompilation where e.g. PIE may not be supported.
+ # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug #912685.
+ local abi
+ for abi in $(get_all_abis); do
+ local abi_chost=$(get_abi_CHOST "${abi}")
+ doclang_cfg "${abi_chost}"
+ done
+
+ if use kernel_Darwin; then
+ cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
+ # Gentoo Prefix on Darwin
+ -Wl,-search_paths_first
+ -Wl,-rpath,${EPREFIX}/usr/lib
+ -L ${EPREFIX}/usr/lib
+ -isystem ${EPREFIX}/usr/include
+ -isysroot ${EPREFIX}/MacOSX.sdk
+ EOF
+ if use bootstrap-prefix ; then
+ # bootstrap-prefix is only set during stage2 of bootstrapping
+ # Prefix, where EPREFIX is set to EPREFIX/tmp.
+ # Here we need to point it at the future lib dir of the stage3's
+ # EPREFIX.
+ cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
+ -Wl,-rpath,${EPREFIX}/../usr/lib
+ EOF
+ fi
+ fi
+}
+
+pkg_preinst() {
+ if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
+ then
+ local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
+ if [[ -n ${gcc_path} ]]; then
+ cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
+ --gcc-install-dir="${gcc_path%%:*}"
+ EOF
+ fi
+ fi
+}
diff --git a/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild b/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild
new file mode 100644
index 000000000000..8ded193c919c
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-build toolchain-funcs
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+
+LICENSE="metapackage"
+SLOT="${PV%%.*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+
+RDEPEND="
+ compiler-rt? (
+ ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ sanitize? (
+ ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ )
+ )
+ libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+ openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )
+"
+
+pkg_pretend() {
+ if tc-is-clang; then
+ ewarn "You seem to be using clang as a system compiler. As of clang-16,"
+ ewarn "upstream has turned a few warnings that commonly occur during"
+ ewarn "configure script runs into errors by default. This causes some"
+ ewarn "configure tests to start failing, sometimes resulting in silent"
+ ewarn "breakage, missing functionality or runtime misbehavior. It is"
+ ewarn "not yet clear whether the change will remain or be reverted."
+ ewarn
+ ewarn "For more information, please see:"
+ ewarn "https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213"
+ fi
+}
diff --git a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-19.ebuild b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-19.ebuild
index 3496a0f89b67..5da14bc07f7a 100644
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-19.ebuild
+++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-19.ebuild
@@ -11,6 +11,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
# Blocker for bug #872416
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index 0cde05c052a4..29239e5b5c69 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -15,6 +15,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-devel/clang/clang-19.1.0.ebuild b/sys-devel/clang/clang-19.1.0.ebuild
new file mode 100644
index 000000000000..54dae879d767
--- /dev/null
+++ b/sys-devel/clang/clang-19.1.0.ebuild
@@ -0,0 +1,471 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake llvm.org llvm-utils multilib multilib-minimal
+inherit prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
+IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
+ static-analyzer? ( dev-lang/perl:* )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${DEPEND}
+ >=sys-devel/clang-common-${PV}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( ~sys-devel/lld-${PV} )
+ xml? ( virtual/pkgconfig )
+"
+PDEPEND="
+ ~sys-devel/clang-runtime-${PV}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=(
+ clang clang-tools-extra cmake
+)
+LLVM_MANPAGES=1
+LLVM_TEST_COMPONENTS=(
+ llvm/utils
+)
+LLVM_USE_TARGETS=llvm
+llvm.org_set_globals
+
+[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( "
+BDEPEND+="
+ $(python_gen_cond_dep '
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ')
+"
+[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) "
+
+# Multilib notes:
+# 1. ABI_* flags control ABIs libclang* is built for only.
+# 2. clang is always capable of compiling code for all ABIs for enabled
+# target. However, you will need appropriate crt* files (installed
+# e.g. by sys-devel/gcc and sys-libs/glibc).
+# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
+# in the current profile (i.e. alike supported by sys-devel/gcc).
+#
+# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
+# multilib clang* libraries (not runtime, not wrappers).
+
+src_prepare() {
+ # create extra parent dir for relative CLANG_RESOURCE_DIR access
+ mkdir -p x/y || die
+ BUILD_DIR=${WORKDIR}/x/y/clang
+
+ llvm.org_src_prepare
+
+ # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
+ eprefixify \
+ lib/Lex/InitHeaderSearch.cpp \
+ lib/Driver/ToolChains/Darwin.cpp || die
+
+ if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
+ sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # meta-targets
+ clang-libraries|distribution)
+ continue
+ ;;
+ # tools
+ clang|clangd|clang-*)
+ ;;
+ # static libraries
+ clang*|findAllSymbols)
+ continue
+ ;;
+ # conditional to USE=doc
+ docs-clang-html|docs-clang-tools-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # common stuff
+ clang-cmake-exports
+ clang-headers
+ clang-resource-headers
+ libclang-headers
+
+ aarch64-resource-headers
+ arm-common-resource-headers
+ arm-resource-headers
+ core-resource-headers
+ cuda-resource-headers
+ hexagon-resource-headers
+ hip-resource-headers
+ hlsl-resource-headers
+ mips-resource-headers
+ opencl-resource-headers
+ openmp-resource-headers
+ ppc-htm-resource-headers
+ ppc-resource-headers
+ riscv-resource-headers
+ systemz-resource-headers
+ utility-resource-headers
+ ve-resource-headers
+ webassembly-resource-headers
+ windows-resource-headers
+ x86-resource-headers
+
+ # libs
+ clang-cpp
+ libclang
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # common stuff
+ bash-autocomplete
+ libclang-python-bindings
+
+ # tools
+ amdgpu-arch
+ c-index-test
+ clang
+ clang-format
+ clang-installapi
+ clang-linker-wrapper
+ clang-nvlink-wrapper
+ clang-offload-bundler
+ clang-offload-packager
+ clang-refactor
+ clang-repl
+ clang-rename
+ clang-scan-deps
+ diagtool
+ hmaptool
+ nvptx-arch
+
+ # needed for cross-compiling Clang
+ clang-tblgen
+ )
+
+ if use extra; then
+ out+=(
+ # extra tools
+ clang-apply-replacements
+ clang-change-namespace
+ clang-doc
+ clang-include-cleaner
+ clang-include-fixer
+ clang-move
+ clang-pseudo
+ clang-query
+ clang-reorder-fields
+ clang-tidy
+ clang-tidy-headers
+ clangd
+ find-all-symbols
+ modularize
+ pp-trace
+ )
+ fi
+
+ if llvm_are_manpages_built; then
+ out+=( docs-clang-man )
+ use extra && out+=( docs-clang-tools-man )
+ fi
+
+ if use doc; then
+ out+=( docs-clang-html )
+ use extra && out+=( docs-clang-tools-html )
+ fi
+
+ use static-analyzer && out+=(
+ clang-check
+ clang-extdef-mapping
+ scan-build
+ scan-build-py
+ scan-view
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ local mycmakeargs=(
+ -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
+ # relative to bindir
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}"
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DCLANG_LINK_CLANG_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+ -DCLANG_INCLUDE_TESTS=$(usex test)
+
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+
+ # these are not propagated reliably, so redefine them
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+ -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
+
+ -DCLANG_ENABLE_LIBXML2=$(usex xml)
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+ # TODO: CLANG_ENABLE_HLSL?
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if ! use elibc_musl; then
+ mycmakeargs+=(
+ -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double)
+ )
+ fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_SPHINX=ON
+ -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ if use extra; then
+ mycmakeargs+=(
+ -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+ )
+ fi
+ fi
+ mycmakeargs+=(
+ -DCLANG_INCLUDE_DOCS=${build_docs}
+ )
+ fi
+ if multilib_native_use extra; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+ -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
+ )
+ else
+ mycmakeargs+=(
+ -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
+ )
+ fi
+
+ if [[ -n ${EPREFIX} ]]; then
+ mycmakeargs+=(
+ -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ has_version -b sys-devel/clang:${LLVM_MAJOR} ||
+ die "sys-devel/clang:${LLVM_MAJOR} is required on the build host."
+ local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin
+ mycmakeargs+=(
+ -DLLVM_TOOLS_BINARY_DIR="${tools_bin}"
+ -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen
+ )
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local test_targets=( check-clang )
+ if multilib_native_use extra; then
+ test_targets+=(
+ check-clang-tools
+ check-clangd
+ )
+ fi
+ cmake_build "${test_targets[@]}"
+}
+
+src_install() {
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/clang/Config/config.h
+ )
+
+ multilib-minimal_src_install
+
+ # Move runtime headers to /usr/lib/clang, where they belong
+ mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
+ # move (remaining) wrapped headers back
+ if use extra; then
+ mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
+ fi
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+
+ # Apply CHOST and version suffix to clang tools
+ local clang_tools=( clang clang++ clang-cl clang-cpp )
+ local abi i
+
+ # cmake gives us:
+ # - clang-X
+ # - clang -> clang-X
+ # - clang++, clang-cl, clang-cpp -> clang
+ # we want to have:
+ # - clang-X
+ # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
+ # - clang, clang++, clang-cl, clang-cpp -> clang*-X
+ # also in CHOST variant
+ for i in "${clang_tools[@]:1}"; do
+ rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
+ done
+
+ # now create target symlinks for all supported ABIs
+ for abi in $(get_all_abis); do
+ local abi_chost=$(get_abi_CHOST "${abi}")
+ for i in "${clang_tools[@]}"; do
+ dosym "${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
+ done
+ done
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping & ABI mismatch checks
+ # (also drop the version suffix from runtime headers)
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die
+ if multilib_native_use extra; then
+ # don't wrap clang-tidy headers, the list is too long
+ # (they're fine for non-native ABI but enabling the targets is problematic)
+ mv "${ED}"/usr/include/clang-tidy "${T}/" || die
+ fi
+}
+
+multilib_src_install_all() {
+ python_fix_shebang "${ED}"
+ if use static-analyzer; then
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
+ fi
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+ # match 'html' non-compression
+ use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
+ # +x for some reason; TODO: investigate
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+
+ elog "You can find additional utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
+ if use extra; then
+ elog "Some of them are vim integration scripts (with instructions inside)."
+ elog "The run-clang-tidy.py script requires the following additional package:"
+ elog " dev-python/pyyaml"
+ fi
+}
+
+pkg_postrm() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/gcc/gcc-10.5.0.ebuild b/sys-devel/gcc/gcc-10.5.0.ebuild
index 1c38d13dc19a..0f2205413cb9 100644
--- a/sys-devel/gcc/gcc-10.5.0.ebuild
+++ b/sys-devel/gcc/gcc-10.5.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="10.5.0"
PATCH_VER="6"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild b/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
index 25c7d792237f..417f4754dea4 100644
--- a/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
+++ b/sys-devel/gcc/gcc-11.4.1_p20240501.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="11.4.0"
PATCH_VER="12"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-11.5.0.ebuild b/sys-devel/gcc/gcc-11.5.0.ebuild
index b371c9aa7310..4282e62ae404 100644
--- a/sys-devel/gcc/gcc-11.5.0.ebuild
+++ b/sys-devel/gcc/gcc-11.5.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="11.4.0"
PATCH_VER="12"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
index af4495489e4d..7f7adbf4aa22 100644
--- a/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
+++ b/sys-devel/gcc/gcc-12.3.1_p20240209.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
PATCH_VER="3"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-12.4.0.ebuild b/sys-devel/gcc/gcc-12.4.0.ebuild
index af4495489e4d..7f7adbf4aa22 100644
--- a/sys-devel/gcc/gcc-12.4.0.ebuild
+++ b/sys-devel/gcc/gcc-12.4.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
PATCH_VER="3"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-12.4.1_p20240829.ebuild b/sys-devel/gcc/gcc-12.4.1_p20240829.ebuild
index 220fd184cf7a..d6312b98e032 100644
--- a/sys-devel/gcc/gcc-12.4.1_p20240829.ebuild
+++ b/sys-devel/gcc/gcc-12.4.1_p20240829.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
PATCH_VER="3"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-12.4.1_p20240905.ebuild b/sys-devel/gcc/gcc-12.4.1_p20240905.ebuild
index 220fd184cf7a..d6312b98e032 100644
--- a/sys-devel/gcc/gcc-12.4.1_p20240905.ebuild
+++ b/sys-devel/gcc/gcc-12.4.1_p20240905.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
PATCH_VER="3"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-12.4.1_p20240912.ebuild b/sys-devel/gcc/gcc-12.4.1_p20240912.ebuild
index 220fd184cf7a..d6312b98e032 100644
--- a/sys-devel/gcc/gcc-12.4.1_p20240912.ebuild
+++ b/sys-devel/gcc/gcc-12.4.1_p20240912.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
PATCH_VER="3"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-12.5.9999.ebuild b/sys-devel/gcc/gcc-12.5.9999.ebuild
index b66d7f055f23..f53e12b9ce5f 100644
--- a/sys-devel/gcc/gcc-12.5.9999.ebuild
+++ b/sys-devel/gcc/gcc-12.5.9999.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="12.3.0"
MUSL_GCC_VER="12.3.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-13.2.0.ebuild b/sys-devel/gcc/gcc-13.2.0.ebuild
index b14b9fea4804..dc739761db42 100644
--- a/sys-devel/gcc/gcc-13.2.0.ebuild
+++ b/sys-devel/gcc/gcc-13.2.0.ebuild
@@ -5,6 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
PATCH_VER="3"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
index 1a557eb3d3a2..ddcc19f03dc8 100644
--- a/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240210.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
PATCH_VER="14"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild b/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
index e8978a0424a0..0e2a5ec26af0 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20240614.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="17"
diff --git a/sys-devel/gcc/gcc-13.3.1_p20240830.ebuild b/sys-devel/gcc/gcc-13.3.1_p20240830.ebuild
index 740880e94563..bc9e058b8a4a 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20240830.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20240830.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="18"
diff --git a/sys-devel/gcc/gcc-13.3.1_p20240906.ebuild b/sys-devel/gcc/gcc-13.3.1_p20240906.ebuild
index 740880e94563..bc9e058b8a4a 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20240906.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20240906.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="18"
diff --git a/sys-devel/gcc/gcc-13.3.1_p20240913.ebuild b/sys-devel/gcc/gcc-13.3.1_p20240913.ebuild
index 740880e94563..bc9e058b8a4a 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20240913.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20240913.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="18"
diff --git a/sys-devel/gcc/gcc-13.4.9999.ebuild b/sys-devel/gcc/gcc-13.4.9999.ebuild
index 257dc331d8c4..d8f1286b3516 100644
--- a/sys-devel/gcc/gcc-13.4.9999.ebuild
+++ b/sys-devel/gcc/gcc-13.4.9999.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="16"
diff --git a/sys-devel/gcc/gcc-14.2.0.ebuild b/sys-devel/gcc/gcc-14.2.0.ebuild
index dc3f01c10077..ce8bd73361ff 100644
--- a/sys-devel/gcc/gcc-14.2.0.ebuild
+++ b/sys-devel/gcc/gcc-14.2.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="4"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild b/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild
index a20857ef74ba..fdbbb220f723 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="5"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild b/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild
index dc3f01c10077..ce8bd73361ff 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="4"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.2.1_p20240831.ebuild b/sys-devel/gcc/gcc-14.2.1_p20240831.ebuild
index a20857ef74ba..fdbbb220f723 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20240831.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20240831.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="5"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.2.1_p20240907.ebuild b/sys-devel/gcc/gcc-14.2.1_p20240907.ebuild
index a20857ef74ba..fdbbb220f723 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20240907.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20240907.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="5"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.2.1_p20240914.ebuild b/sys-devel/gcc/gcc-14.2.1_p20240914.ebuild
index a20857ef74ba..fdbbb220f723 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20240914.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20240914.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
PATCH_VER="5"
MUSL_VER="1"
diff --git a/sys-devel/gcc/gcc-14.3.9999.ebuild b/sys-devel/gcc/gcc-14.3.9999.ebuild
index cee600c71e71..bc9e2e7b7b05 100644
--- a/sys-devel/gcc/gcc-14.3.9999.ebuild
+++ b/sys-devel/gcc/gcc-14.3.9999.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.1.0"
MUSL_GCC_VER="14.1.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild
index 65d6a54537ef..20fecb656626 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
PATCH_VER="11"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240901.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240901.ebuild
index 251b75fc96ae..3ae01ca0596b 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20240901.ebuild
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240901.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
PATCH_VER="12"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240908.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240908.ebuild
index 251b75fc96ae..3ae01ca0596b 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20240908.ebuild
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240908.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
PATCH_VER="12"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240915.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240915.ebuild
index 251b75fc96ae..3ae01ca0596b 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20240915.ebuild
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240915.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
PATCH_VER="12"
MUSL_VER="2"
diff --git a/sys-devel/gcc/gcc-15.0.9999.ebuild b/sys-devel/gcc/gcc-15.0.9999.ebuild
index 54390309a356..01eae230d759 100644
--- a/sys-devel/gcc/gcc-15.0.9999.ebuild
+++ b/sys-devel/gcc/gcc-15.0.9999.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
index 13197fafa7d8..c1ae8df40177 100644
--- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild
+++ b/sys-devel/gcc/gcc-8.5.0-r1.ebuild
@@ -5,6 +5,7 @@ EAPI="7"
TOOLCHAIN_PATCH_SUFFIX="xz"
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_VER="4"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-9.5.0.ebuild b/sys-devel/gcc/gcc-9.5.0.ebuild
index 3e1ae186c507..db195459e4a6 100644
--- a/sys-devel/gcc/gcc-9.5.0.ebuild
+++ b/sys-devel/gcc/gcc-9.5.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="9.5.0"
PATCH_VER="2"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/kgcc64/Manifest b/sys-devel/kgcc64/Manifest
index 554a64850555..29b2a67c44c7 100644
--- a/sys-devel/kgcc64/Manifest
+++ b/sys-devel/kgcc64/Manifest
@@ -19,4 +19,3 @@ DIST gcc-14-20240817.tar.xz 88024252 BLAKE2B 994b3e263246e344c6898943a17feb63f07
DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
DIST gcc-14.1.0-patches-1.tar.xz 11584 BLAKE2B d483f4e3324acdc26b9837028d5e20ad0cdcf3ef4bcc78a6902d63ceebc7e5ff70c8163f6a8c8e36405df47c59dd2df506147c53ce51a8ec73494e65b5902647 SHA512 3d7aea113b594d1896c93e9e6be85f467488fa75de2800ed76eab2f87cef26829b235d1f361b187e38cf13b0fb9518cd4431c3106ec1e49d0f744e7eb703eaa0
DIST gcc-14.1.0-patches-4.tar.xz 11620 BLAKE2B c819fbdea1f3bf10c8d4214d4c33cf28c1410171d2833b6f8c1225eeefe749ddb815067b3fdb750e5839761aee8d39ffc51ffb492f88e630076818a61b18362b SHA512 0d6e1b04591607dfc8022124b186ce499467c32db7667ee1a640fe2e07706597edc0e4ad5c7ebcb75c8f5fc6e45e9b9ef715402c71ff9ab21fe380007fe5d84f
-DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83
diff --git a/sys-devel/kgcc64/kgcc64-10.5.0.ebuild b/sys-devel/kgcc64/kgcc64-10.5.0.ebuild
index fbde9c9ed90f..2c36a71417c8 100644
--- a/sys-devel/kgcc64/kgcc64-10.5.0.ebuild
+++ b/sys-devel/kgcc64/kgcc64-10.5.0.ebuild
@@ -20,7 +20,6 @@ PATCH_VER="6"
MUSL_VER="2"
MUSL_GCC_VER="10.5.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
diff --git a/sys-devel/kgcc64/kgcc64-11.4.1_p20240501.ebuild b/sys-devel/kgcc64/kgcc64-11.4.1_p20240501.ebuild
index ffb81657cd1d..932a1026c94e 100644
--- a/sys-devel/kgcc64/kgcc64-11.4.1_p20240501.ebuild
+++ b/sys-devel/kgcc64/kgcc64-11.4.1_p20240501.ebuild
@@ -20,7 +20,6 @@ PATCH_GCC_VER="11.4.0"
PATCH_VER="12"
MUSL_VER="2"
MUSL_GCC_VER="11.4.0"
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-11.5.0.ebuild b/sys-devel/kgcc64/kgcc64-11.5.0.ebuild
index 8b9a457d1bdf..6664cd1bfd0c 100644
--- a/sys-devel/kgcc64/kgcc64-11.5.0.ebuild
+++ b/sys-devel/kgcc64/kgcc64-11.5.0.ebuild
@@ -20,7 +20,6 @@ PATCH_GCC_VER="11.4.0"
PATCH_VER="12"
MUSL_VER="2"
MUSL_GCC_VER="11.4.0"
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-12.3.1_p20240502.ebuild b/sys-devel/kgcc64/kgcc64-12.3.1_p20240502.ebuild
index 6dd586e62c0a..b224186bda08 100644
--- a/sys-devel/kgcc64/kgcc64-12.3.1_p20240502.ebuild
+++ b/sys-devel/kgcc64/kgcc64-12.3.1_p20240502.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="12.3.0"
MUSL_VER="1"
MUSL_GCC_VER="12.3.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-12.4.0.ebuild b/sys-devel/kgcc64/kgcc64-12.4.0.ebuild
index 61305646587b..4945bcb6d029 100644
--- a/sys-devel/kgcc64/kgcc64-12.4.0.ebuild
+++ b/sys-devel/kgcc64/kgcc64-12.4.0.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="12.3.0"
MUSL_VER="1"
MUSL_GCC_VER="12.3.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-13.2.1_p20240503.ebuild b/sys-devel/kgcc64/kgcc64-13.2.1_p20240503.ebuild
index bb7a651fa2f2..6dc5999d5745 100644
--- a/sys-devel/kgcc64/kgcc64-13.2.1_p20240503.ebuild
+++ b/sys-devel/kgcc64/kgcc64-13.2.1_p20240503.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="13.2.0"
MUSL_VER="2"
MUSL_GCC_VER="13.2.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-13.3.1_p20240614.ebuild b/sys-devel/kgcc64/kgcc64-13.3.1_p20240614.ebuild
index d8efdd71af25..71e23dd24e5e 100644
--- a/sys-devel/kgcc64/kgcc64-13.3.1_p20240614.ebuild
+++ b/sys-devel/kgcc64/kgcc64-13.3.1_p20240614.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="13.2.0"
MUSL_VER="2"
MUSL_GCC_VER="13.2.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-14.1.1_p20240511.ebuild b/sys-devel/kgcc64/kgcc64-14.1.1_p20240511.ebuild
index cc3127938240..295eee8a3965 100644
--- a/sys-devel/kgcc64/kgcc64-14.1.1_p20240511.ebuild
+++ b/sys-devel/kgcc64/kgcc64-14.1.1_p20240511.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="14.1.0"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/kgcc64/kgcc64-14.2.1_p20240817.ebuild b/sys-devel/kgcc64/kgcc64-14.2.1_p20240817.ebuild
index d3384b00b844..b46d16e1bf8e 100644
--- a/sys-devel/kgcc64/kgcc64-14.2.1_p20240817.ebuild
+++ b/sys-devel/kgcc64/kgcc64-14.2.1_p20240817.ebuild
@@ -19,7 +19,6 @@ PATCH_GCC_VER="14.1.0"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
GCC_TARGET_NO_MULTILIB=true
-PYTHON_COMPAT=( python3_{10..12} )
inherit toolchain
DESCRIPTION="64bit kernel compiler"
diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-19.ebuild b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-19.ebuild
index b85bf912c557..595d1276529a 100644
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-19.ebuild
+++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-19.ebuild
@@ -11,6 +11,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 6cd5577e7dc3..80466a667ab0 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -9,6 +9,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-devel/lld/lld-19.1.0.ebuild b/sys-devel/lld/lld-19.1.0.ebuild
new file mode 100644
index 000000000000..2cabcdd2ddcf
--- /dev/null
+++ b/sys-devel/lld/lld-19.1.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic llvm.org llvm-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos"
+IUSE="debug test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}[debug=,zstd=]
+ sys-libs/zlib:=
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !sys-devel/lld:0
+"
+BDEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+ )
+"
+PDEPEND="
+ >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
+llvm.org_set_globals
+
+python_check_deps() {
+ python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ llvm.org_src_unpack
+
+ # Directory ${WORKDIR}/llvm does not exist with USE="-test",
+ # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
+ # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
+ # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
+ # to existent directory ${WORKDIR}/libunwind/include.
+ mkdir -p "${WORKDIR}/llvm" || die
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # ODR violations (https://github.com/llvm/llvm-project/issues/83529, bug #922353)
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ -DLLVM_ENABLE_ZLIB=FORCE_ON
+ -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ tc-is-cross-compiler && mycmakeargs+=(
+ -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-lld
+}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-devel/llvm-common/llvm-common-19.1.0.ebuild b/sys-devel/llvm-common/llvm-common-19.1.0.ebuild
new file mode 100644
index 000000000000..7a852f871e36
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-19.1.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="emacs"
+
+RDEPEND="
+ !sys-devel/llvm:0
+"
+BDEPEND="
+ emacs? ( >=app-editors/emacs-23.1:* )
+"
+
+LLVM_COMPONENTS=( llvm/utils )
+llvm.org_set_globals
+
+SITEFILE="50llvm-gentoo.el"
+BYTECOMPFLAGS="-L emacs"
+
+src_compile() {
+ default
+
+ use emacs && elisp-compile emacs/*.el
+}
+
+src_install() {
+ insinto /usr/share/vim/vimfiles
+ doins -r vim/*/
+ # some users may find it useful
+ newdoc vim/README README.vim
+ dodoc vim/vimrc
+
+ if use emacs ; then
+ elisp-install llvm emacs/*.{el,elc}
+ elisp-make-site-file "${SITEFILE}" llvm
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-19.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-19.ebuild
index 60b627fbf393..0f622a6f7cbb 100644
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-19.ebuild
+++ b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-19.ebuild
@@ -11,6 +11,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index f21075fb6612..1ca58ec38321 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,6 +4,7 @@ DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b5
DIST llvm-18.1.0-manpages.tar.bz2 270429 BLAKE2B d85d6e23197184dc512019c25805af0aa145eefb4c36215807c1ba70ad47943c05c06dbaafd84a7e6487bdd83814e03277374e095d97b129e3fc8d468c10741c SHA512 5f492c85fad4e04e0148ea509f4b6520de9e2765c51e617363a11aa8e47c2d847f6b0897958ca1d93bccf0f6a9150868b7e04c728bd430c05bf2da30bdeba6cc
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
+DIST llvm-gentoo-patchset-15.0.7-r7.tar.xz 26012 BLAKE2B a3b6059e18e1347b1da18ef6eb66e12de8980d1fe6b7e92189dd1ce36b16e31d940e45e5f99bd53c30a5780c26ff0686adf5373d3469b8a9b3c5f44d83827832 SHA512 3eb7c36793a6fa0ff585a7732287f6a14141e6c9c9a20b37390303d46372ee9d9a768597e64c77de0731d9aa4c26295f26b36bbc26c69dfbd8ab14cb2564a171
DIST llvm-gentoo-patchset-16.0.6-r5.tar.xz 19728 BLAKE2B 36b605401893034b2b560d26cfb57512c81eddbc35b25d9c3d1fe051b8825c38cae1b8ed999faf8fef564ca5578402d3979bc56ba0a5514dc62594d893696f41 SHA512 20a36b69dfc2b4796ce33318a28529ebdc213945ee67a983e4218117d2ee2c93be1ecb38b0e8189249c5806a442cba708e0890e1b7bf6376edec4403bcc71425
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
DIST llvm-gentoo-patchset-17.0.6-r2.tar.xz 3664 BLAKE2B b3d61090bec41469027115f1a7b9c51ff2cd720a5363c755da7c87c120e4c85b5a2b4d65b95e418f15d947e580824d267a5ee86336f2d9272e58ec24fa2acaf7 SHA512 4be3d2fefce3f5b6b8f64632ff47a53d4de8a20b276e538527ba01a1a663c2846e1eba28fdd70364e583884618d94ee774791b1ca03fdda1fef8110b664e506c
@@ -21,6 +22,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-devel/llvm/llvm-15.0.7-r7.ebuild b/sys-devel/llvm/llvm-15.0.7-r7.ebuild
new file mode 100644
index 000000000000..ecff8b6dcb9b
--- /dev/null
+++ b/sys-devel/llvm/llvm-15.0.7-r7.ebuild
@@ -0,0 +1,520 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake flag-o-matic llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="
+ +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
+ xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_PATCHSET=${PV/_/-}-r7
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfod
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-remark-size-diff
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
+ # Workaround for bug #880677
+ append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
+ fi
+
+ # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
+ # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
+ # LLVM with LTO anyway (which is not necessarily its fault).
+ tc-is-gcc && filter-lto
+
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZLIB=FORCE_ON
+ -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="libcxx"
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+
+# Note: go bindings have no CMake rules at the moment
+# but let's kill the check in case they are introduced
+# if ! multilib_is_native_abi || ! use go; then
+ mycmakeargs+=(
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+ )
+# fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ local tblgen="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ [[ -x "${tblgen}" ]] \
+ || die "${tblgen} not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DLLVM_TABLEGEN="${tblgen}"
+ )
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ tc-env_build cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvm/llvm-19.1.0.ebuild b/sys-devel/llvm/llvm-19.1.0.ebuild
new file mode 100644
index 000000000000..64c63c9517cb
--- /dev/null
+++ b/sys-devel/llvm/llvm-19.1.0.ebuild
@@ -0,0 +1,548 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake flag-o-matic llvm.org multilib-minimal pax-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="
+ +binutils-plugin debug debuginfod doc exegesis libedit +libffi
+ test xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ debuginfod? (
+ net-misc/curl:=
+ dev-cpp/cpp-httplib:=
+ )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( "
+BDEPEND+="
+ $(python_gen_any_dep '
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ')
+"
+[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) "
+
+python_check_deps() {
+ llvm_are_manpages_built || return 0
+
+ python_has_version -b "dev-python/myst-parser[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # used by lldb
+ LLVMDebuginfod)
+ ;;
+ # testing libraries
+ LLVMTestingAnnotations|LLVMTestingSupport)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+
+ if has_version ">=sys-libs/glibc-2.40"; then
+ # https://github.com/llvm/llvm-project/issues/100791
+ rm -r test/tools/llvm-exegesis/X86/latency || die
+ fi
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+
+ # testing libraries
+ llvm_gtest
+ llvm_gtest_main
+ LLVMTestingAnnotations
+ LLVMTestingSupport
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # library used by lldb
+ LLVMDebuginfod
+
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfo-analyzer
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-readtapi
+ llvm-reduce
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ reduce-chunk-list
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ use debuginfod && out+=(
+ llvm-debuginfod
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
+ # Workaround for bug #880677
+ append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
+ fi
+
+ # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
+ # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
+ # LLVM with LTO anyway (which is not necessarily its fault).
+ tc-is-gcc && filter-lto
+
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_INCLUDE_BENCHMARKS=OFF
+ -DLLVM_INCLUDE_TESTS=ON
+ -DLLVM_BUILD_TESTS=$(usex test)
+ -DLLVM_INSTALL_GTEST=ON
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZLIB=FORCE_ON
+ -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
+ -DLLVM_ENABLE_CURL=$(usex debuginfod)
+ -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
+ mycmakeargs+=(
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ use kernel_Darwin && mycmakeargs+=(
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MAIN_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ tc-env_build cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvmgold/llvmgold-19.ebuild b/sys-devel/llvmgold/llvmgold-19.ebuild
index cc4a41d311fc..3c22e4ea24ab 100644
--- a/sys-devel/llvmgold/llvmgold-19.ebuild
+++ b/sys-devel/llvmgold/llvmgold-19.ebuild
@@ -9,6 +9,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
RDEPEND="
sys-devel/llvm:${PV}[binutils-plugin]
diff --git a/sys-devel/mold/files/mold-2.33.0-icf.patch b/sys-devel/mold/files/mold-2.33.0-icf.patch
new file mode 100644
index 000000000000..e5b90fbfd9e3
--- /dev/null
+++ b/sys-devel/mold/files/mold-2.33.0-icf.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/938009
+https://github.com/rui314/mold/issues/1326
+https://github.com/rui314/mold/commit/5a9919b43344b4fb92ea701f0b32a7e20857b9ca
+
+From 5a9919b43344b4fb92ea701f0b32a7e20857b9ca Mon Sep 17 00:00:00 2001
+From: Rui Ueyama <ruiu@cs.stanford.edu>
+Date: Fri, 9 Aug 2024 12:08:03 +0900
+Subject: [PATCH] Fix a crash bug
+
+Fixes https://github.com/rui314/mold/issues/1326
+--- a/elf/output-chunks.cc
++++ b/elf/output-chunks.cc
+@@ -1730,21 +1730,18 @@ ElfSym<E> to_output_esym(Context<E> &ctx, Symbol<E> &sym, u32 st_name,
+ esym.st_type = STT_FUNC;
+ esym.st_visibility = sym.visibility;
+ esym.st_value = sym.get_plt_addr(ctx);
+- } else if (!isec->output_section) {
++ } else if ((isec->shdr().sh_flags & SHF_MERGE) &&
++ !(isec->shdr().sh_flags & SHF_ALLOC)) {
+ // Symbol in a mergeable non-SHF_ALLOC section, such as .debug_str
+- assert(!(isec->shdr().sh_flags & SHF_ALLOC));
+- assert(isec->shdr().sh_flags & SHF_MERGE);
+- assert(!sym.file->is_dso);
+-
+ ObjectFile<E> *file = (ObjectFile<E> *)sym.file;
+- MergeableSection<E> *m =
+- file->mergeable_sections[file->get_shndx(sym.esym())].get();
++ MergeableSection<E> &m =
++ *file->mergeable_sections[file->get_shndx(sym.esym())];
+
+ SectionFragment<E> *frag;
+ i64 frag_addend;
+- std::tie(frag, frag_addend) = m->get_fragment(sym.esym().st_value);
++ std::tie(frag, frag_addend) = m.get_fragment(sym.esym().st_value);
+
+- shndx = m->parent.shndx;
++ shndx = m.parent.shndx;
+ esym.st_visibility = sym.visibility;
+ esym.st_value = frag->get_addr(ctx) + frag_addend;
+ } else {
+
diff --git a/sys-devel/mold/mold-2.33.0-r1.ebuild b/sys-devel/mold/mold-2.33.0-r1.ebuild
new file mode 100644
index 000000000000..d9e220971d81
--- /dev/null
+++ b/sys-devel/mold/mold-2.33.0-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Modern Linker"
+HOMEPAGE="https://github.com/rui314/mold"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rui314/mold.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+fi
+
+# mold (MIT)
+# - xxhash (BSD-2)
+# - siphash ( MIT CC0-1.0 )
+LICENSE="MIT BSD-2 CC0-1.0"
+SLOT="0"
+IUSE="debug"
+
+RDEPEND="
+ app-arch/zstd:=
+ >=dev-cpp/tbb-2021.7.0-r1:=
+ dev-libs/blake3:=
+ sys-libs/zlib
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-icf.patch
+)
+
+pkg_pretend() {
+ # Requires a c++20 compiler, see #831473
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
+ die "${PN} needs at least gcc 10"
+ elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
+ die "${PN} needs at least clang 12"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Needs unpackaged dwarfdump
+ rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+ test/elf/mold-wrapper{,2}.sh || die
+
+ # static-pie tests require glibc built with static-pie support
+ if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
+ rm test/elf/{,ifunc-}static-pie.sh || die
+ fi
+}
+
+src_configure() {
+ use debug || append-cppflags "-DNDEBUG"
+
+ local mycmakeargs=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+
+ # https://bugs.gentoo.org/872773
+ insinto /usr/$(get_libdir)/mold
+ doins "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
+}
+
+src_test() {
+ export TEST_CC="$(tc-getCC)" \
+ TEST_GCC="$(tc-getCC)" \
+ TEST_CXX="$(tc-getCXX)" \
+ TEST_GXX="$(tc-getCXX)"
+ cmake_src_test
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index d13290655de3..53b3beaf330c 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake toolchain-funcs
+inherit cmake flag-o-matic toolchain-funcs
DESCRIPTION="A Modern Linker"
HOMEPAGE="https://github.com/rui314/mold"
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
fi
# mold (MIT)
@@ -20,6 +20,7 @@ fi
# - siphash ( MIT CC0-1.0 )
LICENSE="MIT BSD-2 CC0-1.0"
SLOT="0"
+IUSE="debug"
RDEPEND="
app-arch/zstd:=
@@ -65,6 +66,8 @@ src_prepare() {
}
src_configure() {
+ use debug || append-cppflags "-DNDEBUG"
+
local mycmakeargs=(
-DMOLD_ENABLE_QEMU_TESTS=OFF
-DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
diff --git a/sys-devel/reflex/Manifest b/sys-devel/reflex/Manifest
index 62eca417a802..aae4458f1ef5 100644
--- a/sys-devel/reflex/Manifest
+++ b/sys-devel/reflex/Manifest
@@ -1,2 +1,4 @@
DIST reflex-20230523.tgz 480999 BLAKE2B a7306367bdf5bfb542a44f29c382a5d889a176059d95539916ab3132de06401edfd0c6a476ec66f433d56398039524d79c6879e1f24b4e813ebbba98ea434ed3 SHA512 9704b6dc3327bc017175bef21f34f53ff6614a76692deacb4af99c29bd4330e5fb7f71af6497d233acceab148bc8a7911d41d3ca224110812e5883c90cc801f2
DIST reflex-20230523.tgz.asc 729 BLAKE2B 0249d1bc4f6d6395be0f51f90e1f9834bc63cd7e4b5565e71ff0502746f45ea04b611c8db70d62513dfe95d492512cf1935f4e70d582c960f38d11e06853f54f SHA512 48e2f84c8932a038366159ea6a26eac73510bb69b6bc3c5027195682ade4ef3a33ade082b41e4d08af0c23c6692abc8ee46b261796d72709aa9568070c16c20b
+DIST reflex-20240906.tgz 483570 BLAKE2B bb3c853b94eb2027473dcc409518a27f5d1fa650c41a04a607679bedf7ba3d446f5b038a20e47c023583bac00c65c854414dbafe4cbf1bf996753d9bd8cb3bf0 SHA512 bb676bc2c92657ef0488be106a651f89fc0db4b2d17f091f697e76a3686434f5d346049c8a573cec0cd29356d4fd458d178aafeee5cab6f124b35218343f0ec5
+DIST reflex-20240906.tgz.asc 729 BLAKE2B 3a48b951bfa8db8a9fe4626e6ea4f1093c1fb73fcecd1118f7d75bc78bfe9e1297ba6c9d1948a5ea3e2cbcf8c72083338833f63499b9fd8ec0d4913f76881f4d SHA512 b99ac1a539596a2195e4bc98a079f270d8cc2f44d5e990aea8368fb703047ccfb481ca5efaf6739b7e921a25f11f9bc9c3bbf864c9b62a2c88825a4fef2f0cf0
diff --git a/sys-devel/reflex/reflex-20240906.ebuild b/sys-devel/reflex/reflex-20240906.ebuild
new file mode 100644
index 000000000000..36f8378e686e
--- /dev/null
+++ b/sys-devel/reflex/reflex-20240906.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="This is a variant of the flex fast lexical scanner"
+HOMEPAGE="https://invisible-island.net/reflex/"
+SRC_URI="https://invisible-island.net/archives/${PN}/${P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.asc )"
+
+LICENSE="FLEX"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ app-alternatives/yacc
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ econf --with-manpage-format=formatted
+}
diff --git a/sys-fs/android-file-transfer-linux/Manifest b/sys-fs/android-file-transfer-linux/Manifest
index d50d223a791e..a2e492cb8720 100644
--- a/sys-fs/android-file-transfer-linux/Manifest
+++ b/sys-fs/android-file-transfer-linux/Manifest
@@ -1 +1,2 @@
DIST android-file-transfer-linux-4.2.tar.gz 823609 BLAKE2B dfd9b6ef4a92b1bc7851fd160837366b97fa95db5a998b9df156dd8543be554e07d02aae9be9f27b1cd9ee96aacc2003e06e4c7670c49b478e07779c92829817 SHA512 88ee6bf0af6cf6b2f6b97dee8e79d20905d2a84c271d68d874b87ccc797f198f1e480565633feea08a585ebb55e77da9742bd9cd87b59d88e677c44c69e95659
+DIST android-file-transfer-linux-4.3.tar.gz 827232 BLAKE2B 3737b804cc9c7a2883d7a9a1e4a65379d53f89104dc4f0d82959ed8eba35ffa1998677a4ef441f2c35389dec9e3b31822e8843994ad7d7669cc49e4593b41fe9 SHA512 f5e51ad1532be44916df51dda5f6f7423a5b0d8ebd733a0a3f0424f684b9f84fc5996fb5effd45009eb1c60d873f79e8ecc47a9dc09ff429b4a458807a79ca8c
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.3.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.3.ebuild
new file mode 100644
index 000000000000..21dd11557c46
--- /dev/null
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake python-single-r1 xdg
+
+DESCRIPTION="Android File Transfer for Linux"
+HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
+
+if [[ "${PV}" = *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git"
+else
+ SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="fuse python qt5 taglib zune"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-apps/file
+ sys-libs/readline:0=
+ fuse? ( sys-fs/fuse:0 )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ )
+ taglib? ( media-libs/taglib )
+ zune? (
+ dev-libs/openssl:0=
+ )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_FUSE="$(usex fuse)"
+ -DBUILD_MTPZ="$(usex zune)"
+ -DBUILD_PYTHON="$(usex python)"
+ -DBUILD_QT_UI="$(usex qt5)"
+ -DBUILD_SHARED_LIB="ON"
+ -DBUILD_TAGLIB="$(usex taglib)"
+ # Upstream recommends to keep this off as libusb is broken
+ -DUSB_BACKEND_LIBUSB="OFF"
+ $(usev qt5 '-DDESIRED_QT_VERSION=5')
+ )
+ cmake_src_configure
+}
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
index ae4c96bbe345..83e13978794a 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake python-single-r1 xdg
@@ -54,10 +54,6 @@ BDEPEND="
qt5? ( dev-qt/linguist-tools:5 )
"
-PATCHES=(
- "${FILESDIR}"/${PN}-4.2-gcc13.patch
-)
-
pkg_setup() {
use python && python-single-r1_pkg_setup
}
diff --git a/sys-fs/android-file-transfer-linux/metadata.xml b/sys-fs/android-file-transfer-linux/metadata.xml
index 3b18b9d156bb..69e283855cc3 100644
--- a/sys-fs/android-file-transfer-linux/metadata.xml
+++ b/sys-fs/android-file-transfer-linux/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>johnmh@johnmh.me</email>
+ <name>John M. Harris, Jr.</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">whoozle/android-file-transfer-linux</remote-id>
</upstream>
diff --git a/sys-fs/avfs/avfs-1.1.5.ebuild b/sys-fs/avfs/avfs-1.1.5.ebuild
index acd4104c3756..dfa4e6aa441a 100644
--- a/sys-fs/avfs/avfs-1.1.5.ebuild
+++ b/sys-fs/avfs/avfs-1.1.5.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://downloads.sourceforge.net/avf/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~hppa ~ppc ppc64 x86"
IUSE="lzip +lzma webdav +zstd"
RDEPEND="
diff --git a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.1-r1.ebuild b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.1-r1.ebuild
index e26232645159..53706a555989 100644
--- a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.1-r1.ebuild
+++ b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.1-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kdave/btrfsmaintenance/archive/v${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
IUSE="systemd"
RDEPEND="
diff --git a/sys-fs/compsize/Manifest b/sys-fs/compsize/Manifest
index 8b32b0fbfb0d..8280cdd6f5a4 100644
--- a/sys-fs/compsize/Manifest
+++ b/sys-fs/compsize/Manifest
@@ -1,3 +1 @@
-DIST compsize-1.3.tar.gz 14782 BLAKE2B 738ff0e2b936f5974064759914284e495c895d22d95b705e1b8fac4b3189891771b0e5be7e0eeac0883dd92f9cef276400bb7ee79840fd7db14a5269e7f78f11 SHA512 411b92651fdc3d03deccbf38f72936fee95cf80c67d6368efbc0dafacfe9793815a23ef0d02f7feadf31391e415df3d90cd19fb3acc8cce94f37cb3e4eed623d
-DIST compsize-1.4.tar.gz 15001 BLAKE2B 7e4d4a1f3ea59b23fec891c084f68ddb74838320a817767e48eb857de9678a1915d304d25b454afafec867ea6a028d99d9182087d3229ddae55d8305fe6b174c SHA512 c07081721f87d8a59e724a62a0a6d6724434292e6bb3ffb71acd7c47e21727db8f02f4df296cb6094c0e80d3cd555018e492616747ce69055d21302a6617ca54
DIST compsize-1.5.tar.gz 15015 BLAKE2B 1a7fc676ffaeb69fd410a834eab54ef63c5fa11e428bd0567ab5dec5dc27fe1b4901fdd47760c07a7fb26375b81ba997528c0aa83409eb364a3b9f2cb1942cc8 SHA512 25d6f1973e8a0a86bd857dc1e1ba99760451cf388f3bd3ede6a6ef35351ff63f100646d313010aff3de9e70b2c68866a31c4ea31d9c6df9254648cd1bd0272fa
diff --git a/sys-fs/compsize/compsize-1.3.ebuild b/sys-fs/compsize/compsize-1.3.ebuild
deleted file mode 100644
index fc78e5b437fd..000000000000
--- a/sys-fs/compsize/compsize-1.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Utility to find btrfs compression type/ratio on a file or set of files"
-HOMEPAGE="https://github.com/kilobyte/compsize"
-
-if [[ ${PV} = 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
-else
- SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="GPL-2+ GPL-2"
-IUSE="debug"
-SLOT="0"
-
-DEPEND="sys-fs/btrfs-progs"
-
-src_prepare() {
- default
- # Don't try to install a gzipped manfile during emake install
- sed -i -e $'s/\.gz//' -e $'s/gzip.*/install \-Dm755 \$\< \$\@/' Makefile || die
-}
-
-src_configure() {
- # Used in upstream Makefile, but clobbered by portage's CFLAGS
- append-cflags -Wall -std=gnu90
- use debug && append-cflags -DDEBUG -g
- default
-}
-
-src_install() {
- emake PREFIX="${D}" install
- dodoc "README.md"
-}
diff --git a/sys-fs/compsize/compsize-1.4.ebuild b/sys-fs/compsize/compsize-1.4.ebuild
deleted file mode 100644
index f00e46619d53..000000000000
--- a/sys-fs/compsize/compsize-1.4.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Utility to find btrfs compression type/ratio on a file or set of files"
-HOMEPAGE="https://github.com/kilobyte/compsize"
-
-if [[ ${PV} = 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
-else
- SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2+ GPL-2"
-IUSE="debug"
-SLOT="0"
-
-DEPEND="sys-fs/btrfs-progs"
-
-src_prepare() {
- default
- # Don't try to install a gzipped manfile during emake install
- sed -i -e $'s/\.gz//' -e $'s/gzip.*/install \-Dm755 \$\< \$\@/' Makefile || die
-}
-
-src_configure() {
- use debug && append-cflags -Wall -DDEBUG -g
- default
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" install
- einstalldocs
-}
diff --git a/sys-fs/compsize/compsize-1.5.ebuild b/sys-fs/compsize/compsize-1.5.ebuild
index 8c0a769fa8ad..2f5223f474b9 100644
--- a/sys-fs/compsize/compsize-1.5.ebuild
+++ b/sys-fs/compsize/compsize-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,8 +17,8 @@ else
fi
LICENSE="GPL-2+ GPL-2"
-IUSE="debug"
SLOT="0"
+IUSE="debug"
DEPEND="sys-fs/btrfs-progs"
diff --git a/sys-fs/compsize/compsize-9999.ebuild b/sys-fs/compsize/compsize-9999.ebuild
index 8e5c209de18a..bc837c25a0d7 100644
--- a/sys-fs/compsize/compsize-9999.ebuild
+++ b/sys-fs/compsize/compsize-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,8 +17,8 @@ else
fi
LICENSE="GPL-2+ GPL-2"
-IUSE="debug"
SLOT="0"
+IUSE="debug"
DEPEND="sys-fs/btrfs-progs"
diff --git a/sys-fs/cryptsetup/Manifest b/sys-fs/cryptsetup/Manifest
index 3494e32bbc0a..9bbd8064cf17 100644
--- a/sys-fs/cryptsetup/Manifest
+++ b/sys-fs/cryptsetup/Manifest
@@ -2,3 +2,4 @@ DIST cryptsetup-2.6.1.tar.xz 11402380 BLAKE2B efd7a64d89d863876de68ff3e89d8c94ad
DIST cryptsetup-2.7.2.tar.xz 11637316 BLAKE2B 466d7818cf8b6e23f802291ccad205d09f128572c21a85d6ca8e518d2198e49c9d95066c58560ffcb7df5a483aa27592b0e931db1e4daeabd102db9a5543da20 SHA512 06f42f443b91d1f8af8af999dfedd4051ecb12ba5ef291cf2b44b6a5676e2c5cf1e686e19687f5cb6b1fd524dfc1a208cd25a3798367a480d80eac954aa8d6d4
DIST cryptsetup-2.7.3.tar.xz 11689300 BLAKE2B 6de2c5eb4a0e1108eedb9c81c69ef70696b166ee592641927a0f8e11e566d644e0f7db3436b0446d5df33b3fab55af9592b869bb54d5fa94e67c5003404bc9b8 SHA512 08cff21873aeb7cc5b2561abf5d33cdf0fa814eeaabf6a01f858461726ea9faeef651357da33bce7b347ca2f12d6d02bccdb279893f3749cb781ce1fe5c1571c
DIST cryptsetup-2.7.4.tar.xz 11695292 BLAKE2B a7e9397342482e83a21177699aedbd7a59c2f841512cdf9c8fdcec34d8d448056b2aca89cceae55e8d01654cf5a6ea260ec44879fc7b7fd15fe613c0ad95bc6a SHA512 3cc601ab1c4d5fd282f990529d7cb95f59c8aa9beb0ebd11de7ebf78cb35c352bcb8c945a2033cb6c53540b37156fdf2824070d431c752f9f7b029e4ec930c21
+DIST cryptsetup-2.7.5.tar.xz 11697476 BLAKE2B 7df7b53f74cbf1a009d2804b8d85c9fea27be994bb4171e1ded70e3666635fd8f265819321bee0d1977548626029ebf75b87225a68cb38b3b79910f991c813dd SHA512 13eca93cdb00a143d2ca60b6f66ede5adc4072ca0c4bfebd8454a3541e69d269fcdb4afc97ad799e87a999b2bd46c1f31fa924a3d616d72a3337970b1e718d55
diff --git a/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild b/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild
new file mode 100644
index 000000000000..d09dd78f2b65
--- /dev/null
+++ b/sys-fs/cryptsetup/cryptsetup-2.7.5.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: meson
+inherit linux-info tmpfiles
+
+DESCRIPTION="Tool to setup encrypted devices with dm-crypt"
+HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup"
+SRC_URI="https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz"
+S="${WORKDIR}"/${P/_/-}
+
+LICENSE="GPL-2+"
+SLOT="0/12" # libcryptsetup.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+fi
+
+CRYPTO_BACKENDS="gcrypt kernel nettle +openssl"
+# we don't support nss since it doesn't allow cryptsetup to be built statically
+# and it's missing ripemd160 support so it can't provide full backward compatibility
+IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality ssh static static-libs test +udev urandom"
+RESTRICT="!test? ( test )"
+# bug #496612, bug #832711, bug #843863
+REQUIRED_USE="
+ ^^ ( ${CRYPTO_BACKENDS//+/} )
+ static? ( !ssh !udev !fips )
+ fips? ( !kernel !nettle )
+"
+
+LIB_DEPEND="
+ dev-libs/json-c:=[static-libs(+)]
+ dev-libs/popt[static-libs(+)]
+ >=sys-apps/util-linux-2.31-r1[static-libs(+)]
+ argon2? ( app-crypt/argon2:=[static-libs(+)] )
+ gcrypt? (
+ dev-libs/libgcrypt:0=[static-libs(+)]
+ dev-libs/libgpg-error[static-libs(+)]
+ )
+ nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
+ openssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ pwquality? ( dev-libs/libpwquality[static-libs(+)] )
+ ssh? ( net-libs/libssh[static-libs(+)] )
+ sys-fs/lvm2[static-libs(+)]
+"
+# We have to always depend on ${LIB_DEPEND} rather than put behind
+# !static? () because we provide a shared library which links against
+# these other packages. bug #414665
+RDEPEND="
+ static-libs? ( ${LIB_DEPEND} )
+ ${LIB_DEPEND//\[static-libs\([+-]\)\]}
+ udev? ( virtual/libudev:= )
+"
+DEPEND="
+ ${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+"
+# vim-core needed for xxd in tests
+BDEPEND="
+ virtual/pkgconfig
+ test? ( app-editors/vim-core )
+"
+
+pkg_setup() {
+ local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256"
+ local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n"
+ local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n"
+ local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n"
+ local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n"
+ check_extra_config
+}
+
+src_prepare() {
+ default
+
+ sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-internal-argon2
+ --disable-asciidoc
+ --enable-shared
+ --sbindir="${EPREFIX}"/sbin
+ # for later use
+ --with-default-luks-format=LUKS2
+ --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d"
+ --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done)
+ $(use_enable argon2 libargon2)
+ $(use_enable nls)
+ $(use_enable pwquality)
+ $(use_enable !static external-tokens)
+ $(use_enable static static-cryptsetup)
+ $(use_enable static-libs static)
+ $(use_enable udev)
+ $(use_enable !urandom dev-random)
+ $(use_enable ssh ssh-token)
+ $(usev !argon2 '--with-luks2-pbkdf=pbkdf2')
+ $(use_enable fips)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ if [[ ! -e /dev/mapper/control ]] ; then
+ ewarn "No /dev/mapper/control found -- skipping tests"
+ return 0
+ fi
+
+ local p
+ for p in /dev/mapper /dev/loop* ; do
+ addwrite ${p}
+ done
+
+ default
+}
+
+src_install() {
+ default
+
+ if use static ; then
+ mv "${ED}"/sbin/cryptsetup{.static,} || die
+ mv "${ED}"/sbin/veritysetup{.static,} || die
+ mv "${ED}"/sbin/integritysetup{.static,} || die
+
+ if use ssh ; then
+ mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die
+ fi
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ dodoc docs/v*ReleaseNotes
+
+ newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt
+ newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt
+}
+
+pkg_postinst() {
+ tmpfiles_process cryptsetup.conf
+
+ if use kernel ; then
+ ewarn "Note that kernel backend is very slow for this type of operation"
+ ewarn "and is provided mainly for embedded systems wanting to avoid"
+ ewarn "userspace crypto libraries."
+ fi
+}
diff --git a/sys-fs/vhba/Manifest b/sys-fs/vhba/Manifest
index 7323586a6b60..32909deef612 100644
--- a/sys-fs/vhba/Manifest
+++ b/sys-fs/vhba/Manifest
@@ -1 +1,2 @@
DIST vhba-module-20240202.tar.xz 16168 BLAKE2B 7974f60b73c634528afdd44e94c6da34bdc481d874f19845efc0464435a7e560494dd703b0fb1df34c96fce5f1afb300a1e6e2b3b9730e91c956816905eb2f44 SHA512 fdb9b79feb870bb22ed2182216103c8b87d1b5a471d02def24bdf5782cc2bee2333f1d78e1428b042c3df5a33ff8e07b1d61cbe11414a27db18034f3fbbe2612
+DIST vhba-module-20240917.tar.xz 16204 BLAKE2B 1e6dd176d40e86363eacddf3f97231b07b7428178b6e1792cf3abd15e42f2350db66557b3499c204c47678b4967955670a8839f8b50549614bd6a8ba204b9bb7 SHA512 aa94f88e501f11fe1de9dc9eb315f720947fafa23a12789c8b674b1f7d578cc351c2c1524ea1165b893cb50c7188d016da548006e7a1795c99eeacc92e1ab0de
diff --git a/sys-fs/vhba/vhba-20240917.ebuild b/sys-fs/vhba/vhba-20240917.ebuild
new file mode 100644
index 000000000000..4c97a5404e45
--- /dev/null
+++ b/sys-fs/vhba/vhba-20240917.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+MY_P=vhba-module-${PV}
+DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
+HOMEPAGE="https://cdemu.sourceforge.io/"
+SRC_URI="https://download.sourceforge.net/cdemu/vhba-module/${MY_P}.tar.xz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ virtual/udev
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
+
+src_compile() {
+ local modlist=( vhba )
+ local modargs=( KDIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_prepare() {
+ default
+ # Avoid -Werror problems
+ sed -i -e '/ccflags/s/-Werror/-Wall/' Makefile || die "sed failed"
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ einfo "Generating udev rules ..."
+ udev_newrules - 69-vhba.rules <<-EOF
+ # do not edit this file, it will be overwritten on update
+ #
+ KERNEL=="vhba_ctl", SUBSYSTEM=="misc", TAG+="uaccess"
+ EOF
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest
index cf59a9f606b8..bf5460f43b8d 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -20,6 +20,8 @@ DIST genpatches-6.1-119.base.tar.xz 6000764 BLAKE2B 1867fee7c4a1e50bc7b59ada634a
DIST genpatches-6.1-119.extras.tar.xz 4056 BLAKE2B 52ecde24bf197791cfe5be801d881d26904b4503bd3e7857b6a6a2ea1e08fd0262a7e01de498854a931c5407f90d1b5dc73fabb3eb22dd370445f7ca057de0a1 SHA512 088e01360229386b880b2be615c0661c2c247a636a4d4810675fdf576bdeac3bb1d487dac6ec72ad88f4353e418289410f504b432fa8dea61b299e2f596370c8
DIST genpatches-6.1-120.base.tar.xz 6050748 BLAKE2B 8e81d186a9e5618d9f561fd0d49974031baa44ddb9b1885bb3ef6298d49b591e1c1582c306eddba07f3da733dea7ed82ae948838989010ee6471c052f99541c6 SHA512 7ec81a4b97becc07a15fc9e888f2e9c340334fb7ee2b9d0083123f67fdef44f7e155bdf7dd662158ea86d7eed3753017401479a5e50cc16eedde145dc77018c9
DIST genpatches-6.1-120.extras.tar.xz 4056 BLAKE2B 2295b59dea7ee450c0d6b109da2fc341e96030616635800a02847f93c4cd0191229c6d74bd68994ac42d2a96691856315127a060cd3873af34357f12ab54193c SHA512 8e1b92d4ab4cb327868f4e06c7bef5a099339c3cf2331ceff3aa3731632d1f8f7b427da5f892540a64f8afd86d89048100b93c8a08d40a99f5760a35553dca25
+DIST genpatches-6.1-121.base.tar.xz 6065048 BLAKE2B ef60651e53c53c2e918da2c9dd4759cde88472e2f6aecf4ed6a86f089a282bbdf7acab040c7660e52ea09e441f6008f17ae3d49afcd339e8b91d50cba48bda18 SHA512 e34af3822f10164dc0729d0803c6f3ea05e57c6ac157567bdec6d8d0a3e78fc72252606f3b3160089e7b4b8167ee76b13088cf1d238cc3db2841e2dde63b82aa
+DIST genpatches-6.1-121.extras.tar.xz 4056 BLAKE2B 23ddf1bf6ee9d2790e952777edaa577916af9897a957c4e2f4714421ad7aae213b82e1c7d7b911a65f3ee6b27cefee4b5839d14ef1b0e539fe86d91722d0295c SHA512 95d167e2d5f8e883136923b332e662e8475043e0b2324b06a3e718a2bfb7e8f7b87c1cf0961ee06b0cff7fcae1e1dbf7446812fab7237416c281033f6777cc49
DIST genpatches-6.10-10.base.tar.xz 490332 BLAKE2B 6311b976880a1fe3cb902ba6e4d39890aa34565c6df19fc01deb7b337304418d1ada38d6d83f27acdeb3062fda65d7996a0e6988799a6789e81372a0966f3caa SHA512 3748322f9bae147f3ca68693dcabf21a4a969032cfb36aced11bb883907cb663d139175ed4dd7c8e87ea7628f875328e3b25d978009ee3a6989eb38b1c7c4ace
DIST genpatches-6.10-10.extras.tar.xz 4056 BLAKE2B edb14475e8c07f04d54e6953f8518ea631660ffcdaa8797eba19768b3a193df51822d508dd7b360ced634d0045878f77996ba765498bca3bf001d9a4c223fd8a SHA512 a0379c1ecdbb7a8d6f3b3f82db60d5fd7503598ac26c2f11f6f549e360a648053896cb8db235257bfa7bcad251c90c6dc38116e238c0e2447117eab83a42b4d4
DIST genpatches-6.10-11.base.tar.xz 553020 BLAKE2B 11a958ebd8848d9023a9cdcb877039ba04f72169ad78e47661890d31b73ae7a9fbdec8d12507a1d16eed08ba59f4a6fdc38ed8b6b02d05cb44198dbfcfef31e8 SHA512 3a3c1e5cbee053ab4c9c731bafa723ffcdfc8179e62fdc0eb16469a15abb5fec8ef4ff395305fd4502ea9cab70702e071f6cf9d0397cb185a987e8fbc880123f
@@ -28,6 +30,8 @@ DIST genpatches-6.10-12.base.tar.xz 602316 BLAKE2B 6cd02be7fbe2322d246e826d04236
DIST genpatches-6.10-12.extras.tar.xz 4060 BLAKE2B 77b8b8cc0ed8af03ca45e1224e6de1f14d59682aeb411488e4c5eb6f9f4252a50ae442d60eeba496491c62013c7f1cb7af9f7e40622e1f48de7f0b85c4686c28 SHA512 95cf8c15fab7ea99e7c55166d445494d85cf843d9bc32e3055789ac20d725b52687d1077890c22aa39719a9d0fc7745b0d3346d014077171b1009a3a353f04f0
DIST genpatches-6.10-13.base.tar.xz 727116 BLAKE2B 5125f8971fee0c7f78d28a555932e20ce80a260f09f3228b53e6a9e3923a809d7e812df8b32eb9ed74da3bb4b2762dcaf63d921f78ea5ea39c8f7a5796a25a31 SHA512 e0f124f613c18e9c3623887b90dee5dd30d2acee7271599e226cf9dc5a184f9ef06ddb536bd4fb20017c993fe203d9c9696a7e441caf5de2831552754b04192b
DIST genpatches-6.10-13.extras.tar.xz 4056 BLAKE2B f44d2635322562c13ede3ee395900b963e4a151786a6417fdedfbdce20708f277f7b732d5302606b6e9acc09c9bc7a4be4c1fcacf32a670a50bd9ddd5e8910f2 SHA512 16cb15c66948c48ab27c989226c1394ecc5041e1ed0323246e0f611fee4907029b23346ddfdc1b11d6a0824f2609f448dcc623dedf05dc94a2a3c4385f181c14
+DIST genpatches-6.10-14.base.tar.xz 759584 BLAKE2B d08dc14d5126e73155a6b1977ce2b9790a5717b6bf1fa31309838c3884a81baf945661093da2e3f69bf892f472db60defe1a001afa4b9a6846deee11cdf6cec2 SHA512 6e41093c8ee9690ec279a3f35c01d058ef02c3a9eac7b9eaa3908c14463c8d3c85497665b875111fd1a29e8d406706aa6f6791a44e0bc31d8c51053259a18d87
+DIST genpatches-6.10-14.extras.tar.xz 4056 BLAKE2B 63d33a29efc77a7839f4961de62c54f2383bcc7a119fce5ca7f80cdb66515537bb1e1bd55bb50f297b8f0a9c74f75bb237ee2893a859abe6d7f05864ae21e38b SHA512 c9adea40fdfd3faa5ee24a60be9ad4444819a8fbcb417ea98ce2f7a02fdd1e70c6f1168380cf6efd5a4d1820bea14db48c3064b271afaad8e1d23f0a8263a48f
DIST genpatches-6.10-9.base.tar.xz 401220 BLAKE2B 3335d5d29c347526cea6104b9cca56b8ed8ee0f1de9ee8a6f55d66514df829fcd197b8281b2261f6dfb979276b65bc654d4b1257868b5b80a2411fbd2f076f11 SHA512 9d2319c2b86b80355464d661f675a331a4245405bb84184a4d061649abdeb5955b6ebeaee1cefbe3c669f810c9da645b7fb637af4dcb45cb9b69e715c6e46f1f
DIST genpatches-6.10-9.extras.tar.xz 4056 BLAKE2B 2cba382236beae6374462f6147d6e164314cc8f7d7be87547902153c035b970ada27f4817a6de2d569116118eea0d95d42aa44de2147475c47c732abfedd9952 SHA512 358d82794809d49f4b24bdf10c49cc4fbe8ac0a45f86dfdc018d2c778b757c002d9bd129d935146b84daf809e95f5235fccf7466d2498755154b9c77e5a2b46d
DIST genpatches-6.6-54.base.tar.xz 2922380 BLAKE2B f65404127bb6547208aeddac1996a4a2659bd99ff7429bcaff28247a867c000e962457725eab80db2c76297f1e5c27806dc6fb23e31d5694b6df783e65995227 SHA512 102f721f87478ad18599bb5ff65cd236180dd3d9d058786a5306cb36be3f30a2d2ef684e83b6f458d4de78a196323e87d346eba704bfbce733010aed6ac3d7f9
@@ -40,6 +44,8 @@ DIST genpatches-6.6-57.base.tar.xz 3079200 BLAKE2B d0f16f9b2f09f182c02fdb6cfa4b7
DIST genpatches-6.6-57.extras.tar.xz 4056 BLAKE2B 9b071880383921fcc8cd2da092e1219e3b40684e6ffd04bd2ab75fd53624cdcb7289f1c40ae9256e0343bbea92393c153724ee628e8d164596ba4d7f8bb413df SHA512 a61cbf855e718ca7afed0b15614ad2e9bea740412e8251b35417d10f4b936364cc3820951acc45be2b18cba635cd1c43da8caeb4ac315747d02201be39148c8b
DIST genpatches-6.6-58.base.tar.xz 3154204 BLAKE2B 5b9456e93cb0984599e065fab0d05e40b7efbc8079763ede75ed7a6e7f0e241de96f0c6438cde52f64a5074f5bfcc5d55b5d3c21a9e9528138ea5c36e164ea58 SHA512 e775ac64564c201c3e1293d34a70f347a5afd5691a006d958f69959d2eea0af690cf66f7bdd450034ef9eb43daeccbedd58819dc688cd3e7e9933da9312cbf75
DIST genpatches-6.6-58.extras.tar.xz 4060 BLAKE2B 7e16c5d713aaf221335b81f3a301e9bb1e7f243d9bc6739c3dd07bb3cfedbe6bd5a763ce418172c838fbd3de82909cabff7c2e5c4b4f1b675098b709ddc5203e SHA512 315bfdf633398b3b1a9650dae88fdd0c1442336cabe45a3f2722e968f510da13050657e8d35acf8a313981bd9403f5056abea182a0115a79952a2740ceb4ff88
+DIST genpatches-6.6-59.base.tar.xz 3174716 BLAKE2B 8eded8d4d4c343869f587ecc2a218d124c34618494ded9d17b493f26894e545658021ad9cfa05bafd14389de07406f43a722c37276cc14096a3a7a00040e2ae7 SHA512 88e5ef8de0954f349e5c0745adb8f718dcabcd2e166c597c9de753c892eaad42c936984279fde86974b307858959cdef401f92f6f62a98bf1d4bed14cbff821e
+DIST genpatches-6.6-59.extras.tar.xz 4056 BLAKE2B 8d68a426082bcb168f74abb849a7a58090268c9cf098aa8982d9e700fab754a6f42dd833c1ee5d44d52f58d1a6b3da018a954d873ba131a2049a286a39ca3099 SHA512 ee133a7efaeba2abe242482825f4490e1c1b17fca64f9183713dca601fc64048288aa79125f7b8c0715f6c4fb158ea3a230e76b39b63d1a59dbecf80697ac000
DIST gentoo-kernel-5.10.224-1.amd64.gpkg.tar 63283200 BLAKE2B 14061a7a4219278bce3237f8d59015448fea6e195a02d8f5a1d63f41b0ed0d189febd0964a082eca1948f57cef5a4e96c569d26f0c1b70855cf447073f1bfbfa SHA512 e4e7f4bbf6750ec216ca46408919b5a37aac372a14a7d73eee1b44df2ed2a0607c510db1109db117c25bb94dd331fffbdfe380941661bec94f3cfacdf858e929
DIST gentoo-kernel-5.10.224-1.arm64.gpkg.tar 56750080 BLAKE2B 2b31d7121e82bd500260b26fc795d0d59ecd1328fb1ae0b202ed24a5d1a41947b4b4a84db0172dcc76f6ffda4c5e3a63527e5d2156148ac673305bd57bbc1c4c SHA512 1e0a6ca9cf082b3aa9f386ff234f96d3711ae2cab36791be38077b9d5c80ed5448d092bea453f249cbc3cb486206a614e33f26de3181666b18aac47364fb604a
DIST gentoo-kernel-5.10.224-1.ppc64le.gpkg.tar 52766720 BLAKE2B 789dc4f675dd22f391262f4abe1b89d60fe03b9b48a93643b1151f00765c23c470188e727cc437434a950b37cea22c237f9afc82304dcc57f649bc91ed0bc108 SHA512 18034bee9a75ce37a6337ccc7952c1eed4e0a600414a99e9c7465a1cb0619500238fa241e02e0cb0a37feeab9634ba4dd6d9c87c46fde93765e3b4983d455500
@@ -84,10 +90,18 @@ DIST gentoo-kernel-6.1.110-1.amd64.gpkg.tar 72591360 BLAKE2B 9cf5b83a5d7c1edfc90
DIST gentoo-kernel-6.1.110-1.arm64.gpkg.tar 65566720 BLAKE2B 53783496918cae61de0cfddb69b81992a388b1ffb36baa68d0d614805f6a67e5f422aaebc188f16faaecb0558c5d60379db8a4f66c4b843134ace937f7517a51 SHA512 4b0f3802a871e6c73e70a6bc4c856b62748da5a86d4f1b340c472f9238d71d34d89db34106b8565d99873137c9c1849f0732634332f4767a87ba76e593df9494
DIST gentoo-kernel-6.1.110-1.ppc64le.gpkg.tar 59822080 BLAKE2B 8567c0c93616d69b4a464730b09528c789e2e5ea4b1771b4235803c70091b1990a8c6b41e36cbfbce92992277b2afe202b8806437cf4fc68e0ec6f3c3898fc09 SHA512 a8748b00b9e600720966f1ca2bdef5cb9a06fe11010491ef67dbd9f2798af46e859c0c14ff32921a70cd13b83fef763e0d20bc7467dcb7a49b5faa28572371d7
DIST gentoo-kernel-6.1.110-1.x86.gpkg.tar 62146560 BLAKE2B 0a64ed2bff2927ee5e2120c10135942c93819818714f835fafc87129afd5bae400a660a3bb08caf7db3da9e2316801cc45b0c6ab166d5a76d0f051fcfb341e6f SHA512 60804db3018c2d8c9e51afc7838c36a2c39caf6d920f8f4fe5f80b603f7a64f1311d80209654498e842846f4e9dec5debdbdbb6328caf546fdbc90abbfb921ad
+DIST gentoo-kernel-6.1.111-1.amd64.gpkg.tar 72601600 BLAKE2B a288496b70a870f01e43b026dadffc83694e3815c93c59a62c4a4f5744a915ef2207b690157eca88ec3ca6df0588626e366e1e45e88df14329dfe0882b3d5ff2 SHA512 eb73f2865baaab06a1a26a633fca3eaaf86382af8caf020bc124b95228057f8bb182c43e724e3e6cd5cce583a0f560bf61fd68a31f4d751f4976bb45f777e2be
+DIST gentoo-kernel-6.1.111-1.arm64.gpkg.tar 65556480 BLAKE2B edde62a5bb19d1944db67e45f3d42ea586fc5d84581fa99423c28312a5c3484eaaef72429f531d829522d473aa9c141dfc2509cbb88375833ae9602b873c1de6 SHA512 0be04a6096fa192fe7c9ee3bfc4dd7583b3748fcc6d14e2ecc111b2820ecc8b0d64d8e9c5f1aad51cadf4f35ce9b157575973910959bbe71fbe66cb5fe3213f6
+DIST gentoo-kernel-6.1.111-1.ppc64le.gpkg.tar 59832320 BLAKE2B fb4fa57e3ac7a2a293fb6c8de9c1d99c587ca4adff3ba374af455c18533b09c23e17da80ad47882c34ee69f3a602a2ef7365b2c1cbac73e3da4b51db8bdd8ddd SHA512 ee8d98a93f033a50fc513d2fb4b8f44590450e10190c5cca3273119a2505f04e872be32c4e98bcbf5fad7918f3d1552b9a66426c86711ed5e0084c7692c3624b
+DIST gentoo-kernel-6.1.111-1.x86.gpkg.tar 62146560 BLAKE2B 1c7b09827b44ece7abcb56a2a611159fe3acbf53cf2a0b21a8f4d45e8d7676a71ae2985beb094c1550cdebd9b9c02954deb86602359b82ba99601af45dd8bd4c SHA512 7711a84454c0ba9b76051c331caadbaeb54352f1d11233c9ac20cb1466554c44cd019f992d5581718e91f61869dd03a7ae8b1492394f98e3749ec55f850cc973
DIST gentoo-kernel-6.10.10-1.amd64.gpkg.tar 288399360 BLAKE2B 48d2fb4a75abac9c9caeb8a15c859209055a4dd5afd5083dff375ddc0bed8bf2c56a1acd7377343f90274c8025644f52c08e75e156eba175338e22e51eda54aa SHA512 7ea83083a8c6dfdd6bbd875445962ff31bcf37afb18d4502444fa3d135b88aaf3f3c66cef2edb77740e4bbfb226e13408197b7aa9e480c29d1576053e65a1acd
DIST gentoo-kernel-6.10.10-1.arm64.gpkg.tar 264816640 BLAKE2B 5d70f8c2acacf7fee5637a9b0349784788cc72be4c6288dd3a8424a22c1bc9f6ecdf99e32a0b11eaf28637cdb7c174edfa1a35c947b05fd317b4d764b4a2e20c SHA512 98a1f64b138bca6ffc028a446f04ca045f06956b4243d9f2938cef27acf3c2dea02ca93430161334310527d0a91a1bfcb85954df2c731a77d506b66ad3fbde80
DIST gentoo-kernel-6.10.10-1.ppc64le.gpkg.tar 72028160 BLAKE2B e142e685d54736c376cea213b7585198167a1a78a9a3c53b1637eba2745bcc89b4ead6d634ef105edbc66aaa7a553710d36708a3b27739137e3b85ca717d6f2f SHA512 5f5e8a3ef6b88660a2fdd3f5358bb1704008b5d565e8cd61a8cff9bccef4995f7a272c12755ab0fb90cb52d894d24ebfc60ac599ce97deabbe74fdcb305ec91d
DIST gentoo-kernel-6.10.10-1.x86.gpkg.tar 75560960 BLAKE2B 7e7e4c8de2ede34764a2db6338102faf9e8145733652896bad7354f453166093faeb429252515feaf654001db0f3a8f15a8d061bb1c5957725e3e83efe3c39ca SHA512 8c618e8b1d02ba56573c1526fb2f70a7f5da3eda2023e9d47a1403e1fe5de4ef1787d2195ec82b61aad13b4410731775c30b266bfb0ff3334ee36f03c42bf5de
+DIST gentoo-kernel-6.10.11-1.amd64.gpkg.tar 288471040 BLAKE2B 7015cbaf2b47d62f516f3ca190fa805e5073de7d8a8256a4d14169ba64f4faf7804157a96563d47029a7a05d191e128acc5413e1b5cef277bad9d48ac57ef1e2 SHA512 b18b1ac7d905a24517f15adfb5a9f40ef4b3dc27c3114d67373aea70f1ae7e35a9ab19ed9238f99ecc271a919b971bc4cbe325c0d478a976e7659018504de6fe
+DIST gentoo-kernel-6.10.11-1.arm64.gpkg.tar 264816640 BLAKE2B 412355b2787647c1960f643c90d06f739fb9c7d2dc655f77f1c8c90d2f83b1a86a01a034dfae05323014f8bc72ce897fbafe42470213f565f26b4c757ebacbb5 SHA512 63fa9896ebd67aea2596186151e577d1071688001798bb889d61ebe91ec8db0f52d1aac7ba3b7c44d59d302a2331a696c0875f6fb9daa4eba4182d2790450812
+DIST gentoo-kernel-6.10.11-1.ppc64le.gpkg.tar 72017920 BLAKE2B e735783122186d2036ad6c5ab8bb4e3cf3d16093ae793d5b7295ecc5b250f9b07430ef5fc42e67f4da69023c11b3c9f6874254dcf922ca006358ff2458c3e383 SHA512 19c8e6e1c23eb767a18fa392dfa5a5a9cd67636221037fd4becb07f375afd851607886dc7a4c8231406c7be99961e4bd4c2a8fc1477fdf484c4c43c12842eab9
+DIST gentoo-kernel-6.10.11-1.x86.gpkg.tar 75560960 BLAKE2B f205aed0cbcfc3e4300a17e6675d0bd7e97c959030bceccfb533d72918b4baaf22b42e3ea55363282bd657b87a79de6c5689b5f666febc0cc8f33e33f6c718a9 SHA512 f02e4ea6ac8350e73d238864564c86583eb2d3d5e91cfe564443985151cd9d26110cf0e00aa6e584e35d68991aaf53e6cfe412f52b8978968465a8ab2b51a342
DIST gentoo-kernel-6.10.6-1.amd64.gpkg.tar 162723840 BLAKE2B b06364ac6a1cfd4cda5d03202c2c83c3ab35fdb886c0c75a25900f113c6c5d68e8d6a5a3c78412301289555ecb416037260e6df9ea79f97c9c73a96f2e478284 SHA512 f3cb900ec088c4b856567bc5e4fd6d977672310f0e6e61cb4301650b14e080778859783f8446e029c50acd4a8a29575aa3f3f3948a008418968a8d016c9478c0
DIST gentoo-kernel-6.10.6-1.arm64.gpkg.tar 131993600 BLAKE2B bf37c8d5a9ca3dda972cc7a08feaf12b22a880216767892b9f95550e9b31f7e824b74658bcebf10343ef441c6e1d2e4a28145d927f19ec644ea4246cd1136d55 SHA512 3a72d06ed8fc7edf1ef6ed702940cceeedc16eb9ece430cc0c0faf34cce36a0a9ee18f90471cefd0a6a6e87e286855c98f94799683c22be3cc14b3a1e8350032
DIST gentoo-kernel-6.10.6-1.ppc64le.gpkg.tar 71976960 BLAKE2B 78f76bb3fc5c6455d99a9f55a82b2b9cc8a07529635e3302e9a7f02aa0e869f669605d93e63b151ca5eb5014915a7d5be64a6c0caf0c10a322dee66b0456617f SHA512 b20fb195cce8db548671b4622319d50d751955a80e89f0814253879112fa8943a92df195eeb2e6b65f14fe134caa5e514ac18f5457eb41bdde2f98b2fad2c25c
@@ -124,6 +138,10 @@ DIST gentoo-kernel-6.6.51-1.amd64.gpkg.tar 149657600 BLAKE2B fc159a5336426c45fef
DIST gentoo-kernel-6.6.51-1.arm64.gpkg.tar 119715840 BLAKE2B d7056f38de6c4601829768e01dafcfc16d46786f54a68d022280b993d6a307ed9620c9ff2ba5b98c1934b79bebf9208a79b7400be89ca21e8d41be0d5cb4ceef SHA512 2493c75d7958ea17fa8fbe7cef00699f83c46eb6aeb7795fadaca0ed5434306a19d4e4d6f74dae6c5c56db6890a9c85dc0b8fcbe1a67d1a95bed6800d00e2f4a
DIST gentoo-kernel-6.6.51-1.ppc64le.gpkg.tar 64276480 BLAKE2B 728cde54c79ad1e59af44445f934eb0d032e832821780e047bf86d6d9677522e65f09fcfd90b7a662624a8ebb7f1f35df192a5b56a06aaadec2e0b07c11b7422 SHA512 bc0b82cfb31228d6c549a41dcce9a37ae28fa76aab086ae0c50678832b85510bf31d4fa2aabee6d681d40fa0d44ad5549ae1bdab34f6be3c5803b6e5cc712f62
DIST gentoo-kernel-6.6.51-1.x86.gpkg.tar 68290560 BLAKE2B 94bb65e8e37aed1319b7c5961fd1b536e0d7493905d53fd09700cca9445a80bfb8b8d46f53ac44b2c43e5b8d5e7fa95f3fd888aa86964ed8ca0bd1eb79ba0e2b SHA512 2344aab56acf78f357b25e95f25dcf29b4b6f42a3b3cfe63a11673fc1932db8f6361cfbca413c59d9d756a60021de6d7e0ef1dd4e2ffcaaf47e341cb045da447
+DIST gentoo-kernel-6.6.52-1.amd64.gpkg.tar 149647360 BLAKE2B 01a1b97fec61f0ed67ed33823092224e89f8816b8a217d89852dc3f76515b1b305f3d2264df815aeb324c7fa6b901d1643bf4ed8b34a0acd3c0fc4b9fbcb7f84 SHA512 6c818c48c89144b71f03bb6d2f99febaf5cb593fd340e2b6445aab82c3ec02d1af4e8d7a28aa1c99b71d674de4639754b41645b7eddcf2fd98330c44e950f7a0
+DIST gentoo-kernel-6.6.52-1.arm64.gpkg.tar 119715840 BLAKE2B 29e3adae14c15aefc7317a5a3074554116e75c3e4a752dce934f91b6b69466d9a8670e2916e34b0ca3e9267a5047a7ec8a1114e8e9eb38d9109358db9c9c54a1 SHA512 22a99e41b361e83a50209cfad36927651d2b74acaea5307ae7e784c07cdc4f208b34aab3dcd931eb1818dd704afa3034d1b75e3bcefd7fff133c03b9af7f1fd4
+DIST gentoo-kernel-6.6.52-1.ppc64le.gpkg.tar 64276480 BLAKE2B 1025401e8c36bfc84595aae09b639c1bf3ae9eb1d336f7fc61807e4e3f7811c6f2937918bbe18f20ce4fb5e2cc19e09858fae685d751a91a4ceefbeccef2e312 SHA512 2be94eeef0d5dfbafef0ebd03488918d744cf0e0abf42fd4b58b6e90b6b43941226c19610da7ee2dee9218739c0351b2261b5d611f5999b2a634cc233491f043
+DIST gentoo-kernel-6.6.52-1.x86.gpkg.tar 68290560 BLAKE2B 15936c7642eec38676fea6212e6d43349c196405c3d2cb176eff57fe46345f548febd44fd26b15eb44f17c4cda85e2ba3a68eea7a9bc3947a67cff06b3d22ed5 SHA512 85d84144e4e2388219c769143d1f6de8699e1cfb2650c0aa083c0edddd40786fdee986230877c9fcc9e8a4ba73030d385776ce7e73aa390275a05c6c585d9246
DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e
DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
DIST linux-6.1.tar.xz 134728520 BLAKE2B ae60257860b2bd1bd708d183f0443afc60ebbd2b3d535c45e44c2e541bd0928530a3b62de6385dd4e4726ebbedcc0a871d4f3ffb4105b9f1f6d8ed7467f5688e SHA512 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.1.111.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.1.111.ebuild
new file mode 100644
index 000000000000..53b01d5e35e1
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.1.111.ebuild
@@ -0,0 +1,138 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit kernel-install toolchain-funcs unpacker
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 10 ))
+BINPKG=${PF/-bin}-1
+
+DESCRIPTION="Pre-built Linux kernel with Gentoo patches"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.x86.gpkg.tar
+ )
+"
+S=${WORKDIR}
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel:${SLOT}
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+BDEPEND="
+ app-alternatives/bc
+ app-alternatives/lex
+ virtual/libelf
+ app-alternatives/yacc
+"
+
+QA_PREBUILT='*'
+
+KV_LOCALVERSION='-gentoo-dist'
+KPV=${PV}${KV_LOCALVERSION}
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ cd "${MY_P}" || die
+ default
+}
+
+src_configure() {
+ # force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
+ local LD="$(tc-getLD)"
+ if type -P "${LD}.bfd" &>/dev/null; then
+ LD+=.bfd
+ fi
+ tc-export_build_env
+ local makeargs=(
+ V=1
+
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
+ HOSTCFLAGS="${BUILD_CFLAGS}"
+ HOSTLDFLAGS="${BUILD_LDFLAGS}"
+
+ CROSS_COMPILE=${CHOST}-
+ AS="$(tc-getAS)"
+ CC="$(tc-getCC)"
+ LD="${LD}"
+ AR="$(tc-getAR)"
+ NM="$(tc-getNM)"
+ STRIP="$(tc-getSTRIP)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
+
+ # we need to pass it to override colliding Gentoo envvar
+ ARCH="$(tc-arch-kernel)"
+
+ O="${WORKDIR}"/modprep
+ )
+
+ mkdir modprep || die
+ cp "${BINPKG}/image/usr/src/linux-${KPV}/.config" modprep/ || die
+ emake -C "${MY_P}" "${makeargs[@]}" modules_prepare
+}
+
+src_test() {
+ kernel-install_test "${KPV}" \
+ "${WORKDIR}/${BINPKG}/image/usr/src/linux-${KPV}/$(dist-kernel_get_image_path)" \
+ "${BINPKG}/image/lib/modules/${KPV}"
+}
+
+src_install() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+
+ # Overwrite the identifier in the prebuilt package
+ echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die
+
+ mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die
+
+ # FIXME: requires proper mount-boot
+ if [[ -d ${BINPKG}/image/boot/dtbs ]]; then
+ mv "${BINPKG}"/image/boot "${ED}"/ || die
+ fi
+
+ # strip out-of-source build stuffs from modprep
+ # and then copy built files
+ find modprep -type f '(' \
+ -name Makefile -o \
+ -name '*.[ao]' -o \
+ '(' -name '.*' -a -not -name '.config' ')' \
+ ')' -delete || die
+ rm modprep/source || die
+ cp -p -R modprep/. "${ED}/usr/src/linux-${KPV}"/ || die
+}
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.10.11.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.10.11.ebuild
new file mode 100644
index 000000000000..d5c4f186a89c
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.10.11.ebuild
@@ -0,0 +1,172 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_EFI_ZBOOT=1
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_SECUREBOOT=1
+
+inherit kernel-install toolchain-funcs unpacker
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 3 ))
+# XXX: Change me back to PF afer 6.10.8-r1
+BINPKG=${P/-bin}-1
+
+DESCRIPTION="Pre-built Linux kernel with Gentoo patches"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG/-2/-1}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.x86.gpkg.tar
+ )
+"
+S=${WORKDIR}
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel:${SLOT}
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+BDEPEND="
+ app-alternatives/bc
+ app-alternatives/lex
+ dev-util/pahole
+ virtual/libelf
+ app-alternatives/yacc
+"
+
+QA_PREBUILT='*'
+
+KV_LOCALVERSION='-gentoo-dist'
+KPV=${PV}${KV_LOCALVERSION}
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ cd "${MY_P}" || die
+ default
+}
+
+src_configure() {
+ # force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
+ local LD="$(tc-getLD)"
+ if type -P "${LD}.bfd" &>/dev/null; then
+ LD+=.bfd
+ fi
+ tc-export_build_env
+ local makeargs=(
+ V=1
+
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
+ HOSTCFLAGS="${BUILD_CFLAGS}"
+ HOSTLDFLAGS="${BUILD_LDFLAGS}"
+
+ CROSS_COMPILE=${CHOST}-
+ AS="$(tc-getAS)"
+ CC="$(tc-getCC)"
+ LD="${LD}"
+ AR="$(tc-getAR)"
+ NM="$(tc-getNM)"
+ STRIP="$(tc-getSTRIP)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
+
+ # we need to pass it to override colliding Gentoo envvar
+ ARCH="$(tc-arch-kernel)"
+
+ O="${WORKDIR}"/modprep
+ )
+
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+ if [[ -s ${uki} ]]; then
+ # We need to extract the plain image for the test phase
+ # and USE=-generic-uki.
+ kernel-install_extract_from_uki linux "${uki}" "${image}"
+ fi
+
+ mkdir modprep || die
+ cp "${kernel_dir}/.config" modprep/ || die
+ emake -C "${MY_P}" "${makeargs[@]}" modules_prepare
+}
+
+src_test() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ kernel-install_test "${KPV}" \
+ "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \
+ "${BINPKG}/image/lib/modules/${KPV}"
+}
+
+src_install() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+ if [[ -s ${uki} ]]; then
+ # Keep the kernel image type we don't want out of install tree
+ # Replace back with placeholder
+ if use generic-uki; then
+ > "${image}" || die
+ else
+ > "${uki}" || die
+ fi
+ fi
+
+ # Overwrite the identifier in the prebuilt package
+ echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die
+
+ mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die
+
+ # FIXME: requires proper mount-boot
+ if [[ -d ${BINPKG}/image/boot/dtbs ]]; then
+ mv "${BINPKG}"/image/boot "${ED}"/ || die
+ fi
+
+ # strip out-of-source build stuffs from modprep
+ # and then copy built files
+ find modprep -type f '(' \
+ -name Makefile -o \
+ -name '*.[ao]' -o \
+ '(' -name '.*' -a -not -name '.config' ')' \
+ ')' -delete || die
+ rm modprep/source || die
+ cp -p -R modprep/. "${ED}/usr/src/linux-${KPV}"/ || die
+
+ # Update timestamps on all modules to ensure cleanup works correctly
+ # when switching USE=modules-compress.
+ find "${ED}/lib" -name '*.ko' -exec touch {} + || die
+
+ # Modules were already stripped before signing
+ dostrip -x /lib/modules
+ kernel-install_compress_modules
+}
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.52.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.52.ebuild
new file mode 100644
index 000000000000..7ae1d1d9fbe0
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.52.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_EFI_ZBOOT=1
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_SECUREBOOT=1
+
+inherit kernel-install toolchain-funcs unpacker
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 ))
+BINPKG=${PF/-bin}-1
+
+DESCRIPTION="Pre-built Linux kernel with Gentoo patches"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.x86.gpkg.tar
+ )
+"
+S=${WORKDIR}
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel:${SLOT}
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+BDEPEND="
+ app-alternatives/bc
+ app-alternatives/lex
+ virtual/libelf
+ app-alternatives/yacc
+"
+
+QA_PREBUILT='*'
+
+KV_LOCALVERSION='-gentoo-dist'
+KPV=${PV}${KV_LOCALVERSION}
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ cd "${MY_P}" || die
+ default
+}
+
+src_configure() {
+ # force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
+ local LD="$(tc-getLD)"
+ if type -P "${LD}.bfd" &>/dev/null; then
+ LD+=.bfd
+ fi
+ tc-export_build_env
+ local makeargs=(
+ V=1
+
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
+ HOSTCFLAGS="${BUILD_CFLAGS}"
+ HOSTLDFLAGS="${BUILD_LDFLAGS}"
+
+ CROSS_COMPILE=${CHOST}-
+ AS="$(tc-getAS)"
+ CC="$(tc-getCC)"
+ LD="${LD}"
+ AR="$(tc-getAR)"
+ NM="$(tc-getNM)"
+ STRIP="$(tc-getSTRIP)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
+
+ # we need to pass it to override colliding Gentoo envvar
+ ARCH="$(tc-arch-kernel)"
+
+ O="${WORKDIR}"/modprep
+ )
+
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+ if [[ -s ${uki} ]]; then
+ # We need to extract the plain image for the test phase
+ # and USE=-generic-uki.
+ kernel-install_extract_from_uki linux "${uki}" "${image}"
+ fi
+
+ mkdir modprep || die
+ cp "${kernel_dir}/.config" modprep/ || die
+ emake -C "${MY_P}" "${makeargs[@]}" modules_prepare
+}
+
+src_test() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ kernel-install_test "${KPV}" \
+ "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \
+ "${BINPKG}/image/lib/modules/${KPV}"
+}
+
+src_install() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+ if [[ -s ${uki} ]]; then
+ # Keep the kernel image type we don't want out of install tree
+ # Replace back with placeholder
+ if use generic-uki; then
+ > "${image}" || die
+ else
+ > "${uki}" || die
+ fi
+ fi
+
+ # Overwrite the identifier in the prebuilt package
+ echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die
+
+ mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die
+
+ # FIXME: requires proper mount-boot
+ if [[ -d ${BINPKG}/image/boot/dtbs ]]; then
+ mv "${BINPKG}"/image/boot "${ED}"/ || die
+ fi
+
+ # strip out-of-source build stuffs from modprep
+ # and then copy built files
+ find modprep -type f '(' \
+ -name Makefile -o \
+ -name '*.[ao]' -o \
+ '(' -name '.*' -a -not -name '.config' ')' \
+ ')' -delete || die
+ rm modprep/source || die
+ cp -p -R modprep/. "${ED}/usr/src/linux-${KPV}"/ || die
+
+ # Update timestamps on all modules to ensure cleanup works correctly
+ # when switching USE=modules-compress.
+ find "${ED}/lib" -name '*.ko' -exec touch {} + || die
+
+ # Modules were already stripped before signing
+ dostrip -x /lib/modules
+ kernel-install_compress_modules
+}
diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest
index 1d128eb3555b..810af715fd9a 100644
--- a/sys-kernel/gentoo-kernel/Manifest
+++ b/sys-kernel/gentoo-kernel/Manifest
@@ -20,6 +20,8 @@ DIST genpatches-6.1-119.base.tar.xz 6000764 BLAKE2B 1867fee7c4a1e50bc7b59ada634a
DIST genpatches-6.1-119.extras.tar.xz 4056 BLAKE2B 52ecde24bf197791cfe5be801d881d26904b4503bd3e7857b6a6a2ea1e08fd0262a7e01de498854a931c5407f90d1b5dc73fabb3eb22dd370445f7ca057de0a1 SHA512 088e01360229386b880b2be615c0661c2c247a636a4d4810675fdf576bdeac3bb1d487dac6ec72ad88f4353e418289410f504b432fa8dea61b299e2f596370c8
DIST genpatches-6.1-120.base.tar.xz 6050748 BLAKE2B 8e81d186a9e5618d9f561fd0d49974031baa44ddb9b1885bb3ef6298d49b591e1c1582c306eddba07f3da733dea7ed82ae948838989010ee6471c052f99541c6 SHA512 7ec81a4b97becc07a15fc9e888f2e9c340334fb7ee2b9d0083123f67fdef44f7e155bdf7dd662158ea86d7eed3753017401479a5e50cc16eedde145dc77018c9
DIST genpatches-6.1-120.extras.tar.xz 4056 BLAKE2B 2295b59dea7ee450c0d6b109da2fc341e96030616635800a02847f93c4cd0191229c6d74bd68994ac42d2a96691856315127a060cd3873af34357f12ab54193c SHA512 8e1b92d4ab4cb327868f4e06c7bef5a099339c3cf2331ceff3aa3731632d1f8f7b427da5f892540a64f8afd86d89048100b93c8a08d40a99f5760a35553dca25
+DIST genpatches-6.1-121.base.tar.xz 6065048 BLAKE2B ef60651e53c53c2e918da2c9dd4759cde88472e2f6aecf4ed6a86f089a282bbdf7acab040c7660e52ea09e441f6008f17ae3d49afcd339e8b91d50cba48bda18 SHA512 e34af3822f10164dc0729d0803c6f3ea05e57c6ac157567bdec6d8d0a3e78fc72252606f3b3160089e7b4b8167ee76b13088cf1d238cc3db2841e2dde63b82aa
+DIST genpatches-6.1-121.extras.tar.xz 4056 BLAKE2B 23ddf1bf6ee9d2790e952777edaa577916af9897a957c4e2f4714421ad7aae213b82e1c7d7b911a65f3ee6b27cefee4b5839d14ef1b0e539fe86d91722d0295c SHA512 95d167e2d5f8e883136923b332e662e8475043e0b2324b06a3e718a2bfb7e8f7b87c1cf0961ee06b0cff7fcae1e1dbf7446812fab7237416c281033f6777cc49
DIST genpatches-6.10-10.base.tar.xz 490332 BLAKE2B 6311b976880a1fe3cb902ba6e4d39890aa34565c6df19fc01deb7b337304418d1ada38d6d83f27acdeb3062fda65d7996a0e6988799a6789e81372a0966f3caa SHA512 3748322f9bae147f3ca68693dcabf21a4a969032cfb36aced11bb883907cb663d139175ed4dd7c8e87ea7628f875328e3b25d978009ee3a6989eb38b1c7c4ace
DIST genpatches-6.10-10.experimental.tar.xz 81200 BLAKE2B bba2fc9daffcd1a6ce397682a4ca825486f7e45b6932f1f8bf9591eb16385caeefd70bb7dee406d80b248209f707f3c63a5b69d03225e6c84c48a19c39480cab SHA512 5d89064860cbc2bab7ee406a24e5e0479ad2502ebee3bb2c2f9ca81c443b8b2fbcc5944eeff262de5acae5c2a8276872f7d813013887f796a67236a905e38208
DIST genpatches-6.10-10.extras.tar.xz 4056 BLAKE2B edb14475e8c07f04d54e6953f8518ea631660ffcdaa8797eba19768b3a193df51822d508dd7b360ced634d0045878f77996ba765498bca3bf001d9a4c223fd8a SHA512 a0379c1ecdbb7a8d6f3b3f82db60d5fd7503598ac26c2f11f6f549e360a648053896cb8db235257bfa7bcad251c90c6dc38116e238c0e2447117eab83a42b4d4
@@ -32,6 +34,9 @@ DIST genpatches-6.10-12.extras.tar.xz 4060 BLAKE2B 77b8b8cc0ed8af03ca45e1224e6de
DIST genpatches-6.10-13.base.tar.xz 727116 BLAKE2B 5125f8971fee0c7f78d28a555932e20ce80a260f09f3228b53e6a9e3923a809d7e812df8b32eb9ed74da3bb4b2762dcaf63d921f78ea5ea39c8f7a5796a25a31 SHA512 e0f124f613c18e9c3623887b90dee5dd30d2acee7271599e226cf9dc5a184f9ef06ddb536bd4fb20017c993fe203d9c9696a7e441caf5de2831552754b04192b
DIST genpatches-6.10-13.experimental.tar.xz 81192 BLAKE2B 4a0c39320359fb3abf92026827aced503980afe1f138a64b6cc62efff244735443a7b2b355862f78a81770a635adc6f9a92fede7fbcd3ddf620dc751f8d2661e SHA512 fae93291f758224a80947ed18ae57fa5b69b4493b0921ddf98c24c7e507280b87752d003db4a4c5fe49f9a520f6f64c03b5f4f93bc89bc03884904e0c0476541
DIST genpatches-6.10-13.extras.tar.xz 4056 BLAKE2B f44d2635322562c13ede3ee395900b963e4a151786a6417fdedfbdce20708f277f7b732d5302606b6e9acc09c9bc7a4be4c1fcacf32a670a50bd9ddd5e8910f2 SHA512 16cb15c66948c48ab27c989226c1394ecc5041e1ed0323246e0f611fee4907029b23346ddfdc1b11d6a0824f2609f448dcc623dedf05dc94a2a3c4385f181c14
+DIST genpatches-6.10-14.base.tar.xz 759584 BLAKE2B d08dc14d5126e73155a6b1977ce2b9790a5717b6bf1fa31309838c3884a81baf945661093da2e3f69bf892f472db60defe1a001afa4b9a6846deee11cdf6cec2 SHA512 6e41093c8ee9690ec279a3f35c01d058ef02c3a9eac7b9eaa3908c14463c8d3c85497665b875111fd1a29e8d406706aa6f6791a44e0bc31d8c51053259a18d87
+DIST genpatches-6.10-14.experimental.tar.xz 81216 BLAKE2B 28d9b50c638df0bf214bae28072a580455059e1205b7f69575a8f24a9375f9473ad7a96ddbfc0d42f907c4c683cb9f929fecff1bb95d3512a1e725f808b19571 SHA512 9eb2336dd5a5e4cd39723b88f7109ac690094878a89b0fa6f329def7011e35de54615a58a2a18244f3fdea408dff5dfc3e72c8957d13ba44fd1c63522f7a9340
+DIST genpatches-6.10-14.extras.tar.xz 4056 BLAKE2B 63d33a29efc77a7839f4961de62c54f2383bcc7a119fce5ca7f80cdb66515537bb1e1bd55bb50f297b8f0a9c74f75bb237ee2893a859abe6d7f05864ae21e38b SHA512 c9adea40fdfd3faa5ee24a60be9ad4444819a8fbcb417ea98ce2f7a02fdd1e70c6f1168380cf6efd5a4d1820bea14db48c3064b271afaad8e1d23f0a8263a48f
DIST genpatches-6.10-9.base.tar.xz 401220 BLAKE2B 3335d5d29c347526cea6104b9cca56b8ed8ee0f1de9ee8a6f55d66514df829fcd197b8281b2261f6dfb979276b65bc654d4b1257868b5b80a2411fbd2f076f11 SHA512 9d2319c2b86b80355464d661f675a331a4245405bb84184a4d061649abdeb5955b6ebeaee1cefbe3c669f810c9da645b7fb637af4dcb45cb9b69e715c6e46f1f
DIST genpatches-6.10-9.extras.tar.xz 4056 BLAKE2B 2cba382236beae6374462f6147d6e164314cc8f7d7be87547902153c035b970ada27f4817a6de2d569116118eea0d95d42aa44de2147475c47c732abfedd9952 SHA512 358d82794809d49f4b24bdf10c49cc4fbe8ac0a45f86dfdc018d2c778b757c002d9bd129d935146b84daf809e95f5235fccf7466d2498755154b9c77e5a2b46d
DIST genpatches-6.6-54.base.tar.xz 2922380 BLAKE2B f65404127bb6547208aeddac1996a4a2659bd99ff7429bcaff28247a867c000e962457725eab80db2c76297f1e5c27806dc6fb23e31d5694b6df783e65995227 SHA512 102f721f87478ad18599bb5ff65cd236180dd3d9d058786a5306cb36be3f30a2d2ef684e83b6f458d4de78a196323e87d346eba704bfbce733010aed6ac3d7f9
@@ -48,6 +53,9 @@ DIST genpatches-6.6-57.extras.tar.xz 4056 BLAKE2B 9b071880383921fcc8cd2da092e121
DIST genpatches-6.6-58.base.tar.xz 3154204 BLAKE2B 5b9456e93cb0984599e065fab0d05e40b7efbc8079763ede75ed7a6e7f0e241de96f0c6438cde52f64a5074f5bfcc5d55b5d3c21a9e9528138ea5c36e164ea58 SHA512 e775ac64564c201c3e1293d34a70f347a5afd5691a006d958f69959d2eea0af690cf66f7bdd450034ef9eb43daeccbedd58819dc688cd3e7e9933da9312cbf75
DIST genpatches-6.6-58.experimental.tar.xz 5760 BLAKE2B b4af0dd521cb76b237f16a505c55326359be8d45e92f73d98c3665c95ee3db563a5b1732635158612afa0212340ef2b34cc5acdd2fdefe49e8a995947124d7eb SHA512 1a4a76c9c5d1253072f7a591b5a98a4b914289348aa1162d2ec18075ebdf9f331f5c0a7a9043e6772fb6531b84846ef6b66cd28ede67859444e2a895becd18e9
DIST genpatches-6.6-58.extras.tar.xz 4060 BLAKE2B 7e16c5d713aaf221335b81f3a301e9bb1e7f243d9bc6739c3dd07bb3cfedbe6bd5a763ce418172c838fbd3de82909cabff7c2e5c4b4f1b675098b709ddc5203e SHA512 315bfdf633398b3b1a9650dae88fdd0c1442336cabe45a3f2722e968f510da13050657e8d35acf8a313981bd9403f5056abea182a0115a79952a2740ceb4ff88
+DIST genpatches-6.6-59.base.tar.xz 3174716 BLAKE2B 8eded8d4d4c343869f587ecc2a218d124c34618494ded9d17b493f26894e545658021ad9cfa05bafd14389de07406f43a722c37276cc14096a3a7a00040e2ae7 SHA512 88e5ef8de0954f349e5c0745adb8f718dcabcd2e166c597c9de753c892eaad42c936984279fde86974b307858959cdef401f92f6f62a98bf1d4bed14cbff821e
+DIST genpatches-6.6-59.experimental.tar.xz 5760 BLAKE2B c17d9205c4cc8e9b25d992fa77296b2935a2b2827c322a3575690bdb081a82f8dbaac8a5135d9a8675d9ebcfa0b58db64b1ec857a412b9e8ea82ed8af2d3ac78 SHA512 7c275ec38d8bf6aa7d1e81d23f90c054c8febadd7b6d7602d27166128d97facd478a393270e119995301f51932d95d24a6e5a872465bd92c55c1f00508ce67b4
+DIST genpatches-6.6-59.extras.tar.xz 4056 BLAKE2B 8d68a426082bcb168f74abb849a7a58090268c9cf098aa8982d9e700fab754a6f42dd833c1ee5d44d52f58d1a6b3da018a954d873ba131a2049a286a39ca3099 SHA512 ee133a7efaeba2abe242482825f4490e1c1b17fca64f9183713dca601fc64048288aa79125f7b8c0715f6c4fb158ea3a230e76b39b63d1a59dbecf80697ac000
DIST gentoo-kernel-config-g13.tar.gz 5759 BLAKE2B 831f89078e539c8b4ce244528dfd847c12a45b52d540eb10d85ec0d9deb1c14288d8de12456865c92d16e3523ec3595676787a8f3b79545d76870b0fb68deb5d SHA512 2a7230cce57a67e3333f9a88a311afe4a928e27ce76036747451cb77d3186569ad11d7a5b827748ad53290a17ad63637a8362ca896516f85ff0944a8d68265a6
DIST kernel-aarch64-fedora.config.5.10.12 223184 BLAKE2B a0246dac2f7a4ad6a55b611538d24382ac87a8960077811a859c9595ac67f961b4bccb7e139a89abc7c0e26e80832da5c94211fc658082f2e7dde984f14dd29d SHA512 7d803b347b136331db1ad6e22e0445fe0224c3e26cd7c034cbe9794915d457b492e05f77664865079874ec001351553652646e2e08d0fee31e30b841b0008f52
DIST kernel-aarch64-fedora.config.6.1.102-gentoo 252811 BLAKE2B f6bad0d23132bf0dfbaa25db928a95f39763b6500fd1df9b4aeca4351e3e75f185891c0df96b111ad840e4bac431d74a9b11e7344e766ab49715663c89e4dbfc SHA512 41ebf195d8b656801d49c6bb693ebe1404b6725d70d88d93a75bc4af230030d65ef0701ea931846b022a3c598dcca068fbc38ecf6d064262b3f5b88e57060437
diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.111.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.111.ebuild
new file mode 100644
index 000000000000..21c9b05e1334
--- /dev/null
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.111.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit kernel-build toolchain-funcs
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 10 ))
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.1.102-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built with Gentoo patches"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug hardened"
+REQUIRED_USE="
+ arm? ( savedconfig )
+ hppa? ( savedconfig )
+ riscv? ( savedconfig )
+ sparc? ( savedconfig )
+"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel-bin:${SLOT}
+"
+BDEPEND="
+ debug? ( dev-util/pahole )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+QA_FLAGS_IGNORED="
+ usr/src/linux-.*/scripts/gcc-plugins/.*.so
+ usr/src/linux-.*/vmlinux
+ usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg
+"
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa | riscv | sparc)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-gentoo-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.10.11.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.10.11.ebuild
new file mode 100644
index 000000000000..f8ab5cbd3db7
--- /dev/null
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.10.11.ebuild
@@ -0,0 +1,144 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_MODULES_SIGN=1
+
+inherit kernel-build toolchain-funcs
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 3 ))
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.10.1-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built with Gentoo patches"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ experimental? (
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.experimental.tar.xz
+ )
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug experimental hardened"
+REQUIRED_USE="
+ arm? ( savedconfig )
+ hppa? ( savedconfig )
+ riscv? ( savedconfig )
+ sparc? ( savedconfig )
+"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel-bin:${SLOT}
+"
+BDEPEND="
+ debug? ( dev-util/pahole )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+QA_FLAGS_IGNORED="
+ usr/src/linux-.*/scripts/gcc-plugins/.*.so
+ usr/src/linux-.*/vmlinux
+ usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg
+"
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa | loong | riscv | sparc)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-gentoo-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" )
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.6.52.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.6.52.ebuild
new file mode 100644
index 000000000000..6518c0eaa2fd
--- /dev/null
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.6.52.ebuild
@@ -0,0 +1,144 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_MODULES_SIGN=1
+
+inherit kernel-build toolchain-funcs
+
+MY_P=linux-${PV%.*}
+GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 ))
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.6.12-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built with Gentoo patches"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
+ experimental? (
+ https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.experimental.tar.xz
+ )
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug experimental hardened"
+REQUIRED_USE="
+ arm? ( savedconfig )
+ hppa? ( savedconfig )
+ riscv? ( savedconfig )
+ sparc? ( savedconfig )
+"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel-bin:${SLOT}
+"
+BDEPEND="
+ debug? ( dev-util/pahole )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+QA_FLAGS_IGNORED="
+ usr/src/linux-.*/scripts/gcc-plugins/.*.so
+ usr/src/linux-.*/vmlinux
+ usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg
+"
+
+src_prepare() {
+ local PATCHES=(
+ # meh, genpatches have no directory
+ "${WORKDIR}"/*.patch
+ )
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa | loong | riscv | sparc)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-gentoo-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" )
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/gentoo-sources/Manifest b/sys-kernel/gentoo-sources/Manifest
index ec07c69b3e0e..8df426bd7e5f 100644
--- a/sys-kernel/gentoo-sources/Manifest
+++ b/sys-kernel/gentoo-sources/Manifest
@@ -28,6 +28,9 @@ DIST genpatches-6.1-119.extras.tar.xz 4056 BLAKE2B 52ecde24bf197791cfe5be801d881
DIST genpatches-6.1-120.base.tar.xz 6050748 BLAKE2B 8e81d186a9e5618d9f561fd0d49974031baa44ddb9b1885bb3ef6298d49b591e1c1582c306eddba07f3da733dea7ed82ae948838989010ee6471c052f99541c6 SHA512 7ec81a4b97becc07a15fc9e888f2e9c340334fb7ee2b9d0083123f67fdef44f7e155bdf7dd662158ea86d7eed3753017401479a5e50cc16eedde145dc77018c9
DIST genpatches-6.1-120.experimental.tar.xz 17448 BLAKE2B 4742840441ffa120615c5579647bf8465c1cde60051ad8a7ad62621a403541ef036911778dfd8cb13136ae6255fa822f45db4c924b165eeba61272664df71ffd SHA512 fe19b11bf8b74e63388f1cbb16838c4491df0c71ca66d2810619510a473ee7daff08a736f933d729a4128452c00fe1286e14f09e0fa6aab6c953e8dbce82d43d
DIST genpatches-6.1-120.extras.tar.xz 4056 BLAKE2B 2295b59dea7ee450c0d6b109da2fc341e96030616635800a02847f93c4cd0191229c6d74bd68994ac42d2a96691856315127a060cd3873af34357f12ab54193c SHA512 8e1b92d4ab4cb327868f4e06c7bef5a099339c3cf2331ceff3aa3731632d1f8f7b427da5f892540a64f8afd86d89048100b93c8a08d40a99f5760a35553dca25
+DIST genpatches-6.1-121.base.tar.xz 6065048 BLAKE2B ef60651e53c53c2e918da2c9dd4759cde88472e2f6aecf4ed6a86f089a282bbdf7acab040c7660e52ea09e441f6008f17ae3d49afcd339e8b91d50cba48bda18 SHA512 e34af3822f10164dc0729d0803c6f3ea05e57c6ac157567bdec6d8d0a3e78fc72252606f3b3160089e7b4b8167ee76b13088cf1d238cc3db2841e2dde63b82aa
+DIST genpatches-6.1-121.experimental.tar.xz 17444 BLAKE2B 7e76d9c6a991a70a036fe3cdf38f8cd3210c80eb4001e036927cfa4264731a0615d7e1f5115af471197751791b3771fd22e993f16cf96cb88f01288e3ad9d1f3 SHA512 d2f9bb34dd050ae567e35878ab1a2f9307b1dd989603b9088b8c30ab82b33d07b7d62ca65965391863fdf19b0deb3a437349e76e105723200dbebb2c19a5b35b
+DIST genpatches-6.1-121.extras.tar.xz 4056 BLAKE2B 23ddf1bf6ee9d2790e952777edaa577916af9897a957c4e2f4714421ad7aae213b82e1c7d7b911a65f3ee6b27cefee4b5839d14ef1b0e539fe86d91722d0295c SHA512 95d167e2d5f8e883136923b332e662e8475043e0b2324b06a3e718a2bfb7e8f7b87c1cf0961ee06b0cff7fcae1e1dbf7446812fab7237416c281033f6777cc49
DIST genpatches-6.10-10.base.tar.xz 490332 BLAKE2B 6311b976880a1fe3cb902ba6e4d39890aa34565c6df19fc01deb7b337304418d1ada38d6d83f27acdeb3062fda65d7996a0e6988799a6789e81372a0966f3caa SHA512 3748322f9bae147f3ca68693dcabf21a4a969032cfb36aced11bb883907cb663d139175ed4dd7c8e87ea7628f875328e3b25d978009ee3a6989eb38b1c7c4ace
DIST genpatches-6.10-10.experimental.tar.xz 81200 BLAKE2B bba2fc9daffcd1a6ce397682a4ca825486f7e45b6932f1f8bf9591eb16385caeefd70bb7dee406d80b248209f707f3c63a5b69d03225e6c84c48a19c39480cab SHA512 5d89064860cbc2bab7ee406a24e5e0479ad2502ebee3bb2c2f9ca81c443b8b2fbcc5944eeff262de5acae5c2a8276872f7d813013887f796a67236a905e38208
DIST genpatches-6.10-10.extras.tar.xz 4056 BLAKE2B edb14475e8c07f04d54e6953f8518ea631660ffcdaa8797eba19768b3a193df51822d508dd7b360ced634d0045878f77996ba765498bca3bf001d9a4c223fd8a SHA512 a0379c1ecdbb7a8d6f3b3f82db60d5fd7503598ac26c2f11f6f549e360a648053896cb8db235257bfa7bcad251c90c6dc38116e238c0e2447117eab83a42b4d4
@@ -40,6 +43,9 @@ DIST genpatches-6.10-12.extras.tar.xz 4060 BLAKE2B 77b8b8cc0ed8af03ca45e1224e6de
DIST genpatches-6.10-13.base.tar.xz 727116 BLAKE2B 5125f8971fee0c7f78d28a555932e20ce80a260f09f3228b53e6a9e3923a809d7e812df8b32eb9ed74da3bb4b2762dcaf63d921f78ea5ea39c8f7a5796a25a31 SHA512 e0f124f613c18e9c3623887b90dee5dd30d2acee7271599e226cf9dc5a184f9ef06ddb536bd4fb20017c993fe203d9c9696a7e441caf5de2831552754b04192b
DIST genpatches-6.10-13.experimental.tar.xz 81192 BLAKE2B 4a0c39320359fb3abf92026827aced503980afe1f138a64b6cc62efff244735443a7b2b355862f78a81770a635adc6f9a92fede7fbcd3ddf620dc751f8d2661e SHA512 fae93291f758224a80947ed18ae57fa5b69b4493b0921ddf98c24c7e507280b87752d003db4a4c5fe49f9a520f6f64c03b5f4f93bc89bc03884904e0c0476541
DIST genpatches-6.10-13.extras.tar.xz 4056 BLAKE2B f44d2635322562c13ede3ee395900b963e4a151786a6417fdedfbdce20708f277f7b732d5302606b6e9acc09c9bc7a4be4c1fcacf32a670a50bd9ddd5e8910f2 SHA512 16cb15c66948c48ab27c989226c1394ecc5041e1ed0323246e0f611fee4907029b23346ddfdc1b11d6a0824f2609f448dcc623dedf05dc94a2a3c4385f181c14
+DIST genpatches-6.10-14.base.tar.xz 759584 BLAKE2B d08dc14d5126e73155a6b1977ce2b9790a5717b6bf1fa31309838c3884a81baf945661093da2e3f69bf892f472db60defe1a001afa4b9a6846deee11cdf6cec2 SHA512 6e41093c8ee9690ec279a3f35c01d058ef02c3a9eac7b9eaa3908c14463c8d3c85497665b875111fd1a29e8d406706aa6f6791a44e0bc31d8c51053259a18d87
+DIST genpatches-6.10-14.experimental.tar.xz 81216 BLAKE2B 28d9b50c638df0bf214bae28072a580455059e1205b7f69575a8f24a9375f9473ad7a96ddbfc0d42f907c4c683cb9f929fecff1bb95d3512a1e725f808b19571 SHA512 9eb2336dd5a5e4cd39723b88f7109ac690094878a89b0fa6f329def7011e35de54615a58a2a18244f3fdea408dff5dfc3e72c8957d13ba44fd1c63522f7a9340
+DIST genpatches-6.10-14.extras.tar.xz 4056 BLAKE2B 63d33a29efc77a7839f4961de62c54f2383bcc7a119fce5ca7f80cdb66515537bb1e1bd55bb50f297b8f0a9c74f75bb237ee2893a859abe6d7f05864ae21e38b SHA512 c9adea40fdfd3faa5ee24a60be9ad4444819a8fbcb417ea98ce2f7a02fdd1e70c6f1168380cf6efd5a4d1820bea14db48c3064b271afaad8e1d23f0a8263a48f
DIST genpatches-6.10-9.base.tar.xz 401220 BLAKE2B 3335d5d29c347526cea6104b9cca56b8ed8ee0f1de9ee8a6f55d66514df829fcd197b8281b2261f6dfb979276b65bc654d4b1257868b5b80a2411fbd2f076f11 SHA512 9d2319c2b86b80355464d661f675a331a4245405bb84184a4d061649abdeb5955b6ebeaee1cefbe3c669f810c9da645b7fb637af4dcb45cb9b69e715c6e46f1f
DIST genpatches-6.10-9.experimental.tar.xz 81200 BLAKE2B ced7f11678f518ccb2e24423ba68b8fea90e3a76da0c50c5364d18956d4c79ed8d36c3e7459e007db3708bdf448c9195af2db3a881d21c3c963a9761c2a58e4d SHA512 275f511b27d1db458cc111c9d646af54df5bd4c227abd33c77b6eb21711e4ec705dcbd143ce20820d43d2c78bd526298808c2a5a319b7080012ba3e4ff47725d
DIST genpatches-6.10-9.extras.tar.xz 4056 BLAKE2B 2cba382236beae6374462f6147d6e164314cc8f7d7be87547902153c035b970ada27f4817a6de2d569116118eea0d95d42aa44de2147475c47c732abfedd9952 SHA512 358d82794809d49f4b24bdf10c49cc4fbe8ac0a45f86dfdc018d2c778b757c002d9bd129d935146b84daf809e95f5235fccf7466d2498755154b9c77e5a2b46d
@@ -61,6 +67,9 @@ DIST genpatches-6.6-57.extras.tar.xz 4056 BLAKE2B 9b071880383921fcc8cd2da092e121
DIST genpatches-6.6-58.base.tar.xz 3154204 BLAKE2B 5b9456e93cb0984599e065fab0d05e40b7efbc8079763ede75ed7a6e7f0e241de96f0c6438cde52f64a5074f5bfcc5d55b5d3c21a9e9528138ea5c36e164ea58 SHA512 e775ac64564c201c3e1293d34a70f347a5afd5691a006d958f69959d2eea0af690cf66f7bdd450034ef9eb43daeccbedd58819dc688cd3e7e9933da9312cbf75
DIST genpatches-6.6-58.experimental.tar.xz 5760 BLAKE2B b4af0dd521cb76b237f16a505c55326359be8d45e92f73d98c3665c95ee3db563a5b1732635158612afa0212340ef2b34cc5acdd2fdefe49e8a995947124d7eb SHA512 1a4a76c9c5d1253072f7a591b5a98a4b914289348aa1162d2ec18075ebdf9f331f5c0a7a9043e6772fb6531b84846ef6b66cd28ede67859444e2a895becd18e9
DIST genpatches-6.6-58.extras.tar.xz 4060 BLAKE2B 7e16c5d713aaf221335b81f3a301e9bb1e7f243d9bc6739c3dd07bb3cfedbe6bd5a763ce418172c838fbd3de82909cabff7c2e5c4b4f1b675098b709ddc5203e SHA512 315bfdf633398b3b1a9650dae88fdd0c1442336cabe45a3f2722e968f510da13050657e8d35acf8a313981bd9403f5056abea182a0115a79952a2740ceb4ff88
+DIST genpatches-6.6-59.base.tar.xz 3174716 BLAKE2B 8eded8d4d4c343869f587ecc2a218d124c34618494ded9d17b493f26894e545658021ad9cfa05bafd14389de07406f43a722c37276cc14096a3a7a00040e2ae7 SHA512 88e5ef8de0954f349e5c0745adb8f718dcabcd2e166c597c9de753c892eaad42c936984279fde86974b307858959cdef401f92f6f62a98bf1d4bed14cbff821e
+DIST genpatches-6.6-59.experimental.tar.xz 5760 BLAKE2B c17d9205c4cc8e9b25d992fa77296b2935a2b2827c322a3575690bdb081a82f8dbaac8a5135d9a8675d9ebcfa0b58db64b1ec857a412b9e8ea82ed8af2d3ac78 SHA512 7c275ec38d8bf6aa7d1e81d23f90c054c8febadd7b6d7602d27166128d97facd478a393270e119995301f51932d95d24a6e5a872465bd92c55c1f00508ce67b4
+DIST genpatches-6.6-59.extras.tar.xz 4056 BLAKE2B 8d68a426082bcb168f74abb849a7a58090268c9cf098aa8982d9e700fab754a6f42dd833c1ee5d44d52f58d1a6b3da018a954d873ba131a2049a286a39ca3099 SHA512 ee133a7efaeba2abe242482825f4490e1c1b17fca64f9183713dca601fc64048288aa79125f7b8c0715f6c4fb158ea3a230e76b39b63d1a59dbecf80697ac000
DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e
DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
DIST linux-6.1.tar.xz 134728520 BLAKE2B ae60257860b2bd1bd708d183f0443afc60ebbd2b3d535c45e44c2e541bd0928530a3b62de6385dd4e4726ebbedcc0a871d4f3ffb4105b9f1f6d8ed7467f5688e SHA512 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-6.1.111.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-6.1.111.ebuild
new file mode 100644
index 000000000000..2916672ddacc
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-6.1.111.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="121"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="experimental"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-6.10.11.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-6.10.11.ebuild
new file mode 100644
index 000000000000..ab6bc8778cea
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-6.10.11.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="14"
+
+inherit check-reqs kernel-2
+detect_version
+detect_arch
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="experimental"
+
+pkg_pretend() {
+ CHECKREQS_DISK_BUILD="4G"
+ check-reqs_pkg_pretend
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-6.6.52.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-6.6.52.ebuild
new file mode 100644
index 000000000000..ebd2bb20802f
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-6.6.52.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="59"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="experimental"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/vanilla-kernel/Manifest b/sys-kernel/vanilla-kernel/Manifest
index d401d672065b..8dfda7408dba 100644
--- a/sys-kernel/vanilla-kernel/Manifest
+++ b/sys-kernel/vanilla-kernel/Manifest
@@ -42,8 +42,12 @@ DIST linux-6.1.109.tar.sign 991 BLAKE2B a47f2eb60b86a73af2a7edf256288209702f195f
DIST linux-6.1.109.tar.xz 135193224 BLAKE2B 2ab7151c193bcdfe0664f94040675faec1cefcb44df524074c9b06eeee1184fb07891c1d6bbfbe8ca53b8d52f332a17a14854602ef046897de692eaceef8e5c6 SHA512 a435b89320e8af19532bbd40c30c5c1e1b6f796f062a015f3c1bcf7a30b00eba4c51a568078c6dac9fc60040153305237910e6f9d701b9a7bf86475bd0a61dfc
DIST linux-6.1.110.tar.sign 991 BLAKE2B c93c23243b3f9df9da66cd9c3d1c65d6cc09212b53c3a19d4a565ea9566d2831938f3aa6c25b88fe7e85268aa0bcac8bdd5cfac472d610b95aaec2ee2b39181f SHA512 9fb593858e2af689e2e1d5171e70f2b707a4bc77ae721e6950115877b084c49dee340e77f12bf40761793a2cde306d513ca2e151e3c159e55906e129d458b8cd
DIST linux-6.1.110.tar.xz 135196940 BLAKE2B a4d78c86f74c0684a3ec53056241900a0fec06862fa47b963085ed7e797a0c5c8dc8d9b5e6d83d5da412e8ae8f820bcbc2f83c2a049ceed81e545fb0733ad582 SHA512 48c9515d32bbba034e3a477554bac627f131533a9b47ec55c8ded5f464c7e57f0f27c1f34ec92403792680d1019baa4472b2c55892c5e1d8edfd04cf7bd79eb4
+DIST linux-6.1.111.tar.sign 991 BLAKE2B f65cdcfcde31e4e281af4f6efbaabaec9f347d1be4b801e839e372c608fc8cda925ff4fc7da6e2f4c495c0ba8bacb41b5c4540e97f1354225a5884f7fae9e7f2 SHA512 4a575810a76953383fe9a20071f3c07af638537a93edf10a7cbb452931666079d99314a15b15cd37016ff9e73057dfc23686887f1f044d7d7116734cb64f4954
+DIST linux-6.1.111.tar.xz 135180332 BLAKE2B 4e60152884277015e12e9830da2fd4816507e36fc263506d270a17bb641d4811c83ea358c7fec0d3204a02b5cc3d47c3a935a52a4a5ccec869a96e458ff86d89 SHA512 239a37cc75c6f19d9f8480cc1fed27e885a60b1d68b127848d3e00ed6e2ffe3fe5d9bea0ada95dad1e39c6e829446f10722b2d8ab062f85aab189ee74512ca9a
DIST linux-6.10.10.tar.sign 991 BLAKE2B f626f460b08be2045dc47c33b50766e20b63c4d6e4dc842214584cb41b9b20c8db6ca4bfa696fd906b7ba6a9c4d8a1c67118207665c635e3639cb7c9028feb79 SHA512 807e761ddb21f7445dca7c34cea33113093a5e303d0b5069da4c8de93e3443abb62ec6b9f7e9806a3a2d2dc57fa47861940cd03cebe5e08d41d6a4ffeaa46c73
DIST linux-6.10.10.tar.xz 145139280 BLAKE2B 8a15910089d080886046b1fd8d57ef28ce872bf428e67ccbc9d5ca92da794d6dee7ab83cc914a499b40962e2990c3b1e5b11ae7d12c1eff7bec548c9a67df03a SHA512 affaa3690150ca13f0ee14f91f0e09a5ad3340a7ea6404e34286dfb4bd4fdfe12fcac47e83da7878681bf28a8a8b78e0b315e1563408885dbb07aac5bd2e4dce
+DIST linux-6.10.11.tar.sign 991 BLAKE2B 45a05ada9cbe48948bbf1cbd581eafa6ace4f2b1f9b8d3dd0d6059f6120ff15ff55e0b1a74d3819105294e8abbc1be2c8c806e4c9e04f69cf5e7e6bed80ee06b SHA512 f9ae418c735b250c55444634375dc9bf5481f2709fb70bb3f3b939100325274c60ee52fd3e2294b1277d9dda2e3bc5574f3c867029aec2e4a414f5b40ace47da
+DIST linux-6.10.11.tar.xz 145185812 BLAKE2B 55380d2af9fc535f6359cdb9b36612d1f81f2f140652f44bf927c320dda382109c9fb9591cc741914d3221e8d8bda954a10dbbeff8c163bf1ed57eff1831c8df SHA512 bb118bf74c0fd613e55e84f849849124f1d6093cb57c178258e2210e400e9fe492c16578bba583b1434b65175ebe1f20dfb722c271bf71b1157d38f3c0b2bca3
DIST linux-6.10.6.tar.sign 989 BLAKE2B e8ab99394db3d9c5da9177f64c6c6e8ab74b5b62b7b251964e2b9a0a8ecfbf6a8339ae8b2e2b9ea75350d08b5fa8f00e1bafebaa35c57f52545d415aef60b0f1 SHA512 bd5555d4c1f02277087615423f1bd951cf9cb18f18b9f65775c70810f0698c8df45a1b789f26b33b5e0f7b8183a6a6ac2aedd9154b1b7eece4742156d6d6150f
DIST linux-6.10.6.tar.xz 145142332 BLAKE2B e0e2c2419b6da1a6c5caaf9df669a362bdef3d6fb19742da6c5300a6f6d0994259ea2acde7f6a4a20d1e2b71528bbed0e7fd51cbca33ddbf78f2d832a291148f SHA512 991ec7c7d2d490cb90b182a29e892dae586918eee7f3ff4b6e26f4ff9b31b6d7a31cdc31d25ca12243ecab59787aad75f0056b2fbe6997d0dfd68c357e7703af
DIST linux-6.10.7.tar.sign 989 BLAKE2B eea3184425313d7b20475540e52b5b59b3f5e8414eeae6c2df219bcea1adb084d6e992509adf7627e1d4409effc817e10b54cbad8dde48b11778a1e0273e593c SHA512 ad0446b0e08dcd7c063382d8ea3c4c48a5dce8239c6edbea70a64c106546f77ae69a450ae7dea82b5a755dd3311f017bf5ada3913c7daf715fc0393f4e0b5695
@@ -62,3 +66,5 @@ DIST linux-6.6.50.tar.sign 989 BLAKE2B e2ea6cf052f27f273f59e7a4a51689fc9ad9e6a29
DIST linux-6.6.50.tar.xz 140341000 BLAKE2B d54ca4ffd0c6d525725441189e933c68cf9123cb20b553b33e162867c14240fb8e4fd4af5331865156150a7345973ddfae3a8448c77681f442f0af54c071c5b8 SHA512 8421a7085900d4d1919ff73b6c77d9d713be3391e9113bf7446052f3e89a8c1b6f89e5861776007bf922f97d66c1aead48f0aae9b572a163034fafd2280b66b7
DIST linux-6.6.51.tar.sign 989 BLAKE2B 6413a28f43c12842b24a6bbb3def5cdff4776ddb773afe71d13f987212e8247b721599f24fe003585f85402b39e175a223053d47871603ab5878b1caa9a13f1d SHA512 0eecf63ad8f3c20edef379b90e9c7b576457ae5dee6cf265bbc7bbed1e46f6fc33fbbdf437497edc3ca821349762f97d8b2a11f249fc14ecd91c4f7002528a66
DIST linux-6.6.51.tar.xz 140337048 BLAKE2B 11c628d94cd62e08ec500fd67fc8b989e03cfa617690f5f7ce010f211c7778c7b57c119d827a707b3c09e862b5b96de3eb8e503b7128a4e1651789e4420ac1e6 SHA512 c79fcd957dbc855e101464a04b33921ab0dab7bf16201da0cd49b4c3dc9746f22a7f3411033035698ef98e8c9bcc6edf560e44c2b740235beac7cd59a4ea695c
+DIST linux-6.6.52.tar.sign 989 BLAKE2B c3ea21b0921eab9df4fd36ee10ba4f417ccdde013be1d4a75c28e50578495812ec058a51bbbefdd9baf9b5fab97ee1558c6bb9ba79172750dd89ac8494f5913c SHA512 a19d1283072c8a648b02765e9ac94284171a1376e0a07fd4872a32c565e5d6f213cf38af636475c46e9369bf45c32971ad60afaed3c2ebe9d6e6614fc9731d5b
+DIST linux-6.6.52.tar.xz 140320676 BLAKE2B f42461ea587b2027ce4e096dd7188d4d5bc8aa559eb037afbb2250493900988925d69e2882356739ac3b9d028f833a63578ed9087f7bd9ee44dc096b4608d352 SHA512 3fb7b4e6e19e87c4012037ea32dc4e28a30b75fa4260530edb7686c39b0c6fb6c4e35550a97c0e40c604513a0ba5f26490a6a74da21de08226d54fda73d316a0
diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-6.1.111.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-6.1.111.ebuild
new file mode 100644
index 000000000000..857634f8cd43
--- /dev/null
+++ b/sys-kernel/vanilla-kernel/vanilla-kernel-6.1.111.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit kernel-build toolchain-funcs verify-sig
+
+MY_P=linux-${PV}
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.1.102-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built from vanilla upstream sources"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ verify-sig? (
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.sign
+ )
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="debug hardened"
+REQUIRED_USE="arm? ( savedconfig )"
+
+BDEPEND="
+ debug? ( dev-util/pahole )
+ verify-sig? ( sec-keys/openpgp-keys-kernel )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ einfo "Unpacking linux-${PV}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/linux-${PV}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/linux-${PV}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ unpack "gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz"
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-6.10.11.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-6.10.11.ebuild
new file mode 100644
index 000000000000..2bc8ee080f62
--- /dev/null
+++ b/sys-kernel/vanilla-kernel/vanilla-kernel-6.10.11.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_MODULES_SIGN=1
+inherit kernel-build toolchain-funcs verify-sig
+
+MY_P=linux-${PV}
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.10.1-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built from vanilla upstream sources"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ verify-sig? (
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.sign
+ )
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~x86"
+IUSE="debug hardened"
+REQUIRED_USE="arm? ( savedconfig )"
+
+BDEPEND="
+ debug? ( dev-util/pahole )
+ verify-sig? ( sec-keys/openpgp-keys-kernel )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ einfo "Unpacking linux-${PV}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/linux-${PV}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/linux-${PV}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ unpack "gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz"
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa | loong)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" )
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-6.6.52.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-6.6.52.ebuild
new file mode 100644
index 000000000000..93587cc4db6d
--- /dev/null
+++ b/sys-kernel/vanilla-kernel/vanilla-kernel-6.6.52.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_MODULES_SIGN=1
+inherit kernel-build toolchain-funcs verify-sig
+
+MY_P=linux-${PV}
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.6.12-gentoo
+GENTOO_CONFIG_VER=g13
+
+DESCRIPTION="Linux kernel built from vanilla upstream sources"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
+ https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+ -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+ verify-sig? (
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.sign
+ )
+ amd64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+ -> kernel-x86_64-fedora.config.${CONFIG_VER}
+ )
+ arm64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+ -> kernel-aarch64-fedora.config.${CONFIG_VER}
+ )
+ ppc64? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+ -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+ )
+ x86? (
+ https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+ -> kernel-i686-fedora.config.${CONFIG_VER}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~x86"
+IUSE="debug hardened"
+REQUIRED_USE="arm? ( savedconfig )"
+
+BDEPEND="
+ debug? ( dev-util/pahole )
+ verify-sig? ( sec-keys/openpgp-keys-kernel )
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PV}
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ einfo "Unpacking linux-${PV}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/linux-${PV}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/linux-${PV}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ unpack "gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz"
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ local biendian=false
+
+ # prepare the default config
+ case ${ARCH} in
+ arm | hppa | loong)
+ > .config || die
+ ;;
+ amd64)
+ cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ arm64)
+ cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ ppc)
+ # assume powermac/powerbook defconfig
+ # we still package.use.force savedconfig
+ cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+ ;;
+ ppc64)
+ cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+ biendian=true
+ ;;
+ x86)
+ cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
+ ;;
+ *)
+ die "Unsupported arch ${ARCH}"
+ ;;
+ esac
+
+ local myversion="-dist"
+ use hardened && myversion+="-hardened"
+ echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
+ local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+ local merge_configs=(
+ "${T}"/version.config
+ "${dist_conf_path}"/base.config
+ )
+ use debug || merge_configs+=(
+ "${dist_conf_path}"/no-debug.config
+ )
+ if use hardened; then
+ merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+ tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config )
+
+ if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+ merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" )
+ fi
+ fi
+
+ # this covers ppc64 and aarch64_be only for now
+ if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+ merge_configs+=( "${dist_conf_path}/big-endian.config" )
+ fi
+
+ use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" )
+
+ kernel-build_merge_configs "${merge_configs[@]}"
+}
diff --git a/sys-kernel/vanilla-sources/Manifest b/sys-kernel/vanilla-sources/Manifest
index e63fedd7e196..a008321c0259 100644
--- a/sys-kernel/vanilla-sources/Manifest
+++ b/sys-kernel/vanilla-sources/Manifest
@@ -10,6 +10,6 @@ DIST patch-4.19.322.xz 6167468 BLAKE2B c98f69d3b4507d457c38ae4c36ee0ca61b889e578
DIST patch-5.10.226.xz 6236088 BLAKE2B c6e0ab4fbf820749154d78b1a107d3d19140cfd8a23a5b04fe2cef23778e02f379a16936651511cf9cad556d95ec56f39e752430e36f88ed389cf9ff21c23bc2 SHA512 9b1d7f4e36aa2d98d92bb80fc1230a68cbd7679cf1e2dcdc7eae759e45854f838a7a70f6be6ffa3b6c8b24289bb24e6b1df26f1a55f1dbbc7f30879b69fc0981
DIST patch-5.15.167.xz 6199840 BLAKE2B f1b1ff1d9259e9b9f4de2709f0bf683d16d86f05245c6534d8e7987ecfd591a52c028bbf04d143852ee0863081ee91a5f8f19e5c167747e8745523fb91721430 SHA512 99c94dc03d1e05d2693e84a0c71d447c59cbb013f815a252e3fafec8358e46c470a59ba7216bd98c6cf20d92e13d48fc5f6341499c353f1960d3c57808000005
DIST patch-5.4.284.xz 5726484 BLAKE2B dc05f67c379a8c99179da2a62b5d6bef186393d791ccd2a26c99c50bcec5ae211fe3b6a14be38d80ea431b93fecc8d55bafc9492ea1e6f9dd64829671c80e5f9 SHA512 54131a007e78382dd093ca3bdb65ac7b5681f8340b29ce09e93ab802392bccaf65e1b774abc24af364ab3ce28c5ac28bac329593f40e5feb4272b557479a06aa
-DIST patch-6.1.110.xz 5169072 BLAKE2B 6b9dbc403dd2e8d232c0d2649df3f1c4d81792c2f9a08c3c662dfff95b15d176118f51b2454114c433c7092bb3c2444a2e7961084e9ed80deaaca68e7bc44ea5 SHA512 4ae0055719789c1cbf4353ee4537ff0ee50e9177ae678c5c39281da8971a77c4a7e889967b4a24a3e18e2b9ae6d7179b7fd77d6f30c775e124fa6d8da9b3bf29
-DIST patch-6.10.10.xz 682348 BLAKE2B aa6448e67c67d1f4f80ca175d81bb7c4725396cee3bdd96bfdea6948f054f57a8ff5afa63fa6b694a35de83c5b9da105cd678d073a3ce6fdca2f0821fbe65cd2 SHA512 def2d13b3aa0ca2e612d66892914672707824dc47c3ed8b41f31a0b92eb07542ed84f528cc8ce0b855bc21bc08c127fe6cc405a65c2ec7075c9bb8323bc912e4
-DIST patch-6.6.51.xz 2876636 BLAKE2B a431ae4243c0d634980430430772eca0e683b6e9ae73294b2164dc5954d11d939c8162ed862cf1eca9eb89e2486294db7da48aa06e7f737e309a0bdd1656746f SHA512 76ac226f3037e7e5877b765a65b9c296c4365c626871a00fff394e9562f7db3dc067ba7801b85e64613d8ac05decc4c0b32152e3001938c4abc9d08d5fe56f05
+DIST patch-6.1.111.xz 5192116 BLAKE2B e2c78000967a0b5de761dff1bc9f8dfc7c66967a27b2bc2c8650781d7e20c2643a0212e6465d97ff5afbfecccf78b4ea5a541ddda6d5c5d87449cf812c0aaf5c SHA512 4dc8f9b68a344a0ad5baef0f28e8a6a23065664fa9a57e184485077f4735ae04016fa032dc3a05b93af0d745b3f57f2c9d56d997501701f09d63f0fd57812733
+DIST patch-6.10.11.xz 714624 BLAKE2B ad380f02d5f18669538f14d0596014cfe72b224b9c71678ccd17fda22606252d2d109b988555d6f8bb842dba9feb8d9a723316fa6ea68b561fe82754ab2215f0 SHA512 647939f3750fb5205556f2bc33d20c4fbec478e5ba13bc957312cdc2687a4e8216391527deca532026b2a8879cc4840a61b328feddfb57778fb947baf1d42276
+DIST patch-6.6.52.xz 2901836 BLAKE2B 94c94b666692d7456feae3ec1491feb41663a18a4e05d971f6c2d27049e105a4ebb53134c716e4d05917fa4b772843208dc18879855edbf458021f92413fc356 SHA512 f5fe39550d9cf02dbdc4483b544688260d69a67332168b5039fa7ca28eddbec4383daadd755857ed6c3b84b5e30094ec29f73e8b0c9095cb064d605bf932d65c
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-6.1.110.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-6.1.111.ebuild
index 69c881fde565..69c881fde565 100644
--- a/sys-kernel/vanilla-sources/vanilla-sources-6.1.110.ebuild
+++ b/sys-kernel/vanilla-sources/vanilla-sources-6.1.111.ebuild
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-6.10.10.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-6.10.11.ebuild
index 69c881fde565..69c881fde565 100644
--- a/sys-kernel/vanilla-sources/vanilla-sources-6.10.10.ebuild
+++ b/sys-kernel/vanilla-sources/vanilla-sources-6.10.11.ebuild
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-6.6.51.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-6.6.52.ebuild
index 69c881fde565..69c881fde565 100644
--- a/sys-kernel/vanilla-sources/vanilla-sources-6.6.51.ebuild
+++ b/sys-kernel/vanilla-sources/vanilla-sources-6.6.52.ebuild
diff --git a/sys-kernel/zen-sources/Manifest b/sys-kernel/zen-sources/Manifest
index 902269ce8a19..23d8d1939dc5 100644
--- a/sys-kernel/zen-sources/Manifest
+++ b/sys-kernel/zen-sources/Manifest
@@ -1,4 +1,4 @@
-DIST genpatches-6.10-11.base.tar.xz 553020 BLAKE2B 11a958ebd8848d9023a9cdcb877039ba04f72169ad78e47661890d31b73ae7a9fbdec8d12507a1d16eed08ba59f4a6fdc38ed8b6b02d05cb44198dbfcfef31e8 SHA512 3a3c1e5cbee053ab4c9c731bafa723ffcdfc8179e62fdc0eb16469a15abb5fec8ef4ff395305fd4502ea9cab70702e071f6cf9d0397cb185a987e8fbc880123f
-DIST genpatches-6.10-11.extras.tar.xz 4060 BLAKE2B 98d5747be50ef0a270a561f379946213cb32596e01aa6da66a3cdd8a57dbea491af4265b052bc9fb1089e74818e249ac85228bc85aeffa34f8bd18396ceaa18e SHA512 e1ba5f037ae58c9ea4434f60817b53282494c8d25a659a0b6d9b75db384f7706b122bde225640e2028cfc36022a6cb0d1b5711685a4a265c75f3592c278a67f6
+DIST genpatches-6.10-13.base.tar.xz 727116 BLAKE2B 5125f8971fee0c7f78d28a555932e20ce80a260f09f3228b53e6a9e3923a809d7e812df8b32eb9ed74da3bb4b2762dcaf63d921f78ea5ea39c8f7a5796a25a31 SHA512 e0f124f613c18e9c3623887b90dee5dd30d2acee7271599e226cf9dc5a184f9ef06ddb536bd4fb20017c993fe203d9c9696a7e441caf5de2831552754b04192b
+DIST genpatches-6.10-13.extras.tar.xz 4056 BLAKE2B f44d2635322562c13ede3ee395900b963e4a151786a6417fdedfbdce20708f277f7b732d5302606b6e9acc09c9bc7a4be4c1fcacf32a670a50bd9ddd5e8910f2 SHA512 16cb15c66948c48ab27c989226c1394ecc5041e1ed0323246e0f611fee4907029b23346ddfdc1b11d6a0824f2609f448dcc623dedf05dc94a2a3c4385f181c14
DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2
-DIST linux-v6.10.8-zen1.patch.zst 167159 BLAKE2B 0fe816d415ee71937bc67d340e7612500ff51820e45e349e6d1bd29086b100a32b405343682b14ac2f7bc1f2572df77a1bf0aea55c58145ac4489c1eec1c8503 SHA512 5a63b91a3527628844a210bcb3dcb13069d3b29e56bd4e89e85b2300db02b4326b1945b20db7438667262e7926cf6dbf73f66788320468c61b4709f5917c557f
+DIST linux-v6.10.10-zen1.patch.zst 170426 BLAKE2B 9d79dc0c9a77db21475d2f1761c2eab75daf85f85a7f4be490b89c6562369f59ce905f371edc3f7da0be9bc134047e32633b78b8ca4e0bdc4598011eb88b6672 SHA512 54d56dbdbd7fb04a679f5c92101b50d4a001d8d4df96a8c7a8037a8f924c5b41e8fbfaa558152533ca60ca18537e8ee91ea7954446a0e73b9fc3b16103e66728
diff --git a/sys-kernel/zen-sources/zen-sources-6.10.8.ebuild b/sys-kernel/zen-sources/zen-sources-6.10.10.ebuild
index 747c2300fd40..186b62e2bb48 100644
--- a/sys-kernel/zen-sources/zen-sources-6.10.8.ebuild
+++ b/sys-kernel/zen-sources/zen-sources-6.10.10.ebuild
@@ -4,7 +4,7 @@
EAPI="8"
ETYPE="sources"
K_WANT_GENPATCHES="base extras"
-K_GENPATCHES_VER="11"
+K_GENPATCHES_VER="13"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index da77c6605097..5b5b27757076 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -12,6 +12,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0.ebuild
new file mode 100644
index 000000000000..f88c55f33b9e
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_MAJOR}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+# base targets
+IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray"
+# sanitizer targets, keep in sync with config-ix.cmake
+# NB: ubsan, scudo deliberately match two entries
+SANITIZER_FLAGS=(
+ asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo
+ shadowcallstack gwp-asan
+)
+IUSE+=" ${SANITIZER_FLAGS[@]/#/+}"
+REQUIRED_USE="
+ || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )
+"
+RESTRICT="
+ !clang? ( test )
+ !test? ( test )
+"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
+"
+BDEPEND="
+ clang? ( sys-devel/clang )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=(
+ llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party
+)
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die
+
+ local flag
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if ! use "${flag}"; then
+ local cmake_flag=${flag/-/_}
+ sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \
+ cmake/config-ix.cmake || die
+ fi
+ done
+
+ # TODO: fix these tests to be skipped upstream
+ if use asan && ! use profile; then
+ rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die
+ fi
+ if use ubsan && ! use cfi; then
+ > test/cfi/CMakeLists.txt || die
+ fi
+ # hangs, sigh
+ rm test/tsan/getline_nohang.cpp || die
+
+ llvm.org_src_prepare
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/compiler-rt_build
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ local flag want_sanitizer=OFF
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if use "${flag}"; then
+ want_sanitizer=ON
+ break
+ fi
+ done
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # use a build dir structure consistent with install
+ # this makes it possible to easily deploy test-friendly clang
+ -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ # builtins & crt installed by sys-libs/compiler-rt
+ -DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+ -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof)
+ -DCOMPILER_RT_BUILD_ORC=$(usex orc)
+ -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ # they are created during src_test()
+ -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+
+ # same flags are passed for build & tests, so we need to strip
+ # them down to a subset supported by clang
+ CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \
+ strip-unsupported-flags
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX
+ # This disables i386 for SDK >= 10.15
+ # Will error if has_use tsan and SDK < 10.12
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* )
+ [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
+ [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
+
+ # copy clang over since resource_dir is located relatively to binary
+ # therefore, we can put our new libraries in it
+ mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die
+ fi
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ # disable sandbox to have it stop clobbering LD_PRELOAD
+ local -x SANDBOX_ON=0
+ # wipe LD_PRELOAD to make ASAN happy
+ local -x LD_PRELOAD=
+
+ cmake_build check-all
+}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 8016764b89d1..ab632b04f053 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -11,6 +11,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/compiler-rt/compiler-rt-19.1.0.ebuild b/sys-libs/compiler-rt/compiler-rt-19.1.0.ebuild
new file mode 100644
index 000000000000..ccdf3d0f17c6
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-19.1.0.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_MAJOR}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if ! use clang && ! tc-is-clang; then
+ ewarn "Building using a compiler other than clang may result in broken atomics"
+ ewarn "library. Enable USE=clang unless you have a very good reason not to."
+ fi
+}
+
+pkg_setup() {
+ if target_is_not_host || tc-is-cross-compiler ; then
+ # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+ CHOST=${CTARGET} strip-unsupported-flags
+ # overrides host docs otherwise
+ DOCS=()
+ fi
+ python-any-r1_pkg_setup
+}
+
+test_compiler() {
+ target_is_not_host && return
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/${P}_build
+
+ if use clang && ! is_crosspkg; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ if ! tc-is-clang ; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ fi
+
+ strip-unsupported-flags
+ fi
+
+ if ! is_crosspkg && ! test_compiler ; then
+ local nolib_flags=( -nodefaultlibs -lc )
+
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ elif test_compiler "${nolib_flags[@]}" -nostartfiles; then
+ # Avoiding -nostartfiles earlier on for bug #862540,
+ # and set available entry symbol for bug #862798.
+ nolib_flags+=( -nostartfiles -e main )
+
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF
+ -DCOMPILER_RT_BUILD_ORC=OFF
+ -DCOMPILER_RT_BUILD_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
+ -DCOMPILER_RT_BUILD_XRAY=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64 && ! target_is_not_host; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if is_crosspkg; then
+ # Needed to target built libc headers
+ export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include"
+ mycmakeargs+=(
+ # Without this, the compiler will compile a test program
+ # and fail due to no builtins.
+ -DCMAKE_C_COMPILER_WORKS=1
+ -DCMAKE_CXX_COMPILER_WORKS=1
+
+ # Without this, compiler-rt install location is not unique
+ # to target triples, only to architecture.
+ # Needed if you want to target multiple libcs for one arch.
+ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
+
+ -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}"
+ -DCMAKE_C_COMPILER_TARGET="${CTARGET}"
+ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
+ )
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX.
+ # This disables i386 for SDK >= 10.15
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-builtins
+}
diff --git a/sys-libs/libchipcard/Manifest b/sys-libs/libchipcard/Manifest
index ccc116389bcd..4db37d054fe4 100644
--- a/sys-libs/libchipcard/Manifest
+++ b/sys-libs/libchipcard/Manifest
@@ -1,2 +1 @@
-DIST libchipcard-5.1.5rc2.tar.gz 877820 BLAKE2B dfe82e3d6aea26e95e5f69298ea17ad4bb9a1d106cca02a9fc23f5aa5ea338471ae5628248350e01571f4819567da2a0f5a3699d56d8f02ed58971d6ac715abe SHA512 5e86068bd688f72e04073dbd076f21646a6b75d2a7a73c25bba4396e8657c4df28cf5cfb61eef7b243186f8313cea1262e415f2acad5348fa5179b46d7f96ed1
DIST libchipcard-5.1.6.tar.gz 874865 BLAKE2B 995dec0ce1dd9a5c4eb1173c114a19292d5c9a96f44c0ad969390ab489a6ac4e9001596995eb06db98a4bee2fa8b2310b844efd2e1b18fe1138be00398e60bd3 SHA512 a6e22f2a92203529a8b35387b6d8a3de0ce16a8d845b6ebee53bc151fcaa7626a61f63e71480cd85c01c9c5975a17632be8ba2d71a604f7ec2eab9d40b9ddfd5
diff --git a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
deleted file mode 100644
index 72c3965f46dc..000000000000
--- a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${P/_rc/rc}"
-
-DESCRIPTION="Library for accessing chip cards via chip card readers (terminals)"
-HOMEPAGE="https://www.aquamaniac.de/rdm/projects/libchipcard"
-SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/229/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="doc examples"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( app-text/doxygen )
-"
-DEPEND="
- >=sys-apps/pcsc-lite-1.6.2
- >=sys-libs/gwenhywfar-4.99.22_rc6:=
- sys-libs/zlib
- virtual/libintl
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO doc/{CERTIFICATES,CONFIG,IPCCOMMANDS} )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --with-docpath=/usr/share/doc/${PF}/apidoc
- $(use_enable doc full-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- einstalldocs
-
- if use examples; then
- docinto tutorials
- dodoc tutorials/*.{c,h,xml} tutorials/README
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sys-libs/libchipcard/libchipcard-5.1.6.ebuild b/sys-libs/libchipcard/libchipcard-5.1.6.ebuild
deleted file mode 100644
index 22b7cb9b20a5..000000000000
--- a/sys-libs/libchipcard/libchipcard-5.1.6.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Library for accessing chip cards via chip card readers (terminals)"
-HOMEPAGE="https://www.aquamaniac.de/rdm/projects/libchipcard"
-SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/382/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="doc examples"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( app-text/doxygen )
-"
-DEPEND="
- >=sys-apps/pcsc-lite-1.6.2
- >=sys-libs/gwenhywfar-4.99.22_rc6:=
- sys-libs/zlib
- virtual/libintl
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO doc/{CERTIFICATES,CONFIG,IPCCOMMANDS} )
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --with-docpath=/usr/share/doc/"${PF}"/apidoc
- $(use_enable doc full-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- einstalldocs
-
- if use examples; then
- docinto tutorials
- dodoc tutorials/*.{c,h,xml} tutorials/README
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sys-libs/libchipcard/metadata.xml b/sys-libs/libchipcard/metadata.xml
index 115e9d64a669..947e0178918b 100644
--- a/sys-libs/libchipcard/metadata.xml
+++ b/sys-libs/libchipcard/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">aqbanking/libchipcard</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 7987d237e330..64c22660a3d8 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -10,6 +10,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/libcxx/libcxx-19.1.0.ebuild b/sys-libs/libcxx/libcxx-19.1.0.ebuild
new file mode 100644
index 000000000000..80dbe207d4c4
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-19.1.0.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="+clang +libcxxabi +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? (
+ ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
+ )
+ !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ dev-debug/gdb[python]
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+
+ if ! use libcxxabi && ! tc-is-gcc ; then
+ eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+ eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+ eerror "and try again."
+ die
+ fi
+}
+
+test_compiler() {
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # note: we need to do this before multilib kicks in since it will
+ # alter the CHOST
+ local cxxabi cxxabi_incs
+ if use libcxxabi; then
+ cxxabi=system-libcxxabi
+ cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
+ else
+ local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+ cxxabi=libsupc++
+ cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ # bootstrap: cmake is unhappy if compiler can't link to stdlib
+ local nolib_flags=( -nodefaultlibs -lc )
+ if ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES=libcxx
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXX_CXX_ABI=${cxxabi}
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+ # we're using our own mechanism for generating linker scripts
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_INSTALL_MODULES=ON
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxx
+}
+
+multilib_src_install() {
+ cmake_src_install
+ # since we've replaced libc++.{a,so} with ldscripts, now we have to
+ # install the extra symlinks
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ dolib.so lib/libc++_shared.so
+ use static-libs && dolib.a lib/libc++_static.a
+ fi
+}
+
+# Usage: deps
+gen_ldscript() {
+ local output_format
+ output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+ [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+ cat <<-END_LDSCRIPT
+/* GNU ld script
+ Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_static}.a || die
+ # Generate libc++.a ldscript for inclusion of its dependencies so that
+ # clang++ -stdlib=libc++ -static works out of the box.
+ local deps=(
+ libc++_static.a
+ $(usex libcxxabi libc++abi.a libsupc++.a)
+ )
+ # On Linux/glibc it does not link without libpthread or libdl. It is
+ # fine on FreeBSD.
+ use elibc_glibc && deps+=( libpthread.a libdl.a )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.a || die
+}
+
+gen_shared_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_shared}.so || die
+ local deps=(
+ libc++_shared.so
+ # libsupc++ doesn't have a shared version
+ $(usex libcxxabi libc++abi.so libsupc++.a)
+ )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.so || die
+}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/libcxxabi/libcxxabi-19.1.0.ebuild b/sys-libs/libcxxabi/libcxxabi-19.1.0.ebuild
new file mode 100644
index 000000000000..c129f18b4672
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-19.1.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="+clang +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+# in 15.x, cxxabi.h is moving from libcxx to libcxxabi
+RDEPEND+="
+ !<sys-libs/libcxx-15
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+multilib_src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx"
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
+
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_build cxxabi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install() {
+ DESTDIR="${D}" cmake_build install-cxxabi
+}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index b02c9b494dd5..41bd29a7efd2 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -9,6 +9,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/libomp/libomp-19.1.0.ebuild b/sys-libs/libomp/libomp-19.1.0.ebuild
new file mode 100644
index 000000000000..64ab38e3e987
--- /dev/null
+++ b/sys-libs/libomp/libomp-19.1.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic cmake-multilib linux-info llvm.org python-single-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+IUSE="debug gdb-plugin hwloc ompt test"
+REQUIRED_USE="
+ gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ gdb-plugin? ( ${PYTHON_DEPS} )
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-lang/perl
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ sys-devel/clang
+ )
+"
+
+LLVM_COMPONENTS=( openmp cmake llvm/include )
+llvm.org_set_globals
+
+pkg_setup() {
+ if use gdb-plugin || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+multilib_src_configure() {
+ # LTO causes issues in other packages building, #870127
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ )
+
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}
diff --git a/sys-libs/libstatgrab/Manifest b/sys-libs/libstatgrab/Manifest
index 5b68a24ad6cf..39ef01fe9d7f 100644
--- a/sys-libs/libstatgrab/Manifest
+++ b/sys-libs/libstatgrab/Manifest
@@ -1,2 +1 @@
DIST libstatgrab-0.92.1.tar.gz 817531 BLAKE2B 5315772da07a9229f7f5d85dc7563333892e2a7293d7b331bd65edbebc08841103e6cf695d8faf25b83135545dda767bfc358517afa866981657dc8205d319be SHA512 e1f14df8abbb044d02b0ecebc23fbe9effaa0bac6738686e661de015564df5a4d872edef6d07fd150db25764b449d47ef54beecbe12c51987a679b07edc53c97
-DIST libstatgrab-0.92.tar.gz 815262 BLAKE2B d8ca538f01d9e0b1d5c459c9c0da6df5b6806e02649d726c3ee8a2f69233a7183df6dda95980a8e6f8b438478ec28f4baa9d623d5372e5e3e28ea4909e905872 SHA512 a99c6be56d930779d0d8f6f81e64e2f31e19423009c39e925b39116a42aa2c6037651992ac2168c43a5c6ecadf3e4a58486ab6148cf96118c429b04fdcf65192
diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
index a95f40de80dc..ccff04645e8b 100644
--- a/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
+++ b/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="A tool to provide access to statistics about the system on which it's run"
-HOMEPAGE="https://www.i-scream.org/libstatgrab/"
+HOMEPAGE="https://libstatgrab.org/"
SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/${P}.tar.gz"
LICENSE="|| ( GPL-2 LGPL-2.1 )"
diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
deleted file mode 100644
index 81a63a9af307..000000000000
--- a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A tool to provide access to statistics about the system on which it's run"
-HOMEPAGE="https://www.i-scream.org/libstatgrab/"
-SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/${P}.tar.gz"
-
-LICENSE="|| ( GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ppc ~riscv x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-libs/ncurses:="
-DEPEND="${RDEPEND}"
-
-DOCS=( ChangeLog PLATFORMS NEWS AUTHORS README )
-
-src_configure() {
- local myeconfargs=(
- --disable-setgid-binaries
- --disable-setuid-binaries
- --with-ncurses
- --disable-static
- $(use_enable test tests)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- docinto examples
- dodoc -r examples/*
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index da671e73c02c..05cedfc4345b 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -8,6 +8,8 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
+DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
+DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0.ebuild
new file mode 100644
index 000000000000..45b7c96819be
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="+clang debug static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !sys-libs/libunwind
+"
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+multilib_src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ local libdir=$(get_libdir)
+
+ # https://github.com/llvm/llvm-project/issues/56825
+ # also separately bug #863917
+ filter-lto
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ # https://github.com/gentoo/gentoo/pull/21516
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ # Respect upstream build type assumptions (bug #910436) where they do:
+ # -DLIBUNWIND_ENABLE_ASSERTIONS=ON =>
+ # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG
+ # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG
+ # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF =>
+ # -UNDEBUG
+ # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826.
+ use debug || append-cppflags -DNDEBUG
+
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libunwind"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_INCLUDE_TESTS=$(usex test)
+ -DLIBUNWIND_INSTALL_HEADERS=ON
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+
+ # avoid dependency on libgcc_s if compiler-rt is used
+ -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt}
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
+
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ON
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-unwind
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-unwind
+}
diff --git a/sys-power/sispmctl/Manifest b/sys-power/sispmctl/Manifest
index 2111397e0793..c128cffa68be 100644
--- a/sys-power/sispmctl/Manifest
+++ b/sys-power/sispmctl/Manifest
@@ -1,2 +1 @@
-DIST sispmctl-4.1.tar.gz 429477 BLAKE2B fe9231a5a0b22456d81166ae5dbaf98c86a636e79ff09112438c769daa503996128d31609bd90f66a5414459c9fce66956b1ee001ac3d57f8f472a09b34aee20 SHA512 52cf6e7d4df76c1d28d196a81a06dec59047f2d43571bc72ff08a22359c3e5d7a36fd446118036fe35f9c26e59a07563ac15d9e05285e7b09214b68aab5ef488
DIST sispmctl-4.12.tar.gz 462829 BLAKE2B dccf61386ad337739825c7f885bef0cbf76868f938a2a7e0ea9853c0bd5591a289d82876f800f2839e6cd9be7040dec2c650ea347e446e15ba43f1169c05cd36 SHA512 945dd7a14f1d6c60cf6f9855782608187c94edce2c3acb9c1dabf92022632051bdf659c49d1d82fd8d38283d710a6847ac985e2efca9a157425fdc55545d5a1a
diff --git a/sys-power/sispmctl/sispmctl-4.1-r1.ebuild b/sys-power/sispmctl/sispmctl-4.1-r1.ebuild
deleted file mode 100644
index 122669b2ed7b..000000000000
--- a/sys-power/sispmctl/sispmctl-4.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit systemd udev
-
-DESCRIPTION="GEMBIRD SiS-PM control utility"
-HOMEPAGE="http://sispmctl.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/sispmctl/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="static-libs"
-
-DEPEND="
- virtual/libusb:0
-"
-RDEPEND="
- ${DEPEND}
- acct-group/sispmctl
-"
-
-DOCS="AUTHORS README ChangeLog"
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- --enable-webless
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- ## install udev rules which make the device files writable
- ## by the members of the group sispmctl
- udev_dorules examples/60-sispmctl.rules
-
- systemd_dounit examples/${PN}.service
-
- einfo "Add users who may run ${PN} to the group '${PN}'"
-}
diff --git a/sys-power/sispmctl/sispmctl-4.12.ebuild b/sys-power/sispmctl/sispmctl-4.12.ebuild
index 800da41c65b6..4fa92e68e8c6 100644
--- a/sys-power/sispmctl/sispmctl-4.12.ebuild
+++ b/sys-power/sispmctl/sispmctl-4.12.ebuild
@@ -6,7 +6,7 @@ EAPI=8
inherit systemd udev
DESCRIPTION="GEMBIRD SiS-PM control utility"
-HOMEPAGE="http://sispmctl.sourceforge.net/"
+HOMEPAGE="https://sispmctl.sourceforge.net/"
SRC_URI="https://downloads.sourceforge.net/sispmctl/${P}.tar.gz"
LICENSE="GPL-2+"
diff --git a/sys-process/supervise-scripts/supervise-scripts-4.0-r1.ebuild b/sys-process/supervise-scripts/supervise-scripts-4.0-r1.ebuild
deleted file mode 100644
index 6f566c19862b..000000000000
--- a/sys-process/supervise-scripts/supervise-scripts-4.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Starting and stopping daemontools managed services"
-HOMEPAGE="http://untroubled.org/supervise-scripts/"
-SRC_URI="http://untroubled.org/supervise-scripts/archive/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ppc sparc x86"
-IUSE="doc"
-
-RDEPEND="virtual/daemontools"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- echo "/usr/bin" > conf-bin
- echo "/usr/share/man" > conf-man
- default
-}
-
-src_install() {
- emake PREFIX="${D}" install
- use doc && dodoc *.html
-}
diff --git a/virtual/dist-kernel/dist-kernel-6.1.111.ebuild b/virtual/dist-kernel/dist-kernel-6.1.111.ebuild
new file mode 100644
index 000000000000..15b55453deca
--- /dev/null
+++ b/virtual/dist-kernel/dist-kernel-6.1.111.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual to depend on any Distribution Kernel"
+SLOT="0/${PVR}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ || (
+ ~sys-kernel/gentoo-kernel-${PV}
+ ~sys-kernel/gentoo-kernel-bin-${PV}
+ ~sys-kernel/vanilla-kernel-${PV}
+ )
+"
diff --git a/virtual/dist-kernel/dist-kernel-6.10.11.ebuild b/virtual/dist-kernel/dist-kernel-6.10.11.ebuild
new file mode 100644
index 000000000000..9969a23652bd
--- /dev/null
+++ b/virtual/dist-kernel/dist-kernel-6.10.11.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual to depend on any Distribution Kernel"
+SLOT="0/${PVR}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ || (
+ ~sys-kernel/gentoo-kernel-${PV}
+ ~sys-kernel/gentoo-kernel-bin-${PV}
+ ~sys-kernel/vanilla-kernel-${PV}
+ )
+"
diff --git a/virtual/dist-kernel/dist-kernel-6.6.52.ebuild b/virtual/dist-kernel/dist-kernel-6.6.52.ebuild
new file mode 100644
index 000000000000..9969a23652bd
--- /dev/null
+++ b/virtual/dist-kernel/dist-kernel-6.6.52.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual to depend on any Distribution Kernel"
+SLOT="0/${PVR}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ || (
+ ~sys-kernel/gentoo-kernel-${PV}
+ ~sys-kernel/gentoo-kernel-bin-${PV}
+ ~sys-kernel/vanilla-kernel-${PV}
+ )
+"
diff --git a/virtual/jdk/jdk-23.ebuild b/virtual/jdk/jdk-23.ebuild
new file mode 100644
index 000000000000..5a23aeed9722
--- /dev/null
+++ b/virtual/jdk/jdk-23.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual for Java Development Kit (JDK)"
+SLOT="${PV}"
+# KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="headless-awt"
+
+RDEPEND="|| (
+ dev-java/openjdk-bin:${SLOT}[gentoo-vm(+),headless-awt=]
+ dev-java/openjdk:${SLOT}[gentoo-vm(+),headless-awt=]
+)"
diff --git a/virtual/jre/jre-23.ebuild b/virtual/jre/jre-23.ebuild
new file mode 100644
index 000000000000..3e5caf55150c
--- /dev/null
+++ b/virtual/jre/jre-23.ebuild
@@ -0,0 +1,10 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual for Java Runtime Environment (JRE)"
+SLOT="${PV}"
+# KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="virtual/jdk:${SLOT}"
diff --git a/virtual/rust/rust-1.81.0.ebuild b/virtual/rust/rust-1.81.0-r1.ebuild
index 57e3cc3e6519..6f50c94d3e77 100644
--- a/virtual/rust/rust-1.81.0.ebuild
+++ b/virtual/rust/rust-1.81.0-r1.ebuild
@@ -15,6 +15,6 @@ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="rustfmt profiler"
RDEPEND="|| (
- ~dev-lang/rust-bin-${PV}[profiler?,rustfmt?,${MULTILIB_USEDEP}]
+ ~dev-lang/rust-bin-${PV}[rustfmt?,${MULTILIB_USEDEP}]
~dev-lang/rust-${PV}[profiler?,rustfmt?,${MULTILIB_USEDEP}]
)"
diff --git a/www-apache/mod_wsgi/Manifest b/www-apache/mod_wsgi/Manifest
index b31f959fed6f..031d9969a0d2 100644
--- a/www-apache/mod_wsgi/Manifest
+++ b/www-apache/mod_wsgi/Manifest
@@ -1,3 +1 @@
-DIST mod_wsgi-4.9.0.tar.gz 699891 BLAKE2B 7ee6ffc28e86baf8ee92973479a26964f7c183c2b113b49a48af02c622f8d8f698abffcd4f522a1ecca5b89325f94856cbe89db5a81d2ac2e87438ee90be97b0 SHA512 9dc34d431171321094a9713444895d9754eff4e69ad1e86c8d3cd77bc1ca0a4c10b697e7f8cf14902d6bfaf205c8842e62fa944bb38f66f1c54fd36af95a09d6
-DIST mod_wsgi-4.9.4.gh.tar.gz 706904 BLAKE2B 6473ee5be4f21d7d5806028b22d582e9d2b6f2a28bb0ed2b03a3da799858bdb4ebcfc85eb7850e91ff041d0c0a6cf2a898bffbbe884faa891c4f1f115d043517 SHA512 0898221d95f0ce374cbd34a1849a6e6b5bd7850644d5fe36f558dcc58095cd535c854cb06798482d312485b8d89b8641d91fa26af3d208e10a6073b885af3199
DIST mod_wsgi-5.0.0.gh.tar.gz 707590 BLAKE2B 14dd43849c0f9d1e67eece9a87acc3573cbb38f8d6338551b22ba33ebd8b6f6e1371e97c7c5d3f1b15cb10e2ae9990eff7f4c6af62fb9236bcc78b35aad4a8db SHA512 3ecc3ad2fd05164929915541be61201db8d35d1e27183ce26c67583b836bb404bd10c88a2ada94714a14140a7f885eb67256cf02bf47aa0dbd81aecd0894a984
diff --git a/www-apache/mod_wsgi/mod_wsgi-4.9.0.ebuild b/www-apache/mod_wsgi/mod_wsgi-4.9.0.ebuild
deleted file mode 100644
index 8f92a32cf465..000000000000
--- a/www-apache/mod_wsgi/mod_wsgi-4.9.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit apache-module python-single-r1
-
-DESCRIPTION="An Apache2 module for running Python WSGI applications"
-HOMEPAGE="https://github.com/GrahamDumpleton/mod_wsgi"
-SRC_URI="https://github.com/GrahamDumpleton/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND=""
-RDEPEND="${PYTHON_DEPS}"
-
-APACHE2_MOD_CONF="70_${PN}"
-APACHE2_MOD_DEFINE="WSGI"
-APACHE2_MOD_FILE="${S}/src/server/.libs/${PN}.so"
-
-DOCFILES="README.rst"
-
-need_apache2
-
-pkg_setup() {
- python-single-r1_pkg_setup
-
- # Calling depend.apache_pkg_setup fails because we do not have
- # "apache2" in IUSE but the function expects this in order to call
- # _init_apache2_late which sets the APACHE_MODULESDIR variable.
- _init_apache2
- _init_apache2_late
-}
-
-src_configure() {
- econf --with-apxs="${APXS}" --with-python="${PYTHON}"
-}
-
-src_compile() {
- default
-}
diff --git a/www-apache/mod_wsgi/mod_wsgi-4.9.4-r1.ebuild b/www-apache/mod_wsgi/mod_wsgi-4.9.4-r1.ebuild
deleted file mode 100644
index b6f56dd96b64..000000000000
--- a/www-apache/mod_wsgi/mod_wsgi-4.9.4-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit apache-module python-single-r1
-
-DESCRIPTION="An Apache2 module for running Python WSGI applications"
-HOMEPAGE="https://github.com/GrahamDumpleton/mod_wsgi"
-SRC_URI="https://github.com/GrahamDumpleton/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}"
-
-APACHE2_MOD_CONF="70_${PN}"
-APACHE2_MOD_DEFINE="WSGI"
-APACHE2_MOD_FILE="${S}/src/server/.libs/${PN}.so"
-
-DOCFILES="README.rst"
-
-need_apache2
-
-pkg_setup() {
- python-single-r1_pkg_setup
-
- # Calling depend.apache_pkg_setup fails because we do not have
- # "apache2" in IUSE but the function expects this in order to call
- # _init_apache2_late which sets the APACHE_MODULESDIR variable.
- _init_apache2
- _init_apache2_late
-}
-
-src_configure() {
- econf --with-apxs="${APXS}" --with-python="${PYTHON}"
-}
-
-src_compile() {
- default
-}
diff --git a/www-apps/chromedriver-bin/Manifest b/www-apps/chromedriver-bin/Manifest
index 8e5320ed0eed..6bdf2adab6a4 100644
--- a/www-apps/chromedriver-bin/Manifest
+++ b/www-apps/chromedriver-bin/Manifest
@@ -1 +1 @@
-DIST chromedriver-bin-128.0.6613.137.linux64.zip 9370775 BLAKE2B 6eb29297cc954ea4485544d45fc29f130df20c3b425ca28f8b350982ada558ca91d03338e2e9acbb2c26bd87b8918caf098ef0ce3bc6c8ba57c60465028cd81a SHA512 d5216d45a618f263c67177831db389375bfa37ab9b701486365f4f8e93a0b4e79e3597fe0fb06897831701036777fa7339b4afe8acfc49362212d51fe5da2471
+DIST chromedriver-bin-129.0.6668.58.linux64.zip 9410841 BLAKE2B 4f75eebff2080b74f64c65787f8d939616a8db7a5100759b0d462f506ed7a361804888553527891ce5bcdd230bf49430c00f6cdddff261c7156471e621e070bc SHA512 017e817676ca179be99e2c3e42509156a0138999cb0a2623790106e562a621c4bd1e922e804dd4285efe35dab662455f3b4bfe0f3315ca53ab4b8b077bc92c1e
diff --git a/www-apps/chromedriver-bin/chromedriver-bin-128.0.6613.137.ebuild b/www-apps/chromedriver-bin/chromedriver-bin-129.0.6668.58.ebuild
index ff9ba50fc766..ff9ba50fc766 100644
--- a/www-apps/chromedriver-bin/chromedriver-bin-128.0.6613.137.ebuild
+++ b/www-apps/chromedriver-bin/chromedriver-bin-129.0.6668.58.ebuild
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 07395c83a1c7..173af50ca482 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,11 +1,10 @@
DIST chromium-128-clang.tar.xz 51489372 BLAKE2B 352a585e3acf0f0685ab2eaeb13e847195119bc6e3694f7fc20eeabdb25821019187e52997618214ccb469766c2982f489c6bdc643a339c1cfbe3e5fb3a131d4 SHA512 bc448096975111ff6ff5a9f82a6acb2bb244e9c344a8e6ef8bcdee5a06d0004955f76f6566f01519da5cc2eae08a2df2dd0ac5afee38dbc2ba918e735f338422
DIST chromium-128-rust.tar.xz 148907072 BLAKE2B 9b28d1eca65d3e62ef142f96d9b3371bb65c6778414e5b64f0ad02c4aace219974f1cb292c9a6d9c443e3ed4f61192248ccaf9b18079cbd5a5f5c3abfe79d485 SHA512 5469490b23656a83d6198a087ddb82dd342fd8a426b32193218f7174395053f2ec7aaced5c464b8b16cdbddc252f80a98ca2a4b88742d2b0c910f2d2bfa7e431
DIST chromium-128.0.6613.113.tar.xz 6711639096 BLAKE2B 1719b97aa30584b1d997d5fa894d23ec5b8063f9fdb53b9a7cd760896634a71a9c547e6a65d1db3c5e6308233c39dcf09db3a78d52ef960313c2c7b4381e6a46 SHA512 57ecf8d5d741a9a3ba9bb1ffd1e75ee83c14a0c552657063fca9bd4e5eec82b5ccafe81e1cea26cbb29992ce418bdcce11794e7ba3f7a860648df270cb2cd2cf
-DIST chromium-128.0.6613.119.tar.xz 6718742128 BLAKE2B b47eb124c249bae074883cdf1e98eaddd2aae1b5575960fea68632bd4684a1a28f59b41894935b02609f75de60f44b61d418ee0065bf005272a066133dca2946 SHA512 a3a1411b21885ce0c29574355d52a1bfad84299fdc99daf191d70f911f191d482f0e4a3d181faa1a1a7b031727f482fd3d95b6d9e1280167c0610f731356d11f
DIST chromium-128.0.6613.137.tar.xz 6724182764 BLAKE2B 9f4d77b058af1619a4a13beac31ea463bd3d02086c172fb074d510b3f1dcba284fb1fa9ac5883ade2c2855f851a22bcbd4503960b4a27bc5844f16ad81558aba SHA512 3be85d2270a70ce3779b57e5d011e45312c67607e9e7c7f7ef396c515e37fed767105dfe0cc1f76830b007cebc05662f5318750c656c8a9765a25fa62036df6e
DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976
DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b
-DIST chromium-129.0.6668.42.tar.xz 6656071852 BLAKE2B abeb3785fb4b4994699378876e15912b77cadb223f85daa277a8be8019c50a7a9095c9e4af502c091b279876ed597872273be7e815977f4cc3e0d26149610d14 SHA512 483fe6ea1a9abfbccadabd8c198212f634cba2acebde2e099019a30036a5ecf60b319dcb51a455ae6d56c0e8eaee61f508142534bdf73e6149e4af493d74beca
+DIST chromium-129.0.6668.58.tar.xz 6658438468 BLAKE2B 6d643eb8d1a22c86ac84460aabb934330f4f22164eed6219b19d373c83142b7c48ee125ed7290835b8f6ed763bb4b8a01d2c43b74ca125ed1a4ef963459d5f3d SHA512 7aa14484342ebbee9ec9ba7ef0ae8bb9c9431d9c9970df7a566c96292cbdee7033c8d182b2490933f9fa4c3ba76e58475c45133abaed4f2003997c15f0d2e351
DIST chromium-patches-128.tar.bz2 5087 BLAKE2B b0321fb45390a282afeeeb8fb4d6014d6e6b708e6851235e0897ac77d524160b4d33476aa70532df45d0ccf233fee3b4028cd4d845667dc6a2a46ecebfeb6752 SHA512 978908d27dc6fc620209486a9ad7f73babde8710728960f44f2680445276516e59a85c08656af2663d9e197df45874f24a1f19f14a21798fbcf7c5a10bb19371
DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
diff --git a/www-client/chromium/chromium-128.0.6613.119.ebuild b/www-client/chromium/chromium-128.0.6613.119.ebuild
deleted file mode 100644
index 5bff9392446b..000000000000
--- a/www-client/chromium/chromium-128.0.6613.119.ebuild
+++ /dev/null
@@ -1,1452 +0,0 @@
-# Copyright 2009-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# PACKAGING NOTES
-
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-# We use llvm-utils.eclass directly due to chromium's inherent Googliness.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
-
-GN_MIN_VER=0.2165
-RUST_MIN_VER=1.78.0
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-14561-gecea8371-3000
-GOOGLE_RUST_VER=3cf924b934322fd7b514600a7dc84fc517515346-3
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
-
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-# While prerelease llvm is actually used in the google build, until we have a
-# sane way to select 'rust built with this llvm slot' that isn't stable and testing
-# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords.
-LLVM_COMPAT=( {17..18} )
-PYTHON_COMPAT=( python3_{11..13} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1"
-PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- system-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- )
- !system-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
- -> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%?????}.tar.xz
- -> chromium-${PV%%\.*}-rust.tar.xz
- )
- ppc64? (
- https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
- https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="amd64 ~arm64 ~ppc64"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- qt6? ( qt5 )
- screencast? ( wayland )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-73.0:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-png? ( media-libs/libpng:=[-apng(-)] )
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-1.6.0:=
- sys-libs/zlib:=
- x11-libs/libdrm:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-base/xorg-proto:=
- x11-libs/libX11:=
- x11-libs/libxcb:=
- x11-libs/libXext:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- X? ( ${COMMON_X_DEPEND} )
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- cups? ( >=net-print/cups-1.3.11:= )
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-depend_clang_llvm_version() {
- echo "sys-devel/clang:$1"
- echo "sys-devel/llvm:$1"
- echo "=sys-devel/lld-$1*"
- echo "virtual/rust:0/llvm-${1}[profiler(-)]"
- echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )"
-}
-
-# Parse LLVM_COMPAT and generate a usedep for each version
-depend_clang_llvm_versions() {
- if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then
- depend_clang_llvm_version ${#LLVM_COMPAT[0]}
- else
- echo "|| ("
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- echo "("
- depend_clang_llvm_version ${LLVM_COMPAT[i]}
- echo ")"
- done
- echo ")"
- fi
-}
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt5? ( dev-qt/qtcore:5 )
- qt6? ( dev-qt/qtbase:6 )
- )
- system-toolchain? (
- $(depend_clang_llvm_versions)
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- )
- >=dev-util/bindgen-0.68.0
- )
- >=dev-build/gn-${GN_MIN_VER}
- dev-build/ninja
- dev-lang/perl
- >=dev-util/gperf-3.0.3
- dev-vcs/git
- >=net-libs/nodejs-7.6.0[inspector]
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- local BASE_DISK=24
- local EXTRA_DISK=1
- local CHECKREQS_MEMORY="4G"
- tc-is-cross-compiler && EXTRA_DISK=2
- if tc-is-lto || use pgo; then
- CHECKREQS_MEMORY="9G"
- tc-is-cross-compiler && EXTRA_DISK=4
- use pgo && EXTRA_DISK=8
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- EXTRA_DISK=13
- fi
- CHECKREQS_MEMORY="16G"
- fi
- CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-# Chromium should build with any version of clang that we support
-# but we may need to pick the "best" one for a build (highest installed,
-# rust is built against it, etc.)
-# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available
-# and output the _highest_ slot that is actually available on a system.
-chromium_pick_llvm_slot() {
- # LLVM_COMPAT is always going to be oldest to newest (or one value)
- # let's flip it and check from newest to oldest and return the first one we find.
- local slot
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- slot=${LLVM_COMPAT[i]}
- if has_version "sys-devel/clang:${slot}" && \
- has_version "sys-devel/llvm:${slot}" && \
- has_version "sys-devel/lld:${slot}" && \
- has_version "virtual/rust:0/llvm-${slot}" && \
- ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then
-
- echo "${slot}"
- return
- fi
- done
-
- die_msg="
-No suitable clang/llvm/lld slot found.
-Slots checked: ${LLVM_COMPAT[*]}.
-"
- die "${die_msg}"
-}
-
-# We need the rust version in src_configure and pkg_setup
-chromium_extract_rust_version() {
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- echo $rustc_version
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- if use system-toolchain; then
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
- # This is effectively the 'force-clang' path if GCC support is re-added.
- # TODO: check if the user has already selected a specific impl via make.conf and respect that.
- if ! tc-is-lto && use official; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
-
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
-
- LLVM_SLOT=$(chromium_pick_llvm_slot)
- export LLVM_SLOT # used in src_configure for rust-y business
- AR=llvm-ar
- CPP="${CHOST}-clang++ -E"
- NM=llvm-nm
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
-
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++ -E"
- fi
-
- # The llvm-r1_pkg_setup we have at home.
- # We prepend the path _first_ to explicitly use the selected slot.
- llvm_prepend_path "${LLVM_SLOT}"
-
- llvm_fix_clang_version CC CPP CXX
- llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
- llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
- fi
-
- einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build"
-
- local rustc_ver=$(chromium_extract_rust_version)
- if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
- eerror "Rust >=${RUST_MIN_VER} is required"
- eerror "Please run 'eselect rust' and select the correct rust version"
- die "Selected rust version is too old"
- else
- einfo "Using rust ${rustc_ver} to build"
- fi
-
- fi
- # Users should never hit this, it's purely a development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
- # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
- # one toolchain over the other. The addtional control over over unpacking also helps us
- # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
- # package by just not unpacking it unless we're using the bundled toolchain.
- unpack ${P}.tar.xz
- if use system-toolchain; then
- unpack chromium-patches-${PATCH_V}.tar.bz2
- else
- unpack chromium-${PV%%\.*}-clang.tar.xz
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
- fi
-
- use pgo && unpack chromium-profiler-0.2.tar
-
- if use ppc64; then
- unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
- unpack chromium-ppc64le-gentoo-patches-1.tar.xz
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # disable global media controls, crashes with libstdc++
- sed -i -e \
- "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc" || die
-
- local PATCHES=(
- "${FILESDIR}/chromium-cross-compile.patch"
- "${FILESDIR}/chromium-109-system-zlib.patch"
- "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
- "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
- "${FILESDIR}/chromium-127-updater-systemd.patch"
- )
-
- # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public"
- sed -i '/source_set("unit_tests") {/,/}/d' \
- chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target"
- sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \
- || die "Failed to remove dependencies on bad target"
-
- if use system-toolchain; then
- # The patchset is really only required if we're using the system-toolchain
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins
- sed -i -e \
- "/if (is_clang && toolchain_has_rust) {/,+2d" \
- build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
- else
- mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
- ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
- ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
- echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
- die "Failed to set clang version"
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- fi
-
- if use ppc64 ; then
- local p
- for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
- if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
- eapply "${WORKDIR}/debian/patches/${p}"
- fi
- done
- PATCHES+=( "${WORKDIR}/ppc64le" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
- fi
-
- default
-
- rm third_party/node/linux/node-linux-x64/bin/node || die
- ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/bidimapper
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
- third_party/ced
- third_party/cld_3
- third_party/closure_compiler
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crabbyavif
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/front_end/third_party/web-vitals
- third_party/devtools-frontend/src/third_party
- third_party/distributed_point_functions
- third_party/dom_distiller_js
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fdlibm
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/highway
- third_party/hunspell
- third_party/iccjpeg
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/jstemplate
- third_party/khronos
- third_party/lens_server_proto
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libc++
- third_party/libevent
- third_party/libgav1
- third_party/libjingle
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libudev
- third_party/liburlpattern
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/libzip
- third_party/lit
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/mesa
- third_party/metrics_proto
- third_party/minigbm
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/perfetto/protos/third_party/simpleperf
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private_membership
- third_party/private-join-and-compute
- third_party/protobuf
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/qcms
- third_party/re2
- third_party/rnnoise
- third_party/rust
- third_party/ruy
- third_party/s2cellid
- third_party/securemessage
- third_party/selenium-atoms
- third_party/sentencepiece
- third_party/sentencepiece/src/third_party/darts_clone
- third_party/shell-encryption
- third_party/simplejson
- third_party/six
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/skia/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/spirv-headers
- third_party/spirv-tools
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/swiftshader/third_party/subzero
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/util
- third_party/tflite/src/third_party/xla/xla/tsl/framework
- third_party/ukey2
- third_party/unrar
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/webrtc/rtc_base/third_party/base64
- third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zlib/google
- third_party/zxcvbn-cpp
- url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/utf8-decoder
- v8/src/third_party/valgrind
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/v8
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-png; then
- keeplibs+=( third_party/libpng )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
- keeplibs+=( third_party/llvm )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- einfo "Unbundling third-party libraries ..."
- # Remove most bundled libraries. Some are still needed.
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
- mkdir -p buildtools/third_party/eu-strip/bin || die
- ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local myconf_gn=""
-
- # We already forced the "correct" clang via pkg_setup
- if use system-toolchain; then
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
-
- strip-unsupported-flags
-
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- # https://bugs.gentoo.org/918897#c32
- append-ldflags -Wl,--undefined-version
- myconf_gn+=" use_lld=true"
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
-
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
- myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
- # setup cups-config, build system only uses --libs option
- if use cups; then
- mkdir "${T}/cups-config" || die
- cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
- export PATH="${PATH}:${T}/cups-config"
- fi
-
- # Don't inherit PKG_CONFIG_PATH from environment
- local -x PKG_CONFIG_PATH=
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
- fi
-
- # bindgen settings
- # From 127, to make bindgen work, we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
-
- # from get_llvm_prefix
- local prefix=${ESYSROOT}
- [[ ${1} == -b ]] && prefix=${BROOT}
- myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\""
- # We don't need to set 'clang_base_bath' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
- myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
-
- # We need to provide this to GN in both the path to rust _and_ the version
- local rustc_ver=$(chromium_extract_rust_version)
- if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
- else
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
- fi
- myconf_gn+=" rustc_version=\"${rustc_ver}\""
- fi
-
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- myconf_gn+=" is_debug=false"
-
- # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
- # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
- myconf_gn+=" dcheck_always_on=$(usex debug true false)"
- myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
-
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- myconf_gn+=" is_component_build=false"
-
- # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
- myconf_gn+=" enable_nacl=false"
-
- # Use system-provided libraries.
- # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
- # TODO: use_system_hunspell (upstream changes needed).
- # TODO: use_system_protobuf (bug #525560).
- # TODO: use_system_sqlite (http://crbug.com/22208).
-
- # libevent: https://bugs.gentoo.org/593458
- local gn_system_libraries=(
- flac
- fontconfig
- freetype
- # Need harfbuzz_from_pkgconfig target
- #harfbuzz-ng
- libdrm
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
- if use system-png; then
- gn_system_libraries+=( libpng )
- fi
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
-
- # See dependency logic in third_party/BUILD.gn
- myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
-
- # Optional dependencies.
- myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
- myconf_gn+=" enable_widevine=$(usex widevine true false)"
-
- if use headless; then
- myconf_gn+=" use_cups=false"
- myconf_gn+=" use_kerberos=false"
- myconf_gn+=" use_pulseaudio=false"
- myconf_gn+=" use_vaapi=false"
- myconf_gn+=" rtc_use_pipewire=false"
- else
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
- myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
- fi
-
- # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
- # using dlopen. This helps with automated detection of ABI mismatches and
- # prevents silent errors.
- if use pulseaudio; then
- myconf_gn+=" link_pulseaudio=true"
- fi
-
- # Non-developer builds of Chromium (for example, non-Chrome browsers, or
- # Chromium builds provided by Linux distros) should disable the testing config
- myconf_gn+=" disable_fieldtrial_testing_config=true"
-
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- myconf_gn+=" use_sysroot=false"
-
- # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
- # instead of the system C++ library for C++ standard library support.
- # default: true, but let's be explicit (forced since 120 ; USE removed 127).
- myconf_gn+=" use_custom_libcxx=true"
-
- # Disable pseudolocales, only used for testing
- myconf_gn+=" enable_pseudolocales=false"
-
- # Disable code formating of generated files
- myconf_gn+=" blink_enable_generated_code_formatting=false"
-
- if use bindist ; then
- # proprietary_codecs just forces Chromium to say that it can use h264/aac,
- # the work is still done by ffmpeg. If this is set to no Chromium
- # won't be able to load the codec even if the library can handle it
- myconf_gn+=" proprietary_codecs=true"
- myconf_gn+=" ffmpeg_branding=\"Chrome\""
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- myconf_gn+=" is_component_ffmpeg=true"
- else
- ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
- myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
- myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
- fi
-
- # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
- # Note: these are for Gentoo use ONLY. For your own distribution,
- # please get your own set of keys. Feel free to contact chromium@gentoo.org
- # for more info. The OAuth2 credentials, however, have been left out.
- # Those OAuth2 credentials have been broken for quite some time anyway.
- # Instead we apply a patch to use the --oauth2-client-id= and
- # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
- # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
- # Chromium without baked-in values.
- local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
- myconf_gn+=" google_api_key=\"${google_api_key}\""
- local myarch="$(tc-arch)"
-
- # Avoid CFLAGS problems, bug #352457, bug #390147.
- if ! use custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
-
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
-
- # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
- if [[ ${myarch} == amd64 ]]; then
- filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- fi
- fi
-
- if [[ $myarch = amd64 ]] ; then
- myconf_gn+=" target_cpu=\"x64\""
- ffmpeg_target_arch=x64
- elif [[ $myarch = arm64 ]] ; then
- myconf_gn+=" target_cpu=\"arm64\""
- ffmpeg_target_arch=arm64
- elif [[ $myarch = ppc64 ]] ; then
- myconf_gn+=" target_cpu=\"ppc64\""
- ffmpeg_target_arch=ppc64
- else
- die "Failed to determine target arch, got '$myarch'."
- fi
-
- myconf_gn+=" treat_warnings_as_errors=false"
- # Disable fatal linker warnings, bug 506268.
- myconf_gn+=" fatal_linker_warnings=false"
-
- # Disable external code space for V8 for ppc64. It is disabled for ppc64
- # by default, but cross-compiling on amd64 enables it again.
- if tc-is-cross-compiler; then
- if ! use amd64 && ! use arm64; then
- myconf_gn+=" v8_enable_external_code_space=false"
- fi
- fi
-
- # Only enabled for clang, but gcc has endian macros too
- myconf_gn+=" v8_use_libm_trig_functions=true"
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # We don't use the same clang version as upstream, and with -Werror
- # we need to make sure that we don't get superfluous warnings.
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
-
- # Explicitly disable ICU data file support for system-icu/headless builds.
- if use system-icu || use headless; then
- myconf_gn+=" icu_use_data_file=false"
- fi
-
- # Don't need nocompile checks and GN crashes with our config
- myconf_gn+=" enable_nocompile_tests=false"
-
- # Enable ozone wayland and/or headless support
- myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
- myconf_gn+=" ozone_platform_headless=true"
- if use headless; then
- myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
- myconf_gn+=" use_glib=false use_gio=false"
- myconf_gn+=" use_pangocairo=false use_alsa=false"
- myconf_gn+=" use_libpci=false use_udev=false"
- myconf_gn+=" enable_print_preview=false"
- myconf_gn+=" enable_remoting=false"
- else
- myconf_gn+=" use_system_libdrm=true"
- myconf_gn+=" use_system_minigbm=true"
- myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
- local cbuild_libdir=$(get_libdir)
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
- cbuild_libdir=${cbuild_libdir:2}
- cbuild_libdir=${cbuild_libdir/% }
- fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
- else
- myconf_gn+=" use_qt=false"
- fi
- myconf_gn+=" ozone_platform_x11=$(usex X true false)"
- myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
- myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
- use wayland && myconf_gn+=" use_system_libffi=true"
- fi
-
- # Results in undefined references in chrome linking, may require CFI to work
- if use arm64; then
- myconf_gn+=" arm_control_flow_integrity=\"none\""
- fi
-
- # 936673: Updater (which we don't use) depends on libsystemd
- # This _should_ always be disabled if we're not building a
- # "Chrome" branded browser, but obviously this is not always sufficient.
- myconf_gn+=" enable_updater=false"
-
- local use_lto="false"
- if tc-is-lto; then
- use_lto="true"
- fi
- myconf_gn+=" use_thin_lto=${use_lto}"
- myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
-
- # Enable official builds
- myconf_gn+=" is_official_build=$(usex official true false)"
- if use official; then
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py || die
- # Req's LTO; TODO: not compatible with -fno-split-lto-unit
- myconf_gn+=" is_cfi=false"
- # Don't add symbols to build
- myconf_gn+=" symbol_level=0"
- fi
-
- if use pgo; then
- myconf_gn+=" chrome_pgo_phase=${1}"
- if [[ "$1" == "2" ]]; then
- myconf_gn+=" pgo_data_path=\"${2}\""
- fi
- else
- # Disable PGO
- myconf_gn+=" chrome_pgo_phase=0"
- fi
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=" devtools_skip_typecheck=false"
- fi
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
- echo "$@"
- "$@" || die
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox
-
- pax-mark m out/Release/chrome
-
- if ! use system-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Build manpage; bug #684550
- sed -e 's|@@PACKAGE@@|chromium-browser|g;
- s|@@MENUNAME@@|Chromium|g;' \
- chrome/app/resources/manpage.1.in > \
- out/Release/chromium-browser.1 || die
-
- # Build desktop file; bug #706786
- sed -e 's|@@MENUNAME@@|Chromium|g;
- s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
- s|@@PACKAGE@@|chromium-browser|g;
- s|\(^Exec=\)/usr/bin/|\1|g;' \
- chrome/installer/linux/common/desktop.template > \
- out/Release/chromium-browser-chromium.desktop || die
-
- # Build vk_swiftshader_icd.json; bug #827861
- sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
- third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
- out/Release/vk_swiftshader_icd.json || die
-}
-
-src_install() {
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
- local sedargs=( -e
- "s:/usr/lib/:/usr/$(get_libdir)/:g;
- s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
- )
- sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
- doexe chromium-launcher.sh
-
- # It is important that we name the target "chromium-browser",
- # xdg-utils expect it; bug #355517.
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
-
- # Allow users to override command-line options, bug #357629.
- insinto /etc/chromium
- newins "${FILESDIR}/chromium.default" "default"
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser.1
- dosym chromium-browser.1 /usr/share/man/man1/chromium.1
-
- readme.gentoo_create_doc
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- readme.gentoo_print_elog
-
- if ! use headless; then
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use gtk4; then
- elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
- elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
- fi
-
- if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
- ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
- ewarn "indicates that the Gentoo handbook was not followed to completion."
- ewarn ""
- ewarn "Chromium is known to behave unpredictably with this system configuration;"
- ewarn "please complete the configuration of this system before logging any bugs."
- fi
-}
diff --git a/www-client/chromium/chromium-129.0.6668.42.ebuild b/www-client/chromium/chromium-129.0.6668.58.ebuild
index 078dcf9d848c..64cb79e86461 100644
--- a/www-client/chromium/chromium-129.0.6668.42.ebuild
+++ b/www-client/chromium/chromium-129.0.6668.58.ebuild
@@ -69,7 +69,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
LICENSE="BSD"
-SLOT="0/beta"
+SLOT="0/stable"
KEYWORDS="~amd64 ~arm64"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
diff --git a/www-client/elinks/elinks-0.16.1.1-r100.ebuild b/www-client/elinks/elinks-0.16.1.1-r100.ebuild
new file mode 100644
index 000000000000..83bb020743e9
--- /dev/null
+++ b/www-client/elinks/elinks-0.16.1.1-r100.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="deprecated"
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..12} )
+LUA_COMPAT=( lua5-{1,2,3,4} luajit )
+
+inherit flag-o-matic guile-single meson lua-single python-single-r1
+
+DESCRIPTION="Advanced and well-established text-mode web browser"
+HOMEPAGE="http://elinks.or.cz/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rkd77/felinks"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rkd77/elinks/releases/download/v${PV}/${P}.tar.xz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bittorrent brotli bzip2 debug finger ftp gopher gpm gnutls guile idn"
+IUSE+=" javascript lua lzma +mouse nls nntp perl python samba ssl test tre unicode X xml zlib zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2:=[unicode(+)]
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( >=app-arch/bzip2-1.0.2 )
+ gpm? (
+ >=sys-libs/gpm-1.20.0-r5
+ )
+ guile? ( ${GUILE_DEPS} )
+ idn? ( net-dns/libidn:= )
+ javascript? (
+ dev-cpp/libxmlpp:5.0
+ dev-lang/mujs:=
+ )
+ lua? ( ${LUA_DEPS} )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ samba? ( net-fs/samba )
+ ssl? (
+ !gnutls? ( dev-libs/openssl:= )
+ gnutls? ( net-libs/gnutls:= )
+ )
+ tre? ( dev-libs/tre )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ xml? ( >=dev-libs/expat-1.95.4 )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? (
+ net-dns/libidn
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.16.1.1-ecmascript-implicit-declaration.patch
+ "${FILESDIR}"/${PN}-0.16.1.1-perl-5.38.patch
+ "${FILESDIR}"/${PN}-0.16.1.1-python-3.12.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ use guile && guile_bump_sources
+}
+
+src_configure() {
+ # This file is severely broken w.r.t. strict-aliasing and upstream acknowledges it:
+ # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/util/lists.h#L14
+ # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/meson.build#L44
+ #
+ # Although they force fno-strict-aliasing, they do so inconsistently and not for the testsuite (!!!).
+ # Just add it again.
+ #
+ # DO not trust the LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ -Dhtmldoc=false
+ -Dpdfdoc=false
+ -Dapidoc=false
+ -D88-colors=true
+ -D256-colors=true
+ $(meson_use bittorrent)
+ $(meson_use brotli)
+ $(meson_use bzip2 bzlib)
+ $(usex debug '-Ddebug=true' '-Dfastmem=true')
+ $(meson_use finger)
+ $(meson_use ftp)
+ -Dfsp=false
+ -Dgemini=false
+ $(meson_use nls gettext)
+ $(meson_use gopher)
+ $(meson_use gpm)
+ $(meson_use guile)
+ -Dgssapi=false
+ -Dhtml-highlight=true
+ $(meson_use idn)
+ $(meson_use javascript mujs)
+ -Dipv6=true
+ -Dleds=true
+ -Dlibev=false
+ -Dlibevent=false
+ -Dluapkg=$(usex lua ${ELUA:-0} '')
+ $(meson_use lzma)
+ $(meson_use mouse)
+ #-Dmujs=false
+ $(meson_use nls)
+ $(meson_use nntp)
+ $(meson_use perl)
+ $(meson_use python)
+ -Dquickjs=false
+ -Druby=false
+ $(meson_use samba smb)
+ -Dsm-scripting=false
+ -Dspidermonkey=false
+ -Dterminfo=true
+ $(meson_use test)
+ $(meson_use tre)
+ -Dtrue-color=true
+ $(meson_use xml xbel)
+ $(meson_use X x)
+ $(meson_use zlib)
+ $(meson_use zstd)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ emesonargs+=( -Dgnutls=true )
+ else
+ emesonargs+=( -Dopenssl=true)
+ fi
+ else
+ emesonargs+=( -Dgnutls=false -Dopenssl=false )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc/elinks
+ newins contrib/keybind-full.conf keybind-full.sample
+ newins contrib/keybind.conf keybind.conf.sample
+
+ dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README SITES THANKS TODO doc/*.*
+ docinto contrib ; dodoc contrib/{README,colws.diff,elinks[-.]vim*}
+ docinto contrib/lua ; dodoc contrib/lua/{*.lua,elinks-remote}
+ docinto contrib/conv ; dodoc contrib/conv/*.*
+ docinto contrib/guile ; dodoc contrib/guile/*.scm
+
+ # elinks uses an internal copy of gettext which ships files that may
+ # collide with the system's gettext (https://bugs.gentoo.org/635090)
+ rm -f "${ED}"/usr/{share/locale/locale,lib/charset}.alias || die
+
+ use guile && guile_unstrip_ccache
+}
+
+pkg_postinst() {
+ elog "You may want to convert your html.cfg and links.cfg of"
+ elog "Links or older ELinks versions to the new ELinks elinks.conf"
+ elog "using ${EROOT}/usr/share/doc/${PF}/contrib/conv/conf-links2elinks.pl"
+ elog
+ elog "Please have a look at ${EROOT}/etc/elinks/keybind-full.sample and"
+ elog "${EROOT}/etc/elinks/keybind.conf.sample for some bindings examples."
+ elog
+ elog "You will have to set your TERM variable to 'xterm-256color'"
+ elog "to be able to use 256 colors in elinks."
+}
diff --git a/www-client/elinks/elinks-9999.ebuild b/www-client/elinks/elinks-9999.ebuild
index 64da492dfd2a..d29570aecef2 100644
--- a/www-client/elinks/elinks-9999.ebuild
+++ b/www-client/elinks/elinks-9999.ebuild
@@ -3,10 +3,12 @@
EAPI=8
+GUILE_REQ_USE="deprecated"
+GUILE_COMPAT=( 2-2 3-0 )
PYTHON_COMPAT=( python3_{10..12} )
LUA_COMPAT=( lua5-{1,2,3,4} luajit )
-inherit flag-o-matic meson lua-single python-single-r1
+inherit flag-o-matic guile-single meson lua-single python-single-r1
DESCRIPTION="Advanced and well-established text-mode web browser"
HOMEPAGE="http://elinks.or.cz/"
@@ -26,6 +28,7 @@ IUSE="bittorrent brotli bzip2 debug finger ftp gopher gpm gnutls guile idn"
IUSE+=" javascript lua lzma +mouse nls nntp perl python samba ssl test tre unicode X xml zlib zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -37,7 +40,7 @@ RDEPEND="
gpm? (
>=sys-libs/gpm-1.20.0-r5
)
- guile? ( >=dev-scheme/guile-1.6.4-r1[deprecated] )
+ guile? ( ${GUILE_DEPS} )
idn? ( net-dns/libidn2:= )
javascript? (
dev-cpp/libxmlpp:5.0
@@ -72,11 +75,16 @@ BDEPEND="
"
pkg_setup() {
+ use guile && guile-single_pkg_setup
use lua && lua-single_pkg_setup
-
use python && python-single-r1_pkg_setup
}
+src_prepare() {
+ default
+ use guile && guile_bump_sources
+}
+
src_configure() {
# This file is severely broken w.r.t. strict-aliasing and upstream acknowledges it:
# https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/util/lists.h#L14
@@ -168,6 +176,8 @@ src_install() {
# elinks uses an internal copy of gettext which ships files that may
# collide with the system's gettext (https://bugs.gentoo.org/635090)
rm -f "${ED}"/usr/{share/locale/locale,lib/charset}.alias || die
+
+ use guile && guile_unstrip_ccache
}
pkg_postinst() {
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 64518c3f93b5..6ccde27416ab 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -288,9 +288,108 @@ DIST firefox-130.0-vi.xpi 666085 BLAKE2B b80be3d3c30aec668164abe5461677aaead06a6
DIST firefox-130.0-xh.xpi 420486 BLAKE2B 953135839c7a648b4b02459ceb47bfd6e7bf62a357eea4c7fe976409a6779199ba719c0cca662fac1d8fbc2865e5e529d7c656088a6509c072b52343170fb1bc SHA512 1cabec451c045df427d8b2dca6829f098ab99a4f7eb28c3e53b6a36b556b4f7471f9e7c3d4e991a03c0a925361a15897976c156eb5a9c8add1a325046f6227e0
DIST firefox-130.0-zh-CN.xpi 667377 BLAKE2B a8ce2ee629c30204726f4e790310180bd2c31866adeb6a25d9e28f48e97dc7f27d9f9b3109e482ac08cfe98316fe9344515054151b3c3d37eee3a6058c0327d4 SHA512 a38673a73056f3ebc301f8cfb2c9fd8e5d764b9224294aab42c3b654dda95bc811a9ee9b1ed707072b39222b05c49deb019a8f51abe135ba9b26f800c928fd39
DIST firefox-130.0-zh-TW.xpi 669293 BLAKE2B 8743ecdfa6fff21ba6d1c199bb24fca9b753b874e905a84ce805aa7a3e10d1871c22e119ab46b452be2c55cafdef9e8ba8a90e261078b0451ba3cb2e9054645e SHA512 6d12d92f82a7434bc7ffe3d0ab6e706ef230cb31b7889c8b0b4312f3cd0f4712ce59e4b576802b79d5bef552d3c07539d27394288c0f6e0e54998a55f44a62d3
+DIST firefox-130.0.1-ach.xpi 467583 BLAKE2B 0fb54abe50786f852b02b7be04f70f0925ba95293f702b4149dbecb80f5eaa44f0017772dbb0d30876014144dfdc8c388b34fd30e5e580d1bfaceeb751d4325c SHA512 b879138b551a00793fc393479d5dd21b43b40f1e7947f524c6584469f8fb8b612cad84ce327a42dea636c5d8e61702ab5d74728bf2aad7d4c3e806db1f40c398
+DIST firefox-130.0.1-af.xpi 420697 BLAKE2B b752154782fb91948f0552f01c4be685509f7d87251af85b73c02cfaa8da27f93f914ca6f826562014a59c8d567b451c26087aff8462eb53b5d5df5c4b402f55 SHA512 5c0cc40695328520e59d14fd409067ab2b8ea1ffe5295afb6e7d52a8df57feeaf10b22068e7fc84099921b5faff1bccc55c10d35f7d34ee74afee07cf68be6eb
+DIST firefox-130.0.1-an.xpi 509178 BLAKE2B c14b948c15b50b8c6d0c50e22404dd76ebf649fa3bb3197f17cbe8d8021021aa8299598c2b0c7a28c850c0cf41842e718d80b35d1949d131e661db2a263af585 SHA512 70883c02b8127774fd9f46b0edb13d38ac518f765ed40a26715c73ca645c2fc6a5e94360f1bf245753fde895f232d523812b0c4382a846bb004c4a957f0ec2c9
+DIST firefox-130.0.1-ar.xpi 615231 BLAKE2B 66af66551f2826772c28824bac9fe869e15dcb24cb905d65eda0a1a92ebdc71b0e55e0da971e23f12f2be682534133b2d2382389df7ad597a418189b9b422fec SHA512 d838e2f6071612b26ef9cc50a7b28afe4fdd137abecb08e74da08f1fb8d264bb81ca34925d56ac6762264c389960f10c6ec78b319a09d108ffdc096773b68efe
+DIST firefox-130.0.1-ast.xpi 499640 BLAKE2B 2178e72c80dee657341dc7ac50a38ca7a5db47a7e84927d4f247e72100f719bed992e25e262b4ab9b72d424f322b918a474ab50c0349b430bd16ea0b08cd36e0 SHA512 e9d74ecc3aa26886769a9d66f095f78fea3ad81a8b52b4b137843bca103f2e98accd5e97a03312a898a67ba72178b5a1169e8ce74c9daf8da4edeb57b56d1fa1
+DIST firefox-130.0.1-az.xpi 494303 BLAKE2B d3f79d4bea3d25405869bbd5651a722b8a4e221704fed963c50f97f0b1e61e520b888a867f1caca72f6dd478f6ac5b908b96c00849ba1fbc703a14005ed0f84e SHA512 558a834cd245674f41589d375085b615f0fbab080f211f5c278f33d887750415936adde7108ab622a02643214b06303973c93388d2a84581a0883b20be9d7c69
+DIST firefox-130.0.1-be.xpi 726468 BLAKE2B 43597f04ee93fe67a0a8fd01f6f60b63f8d74f9eb846fc1259e7b3eee0ff9f1d8280859cc7b675e493c63645e8b9af8169a7155c0bea943761aeebe4ee1d62fe SHA512 84197b8895d0f77b3ae77fed0d6de60f310561807830dceef813a576d01f8ed45230d10a4ea36aaa5054a2923c40f1c00d8c6f2630391d0eeaaea3aac63fe1e3
+DIST firefox-130.0.1-bg.xpi 640067 BLAKE2B 6cb96d904a0acce2b8a16e30a3ef46841a0d2cce86c65e3beaae519f5f13879d67ab30baa3b348f462a3e42b63db73341206f2decfc1713066662aac9304a847 SHA512 70837775c77bbdd2906abb9fa3d294bfe5ada3f6d5c123dc18eddf109e92dbb9bcd8f2b4ee106ab2910b1bb6dbad21aea9302ceb767e232de96f4c32316b15b8
+DIST firefox-130.0.1-bn.xpi 585048 BLAKE2B 812000a6fab4296ef6b11ac07c6f749cdb8ac5ad70f394b2314594e0859d06b2454f416d0edd98706c63cb111cdb8649a37cb7fadf2bae239adffe24b2c9ef98 SHA512 7022738a6c470972d625891a2b7e9496b9e5751d709f821b6b71916003d04cfcb558a4a2b21d440c86708387e4b4401b72bcec203fe8318d11ea210eaedf1c00
+DIST firefox-130.0.1-br.xpi 593551 BLAKE2B 1bdc7de29b19ef8126450f6db2b82c8c4b36997008dca781226e22f0574a94cf41f0c348e00d3308d18975840ee3756edd4b7bec894192221dd722e2b7b4e31b SHA512 8317569712f534c28df19c490d0a3cc66ff172af78410551cb6e68af0e05db7b06202e73c527228b5be95daa1080351744208d530b0cca8fd2c60af90068146b
+DIST firefox-130.0.1-bs.xpi 512749 BLAKE2B 30c7c22875098dafcd045f4841818a0aca10a3d07f964369d65e1bccf58d2060b165de5243a2736b61fa15778908014dfa2a174e256a7d8bf9eb9c786a198a6b SHA512 b89583038b683f200b85c51ff4f5fc3b348feef329220fad038349cded70c6c44bd775362035e21c8d05888e2c0ad3eb5f50481ded11f57fbd9625dba169d76c
+DIST firefox-130.0.1-ca-valencia.xpi 549198 BLAKE2B d5cf7308f02579540e6e93f56ee512f5fc7aceae0a85a435995852463a065f03d3d6feadae8f5156eda7a4efff75603dd1543bd62b677c7abf550a5dc2fb7a2b SHA512 65cbd8d9de8b796a0bdec2314049a48d4fdc417cd82264b1b1b3f39824e1282f3af5a5ea0d62a7b155a7adc97ead6f810e47e9a58d67cfdb303b934dbfaccea6
+DIST firefox-130.0.1-ca.xpi 600849 BLAKE2B 7dca1f77db1eca02bf59367d6d3587777f61ae839e57d73424dfc0478571cf88ee89cfa41a99da02daa81046620b05d0a1b1e6cc1c8265ce18c7db73860a346b SHA512 096849b734a3ddb68b4ff08cc507772e5301acebb186ee3a8f71d5cc01ddd5a7da0dc0897253fa59c8bbd057c1eed86ee73a21cf6481709feb914957ce216343
+DIST firefox-130.0.1-cak.xpi 596821 BLAKE2B 141b69ce46cd89180e38a37520488e305e8d6d13efd0cbc6f3a3e2564c25d07e52c60ab706f5fb80b188130006148e4e292d1e83d258a8de925ed2611ec6f833 SHA512 9f32953cf28ba7add1c762a48b01d9bf907d66b11478a9e9ebb9c9ada91bab4029391c6b5fe2a76c9d422a268b216af5a101daa7ac82fc228c8432a4d5fd90e1
+DIST firefox-130.0.1-cs.xpi 669123 BLAKE2B 25a91327b8f7307509de1c8992205b34e0a535d2a9d5d7d135a0da65662b31e66eaa260c96c37a453ce2abf32b80b13fbd9ce1a0fe17e0e16b1664f93fd9de52 SHA512 cb6b1c4e1322b5c8ff68ed09dce8908b85fd22c80d74318785226234ef5e4a010b7afdde46caf299d0101fd048d6f1bf1a857bb201c51ea3128f67757191e06b
+DIST firefox-130.0.1-cy.xpi 633976 BLAKE2B 44e33256db532b13c763bc385a14e220e14e548da809c686495382e3c832bc2d03a1c852d4fac4e6c0ef85d59093d6c3da629f588d7a17fd5a53b908fffb3b72 SHA512 80357431c1f90fd859b818c8b6fd04601f198533783994f292f9aea2bd8988e150775924970b8c04817f51e442fdb8578b01e7df22939b817af7126674f0e539
+DIST firefox-130.0.1-da.xpi 622385 BLAKE2B e2ef41fa724727a0f063c549db30c8379dd0ba0d309ea798c4003e0329581726ec863559e466e0d6738b7c93a39bc05147df2b537a9ee6354c5479c1ab4bf1a8 SHA512 fe8693f5962004d9bd8ea99703866515985a4413519741a4400cdc6167246888397633256b95924bdd2e212e47f4ca8e64b96fc5d1e653916bea5d003724c66b
+DIST firefox-130.0.1-de.xpi 644009 BLAKE2B 3e2f926a8f66f11107d2e37155dfacbd36dcf54d6fd20547f0fb1ab1b497be465852d8fc527367e509e20bb7e89e3f8f50a8637e56c562c6a5152ee218f1562f SHA512 2bebc0ce27cf86d0434a0adb7f3d12ff134338b6a962dfe2d28d84b99b24f865a5eac39c15fcfedecd0d0d551fc603525809e5388c4272f784d0350034826b3e
+DIST firefox-130.0.1-dsb.xpi 658771 BLAKE2B 1cd178709f0b96eb28f9f20546a505a5a224f8ec567d4ab7beea0765ad4ffb9dbb411c285b45f523fe9d787c103ed4ff4a5d637fe65936017bf62223e5e468c0 SHA512 d034b9ed989d2aad957f7b208e2fbfe37de463958853d087bd23d0f16042c84ea0634332c3db25c2edb3c6135d6244b4233df321167b58f66950813e0db759a1
+DIST firefox-130.0.1-el.xpi 743369 BLAKE2B e769a69498b374a30e92b62d20bb5fb299818767b31ab7717b91b325f4f2c69b082ffc50a6991f2a9298d940fe54bed6a961941704464af7174fc3b5366570dd SHA512 28aa370bae828eb8c0f0b88d6dc25f7354b5aa05c9011dbc357cf25b1c3e2dc8c02345dca0e699c39838ebd03e4a5329285302758d342ec9e42a0bea6f46d4fa
+DIST firefox-130.0.1-en-CA.xpi 592992 BLAKE2B 9eee5fed96ed317341f74f2ff2acccbfb042bbdcaf45d1eaa7c2f2e36af1af0750521cf39ddde8284d453cdd4f2089b16f4a2469da3df920ebfb1d69799651b8 SHA512 79829881745455e581b79cc36f4fa40eab6b95f32e0186b5c980f08aa631eed8c8df1dc674c0e449de80ff73f540944a47fd88c21b65a5aa0caff97f7b5ad867
+DIST firefox-130.0.1-en-GB.xpi 594144 BLAKE2B ba2b5a07c433619a927b532cf22bfca1fdc1628d47ba6eb9bf502368067bb84877dc7390d4a69658508c48d84feb3b9be9e5da956a6b67bd8fee70b4e6b87538 SHA512 32ff2089a3fb22c2505ab0184ac13b1fe6537bc1da0c1129b37d9456a1c72162c8eee26a14efa9eb3448d56860172b08d79cdf24ea983667498e55488532934a
+DIST firefox-130.0.1-eo.xpi 625389 BLAKE2B bde64541450572d0443d5aa982b890d731a57a19dfab0c00d95f5a176bdf0f3ad170702f005e2815e28aaa5e8e3b9d53adb1966f4bd6607292cc9c11a7cd5d6a SHA512 78f988024c0fcd80e902ad15931548df8f2f9dbdd52251c2fb046de9e3f82196f9b09f51180cd84f16d29a2af518d770a9d3bcb0477e49646ba62640b4acd842
+DIST firefox-130.0.1-es-AR.xpi 637457 BLAKE2B c91694634945de4b642813d14ae3ce935df4f11d19274015a165efddf43205cf3374f90e09ebef20ba872467fd437102f213549a0eded9599a636fb94e1c63e8 SHA512 70ce2230ab2f1c948cea111f9e50fa575330e6a77db2b737e0832d57f032580be65e11080481ac0b49d9168ae1375bc8127a163b06906002a5faea3eaea0d2e5
+DIST firefox-130.0.1-es-CL.xpi 636365 BLAKE2B 407304f29981c014b6fff5fcb7d3660a21152d07dc71b8b0f0ba10c662d23c73448d0e83243d5da6d10f4f0f04b25599213a89ac288ba91acf5c30f313e71638 SHA512 36f16ab477b61b513fdb0b86bd734a2471c94662b15e6e6267f3598b42353396ae30b2b756080373a45d953b09fec2f676859d9741d8b25c694f7d6c69aaeb08
+DIST firefox-130.0.1-es-ES.xpi 624801 BLAKE2B 514b1a502740c8e2cf0b0f4e0563cf216e1777936c1d3a1fb33bd748debba049010b4cb82e37d82d672e81cfed947da55fdf904985709023ec096c52bee67da5 SHA512 5f43d763675cfb9ab422c2ded62af2c5e174bd5281a43b713497056584946f407fb43be4cba97e293c078c3478dd778da8fcff3a14ee37cc4e8f211edee9eaef
+DIST firefox-130.0.1-es-MX.xpi 620032 BLAKE2B 63d18ee82da6b61e8a9e761cbdd4779739d920942465ada1b4328965b608405e1c6df4385d7c335beb211cf98f4cefe6a6da7589b72952c6d08c44c79603ad2d SHA512 4bd21fcfe06323e5f96f9ef234c7cdca7a3bd535fe0b9a1b567369d980554f1f6b2341d40565318cfdec98101a8778cb2fd139a79e647c6fa0b75a96d33e233f
+DIST firefox-130.0.1-et.xpi 543284 BLAKE2B 57650f794bdcfd093e7c1b33f8aa20634e8a919140a29c8b4fb6869f181120ed8ceb15e666fabec6862fbdcdfaba2cf8bf4b7677867d5c983fbf4b9a5d25063e SHA512 954dabd83ea39a94bb489cfea77279e3c40263047c99e29170766460706169d257dcc8c0544f9d74478f280c67176389841fb8420cf8a8e253efe9b77b97f49f
+DIST firefox-130.0.1-eu.xpi 603919 BLAKE2B 2427b80fbe06c14e3c795195cb1261affcf17c4df0b848e16bd42c13b0d99fef93d1e612c5a0697b0d6ab5486c84190fa4394f9d722ac2e1f4c9e44891f75d30 SHA512 debea1a31b61f12191fb16e69cc3c0a1db0422defe3b7da889bda85f7ff108115a70ca349ec6e6df54b8d6e69fb611c15dd2a77cdfcf9a4069c128221c4495f6
+DIST firefox-130.0.1-fa.xpi 593590 BLAKE2B 566859cebf579c53f3c26855b4c98b4e3e71ce53499a4248870e17c88f0150efa09cf160522e220e8a49203916f759981847bad0d7112c5e3572bb00d153a762 SHA512 6ba1a8ada50f98898e596af0a0545c32cbd0ce16920629e8586dd8c733c3c967d545a068e96371a3e91fb5e2c876239ee9ce73ed92bcb4947c5644744cb7aac1
+DIST firefox-130.0.1-ff.xpi 479257 BLAKE2B 9be1db7c76fcb22e8a681c67a2626e2beca8a4b82c77811a80d25d6a470756a42196c14f902d8c9cc8079d80b9c4981c936b56f28cbde392519355388ff74783 SHA512 04a27b27b040833d690422c19fdff00915c4b911043023b470decd7d8c31cd848922bd6a5da0df8769f8c6a5fa7d0b888e1e42ecb55317df91a70a0520e9d9c9
+DIST firefox-130.0.1-fi.xpi 617453 BLAKE2B 8274dd333a51a5a1dffaa3302e4c488c20eb50193647f78cefbde66dcbf1b6ee4812bf45762f46920a66be7e2c85be106eb8dfd9949d1340ccfa27d176d5ffae SHA512 c94efa2dc960a4adee04039cd83bb2407f4203c4ac6b0979e64f86510545708d45b29a27f26e57a040c905875d6fadab00e1c494f601d291a3b5bd5fff1daa84
+DIST firefox-130.0.1-fr.xpi 651033 BLAKE2B a34004984b9c2000631e61942b58050887d298a071adab067d6685e52aea322bcf97bbfef054e77cc26a2e0cf17276552cf8b5120a02f543dd2a9a849b758b08 SHA512 eb3e97905ec620cf69b5d6b445098b4d96951182ef4ca742035cb4a5f01adec0f3a4513d16570a55dfda2fc996c08aae2e31ccdc86d7112921f4b26b3d8122da
+DIST firefox-130.0.1-fy-NL.xpi 632435 BLAKE2B bf56aad36530659f848fc1d416624e9d38392934313485daa6447e542422717d1a274903f7feb87af2946d57488b51f4c392e759927728a5d0f666b18c7a8b67 SHA512 eb72edd539850de4d15d37593fb05d82440698b1dc9e9b42a00517235843bb1fac62a9b7cd0c93a96dd7c69de5c65fdcc1ded3a6302cb683aa3b7dbb1e7abe43
+DIST firefox-130.0.1-ga-IE.xpi 474437 BLAKE2B 417aacab8644c253ace1912f7983adc27d75e4d647ae11ffc3c557846dad0cf60b2da883603675bc8f096c1ddd158d8b6911fdbb482fbc244ba3eb42b8d04217 SHA512 7132bf3b42a4895a5bb623e3f3c9406bfa75c94c88c985281d486bf605a9fbee8927b545aad955f2fa6098a917e99c2087529e94c31095d11308ab78ca0c7d94
+DIST firefox-130.0.1-gd.xpi 600330 BLAKE2B eb2ad966e7c9d6b03af0277b9e5cca82cf0637f4301e7c04f862b21e2547ce6be0803b94d3acf97db18c2037f9aa4dc1f512b1005232953a2047b0279b47f8a6 SHA512 a04cc3bddddf6e9a2920b24ec5a8f0785fac591d9181399b4900894552a2c570b171caaee44a1904e31125c03fa362961d3f9fd386b0db30d7cc9ee529e7d415
+DIST firefox-130.0.1-gl.xpi 608042 BLAKE2B 05076c4aa0ecfda164ce50781d9510122a7c84a5c6505d4d5c75672efe96c9f0504d05ab9d77515477f5a87ed6890ad6b79b61682718063a9268176b57a3760f SHA512 3f1ff7fdab524cf508cea4c9e4b6b11b4f524fdc09b10581c0492d4c705649b76ebee3649994ba9b68d64a88ccf0cbf7a5811ee55b4b48bc10a829a7406860eb
+DIST firefox-130.0.1-gn.xpi 645995 BLAKE2B a2e1d2dc0d41a4ebbc607e88f6a6fed18ff6f043ecba47a7131775c0497ee74dc09741b212e975db5241718dfab241a317fc50a5502a608a0db6c53fe10ff825 SHA512 6e2bf891e7271342857aceec6c56a955d35e2c06f8bce8bef24bb253c70da44d7dd9601bcc3bb058c4c9b59eb81fe410c3c8ad945b3f7a24bb400484150e1df7
+DIST firefox-130.0.1-gu-IN.xpi 530816 BLAKE2B 630c78d645ed84df51a12d05c7e52a74e3d559707ecb972204cc3ff05a52cabdcaf2b8db191576dbcc0476aa09de0e6a388dc671a642442a498bbf967fa2977a SHA512 f2e419d4cc4da76ff85d626119508549670007dc8d53b9fdd465fa5393bb9fb6b712b439804b638b8dc946611aade099c0b2cc50501add2598f18cb3d1651693
+DIST firefox-130.0.1-he.xpi 640049 BLAKE2B 480c4e6b662324e7d897f0ca725578559f54a58da8ad277561df6297c0e76a3f44c159d74e4224daa71e00ab33fbf453dd5e5012089f8c425004bcac01113151 SHA512 53ef72de7a41744b43632628f062a000670bcb7989b8abee61ecc1f12059e69a206a2e070876f7c0d280fba552a010950318227b379239c4fe95bb3c3c604099
+DIST firefox-130.0.1-hi-IN.xpi 570014 BLAKE2B 1f84a195c74fca08e9b2d0239968258cdaa064579c995e60f0a093a2f906416d6b4c736e6d94929d508f0627c18ba86067aa186b379e203960025e84f4a967c0 SHA512 9d7934ae8c4373627f3ce1fb71f8565918a56e9ab1d4a3143c8dffd5266f956d880488334822e3e8a840a9506faf91f6d8350cb70f0f3a7ea175bf2b42067d8e
+DIST firefox-130.0.1-hr.xpi 617514 BLAKE2B 8504aab835e705a9be34bd5e1830ff2af4b0d701acd33b1b133b87d7c70b67b3aaf07139e3f53be15c0494299be04b61e6a3db91f6b6774af8c734f4de19052f SHA512 65a277406cbec99de7d43339c29f7f7ffab465885ef3b342ec53e6c6eb08effb4343b710c91b24aac495652d2f63567ab67837127f8fe23456c1c17d3ab60db3
+DIST firefox-130.0.1-hsb.xpi 654764 BLAKE2B 316f9d8a2b549e52633ac4b62100bfa1f41998811e4a80abd1c15159c0b5da82ec0d26dc3f3634e0f8d451589dd649b4bf2183ef560c60187e7b189f40b37f1a SHA512 e332e7bc094352adcb26e7b031b98bc6458ba7e171bb61150eb0e4f8fdebf96068c83cafb3958280f8b1b30f9f40ffc55e0a43b98e2edc9775f584df6b3f9444
+DIST firefox-130.0.1-hu.xpi 659673 BLAKE2B fc63ef314f7d0958bd0bb3d887f658bf4f163ec487dd1e74ca97b1d93549044c7db2913510c9ff349eeb344dc2fb31a1d8baf4f2a0195b42b06d38b1839e95ea SHA512 031e4964a0fe1b63769a18f1b5dafb67445ab16558ba725b2d3a480dfaace6ba544f2d91411a64665579fd9a66f3c61a562b00d739323e1063f5a6ef893b1769
+DIST firefox-130.0.1-hy-AM.xpi 655058 BLAKE2B c32e31364268d28bc875e2b0a2f127c8ef61ac1512e06311eb4f93f29ce2b640074100d164def7782b00878a5d4be71b8720a5a8dafc8797f387c230087bb336 SHA512 3af9a071b2adbf9a7ade27c1365d1eeb5fc420e2eb4ebb71e6fa210bead5fbee8f87072129eb68b986d22b3ffe2a1e177790d18444216ecf5c7a12c57336fdca
+DIST firefox-130.0.1-ia.xpi 620411 BLAKE2B e8e1c43e2e8c5d720a2503a2fd0f91f368749eddb52cda373cee6d8db6379aabe9c47bd7c8f1c06a26d48ce13df141559c1757ec89f21d5162f339306afa20ac SHA512 820e542af36c503984df6762ad4b799a9836bdc2d915fced6d553edf157ee13064aa647d349d0ec7e9977040e055c3443b0b12845d7eafa69ca25d2137d74573
+DIST firefox-130.0.1-id.xpi 588476 BLAKE2B d50e2c34ae02e3c6ce9f01630e9a2d427256f5d95abdef893e57fe48d4b01ccc0bc6fb10ee3791a8dd91189afabcee54eca96231551b10fd429c6ccfe621144a SHA512 ca07221442bd0f149af14420e14a1023b74ef75f45b8b271b4149e8f0a06f83fd15e1e515f7525357a61abdc69caeee18bf4d5be67a2020e42391b9cd523c906
+DIST firefox-130.0.1-is.xpi 622834 BLAKE2B 31ed4d2974ef67b433d1e7e35b0e6cdb80a12c909554e5dd55a3086ea2c7b2bc0f1d2d4cbc7d0b41badca96d0d83d0b6ce997abb67e7580cadcfbcc742eb26c5 SHA512 bb254da9a42170a7589db3c63921b70e4c57d7fb59f18b392d88863d7aa01ebdb1fa0c38c755fa3b460037b1b75287b6db611031f16508a1ddebcb5bb9be4009
+DIST firefox-130.0.1-it.xpi 576702 BLAKE2B edad2dbea5cf3ebf065197a73958266aba7c1569e9fbae8fefb605f67e7ed9337cb56d069199497b930f522ffbe0dd0b3cf5cb1d028baebad7e47d6bf1d2a954 SHA512 0a908e98ce60d7799985dbe757d877c884407ce5b1cdccaeebedd8c2d334c8a88603aa79dc4d589d6b9c960187a6ff2678f0dc8b9051c303e815bf41ee668329
+DIST firefox-130.0.1-ja.xpi 685869 BLAKE2B d64cb8eae144d29a7e7e76a30f406947eeb4444678fa95959317f8cfc6e8e6b53406aecf295151b2e3e0ea65790adbbba355804356c2be95cb8402edb6f68e17 SHA512 f1bdb6afe03f67ddfee4ec1cf191afc295f0f7e6a87a5dba1c7412f28f11c8fc9ed2cd3636ca50bed3381c05364484aea0d3875a28a209d7b212f45a271d7a0e
+DIST firefox-130.0.1-ka.xpi 664728 BLAKE2B 24ee42b6ac463a7351cd97b0fea19185e113cfc2f0b2fd11222d05ed9333e4172d16665a3fa96da4c23a6b3a56d658bd3600566c908ff57963f5b2709a3431e9 SHA512 398786088c12a0807202da09fd9d9e864ce4dd95db948dc0c153db938cb06af169e228ede57d2c39b67674cd34fda0153ad426b8eb13100e7d7f6f26aacad3db
+DIST firefox-130.0.1-kab.xpi 615475 BLAKE2B 6ec29037e455a60373bfd62abcd94019cec2e857c97e779a47104d132ab4d9cc15953314fa8eb85489291d4cb03a67dff754041d0a094e232395798501b5e993 SHA512 5970491521d32ba812d389a6b07a88945377ea87383e08dffbf162a0ec87eb2238385a95cea3ad31595c446b89768826e9dbeba8ca46b55145a87c600dff7ad1
+DIST firefox-130.0.1-kk.xpi 718488 BLAKE2B 45bef13c6422fab51bf0ee18aafbc26b9c8dc01e114fa9fc7ede4ad46f2e97f09f4bd7b6205ba091fdde8cf1d381fa6a0c4989c09c4cfb9e1b796a658fbee5fc SHA512 c7f096f9643f2e2d320169702611d112337120d45aa746cc7699225e4a7e8a2b49d9793c2be14afedf36ba8f79d980d9f45d0948f2cef513c69a5ae52433272b
+DIST firefox-130.0.1-km.xpi 529324 BLAKE2B ee887ef84881457d801fb337ab753baa960dac673d905eb452d00b9581942f83fa91107e15d9324c42c32ccad4bbf6b78c3e3d49dd2cbb5242daa8f472a0a0bb SHA512 f25e765b7d3cc9063821a2eb774a627a6fa7e715aa4c7c9e4f14e33696b98009285eeed7bf7bd27315395eedee01685d6117b86519d8b6ef96a4945584e0c462
+DIST firefox-130.0.1-kn.xpi 494336 BLAKE2B 3c2cfd4547c59b03bee49c9aa8518468d6426ae09e991f3d554737a3bd5b58a11ef8a2bade9de4cb34ca172ba75735f3b1cac3b866e886d16c96796a2b0d3744 SHA512 976198d040a4a35fa1d0f31bc73ac80ebefffc5c48c7b413e34f215fbfc6208f4a5a58fef1ea0cb71cb760c74c3e4dd19e3b472ebde3db478562c5acb562f74f
+DIST firefox-130.0.1-ko.xpi 671540 BLAKE2B e03b83a81b092f8cd0211f234da2d45268c85010fe285143b527c50d235652d237d3a7095ab30cc1043764dccd1738af985b6d34a34e2340ff46d01b28bce3f2 SHA512 224db5cf002393fac509551f3530bf8e2ccfb376319646123da746f71d581004c212bdb80def2b7bacc50656130628aff30561b739d29c0a71ba007de7a54127
+DIST firefox-130.0.1-lij.xpi 487639 BLAKE2B 50353111353c5f1a7e561762f26f84824f30a4a3f2870a3aba6e0a299febfd6e51182fc3bcc0cd346591d94706b4708d30aecf39c2cd8ac7eb2b41d3f051466b SHA512 b107a9d578bd599a8558a4696e9c8c414931195b97de6f7f13f191d5cc8a38f72590a0340a5d061b9fad3551c60ad87bbe3cc32cf6e4b3d5da00a522625ff2e2
+DIST firefox-130.0.1-lt.xpi 576379 BLAKE2B 964e3af4fcc5c16973a48d61676800ede6e61277b3b7a663b3f148220e0d322a24c3afe53a0fe3b7027d0f06fab14667f85abfdd0bde7230a1883fe0832f8e76 SHA512 a358a5aaea988fa4821d19e0cdefce9ef31c1a1045ce779d0e1791d02e945b9ebf6f9fb1d366f30edd5bd0268add9c2f6a5b1afe5a996a74927db0b0766a4815
+DIST firefox-130.0.1-lv.xpi 589133 BLAKE2B 9c3dc434c8d762922dcf0f95cec0bf5d7abcb68523d3cbc611b031a2b436740c816bca96bc3b1659698e9f0334cb9892dca3779799f8f39f74bb27a2c9d51faa SHA512 cec8b52df22e0405524cef46f4865ee56c837d55fff264f836fb0c39d1140eb9850682ac799a6a6b7f86a895df63df73744fefe7a8ccc21018ea7b6fd82e7f9f
+DIST firefox-130.0.1-mk.xpi 496957 BLAKE2B f4826d63f30b898e7a6c1d717e17e25ae5cce009f1630b536dc53067278d2bd9d27cc1e065f252cfa53f25439b543ce39e6d90aff9ed9da4b5e2b2f8a370dc48 SHA512 2e10c7f142a3bf8e9f0235d5f0abaffdb0a317db3b810ddf476cc079acc424343cf143cf5dabb44c44a766c9fb3462a32a70151039d25dc8ab856450e408d12e
+DIST firefox-130.0.1-mr.xpi 535455 BLAKE2B a045e69d4402a77f5452cedf445712a8fa178945a67bff2eef23a6f9c0fe9e2b99058fdcf62b0a2721f306254465e35da76ba977e535ad888b6db5c289ff9c9e SHA512 cf2475d5e51b278a37e9475c5e17432b9e054a4f115023d32d187e51ce6832940130bb37c9811a62030022589e5edc27857b827681c9f1db52f60a33d02210b9
+DIST firefox-130.0.1-ms.xpi 453253 BLAKE2B e423c978e20dd247b936cb4ae3ecbf5b4cea0a4f5df67b37c0c81b5571db673c1aff8b94265a95cc2cfd1fb274f8a2eab09e38d5878244ee04529e7c57d14787 SHA512 645a572e06bbd4e351ea8e4b1fbeeb806c3e2c2432df3670d6cbf215781154153f06ea5d16dda9200373eefcbd98fa74a3eeea0f79fd8e2b3d147b84ffacfa80
+DIST firefox-130.0.1-my.xpi 521877 BLAKE2B e310ca67f56d604987524cafc8eb4cadda5d527e7e9a5403671b36d014500cb6603f41b6c3541a8211fee70500b52fb1c4fac0c1378bcc2dc14f382b905db480 SHA512 7fbb800aa2e76fb2a0d5c60dc1d66cb60a8b232b9c1c8ff862e744a55963942901f36be661ef0a0ed0e72d9d07f259fab3eec057ab8f4271ab7c1716763928f3
+DIST firefox-130.0.1-nb-NO.xpi 615479 BLAKE2B 59f08a15e7357ad6e792da2d314ea1df4024a3d4296e517c62d65b05a268bf20bc124f05973f15b7a75749c05ed8bb34d132017fc50dd3f8427b10ffa54bfa91 SHA512 e1bc70f20410573d79f4d771875490532ba82bc7b079f8646258f32bc5bc81e4e91181d377efbf54fc72317122d05ae7b0b5f6cca89982341638651e8b70de68
+DIST firefox-130.0.1-ne-NP.xpi 517912 BLAKE2B d2ca2a2b6ace34acabe22af4012f46241a0697001c6ac67b4d1507531c36963c7432a979ba193b2f5ce408c8efded12ba903eb487a019c777aea41dce8e6b063 SHA512 bc99cd4cfa1f2e5674961c224da23ba84d09333d96e31d7d39cac11e0d07e2b097f5dbf2561411c4c7ab30705a01a07925b24b663aebd6cf07ab6de3ce0f3c3f
+DIST firefox-130.0.1-nl.xpi 626073 BLAKE2B 83bfb345c7fc2e155cf8f275d8189f3af2b4a0a72d3ec83ead246891bf9c72caaa97582750e979028938fb62300cb7e1f8ea6a98ae3f3b895b08e2e34dcf08af SHA512 10eb6fea81e61e63087047a7175a757df9811ebdaf14468fda544e6dcf0c4dcd3300e193b66432fa0f99b68b901baa2fe1898ceac5709143f07b4515e6d41e07
+DIST firefox-130.0.1-nn-NO.xpi 619763 BLAKE2B 50319ef57c82e2e3e33d5d81fe73ce9247545dbd5bb0990911ce90a8d71bcff0204660b3e8c455cf18ec2db5fa42d5ef6713492c47ff988f13c82ae8c04c1760 SHA512 e165dd7f40a5063fd23b3357fa0c8ba6237f3069f60adba79a26f200a47b24ec763428ae2f75a3cd78d8f065464985ae959b6f353b185bc0dce06ce633920330
+DIST firefox-130.0.1-oc.xpi 616652 BLAKE2B cd8fdfc08bbe011ec8d64f43b08eae8047d0746d7b28a13215bcf99261617d515f2ad403d5b713f306ddb70c6ce3188ebb98f67e365be104f987e2962ac820c3 SHA512 e56aef552d57539f0cb73977c1d8455f3c7d69123529c0865b77aa0a7b9827e57dd8f55843608a91feb4697ea61fe205ede021e6f92b7621bb7cb95c1763dc98
+DIST firefox-130.0.1-pa-IN.xpi 700431 BLAKE2B 22fc9750c0358932547988e1a361a4cd49d19542776243988f2fa5dd8a46ee12ec4cf6afecbb804eb5ed8ed315a0f598beabbe603b3eea478e1f1abd9ee16747 SHA512 94f0ab1f59d141cc513fee4c1d9ce2f91301fec3f72204c11b1b317bc0cd72666b4a0325ab3b35f623753514adf13d2cadee4ffb2220d65eb38478534d6d716f
+DIST firefox-130.0.1-pl.xpi 646170 BLAKE2B 7bb120b89df819babfab48483cd10d3a41eefa7eb61af4cb1ae1aa3f4d03981773bf5bb3ebf1de41a99598bfa533bd1d73a7343a5f0885c756f8bcb0e1ea9400 SHA512 8ed0658be7a860aa82c003b55724b403029fed21f7c5408002394de9706593ec8e6d6f91c62641335eace1eb8f21034107e72963e16f923e9225dddd3998e006
+DIST firefox-130.0.1-pt-BR.xpi 631641 BLAKE2B 65264c72450f54cfa77acdc782493c0137b51bf0a2a4b2fa911593617c3517882a448964956294db2de4a82714a4c29b9b3510bc822baeb90fe59c1f2a528352 SHA512 fe85923a8430e8c93aad8dfc1954b3a5fdf04d63fd6acf4e717bc93c24274650b30d16260046beb34962e98f5777c4d70b0ed061df1ad41889e17d1bf98d7b91
+DIST firefox-130.0.1-pt-PT.xpi 638062 BLAKE2B 230be97b41f30d2987a0bc46876de69e7f2b2ebfaef80cb481740b8b8807c05b34df72ba124ca2850800f1e20730cb1e29cfd62700939208dd90d894e0ab95fc SHA512 5eb7aeb3b3d548e63df0dc80602a765d65aeddef2e83837ae97684b3aa11cb092f7ad46e2dc6f7011eaedcd9088a93c8bd0b6cf692ea807fa39e07c778f448d0
+DIST firefox-130.0.1-rm.xpi 621692 BLAKE2B 9c876ed450284515454a74a6e656b0469d910f5b46d6d69a48dc03c4284318849631975c8138bca35d5700f8ae4b908f14ff0336f4a7faabee6d346921f2fd67 SHA512 5425eca8e174c4b7c3f9b6c404ac22bcd63c422e30e25bd9327dec5c53e4ccd6ecd1edd9cdc8b4c1972104ba1f84d42a27369968bee4aab3a6b2b4de20ce7f78
+DIST firefox-130.0.1-ro.xpi 553441 BLAKE2B f13f5fff3f7c440ae60dfe217d8b9e32839303d283c97fe66efe85a28e7d6f82e8dfe6fc1301b3c1e8d3ae25f87b9ac5e2545a7f2aa59da905bc73cae84e7eb5 SHA512 a522932f6f2d302e356fdb40dd3a0a9fff026f61a9a9d2c67adad8b877398cdea1c0caf3814022f489e78113c986f7f1c05e2d7ece36cdcb32aec22d4c178f74
+DIST firefox-130.0.1-ru.xpi 731301 BLAKE2B 4559638bfd7680452d09b4befafc140ecf7148211fae1d56ce34bca0ee9350ed8d6bbbababaf95e4db61b219e1be0698411b5889f85ecfc02f1494567dbafd66 SHA512 63be4f5f63b8aa8c5b1321be88786be694e76d479dc480914209d06a4d11486808a91066f34659e10e6eb9f86fbef038917e0a35ddef06bb17fc8704140ab44f
+DIST firefox-130.0.1-sco.xpi 514791 BLAKE2B 7ae309d3d3be073a07d77cca728cfc3d898301b117f44996c6e52a75317ef829d927946b62f7d0803535e2fd73b04f2dfef8433b9332adbd8a6765e63aecac4c SHA512 58f02c270ee230633b3136b36a139c21e14cacaf5439d6d164f1866a54710538126462c3b9ab0a59acc692b8e79d760a204bd5496ab3348341da5e519fb212b9
+DIST firefox-130.0.1-si.xpi 616775 BLAKE2B da0365b8ce1657224fdafb610a80ada4cf01b60450be04f1024f11b90fc19c4e5c2adbdc2497bea3edae168b0e48eb0d4e6501a47aca92b9ffbd3d5992f99ce7 SHA512 a4a43c8fb0c2d2db1d8368ab87375e87c0ab9479d851c973299b78aa7d1f6c2f82a23153ecc4c45187eaa5df86ac779c28cf0a34d9433831052e90a74ac6bcaf
+DIST firefox-130.0.1-sk.xpi 662597 BLAKE2B 8278c841a47dcde9cfecfe34a85f3fa8e1727b1a9f5c0d66f0e8865dea93ee0be253adf9e2a05bfdeecfe1f9d660b7720b02d08bc00bd1fba5e01c43198af6bf SHA512 9514e40a5592989eed8cf4914fda963f03b01db6dbe650a98944113934bcde04bc64d4854038d72766d2aa88fc2054112874d63456e9f7416680e6a082c17d50
+DIST firefox-130.0.1-skr.xpi 716708 BLAKE2B 28cf1ac8bc85e284a9039aa2af08ef2632709776e6a33a1ee6b934e0d7149274acde8c5e058dbbb3533c33fb5eb816930d61dd181bd5106fae8a4e383703afe3 SHA512 6156765233fa22710574de5709da456a0f259a9f76f27b4688f2825369b4495d9f110db533f858fdff9e958362fb738e01a851c55bfc0e9a4ce6d5df94de4cb7
+DIST firefox-130.0.1-sl.xpi 626603 BLAKE2B 9795beacadac0eb925702d7ccfaa8908b98607cfdfd2aa2668049faf6fb4a95d49bf63b63a8e9856586d0494b7b7a51f6c0e973024a796b760416b7e3649abfc SHA512 f7880aba4b609ec64b91535461e6c394466902acfee123d8775a1ba5e74e498adee032b2a6948588717226e7adc9e5da5f7fabbe420b104f423e6fc32c52e932
+DIST firefox-130.0.1-son.xpi 419751 BLAKE2B 0676cd8fbdeb810faf29739a551eda771627a00d86df4033fb1e4b8ae0a84397021f1774e7a560d085bfa87778050c1d80276145f065ae612803a4ae1f52d1f3 SHA512 783d4e3998aafd70cb477018ff51c0387f7e6799347e3d5c9be72ebbb30de141c382b96dbda0fdfffe8fc90599b745dcdf57063ee2cd5d020a55f89d11f9d725
+DIST firefox-130.0.1-sq.xpi 641273 BLAKE2B 1ce5960d609774d7ea81f310a8e155b30c95e0d546f24e6ec88f71afece0d716515af8b2780897356216fa6e06187f2deda2c88850d35c83384c93efa83e6561 SHA512 1b95267151ae75a08f0573aec725eac6daa174c601c461a26826f717ae41bdf1e2b9f7bb6f85afb91d808df0dada6acfbc92ddf0c7b8872bfc2558f4d9eae212
+DIST firefox-130.0.1-sr.xpi 643277 BLAKE2B 6068e52ead9e94f8a4645578da428b2fda54b406c942c1565d3893738dd15a4a7e8a3c5517e3e2bdc922d877e0383b39477ff9159443f22311729e6c0f9ad18e SHA512 65e6ce5c8db9966c747d07584744cb92c8b809314912d0026f70c3e52ead8aaf772b9cd293264d6e97378d6fb6263a1a8f8abc54f726b8455cec8bdcfee268f9
+DIST firefox-130.0.1-sv-SE.xpi 628341 BLAKE2B 8dc9630a99f3c2537ae8a6a302014630a6a6ec2600e9109698514c558a4f00ea2d0023d0dfd9f65baeac7bb768f3f20c5dbafe360bf06bcd344af6564e053f92 SHA512 cbbe26ba6794445b3c71c9fef9a291dec8972db5d3ead8d599646565b85c2c23d4cc058a76e184e918f0136da4820a5d08cb25a9022a6f1db3b7769f2caa305f
+DIST firefox-130.0.1-ta.xpi 510633 BLAKE2B c6c912d0dbd2afc736fb37613c0aa0900a97e0110d1b18f1fcf17119aa93072b90dc10db7c9f6e9ecdfa35487aac506a8ec8ff094552bb0c224b95d2e6ee2d5d SHA512 e4e3722e552a77e83d610542594156fec2ef1d82d9a018f0e705f7bbf29baf0edc1be633903bd32d38ee0b302f2de5aa95c3e81ddbc501f6bc554d11044faa52
+DIST firefox-130.0.1-te.xpi 564564 BLAKE2B 04a91227c5b8e143a61be167ac9b42b6fb87117442f31a3768882d84bcb2dd2886694c656d1fc7b8a86dae0a73f6339730a799aa788c8703d2d2f4ad7b78899d SHA512 19d98999e6e66b60045fa749a4a6a99a1c1ef4ec8fa08aa141335f451c0d632e23d6daa1825f3844b10decb7e9e891c61393d90044a9c80e4123238f0ecbb63e
+DIST firefox-130.0.1-th.xpi 701825 BLAKE2B ba6cbf6c86f28d561841d44ec0ad132694258721fc5e82a8b3bc4172432eccc81faede575d11fcfaa688a0606fddeeaca0d873faf961c4ec180aeef66fbcccbb SHA512 10f7cb6a5a3df079aebc3aecd9ddd7b9df8018b626c112f0343080121c38a49f5c0242dc6259d98b1f41fcb40bb0d29d65d2f18b0a26c2209d9cc7266f1edecb
+DIST firefox-130.0.1-tl.xpi 537792 BLAKE2B efd3e6fae426e5b11ea95536ad430dd826545f864b7d3f6e5fc430733f94072f5b54e60d2b0c44ab47c708fd8283bbd821cf90f5b2918b35cf3c0a1d1cd50f89 SHA512 c5916ff68f53a515cc8bf75bbdd09941dc23d3843de851df88b9529872d392c0aaaaf1daca4b0eb080737ccedb1ad00b624bb8e36fc3ac543cb6a21714ddbc43
+DIST firefox-130.0.1-tr.xpi 641716 BLAKE2B b2219d1751bc340a98715c139335d1631970dbdc827d2f4b546c8b7d9eb6e9f5b7b8442449346826634895b3916698f2ed2da47d9dc78efec9961bd71ae3cd4a SHA512 136f2c66fd0d1dab5d6583759c4bec65e9eed4b46990b50a45e498271bdb085c959387a392a49d90733f69c5f5ee751b02d82f436966ec12b75f0e8d9ba60f45
+DIST firefox-130.0.1-trs.xpi 507742 BLAKE2B d7d3409856a152cf49b0444ca4ea63c5e0caabda66a0642ae108e868914954f2cbfad0d0740457b514f55e89422eb66b6df959c5f0de8b2743366d6935245e65 SHA512 9157fa5e7f22ab98308cc0b27c55b3a964a98de98bf3b70e228fe5152456c39552c9a273310d0b4ce4882c462b377e0ed2df8ee36733abdba57b8d07f5e09ba7
+DIST firefox-130.0.1-uk.xpi 714785 BLAKE2B a09677f81de8162f0838f72e85c46eab804daf2300371c74f23428778c98e6faf862a473f69c8976d32d761d3bf61954017910f90814ad1e16d85b866b7a934a SHA512 2d7a36a9cc04c7ea579ea1304ffc24293b7ccf3cc449c1874320c08c4186087ee0949e4ac9b7d14cec95a838bbcb5b25c6f19986cf1a1eb6af192cf6ed4cf014
+DIST firefox-130.0.1-ur.xpi 563626 BLAKE2B b4436ab964892f80e19645b947de35ac02abb49acd66eccad1247cc0bbc80acea992ae81052a1a229834dfa16abd5c489a83d9c03b96ef627eeebf7876667c83 SHA512 60aef5196f542b8c61f348081cd3b74386d0ae2c049b3937e596cd2dee97aa8c6b51fdce2ba5d13ab4ae4470673246fdc54a2f6f850ca968f536a97106214ef4
+DIST firefox-130.0.1-uz.xpi 482286 BLAKE2B ecf879c2c7e429306cf63cb873de262068878d82a2803da15a9bbe2a8e3eb85f3b31ff09b12c3b2fd9a86a1cab4ee835be1572bd342686177e681785ee204a78 SHA512 284f2eaa80511301e8ccf49ba5f76bb272d07f9352f07959dc92631684f59e4b84e6ff251d41663aedb9676dd00edf54f95b04b42bd28350878d93870af8b4a8
+DIST firefox-130.0.1-vi.xpi 666090 BLAKE2B e7e53f6c7db79a793d09f3759c085c91470b95bba7d33c8993c96ed1639ee2a22defaf41a6c02e50a23a6abd54c2210c8bb9841674c57b979f51c541b758d73a SHA512 756985027fd07194f94b0539dd58d6b66b896bfa8b3201594ba87bc6e3bdb09b794962e1e0f20e2a77c2f96cb3d5ab8125273062812cf435cb47603e5e790571
+DIST firefox-130.0.1-xh.xpi 420491 BLAKE2B 2bf9207de33261efd8f5515bfadc7e02b58043f9b5dd369999214e1a3045ba38c5017d0fbdedb8f7332f0e1a996c09f139a33c8ef75d7d3b0db1fa67ae4577ad SHA512 5f2b1cb7eff89ec6758b18805b2c24397374c29b8ebbc571ba85501cff1ef00633d1aa55befdea36733c57b5c474e6fce6a887b026d1d29f93f6b14424f9149c
+DIST firefox-130.0.1-zh-CN.xpi 667372 BLAKE2B 66ee8d30614ce9c37e2db50c8c033b301c3b0cbd97a52d694af8456b8c15f6b080a8d1354e03ce6137635c0b248d4ca171d412413df16e2d07904702f0bd95d9 SHA512 38f2c470ee5e6d36d2b9ad758f5692c32134323e79588b3f3b47b5ead4bcf44bbfc82605e7ce222cc5f58daeabcf8d49c78cabbc7ddef7075dfdfc7cb2f5f562
+DIST firefox-130.0.1-zh-TW.xpi 669294 BLAKE2B 4bfe797d28c7406464406a6a6297227bb05e327a885a8960496c1740aa8787c88bcf04c48feaf3772e87a51f79ddd25f3896262e5cf91eccf52f3cd578dc794b SHA512 034ce10936ed67f20aebb15d7179ac479755a828598a8972f5b4fe6fb61b8677330fe73047add6b7ff24cdd555e3fe4e82c27793663dba604ebe2c4c4376d1d8
DIST firefox-bin_i686-115.15.0.tar.bz2 84361217 BLAKE2B a283d60dee23b7d843095a456c17541435f8ef5905210e4cf3eed7d8cde2691004555ff727e33bd3900d3d225ff174c8faa06c21676559dd15e6d82222fed7ae SHA512 d6ba65dc7e64394a1600648b4fa98fd477d082522b391b2a140f95486a7d44432d469b19d42f78e30d0bdb3a3be71626c7043ce9fa1da9383bbcc94550504035
DIST firefox-bin_i686-128.2.0.tar.bz2 87821863 BLAKE2B acc895062ac8d4fcd6ec3569f32d0e159e719bdcbecdebc8e5c74d60e09eb1c5ee00bb234c5d20a38cccffd2d1c6e2796afa01b12187025e0fc76691aa4b508f SHA512 e4e2993701b55ad87f0185f617fde77edde9e6266dd07c877a3caca889fc63511ea6613656ec05552af9f86ef779f787508a67dd944ea3ef42b8429699535fdd
+DIST firefox-bin_i686-130.0.1.tar.bz2 88690852 BLAKE2B 960a33c954c3e1c1af45c4d477882dd122b08526adc500a871c1b08ed4d968055aaacdd8a24f1b5ebc4c4d6292baaa38f36e275e18c91c16864e24fc6b10a7ff SHA512 f6d9915c0ea6d95bcae9a795f40b55a776fa537e920cd37e97d232859341378ec97486f2eba130f1ae9364bb55ce6aff0af84a8da56d6d0901b76e0db5daeccb
DIST firefox-bin_i686-130.0.tar.bz2 88602912 BLAKE2B be50caf7765344349f5606be137d9b3b743400b0a5acde6828d222127ea5dbc09ac4cc12b6991fb3d0f5f3f632108411d14642ef3780f4d34ef918800e94a78d SHA512 9b39e8924a2320d2dd173034bcdbe4e33d39de55dc262bdf60f69d4a12deac5a54a87758c9388ddf56944ad1d031eaa8f8ccfa14219e2e04c6009bf536377798
DIST firefox-bin_x86_64-115.15.0.tar.bz2 80447388 BLAKE2B b615d866ade5df67585ee6925e0d3c257cd5a146418ae895badf5bb09403b6a02af9f982b4b9668cb1c34226fd34402072cb0930c520ae92ba07691104ee61ae SHA512 0f8c880bf1662cc7f95d4864324e270a841ae772a85faca256a5b6bbdf71dd71726a91332cbd6dad1d4e56a98ad0d1d3c62df73bc9dcaf3f4294bd885525c866
DIST firefox-bin_x86_64-128.2.0.tar.bz2 86442218 BLAKE2B 32717364c39d4053dc14dd73b08211132c6b875d0d511501789349db600e1bcacb2c43d132c97b7852e23a9c61b16139d03f7ea02b2f309bf733e93919c09bf2 SHA512 ab53c070848984d8f5b1b567c84cf6d9c8afd19386e8099a5fb72d0f30b16048ac4198b987e71bb634dea18ce36969cf589d49a7930a566d80f39a8b3e5995f7
+DIST firefox-bin_x86_64-130.0.1.tar.bz2 87332542 BLAKE2B 59081c39cb5a56c2c0add457cc50a33f5c55562a1b43d577a600e6212c2b6b5202d71a2952513d87834e3110df105e16ada4128322e06235aa14e72909b1182b SHA512 1f3659253847a9a7931471ecf60cf1fb86706d2559b8d833505b6b2b6ce748820fd976f910346d68e8acb3a530cfdc7de43b2c108a59fef65c68f8774ef6b8bf
DIST firefox-bin_x86_64-130.0.tar.bz2 87217103 BLAKE2B 24327af493e96d2687266820f096917780f86d897fc21261191c18f9a0e24c9efc3535f704e0c1189d4787fb6afd86aa31da983e63fadf60359765ea66d409a8 SHA512 43463dce67fc565b23b783f45b7443ee48e3f8f49cbd8eb0d2b3364d0d71bf38dcae3e5fa07fd0e5c7466b53d35db895938f424634a57084e97d4e8049b0df9d
diff --git a/www-client/firefox-bin/firefox-bin-130.0.1.ebuild b/www-client/firefox-bin/firefox-bin-130.0.1.ebuild
new file mode 100644
index 000000000000..7b882a514cbd
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-130.0.1.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 x86"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[X,wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ alsa? (
+ !pulseaudio? ( media-sound/apulse )
+ )
+ pulseaudio? ( media-libs/libpulse )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox-bin:rapid"
+else
+ RDEPEND+=" !www-client/firefox-bin:esr"
+fi
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local exec_command="${PN} --name=firefox"
+ else
+ local exec_command="${PN}"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0.
+ # See bgo#916230
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ fi
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 1c8ccad16b6a..e910cf7c80df 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -607,6 +607,7 @@ DIST firefox-129.0.2-zh-CN.xpi 659755 BLAKE2B 9ae434ddbf71f457f35104064d014915be
DIST firefox-129.0.2-zh-TW.xpi 661609 BLAKE2B e93e814e9096baf65c99011b62bbacded0c9820cac8272ea16059e458efb686c71d9ae110d9ae365fdaba15253dce825a3cd884e9d18b84457a25fcb58a7550d SHA512 1cf2a02b4b7d9680d661fb969d1f249f1e4e7b3af16fdeb60f45b6825e893052206331df2b05cb603546601f9ba98f3e840672390c067991d30c6803b1bf78eb
DIST firefox-129.0.2.source.tar.xz 559547204 BLAKE2B f0c79de337b5c55f9345b21714dd1707e8ca20f66f7ae383026c3737a7a1eeafa5048c188b91cc2ca6089aff944802cf04fcaeed81af7a42218925981c0e5550 SHA512 f6805a87e5cb4e437583916e3ec1b312dc73eec5fc06ce7a038b13bd7c6827b18cf383c30645d96623ce41675351f3023ec6b9f89d676f1c889994eae79f2c13
DIST firefox-130-patches-03.tar.xz 25780 BLAKE2B 143299d7efd9cb1c98f75f9952769295e397eb3e470772cd1c8f96601a8b940ed985c82ecba04e57a20d6b66fe9152662ef7bc1d405d07b97461822920050f2b SHA512 1822064d2e98e845f419e391d0fe56e24ec4d7f9cc814a99020e05658fcb49fbd56d2d6b1fbc85b365b6daa4d405cd404f74ee8ce2a9f05122d87786629f3dab
+DIST firefox-130-patches-04.tar.xz 19108 BLAKE2B 40fbed8cc4d86cdc4c87c69abe8f23c8738dca2c09fe819984716477955df16534aa3aa1361af8e616743b904d611476a04a9f76ac6eaa1862f15dba76ab30e9 SHA512 eae0d2284380926431152faedefd3392f01df8ea96f8282fb40d781a4e857e3e7ba871c333981e0b0ce05401969f3ea42a36ac71c469f320180ef827e1b9c0e3
DIST firefox-130.0-ach.xpi 467588 BLAKE2B 13924fd0dcc0d0c1a2cf7760ef263d257da8d6f761bd48d503c6e7fa8438996f36f83424383d6b285ed76eb6f284e45eb83ea19dc5892d99e0b5851b4635e4a6 SHA512 fa41e89ab9237b76094b660d439a8100bcf971c81c7f4f628f908978cc22f2018f21fa10a415925ce0f34e00815efb9f55210bc4629b9185035a26beac0ea5f6
DIST firefox-130.0-af.xpi 420693 BLAKE2B 7e93d3dcf9a7e9ff348fac82174e0b103a6e3d9c6fe57b3500263211cf1e325b701343d01f6117669eef0197d0fb31e75be9ff0e7bbae3f952183ece781c15ad SHA512 3add870cee9dae595b7b4fe7f2e1a122f51ef937090422b7ea5723b87500b0daa7e90ff5e0a9f1e5346dfaf9ed78eda4df64b1dc5d4cc3732e76f626d38551b6
DIST firefox-130.0-an.xpi 509179 BLAKE2B 1727e110a5328e5cad21a601db2b61318441fa58a4289584fa7dfeeaffc3591b5e14f45342365fab0e34db9210e0ead4b1a1d603b5199fe216a1227db1bf9e91 SHA512 ed9520e7c2825959e5239ecb7e4e56850fcd20abf9f749b8990d77a418aadb691ddef95de0c4193de7351ba59c4c96ad766f07cd19c1b893d3315ec814936617
@@ -707,4 +708,105 @@ DIST firefox-130.0-vi.xpi 666085 BLAKE2B b80be3d3c30aec668164abe5461677aaead06a6
DIST firefox-130.0-xh.xpi 420486 BLAKE2B 953135839c7a648b4b02459ceb47bfd6e7bf62a357eea4c7fe976409a6779199ba719c0cca662fac1d8fbc2865e5e529d7c656088a6509c072b52343170fb1bc SHA512 1cabec451c045df427d8b2dca6829f098ab99a4f7eb28c3e53b6a36b556b4f7471f9e7c3d4e991a03c0a925361a15897976c156eb5a9c8add1a325046f6227e0
DIST firefox-130.0-zh-CN.xpi 667377 BLAKE2B a8ce2ee629c30204726f4e790310180bd2c31866adeb6a25d9e28f48e97dc7f27d9f9b3109e482ac08cfe98316fe9344515054151b3c3d37eee3a6058c0327d4 SHA512 a38673a73056f3ebc301f8cfb2c9fd8e5d764b9224294aab42c3b654dda95bc811a9ee9b1ed707072b39222b05c49deb019a8f51abe135ba9b26f800c928fd39
DIST firefox-130.0-zh-TW.xpi 669293 BLAKE2B 8743ecdfa6fff21ba6d1c199bb24fca9b753b874e905a84ce805aa7a3e10d1871c22e119ab46b452be2c55cafdef9e8ba8a90e261078b0451ba3cb2e9054645e SHA512 6d12d92f82a7434bc7ffe3d0ab6e706ef230cb31b7889c8b0b4312f3cd0f4712ce59e4b576802b79d5bef552d3c07539d27394288c0f6e0e54998a55f44a62d3
+DIST firefox-130.0.1-ach.xpi 467583 BLAKE2B 0fb54abe50786f852b02b7be04f70f0925ba95293f702b4149dbecb80f5eaa44f0017772dbb0d30876014144dfdc8c388b34fd30e5e580d1bfaceeb751d4325c SHA512 b879138b551a00793fc393479d5dd21b43b40f1e7947f524c6584469f8fb8b612cad84ce327a42dea636c5d8e61702ab5d74728bf2aad7d4c3e806db1f40c398
+DIST firefox-130.0.1-af.xpi 420697 BLAKE2B b752154782fb91948f0552f01c4be685509f7d87251af85b73c02cfaa8da27f93f914ca6f826562014a59c8d567b451c26087aff8462eb53b5d5df5c4b402f55 SHA512 5c0cc40695328520e59d14fd409067ab2b8ea1ffe5295afb6e7d52a8df57feeaf10b22068e7fc84099921b5faff1bccc55c10d35f7d34ee74afee07cf68be6eb
+DIST firefox-130.0.1-an.xpi 509178 BLAKE2B c14b948c15b50b8c6d0c50e22404dd76ebf649fa3bb3197f17cbe8d8021021aa8299598c2b0c7a28c850c0cf41842e718d80b35d1949d131e661db2a263af585 SHA512 70883c02b8127774fd9f46b0edb13d38ac518f765ed40a26715c73ca645c2fc6a5e94360f1bf245753fde895f232d523812b0c4382a846bb004c4a957f0ec2c9
+DIST firefox-130.0.1-ar.xpi 615231 BLAKE2B 66af66551f2826772c28824bac9fe869e15dcb24cb905d65eda0a1a92ebdc71b0e55e0da971e23f12f2be682534133b2d2382389df7ad597a418189b9b422fec SHA512 d838e2f6071612b26ef9cc50a7b28afe4fdd137abecb08e74da08f1fb8d264bb81ca34925d56ac6762264c389960f10c6ec78b319a09d108ffdc096773b68efe
+DIST firefox-130.0.1-ast.xpi 499640 BLAKE2B 2178e72c80dee657341dc7ac50a38ca7a5db47a7e84927d4f247e72100f719bed992e25e262b4ab9b72d424f322b918a474ab50c0349b430bd16ea0b08cd36e0 SHA512 e9d74ecc3aa26886769a9d66f095f78fea3ad81a8b52b4b137843bca103f2e98accd5e97a03312a898a67ba72178b5a1169e8ce74c9daf8da4edeb57b56d1fa1
+DIST firefox-130.0.1-az.xpi 494303 BLAKE2B d3f79d4bea3d25405869bbd5651a722b8a4e221704fed963c50f97f0b1e61e520b888a867f1caca72f6dd478f6ac5b908b96c00849ba1fbc703a14005ed0f84e SHA512 558a834cd245674f41589d375085b615f0fbab080f211f5c278f33d887750415936adde7108ab622a02643214b06303973c93388d2a84581a0883b20be9d7c69
+DIST firefox-130.0.1-be.xpi 726468 BLAKE2B 43597f04ee93fe67a0a8fd01f6f60b63f8d74f9eb846fc1259e7b3eee0ff9f1d8280859cc7b675e493c63645e8b9af8169a7155c0bea943761aeebe4ee1d62fe SHA512 84197b8895d0f77b3ae77fed0d6de60f310561807830dceef813a576d01f8ed45230d10a4ea36aaa5054a2923c40f1c00d8c6f2630391d0eeaaea3aac63fe1e3
+DIST firefox-130.0.1-bg.xpi 640067 BLAKE2B 6cb96d904a0acce2b8a16e30a3ef46841a0d2cce86c65e3beaae519f5f13879d67ab30baa3b348f462a3e42b63db73341206f2decfc1713066662aac9304a847 SHA512 70837775c77bbdd2906abb9fa3d294bfe5ada3f6d5c123dc18eddf109e92dbb9bcd8f2b4ee106ab2910b1bb6dbad21aea9302ceb767e232de96f4c32316b15b8
+DIST firefox-130.0.1-bn.xpi 585048 BLAKE2B 812000a6fab4296ef6b11ac07c6f749cdb8ac5ad70f394b2314594e0859d06b2454f416d0edd98706c63cb111cdb8649a37cb7fadf2bae239adffe24b2c9ef98 SHA512 7022738a6c470972d625891a2b7e9496b9e5751d709f821b6b71916003d04cfcb558a4a2b21d440c86708387e4b4401b72bcec203fe8318d11ea210eaedf1c00
+DIST firefox-130.0.1-br.xpi 593551 BLAKE2B 1bdc7de29b19ef8126450f6db2b82c8c4b36997008dca781226e22f0574a94cf41f0c348e00d3308d18975840ee3756edd4b7bec894192221dd722e2b7b4e31b SHA512 8317569712f534c28df19c490d0a3cc66ff172af78410551cb6e68af0e05db7b06202e73c527228b5be95daa1080351744208d530b0cca8fd2c60af90068146b
+DIST firefox-130.0.1-bs.xpi 512749 BLAKE2B 30c7c22875098dafcd045f4841818a0aca10a3d07f964369d65e1bccf58d2060b165de5243a2736b61fa15778908014dfa2a174e256a7d8bf9eb9c786a198a6b SHA512 b89583038b683f200b85c51ff4f5fc3b348feef329220fad038349cded70c6c44bd775362035e21c8d05888e2c0ad3eb5f50481ded11f57fbd9625dba169d76c
+DIST firefox-130.0.1-ca-valencia.xpi 549198 BLAKE2B d5cf7308f02579540e6e93f56ee512f5fc7aceae0a85a435995852463a065f03d3d6feadae8f5156eda7a4efff75603dd1543bd62b677c7abf550a5dc2fb7a2b SHA512 65cbd8d9de8b796a0bdec2314049a48d4fdc417cd82264b1b1b3f39824e1282f3af5a5ea0d62a7b155a7adc97ead6f810e47e9a58d67cfdb303b934dbfaccea6
+DIST firefox-130.0.1-ca.xpi 600849 BLAKE2B 7dca1f77db1eca02bf59367d6d3587777f61ae839e57d73424dfc0478571cf88ee89cfa41a99da02daa81046620b05d0a1b1e6cc1c8265ce18c7db73860a346b SHA512 096849b734a3ddb68b4ff08cc507772e5301acebb186ee3a8f71d5cc01ddd5a7da0dc0897253fa59c8bbd057c1eed86ee73a21cf6481709feb914957ce216343
+DIST firefox-130.0.1-cak.xpi 596821 BLAKE2B 141b69ce46cd89180e38a37520488e305e8d6d13efd0cbc6f3a3e2564c25d07e52c60ab706f5fb80b188130006148e4e292d1e83d258a8de925ed2611ec6f833 SHA512 9f32953cf28ba7add1c762a48b01d9bf907d66b11478a9e9ebb9c9ada91bab4029391c6b5fe2a76c9d422a268b216af5a101daa7ac82fc228c8432a4d5fd90e1
+DIST firefox-130.0.1-cs.xpi 669123 BLAKE2B 25a91327b8f7307509de1c8992205b34e0a535d2a9d5d7d135a0da65662b31e66eaa260c96c37a453ce2abf32b80b13fbd9ce1a0fe17e0e16b1664f93fd9de52 SHA512 cb6b1c4e1322b5c8ff68ed09dce8908b85fd22c80d74318785226234ef5e4a010b7afdde46caf299d0101fd048d6f1bf1a857bb201c51ea3128f67757191e06b
+DIST firefox-130.0.1-cy.xpi 633976 BLAKE2B 44e33256db532b13c763bc385a14e220e14e548da809c686495382e3c832bc2d03a1c852d4fac4e6c0ef85d59093d6c3da629f588d7a17fd5a53b908fffb3b72 SHA512 80357431c1f90fd859b818c8b6fd04601f198533783994f292f9aea2bd8988e150775924970b8c04817f51e442fdb8578b01e7df22939b817af7126674f0e539
+DIST firefox-130.0.1-da.xpi 622385 BLAKE2B e2ef41fa724727a0f063c549db30c8379dd0ba0d309ea798c4003e0329581726ec863559e466e0d6738b7c93a39bc05147df2b537a9ee6354c5479c1ab4bf1a8 SHA512 fe8693f5962004d9bd8ea99703866515985a4413519741a4400cdc6167246888397633256b95924bdd2e212e47f4ca8e64b96fc5d1e653916bea5d003724c66b
+DIST firefox-130.0.1-de.xpi 644009 BLAKE2B 3e2f926a8f66f11107d2e37155dfacbd36dcf54d6fd20547f0fb1ab1b497be465852d8fc527367e509e20bb7e89e3f8f50a8637e56c562c6a5152ee218f1562f SHA512 2bebc0ce27cf86d0434a0adb7f3d12ff134338b6a962dfe2d28d84b99b24f865a5eac39c15fcfedecd0d0d551fc603525809e5388c4272f784d0350034826b3e
+DIST firefox-130.0.1-dsb.xpi 658771 BLAKE2B 1cd178709f0b96eb28f9f20546a505a5a224f8ec567d4ab7beea0765ad4ffb9dbb411c285b45f523fe9d787c103ed4ff4a5d637fe65936017bf62223e5e468c0 SHA512 d034b9ed989d2aad957f7b208e2fbfe37de463958853d087bd23d0f16042c84ea0634332c3db25c2edb3c6135d6244b4233df321167b58f66950813e0db759a1
+DIST firefox-130.0.1-el.xpi 743369 BLAKE2B e769a69498b374a30e92b62d20bb5fb299818767b31ab7717b91b325f4f2c69b082ffc50a6991f2a9298d940fe54bed6a961941704464af7174fc3b5366570dd SHA512 28aa370bae828eb8c0f0b88d6dc25f7354b5aa05c9011dbc357cf25b1c3e2dc8c02345dca0e699c39838ebd03e4a5329285302758d342ec9e42a0bea6f46d4fa
+DIST firefox-130.0.1-en-CA.xpi 592992 BLAKE2B 9eee5fed96ed317341f74f2ff2acccbfb042bbdcaf45d1eaa7c2f2e36af1af0750521cf39ddde8284d453cdd4f2089b16f4a2469da3df920ebfb1d69799651b8 SHA512 79829881745455e581b79cc36f4fa40eab6b95f32e0186b5c980f08aa631eed8c8df1dc674c0e449de80ff73f540944a47fd88c21b65a5aa0caff97f7b5ad867
+DIST firefox-130.0.1-en-GB.xpi 594144 BLAKE2B ba2b5a07c433619a927b532cf22bfca1fdc1628d47ba6eb9bf502368067bb84877dc7390d4a69658508c48d84feb3b9be9e5da956a6b67bd8fee70b4e6b87538 SHA512 32ff2089a3fb22c2505ab0184ac13b1fe6537bc1da0c1129b37d9456a1c72162c8eee26a14efa9eb3448d56860172b08d79cdf24ea983667498e55488532934a
+DIST firefox-130.0.1-eo.xpi 625389 BLAKE2B bde64541450572d0443d5aa982b890d731a57a19dfab0c00d95f5a176bdf0f3ad170702f005e2815e28aaa5e8e3b9d53adb1966f4bd6607292cc9c11a7cd5d6a SHA512 78f988024c0fcd80e902ad15931548df8f2f9dbdd52251c2fb046de9e3f82196f9b09f51180cd84f16d29a2af518d770a9d3bcb0477e49646ba62640b4acd842
+DIST firefox-130.0.1-es-AR.xpi 637457 BLAKE2B c91694634945de4b642813d14ae3ce935df4f11d19274015a165efddf43205cf3374f90e09ebef20ba872467fd437102f213549a0eded9599a636fb94e1c63e8 SHA512 70ce2230ab2f1c948cea111f9e50fa575330e6a77db2b737e0832d57f032580be65e11080481ac0b49d9168ae1375bc8127a163b06906002a5faea3eaea0d2e5
+DIST firefox-130.0.1-es-CL.xpi 636365 BLAKE2B 407304f29981c014b6fff5fcb7d3660a21152d07dc71b8b0f0ba10c662d23c73448d0e83243d5da6d10f4f0f04b25599213a89ac288ba91acf5c30f313e71638 SHA512 36f16ab477b61b513fdb0b86bd734a2471c94662b15e6e6267f3598b42353396ae30b2b756080373a45d953b09fec2f676859d9741d8b25c694f7d6c69aaeb08
+DIST firefox-130.0.1-es-ES.xpi 624801 BLAKE2B 514b1a502740c8e2cf0b0f4e0563cf216e1777936c1d3a1fb33bd748debba049010b4cb82e37d82d672e81cfed947da55fdf904985709023ec096c52bee67da5 SHA512 5f43d763675cfb9ab422c2ded62af2c5e174bd5281a43b713497056584946f407fb43be4cba97e293c078c3478dd778da8fcff3a14ee37cc4e8f211edee9eaef
+DIST firefox-130.0.1-es-MX.xpi 620032 BLAKE2B 63d18ee82da6b61e8a9e761cbdd4779739d920942465ada1b4328965b608405e1c6df4385d7c335beb211cf98f4cefe6a6da7589b72952c6d08c44c79603ad2d SHA512 4bd21fcfe06323e5f96f9ef234c7cdca7a3bd535fe0b9a1b567369d980554f1f6b2341d40565318cfdec98101a8778cb2fd139a79e647c6fa0b75a96d33e233f
+DIST firefox-130.0.1-et.xpi 543284 BLAKE2B 57650f794bdcfd093e7c1b33f8aa20634e8a919140a29c8b4fb6869f181120ed8ceb15e666fabec6862fbdcdfaba2cf8bf4b7677867d5c983fbf4b9a5d25063e SHA512 954dabd83ea39a94bb489cfea77279e3c40263047c99e29170766460706169d257dcc8c0544f9d74478f280c67176389841fb8420cf8a8e253efe9b77b97f49f
+DIST firefox-130.0.1-eu.xpi 603919 BLAKE2B 2427b80fbe06c14e3c795195cb1261affcf17c4df0b848e16bd42c13b0d99fef93d1e612c5a0697b0d6ab5486c84190fa4394f9d722ac2e1f4c9e44891f75d30 SHA512 debea1a31b61f12191fb16e69cc3c0a1db0422defe3b7da889bda85f7ff108115a70ca349ec6e6df54b8d6e69fb611c15dd2a77cdfcf9a4069c128221c4495f6
+DIST firefox-130.0.1-fa.xpi 593590 BLAKE2B 566859cebf579c53f3c26855b4c98b4e3e71ce53499a4248870e17c88f0150efa09cf160522e220e8a49203916f759981847bad0d7112c5e3572bb00d153a762 SHA512 6ba1a8ada50f98898e596af0a0545c32cbd0ce16920629e8586dd8c733c3c967d545a068e96371a3e91fb5e2c876239ee9ce73ed92bcb4947c5644744cb7aac1
+DIST firefox-130.0.1-ff.xpi 479257 BLAKE2B 9be1db7c76fcb22e8a681c67a2626e2beca8a4b82c77811a80d25d6a470756a42196c14f902d8c9cc8079d80b9c4981c936b56f28cbde392519355388ff74783 SHA512 04a27b27b040833d690422c19fdff00915c4b911043023b470decd7d8c31cd848922bd6a5da0df8769f8c6a5fa7d0b888e1e42ecb55317df91a70a0520e9d9c9
+DIST firefox-130.0.1-fi.xpi 617453 BLAKE2B 8274dd333a51a5a1dffaa3302e4c488c20eb50193647f78cefbde66dcbf1b6ee4812bf45762f46920a66be7e2c85be106eb8dfd9949d1340ccfa27d176d5ffae SHA512 c94efa2dc960a4adee04039cd83bb2407f4203c4ac6b0979e64f86510545708d45b29a27f26e57a040c905875d6fadab00e1c494f601d291a3b5bd5fff1daa84
+DIST firefox-130.0.1-fr.xpi 651033 BLAKE2B a34004984b9c2000631e61942b58050887d298a071adab067d6685e52aea322bcf97bbfef054e77cc26a2e0cf17276552cf8b5120a02f543dd2a9a849b758b08 SHA512 eb3e97905ec620cf69b5d6b445098b4d96951182ef4ca742035cb4a5f01adec0f3a4513d16570a55dfda2fc996c08aae2e31ccdc86d7112921f4b26b3d8122da
+DIST firefox-130.0.1-fur.xpi 643019 BLAKE2B e99928b47d810adc2163b864ec720eee04e8204bde4cc6bfd98b3f510f22e5492c833843ff4c54e288510c1db99534275e4d2b60e939f5a1af2fce715ce1ca1b SHA512 2559f9877bd9069bcb852cb42e5b3f7e25028327820b55e943aac2e134bfefb46e0e38a66ab461b2cedfbdf9e824ea1b72ba0711e276d80d4631bb777a8435e3
+DIST firefox-130.0.1-fy-NL.xpi 632435 BLAKE2B bf56aad36530659f848fc1d416624e9d38392934313485daa6447e542422717d1a274903f7feb87af2946d57488b51f4c392e759927728a5d0f666b18c7a8b67 SHA512 eb72edd539850de4d15d37593fb05d82440698b1dc9e9b42a00517235843bb1fac62a9b7cd0c93a96dd7c69de5c65fdcc1ded3a6302cb683aa3b7dbb1e7abe43
+DIST firefox-130.0.1-ga-IE.xpi 474437 BLAKE2B 417aacab8644c253ace1912f7983adc27d75e4d647ae11ffc3c557846dad0cf60b2da883603675bc8f096c1ddd158d8b6911fdbb482fbc244ba3eb42b8d04217 SHA512 7132bf3b42a4895a5bb623e3f3c9406bfa75c94c88c985281d486bf605a9fbee8927b545aad955f2fa6098a917e99c2087529e94c31095d11308ab78ca0c7d94
+DIST firefox-130.0.1-gd.xpi 600330 BLAKE2B eb2ad966e7c9d6b03af0277b9e5cca82cf0637f4301e7c04f862b21e2547ce6be0803b94d3acf97db18c2037f9aa4dc1f512b1005232953a2047b0279b47f8a6 SHA512 a04cc3bddddf6e9a2920b24ec5a8f0785fac591d9181399b4900894552a2c570b171caaee44a1904e31125c03fa362961d3f9fd386b0db30d7cc9ee529e7d415
+DIST firefox-130.0.1-gl.xpi 608042 BLAKE2B 05076c4aa0ecfda164ce50781d9510122a7c84a5c6505d4d5c75672efe96c9f0504d05ab9d77515477f5a87ed6890ad6b79b61682718063a9268176b57a3760f SHA512 3f1ff7fdab524cf508cea4c9e4b6b11b4f524fdc09b10581c0492d4c705649b76ebee3649994ba9b68d64a88ccf0cbf7a5811ee55b4b48bc10a829a7406860eb
+DIST firefox-130.0.1-gn.xpi 645995 BLAKE2B a2e1d2dc0d41a4ebbc607e88f6a6fed18ff6f043ecba47a7131775c0497ee74dc09741b212e975db5241718dfab241a317fc50a5502a608a0db6c53fe10ff825 SHA512 6e2bf891e7271342857aceec6c56a955d35e2c06f8bce8bef24bb253c70da44d7dd9601bcc3bb058c4c9b59eb81fe410c3c8ad945b3f7a24bb400484150e1df7
+DIST firefox-130.0.1-gu-IN.xpi 530816 BLAKE2B 630c78d645ed84df51a12d05c7e52a74e3d559707ecb972204cc3ff05a52cabdcaf2b8db191576dbcc0476aa09de0e6a388dc671a642442a498bbf967fa2977a SHA512 f2e419d4cc4da76ff85d626119508549670007dc8d53b9fdd465fa5393bb9fb6b712b439804b638b8dc946611aade099c0b2cc50501add2598f18cb3d1651693
+DIST firefox-130.0.1-he.xpi 640049 BLAKE2B 480c4e6b662324e7d897f0ca725578559f54a58da8ad277561df6297c0e76a3f44c159d74e4224daa71e00ab33fbf453dd5e5012089f8c425004bcac01113151 SHA512 53ef72de7a41744b43632628f062a000670bcb7989b8abee61ecc1f12059e69a206a2e070876f7c0d280fba552a010950318227b379239c4fe95bb3c3c604099
+DIST firefox-130.0.1-hi-IN.xpi 570014 BLAKE2B 1f84a195c74fca08e9b2d0239968258cdaa064579c995e60f0a093a2f906416d6b4c736e6d94929d508f0627c18ba86067aa186b379e203960025e84f4a967c0 SHA512 9d7934ae8c4373627f3ce1fb71f8565918a56e9ab1d4a3143c8dffd5266f956d880488334822e3e8a840a9506faf91f6d8350cb70f0f3a7ea175bf2b42067d8e
+DIST firefox-130.0.1-hr.xpi 617514 BLAKE2B 8504aab835e705a9be34bd5e1830ff2af4b0d701acd33b1b133b87d7c70b67b3aaf07139e3f53be15c0494299be04b61e6a3db91f6b6774af8c734f4de19052f SHA512 65a277406cbec99de7d43339c29f7f7ffab465885ef3b342ec53e6c6eb08effb4343b710c91b24aac495652d2f63567ab67837127f8fe23456c1c17d3ab60db3
+DIST firefox-130.0.1-hsb.xpi 654764 BLAKE2B 316f9d8a2b549e52633ac4b62100bfa1f41998811e4a80abd1c15159c0b5da82ec0d26dc3f3634e0f8d451589dd649b4bf2183ef560c60187e7b189f40b37f1a SHA512 e332e7bc094352adcb26e7b031b98bc6458ba7e171bb61150eb0e4f8fdebf96068c83cafb3958280f8b1b30f9f40ffc55e0a43b98e2edc9775f584df6b3f9444
+DIST firefox-130.0.1-hu.xpi 659673 BLAKE2B fc63ef314f7d0958bd0bb3d887f658bf4f163ec487dd1e74ca97b1d93549044c7db2913510c9ff349eeb344dc2fb31a1d8baf4f2a0195b42b06d38b1839e95ea SHA512 031e4964a0fe1b63769a18f1b5dafb67445ab16558ba725b2d3a480dfaace6ba544f2d91411a64665579fd9a66f3c61a562b00d739323e1063f5a6ef893b1769
+DIST firefox-130.0.1-hy-AM.xpi 655058 BLAKE2B c32e31364268d28bc875e2b0a2f127c8ef61ac1512e06311eb4f93f29ce2b640074100d164def7782b00878a5d4be71b8720a5a8dafc8797f387c230087bb336 SHA512 3af9a071b2adbf9a7ade27c1365d1eeb5fc420e2eb4ebb71e6fa210bead5fbee8f87072129eb68b986d22b3ffe2a1e177790d18444216ecf5c7a12c57336fdca
+DIST firefox-130.0.1-ia.xpi 620411 BLAKE2B e8e1c43e2e8c5d720a2503a2fd0f91f368749eddb52cda373cee6d8db6379aabe9c47bd7c8f1c06a26d48ce13df141559c1757ec89f21d5162f339306afa20ac SHA512 820e542af36c503984df6762ad4b799a9836bdc2d915fced6d553edf157ee13064aa647d349d0ec7e9977040e055c3443b0b12845d7eafa69ca25d2137d74573
+DIST firefox-130.0.1-id.xpi 588476 BLAKE2B d50e2c34ae02e3c6ce9f01630e9a2d427256f5d95abdef893e57fe48d4b01ccc0bc6fb10ee3791a8dd91189afabcee54eca96231551b10fd429c6ccfe621144a SHA512 ca07221442bd0f149af14420e14a1023b74ef75f45b8b271b4149e8f0a06f83fd15e1e515f7525357a61abdc69caeee18bf4d5be67a2020e42391b9cd523c906
+DIST firefox-130.0.1-is.xpi 622834 BLAKE2B 31ed4d2974ef67b433d1e7e35b0e6cdb80a12c909554e5dd55a3086ea2c7b2bc0f1d2d4cbc7d0b41badca96d0d83d0b6ce997abb67e7580cadcfbcc742eb26c5 SHA512 bb254da9a42170a7589db3c63921b70e4c57d7fb59f18b392d88863d7aa01ebdb1fa0c38c755fa3b460037b1b75287b6db611031f16508a1ddebcb5bb9be4009
+DIST firefox-130.0.1-it.xpi 576702 BLAKE2B edad2dbea5cf3ebf065197a73958266aba7c1569e9fbae8fefb605f67e7ed9337cb56d069199497b930f522ffbe0dd0b3cf5cb1d028baebad7e47d6bf1d2a954 SHA512 0a908e98ce60d7799985dbe757d877c884407ce5b1cdccaeebedd8c2d334c8a88603aa79dc4d589d6b9c960187a6ff2678f0dc8b9051c303e815bf41ee668329
+DIST firefox-130.0.1-ja.xpi 685869 BLAKE2B d64cb8eae144d29a7e7e76a30f406947eeb4444678fa95959317f8cfc6e8e6b53406aecf295151b2e3e0ea65790adbbba355804356c2be95cb8402edb6f68e17 SHA512 f1bdb6afe03f67ddfee4ec1cf191afc295f0f7e6a87a5dba1c7412f28f11c8fc9ed2cd3636ca50bed3381c05364484aea0d3875a28a209d7b212f45a271d7a0e
+DIST firefox-130.0.1-ka.xpi 664728 BLAKE2B 24ee42b6ac463a7351cd97b0fea19185e113cfc2f0b2fd11222d05ed9333e4172d16665a3fa96da4c23a6b3a56d658bd3600566c908ff57963f5b2709a3431e9 SHA512 398786088c12a0807202da09fd9d9e864ce4dd95db948dc0c153db938cb06af169e228ede57d2c39b67674cd34fda0153ad426b8eb13100e7d7f6f26aacad3db
+DIST firefox-130.0.1-kab.xpi 615475 BLAKE2B 6ec29037e455a60373bfd62abcd94019cec2e857c97e779a47104d132ab4d9cc15953314fa8eb85489291d4cb03a67dff754041d0a094e232395798501b5e993 SHA512 5970491521d32ba812d389a6b07a88945377ea87383e08dffbf162a0ec87eb2238385a95cea3ad31595c446b89768826e9dbeba8ca46b55145a87c600dff7ad1
+DIST firefox-130.0.1-kk.xpi 718488 BLAKE2B 45bef13c6422fab51bf0ee18aafbc26b9c8dc01e114fa9fc7ede4ad46f2e97f09f4bd7b6205ba091fdde8cf1d381fa6a0c4989c09c4cfb9e1b796a658fbee5fc SHA512 c7f096f9643f2e2d320169702611d112337120d45aa746cc7699225e4a7e8a2b49d9793c2be14afedf36ba8f79d980d9f45d0948f2cef513c69a5ae52433272b
+DIST firefox-130.0.1-km.xpi 529324 BLAKE2B ee887ef84881457d801fb337ab753baa960dac673d905eb452d00b9581942f83fa91107e15d9324c42c32ccad4bbf6b78c3e3d49dd2cbb5242daa8f472a0a0bb SHA512 f25e765b7d3cc9063821a2eb774a627a6fa7e715aa4c7c9e4f14e33696b98009285eeed7bf7bd27315395eedee01685d6117b86519d8b6ef96a4945584e0c462
+DIST firefox-130.0.1-kn.xpi 494336 BLAKE2B 3c2cfd4547c59b03bee49c9aa8518468d6426ae09e991f3d554737a3bd5b58a11ef8a2bade9de4cb34ca172ba75735f3b1cac3b866e886d16c96796a2b0d3744 SHA512 976198d040a4a35fa1d0f31bc73ac80ebefffc5c48c7b413e34f215fbfc6208f4a5a58fef1ea0cb71cb760c74c3e4dd19e3b472ebde3db478562c5acb562f74f
+DIST firefox-130.0.1-ko.xpi 671540 BLAKE2B e03b83a81b092f8cd0211f234da2d45268c85010fe285143b527c50d235652d237d3a7095ab30cc1043764dccd1738af985b6d34a34e2340ff46d01b28bce3f2 SHA512 224db5cf002393fac509551f3530bf8e2ccfb376319646123da746f71d581004c212bdb80def2b7bacc50656130628aff30561b739d29c0a71ba007de7a54127
+DIST firefox-130.0.1-lij.xpi 487639 BLAKE2B 50353111353c5f1a7e561762f26f84824f30a4a3f2870a3aba6e0a299febfd6e51182fc3bcc0cd346591d94706b4708d30aecf39c2cd8ac7eb2b41d3f051466b SHA512 b107a9d578bd599a8558a4696e9c8c414931195b97de6f7f13f191d5cc8a38f72590a0340a5d061b9fad3551c60ad87bbe3cc32cf6e4b3d5da00a522625ff2e2
+DIST firefox-130.0.1-lt.xpi 576379 BLAKE2B 964e3af4fcc5c16973a48d61676800ede6e61277b3b7a663b3f148220e0d322a24c3afe53a0fe3b7027d0f06fab14667f85abfdd0bde7230a1883fe0832f8e76 SHA512 a358a5aaea988fa4821d19e0cdefce9ef31c1a1045ce779d0e1791d02e945b9ebf6f9fb1d366f30edd5bd0268add9c2f6a5b1afe5a996a74927db0b0766a4815
+DIST firefox-130.0.1-lv.xpi 589133 BLAKE2B 9c3dc434c8d762922dcf0f95cec0bf5d7abcb68523d3cbc611b031a2b436740c816bca96bc3b1659698e9f0334cb9892dca3779799f8f39f74bb27a2c9d51faa SHA512 cec8b52df22e0405524cef46f4865ee56c837d55fff264f836fb0c39d1140eb9850682ac799a6a6b7f86a895df63df73744fefe7a8ccc21018ea7b6fd82e7f9f
+DIST firefox-130.0.1-mk.xpi 496957 BLAKE2B f4826d63f30b898e7a6c1d717e17e25ae5cce009f1630b536dc53067278d2bd9d27cc1e065f252cfa53f25439b543ce39e6d90aff9ed9da4b5e2b2f8a370dc48 SHA512 2e10c7f142a3bf8e9f0235d5f0abaffdb0a317db3b810ddf476cc079acc424343cf143cf5dabb44c44a766c9fb3462a32a70151039d25dc8ab856450e408d12e
+DIST firefox-130.0.1-mr.xpi 535455 BLAKE2B a045e69d4402a77f5452cedf445712a8fa178945a67bff2eef23a6f9c0fe9e2b99058fdcf62b0a2721f306254465e35da76ba977e535ad888b6db5c289ff9c9e SHA512 cf2475d5e51b278a37e9475c5e17432b9e054a4f115023d32d187e51ce6832940130bb37c9811a62030022589e5edc27857b827681c9f1db52f60a33d02210b9
+DIST firefox-130.0.1-ms.xpi 453253 BLAKE2B e423c978e20dd247b936cb4ae3ecbf5b4cea0a4f5df67b37c0c81b5571db673c1aff8b94265a95cc2cfd1fb274f8a2eab09e38d5878244ee04529e7c57d14787 SHA512 645a572e06bbd4e351ea8e4b1fbeeb806c3e2c2432df3670d6cbf215781154153f06ea5d16dda9200373eefcbd98fa74a3eeea0f79fd8e2b3d147b84ffacfa80
+DIST firefox-130.0.1-my.xpi 521877 BLAKE2B e310ca67f56d604987524cafc8eb4cadda5d527e7e9a5403671b36d014500cb6603f41b6c3541a8211fee70500b52fb1c4fac0c1378bcc2dc14f382b905db480 SHA512 7fbb800aa2e76fb2a0d5c60dc1d66cb60a8b232b9c1c8ff862e744a55963942901f36be661ef0a0ed0e72d9d07f259fab3eec057ab8f4271ab7c1716763928f3
+DIST firefox-130.0.1-nb-NO.xpi 615479 BLAKE2B 59f08a15e7357ad6e792da2d314ea1df4024a3d4296e517c62d65b05a268bf20bc124f05973f15b7a75749c05ed8bb34d132017fc50dd3f8427b10ffa54bfa91 SHA512 e1bc70f20410573d79f4d771875490532ba82bc7b079f8646258f32bc5bc81e4e91181d377efbf54fc72317122d05ae7b0b5f6cca89982341638651e8b70de68
+DIST firefox-130.0.1-ne-NP.xpi 517912 BLAKE2B d2ca2a2b6ace34acabe22af4012f46241a0697001c6ac67b4d1507531c36963c7432a979ba193b2f5ce408c8efded12ba903eb487a019c777aea41dce8e6b063 SHA512 bc99cd4cfa1f2e5674961c224da23ba84d09333d96e31d7d39cac11e0d07e2b097f5dbf2561411c4c7ab30705a01a07925b24b663aebd6cf07ab6de3ce0f3c3f
+DIST firefox-130.0.1-nl.xpi 626073 BLAKE2B 83bfb345c7fc2e155cf8f275d8189f3af2b4a0a72d3ec83ead246891bf9c72caaa97582750e979028938fb62300cb7e1f8ea6a98ae3f3b895b08e2e34dcf08af SHA512 10eb6fea81e61e63087047a7175a757df9811ebdaf14468fda544e6dcf0c4dcd3300e193b66432fa0f99b68b901baa2fe1898ceac5709143f07b4515e6d41e07
+DIST firefox-130.0.1-nn-NO.xpi 619763 BLAKE2B 50319ef57c82e2e3e33d5d81fe73ce9247545dbd5bb0990911ce90a8d71bcff0204660b3e8c455cf18ec2db5fa42d5ef6713492c47ff988f13c82ae8c04c1760 SHA512 e165dd7f40a5063fd23b3357fa0c8ba6237f3069f60adba79a26f200a47b24ec763428ae2f75a3cd78d8f065464985ae959b6f353b185bc0dce06ce633920330
+DIST firefox-130.0.1-oc.xpi 616652 BLAKE2B cd8fdfc08bbe011ec8d64f43b08eae8047d0746d7b28a13215bcf99261617d515f2ad403d5b713f306ddb70c6ce3188ebb98f67e365be104f987e2962ac820c3 SHA512 e56aef552d57539f0cb73977c1d8455f3c7d69123529c0865b77aa0a7b9827e57dd8f55843608a91feb4697ea61fe205ede021e6f92b7621bb7cb95c1763dc98
+DIST firefox-130.0.1-pa-IN.xpi 700431 BLAKE2B 22fc9750c0358932547988e1a361a4cd49d19542776243988f2fa5dd8a46ee12ec4cf6afecbb804eb5ed8ed315a0f598beabbe603b3eea478e1f1abd9ee16747 SHA512 94f0ab1f59d141cc513fee4c1d9ce2f91301fec3f72204c11b1b317bc0cd72666b4a0325ab3b35f623753514adf13d2cadee4ffb2220d65eb38478534d6d716f
+DIST firefox-130.0.1-pl.xpi 646170 BLAKE2B 7bb120b89df819babfab48483cd10d3a41eefa7eb61af4cb1ae1aa3f4d03981773bf5bb3ebf1de41a99598bfa533bd1d73a7343a5f0885c756f8bcb0e1ea9400 SHA512 8ed0658be7a860aa82c003b55724b403029fed21f7c5408002394de9706593ec8e6d6f91c62641335eace1eb8f21034107e72963e16f923e9225dddd3998e006
+DIST firefox-130.0.1-pt-BR.xpi 631641 BLAKE2B 65264c72450f54cfa77acdc782493c0137b51bf0a2a4b2fa911593617c3517882a448964956294db2de4a82714a4c29b9b3510bc822baeb90fe59c1f2a528352 SHA512 fe85923a8430e8c93aad8dfc1954b3a5fdf04d63fd6acf4e717bc93c24274650b30d16260046beb34962e98f5777c4d70b0ed061df1ad41889e17d1bf98d7b91
+DIST firefox-130.0.1-pt-PT.xpi 638062 BLAKE2B 230be97b41f30d2987a0bc46876de69e7f2b2ebfaef80cb481740b8b8807c05b34df72ba124ca2850800f1e20730cb1e29cfd62700939208dd90d894e0ab95fc SHA512 5eb7aeb3b3d548e63df0dc80602a765d65aeddef2e83837ae97684b3aa11cb092f7ad46e2dc6f7011eaedcd9088a93c8bd0b6cf692ea807fa39e07c778f448d0
+DIST firefox-130.0.1-rm.xpi 621692 BLAKE2B 9c876ed450284515454a74a6e656b0469d910f5b46d6d69a48dc03c4284318849631975c8138bca35d5700f8ae4b908f14ff0336f4a7faabee6d346921f2fd67 SHA512 5425eca8e174c4b7c3f9b6c404ac22bcd63c422e30e25bd9327dec5c53e4ccd6ecd1edd9cdc8b4c1972104ba1f84d42a27369968bee4aab3a6b2b4de20ce7f78
+DIST firefox-130.0.1-ro.xpi 553441 BLAKE2B f13f5fff3f7c440ae60dfe217d8b9e32839303d283c97fe66efe85a28e7d6f82e8dfe6fc1301b3c1e8d3ae25f87b9ac5e2545a7f2aa59da905bc73cae84e7eb5 SHA512 a522932f6f2d302e356fdb40dd3a0a9fff026f61a9a9d2c67adad8b877398cdea1c0caf3814022f489e78113c986f7f1c05e2d7ece36cdcb32aec22d4c178f74
+DIST firefox-130.0.1-ru.xpi 731301 BLAKE2B 4559638bfd7680452d09b4befafc140ecf7148211fae1d56ce34bca0ee9350ed8d6bbbababaf95e4db61b219e1be0698411b5889f85ecfc02f1494567dbafd66 SHA512 63be4f5f63b8aa8c5b1321be88786be694e76d479dc480914209d06a4d11486808a91066f34659e10e6eb9f86fbef038917e0a35ddef06bb17fc8704140ab44f
+DIST firefox-130.0.1-sc.xpi 593207 BLAKE2B 89edd099213495e02fd2b96095eefed7a2a50c58a795681f1305c72a02cacd7117f7beb2c7bc314ca87e6273acb5a8da1bff641f40964c653e827e62789cd995 SHA512 eb9e5bec7e15ae67546119fda55307258290805fe1af409b86627a1b520dc71fedccef48b4cd7f1c8971a5bf138c920b8862f6ddd539068b8caf5c208efb5235
+DIST firefox-130.0.1-sco.xpi 514791 BLAKE2B 7ae309d3d3be073a07d77cca728cfc3d898301b117f44996c6e52a75317ef829d927946b62f7d0803535e2fd73b04f2dfef8433b9332adbd8a6765e63aecac4c SHA512 58f02c270ee230633b3136b36a139c21e14cacaf5439d6d164f1866a54710538126462c3b9ab0a59acc692b8e79d760a204bd5496ab3348341da5e519fb212b9
+DIST firefox-130.0.1-si.xpi 616775 BLAKE2B da0365b8ce1657224fdafb610a80ada4cf01b60450be04f1024f11b90fc19c4e5c2adbdc2497bea3edae168b0e48eb0d4e6501a47aca92b9ffbd3d5992f99ce7 SHA512 a4a43c8fb0c2d2db1d8368ab87375e87c0ab9479d851c973299b78aa7d1f6c2f82a23153ecc4c45187eaa5df86ac779c28cf0a34d9433831052e90a74ac6bcaf
+DIST firefox-130.0.1-sk.xpi 662597 BLAKE2B 8278c841a47dcde9cfecfe34a85f3fa8e1727b1a9f5c0d66f0e8865dea93ee0be253adf9e2a05bfdeecfe1f9d660b7720b02d08bc00bd1fba5e01c43198af6bf SHA512 9514e40a5592989eed8cf4914fda963f03b01db6dbe650a98944113934bcde04bc64d4854038d72766d2aa88fc2054112874d63456e9f7416680e6a082c17d50
+DIST firefox-130.0.1-skr.xpi 716708 BLAKE2B 28cf1ac8bc85e284a9039aa2af08ef2632709776e6a33a1ee6b934e0d7149274acde8c5e058dbbb3533c33fb5eb816930d61dd181bd5106fae8a4e383703afe3 SHA512 6156765233fa22710574de5709da456a0f259a9f76f27b4688f2825369b4495d9f110db533f858fdff9e958362fb738e01a851c55bfc0e9a4ce6d5df94de4cb7
+DIST firefox-130.0.1-sl.xpi 626603 BLAKE2B 9795beacadac0eb925702d7ccfaa8908b98607cfdfd2aa2668049faf6fb4a95d49bf63b63a8e9856586d0494b7b7a51f6c0e973024a796b760416b7e3649abfc SHA512 f7880aba4b609ec64b91535461e6c394466902acfee123d8775a1ba5e74e498adee032b2a6948588717226e7adc9e5da5f7fabbe420b104f423e6fc32c52e932
+DIST firefox-130.0.1-son.xpi 419751 BLAKE2B 0676cd8fbdeb810faf29739a551eda771627a00d86df4033fb1e4b8ae0a84397021f1774e7a560d085bfa87778050c1d80276145f065ae612803a4ae1f52d1f3 SHA512 783d4e3998aafd70cb477018ff51c0387f7e6799347e3d5c9be72ebbb30de141c382b96dbda0fdfffe8fc90599b745dcdf57063ee2cd5d020a55f89d11f9d725
+DIST firefox-130.0.1-sq.xpi 641273 BLAKE2B 1ce5960d609774d7ea81f310a8e155b30c95e0d546f24e6ec88f71afece0d716515af8b2780897356216fa6e06187f2deda2c88850d35c83384c93efa83e6561 SHA512 1b95267151ae75a08f0573aec725eac6daa174c601c461a26826f717ae41bdf1e2b9f7bb6f85afb91d808df0dada6acfbc92ddf0c7b8872bfc2558f4d9eae212
+DIST firefox-130.0.1-sr.xpi 643277 BLAKE2B 6068e52ead9e94f8a4645578da428b2fda54b406c942c1565d3893738dd15a4a7e8a3c5517e3e2bdc922d877e0383b39477ff9159443f22311729e6c0f9ad18e SHA512 65e6ce5c8db9966c747d07584744cb92c8b809314912d0026f70c3e52ead8aaf772b9cd293264d6e97378d6fb6263a1a8f8abc54f726b8455cec8bdcfee268f9
+DIST firefox-130.0.1-sv-SE.xpi 628341 BLAKE2B 8dc9630a99f3c2537ae8a6a302014630a6a6ec2600e9109698514c558a4f00ea2d0023d0dfd9f65baeac7bb768f3f20c5dbafe360bf06bcd344af6564e053f92 SHA512 cbbe26ba6794445b3c71c9fef9a291dec8972db5d3ead8d599646565b85c2c23d4cc058a76e184e918f0136da4820a5d08cb25a9022a6f1db3b7769f2caa305f
+DIST firefox-130.0.1-szl.xpi 529951 BLAKE2B 1b4c7cd3c4ff1b76a008e30af494acecdadad05fd6dad39898f60f141ddcb6b51fa42e74d8b422a565f841f6f2269df2db1aabbc69a08b74e71b28322f7ee90f SHA512 f7b80e043e7dde3d86eaf62c71db0a4e93291ba73c51a46fbe261a119da2efde095301c9b07c4b88549bb8ef8fd675d906bf72b1951187a49c07c04b89f5f6de
+DIST firefox-130.0.1-ta.xpi 510633 BLAKE2B c6c912d0dbd2afc736fb37613c0aa0900a97e0110d1b18f1fcf17119aa93072b90dc10db7c9f6e9ecdfa35487aac506a8ec8ff094552bb0c224b95d2e6ee2d5d SHA512 e4e3722e552a77e83d610542594156fec2ef1d82d9a018f0e705f7bbf29baf0edc1be633903bd32d38ee0b302f2de5aa95c3e81ddbc501f6bc554d11044faa52
+DIST firefox-130.0.1-te.xpi 564564 BLAKE2B 04a91227c5b8e143a61be167ac9b42b6fb87117442f31a3768882d84bcb2dd2886694c656d1fc7b8a86dae0a73f6339730a799aa788c8703d2d2f4ad7b78899d SHA512 19d98999e6e66b60045fa749a4a6a99a1c1ef4ec8fa08aa141335f451c0d632e23d6daa1825f3844b10decb7e9e891c61393d90044a9c80e4123238f0ecbb63e
+DIST firefox-130.0.1-th.xpi 701825 BLAKE2B ba6cbf6c86f28d561841d44ec0ad132694258721fc5e82a8b3bc4172432eccc81faede575d11fcfaa688a0606fddeeaca0d873faf961c4ec180aeef66fbcccbb SHA512 10f7cb6a5a3df079aebc3aecd9ddd7b9df8018b626c112f0343080121c38a49f5c0242dc6259d98b1f41fcb40bb0d29d65d2f18b0a26c2209d9cc7266f1edecb
+DIST firefox-130.0.1-tl.xpi 537792 BLAKE2B efd3e6fae426e5b11ea95536ad430dd826545f864b7d3f6e5fc430733f94072f5b54e60d2b0c44ab47c708fd8283bbd821cf90f5b2918b35cf3c0a1d1cd50f89 SHA512 c5916ff68f53a515cc8bf75bbdd09941dc23d3843de851df88b9529872d392c0aaaaf1daca4b0eb080737ccedb1ad00b624bb8e36fc3ac543cb6a21714ddbc43
+DIST firefox-130.0.1-tr.xpi 641716 BLAKE2B b2219d1751bc340a98715c139335d1631970dbdc827d2f4b546c8b7d9eb6e9f5b7b8442449346826634895b3916698f2ed2da47d9dc78efec9961bd71ae3cd4a SHA512 136f2c66fd0d1dab5d6583759c4bec65e9eed4b46990b50a45e498271bdb085c959387a392a49d90733f69c5f5ee751b02d82f436966ec12b75f0e8d9ba60f45
+DIST firefox-130.0.1-trs.xpi 507742 BLAKE2B d7d3409856a152cf49b0444ca4ea63c5e0caabda66a0642ae108e868914954f2cbfad0d0740457b514f55e89422eb66b6df959c5f0de8b2743366d6935245e65 SHA512 9157fa5e7f22ab98308cc0b27c55b3a964a98de98bf3b70e228fe5152456c39552c9a273310d0b4ce4882c462b377e0ed2df8ee36733abdba57b8d07f5e09ba7
+DIST firefox-130.0.1-uk.xpi 714785 BLAKE2B a09677f81de8162f0838f72e85c46eab804daf2300371c74f23428778c98e6faf862a473f69c8976d32d761d3bf61954017910f90814ad1e16d85b866b7a934a SHA512 2d7a36a9cc04c7ea579ea1304ffc24293b7ccf3cc449c1874320c08c4186087ee0949e4ac9b7d14cec95a838bbcb5b25c6f19986cf1a1eb6af192cf6ed4cf014
+DIST firefox-130.0.1-ur.xpi 563626 BLAKE2B b4436ab964892f80e19645b947de35ac02abb49acd66eccad1247cc0bbc80acea992ae81052a1a229834dfa16abd5c489a83d9c03b96ef627eeebf7876667c83 SHA512 60aef5196f542b8c61f348081cd3b74386d0ae2c049b3937e596cd2dee97aa8c6b51fdce2ba5d13ab4ae4470673246fdc54a2f6f850ca968f536a97106214ef4
+DIST firefox-130.0.1-uz.xpi 482286 BLAKE2B ecf879c2c7e429306cf63cb873de262068878d82a2803da15a9bbe2a8e3eb85f3b31ff09b12c3b2fd9a86a1cab4ee835be1572bd342686177e681785ee204a78 SHA512 284f2eaa80511301e8ccf49ba5f76bb272d07f9352f07959dc92631684f59e4b84e6ff251d41663aedb9676dd00edf54f95b04b42bd28350878d93870af8b4a8
+DIST firefox-130.0.1-vi.xpi 666090 BLAKE2B e7e53f6c7db79a793d09f3759c085c91470b95bba7d33c8993c96ed1639ee2a22defaf41a6c02e50a23a6abd54c2210c8bb9841674c57b979f51c541b758d73a SHA512 756985027fd07194f94b0539dd58d6b66b896bfa8b3201594ba87bc6e3bdb09b794962e1e0f20e2a77c2f96cb3d5ab8125273062812cf435cb47603e5e790571
+DIST firefox-130.0.1-xh.xpi 420491 BLAKE2B 2bf9207de33261efd8f5515bfadc7e02b58043f9b5dd369999214e1a3045ba38c5017d0fbdedb8f7332f0e1a996c09f139a33c8ef75d7d3b0db1fa67ae4577ad SHA512 5f2b1cb7eff89ec6758b18805b2c24397374c29b8ebbc571ba85501cff1ef00633d1aa55befdea36733c57b5c474e6fce6a887b026d1d29f93f6b14424f9149c
+DIST firefox-130.0.1-zh-CN.xpi 667372 BLAKE2B 66ee8d30614ce9c37e2db50c8c033b301c3b0cbd97a52d694af8456b8c15f6b080a8d1354e03ce6137635c0b248d4ca171d412413df16e2d07904702f0bd95d9 SHA512 38f2c470ee5e6d36d2b9ad758f5692c32134323e79588b3f3b47b5ead4bcf44bbfc82605e7ce222cc5f58daeabcf8d49c78cabbc7ddef7075dfdfc7cb2f5f562
+DIST firefox-130.0.1-zh-TW.xpi 669294 BLAKE2B 4bfe797d28c7406464406a6a6297227bb05e327a885a8960496c1740aa8787c88bcf04c48feaf3772e87a51f79ddd25f3896262e5cf91eccf52f3cd578dc794b SHA512 034ce10936ed67f20aebb15d7179ac479755a828598a8972f5b4fe6fb61b8677330fe73047add6b7ff24cdd555e3fe4e82c27793663dba604ebe2c4c4376d1d8
+DIST firefox-130.0.1.source.tar.xz 566583020 BLAKE2B 2d6496a4f476a5a276b70de43f5d58ce2a44007b754e05fcf757d4c1a1cdfcab910493f48e6a6e608b9719ab73cf56c066de56a4abc08ca42e83aa76f4f80c38 SHA512 163d1ce9f671a4716686955c43ff23d9f200f6c52dfdabcbb93af6a326c24aa5096404f42447b02b5a3ad02e2f60d17271783638fe027d24865aebb3e70e97fe
DIST firefox-130.0.source.tar.xz 568295588 BLAKE2B 9c7dfc43145e442d60f6971806848e4ecd0145713e31105da6bd13a82a50655f5c4095beff4d61505e26e188b60f49b16dc17fb42dc03a9fb9ef509a7010b0ab SHA512 d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40
diff --git a/www-client/firefox/firefox-130.0.1.ebuild b/www-client/firefox/firefox-130.0.1.ebuild
new file mode 100644
index 000000000000..602f370e132a
--- /dev/null
+++ b/www-client/firefox/firefox-130.0.1.ebuild
@@ -0,0 +1,1370 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-130-patches-04.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto"
+IUSE+=" openh264 pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu"
+IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell"
+
+# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random compile crashes with gcc.
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ !jumbo-build? ( clang )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ clang? (
+ sys-devel/lld:${LLVM_SLOT}
+ virtual/rust:0/llvm-${LLVM_SLOT}
+ )
+ pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.76 )
+ !elibc_glibc? ( dev-lang/rust )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.103
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm-r1_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # LTO is handled via configure
+ filter-lto
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index 0a1c00aa4a83..3e6b9d214d7b 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1 +1 @@
-DIST google-chrome-beta_129.0.6668.29-1_amd64.deb 111901672 BLAKE2B 741989b7e94e76749cbf107530ac9b7bd0596095853d8ec39eaf4532c3f20f9daf4a22a03ee7dfc9c2a145ec9dcfe382af968bbb4888ff7a48a6eb514f77de45 SHA512 4b67f3b00c90d777226128a4df8fed91d9125c5f14234557e94a053d5b384bf6714b778b0e2cfd06810bc02a6c15940d76ee92d823bacf4479c886dc7c82fb31
+DIST google-chrome-beta_129.0.6668.42-1_amd64.deb 111925504 BLAKE2B 12ac4e642da5af1b571f7062a734a13063a08557b51087bc4a92272e9d57ab91a083dfbebdddb1b7a1983e949f033ed4d1d7d393d819f2114bbdf7f883d5f8d0 SHA512 2c37992ed218c8b1018197a4491a405f7753e583f70a38b781a5a75c19de1da78842ea7e6eade0ad0fe18b6c685151fd19562c618067ad66dc4afb6a6d8932d8
diff --git a/www-client/google-chrome-beta/google-chrome-beta-129.0.6668.29.ebuild b/www-client/google-chrome-beta/google-chrome-beta-129.0.6668.42.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-129.0.6668.29.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-129.0.6668.42.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index 67cda3d757f3..fbf67db6a5a6 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1 +1 @@
-DIST google-chrome-unstable_130.0.6699.3-1_amd64.deb 114126496 BLAKE2B d98bcdeacd532fa40dbf3076da7fde055e551dd85560839c789dee3bc7582b8ec86cd593026b233e68fdcd61ee5ab7ad409ab096035648b4808abbc6840f6dfe SHA512 2453fff151b7afcf04d9ec9f9ce978c46da49365502b030bfc05246ff6efc207d47e16dfcf5d6c3a811758613c1afb6cf75ab6fbd044cb4b9bc399fae256325e
+DIST google-chrome-unstable_130.0.6710.0-1_amd64.deb 114280168 BLAKE2B 040b582aae7800ead1704171feb1403d40a07c11141c851950a28c404e0348b57c13d4ea293d3504bfd112bdc213a1c1cc32859518c244d940847521846b8b65 SHA512 8d87d24942c6f4586e8c48723ee56225fda7c92a75388d60069848797b86392f6388ba2014035859e0a12e5555e59b208f77e8f5357908f19f4f1cc9665007ef
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-130.0.6699.3.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-130.0.6710.0.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-130.0.6699.3.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-130.0.6710.0.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 234949b45078..38cee8a7b42d 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1 +1 @@
-DIST google-chrome-stable_128.0.6613.137-1_amd64.deb 110722184 BLAKE2B 111266b9e4b410ac5caf5920db1cb22d442370a734952f870158f6279576ff0399bcef6ef9afb256546cd1023b5d8c142974c3ac6d25171daff0b7d6fff83121 SHA512 4a0cb6e5b24419600bec5ff750d5590f0d6ac30eaa21f006e6f1895f98c3ebf8535cc441576ddc7992302bcc66c81f840800a73932bfd89a9a8053542a83b207
+DIST google-chrome-stable_129.0.6668.58-1_amd64.deb 111913828 BLAKE2B 10cb2e84d7f580f823e1af3663e312226d55da2b028a011355c562a6fbf5662bb9384455e1da09bf95de989023e6c7918939c745b6ce96d197f56c90162971b3 SHA512 0390461517d166c2a884be6cabd707edaa636f55d9e87f1352b4fa984aceabacb5bf4b35128d73532196cb98a267c80faa88fa569bacdb4cf820142f0cab5564
diff --git a/www-client/google-chrome/google-chrome-128.0.6613.137.ebuild b/www-client/google-chrome/google-chrome-129.0.6668.58.ebuild
index a6673ff33b80..a6673ff33b80 100644
--- a/www-client/google-chrome/google-chrome-128.0.6613.137.ebuild
+++ b/www-client/google-chrome/google-chrome-129.0.6668.58.ebuild
diff --git a/www-client/lynx/Manifest b/www-client/lynx/Manifest
index 26bb57d01cbd..e8807f84081a 100644
--- a/www-client/lynx/Manifest
+++ b/www-client/lynx/Manifest
@@ -2,3 +2,5 @@ DIST lynx2.9.0.tar.bz2 2781819 BLAKE2B 4380d46f28254bda241daae81c2072cd987cdbb4f
DIST lynx2.9.0.tar.bz2.asc 729 BLAKE2B 3221a794194554bd7b6fa577e9455a034802de715e93a9b0046ec4d9e367f0bf3a92b5780a7026c2a4a10cab8076d63964fe02f09bafea4f8fab08b27e3c7f6a SHA512 f08e46bf960a54656045d0874a3dd9811511589147bfe764efce43f87eb62d4a3e448b31edad60a485fc51f57d27dc0b87aae9df2e4dce5fbd9dea2f776a8f5d
DIST lynx2.9.0dev.12.tar.bz2 2762036 BLAKE2B 93bf762271b0419be73b11066b68dcf65e59f4eb1a5c221f0482bc0cad5e88e1cc83eb24c4c40316c37183c37db1178985d4478a2659c9e1b8322e8b6a4c6ff0 SHA512 9dd85d335a0b2c4c28f362cbcbe6499662696286fcc78e827bfafe2787d4a7fcd3faec78a115df8c14ea6e4314a5ea272f5b6353cb13224ecaebb61ae271701b
DIST lynx2.9.0dev.12.tar.bz2.asc 729 BLAKE2B 0e24df945b714acafc17974a908ca0246e4e4f506416cdb4fedb50a0b081fb87ac2b5e272fc27bbb1eee0aeef69ebb99b75583184e434e017b0edae3d9bde4d8 SHA512 fecfcbbf41f83285019a93b59d3ee38263aa0b8fc03914d41af1f9f3f77e1e376c8c686754d3e1a777d6aa853b4f3cfdca5d2a4ffa2ab3fe6ae4952e61a22e16
+DIST lynx2.9.2.tar.bz2 2783769 BLAKE2B 875ac952e956071b1dfeb61fb5848a8a6435931d3ca1fbeef00e95e14d8510641b0b81683c7e2097c13c6cd6431e8b4243c47c5f983829af1a63140673794c23 SHA512 bb9ed23a5f8664ca8bccd95cc55683849aa707f601e209d84e0acaed151b78cd772316f527881022ff120049c4fc586c05d579f9d616a2b108d9ddfaa5b2159d
+DIST lynx2.9.2.tar.bz2.asc 729 BLAKE2B fe8c3dd2a851a20363ab7e9ec498889965b9bb0f7f41cee3a84e451c630f2ec20c6255edd7f49bdc919612a92173755e991b9b13d7fde0d46274a8a6b0fa786c SHA512 2ec01cfa0928806837fdb4d499467e97c1ea90b62789015a7cf7c3ea60ee0eb3422c3cf88bb40f758560a85dfa2301e930ce20096a4f00038662951a1a5254ab
diff --git a/www-client/lynx/lynx-2.9.2.ebuild b/www-client/lynx/lynx-2.9.2.ebuild
new file mode 100644
index 000000000000..20e210342dd4
--- /dev/null
+++ b/www-client/lynx/lynx-2.9.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+case ${PV} in
+ *_pre*) MY_P="${PN}${PV/_pre/dev.}" ;;
+ *_rc*) MY_P="${PN}${PV/_rc/pre.}" ;;
+ *_p*|*) MY_P="${PN}${PV/_p/rel.}" ;;
+esac
+
+DESCRIPTION="An excellent console-based web browser with ssl support"
+HOMEPAGE="https://lynx.invisible-island.net/"
+SRC_URI="https://invisible-island.net/archives/lynx/tarballs/${MY_P}.tar.bz2"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/lynx/tarballs/${MY_P}.tar.bz2.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="brotli bzip2 cjk gnutls idn nls ssl"
+
+RDEPEND="
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/zlib
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2 )
+ idn? ( net-dns/libidn2:= )
+ nls? ( virtual/libintl )
+ ssl? (
+ !gnutls? (
+ dev-libs/openssl:=
+ )
+ gnutls? (
+ dev-libs/libgcrypt:=
+ >=net-libs/gnutls-2.6.4:=
+ )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.9.0-mint.patch"
+ "${FILESDIR}/${PN}-2.9.0-parallel.patch"
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ arc4random # missing on musl but it handles it fine
+ arc4random_push # doesn't exist on Linux
+)
+
+src_configure() {
+ local myconf=(
+ --enable-cgi-links
+ --enable-color-style
+ --enable-externs
+ --enable-file-upload
+ --enable-included-msgs
+ --enable-ipv6
+ --enable-nested-tables
+ --enable-nsl-fork
+ --enable-persistent-cookies
+ --enable-prettysrc
+ --enable-read-eta
+ --enable-scrollbar
+ --with-screen=ncursesw
+ --with-zlib
+ $(use_enable cjk)
+ $(use_enable idn idna)
+ $(use_enable nls)
+ $(use_with brotli)
+ $(use_with bzip2 bzlib)
+ )
+
+ if use ssl; then
+ myconf+=(
+ --with-$(usex gnutls gnutls ssl)="${EPREFIX}/usr"
+ )
+ fi
+
+ econf "${myconf[@]}"
+
+ # Compared to openssl gnutls-openssl API does not use
+ # default trust store: bug #604526.
+ sed -e \
+ "s|#define SSL_CERT_FILE NULL|#define SSL_CERT_FILE \"${EPREFIX}/etc/ssl/certs/ca-certificates.crt\"|" \
+ -i userdefs.h || die
+}
+
+src_compile() {
+ # generating translation files in parallel is currently broken
+ use nls && emake -C po -j1
+ emake
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ sed -i "s|^HELPFILE.*$|HELPFILE:file://localhost/usr/share/doc/${PF}/lynx_help/lynx_help_main.html|" \
+ "${ED}"/etc/lynx.cfg || die "lynx.cfg not found"
+ sed -i '/^#CHARACTER_SET:/ c\CHARACTER_SET:utf-8' \
+ "${ED}"/etc/lynx.cfg || die "lynx.cfg not found"
+
+ dodoc CHANGES COPYHEADER PROBLEMS README
+ dodoc -r docs lynx_help
+}
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 7fa3a59bd8ef..fbf0dc59e1aa 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-beta_129.0.2792.12-1_amd64.deb 166721510 BLAKE2B 8a05caeaac967228ee7f871f637ed4369b1b7c90a058297027d82b08d1eafb60ffbcb50c39cb65aa93c1f2831bbc3850e26e856b849f01c8221257d5f4495e9c SHA512 5a979b069b1f616dd18c1be38602beb6c65d603c93cf65081a7daebf0387834f2c59ce4a5925afdadd14bb343e6399466040ff0162141e4e974409c7e4363ffe
DIST microsoft-edge-beta_129.0.2792.21-1_amd64.deb 166634742 BLAKE2B e3b075b67a26d3975d521419934ac6fe7b3e63a88820a08a7f0ee57fd03c5cab21d3bfdbe80376d4538dd255ae2a37d9bf3a388622670f69172b6575351238d2 SHA512 181dfacb96d68ca2ecf6d5d2fd1275b1710531154bcfc64bda31d8167869b0777686f3c9af18d573e2e54e7f86abb7ec374386e8db0439117c76233561f5ca5c
DIST microsoft-edge-beta_129.0.2792.31-1_amd64.deb 166681842 BLAKE2B 0069c61fe70d4f0c3faa970acd317aced034ad0fed6719bc4c969d14121b04878eb82708a8995107add2f4047aff9ddf0641e104b04f93c452918adc0a9f14d4 SHA512 085f99e59cf717ec4cfa02458e28f2adc22142e52ed49cb2c0686fb57ed6fa385fe443812873531766f24f3f205ca732a321105060b69351afa9b0f0cedf5ec4
+DIST microsoft-edge-beta_129.0.2792.41-1_amd64.deb 167024278 BLAKE2B fb4b55da84d2c6ad15725b46e9cb661cacfe78f05f6e154c21986a35858f4b5a281c5e58553f95b3b1ff50d2866e39fe61de5ad5318ac3448cf67bea5bb3e50c SHA512 9726312337b393edf5c182ae271268f5cc6cea437ffb709474364f387aeb7979da5b9e41aa9835e49bad164398afb7bb57dcbd5df8ba8fdf0ac071059d3a0094
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.12.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.41.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.12.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-129.0.2792.41.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index d3321b00f2ca..87ef968c3341 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-dev_129.0.2779.0-1_amd64.deb 166674210 BLAKE2B 823abb1ac3185b7edcaa7a09ffca39bfc4f39763588288b93e23d2b7a9acc38643ebe779fcf5260cedc1611db8f6dda9fe72f11248ad4e493e44f60c3f695103 SHA512 732436bc2a35b5370ac821fa8be6b9c700868cc8fd3f85de58c71e684736548e38fc94b5cd85f10a99fe76d4ac7c62ad9cf84d05508346654b6f677acc5f9425
DIST microsoft-edge-dev_129.0.2792.10-1_amd64.deb 166670918 BLAKE2B 1ec9a34a09d45bf872277bc8ae76cc234e5c1d3475721cce8d1ca25f76dfeb53318a92f7d5d488f3770c9000e478480d35a7ad4624f9332c4f871dbc1efee6eb SHA512 5a475bb721660719afbf172162de7d1859685c4121f93658f4fffa388d9408f83566b4b5eba56f08f35f022c8149a188e3425b9e9ffb772baa8a2ecaefdebaa4
DIST microsoft-edge-dev_130.0.2808.0-1_amd64.deb 166622694 BLAKE2B 610b566acdb45abb0c30bb914150498f4f28999aca8aef1a8cac692b007144b686a8c3099828b4cd43fbae7d99731d14f8bcc4ed17519f6a38147fc3ad715207 SHA512 66728a246f758185ae5d7a32b9a69628720d29d6d1064893834bc800330950cc534994363cb9e5372bafd1376842c0e6932b57cf7c6b63563bc4f084666300e1
+DIST microsoft-edge-dev_130.0.2821.1-1_amd64.deb 166688778 BLAKE2B 71091c4800f203a41ed7c2d74c014d0cae6e800df51f90f38a75394b0a8636f0e302b609e8834cf94beccd4440d0646beaefb36045cb906e4c3230af9305b54f SHA512 ec4ef73e251baa8f2e386a808238565fdd0553cea6e57a87c97783329080590740b5426d22e4bd94ddb37025da487e53e0c840de8b71168e3c0cda5beabd2288
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-129.0.2779.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-130.0.2821.1.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-129.0.2779.0.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-130.0.2821.1.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 679e0661e9da..99eeafeb49ac 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1 +1 @@
-DIST microsoft-edge-stable_128.0.2739.67-1_amd64.deb 166720198 BLAKE2B a60c87b25712a04640cb29dc6dabf0951e11874c956997fed42283c2bc684485520aba13218644eb410aabac596fc247f4306bb73ce3222a576f28d57d776b8e SHA512 37af66d65b0999bce821f64b08d25bba657f3ef12d12f358aa850859b482146d5c2e6dfa41a7683df70a65cc1b952bd91a0b62d7a70cb2eeb25fe2aff9040f8c
+DIST microsoft-edge-stable_128.0.2739.79-1_amd64.deb 166752518 BLAKE2B 96ed5ed4fdc82a56ce465b926044f29fea1f27476372eb06bce09338fd6b6f827e9e314bb6db65c9e04a8fd2e31647d49988ff1445795645965c892ced6a7617 SHA512 55cff09d85f4ec646fd826a213fc5a174d7734ad28cdd042c46a5800decba50e07962b4a0232c86086a60a7731e574b07ea0ca0fe70ec866f4a8938c652937df
diff --git a/www-client/microsoft-edge/microsoft-edge-128.0.2739.67.ebuild b/www-client/microsoft-edge/microsoft-edge-128.0.2739.79.ebuild
index 7ea339bd40f9..7ea339bd40f9 100644
--- a/www-client/microsoft-edge/microsoft-edge-128.0.2739.67.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-128.0.2739.79.ebuild
diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest
index 73a381e744e3..483e63c1577d 100644
--- a/www-client/opera-beta/Manifest
+++ b/www-client/opera-beta/Manifest
@@ -1 +1,2 @@
DIST opera-beta_113.0.5230.26_amd64.deb 112625452 BLAKE2B ebcdfb139de9c2eb31fd10502f077012838affec9fc5f29a4b77a5b80b42ed88c27280923818719bdc15b086d0cfc464b5b449837fca4f5bf2b925bc8b8e736a SHA512 eeb53b60426bfbe2a4fac95faedbc99b4032c94aa097551f93f965d62682f2edc589fcff23204d5dce00e228ae4a02e8f130166c134b79f94a557fbb1d139959
+DIST opera-beta_114.0.5282.12_amd64.deb 114383976 BLAKE2B 5fa655e5fb52f49f527bba9a49be628dab30d60df9c04d064342359f080000615d5d579acff709d92bfe4ebcb3c357b23960e7f0de08258f6fddcf8dc915d087 SHA512 462da804c81130658e546f442baa4be2ee71f6d1ee95ddd591795ea1f32e4657657437ad456c124117b686dfb155ea7d8a16d40a4663a7234499640c7b50a8b6
diff --git a/www-client/opera-beta/opera-beta-114.0.5282.12.ebuild b/www-client/opera-beta/opera-beta-114.0.5282.12.ebuild
new file mode 100644
index 000000000000..803a7b7c4565
--- /dev/null
+++ b/www-client/opera-beta/opera-beta-114.0.5282.12.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id
+ it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi
+ zh-CN zh-TW
+"
+
+# These are intended for ebuild maintainer use to force RPM if DEB is not available.
+: ${OPERA_FORCE_RPM=no}
+
+inherit chromium-2 pax-utils xdg
+
+if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ inherit rpm
+ OPERA_ARCHIVE_EXT="rpm"
+else
+ inherit unpacker
+ OPERA_ARCHIVE_EXT="deb"
+fi
+
+DESCRIPTION="A fast and secure web browser"
+HOMEPAGE="https://www.opera.com/"
+
+SRC_URI_BASE=(
+ "https://download1.operacdn.com/pub/${PN}"
+ "https://download2.operacdn.com/pub/${PN}"
+ "https://download3.operacdn.com/pub/${PN}"
+ "https://download4.operacdn.com/pub/${PN}"
+)
+
+if [[ ${PN} == opera ]]; then
+ MY_PN=${PN}-stable
+ SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" )
+else
+ MY_PN=${PN}
+fi
+
+# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
+# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
+# Does not need to be updated for every new version of Opera, only when it breaks
+CHROMIUM_VERSION="128"
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
+S=${WORKDIR}
+
+LICENSE="OPERA-2018"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ gnome-base/gsettings-desktop-schemas
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-misc/curl
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango
+ proprietary-codecs? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[X]
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+OPERA_HOME="opt/opera${PN#opera}"
+
+pkg_pretend() {
+ # Protect against people using autounmask overzealously
+ use amd64 || die "opera only works on amd64"
+}
+
+pkg_setup() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ dodir /
+ cd "${ED}" || die
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ rpm_src_unpack "${A[0]}"
+ else
+ unpacker
+ fi
+
+ # move to /opt, bug #573052
+ mkdir -p "${OPERA_HOME%${PN}}"
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die
+ else
+ mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die
+ fi
+ rm -r "usr/lib" || die
+
+ # disable auto update
+ rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die
+
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ rm "${OPERA_HOME}/setup_repo.sh" || die
+ else
+ rm -r "usr/share/lintian" || die
+
+ # fix docs
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+ gzip -d usr/share/doc/${PF}/changelog.gz || die
+ fi
+
+ # fix desktop file
+ sed -i \
+ -e 's|^TargetEnvironment|X-&|g' \
+ usr/share/applications/${PN}.desktop || die
+
+ # remove unused language packs
+ pushd "${OPERA_HOME}/localization" > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ # setup opera symlink
+ rm "usr/bin/${PN}" || die
+ dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}"
+
+ # install proprietary codecs
+ rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
+ if use proprietary-codecs; then
+ dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+ /${OPERA_HOME}/libffmpeg.so
+ fi
+
+ if ! use qt5; then
+ rm "${OPERA_HOME}/libqt5_shim.so" || die
+ fi
+ if ! use qt6; then
+ rm "${OPERA_HOME}/libqt6_shim.so" || die
+ fi
+
+ # pax mark opera, bug #562038
+ pax-mark m "${OPERA_HOME}/opera"
+ # enable suid sandbox if requested
+ use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox"
+}
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index bb8e96857842..1803f07447c0 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1 +1 @@
-DIST opera-stable_113.0.5230.62_amd64.deb 113034752 BLAKE2B b12d2b900b74df9a872cb0e563254d9640bbde0e1c8a1fab6538e4dbfeec4ec3448fa8c0b4474bc54c4232aed0f63c4fee2a1ce434c8e2c7647a89773d0fbc99 SHA512 5f0365aaf7acbb9de69e24e27d53a6a984fc65560e6adf97959ede1c9f32d2a142d91db23552350c071827ba84b293779e255f919265ad6f8c5f24da5d537744
+DIST opera-stable_113.0.5230.86_amd64.deb 113046868 BLAKE2B 32789cfc780986dce67ccf2685ada75d0f71e004bad230b4c1548e34ade321ec67198a4949189f89dec3d89dc9bcf991b37ecdf71d2ac4f2f33b3034aa3a2e28 SHA512 60ce6966566720035e00042de73659bb33e3642779bfe951fb0a1f5bb7c1bc3c1789e16c471817fc6f3095fef46711b08849521a74ec593fb964accff504c42b
diff --git a/www-client/opera/opera-113.0.5230.62.ebuild b/www-client/opera/opera-113.0.5230.86.ebuild
index 3b649d9dff1d..3b649d9dff1d 100644
--- a/www-client/opera/opera-113.0.5230.62.ebuild
+++ b/www-client/opera/opera-113.0.5230.86.ebuild
diff --git a/www-plugins/chrome-binary-plugins/Manifest b/www-plugins/chrome-binary-plugins/Manifest
index 086bcc5490ed..44aef0216c88 100644
--- a/www-plugins/chrome-binary-plugins/Manifest
+++ b/www-plugins/chrome-binary-plugins/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_129.0.6668.29-1_amd64.deb 111901672 BLAKE2B 741989b7e94e76749cbf107530ac9b7bd0596095853d8ec39eaf4532c3f20f9daf4a22a03ee7dfc9c2a145ec9dcfe382af968bbb4888ff7a48a6eb514f77de45 SHA512 4b67f3b00c90d777226128a4df8fed91d9125c5f14234557e94a053d5b384bf6714b778b0e2cfd06810bc02a6c15940d76ee92d823bacf4479c886dc7c82fb31
-DIST google-chrome-stable_128.0.6613.137-1_amd64.deb 110722184 BLAKE2B 111266b9e4b410ac5caf5920db1cb22d442370a734952f870158f6279576ff0399bcef6ef9afb256546cd1023b5d8c142974c3ac6d25171daff0b7d6fff83121 SHA512 4a0cb6e5b24419600bec5ff750d5590f0d6ac30eaa21f006e6f1895f98c3ebf8535cc441576ddc7992302bcc66c81f840800a73932bfd89a9a8053542a83b207
-DIST google-chrome-unstable_130.0.6699.3-1_amd64.deb 114126496 BLAKE2B d98bcdeacd532fa40dbf3076da7fde055e551dd85560839c789dee3bc7582b8ec86cd593026b233e68fdcd61ee5ab7ad409ab096035648b4808abbc6840f6dfe SHA512 2453fff151b7afcf04d9ec9f9ce978c46da49365502b030bfc05246ff6efc207d47e16dfcf5d6c3a811758613c1afb6cf75ab6fbd044cb4b9bc399fae256325e
+DIST google-chrome-beta_129.0.6668.42-1_amd64.deb 111925504 BLAKE2B 12ac4e642da5af1b571f7062a734a13063a08557b51087bc4a92272e9d57ab91a083dfbebdddb1b7a1983e949f033ed4d1d7d393d819f2114bbdf7f883d5f8d0 SHA512 2c37992ed218c8b1018197a4491a405f7753e583f70a38b781a5a75c19de1da78842ea7e6eade0ad0fe18b6c685151fd19562c618067ad66dc4afb6a6d8932d8
+DIST google-chrome-stable_129.0.6668.58-1_amd64.deb 111913828 BLAKE2B 10cb2e84d7f580f823e1af3663e312226d55da2b028a011355c562a6fbf5662bb9384455e1da09bf95de989023e6c7918939c745b6ce96d197f56c90162971b3 SHA512 0390461517d166c2a884be6cabd707edaa636f55d9e87f1352b4fa984aceabacb5bf4b35128d73532196cb98a267c80faa88fa569bacdb4cf820142f0cab5564
+DIST google-chrome-unstable_130.0.6710.0-1_amd64.deb 114280168 BLAKE2B 040b582aae7800ead1704171feb1403d40a07c11141c851950a28c404e0348b57c13d4ea293d3504bfd112bdc213a1c1cc32859518c244d940847521846b8b65 SHA512 8d87d24942c6f4586e8c48723ee56225fda7c92a75388d60069848797b86392f6388ba2014035859e0a12e5555e59b208f77e8f5357908f19f4f1cc9665007ef
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.29_beta.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.42_beta.ebuild
index 3dabec912ba2..3dabec912ba2 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.29_beta.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.42_beta.ebuild
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-128.0.6613.137.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.58.ebuild
index 01e48ea7c665..01e48ea7c665 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-128.0.6613.137.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-129.0.6668.58.ebuild
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6699.3_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6710.0_alpha.ebuild
index 3dabec912ba2..3dabec912ba2 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6699.3_alpha.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-130.0.6710.0_alpha.ebuild
diff --git a/www-plugins/passff-host/Manifest b/www-plugins/passff-host/Manifest
index 67b1d77bd8f1..c6dba1f43879 100644
--- a/www-plugins/passff-host/Manifest
+++ b/www-plugins/passff-host/Manifest
@@ -1,4 +1,2 @@
-DIST passff-host-1.2.3.json 176 BLAKE2B 8eddc19cd0c072d25afff5cfa86a95d960ae7b986727099a04a1d983b887922f9ad77e940a2c80e0838a169afe81fa3f6529a901998bb98a6750ac888a09c264 SHA512 e4a4b90fb5323c6dbec339b9e67a7d546c6d7a95754fe03b3a4d96396c28de1caba3068b4e936ee0ce0997f865c8b5e53a3da1fb34f0123a04c5889302c28911
-DIST passff-host-1.2.3.py 3691 BLAKE2B 428573d2493f9ff8ef1dc6c8971508a05afa1bef7e06831462106e8daa98c9bedf63489e6630ff9c441ef981164656932c404ffd47e12a2e1e77a55c3ec4955e SHA512 be01e5ed3974bc0967e0dd102593ea8b4f62a5b4ca3f8f2fa2743f9abb4118334cfd27ecd595ce31dd079831614ebf8d91c5b504ad5ead067c245b921d756ceb
DIST passff-host-1.2.4.json 176 BLAKE2B 8eddc19cd0c072d25afff5cfa86a95d960ae7b986727099a04a1d983b887922f9ad77e940a2c80e0838a169afe81fa3f6529a901998bb98a6750ac888a09c264 SHA512 e4a4b90fb5323c6dbec339b9e67a7d546c6d7a95754fe03b3a4d96396c28de1caba3068b4e936ee0ce0997f865c8b5e53a3da1fb34f0123a04c5889302c28911
DIST passff-host-1.2.4.py 4427 BLAKE2B 495947577f9ee7b2e02e42e5200d29896c63234f33dd3576b9d19fb986ac9419685f39c6bfd061fcc3754ab386030a62b08147b0967a6f49ac2be79268ea8e5a SHA512 ddc14a634f5ae33d3dd8db211fbea0e7728eb8fec8bca366b1860f0d92abc019556c1e3643fbcf85e92cbfbe99a4a67dda0c1d9c5651d20676fdd63b3635ffaa
diff --git a/www-plugins/passff-host/passff-host-1.2.3-r1.ebuild b/www-plugins/passff-host/passff-host-1.2.3-r1.ebuild
deleted file mode 100644
index 833c60452afa..000000000000
--- a/www-plugins/passff-host/passff-host-1.2.3-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2018-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-single-r1
-
-DESCRIPTION="Host app for the PassFF WebExtension"
-HOMEPAGE="https://github.com/passff/passff-host"
-
-SRC_URI="
- https://github.com/passff/passff-host/releases/download/${PV}/passff.py -> ${P}.py
- https://github.com/passff/passff-host/releases/download/${PV}/passff.json -> ${P}.json
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~x86"
-IUSE="chrome chromium +firefox vivaldi"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( chrome chromium firefox vivaldi )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- app-crypt/pinentry
-"
-
-S="${WORKDIR}"
-
-src_unpack() {
- cp "${DISTDIR}/${P}.json" . || die
- cp "${DISTDIR}/${P}.py" . || die
-}
-
-src_prepare() {
- default
- python_fix_shebang "${P}.py"
-}
-
-src_install() {
- local target_dirs=()
-
- use chrome && target_dirs+=( "/etc/opt/chrome/native-messaging-hosts" )
- use chromium && target_dirs+=( "/etc/chromium/native-messaging-hosts" )
- use firefox && target_dirs+=( "/usr/$(get_libdir)/mozilla/native-messaging-hosts" )
- # www-client/firefox-bin compile-time dir is under /usr/lib/
- use firefox && target_dirs+=( "/usr/lib/mozilla/native-messaging-hosts" )
- use vivaldi && target_dirs+=( "/etc/vivaldi/native-messaging-hosts" )
-
- for target_dir in "${target_dirs[@]}"; do
- sed "s;PLACEHOLDER;${target_dir}/passff.py;g" "${P}.json" > "passff.json" || die
-
- insinto "${target_dir}"
- doins passff.json
- exeinto "${target_dir}"
- newexe "${P}.py" passff.py
- done
-}
-
-pkg_postinst() {
- elog "Make sure to use graphical version of pinentry for ${PN} to work properly"
- elog "Run 'eselect pinentry list'"
- elog "And select 'pinentry-qt5' or 'pinentry-gnome'. efl might work too."
-}
diff --git a/www-servers/fnord/fnord-1.11-r2.ebuild b/www-servers/fnord/fnord-1.11-r2.ebuild
deleted file mode 100644
index f458bde99dc3..000000000000
--- a/www-servers/fnord/fnord-1.11-r2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Yet another small httpd"
-HOMEPAGE="http://www.fefe.de/fnord/"
-SRC_URI="http://www.fefe.de/fnord/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~riscv sparc x86"
-IUSE="auth"
-
-RDEPEND="
- acct-group/nofiles
- acct-user/fnord
- acct-user/fnordlog
- sys-apps/ucspi-tcp
- virtual/daemontools
-"
-
-DOCS=( TODO README README.auth SPEED CHANGES )
-
-PATCHES=( "${FILESDIR}/${PN}"-1.10-gentoo.diff )
-
-src_compile() {
- # Fix for bug #45716
- use sparc && replace-sparc64-flags
- use auth && append-flags -DAUTH
-
- emake DIET="" CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
-}
-
-src_install() {
- dobin fnord-conf fnord
- einstalldocs
-}
diff --git a/www-servers/fnord/fnord-1.11-r3.ebuild b/www-servers/fnord/fnord-1.11-r3.ebuild
index 45aa8d0b571d..f433e4d75938 100644
--- a/www-servers/fnord/fnord-1.11-r3.ebuild
+++ b/www-servers/fnord/fnord-1.11-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,8 +6,8 @@ EAPI=7
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Yet another small httpd"
-HOMEPAGE="http://www.fefe.de/fnord/"
-SRC_URI="http://www.fefe.de/fnord/${P}.tar.bz2"
+HOMEPAGE="https://www.fefe.de/fnord/"
+SRC_URI="https://www.fefe.de/fnord/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/www-servers/nginx-unit/Manifest b/www-servers/nginx-unit/Manifest
index e75053821d80..b2f5bb93a8f9 100644
--- a/www-servers/nginx-unit/Manifest
+++ b/www-servers/nginx-unit/Manifest
@@ -1 +1,2 @@
DIST nginx-unit-1.32.1.tar.gz 937669 BLAKE2B ea3110dcc8ab95bc04fee891ade5fd19b069d6ef29da8c6aa6784fba87c9a8dd07ce0f4374b01696080097fd338839bd9819cded0461681673dadb4fa85b1207 SHA512 159b36f7afb8857188c9b64ee192e18d6990da3733caafcfb684b98e3f5182a7589ed2439f32af0cd3c763a3fa73f061f5a73ef01894182b1c12a4cd324c528a
+DIST nginx-unit-1.33.0.tar.gz 1025455 BLAKE2B d17c02def260c325284c807b51c44b23bfe72b2be52bb98909b33e0f904cf833b1b254a5679ac0482fa0b3f4e4e1964017819bc05b3f7ea7ce18029d6ea9d68d SHA512 c0b2a7e8ede3fc11b52c6c44d7460c52e35dfed9b9ae6cfb5bd90c24859f601bc462626aa68a24191689bb5406250d391428c06641d84e3cf1d8615e7485fb93
diff --git a/www-servers/nginx-unit/nginx-unit-1.33.0.ebuild b/www-servers/nginx-unit/nginx-unit-1.33.0.ebuild
new file mode 100644
index 000000000000..03dfb25af77e
--- /dev/null
+++ b/www-servers/nginx-unit/nginx-unit-1.33.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic python-single-r1 systemd toolchain-funcs
+
+MY_P="unit-${PV}"
+DESCRIPTION="Dynamic web and application server"
+HOMEPAGE="https://unit.nginx.org"
+SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+MY_USE="perl python ruby"
+MY_USE_PHP="php8-1 php8-2"
+IUSE="${MY_USE} ${MY_USE_PHP} perl ssl"
+REQUIRED_USE="|| ( ${IUSE} )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="perl? ( dev-lang/perl:= )
+ php8-1? ( dev-lang/php:8.1[embed] )
+ php8-2? ( dev-lang/php:8.2[embed] )
+ python? ( ${PYTHON_DEPS} )
+ ruby? (
+ dev-lang/ruby:=
+ dev-ruby/rubygems:=
+ )
+ ssl? ( dev-libs/openssl:0= )
+ virtual/libcrypt:0="
+RDEPEND="${DEPEND}
+ acct-user/nginx-unit
+ acct-group/nginx-unit"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply_user
+ sed -i '/^CFLAGS/d' auto/make || die
+ default
+}
+
+src_configure() {
+ local opt=(
+ --control=unix:/run/${PN}.sock
+ --log=/var/log/${PN}
+ --modules=/usr/$(get_libdir)/${PN}
+ --pid=/run/${PN}.pid
+ --prefix=/usr
+ --state=/var/lib/${PN}
+ --user=${PN}
+ --group=${PN}
+ )
+
+ use ssl && opt+=( --openssl )
+ export AR="$(tc-getAR)"
+ export CC="$(tc-getCC)"
+ ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed"
+
+ # Modules require position-independent code
+ append-cflags $(test-flags-CC -fPIC)
+
+ for flag in ${MY_USE} ; do
+ if use ${flag} ; then
+ ./configure ${flag} || die "Module configuration failed: ${flag}"
+ fi
+ done
+
+ for flag in ${MY_USE_PHP} ; do
+ if use ${flag} ; then
+ local php_slot="/usr/$(get_libdir)/${flag/-/.}"
+ ./configure php \
+ --module=${flag} \
+ --config=${php_slot}/bin/php-config \
+ --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}"
+ fi
+ done
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ echo "1"
+ echo "D is ${D}"
+ emake DESTDIR="${D}/" perl-install
+ fi
+
+ rm -rf "${ED}"/usr/var
+
+ diropts -m 0770
+ keepdir /var/lib/${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}"/nginx-unit.confd nginx-unit
+ systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
+}
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index 98c0e12a363c..14306b75a931 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -1,8 +1,8 @@
DIST apache-tomcat-10.1.28-src.tar.gz 6330343 BLAKE2B 0472035a9577683c7efa6a2ada4cf97c031a4df7c1678185b56da4dcb66d50516b72769aaeac6cfa8831097044b408b9fcab9c4b47fc7a21a86acf5c5cd83568 SHA512 fd69a7068fdfb89ceb2e71f64c7a9c17c54a4ebe65d7ea9936df266630073c6fb7412903a028fce4c465b1f46abb15d13c46fb408668dd937fa7f6bba4a75df6
DIST apache-tomcat-10.1.28-src.tar.gz.asc 833 BLAKE2B ae94b9f7d3b413e6209215edbf5453e5f90acd975d30a036797a628981560363af2d5da88f82af7114f2032157177151bb25d8cc046c032129bb22ae95e716c2 SHA512 a7ed73b51f78b2bb1461f28ed4b12516b77a5c65c3484269a8c889f111df14e81901cfda17831ba1b964b1d0acf717ae48386eea733255ad12df9e2b46ae2806
-DIST apache-tomcat-10.1.29-src.tar.gz 6321636 BLAKE2B 5d3bee8eeb8748edfaebd51f70025de85abeb42bcc1748f7b3cbef5bed4e6fde20f49439ff573f36e605ef307e4062a1d9243e7b1cb375ad8f67bfb947b99c30 SHA512 11dbbc2420043a71cf1a174e0066bf3fb6d0df07e87fa5a76769b899af357ed1065b379986e122a6c63d1cdd9890e793a18c6a31793b6f2707950398d0ebada2
-DIST apache-tomcat-10.1.29-src.tar.gz.asc 833 BLAKE2B 638afbd5cbf35040388a712e5369e546da361e4b43983204a4b5e1341e6665b558d288c067bdd916411d42724482078340eeef03a1ebf35115d3e998ebb59aa1 SHA512 108bd120997f407a776ad3ac7b6b2aeb4e17c4c44ca5cf75f3505f6ef8a3141203210099d2c01ad2387ebbed95f0f81865c687e6746161a508de8a0b1745b322
+DIST apache-tomcat-10.1.30-src.tar.gz 6924092 BLAKE2B ef1473ba50e7916691e10dc53345b76707a60c9809edab6202ec9daacc18066e713319fb25e341606124fd840148223fc63e52dd6970de6fc570d03cf87d1b17 SHA512 df26414d934e02797d1133ae9bcc110f9c3ef835de2d416c914e9c37872d4224a89b246942db57c6f85beb3c5686a7ff7a9e60d586349848913379de3211419b
+DIST apache-tomcat-10.1.30-src.tar.gz.asc 833 BLAKE2B d12710695f14d662f2e8a410ef4fac63db7fbd1086ac5d9175aadf94a0cee7bfb1b21347aa0e6fa9f64a94ee282efc62b46115a343141d75193ffccb8ef0553e SHA512 1e959b29fa706c6cb1130b27863a3b51e105153eea5f14961058c3f65bb2d93eaba6a7b0b37380e5d8a84610986f423a3a548a8e1940254fc30dfc4f05ecaa9c
DIST apache-tomcat-9.0.93-src.tar.gz 6472760 BLAKE2B 85e7da7eca0ac2a6d73b92b7eec73808309399513f326809e5f9343177cca6c8cf321489f6f1bae86426d626f5afda10f844bc77792d05cfdc8ccefb60d51d2a SHA512 015be491867f05ab39d1d39899fc5434516bd613b0a45e87a066fb4a6a1b5d9e2973ed370bfca86acacd55a45d6acd6354523a199a422bf506d864d43f6ddeac
DIST apache-tomcat-9.0.93-src.tar.gz.asc 833 BLAKE2B 93f12701716013d17c4b3dc9b18713274fd1ad0f4455c3ef1bd9469920fc337f8f75784b961a8b83de90da28aff5b9e6e6a12cfc9aa217f9af4826fc6ee51871 SHA512 90977bc66413f1962cc1a00e645718e0f9cec93295110c29685df6cd62602994d142b6909087d7eece05b28fae5194d2c9a42c12027e6cb6e82c177d1fcd4f51
-DIST apache-tomcat-9.0.94-src.tar.gz 6463031 BLAKE2B 4c2e43418c073ab41fc566157b7d8a4dd6134c58f4dfc247b6ccf09c165d350b3741c43cfc619d60b5d8d0837d7774d886ae223f7208663354098bba1bec0bb8 SHA512 d731f4e8693326d5d9641a06ae77de9ef94088ffa0ddfdf52bcec3f5bc22c3139008750cefb156a078de0bb60d84131c3953305499a3bd912763b9a1c49504f6
-DIST apache-tomcat-9.0.94-src.tar.gz.asc 833 BLAKE2B bf413914af1deec7bddb2544d857674509abd5d09f0c2a66e28cbe1d81440ccf3676635b837b3035c77a516480da00ea85ef9de38edd18c0bf5c48e5906c86b7 SHA512 a46770cca1fc5d5d9af59f4dfc772a3b97c5908698f3d44590fce7811ec37d57ddcf251c2c96b1144583c94e2ca0a517c28bdd46800c804689740d9840063a36
+DIST apache-tomcat-9.0.95-src.tar.gz 7066563 BLAKE2B 9d00ad14c8bdbd9f63d9a9dc1651a36430eee09ebeb6c0b313802236544243866d75d7ca33544bcc8e9cdf4d3f636b9ccd8f754ea3212fe1c221b292d8a74984 SHA512 8ab69edd3761f2be112dbef9047cf331ad4d5ff8feb83dc35bebcdc1384853ed33313cc152f38f0604629d94e32a5eaf242a1dda8e7b04b9442dc03eb6b3b7db
+DIST apache-tomcat-9.0.95-src.tar.gz.asc 833 BLAKE2B 51dcbb097426b7678296926690da9b18f617962a207eeaa3b6f9744dd285f3aa33b21da52573e066d536724e85c702dfde9995b674d79c47b48d8e29e09c3ebd SHA512 441ce2923fc5ae1d1fde9b3ee9de8eb0867528094f62cdc02fa7117a40523cbd16e81a5b815e40db02f85e9bed20ebee41115d87a4652ab5b7375e777e93ce16
diff --git a/www-servers/tomcat/tomcat-10.1.29.ebuild b/www-servers/tomcat/tomcat-10.1.30.ebuild
index 1c4d65ce7969..1c4d65ce7969 100644
--- a/www-servers/tomcat/tomcat-10.1.29.ebuild
+++ b/www-servers/tomcat/tomcat-10.1.30.ebuild
diff --git a/www-servers/tomcat/tomcat-9.0.94.ebuild b/www-servers/tomcat/tomcat-9.0.95.ebuild
index 14e23d60b567..14e23d60b567 100644
--- a/www-servers/tomcat/tomcat-9.0.94.ebuild
+++ b/www-servers/tomcat/tomcat-9.0.95.ebuild
diff --git a/www-servers/xsp/Manifest b/www-servers/xsp/Manifest
index 14d54fe58540..02afb57cad8a 100644
--- a/www-servers/xsp/Manifest
+++ b/www-servers/xsp/Manifest
@@ -1,2 +1 @@
-DIST xsp-3.8_p2014120900.tar.gz 307722 BLAKE2B a6c7723e41490022ea969961f93fa3cb5b5eb583edd6ad1ef40dc38adc29cc9c0de16b7da5e98074b0848cdb7cce1e4c5e0298dc6f7f71d6a5c5e542a662005e SHA512 bf7a8cbeda330be98eb6fb1942ca9d6d8107ceabfb47db36d4b9b1f9d99afb329bad7737a4c9bfbf3ac205e9499dd58b2aa1cf7dfd83e41ee50b3820b05d4596
DIST xsp-4.7.1.tar.gz 307143 BLAKE2B f8a3a09d644d567728e6462df553ff52fdbd17e974dc25aeebd011e7b6c22ef76be69cc49acfd1cdd9edbd30728ce6b7ef5f33ecda50653db219863b17442b36 SHA512 f106b073bc17ae8fafcffdf2f0db7284f36b62b648fd79321a0de7f5ed15085a9116deccf464e72b3e6f5daf8d65d0a6a3d55c1b275546a4762fa3236bd58e2b
diff --git a/www-servers/xsp/files/2.2/mod-mono-server.initd b/www-servers/xsp/files/2.2/mod-mono-server.initd
deleted file mode 100644
index fb1c44935e09..000000000000
--- a/www-servers/xsp/files/2.2/mod-mono-server.initd
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- use net
- after dotnet
-}
-
-start() {
- [ -z "$MonoServerRootDir" ] && \
- MonoServerRootDir="/usr/lib/xsp/test"
- [ -z "$MonoApplications" ] && \
- MonoApplications="/mono:/usr/lib/xsp/test,/:."
- [ -z "$UnixSocketFileName" ] && \
- UnixSocketFileName="/tmp/mod_mono_server"
- [ -z "$MonoServerAddress" ] && \
- MonoServerAddress=127.0.0.1
- [ -z "$MonoServerPort" ] && \
- MonoServerPort=8080
- [ -z "$MonoServerVersion" ] && \
- MonoServerVersion=1
-
- MONO_SERVER_OPTS="--root ${MonoServerRootDir} \
---applications ${MonoApplications} --nonstop"
-
- [ -n "$MonoApplicationsConfigDir" ] && \
- MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
---appconfigdir ${MonoApplicationsConfigDir}"
-
- case "$MonoServerChannel" in
- "tcp" )
- MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
---address ${MonoServerAddress} --port ${MonoServerPort}"
- ;;
-
- "unix" )
- [ -f "$UnixSocketFileName" ] && rm -f $UnixSocketFileName
- MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
---filename ${UnixSocketFileName}"
- ;;
-
- * )
- eerror "Please set a valid value for MonoServerChannel"
- return 1
- ;;
- esac
-
- if [ ${MonoServerVersion} -eq 1 ]; then
- modmonoserverpath=1.0/mod-mono-server.exe
- elif [ ${MonoServerVersion} -eq 2 ]; then
- modmonoserverpath=2.0/mod-mono-server2.exe
- else
- eerror "MonoServerVersion was not properly set. Check your /etc/conf.d/xsp"
- return 1
- fi
-
- export MONO_SHARED_DIR=/tmp
-
- ebegin "Starting mod-mono-server"
-
- start-stop-daemon --quiet --start \
- --background \
- --make-pidfile \
- --pidfile /var/run/aspnet/mod-mono-server.pid \
- --chuid aspnet \
- --exec /usr/bin/mono /usr/lib/mono/${modmonoserverpath} \
- -- $MONO_SERVER_OPTS
-
- eend $?
-}
-
-stop() {
- ebegin "Stopping mod-mono-server"
-
- start-stop-daemon -o --quiet --stop \
- --pidfile /var/run/aspnet/mod-mono-server.pid
-
- eend $?
-}
diff --git a/www-servers/xsp/xsp-3.8_p2014120900-r1.ebuild b/www-servers/xsp/xsp-4.7.1-r2.ebuild
index 5a2a1649d828..8a89773c5328 100644
--- a/www-servers/xsp/xsp-3.8_p2014120900-r1.ebuild
+++ b/www-servers/xsp/xsp-4.7.1-r2.ebuild
@@ -3,21 +3,17 @@
EAPI=7
-# TODO: We can probably yank the USE_DOTNET/dotnet.eclass stuff
-# but let's be conservative for now
USE_DOTNET="net35 net40 net45"
inherit autotools dotnet systemd
-EGIT_COMMIT="e272a2c006211b6b03be2ef5bbb9e3f8fefd0768"
DESCRIPTION="XSP is a small web server that can host ASP.NET pages"
-HOMEPAGE="https://www.mono-project.com/ASP.NET"
-SRC_URI="https://github.com/mono/xsp/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/xsp-${EGIT_COMMIT}"
+HOMEPAGE="https://www.mono-project.com/ASP.NET/"
+SRC_URI="https://github.com/mono/xsp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="developer doc test"
+IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="dev-db/sqlite:3"
@@ -47,25 +43,14 @@ src_prepare() {
src_configure() {
local myeconfargs=(
- "--enable-maintainer-mode"
+ --enable-maintainer-mode
+ $(use_with test unit-tests)
+ $(use_enable doc docs)
)
- use test && myeconfargs+=( "--with_unit_tests" )
- use doc || myeconfargs+=( "--disable-docs" )
-
econf "${myeconfargs[@]}"
}
-#src_compile() {
-# exbuild xsp.sln
-
-# if use developer ; then
-# exbuild /p:DebugSymbols=True ${METAFILETOBUILD}
-# else
-# exbuild /p:DebugSymbols=False ${METAFILETOBUILD}
-# fi
-#}
-
src_install() {
default
@@ -90,6 +75,4 @@ src_install() {
#
# insinto /usr/lib/systemd/system
systemd_dounit "${FILESDIR}"/systemd/mono-xsp4.service
-
- keepdir /var/run/aspnet
}
diff --git a/x11-apps/luit/Manifest b/x11-apps/luit/Manifest
index 5dc77c681a1d..1b1845334c36 100644
--- a/x11-apps/luit/Manifest
+++ b/x11-apps/luit/Manifest
@@ -1,2 +1,4 @@
DIST luit-20240102.tgz 210935 BLAKE2B 560815d78e00ee7925b1efc43f7544b4c3d7f7d3e6a7183acaffd1d02931314a51cdead9c8631cb3dfdf2ffca5601405a01146164e1f0043ced55431833c7550 SHA512 0336fadd44fd097e7d10111c18c59725293170f8b0d3779b2b710761c74065cffe7414c576b4df587ef5b1d7794217553a5562e5c665c5a37d660cf9e26bc08e
DIST luit-20240102.tgz.asc 729 BLAKE2B d5b133c4cb12e9d17e38d48d0def4fc5533445412375511703334ddbcea3f9987a3043acd4071729e5d71fc7cfeb7c5c02ad7e0b6bb1309d60bc25d646b76997 SHA512 e4b285d147a216003537cd00dd481f4823336f7b8ca9357a561c8adb8bbfca8d584cf304683fe697d7d2713f795a94d973545a092d5d3252d904e5d22357a81e
+DIST luit-20240910.tgz 212641 BLAKE2B 8117d94a47aba72c853ea59db5bedb614c0a34811ab1d8e658983c0c9f541a53febb4633fa5fef7cd886aa463f0b496b8c05a6c2af46949c670bbd0b037d12ff SHA512 32afea5dae158eeec1b868a1d942287e7e191c3f57bf557039e510cd80c5d7f48b2c1af4161cc387c37f30578434eee7be9a98a1f6e9c0533b9037e53f2c9bc5
+DIST luit-20240910.tgz.asc 729 BLAKE2B 9bcdf051b39a3194115617d2aa8dbe490dea818f3f9d461a587676c8a415702560f265d556ec602ca02f5b763bb28abede89a0ff06f7220ba0159cbcb096cd0d SHA512 b144d95486ad25ba1c6a9d9d5c11a5f91023d9b45d9481820296ff8e10bde3593abf57e3632a07772167c13c4cb9590587968587d8de6d8bc333328202a6ba15
diff --git a/x11-apps/luit/luit-20240910.ebuild b/x11-apps/luit/luit-20240910.ebuild
new file mode 100644
index 000000000000..e8d957a5dc87
--- /dev/null
+++ b/x11-apps/luit/luit-20240910.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="Locale and ISO 2022 support for Unicode terminals"
+HOMEPAGE="https://invisible-island.net/luit/"
+SRC_URI="https://invisible-mirror.net/archives/${PN}/${P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.asc )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ sys-libs/zlib
+ virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-apps/groff
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ econf --disable-fontenc --enable-iconv
+}
diff --git a/x11-apps/mesa-progs/Manifest b/x11-apps/mesa-progs/Manifest
index 0bb6b296cda9..ec59b11faacc 100644
--- a/x11-apps/mesa-progs/Manifest
+++ b/x11-apps/mesa-progs/Manifest
@@ -1,2 +1 @@
-DIST mesa-demos-8.5.0.tar.bz2 10367517 BLAKE2B 60e9edfcfe6d28f73964b81ae4e016fdbeb45d9d6d91de71bf736c86fa6181749f2e12729c8c716f6e6f5d4e39075de131877d1f09c3e511a4338b0f44ddb6a6 SHA512 df6a7f09638ca389d6e8bc569e599dcc59c9aa280bcfb95976d83e5cd3edfe74bb3a31f0953956dc16faa540ee5b09990e3377e1341d836fc527e50ace6e60b8
DIST mesa-demos-9.0.0.tar.xz 14839368 BLAKE2B 426211886344e88616670f0da8c71385e0ab86fd7dab60c7a477b165f33d2f7bd5fd9297f1f67c78e60fed5c98ab8851c1bd4ae92a6b0b486fd158196b109eb0 SHA512 af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1
diff --git a/x11-apps/mesa-progs/files/8.5.0-Disable-things-we-don-t-want.patch b/x11-apps/mesa-progs/files/8.5.0-Disable-things-we-don-t-want.patch
deleted file mode 100644
index 666f568e461f..000000000000
--- a/x11-apps/mesa-progs/files/8.5.0-Disable-things-we-don-t-want.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From caa6f31f1032f21756ab327429702feb4381045e Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Mon, 30 May 2022 12:16:24 -0400
-Subject: [PATCH] Disable things we don't want
-
----
- meson.build | 11 +++--------
- src/egl/opengl/meson.build | 29 ----------------------------
- src/egl/opengles2/meson.build | 5 -----
- src/glad/meson.build | 17 -----------------
- src/meson.build | 2 --
- src/util/gl_wrap.h | 2 --
- src/util/meson.build | 20 -------------------
- src/xdemos/meson.build | 36 -----------------------------------
- 8 files changed, 3 insertions(+), 119 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index e1968fab..9d59c1ec 100644
---- a/meson.build
-+++ b/meson.build
-@@ -75,14 +75,7 @@ endif
-
- dep_threads = dependency('threads')
-
--dep_glu = dependency('glu', required : dep_x11.found())
--if not dep_glu.found()
-- _glu_name = 'GLU'
-- if host_machine.system() == 'windows'
-- _glu_name = 'glu32'
-- endif
-- dep_glu = cc.find_library(_glu_name, has_headers: 'GL/glu.h')
--endif
-+dep_glu = disabler()
-
- # GBM is needed for EGL on KMS
- dep_gbm = dependency('gbm', required : false, disabler : true)
-@@ -117,6 +110,8 @@ else
- )
- endif
-
-+dep_glut = disabler()
-+
- if dep_glut.found() and cc.has_function('glutInitContextProfile',
- include_directories: glut_incdir,
- prefix : '#include <GL/freeglut.h>')
-diff --git a/src/egl/opengl/meson.build b/src/egl/opengl/meson.build
-index ba7cadc3..789b25a5 100644
---- a/src/egl/opengl/meson.build
-+++ b/src/egl/opengl/meson.build
-@@ -4,41 +4,12 @@ executable(
- 'eglgears_x11', files('eglgears.c'),
- dependencies: [_deps, idep_eglut_x11]
- )
--executable(
-- 'egltri_x11', files('egltri.c'),
-- dependencies: [_deps, idep_eglut_x11]
--)
--executable(
-- 'xeglgears', files('xeglgears.c'),
-- dependencies: [_deps, dep_egl, dep_x11]
--)
--executable(
-- 'xeglthreads', files('xeglthreads.c'),
-- dependencies: [_deps, dep_x11]
--)
--
- executable(
- 'eglgears_wayland', files('eglgears.c'),
- dependencies: [_deps, idep_eglut_wayland]
- )
--executable(
-- 'egltri_wayland', files('egltri.c'),
-- dependencies: [_deps, idep_eglut_wayland]
--)
--
--executable(
-- 'eglkms', 'eglkms.c',
-- dependencies: [_deps, dep_drm, dep_gbm, dep_egl]
--)
--
- executable(
- 'eglinfo', 'eglinfo.c',
- dependencies: [dep_egl],
- install: true
- )
--
--executable(
-- 'peglgears', 'peglgears.c',
-- dependencies: [dep_gl, dep_egl, dep_m, idep_util]
--)
--
-diff --git a/src/egl/opengles2/meson.build b/src/egl/opengles2/meson.build
-index 59f69ed7..7137a961 100644
---- a/src/egl/opengles2/meson.build
-+++ b/src/egl/opengles2/meson.build
-@@ -9,11 +9,6 @@ executable(
- dependencies: [dep_gles2, idep_eglut_x11, dep_m],
- install: true
- )
--executable(
-- 'es2tri', files('es2tri.c'),
-- dependencies: [_deps_x11, dep_m],
-- install: true
--)
- executable(
- 'es2gears_wayland', files('es2gears.c'),
- dependencies: [dep_gles2, idep_eglut_wayland, dep_m],
-diff --git a/src/glad/meson.build b/src/glad/meson.build
-index 2d107609..23dacd45 100644
---- a/src/glad/meson.build
-+++ b/src/glad/meson.build
-@@ -19,20 +19,3 @@
- # SOFTWARE.
-
- inc_glad = include_directories('include')
--
--_libglad_files = files('src/glad.c')
--if host_machine.system() == 'windows'
-- _libglad_files += files('src/glad_wgl.c')
--endif
--
--_libglad = static_library(
-- 'glad',
-- _libglad_files,
-- include_directories: inc_glad
--)
--
--idep_glad = declare_dependency(
-- link_with: _libglad,
-- dependencies: dep_dl,
-- include_directories: inc_glad,
--)
-diff --git a/src/meson.build b/src/meson.build
-index 39cac78d..4d4abbf8 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -55,5 +55,3 @@ endif
- if host_machine.system() == 'windows'
- subdir('wgl')
- endif
--
--subdir('data')
-diff --git a/src/util/gl_wrap.h b/src/util/gl_wrap.h
-index b2ff9c8f..f482df5e 100644
---- a/src/util/gl_wrap.h
-+++ b/src/util/gl_wrap.h
-@@ -7,10 +7,8 @@
-
- #ifdef __APPLE__
- # include <OpenGL/gl.h>
--# include <OpenGL/glu.h>
- #else
- # include <GL/gl.h>
--# include <GL/glu.h>
- #endif
-
- #ifndef GLAPIENTRY
-diff --git a/src/util/meson.build b/src/util/meson.build
-index 9168aecf..066073cc 100644
---- a/src/util/meson.build
-+++ b/src/util/meson.build
-@@ -20,26 +20,6 @@
-
- inc_util = include_directories('.')
-
--files_libutil = files(
-- 'readtex.c',
-- 'showbuffer.c',
-- 'trackball.c',
--)
--
--_deps = []
--if dep_glut.found()
-- files_libutil += files('shaderutil.c')
-- _deps += dep_glut
--endif
--
--_libutil = static_library(
-- 'util',
-- files_libutil,
-- include_directories: inc_glad,
-- dependencies: _deps,
--)
--
- idep_util = declare_dependency(
-- link_with: _libutil,
- include_directories: inc_util,
- )
-diff --git a/src/xdemos/meson.build b/src/xdemos/meson.build
-index d6d5d5d5..ce26699f 100644
---- a/src/xdemos/meson.build
-+++ b/src/xdemos/meson.build
-@@ -21,25 +21,7 @@
- glx_deps = [dep_gl, dep_x11, dep_m]
-
- progs = [
-- 'glsync',
-- 'glxdemo',
- 'glxgears',
-- 'glxgears_pixmap',
-- 'glxcontexts',
-- 'glxheads',
-- 'glxpixmap',
-- 'glxpbdemo',
-- 'glxsnoop',
-- 'glxswapcontrol',
-- 'manywin',
-- 'multictx',
-- 'offset',
-- 'overlay',
-- 'shape',
-- 'sharedtex',
-- 'texture_from_pixmap',
-- 'wincopy',
-- 'xfont',
- ]
- foreach p : progs
- executable(
-@@ -56,23 +38,7 @@ executable(
- install: true
- )
-
--executable(
-- 'xrotfontdemo',
-- files('xrotfontdemo.c', 'xuserotfont.c'),
-- dependencies: glx_deps,
-- install: true
--)
--
--_libpbutil = static_library(
-- 'pbutil',
-- files('pbutil.c'),
-- dependencies: glx_deps
--)
--
- pbutil_progs = [
-- 'glxgears_fbconfig',
-- 'pbinfo',
-- 'pbdemo',
- ]
- foreach p : pbutil_progs
- executable(
-@@ -84,8 +50,6 @@ foreach p : pbutil_progs
- endforeach
-
- thread_progs = [
-- 'glthreads',
-- 'sharedtex_mt',
- ]
- foreach p : thread_progs
- executable(
---
-2.35.1
-
diff --git a/x11-apps/mesa-progs/mesa-progs-8.5.0.ebuild b/x11-apps/mesa-progs/mesa-progs-8.5.0.ebuild
deleted file mode 100644
index 7f0ce5664002..000000000000
--- a/x11-apps/mesa-progs/mesa-progs-8.5.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson-multilib
-
-MY_PN="${PN/progs/demos}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Mesa's OpenGL utility and demo programs (glxgears and glxinfo)"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/ https://gitlab.freedesktop.org/mesa/demos"
-if [[ ${PV} = 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/demos.git"
-else
- SRC_URI="https://mesa.freedesktop.org/archive/demos/${MY_P}.tar.bz2
- https://mesa.freedesktop.org/archive/demos/${PV}/${MY_P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
- S="${WORKDIR}/${MY_P}"
-fi
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="gles2 wayland X"
-
-RDEPEND="
- media-libs/mesa[${MULTILIB_USEDEP},egl(+),gles2?,wayland?,X?]
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- )
-"
-DEPEND="${RDEPEND}
- wayland? ( >=dev-libs/wayland-protocols-1.12 )
- X? ( x11-base/xorg-proto )
-"
-BDEPEND="
- virtual/pkgconfig
- wayland? ( dev-util/wayland-scanner )
-"
-
-PATCHES=(
- "${FILESDIR}"/8.5.0-Disable-things-we-don-t-want.patch
-)
-
-pkg_setup() {
- MULTILIB_CHOST_TOOLS+=(
- /usr/bin/eglinfo
- )
-
- use X && MULTILIB_CHOST_TOOLS+=(
- /usr/bin/glxgears
- /usr/bin/glxinfo
- )
-
- use gles2 && use X && MULTILIB_CHOST_TOOLS+=(
- /usr/bin/es2_info
- /usr/bin/es2gears_x11
- )
-
- use gles2 && use wayland && MULTILIB_CHOST_TOOLS+=(
- /usr/bin/es2gears_wayland
- )
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dlibdrm=disabled
- -Degl=enabled
- -Dgles1=disabled
- $(meson_feature gles2)
- -Dosmesa=disabled
- $(meson_feature wayland)
- $(meson_feature X x11)
- )
- meson_src_configure
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
new file mode 100644
index 000000000000..01f7e2aa1660
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
@@ -0,0 +1,134 @@
+At a glance this should(?) only be affecting fbdev=1 (default-off and
+marked experimental in nvidia.conf). Compiles fine either way given
+the test would've failed resulting in usage being skipped.
+
+NVIDIA is already aware[1] and this should be unnecessary next bumps.
+[1] https://github.com/NVIDIA/open-gpu-kernel-modules/pull/692
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -6612,2 +6612,21 @@
+
++ drm_fbdev_ttm_setup)
++ #
++ # Determine whether drm_fbdev_ttm_setup is present.
++ #
++ # Added by commit 9060d7f49376 ("drm/fb-helper: Finish the
++ # generic fbdev emulation") in v4.19.
++ #
++ CODE="
++ #include <drm/drm_fb_helper.h>
++ #if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++ #include <drm/drm_fbdev_ttm.h>
++ #endif
++ void conftest_drm_fbdev_ttm_setup(void) {
++ drm_fbdev_ttm_setup();
++ }"
++
++ compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions"
++ ;;
++
+ drm_aperture_remove_conflicting_pci_framebuffers)
+--- a/kernel/header-presence-tests.mk
++++ b/kernel/header-presence-tests.mk
+@@ -17,2 +17,3 @@
+ drm/drm_fbdev_generic.h \
++ drm/drm_fbdev_ttm.h \
+ drm/drm_framebuffer.h \
+--- a/kernel/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel/nvidia-drm/nvidia-drm-drv.c
+@@ -75,2 +75,6 @@
+
++#if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++#include <drm/drm_fbdev_ttm.h>
++#endif
++
+ #include <linux/pci.h>
+@@ -1853,3 +1857,7 @@
+ }
++#if defined(NV_DRM_FBDEV_TTM_AVAILABLE)
++ drm_fbdev_ttm_setup(dev, 32);
++#else
+ drm_fbdev_generic_setup(dev, 32);
++#endif
+ }
+--- a/kernel/nvidia-drm/nvidia-drm-os-interface.h
++++ b/kernel/nvidia-drm/nvidia-drm-os-interface.h
+@@ -60,4 +60,7 @@
+
+-#if defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
++#if (defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) || defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
+ #define NV_DRM_FBDEV_GENERIC_AVAILABLE
++#if defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)
++#define NV_DRM_FBDEV_TTM_AVAILABLE
++#endif
+ #endif
+--- a/kernel/nvidia-drm/nvidia-drm-sources.mk
++++ b/kernel/nvidia-drm/nvidia-drm-sources.mk
+@@ -69,2 +69,3 @@
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_generic_setup
++NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_ttm_setup
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_attach_hdr_output_metadata_property
+--- a/kernel-module-source/kernel-open/conftest.sh
++++ b/kernel-module-source/kernel-open/conftest.sh
+@@ -6612,2 +6612,21 @@
+
++ drm_fbdev_ttm_setup)
++ #
++ # Determine whether drm_fbdev_ttm_setup is present.
++ #
++ # Added by commit 9060d7f49376 ("drm/fb-helper: Finish the
++ # generic fbdev emulation") in v4.19.
++ #
++ CODE="
++ #include <drm/drm_fb_helper.h>
++ #if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++ #include <drm/drm_fbdev_ttm.h>
++ #endif
++ void conftest_drm_fbdev_ttm_setup(void) {
++ drm_fbdev_ttm_setup();
++ }"
++
++ compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions"
++ ;;
++
+ drm_aperture_remove_conflicting_pci_framebuffers)
+--- a/kernel-module-source/kernel-open/header-presence-tests.mk
++++ b/kernel-module-source/kernel-open/header-presence-tests.mk
+@@ -17,2 +17,3 @@
+ drm/drm_fbdev_generic.h \
++ drm/drm_fbdev_ttm.h \
+ drm/drm_framebuffer.h \
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-drv.c
+@@ -75,2 +75,6 @@
+
++#if defined(NV_DRM_DRM_FBDEV_TTM_H_PRESENT)
++#include <drm/drm_fbdev_ttm.h>
++#endif
++
+ #include <linux/pci.h>
+@@ -1853,3 +1857,7 @@
+ }
++#if defined(NV_DRM_FBDEV_TTM_AVAILABLE)
++ drm_fbdev_ttm_setup(dev, 32);
++#else
+ drm_fbdev_generic_setup(dev, 32);
++#endif
+ }
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-os-interface.h
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-os-interface.h
+@@ -60,4 +60,7 @@
+
+-#if defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
++#if (defined(NV_DRM_FBDEV_GENERIC_SETUP_PRESENT) || defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)) && defined(NV_DRM_APERTURE_REMOVE_CONFLICTING_PCI_FRAMEBUFFERS_PRESENT)
+ #define NV_DRM_FBDEV_GENERIC_AVAILABLE
++#if defined(NV_DRM_FBDEV_TTM_SETUP_PRESENT)
++#define NV_DRM_FBDEV_TTM_AVAILABLE
++#endif
+ #endif
+--- a/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-sources.mk
++++ b/kernel-module-source/kernel-open/nvidia-drm/nvidia-drm-sources.mk
+@@ -69,2 +69,3 @@
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_generic_setup
++NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_fbdev_ttm_setup
+ NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_attach_hdr_output_metadata_property
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
index 17ddc58a0cfc..c0427557f1a5 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
@@ -90,6 +90,7 @@ QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
)
pkg_setup() {
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
index ce8321ba3ab2..abee29c518c4 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
@@ -91,6 +91,7 @@ QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
)
pkg_setup() {
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
index bfa3b9e55501..ac755f870b2e 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
@@ -93,6 +93,7 @@ QA_PREBUILT="lib/firmware/* opt/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+ "${FILESDIR}"/nvidia-drivers-550.107.02-kernel-6.11-fbdev.patch
)
pkg_setup() {
diff --git a/x11-libs/cairo/cairo-1.18.2-r1.ebuild b/x11-libs/cairo/cairo-1.18.2-r1.ebuild
new file mode 100644
index 000000000000..9bcd379e8859
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.18.2-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git"
+else
+ SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A vector graphics library with cross-device output support"
+HOMEPAGE="https://www.cairographics.org/ https://gitlab.freedesktop.org/cairo/cairo"
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+IUSE="X aqua debug +glib gtk-doc test"
+# Tests need more wiring up like e.g. https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/.gitlab-ci.yml
+# any2ppm tests seem to hang for now.
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+ >=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
+ >=media-libs/fontconfig-2.13.92[${MULTILIB_USEDEP}]
+ >=media-libs/freetype-2.13:2[png,${MULTILIB_USEDEP}]
+ >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/pixman-0.42.3[${MULTILIB_USEDEP}]
+ debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.9.1:=[${MULTILIB_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ test? (
+ app-text/ghostscript-gpl
+ app-text/poppler[cairo]
+ gnome-base/librsvg
+ )
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-respect-fontconfig.patch
+ "${FILESDIR}"/${P}-cups.patch
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddwrite=disabled
+ -Dfontconfig=enabled
+ -Dfreetype=enabled
+ -Dpng=enabled
+ $(meson_feature aqua quartz)
+ $(meson_feature X tee)
+ $(meson_feature X xcb)
+ $(meson_feature X xlib)
+ -Dxlib-xcb=disabled
+ -Dzlib=enabled
+
+ # Requires poppler-glib (poppler[cairo]) which isn't available in multilib
+ $(meson_native_use_feature test tests)
+
+ -Dgtk2-utils=disabled
+
+ $(meson_feature glib)
+ -Dspectre=disabled # only used for tests
+ $(meson_feature debug symbol-lookup)
+
+ $(meson_use gtk-doc gtk_doc)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && meson_src_test
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/cairo || die
+ mv "${ED}"/usr/share/gtk-doc/{html/cairo,cairo/html} || die
+ rmdir "${ED}"/usr/share/gtk-doc/html || die
+ fi
+}
diff --git a/x11-libs/cairo/files/cairo-1.18.2-cups.patch b/x11-libs/cairo/files/cairo-1.18.2-cups.patch
new file mode 100644
index 000000000000..6a34c28a6250
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.18.2-cups.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/939607
+https://gitlab.freedesktop.org/cairo/cairo/-/issues/870
+https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/595
+https://gitlab.freedesktop.org/cairo/cairo/-/commit/f19e2fe080ddcfce93c8234a919fd882f3d63362
+
+From f19e2fe080ddcfce93c8234a919fd882f3d63362 Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri, 13 Sep 2024 06:28:39 +0930
+Subject: [PATCH] cff: Don't fail if no local subs
+
+Fixes: #870
+--- a/src/cairo-cff-subset.c
++++ b/src/cairo-cff-subset.c
+@@ -952,9 +952,13 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font,
+ decode_number (operand, nominal_width);
+
+ num_subs = _cairo_array_num_elements (local_sub_index);
+- *local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t));
+- if (unlikely (*local_subs_used == NULL))
+- return _cairo_error (CAIRO_STATUS_NO_MEMORY);
++ if (num_subs > 0) {
++ *local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t));
++ if (unlikely (*local_subs_used == NULL))
++ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
++ } else {
++ *local_subs_used = NULL;
++ }
+
+ if (num_subs < 1240)
+ *local_sub_bias = 107;
+--
+GitLab
diff --git a/x11-misc/mate-notification-daemon/Manifest b/x11-misc/mate-notification-daemon/Manifest
index 4181e806b6d2..ca8036444c73 100644
--- a/x11-misc/mate-notification-daemon/Manifest
+++ b/x11-misc/mate-notification-daemon/Manifest
@@ -1,3 +1 @@
-DIST mate-notification-daemon-1.26.0.tar.xz 421032 BLAKE2B 3f55a281cc51e63245371a1bf4ddadb2be4fa09bf16a4ffac701d4530f519a65e2ff69c7e58e6589fa923d3af86315e36d5445a6a1915a6857271933605eaaac SHA512 5249cf14ba93f2e74b9774226c5d0f5e90a517df07569e16a23af7053f5ef160afe98c8a3452baf80c243272763eee1fde0b84f434f55df1f9de26298361a1dc
-DIST mate-notification-daemon-1.26.1.tar.xz 428836 BLAKE2B 78b852f8b6f6f2cdae46831c527ccca24fddf0c12660a886e5eb1b31c1046f1fcaa64de42915038306288f6baef6071ef4347f32b5cce30e4d2488e7bdc6c6d0 SHA512 c7aaef499acb2829f9833734a57e77a11a321369cb5134a4c49bb3c1e9899951c6c3702d3aac1dff6ce1bb8e60e41fc7ac31046e3346852d2da5d4dacf849a1e
DIST mate-notification-daemon-1.28.0.tar.xz 433572 BLAKE2B 89c386fb7707b87de61e5346ab018227864427d590e2908f0c85b8697d2d19d3528870f701adfa8f9657ea395718724d6398baf325d0b1d68284eb855f16df3f SHA512 dba0989945b81ff0fed5e77ac8ef7c96bf52ee854c9dc0f46549697e0d0537a8ff4a9491839076768443cc62140d1dfbf911aee489ab568c2975b67c52c78d2e
diff --git a/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.0-r1.ebuild b/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.0-r1.ebuild
deleted file mode 100644
index 0a02cc9cd01d..000000000000
--- a/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.0-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
-fi
-
-DESCRIPTION="MATE Notification daemon"
-LICENSE="GPL-2+ GPL-3+"
-SLOT="0"
-
-IUSE="nls X wayland"
-REQUIRED_USE="|| ( X wayland )"
-
-COMMON_DEPEND="dev-libs/atk
- >=dev-libs/glib-2.50:2
- >=dev-libs/libxml2-2.9.0
- >=sys-apps/dbus-1
- x11-libs/cairo
- >=x11-libs/gdk-pixbuf-2.22:2
- >=x11-libs/libnotify-0.7
- >=x11-libs/gtk+-3.22:3
- >=media-libs/libcanberra-0.4:0[gtk3]
- X? (
- x11-libs/libX11
- >=x11-libs/libwnck-3:3
- )
- wayland? ( gui-libs/gtk-layer-shell )
-"
-
-RDEPEND="${COMMON_DEPEND}
- !x11-misc/notify-osd
- !x11-misc/qtnotifydaemon
- !x11-misc/notification-daemon
-"
-
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-util/gdbus-codegen
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- mate-base/mate-panel
-"
-
-src_configure() {
- mate_src_configure \
- $(use_enable nls) \
- $(use_enable X x11) \
- $(use_enable wayland)
-}
-
-src_install() {
- mate_src_install
-
- insinto /usr/share/dbus-1/services
- doins "${FILESDIR}/org.freedesktop.Notifications.service"
-}
diff --git a/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.1.ebuild b/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.1.ebuild
deleted file mode 100644
index 737071d3f840..000000000000
--- a/x11-misc/mate-notification-daemon/mate-notification-daemon-1.26.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-MINOR=$(($(ver_cut 2) % 2))
-if [[ ${MINOR} -eq 0 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
-fi
-
-DESCRIPTION="MATE Notification daemon"
-LICENSE="GPL-2+ GPL-3+"
-SLOT="0"
-
-IUSE="nls X wayland"
-REQUIRED_USE="|| ( X wayland )"
-
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=dev-libs/glib-2.50:2
- >=dev-libs/libxml2-2.9.0
- >=sys-apps/dbus-1
- x11-libs/cairo
- >=x11-libs/gdk-pixbuf-2.22:2
- >=x11-libs/libnotify-0.7
- >=x11-libs/gtk+-3.22:3
- >=media-libs/libcanberra-0.4:0[gtk3]
- X? (
- x11-libs/libX11
- >=x11-libs/libwnck-3:3
- )
- wayland? ( gui-libs/gtk-layer-shell )
-"
-
-RDEPEND="${COMMON_DEPEND}
- !x11-misc/notify-osd
- !x11-misc/notification-daemon
-"
-
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- dev-util/gdbus-codegen
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- mate-base/mate-panel
-"
-
-src_configure() {
- mate_src_configure \
- $(use_enable nls) \
- $(use_enable X x11) \
- $(use_enable wayland)
-}
-
-src_install() {
- mate_src_install
-
- insinto /usr/share/dbus-1/services
- doins "${FILESDIR}/org.freedesktop.Notifications.service"
-}
diff --git a/x11-misc/rofi-calc/Manifest b/x11-misc/rofi-calc/Manifest
index aff88b0684bc..7cffc7864fdd 100644
--- a/x11-misc/rofi-calc/Manifest
+++ b/x11-misc/rofi-calc/Manifest
@@ -1,3 +1 @@
-DIST rofi-calc-2.0.0.tar.gz 1695125 BLAKE2B d76c304724b0f3326a8bd26ab2c7eaed5f77f3b6d07ddc97570a1fb28d56504d98ac9ab66411290cb548b760bd3231a729dfc470e748a8447e323d1b290f677c SHA512 298f9983dbd140f5aee5b3799b165500eae100f3f5744ba07914b962faf01661dee0f5f4c9c12a07a4e210b6115ac6fb377d9fa9a7e64ef5a19600e9f55cd478
-DIST rofi-calc-2.2.0.tar.gz 1695821 BLAKE2B ab91e17c2baa854e76f593626b774390b5bdd57c78419c16981371f1e4be64cee0a38845dcd93998741ceeac462a1158af08519692c65a04a22418aa7026dc89 SHA512 7eedb5c7be97f42a1683cabdf0745c28d2a4f123f02e7cf2bf5a44cf851271b5bdc31f7622f4f30d086ecdcbcc7e4d62d3550b8c5b8ceebcdaca362e8d09a68d
DIST rofi-calc-2.2.1.tar.gz 1696532 BLAKE2B 5595f81b5eebefb68b97b397f4b9571afd548d7e2a3323cd2693a2ced629f0d270afe4351fe01f43c36760b2ba2c6c5509181d262285eb6caa9f768be1b2d2cf SHA512 33c4b5ca2c13d538c902d747c65b376d00b4f6b628d5fc14b4761105537503f24bd51a5cf8f07b6ab4b28bccbf6e84c70ea3125ed7e1664eadb108e4250a42ba
diff --git a/x11-misc/rofi-calc/rofi-calc-2.0.0.ebuild b/x11-misc/rofi-calc/rofi-calc-2.0.0.ebuild
deleted file mode 100644
index ce53ee1c9e75..000000000000
--- a/x11-misc/rofi-calc/rofi-calc-2.0.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Do live calculations in rofi!"
-HOMEPAGE="https://github.com/svenstaro/rofi-calc"
-SRC_URI="https://github.com/svenstaro/rofi-calc/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- x11-misc/rofi
- >=sci-libs/libqalculate-2.0
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- eautoreconf -i
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/x11-misc/rofi-calc/rofi-calc-2.2.0.ebuild b/x11-misc/rofi-calc/rofi-calc-2.2.0.ebuild
deleted file mode 100644
index 5264d2023257..000000000000
--- a/x11-misc/rofi-calc/rofi-calc-2.2.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Do live calculations in rofi!"
-HOMEPAGE="https://github.com/svenstaro/rofi-calc"
-SRC_URI="https://github.com/svenstaro/rofi-calc/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- x11-misc/rofi
- >=sci-libs/libqalculate-2.0
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- eautoreconf -i
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/x11-misc/rofi-calc/rofi-calc-9999.ebuild b/x11-misc/rofi-calc/rofi-calc-9999.ebuild
index ac69969f2903..3f1eac33d712 100644
--- a/x11-misc/rofi-calc/rofi-calc-9999.ebuild
+++ b/x11-misc/rofi-calc/rofi-calc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,13 +7,10 @@ inherit git-r3 autotools
DESCRIPTION="Do live calculations in rofi!"
HOMEPAGE="https://github.com/svenstaro/rofi-calc"
-SRC_URI=""
EGIT_REPO_URI="https://github.com/svenstaro/rofi-calc.git"
LICENSE="MIT"
SLOT="0"
-KEYWORDS=""
-IUSE=""
DEPEND="
x11-misc/rofi
diff --git a/x11-misc/slock/Manifest b/x11-misc/slock/Manifest
index 4de919f78f4b..8cd175227c4a 100644
--- a/x11-misc/slock/Manifest
+++ b/x11-misc/slock/Manifest
@@ -1,2 +1 @@
-DIST slock-1.4.tar.gz 6889 BLAKE2B 67f956fd00e7536a9db81b82e85e4128b537569d16cd25428822607a5c2f3b0310bcfec896f7e83c0091e85d21b68438f6f42da715a55cad7fac90d0d0d64b8f SHA512 ad285360dd3f16a225159abaf2f82fabf2c675bd74478cf717f68cbe5941a6c620e3c88544ce675ce3ff19af4bb0675c9405685e0f74ee4e84f7d34c61a0532f
DIST slock-1.5.tar.gz 6898 BLAKE2B f3435311b24c20fef656589f468b4cd6bbed30568459cb1d525b7dd5b57e5759ee287787d7506ad6cb922fd092bad504f38ab8c57b41deebec4f6aa554269a41 SHA512 2402b1e49f5dbe06cca2f3a31efedce6359413b240f2b98c57147483591a873c3c5457dbf6707485167002ff6d7ee0e9005d9fa506a51bf71337624e8728bb43
diff --git a/x11-misc/slock/slock-1.4-r1.ebuild b/x11-misc/slock/slock-1.4-r1.ebuild
deleted file mode 100644
index 0f6f4a035658..000000000000
--- a/x11-misc/slock/slock-1.4-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit fcaps savedconfig toolchain-funcs
-
-DESCRIPTION="simple X display locker"
-HOMEPAGE="https://tools.suckless.org/slock"
-SRC_URI="https://dl.suckless.org/tools/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ppc64 x86"
-
-RDEPEND="
- virtual/libcrypt:=
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-
-PATCHES=(
- "${FILESDIR}"/slock-1.4-fix-link-paths.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e '/^CFLAGS/{s: -Os::g; s:= :+= :g}' \
- -e '/^CC/d' \
- -e '/^LDFLAGS/{s:-s::g; s:= :+= :g}' \
- config.mk || die
- sed -i \
- -e 's|@${CC}|$(CC)|g' \
- Makefile || die
-
- restore_config config.h
-
- tc-export CC
-}
-
-src_compile() {
- emake slock
-}
-
-src_install() {
- dobin slock
- save_config config.h
-}
-
-pkg_postinst() {
- # cap_dac_read_search used to be enough for shadow access
- # but now slock wants to write to /proc/self/oom_score_adj
- # and for that it needs:
- fcaps \
- cap_dac_override,cap_setgid,cap_setuid,cap_sys_resource \
- /usr/bin/slock
-
- savedconfig_pkg_postinst
-}
diff --git a/x11-misc/slock/slock-1.5.ebuild b/x11-misc/slock/slock-1.5.ebuild
index 4893525a9c52..597b0cf75605 100644
--- a/x11-misc/slock/slock-1.5.ebuild
+++ b/x11-misc/slock/slock-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit fcaps savedconfig toolchain-funcs
DESCRIPTION="simple X display locker"
-HOMEPAGE="https://tools.suckless.org/slock"
+HOMEPAGE="https://tools.suckless.org/slock/"
SRC_URI="https://dl.suckless.org/tools/${P}.tar.gz"
LICENSE="MIT"
diff --git a/x11-misc/tdrop/Manifest b/x11-misc/tdrop/Manifest
index 62e11fadfb1b..3903f1e2d662 100644
--- a/x11-misc/tdrop/Manifest
+++ b/x11-misc/tdrop/Manifest
@@ -1,2 +1 @@
-DIST tdrop-0.4.0.tar.gz 21550 BLAKE2B 673ad98aa294410b4547fce842d191fd3c5512cca79361cae35fcb646afd328615daab1fa112bcba9e28cdea6bbeb2ca696bcc78d54c0302d32a91324a8a16d9 SHA512 679fed509e29752ebe3df378e68d9701c9edb53c9162854a8cb623f2da53499b933dad59fa6fc865ac44c67544cd6bcb779316ee4312e87c39559ade1ab313d8
DIST tdrop-0.5.0.tar.gz 24726 BLAKE2B d0043bcc28115999b89fe6d89790ea4d1d6da71dec7034a283c4f3b5b2b8f065482f8727d6e0d900f5ae00c3ea3d7a06ce03a82902286d509a8b04dd5b46025d SHA512 cfccbdb73b00ea8c1376f34debe2b7f550343100fd47e7f45a859ad692f42abbf58e26316a95813691f4bda05cce657490bfcc7b3765585d9afb396580aefce5
diff --git a/x11-misc/tdrop/tdrop-0.4.0.ebuild b/x11-misc/tdrop/tdrop-0.4.0.ebuild
deleted file mode 100644
index 695b437b87d3..000000000000
--- a/x11-misc/tdrop/tdrop-0.4.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="WM-Independent Dropdown Creator"
-HOMEPAGE="https://github.com/noctuid/tdrop"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/noctuid/tdrop"
-else
- SRC_URI="https://github.com/noctuid/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64"
-fi
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- app-shells/bash
- sys-process/procps
- x11-apps/xprop
- x11-apps/xrandr
- x11-apps/xwininfo
- x11-misc/xdotool
-"
-
-src_compile() {
- :
-}
-
-src_install() {
- dobin tdrop
- doman tdrop.1
- dodoc README.org
-}
diff --git a/x11-misc/xbindkeys/xbindkeys-1.8.7-r100.ebuild b/x11-misc/xbindkeys/xbindkeys-1.8.7-r100.ebuild
new file mode 100644
index 000000000000..4688b3dae019
--- /dev/null
+++ b/x11-misc/xbindkeys/xbindkeys-1.8.7-r100.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="deprecated"
+GUILE_COMPAT=( 2-2 3-0 )
+inherit autotools guile-single
+
+DESCRIPTION="Tool for launching commands on keystrokes"
+SRC_URI="https://www.nongnu.org/${PN}/${P}.tar.gz"
+HOMEPAGE="https://www.nongnu.org/xbindkeys/xbindkeys.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="guile tk"
+
+REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
+
+RDEPEND="
+ x11-libs/libX11
+ guile? ( ${GUILE_DEPS} )
+ tk? ( dev-lang/tk )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+DOCS=( AUTHORS BUGS ChangeLog README TODO xbindkeysrc )
+
+src_prepare() {
+ default
+
+ use guile && guile_bump_sources
+
+ # Regenerate to pick up newer versions of Guile macros
+ # bug #828532
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable guile) \
+ $(use_enable tk)
+}
+
+src_install() {
+ default
+
+ use guile && guile_unstrip_ccache
+}
diff --git a/x11-wm/marco/Manifest b/x11-wm/marco/Manifest
index a2c7868d676d..ea9483720b0e 100644
--- a/x11-wm/marco/Manifest
+++ b/x11-wm/marco/Manifest
@@ -1,2 +1 @@
-DIST marco-1.26.2.tar.xz 1865248 BLAKE2B 86933230f11a9342009d79bd836ab09272a335cc7e0e8c84c4ac1c300fd4b604a97424c76d371450a46be0c2a588902c17791fe1ee752e06207046bbddc055a4 SHA512 326ed378be891806a9750021626863e00d80f29af8fe920eeb0910d9eb2ece534babf012e1aced6b071b6c0fdd8a77ea8c948d68a70f9280822b30231aa934b9
DIST marco-1.28.1.tar.xz 1800320 BLAKE2B 6594095cb7b038c3107513229f81cfb8e71f437b1f716a108169ddb8c792c4ab06979f57cd2c3a11c3de65e07550f8fcd246911a7ccff2f1e89fe20de3836b59 SHA512 3642e3fab967baef35b0e02d3e4b63e3ef97e5e44d01dbde2a7557a5ced41e73f7f8a1e63860aa9bcebe1ea1c8e1f6fd8740d853bf3996c32977b65091364ac3
diff --git a/x11-wm/marco/marco-1.26.2-r1.ebuild b/x11-wm/marco/marco-1.26.2-r1.ebuild
deleted file mode 100644
index bd1e415ad436..000000000000
--- a/x11-wm/marco/marco-1.26.2-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MATE2_LA_PUNT="yes"
-# For script meson_post_install.py
-# Bug 906826, tracker bug 762406
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit mate meson python-any-r1
-
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
-
-DESCRIPTION="MATE default window manager"
-LICENSE="FDL-1.2+ GPL-2+ LGPL-2+ MIT"
-SLOT="0/2"
-
-IUSE="startup-notification test xinerama"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0:2
- >=dev-libs/glib-2.58:2
- >=gnome-base/libgtop-2:2=
- media-libs/libcanberra[gtk3]
- x11-libs/cairo
- >=x11-libs/pango-1.2[X]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- >=x11-libs/libXcomposite-0.3
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXpresent
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXres
- >=x11-libs/startup-notification-0.7
- xinerama? ( x11-libs/libXinerama )
-"
-
-DEPEND="${PYTHON_DEPS}"
-
-RDEPEND="${COMMON_DEPEND}
- gnome-extra/zenity
- >=mate-base/mate-desktop-1.20.0
- virtual/libintl
-"
-
-BDEPEND="${COMMON_DEPEND}
- app-text/yelp-tools
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
- test? ( app-text/docbook-xml-dtd:4.5 )
- xinerama? ( x11-base/xorg-proto )
-"
-
-src_configure() {
- local emesonargs=(
- -Dcompositor=true
- -Drender=true
- -Dshape=true
- -Dsm=true
- -Dxsync=true
- $(meson_use startup-notification)
- $(meson_use xinerama)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- dodoc doc/*.txt
-}
diff --git a/x11-wm/metacity/Manifest b/x11-wm/metacity/Manifest
index 27adb737324c..4b3d6259ac05 100644
--- a/x11-wm/metacity/Manifest
+++ b/x11-wm/metacity/Manifest
@@ -1,3 +1 @@
-DIST metacity-3.46.1.tar.xz 1959060 BLAKE2B 84dbe09dd8d6c7ce1894ed806cdc6cc5cc6c302ddf3aae5f7ef479f6c02ef6c2091bb1d815603f5d6e52d583192d43f47d835327e9e75cd626081becbf84bd8e SHA512 f0d8424868edf8209eb4cbd003de68ab892a5b515a1aca7b3626bf52eb8451cb0477ab35f702177c9654604e06adce46471897edcb54931d95e60b36bef92b20
-DIST metacity-3.50.0.tar.xz 1959172 BLAKE2B a697bb0d820211abdd212a250d0ea6a698962b37b9e200c54dab51ca11bb1c9a65708dd8f098211d3d451da83f484d549f5fc33c63f391f42744a8046849ccd7 SHA512 2fd66f96b0603dfea652ad21f9749c3dbd68c847cda884a0e16f23766c9b61fcdfa693dcb83beb33c909487a7d9f7f5eb796096cfc772cc44c4b267ef1b08699
DIST metacity-3.52.0.tar.xz 1960156 BLAKE2B e8d078f08c4d3a40a98b5d95aa0286adc4da518ca6a495768d9e31626862b03a3ad5da26928ccc3f337b9811fd5ffa927a37e5f9ab6a7b7c256052842207b5cf SHA512 e49c8a45a26b9b43700e50787fef9e02a6c5abc5d8a809542acaf32f6e15ea756bf8398883e3c69707908e8556ae726d9764fc09f07b0beaa40f79a1490c361e
diff --git a/x11-wm/metacity/metacity-3.46.1.ebuild b/x11-wm/metacity/metacity-3.46.1.ebuild
deleted file mode 100644
index 4c6c94dbe9e4..000000000000
--- a/x11-wm/metacity/metacity-3.46.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome2
-
-DESCRIPTION="GNOME Flashback window manager"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/metacity/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+libcanberra vulkan xinerama"
-KEYWORDS="amd64 ~riscv"
-
-# TODO: libgtop could be optional, but no knob
-RDEPEND="
- >=dev-libs/glib-2.67.3:2
- >=x11-libs/gtk+-3.24.6:3[X]
- >=x11-libs/pango-1.2.0
- >=x11-libs/libXcomposite-0.3
- >=x11-libs/libXres-1.2
- >=gnome-base/gsettings-desktop-schemas-3.3.0
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXdamage
- x11-libs/libXpresent
- libcanberra? ( media-libs/libcanberra[gtk3] )
- >=x11-libs/startup-notification-0.7
- x11-libs/libXcursor
- gnome-base/libgtop:2=
- x11-libs/libX11
- xinerama? ( x11-libs/libXinerama )
- x11-libs/libXrandr
- x11-libs/libXext
- x11-libs/libICE
- x11-libs/libSM
- gnome-extra/zenity
- vulkan? ( media-libs/vulkan-loader )
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- vulkan? ( dev-util/vulkan-headers )
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.6
- virtual/pkgconfig
-" # autoconf-archive for eautoreconf
-
-src_configure() {
- gnome2_src_configure \
- --disable-static \
- $(use_enable libcanberra canberra) \
- $(use_enable xinerama) \
- $(use_enable vulkan)
-}
diff --git a/x11-wm/metacity/metacity-3.50.0.ebuild b/x11-wm/metacity/metacity-3.50.0.ebuild
deleted file mode 100644
index 60f7ad76a4f2..000000000000
--- a/x11-wm/metacity/metacity-3.50.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome2
-
-DESCRIPTION="GNOME Flashback window manager"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/metacity/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+libcanberra vulkan xinerama"
-KEYWORDS="amd64 ~riscv"
-
-# TODO: libgtop could be optional, but no knob
-RDEPEND="
- >=dev-libs/glib-2.67.3:2
- >=x11-libs/gtk+-3.24.6:3[X]
- >=x11-libs/pango-1.2.0
- >=x11-libs/libXcomposite-0.3
- >=x11-libs/libXres-1.2
- >=gnome-base/gsettings-desktop-schemas-3.3.0
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXdamage
- x11-libs/libXpresent
- libcanberra? ( media-libs/libcanberra[gtk3] )
- >=x11-libs/startup-notification-0.7
- x11-libs/libXcursor
- gnome-base/libgtop:2=
- x11-libs/libX11
- xinerama? ( x11-libs/libXinerama )
- x11-libs/libXrandr
- x11-libs/libXext
- x11-libs/libICE
- x11-libs/libSM
- gnome-extra/zenity
- vulkan? ( media-libs/vulkan-loader )
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- vulkan? ( dev-util/vulkan-headers )
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.6
- virtual/pkgconfig
-" # autoconf-archive for eautoreconf
-
-src_configure() {
- gnome2_src_configure \
- --disable-static \
- $(use_enable libcanberra canberra) \
- $(use_enable xinerama) \
- $(use_enable vulkan)
-}
diff --git a/x11-wm/qtile/Manifest b/x11-wm/qtile/Manifest
index adbcb24c266c..6bfbd9494a2e 100644
--- a/x11-wm/qtile/Manifest
+++ b/x11-wm/qtile/Manifest
@@ -1,6 +1 @@
-DIST qtile-0.23.0.tar.gz 524536 BLAKE2B 9cf5b0cdffd7bc95ab7649827c221b20718f9dcc19b8ae2a50ceac5df3d71b117eef493a40523d81e60c8bc54b2103bc2a93775fcb20c025ec1dd84f9d809a19 SHA512 d6886df8efefacf90b1a5ec487c9a5a90414593900159213a218d638ef4f018b69284fe2cea707da12655a9736aad3df74a338a60344536e4d7eebcc9fc1090b
-DIST qtile-0.25.0.tar.gz 569312 BLAKE2B 3841ca41755f37191c659c039da45279393b5bbe94b3d532651548ba51d6dc62f3ac94cc5f3b02aa2b6c806e6bf97c9651756579b77938d133bdb1a697150626 SHA512 afd3267c70681d3656569f8ea88d02f35ab5d6baaa28b3d90f1b7552b5ed32c7d2f1f4f17272458ff2c39d0ca8f4fdb87748c9d7b4eb41031f3079126096c7d0
-DIST qtile-0.26.0.tar.gz 593712 BLAKE2B c7f43813b42d1009f0f542ef0964e07cbb3286af6af058e168d62d1e32c7dfaf51fe537568b77d5b21a1701c1ce159b63f86b6ba4ae3bf5482125562c91c5d3a SHA512 0b28125e3111493a90c5ae993a516dccf984f794ba9c0424c9366a3b04073fdf06deba42e59e8b1e33b60e5686730e0ed010161943a4a77ab4b36e4c7c710a61
-DIST qtile-0.27.0.tar.gz 598603 BLAKE2B 79f876d290398839e83b14304956f7bbe5a5bb70faccae6e090dd37477728c9067fc9d6797b498b5a8cd1a35f08fb4bc85ee3609a244f955d2b15b79f30d96c4 SHA512 62daa4ec51239506e2a860b9d021e2838edba887c7ff45bbede36428a399343470b9357f4aab373d13279c933ae19c3bd2b03bb520862386298a1258fe505127
-DIST qtile-0.28.0.tar.gz 601157 BLAKE2B c2ec5ac92484ad8124a2eeb0aa57050ff529f0223cb889a6da81291a2c52002e989d94667cc3b34449284ca52ca50186379619c05bf83adeb6dc5dfa8c4a6dc1 SHA512 aad0f260ab8f8e974e12f385324e7eadab6a314c9eb1b3114bbfc928819f7a764eb8243e7ed6545ca87f38b223e00d525cba5e8b2430c35aa93370c9fecd0947
DIST qtile-0.28.1.tar.gz 601217 BLAKE2B 04f24c5b628e1c3d0eca395135ef0d0093af5a57d23aea751e76197da4f148ae679a9fb650e2589e5f2e253673cab86642e3f0695ac219641c65192eb9a37274 SHA512 95b4d95206aeac4bb59d47c94eb93b55ac413681050345a0d61cdb19b71dd785bb6c13c0161757b9bfa5e8d0ce345fcf64eea04fc44b2f596a65b70f5da5d32e
diff --git a/x11-wm/qtile/files/qtile-0.23.0-keyring.patch b/x11-wm/qtile/files/qtile-0.23.0-keyring.patch
deleted file mode 100644
index c4a44efd8791..000000000000
--- a/x11-wm/qtile/files/qtile-0.23.0-keyring.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 84eaf6b70f9569c88534dc8054e19f05fa3137e2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 2 Dec 2023 17:40:50 +0100
-Subject: [PATCH] imapwidget: Do not pass None as username to
- keyring.get_password()
-
-Ensure not to pass `None` as the username to `keyring.get_password()`,
-as the API requires it to always be a `str` and some backends
-(particularly `keyrings-alt`) crash on `None`.
-
-Fixes #4609
----
- libqtile/widget/imapwidget.py | 3 +++
- test/widgets/test_widget_init_configure.py | 1 +
- 2 files changed, 4 insertions(+)
-
-diff --git a/libqtile/widget/imapwidget.py b/libqtile/widget/imapwidget.py
-index 3f84d9e7..c8a6ec0e 100644
---- a/libqtile/widget/imapwidget.py
-+++ b/libqtile/widget/imapwidget.py
-@@ -24,6 +24,7 @@ import re
-
- import keyring
-
-+from libqtile.confreader import ConfigError
- from libqtile.log_utils import logger
- from libqtile.widget import base
-
-@@ -75,6 +76,8 @@ class ImapWidget(base.ThreadPoolText):
- def __init__(self, **config):
- base.ThreadPoolText.__init__(self, "", **config)
- self.add_defaults(ImapWidget.defaults)
-+ if self.user is None:
-+ raise ConfigError("You must set the 'user' parameter for the IMAP widget.")
- password = keyring.get_password("imapwidget", self.user)
- if password is not None:
- self.password = password
-diff --git a/test/widgets/test_widget_init_configure.py b/test/widgets/test_widget_init_configure.py
-index 83a9cb9a..aa7a1f9b 100644
---- a/test/widgets/test_widget_init_configure.py
-+++ b/test/widgets/test_widget_init_configure.py
-@@ -58,6 +58,7 @@ extras = [
-
- # To skip a test entirely, list the widget class here
- no_test = [widgets.Mirror, widgets.PulseVolume] # Mirror requires a reflection object
-+no_test += [widgets.ImapWidget] # Requires a configured username
-
- # To test a widget only under one backend, list the widget class here
- exclusive_backend = {
---
-2.43.0
-
diff --git a/x11-wm/qtile/qtile-0.23.0-r1.ebuild b/x11-wm/qtile/qtile-0.23.0-r1.ebuild
deleted file mode 100644
index 3c59d06e2004..000000000000
--- a/x11-wm/qtile/qtile-0.23.0-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="
- https://qtile.org/
- https://github.com/qtile/qtile/
- https://pypi.org/project/qtile/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
-IUSE="pulseaudio wayland"
-
-RDEPEND="
- >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- dev-python/dbus-next[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
- >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libnotify[introspection]
- x11-libs/pango
- pulseaudio? (
- dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
- media-sound/pulseaudio
- )
- wayland? (
- >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- media-gfx/imagemagick[X]
- x11-base/xorg-server[xephyr,xvfb]
- )
- wayland? (
- >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/qtile/qtile/pull/4610
- "${FILESDIR}/${P}-keyring.patch"
- )
-
- sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
- -i setup.py || die
-
- # some tests expect bin/qtile
- mkdir bin || die
- cat >> bin/qtile <<-EOF || die
- #!/bin/sh
- exec qtile "\${@}"
- EOF
- chmod +x bin/qtile || die
-
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- local -x CFFI_TMPDIR=${T}
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # mocking doesn't seem to work
- test/widgets/test_mpd2widget.py
- # checks fail with mypy errors
- test/test_check.py
- # migration tests require intact source tree
- test/test_migrate.py
- # no clue ("ExistingWMException")
- test/test_restart.py::test_restart_hook_and_state
- )
-
- # force usage of built module
- rm -rf libqtile || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- insinto /usr/share/wayland-sessions
- doins resources/qtile-wayland.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
-}
diff --git a/x11-wm/qtile/qtile-0.25.0.ebuild b/x11-wm/qtile/qtile-0.25.0.ebuild
deleted file mode 100644
index 3fe2733dd15e..000000000000
--- a/x11-wm/qtile/qtile-0.25.0.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="
- https://qtile.org/
- https://github.com/qtile/qtile/
- https://pypi.org/project/qtile/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="pulseaudio wayland"
-
-RDEPEND="
- >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- dev-python/dbus-next[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
- >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libnotify[introspection]
- x11-libs/pango
- pulseaudio? (
- dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
- media-sound/pulseaudio
- )
- wayland? (
- >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/libcst[${PYTHON_USEDEP}]
- media-gfx/imagemagick[X]
- x11-base/xorg-server[xephyr,xvfb]
- )
- wayland? (
- >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
- -i setup.py || die
-
- # some tests expect bin/qtile
- mkdir bin || die
- cat >> bin/qtile <<-EOF || die
- #!/bin/sh
- exec qtile "\${@}"
- EOF
- chmod +x bin/qtile || die
-
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- local -x CFFI_TMPDIR=${T}
- distutils-r1_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # mypy stuff
- test/test_check.py
- test/migrate/test_check_migrations.py
- # TODO: this test clearly requires x11 — so why is wayland
- # variant being run?
- 'test/backend/x11/test_window.py::test_urgent_hook_fire[wayland-2]'
- )
-
- # force usage of built module
- rm -rf libqtile || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- insinto /usr/share/wayland-sessions
- doins resources/qtile-wayland.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
-}
diff --git a/x11-wm/qtile/qtile-0.26.0.ebuild b/x11-wm/qtile/qtile-0.26.0.ebuild
deleted file mode 100644
index e8473373841c..000000000000
--- a/x11-wm/qtile/qtile-0.26.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="
- https://qtile.org/
- https://github.com/qtile/qtile/
- https://pypi.org/project/qtile/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-IUSE="pulseaudio wayland"
-
-RDEPEND="
- >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- dev-python/dbus-next[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
- >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libnotify[introspection]
- x11-libs/pango
- pulseaudio? (
- dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
- media-sound/pulseaudio
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/libcst[${PYTHON_USEDEP}]
- media-gfx/imagemagick[X]
- x11-base/xorg-server[xephyr,xvfb]
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
- -i setup.py || die
-
- # some tests expect bin/qtile
- mkdir bin || die
- cat >> bin/qtile <<-EOF || die
- #!/bin/sh
- exec qtile "\${@}"
- EOF
- chmod +x bin/qtile || die
-
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- local -x CFFI_TMPDIR=${T}
- distutils-r1_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # mypy stuff
- test/test_check.py
- test/migrate/test_check_migrations.py
- # TODO: this test clearly requires x11 — so why is wayland
- # variant being run?
- 'test/backend/x11/test_window.py::test_urgent_hook_fire[wayland-2]'
- )
-
- # force usage of built module
- rm -rf libqtile || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- insinto /usr/share/wayland-sessions
- doins resources/qtile-wayland.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
-}
diff --git a/x11-wm/qtile/qtile-0.27.0.ebuild b/x11-wm/qtile/qtile-0.27.0.ebuild
deleted file mode 100644
index e8473373841c..000000000000
--- a/x11-wm/qtile/qtile-0.27.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="
- https://qtile.org/
- https://github.com/qtile/qtile/
- https://pypi.org/project/qtile/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-IUSE="pulseaudio wayland"
-
-RDEPEND="
- >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- dev-python/dbus-next[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
- >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libnotify[introspection]
- x11-libs/pango
- pulseaudio? (
- dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
- media-sound/pulseaudio
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/libcst[${PYTHON_USEDEP}]
- media-gfx/imagemagick[X]
- x11-base/xorg-server[xephyr,xvfb]
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
- -i setup.py || die
-
- # some tests expect bin/qtile
- mkdir bin || die
- cat >> bin/qtile <<-EOF || die
- #!/bin/sh
- exec qtile "\${@}"
- EOF
- chmod +x bin/qtile || die
-
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- local -x CFFI_TMPDIR=${T}
- distutils-r1_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # mypy stuff
- test/test_check.py
- test/migrate/test_check_migrations.py
- # TODO: this test clearly requires x11 — so why is wayland
- # variant being run?
- 'test/backend/x11/test_window.py::test_urgent_hook_fire[wayland-2]'
- )
-
- # force usage of built module
- rm -rf libqtile || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- insinto /usr/share/wayland-sessions
- doins resources/qtile-wayland.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
-}
diff --git a/x11-wm/qtile/qtile-0.28.0.ebuild b/x11-wm/qtile/qtile-0.28.0.ebuild
deleted file mode 100644
index e8473373841c..000000000000
--- a/x11-wm/qtile/qtile-0.28.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="
- https://qtile.org/
- https://github.com/qtile/qtile/
- https://pypi.org/project/qtile/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-IUSE="pulseaudio wayland"
-
-RDEPEND="
- >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- dev-python/dbus-next[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
- >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}]
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libnotify[introspection]
- x11-libs/pango
- pulseaudio? (
- dev-python/pulsectl-asyncio[${PYTHON_USEDEP}]
- media-sound/pulseaudio
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/libcst[${PYTHON_USEDEP}]
- media-gfx/imagemagick[X]
- x11-base/xorg-server[xephyr,xvfb]
- )
- wayland? (
- >=dev-python/pywayland-0.4.17[${PYTHON_USEDEP}]
- >=dev-python/pywlroots-0.17[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \
- -i setup.py || die
-
- # some tests expect bin/qtile
- mkdir bin || die
- cat >> bin/qtile <<-EOF || die
- #!/bin/sh
- exec qtile "\${@}"
- EOF
- chmod +x bin/qtile || die
-
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- local -x CFFI_TMPDIR=${T}
- distutils-r1_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # mypy stuff
- test/test_check.py
- test/migrate/test_check_migrations.py
- # TODO: this test clearly requires x11 — so why is wayland
- # variant being run?
- 'test/backend/x11/test_window.py::test_urgent_hook_fire[wayland-2]'
- )
-
- # force usage of built module
- rm -rf libqtile || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- insinto /usr/share/wayland-sessions
- doins resources/qtile-wayland.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session-r1 ${PN}
-}