summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Manifest30
-rw-r--r--Manifest.files.gzbin29640 -> 29608 bytes
-rw-r--r--app-editors/Manifest.gzbin13919 -> 13921 bytes
-rw-r--r--app-editors/pyvim/Manifest2
-rw-r--r--app-editors/pyvim/pyvim-3.0.3.ebuild44
-rw-r--r--app-emulation/Manifest.gzbin14820 -> 14820 bytes
-rw-r--r--app-emulation/cloud-init/Manifest8
-rw-r--r--app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch54
-rw-r--r--app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch30
-rw-r--r--app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch26
-rw-r--r--app-emulation/cloud-init/files/22.1-add-support-for-package_upgrade.patch48
-rw-r--r--app-emulation/cloud-init/files/22.1-fix-update_package_sources-function.patch21
-rw-r--r--app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch25
-rw-r--r--app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch86
-rw-r--r--app-emulation/cloud-init/files/cloud-init-21.2-gentoo-support-upstream-templates.patch101
-rw-r--r--app-forensics/Manifest.gzbin4872 -> 4872 bytes
-rw-r--r--app-forensics/yara/Manifest2
-rw-r--r--app-forensics/yara/yara-4.2.1.ebuild2
-rw-r--r--app-i18n/Manifest.gzbin18840 -> 18837 bytes
-rw-r--r--app-i18n/ibus-pinyin/Manifest2
-rw-r--r--app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r5.ebuild (renamed from app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r4.ebuild)2
-rw-r--r--dev-cpp/Manifest.gzbin11935 -> 12109 bytes
-rw-r--r--dev-cpp/muParserX/Manifest3
-rw-r--r--dev-cpp/muParserX/metadata.xml19
-rw-r--r--dev-cpp/muParserX/muParserX-4.0.11.ebuild16
-rw-r--r--dev-db/Manifest.gzbin15924 -> 15916 bytes
-rw-r--r--dev-db/mariadb/Manifest22
-rw-r--r--dev-db/mariadb/mariadb-10.2.41.ebuild1289
-rw-r--r--dev-db/mariadb/mariadb-10.2.43.ebuild1292
-rw-r--r--dev-db/mariadb/mariadb-10.3.32.ebuild1281
-rw-r--r--dev-db/mariadb/mariadb-10.3.34.ebuild1284
-rw-r--r--dev-db/mariadb/mariadb-10.4.22.ebuild1302
-rw-r--r--dev-db/mariadb/mariadb-10.5.13.ebuild1309
-rw-r--r--dev-db/mariadb/mariadb-10.5.15.ebuild1309
-rw-r--r--dev-db/mariadb/mariadb-10.6.5-r1.ebuild1311
-rw-r--r--dev-db/mariadb/mariadb-10.6.8.ebuild1316
-rw-r--r--dev-db/sqlite/Manifest3
-rw-r--r--dev-db/sqlite/sqlite-3.39.1.ebuild436
-rw-r--r--dev-db/sqlmap/Manifest2
-rw-r--r--dev-db/sqlmap/sqlmap-1.6.5.ebuild2
-rw-r--r--dev-libs/Manifest.gzbin94804 -> 94802 bytes
-rw-r--r--dev-libs/ffcall/Manifest2
-rw-r--r--dev-libs/ffcall/ffcall-2.4-r1.ebuild67
-rw-r--r--dev-libs/ffcall/files/ffcall-2.4-slibtool.patch86
-rw-r--r--dev-libs/uulib/Manifest2
-rw-r--r--dev-libs/uulib/files/uulib-0.5.20-libtool.patch123
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r2.ebuild31
-rw-r--r--dev-lisp/Manifest.gzbin3372 -> 3379 bytes
-rw-r--r--dev-lisp/abcl/Manifest2
-rw-r--r--dev-lisp/abcl/abcl-1.9.0.ebuild30
-rw-r--r--dev-perl/Manifest.gzbin280973 -> 280973 bytes
-rw-r--r--dev-perl/XML-Feed/Manifest1
-rw-r--r--dev-perl/XML-Feed/files/XML-Feed-0.53-dotinc.patch45
-rw-r--r--dev-python/Manifest.gzbin256498 -> 257474 bytes
-rw-r--r--dev-python/PyQt5-sip/Manifest2
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild2
-rw-r--r--dev-python/QtPy/Manifest2
-rw-r--r--dev-python/QtPy/QtPy-2.1.0-r3.ebuild2
-rw-r--r--dev-python/filebytes/Manifest2
-rw-r--r--dev-python/filebytes/filebytes-0.10.2.ebuild2
-rw-r--r--dev-python/http-parser/Manifest2
-rw-r--r--dev-python/http-parser/http-parser-0.9.0-r1.ebuild2
-rw-r--r--dev-python/intelhex/Manifest2
-rw-r--r--dev-python/intelhex/intelhex-2.3.0-r1.ebuild2
-rw-r--r--dev-python/js2py/Manifest2
-rw-r--r--dev-python/js2py/js2py-0.71_p20210918.ebuild2
-rw-r--r--dev-python/leechcorepyc/Manifest2
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild2
-rw-r--r--dev-python/owslib/Manifest2
-rw-r--r--dev-python/owslib/owslib-0.26.0.ebuild2
-rw-r--r--dev-python/pefile/Manifest2
-rw-r--r--dev-python/pefile/pefile-2022.5.30.ebuild2
-rw-r--r--dev-python/pycurl/Manifest2
-rw-r--r--dev-python/pycurl/pycurl-7.45.1.ebuild2
-rw-r--r--dev-python/pylatexenc/Manifest3
-rw-r--r--dev-python/pylatexenc/metadata.xml22
-rw-r--r--dev-python/pylatexenc/pylatexenc-2.10.ebuild19
-rw-r--r--dev-python/pymacaroons/Manifest2
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0.ebuild16
-rw-r--r--dev-python/python-constraint/Manifest4
-rw-r--r--dev-python/python-constraint/files/python-constraint-1.4.0-exclude-examples.patch11
-rw-r--r--dev-python/python-constraint/metadata.xml20
-rw-r--r--dev-python/python-constraint/python-constraint-1.4.0.ebuild23
-rw-r--r--dev-python/python-ptrace/Manifest2
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.9.8.ebuild2
-rw-r--r--dev-python/qiskit-aer/Manifest4
-rw-r--r--dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch10
-rw-r--r--dev-python/qiskit-aer/metadata.xml21
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild92
-rw-r--r--dev-python/qiskit-terra/Manifest4
-rw-r--r--dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch36
-rw-r--r--dev-python/qiskit-terra/metadata.xml24
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild70
-rw-r--r--dev-python/retworkx/Manifest67
-rw-r--r--dev-python/retworkx/metadata.xml20
-rw-r--r--dev-python/retworkx/retworkx-0.11.0.ebuild112
-rw-r--r--dev-python/scikit-build/Manifest2
-rw-r--r--dev-python/scikit-build/scikit-build-0.15.0.ebuild2
-rw-r--r--dev-python/sip/Manifest2
-rw-r--r--dev-python/sip/sip-6.6.1.ebuild2
-rw-r--r--dev-python/tweedledum/Manifest3
-rw-r--r--dev-python/tweedledum/metadata.xml20
-rw-r--r--dev-python/tweedledum/tweedledum-1.1.1.ebuild35
-rw-r--r--dev-python/watchdog/Manifest2
-rw-r--r--dev-python/watchdog/watchdog-2.1.9.ebuild2
-rw-r--r--dev-python/yara-python/Manifest2
-rw-r--r--dev-python/yara-python/yara-python-4.2.0-r2.ebuild2
-rw-r--r--dev-util/Manifest.gzbin67796 -> 67808 bytes
-rw-r--r--dev-util/gn/Manifest2
-rw-r--r--dev-util/gn/gn-0.2049.ebuild64
-rw-r--r--dev-util/google-perftools/Manifest2
-rw-r--r--dev-util/google-perftools/google-perftools-2.10.ebuild116
-rw-r--r--dev-util/samurai/Manifest6
-rw-r--r--dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch36
-rw-r--r--dev-util/samurai/samurai-1.2-r2.ebuild (renamed from dev-util/samurai/samurai-1.2-r1.ebuild)6
-rw-r--r--dev-util/samurai/samurai-9999.ebuild4
-rw-r--r--dev-vcs/Manifest.gzbin10985 -> 10987 bytes
-rw-r--r--dev-vcs/python-gitlab/Manifest4
-rw-r--r--dev-vcs/python-gitlab/python-gitlab-3.5.0.ebuild2
-rw-r--r--dev-vcs/python-gitlab/python-gitlab-3.6.0.ebuild2
-rw-r--r--games-roguelike/Manifest.gzbin3053 -> 3051 bytes
-rw-r--r--games-roguelike/stone-soup/Manifest1
-rw-r--r--games-roguelike/stone-soup/files/make-no-png-dep-fix.patch94
-rw-r--r--games-strategy/Manifest.gzbin8250 -> 8245 bytes
-rw-r--r--games-strategy/augustus/Manifest3
-rw-r--r--games-strategy/augustus/augustus-3.0.1.ebuild1
-rw-r--r--games-strategy/augustus/files/augustus-3.0.1-musl-fix-execinfo.patch13
-rw-r--r--games-strategy/julius/Manifest3
-rw-r--r--games-strategy/julius/files/julius-1.6.0-musl-fix-execinfo.patch14
-rw-r--r--games-strategy/julius/julius-1.6.0.ebuild1
-rw-r--r--games-util/Manifest.gzbin7856 -> 7861 bytes
-rw-r--r--games-util/gamemode/Manifest3
-rw-r--r--games-util/gamemode/files/gamemode-1.6.1-signal_h-musl.patch39
-rw-r--r--games-util/gamemode/gamemode-1.6.1.ebuild2
-rw-r--r--mate-extra/Manifest.gzbin2907 -> 2911 bytes
-rw-r--r--mate-extra/mate-power-manager/Manifest4
-rw-r--r--mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-backtrace.patch89
-rw-r--r--mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-execinfo.patch38
-rw-r--r--mate-extra/mate-power-manager/mate-power-manager-1.24.3.ebuild6
-rw-r--r--mate-extra/mate-sensors-applet/Manifest3
-rw-r--r--mate-extra/mate-sensors-applet/files/mate-sensors-applet-1.24.1-dont-check-for-headers.patch20
-rw-r--r--mate-extra/mate-sensors-applet/mate-sensors-applet-1.24.1.ebuild6
-rw-r--r--media-gfx/Manifest.gzbin38486 -> 38487 bytes
-rw-r--r--media-gfx/gscan2pdf/Manifest4
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.12.8.ebuild (renamed from media-gfx/gscan2pdf/gscan2pdf-2.12.4.ebuild)2
-rw-r--r--media-gfx/hydrus/Manifest4
-rw-r--r--media-gfx/hydrus/hydrus-490.ebuild (renamed from media-gfx/hydrus/hydrus-481.ebuild)2
-rw-r--r--media-libs/Manifest.gzbin66137 -> 66139 bytes
-rw-r--r--media-libs/netpbm/Manifest2
-rw-r--r--media-libs/netpbm/netpbm-10.86.33.ebuild229
-rw-r--r--media-video/Manifest.gzbin26196 -> 26205 bytes
-rw-r--r--media-video/jellyfin-media-player/Manifest2
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.7.1.ebuild85
-rw-r--r--media-video/jellyfin-web-jmp-bin/Manifest2
-rw-r--r--media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild24
-rw-r--r--metadata/Manifest.gzbin3686 -> 3689 bytes
-rw-r--r--metadata/dtd/timestamp.chk2
-rw-r--r--metadata/glsa/Manifest28
-rw-r--r--metadata/glsa/timestamp.chk2
-rw-r--r--metadata/md5-cache/Manifest.gzbin28217 -> 28212 bytes
-rw-r--r--metadata/md5-cache/app-editors/Manifest.gzbin25992 -> 26150 bytes
-rw-r--r--metadata/md5-cache/app-editors/pyvim-3.0.317
-rw-r--r--metadata/md5-cache/app-forensics/Manifest.gzbin6274 -> 6272 bytes
-rw-r--r--metadata/md5-cache/app-forensics/yara-4.2.14
-rw-r--r--metadata/md5-cache/app-i18n/Manifest.gzbin28534 -> 28529 bytes
-rw-r--r--metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r5 (renamed from metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r4)10
-rw-r--r--metadata/md5-cache/dev-cpp/Manifest.gzbin21481 -> 21647 bytes
-rw-r--r--metadata/md5-cache/dev-cpp/muParserX-4.0.1112
-rw-r--r--metadata/md5-cache/dev-db/Manifest.gzbin37846 -> 36590 bytes
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.2.4118
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.2.4318
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.3.3218
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.3.3418
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.4.2218
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.5.1318
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.5.1518
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.6.5-r118
-rw-r--r--metadata/md5-cache/dev-db/mariadb-10.6.818
-rw-r--r--metadata/md5-cache/dev-db/sqlite-3.39.116
-rw-r--r--metadata/md5-cache/dev-db/sqlmap-1.6.54
-rw-r--r--metadata/md5-cache/dev-libs/Manifest.gzbin161458 -> 161783 bytes
-rw-r--r--metadata/md5-cache/dev-libs/ffcall-2.4-r111
-rw-r--r--metadata/md5-cache/dev-libs/uulib-0.5.20-r212
-rw-r--r--metadata/md5-cache/dev-lisp/Manifest.gzbin4873 -> 5036 bytes
-rw-r--r--metadata/md5-cache/dev-lisp/abcl-1.9.013
-rw-r--r--metadata/md5-cache/dev-python/Manifest.gzbin342889 -> 343906 bytes
-rw-r--r--metadata/md5-cache/dev-python/PyQt5-sip-12.10.14
-rw-r--r--metadata/md5-cache/dev-python/QtPy-2.1.0-r34
-rw-r--r--metadata/md5-cache/dev-python/filebytes-0.10.24
-rw-r--r--metadata/md5-cache/dev-python/http-parser-0.9.0-r14
-rw-r--r--metadata/md5-cache/dev-python/intelhex-2.3.0-r14
-rw-r--r--metadata/md5-cache/dev-python/js2py-0.71_p202109184
-rw-r--r--metadata/md5-cache/dev-python/leechcorepyc-2.10.24
-rw-r--r--metadata/md5-cache/dev-python/owslib-0.26.04
-rw-r--r--metadata/md5-cache/dev-python/pefile-2022.5.304
-rw-r--r--metadata/md5-cache/dev-python/pycurl-7.45.14
-rw-r--r--metadata/md5-cache/dev-python/pylatexenc-2.1016
-rw-r--r--metadata/md5-cache/dev-python/pymacaroons-0.13.08
-rw-r--r--metadata/md5-cache/dev-python/python-constraint-1.4.016
-rw-r--r--metadata/md5-cache/dev-python/python-ptrace-0.9.84
-rw-r--r--metadata/md5-cache/dev-python/qiskit-aer-0.10.316
-rw-r--r--metadata/md5-cache/dev-python/qiskit-terra-0.19.216
-rw-r--r--metadata/md5-cache/dev-python/retworkx-0.11.016
-rw-r--r--metadata/md5-cache/dev-python/scikit-build-0.15.04
-rw-r--r--metadata/md5-cache/dev-python/sip-6.6.14
-rw-r--r--metadata/md5-cache/dev-python/tweedledum-1.1.116
-rw-r--r--metadata/md5-cache/dev-python/watchdog-2.1.94
-rw-r--r--metadata/md5-cache/dev-python/yara-python-4.2.0-r24
-rw-r--r--metadata/md5-cache/dev-util/Manifest.gzbin125729 -> 126056 bytes
-rw-r--r--metadata/md5-cache/dev-util/gn-0.204913
-rw-r--r--metadata/md5-cache/dev-util/google-perftools-2.1016
-rw-r--r--metadata/md5-cache/dev-util/samurai-1.2-r2 (renamed from metadata/md5-cache/dev-util/samurai-1.2-r1)4
-rw-r--r--metadata/md5-cache/dev-util/samurai-99994
-rw-r--r--metadata/md5-cache/dev-vcs/Manifest.gzbin21214 -> 21218 bytes
-rw-r--r--metadata/md5-cache/dev-vcs/python-gitlab-3.5.02
-rw-r--r--metadata/md5-cache/dev-vcs/python-gitlab-3.6.02
-rw-r--r--metadata/md5-cache/games-strategy/Manifest.gzbin12448 -> 12447 bytes
-rw-r--r--metadata/md5-cache/games-strategy/augustus-3.0.12
-rw-r--r--metadata/md5-cache/games-strategy/julius-1.6.02
-rw-r--r--metadata/md5-cache/games-util/Manifest.gzbin9191 -> 9183 bytes
-rw-r--r--metadata/md5-cache/games-util/gamemode-1.6.12
-rw-r--r--metadata/md5-cache/mate-extra/Manifest.gzbin3259 -> 3258 bytes
-rw-r--r--metadata/md5-cache/mate-extra/mate-power-manager-1.24.32
-rw-r--r--metadata/md5-cache/mate-extra/mate-sensors-applet-1.24.12
-rw-r--r--metadata/md5-cache/media-gfx/Manifest.gzbin56122 -> 56114 bytes
-rw-r--r--metadata/md5-cache/media-gfx/gscan2pdf-2.12.8 (renamed from metadata/md5-cache/media-gfx/gscan2pdf-2.12.4)6
-rw-r--r--metadata/md5-cache/media-gfx/hydrus-48116
-rw-r--r--metadata/md5-cache/media-gfx/hydrus-49016
-rw-r--r--metadata/md5-cache/media-libs/Manifest.gzbin103407 -> 103569 bytes
-rw-r--r--metadata/md5-cache/media-libs/netpbm-10.86.3315
-rw-r--r--metadata/md5-cache/media-video/Manifest.gzbin41224 -> 41535 bytes
-rw-r--r--metadata/md5-cache/media-video/jellyfin-media-player-1.7.115
-rw-r--r--metadata/md5-cache/media-video/jellyfin-web-jmp-bin-10.8.110
-rw-r--r--metadata/md5-cache/net-analyzer/Manifest.gzbin67579 -> 67583 bytes
-rw-r--r--metadata/md5-cache/net-analyzer/net-snmp-5.9.3 (renamed from metadata/md5-cache/net-analyzer/net-snmp-5.9.2)8
-rw-r--r--metadata/md5-cache/net-firewall/Manifest.gzbin6729 -> 6723 bytes
-rw-r--r--metadata/md5-cache/net-firewall/ferm-2.7 (renamed from metadata/md5-cache/net-firewall/ferm-2.5.1)8
-rw-r--r--metadata/md5-cache/net-im/Manifest.gzbin18068 -> 18065 bytes
-rw-r--r--metadata/md5-cache/net-im/signal-desktop-bin-5.50.0 (renamed from metadata/md5-cache/net-im/signal-desktop-bin-5.48.0)2
-rw-r--r--metadata/md5-cache/net-misc/Manifest.gzbin94133 -> 94300 bytes
-rw-r--r--metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r4 (renamed from metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r3)4
-rw-r--r--metadata/md5-cache/net-misc/icaclient-22.5.0.164
-rw-r--r--metadata/md5-cache/net-misc/icaclient-22.7.0.2014
-rw-r--r--metadata/md5-cache/net-nds/Manifest.gzbin3898 -> 3730 bytes
-rw-r--r--metadata/md5-cache/net-nds/openldap-2.5.4-r116
-rw-r--r--metadata/md5-cache/net-nds/openldap-2.6.3 (renamed from metadata/md5-cache/net-nds/openldap-2.6.1-r1)6
-rw-r--r--metadata/md5-cache/sci-geosciences/Manifest.gzbin20139 -> 20609 bytes
-rw-r--r--metadata/md5-cache/sci-geosciences/grass-7.8.7-r116
-rw-r--r--metadata/md5-cache/sci-geosciences/grass-8.0.2-r116
-rw-r--r--metadata/md5-cache/sci-geosciences/grass-8.2.0-r116
-rw-r--r--metadata/md5-cache/sci-geosciences/grass-99998
-rw-r--r--metadata/md5-cache/sys-apps/Manifest.gzbin84914 -> 85385 bytes
-rw-r--r--metadata/md5-cache/sys-apps/plocate-1.1.162
-rw-r--r--metadata/md5-cache/sys-apps/systemd-251.24
-rw-r--r--metadata/md5-cache/sys-apps/systemd-251.318
-rw-r--r--metadata/md5-cache/sys-apps/systemd-utils-250.818
-rw-r--r--metadata/md5-cache/sys-apps/systemd-utils-251.318
-rw-r--r--metadata/md5-cache/sys-fs/Manifest.gzbin35444 -> 35626 bytes
-rw-r--r--metadata/md5-cache/sys-fs/google-drive-ocamlfuse-0.7.2916
-rw-r--r--metadata/md5-cache/sys-fs/inotify-tools-3.22.6.04
-rw-r--r--metadata/md5-cache/www-client/Manifest.gzbin12206 -> 12381 bytes
-rw-r--r--metadata/md5-cache/www-client/chromium-103.0.5060.11416
-rw-r--r--metadata/md5-cache/www-client/chromium-104.0.5112.122
-rw-r--r--metadata/md5-cache/www-client/google-chrome-103.0.5060.114 (renamed from metadata/md5-cache/www-client/google-chrome-103.0.5060.53)6
-rw-r--r--metadata/md5-cache/www-client/google-chrome-beta-104.0.5112.48 (renamed from metadata/md5-cache/www-client/google-chrome-beta-103.0.5060.53)2
-rw-r--r--metadata/md5-cache/www-client/google-chrome-unstable-105.0.5176.3 (renamed from metadata/md5-cache/www-client/google-chrome-unstable-104.0.5112.12)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-103.0.1264.62 (renamed from metadata/md5-cache/www-client/microsoft-edge-103.0.1264.37)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.45 (renamed from metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.32)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.14 (renamed from metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.21)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.21 (renamed from metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.37)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1293.5 (renamed from metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1287.1)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-dev-105.0.1300.1 (renamed from metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1278.2)2
-rw-r--r--metadata/md5-cache/www-client/opera-89.0.4447.48 (renamed from metadata/md5-cache/www-client/opera-88.0.4412.53)2
-rw-r--r--metadata/md5-cache/www-client/opera-beta-89.0.4447.31 (renamed from metadata/md5-cache/www-client/opera-beta-89.0.4447.12)2
-rw-r--r--metadata/md5-cache/www-client/opera-beta-89.0.4447.33 (renamed from metadata/md5-cache/www-client/opera-beta-89.0.4447.20)2
-rw-r--r--metadata/md5-cache/www-client/opera-beta-89.0.4447.37 (renamed from metadata/md5-cache/www-client/opera-beta-88.0.4412.20-r1)2
-rw-r--r--metadata/md5-cache/www-client/opera-developer-89.0.4443.014
-rw-r--r--metadata/md5-cache/www-client/opera-developer-90.0.4463.0 (renamed from metadata/md5-cache/www-client/opera-developer-90.0.4457.0-r1)2
-rw-r--r--metadata/md5-cache/www-client/opera-developer-90.0.4470.0 (renamed from metadata/md5-cache/www-client/opera-developer-90.0.4450.0)4
-rw-r--r--metadata/md5-cache/www-client/opera-developer-90.0.4477.014
-rw-r--r--metadata/md5-cache/www-plugins/Manifest.gzbin2230 -> 2237 bytes
-rw-r--r--metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.114 (renamed from metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53)2
-rw-r--r--metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.48_beta (renamed from metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53_beta)2
-rw-r--r--metadata/md5-cache/www-plugins/chrome-binary-plugins-105.0.5176.3_alpha (renamed from metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.12_alpha)2
-rw-r--r--metadata/news/Manifest28
-rw-r--r--metadata/news/timestamp.chk2
-rw-r--r--metadata/timestamp2
-rw-r--r--metadata/timestamp.chk2
-rw-r--r--metadata/timestamp.commit2
-rw-r--r--metadata/timestamp.x2
-rw-r--r--metadata/xml-schema/timestamp.chk2
-rw-r--r--net-analyzer/Manifest.gzbin45044 -> 45045 bytes
-rw-r--r--net-analyzer/net-snmp/Manifest3
-rw-r--r--net-analyzer/net-snmp/net-snmp-5.9.3.ebuild (renamed from net-analyzer/net-snmp/net-snmp-5.9.2.ebuild)12
-rw-r--r--net-firewall/Manifest.gzbin4543 -> 4548 bytes
-rw-r--r--net-firewall/ferm/Manifest4
-rw-r--r--net-firewall/ferm/ferm-2.7.ebuild (renamed from net-firewall/ferm/ferm-2.5.1.ebuild)10
-rw-r--r--net-im/Manifest.gzbin10430 -> 10429 bytes
-rw-r--r--net-im/signal-desktop-bin/Manifest4
-rw-r--r--net-im/signal-desktop-bin/signal-desktop-bin-5.50.0.ebuild (renamed from net-im/signal-desktop-bin/signal-desktop-bin-5.48.0.ebuild)0
-rw-r--r--net-libs/Manifest.gzbin32463 -> 32460 bytes
-rw-r--r--net-libs/libtrace/Manifest4
-rw-r--r--net-libs/libtrace/files/libtrace-3.0.20-autoconf-1.13.patch11
-rw-r--r--net-libs/libtrace/files/libtrace-4.0.0-no-examples.patch10
-rw-r--r--net-libs/libtrace/files/libtrace-4.0.0-with-numa.patch27
-rw-r--r--net-libs/libtrace/files/libtrace-4.0.9_p1-tinfo.patch30
-rw-r--r--net-misc/Manifest.gzbin55453 -> 55450 bytes
-rw-r--r--net-misc/dahdi-tools/Manifest4
-rw-r--r--net-misc/dahdi-tools/dahdi-tools-3.1.0-r4.ebuild (renamed from net-misc/dahdi-tools/dahdi-tools-3.1.0-r3.ebuild)6
-rw-r--r--net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r4 (renamed from net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r3)10
-rw-r--r--net-misc/icaclient/Manifest5
-rw-r--r--net-misc/icaclient/icaclient-22.5.0.16.ebuild7
-rw-r--r--net-misc/icaclient/icaclient-22.7.0.20.ebuild265
-rw-r--r--net-nds/Manifest.gzbin2566 -> 2568 bytes
-rw-r--r--net-nds/openldap/Manifest8
-rw-r--r--net-nds/openldap/files/slapd-confd14
-rw-r--r--net-nds/openldap/files/slapd-initd29
-rw-r--r--net-nds/openldap/openldap-2.5.4-r1.ebuild836
-rw-r--r--net-nds/openldap/openldap-2.6.3.ebuild (renamed from net-nds/openldap/openldap-2.6.1-r1.ebuild)11
-rw-r--r--profiles/Manifest.gzbin147468 -> 147294 bytes
-rw-r--r--profiles/arch/x86/profile.bashrc12
-rw-r--r--profiles/use.local.desc2
-rw-r--r--sci-geosciences/Manifest.gzbin11067 -> 11073 bytes
-rw-r--r--sci-geosciences/grass/Manifest7
-rw-r--r--sci-geosciences/grass/grass-7.8.7-r1.ebuild271
-rw-r--r--sci-geosciences/grass/grass-8.0.2-r1.ebuild286
-rw-r--r--sci-geosciences/grass/grass-8.2.0-r1.ebuild286
-rw-r--r--sci-geosciences/grass/grass-9999.ebuild7
-rw-r--r--sci-geosciences/grass/metadata.xml1
-rw-r--r--sys-apps/Manifest.gzbin48287 -> 48293 bytes
-rw-r--r--sys-apps/fakeroot/Manifest1
-rw-r--r--sys-apps/fakeroot/files/fakeroot-1.25.3-glibc-2.33.patch413
-rw-r--r--sys-apps/plocate/Manifest4
-rw-r--r--sys-apps/plocate/files/plocate-1.1.16-error-to-fprintf-exit-musl.patch337
-rw-r--r--sys-apps/plocate/files/plocate-1.1.16-include-linux-stat_h-musl.patch30
-rw-r--r--sys-apps/plocate/plocate-1.1.16.ebuild2
-rw-r--r--sys-apps/systemd-utils/Manifest4
-rw-r--r--sys-apps/systemd-utils/systemd-utils-250.8.ebuild500
-rw-r--r--sys-apps/systemd-utils/systemd-utils-251.3.ebuild511
-rw-r--r--sys-apps/systemd/Manifest4
-rw-r--r--sys-apps/systemd/systemd-251.2.ebuild2
-rw-r--r--sys-apps/systemd/systemd-251.3.ebuild535
-rw-r--r--sys-fs/Manifest.gzbin21687 -> 21861 bytes
-rw-r--r--sys-fs/google-drive-ocamlfuse/Manifest3
-rw-r--r--sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild34
-rw-r--r--sys-fs/google-drive-ocamlfuse/metadata.xml16
-rw-r--r--sys-fs/inotify-tools/Manifest2
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild2
-rw-r--r--www-client/Manifest.gzbin6213 -> 6196 bytes
-rw-r--r--www-client/chromium/Manifest4
-rw-r--r--www-client/chromium/chromium-103.0.5060.114.ebuild1114
-rw-r--r--www-client/chromium/chromium-104.0.5112.12.ebuild6
-rw-r--r--www-client/google-chrome-beta/Manifest4
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-104.0.5112.48.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-103.0.5060.53.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-105.0.5176.3.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-104.0.5112.12.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-103.0.5060.114.ebuild (renamed from www-client/google-chrome/google-chrome-103.0.5060.53.ebuild)1
-rw-r--r--www-client/microsoft-edge-beta/Manifest12
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.45.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.21.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.14.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.32.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.21.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.37.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest8
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1293.5.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1278.2.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-105.0.1300.1.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1287.1.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest4
-rw-r--r--www-client/microsoft-edge/microsoft-edge-103.0.1264.62.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-103.0.1264.37.ebuild)0
-rw-r--r--www-client/opera-beta/Manifest12
-rw-r--r--www-client/opera-beta/opera-beta-89.0.4447.31.ebuild (renamed from www-client/opera-beta/opera-beta-88.0.4412.20-r1.ebuild)0
-rw-r--r--www-client/opera-beta/opera-beta-89.0.4447.33.ebuild (renamed from www-client/opera-beta/opera-beta-89.0.4447.12.ebuild)0
-rw-r--r--www-client/opera-beta/opera-beta-89.0.4447.37.ebuild (renamed from www-client/opera-beta/opera-beta-89.0.4447.20.ebuild)0
-rw-r--r--www-client/opera-developer/Manifest14
-rw-r--r--www-client/opera-developer/opera-developer-89.0.4443.0.ebuild158
-rw-r--r--www-client/opera-developer/opera-developer-90.0.4463.0.ebuild (renamed from www-client/opera-developer/opera-developer-90.0.4457.0-r1.ebuild)0
-rw-r--r--www-client/opera-developer/opera-developer-90.0.4470.0.ebuild (renamed from www-client/opera-developer/opera-developer-90.0.4450.0.ebuild)2
-rw-r--r--www-client/opera-developer/opera-developer-90.0.4477.0.ebuild158
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-89.0.4447.48.ebuild (renamed from www-client/opera/opera-88.0.4412.53.ebuild)0
-rw-r--r--www-plugins/Manifest.gzbin1244 -> 1245 bytes
-rw-r--r--www-plugins/chrome-binary-plugins/Manifest12
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.114.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53.ebuild)0
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.48_beta.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53_beta.ebuild)0
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-105.0.5176.3_alpha.ebuild (renamed from www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.12_alpha.ebuild)0
383 files changed, 7401 insertions, 14320 deletions
diff --git a/Manifest b/Manifest
index 7f01c459bad5..70134d9118e4 100644
--- a/Manifest
+++ b/Manifest
@@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-MANIFEST Manifest.files.gz 29640 BLAKE2B 148903a6756c739963f926dc0f8dfcf6fe94a657be06fd34644127a877bd37f68d81c201ae26bb68605126d9a33b1ed498db1d134dbad7a480c0c05f696c6fb0 SHA512 1ba1b810477f3f68689f7417b12d0a132ddab00efecae1a953c30fd3af11694b43c4e010ff1134f9e083f8e0e635fa58e0b0963c92897f9b012156335e6c665b
-TIMESTAMP 2022-07-14T23:40:08Z
+MANIFEST Manifest.files.gz 29608 BLAKE2B ed094edb50b14aa645cb4743d54bf81175ab0e0f672aa042e8ea2b1c60904d9714d492d8bdfed2975a99a1c3d6e52dc5ac8b5ab4752bd74d448282b5920d0cc1 SHA512 d09316409a067336d914dd4f326b81a84a164165b981f16058eee4a47d8228ec73703d1b98a365ab63a32f1322a512619d95dc546c9af40eb0437754702339f4
+TIMESTAMP 2022-07-15T05:39:54Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQqVhfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQ/apfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klCgVA//ZU0gSU7m5LGpmykrY1dfv6tclIozZxRheF/qYygCSdCwbjsauFo8/Haz
-fidY6AVdgTHHiDO9wXFFJjRY+wZ6x7LetyCQTu2e1wNaS3lXGSjTYUaC8C11zm+w
-tBmgpPjkjHPTo+5WXTqfjp8yXo6L6KYGYa3w1C4PbPhU/CH5OvW0T0GyIkNgO+4O
-1MpZs/scr+N0lykYQg5HBPK9YHNGek8WhCzfbgzenLyMNRMtgVHBgBRe1u3ePmpO
-spWPHtW2m5nJJMTAIkBMdLK5b/J6UU7kSaYvu4iwIZI/BzbCCIKbZQPC4ntQxj2d
-+L27d8imn1HUDrU9DxvTOuAgDvQ7MRWwwlVw6+HBL/RpkNAZGah3aquYBZEm1bse
-rc/TlNGKxFXQoRHHz6BcMldnIIzEcI2UUWJfsgT/fS6Vd/qWcXORGMc7eeGYBrNc
-nGBntb7iaLFpQvLAJG92dlihEvK/PPXoPs6L4sK40lOjhICHv4SDvHfNWF7tq36q
-ExEix1mAPvNMG4ktQhOmdbfaMq1IyRhuyoQT4Malb7PmZIqDwGRyJV6un0MSx0si
-Lhblojzd8LUOXuDHNhmAmwQBveohHVm0pyzo7GRJ2WXFmN8KpGW4/TotaXBsWBnC
-9giX67/OD5vmdlGf2s2MEfkmH1aqCYSWNdk+sQXB2WN31hyMkyo=
-=n8aq
+klBKSA/+IasErpnF6Ito/URoeaX5iVlwtWTMVWX8Pu2n/C0Wow3V8TUjLICNRcNc
+6+U1Q9tqLfchCRa6Lg1KxrD0PF11S4++ftqWTUeMLh/hS1JIkoTqQfqNdCRlN33y
+VyWif7s9JgRtlZkK1ij2f2Vt4tSz33PmydNMTAXWODGG92JdVBbdLYpEH89nlUCf
+OY+um2tYvGyJhnqf6srCp/q2gDPws8CDHtPFKj7oy3NBWgy/l6aDW+z424y5gkJF
+D2q+Hylivh3GT/3A6z37qawIMhUUc6ogfGi8hwtAtpCe3spuXQWLnGBrMlo4O9Bm
+/4PdaxI0CQJoIfDOCUmRz19tlUfl2wCQfSmjEWyMnekx7yGtwMNCuliRE/wQazZb
+IHKivzhpOsHavPPvp5ZiuMU7XriWZoSqPGli331ZwvkbX1jWL+a9z1v8Tz2AJLpN
+shPiZCDxa/o+JU4QoRE/9vOFn3RaHVHkgMx85O1eotOHdEjbsdYG0+A6KpMHY2ic
+r6U26NlyggJEWCIFUiF6CgjLOZmuPTO/5IUudtzKkjMXG2r+DQwbmajJRwqe0n8o
+84VCy6P6CmnOn2LCT3CAvJpKcUqePP0AUgGEnKTyXUoynvDte3x7X5WncCC35vPg
+cM5pjhdXn2SlGQhSAGPzjAHebmkQ/uGFU9k8wsUcla+vyCYn+jk=
+=DaiS
-----END PGP SIGNATURE-----
diff --git a/Manifest.files.gz b/Manifest.files.gz
index 390fa1f68b4c..3e19c10d317d 100644
--- a/Manifest.files.gz
+++ b/Manifest.files.gz
Binary files differ
diff --git a/app-editors/Manifest.gz b/app-editors/Manifest.gz
index ef8ed2186ccb..0c283e8c9b98 100644
--- a/app-editors/Manifest.gz
+++ b/app-editors/Manifest.gz
Binary files differ
diff --git a/app-editors/pyvim/Manifest b/app-editors/pyvim/Manifest
index ab1d59d09f58..ac3f334c3b74 100644
--- a/app-editors/pyvim/Manifest
+++ b/app-editors/pyvim/Manifest
@@ -1,3 +1,5 @@
DIST pyvim-3.0.2.tar.gz 35227 BLAKE2B 8edc2218b3a0f2ba922531b75f65a5273ad9a2697f72ecf994cf7d2406c6311c3f28b22b6adb1243150a90db74962256ceaa7cf47ec99c2388299742451d6efb SHA512 da961342ba52e5beca44a607cbb923953388e8674409db9ca2b152017eeedce84f92e42a9f6d0e5019c5c4d88d82f4a987cb378f311cf84a169cefa54dc5efce
+DIST pyvim-3.0.3.gh.tar.gz 492633 BLAKE2B d62f1db2ec4af635841d18c860c5ac571c664116c539bab87b5f00a9c15b1f37f9dd53649d98a3d21d3bec9df0af46d18443eb1b34961d0971a7ed75df6a8c74 SHA512 0af9b772b97c21b8a9fe966497849eb83c6f770a212b98c7f261309f2f70d6cc8bcf2175660bee5c44850d6c805570946a79fbe9db7f1ffa8e20e19ef61a0635
EBUILD pyvim-3.0.2.ebuild 849 BLAKE2B c55e26424d8eac77cd2683626cfc0c45e59a881036f54902179286e15fc3e23d46b039389f07149056707e8d32c41afb28d96aeefe68791aa71235d3b2f4a826 SHA512 bc0225bf959e4695a862aca20e51ad015d14f17e2dc2eadb4677de4fb90b8d83a26e7d604a3cd283e401c0ee3a7db18cc1d191d064b37be3b4a4085427fe0fa6
+EBUILD pyvim-3.0.3.ebuild 1013 BLAKE2B ea4d5642f0e7d4f19cb66d75ecddf116467b938614c96aac9308eaaadb6565fb207b7011e5bf0633ed57dc40ba41387ee61d2354d78a117adcd76674e29a49cd SHA512 548a746cd864d4239d4fb391d4f4baa9c0964a89291714e9aef3db20612c781716a2b31ed581487daf6da00c10afbefc0d3f25cad76db8118f4cf9762bc0cf44
MISC metadata.xml 490 BLAKE2B a4af1d63730b2d7d6621d0a6fd3f4205016a940cc47d84ac48a692aa2d27c075f146d6a3d2581558af19cbab614fe47d9f9cb3679899387b2dc84b6b0f52c3cf SHA512 5eda2f764c81d21304541fe5d8c8330535d94b382b8bb94e9d15f01c184d4e09a6780dfe3745d4e3661c56e5a5a564147fbd4111fdfdd12b7075e1b9ad06488e
diff --git a/app-editors/pyvim/pyvim-3.0.3.ebuild b/app-editors/pyvim/pyvim-3.0.3.ebuild
new file mode 100644
index 000000000000..a82ef87a6274
--- /dev/null
+++ b/app-editors/pyvim/pyvim-3.0.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 edo
+
+COMMIT="14118ad2e4d0da2e955fd9069b8772408307618b"
+DESCRIPTION="An implementation of Vim in Python"
+HOMEPAGE="https://pypi.org/project/pyvim/ https://github.com/prompt-toolkit/pyvim"
+SRC_URI="https://github.com/prompt-toolkit/${PN}/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/docopt[${PYTHON_USEDEP}]
+ dev-python/prompt_toolkit[${PYTHON_USEDEP}]
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+IDEPEND="
+ app-eselect/eselect-vi
+"
+
+distutils_enable_tests pytest
+
+eselect_vi_update() {
+ edob eselect vi update --if-unset
+}
+
+pkg_postinst() {
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ eselect_vi_update
+}
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index bddd9bb9169b..2160dff4227f 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest
index c1424523de45..7e2f0fddd1c5 100644
--- a/app-emulation/cloud-init/Manifest
+++ b/app-emulation/cloud-init/Manifest
@@ -1,11 +1,3 @@
-AUX 18.4-add-support-for-package_upgrade.patch 1734 BLAKE2B 1eb4fd07bec989b1584ec0ad272243d33f0c6b6fd17994b6bda69c38a0360acedfdeb7ca81f8c9bee2c35a40b07b5f831a10315129c1b0fd030a00881831fc76 SHA512 ebe2eadb13190d29e1933a81d1e8a0301842f2a9fbf1848ec2618c479a731d98d8807827abb1b43aebb05110bc566048841f8d1b63118b691f8a0c3e4c32aefb
-AUX 18.4-fix-filename-for-storing-locale.patch 1045 BLAKE2B 0167101d78f821fefc3d05447d3fe35d7328cdebcb3a0eebdaaf2f14b8e2f46efe7c0fb4031baa3a8600546a47f98641719112992c8e50cc1ab0181851937f81 SHA512 8a3b1bf35a445cbc7c3d4849c4c9ebd716209bc3b38bc060cd3b27b1b09749da8dcf35c8e0963300f7cc21f43fda96e5928f9f3c86c22a784cc60b840a1cc419
-AUX 18.4-fix-update_package_sources-function.patch 880 BLAKE2B f8a50714d5763f43c177de8e65369203e4d3b94de98126b85fca22ee4a89f9568c6081078b03dd4bb6cdcd07c51bc55b093e94092a06fd7eeec610ce22780f67 SHA512 8b82d0e565a9f8b4f6464382e01b79c95ad0ced600bf2ba1c6377eea704f86108cf68bc20c99f65e68c6b2d7a7ccc02624bfef400dd76990ef18f00f1e220f6c
-AUX 22.1-add-support-for-package_upgrade.patch 1614 BLAKE2B 77f1c96a2a403fa0fedd2d80809bab03aa617b82bf590c4b274bb618b84a801b76734d500010e8749021d7e78bcb2a0b419773dffff25c728f82448645f458ef SHA512 308a5943da076b23aee25ba2a6c2302600476572903acd9d3f8806e7f7c3ed6d6ee39b268bb5d1a7702289aa86e9f5ffbf24823754a93aa84e889ec459353072
-AUX 22.1-fix-update_package_sources-function.patch 714 BLAKE2B 361ce316d4c499da40e55651fc3b0d4279b78386a47bf17240a1ca2071893f6454f9658c5242c19a05f3788680ed430a8b2308d03931ba6c0c5c282cd28a6da9 SHA512 2f8509356c66b5fd915280b21720e4072119d7fe85b747929cafb0c72926fb9ed1c300cd82f7e07696bd051720e3b53153299b07e51391821aafc30f6e28a6f7
-AUX cloud-init-18.4-fix-packages-module.patch 704 BLAKE2B e5deb163e7d97365befb63bf6978900d250356a3b29972b5c8ec6dd19c202d03cf0a07bbf1e8b437c3ec80b810f5c1af456bd589adfde290636b3fc10028ad36 SHA512 ea28c8d5c9a4ebd0d65dea8dd09e5c9c9973fc3456ff8a4e35b3eb4eb856e5c4809b922ef5d958682fb7429ba23eafd80e0fdee629967b7f838d4127db5e1ac7
-AUX cloud-init-20.4-gentoo-support-upstream-templates.patch 3467 BLAKE2B 0d6185373ef7de03de60f3ae277a808a8457c8bbce23ab5a10ff3382c0ace244fe5d054285d2eeeb99956863156f3ff0000b7f6f84b706489d19c29cb1dbeadf SHA512 d5209c78ede276b6d614baad2ff586008694e4533114394207f377a67cbb8cd9a73547c8e0a9daa55051fa56ccb099b3a0f2bcf824cda0cbef0de858332c95f8
-AUX cloud-init-21.2-gentoo-support-upstream-templates.patch 3793 BLAKE2B 4e5cbc9fa872cc1d148861be1d1fb0615a68e69c6acbec8173580590c8d2c5e50df44e067d3b8ea77dd0b23ef658837a2a317c98712f8b42e9a14398d4cfe996 SHA512 9d436f223dacfd018df4caf407b0da3de5e9cc1932d3aad56f455c664d2b9f3dc8ab40d8607f9ef4481ee778ae897717161d3cb1a7d4d99041585a00a97d8774
DIST cloud-init-22.2.2.tar.gz 1349451 BLAKE2B fdb6669e9762984614fefe787834f20f056345d304327679fa8bc7b4d6566509a23ecc4a7ac4e6368b9b9078a72fe6fe35533a67e7aeb0c0accbf5ad014f8aae SHA512 18b75ebbb5e808e19df5ceddb6402cc881c33443fb169f736f54837254ba43836994f2392a26febbd8df3342b3467ee72759b6942cfeb96d07c0e452c11dd0bf
EBUILD cloud-init-22.2.2.ebuild 2303 BLAKE2B dd14192049501a05542cd32c78833b0757e9c250a527081b6923743fda766873eda41a7e97aaf407921d7081b1499b67e528b5e5fd70f08b3523568480969132 SHA512 e90ee7bdf5df9a42deecfa6e5f004cc4752437e6807cf4ebb87be72a32b489f5d26a58612f6168653e0619ae6d463a3a36723371761a7cca7a54b50e87238c12
EBUILD cloud-init-9999.ebuild 2262 BLAKE2B d9e5722888f36579fed20e1adcb91e36a465395a19f5cf958cd85f8c25c229ee33515bc0a2d98f85f1f470b3bad53c20e7906551778237dfeaea97b062e3c282 SHA512 12ffc5dbdffce1927ff142e7e0a5be049543661b7aeb6643b3b6c7b65c462acc7969f31bcc120d2975e0b39624e89952adc17d2fc89f55878a2fb1350376985a
diff --git a/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch b/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch
deleted file mode 100644
index 9c542cfc0777..000000000000
--- a/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7868b97507d0dd7d7721ad5c4539e22c67635f92 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:58:30 +0100
-Subject: [PATCH 5/5] gentoo: add support for package_upgrade
-
----
- cloudinit/distros/gentoo.py | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 7b838e82..22ad2cf3 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -189,23 +189,26 @@ class Distro(distros.Distro):
- distros.set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz))
-
- def package_command(self, command, args=None, pkgs=None):
-- if pkgs is None:
-- pkgs = []
--
- cmd = ['emerge']
- # Redirect output
- cmd.append("--quiet")
-
-- if args and isinstance(args, str):
-- cmd.append(args)
-- elif args and isinstance(args, list):
-- cmd.extend(args)
-+ if command == "upgrade":
-+ cmd.extend(["--update", "world"])
-+ else:
-+ if pkgs is None:
-+ pkgs = []
-+
-+ if args and isinstance(args, str):
-+ cmd.append(args)
-+ elif args and isinstance(args, list):
-+ cmd.extend(args)
-
-- if command:
-- cmd.append(command)
-+ if command:
-+ cmd.append(command)
-
-- pkglist = util.expand_package_list('%s-%s', pkgs)
-- cmd.extend(pkglist)
-+ pkglist = util.expand_package_list('%s-%s', pkgs)
-+ cmd.extend(pkglist)
-
- # Allow the output of this to flow outwards (ie not be captured)
- util.subp(cmd, capture=False)
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch b/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch
deleted file mode 100644
index a5bbf6034ac5..000000000000
--- a/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3756cdea3e844b9611de321a8075df80e7dbf74d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:28:22 +0100
-Subject: [PATCH 3/5] gentoo: fix filename for storing locale
-
-There must have been a misunderstanding as locale.gen is meant to
-contain locales to be generated if no argument is passed to locale-gen.
-
-When using openrc, Gentoo stores system locale in /etc/env.d/02locale
-which is generally manipulated through eselect.
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 98ac41ca..50bb61fb 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -20,7 +20,7 @@ LOG = logging.getLogger(__name__)
-
-
- class Distro(distros.Distro):
-- locale_conf_fn = '/etc/locale.gen'
-+ locale_conf_fn = '/etc/env.d/02locale'
- network_conf_fn = '/etc/conf.d/net'
- resolve_conf_fn = '/etc/resolv.conf'
- hostname_conf_fn = '/etc/conf.d/hostname'
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch b/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch
deleted file mode 100644
index d90258d1bc48..000000000000
--- a/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b15c4c4b24c894b3c8d444466110c881c35525e2 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:35:37 +0100
-Subject: [PATCH 4/5] gentoo: fix update_package_sources function
-
-Method is meant to update packages repository, not to update the system.
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 50bb61fb..7b838e82 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -212,7 +212,7 @@ class Distro(distros.Distro):
-
- def update_package_sources(self):
- self._runner.run("update-sources", self.package_command,
-- ["-u", "world"], freq=PER_INSTANCE)
-+ ["--sync"], freq=PER_INSTANCE)
-
-
- def convert_resolv_conf(settings):
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/22.1-add-support-for-package_upgrade.patch b/app-emulation/cloud-init/files/22.1-add-support-for-package_upgrade.patch
deleted file mode 100644
index 124b4225d830..000000000000
--- a/app-emulation/cloud-init/files/22.1-add-support-for-package_upgrade.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 7868b97507d0dd7d7721ad5c4539e22c67635f92 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:58:30 +0100
-Subject: [PATCH 5/5] gentoo: add support for package_upgrade
-
----
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 4eb76da8..702cda8a 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -218,23 +218,26 @@ class Distro(distros.Distro):
- distros.set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz))
-
- def package_command(self, command, args=None, pkgs=None):
-- if pkgs is None:
-- pkgs = []
--
- cmd = list("emerge")
- # Redirect output
- cmd.append("--quiet")
-
-- if args and isinstance(args, str):
-- cmd.append(args)
-- elif args and isinstance(args, list):
-- cmd.extend(args)
-+ if command == "upgrade":
-+ cmd.extend(["--update", "world"])
-+ else:
-+ if pkgs is None:
-+ pkgs = []
-+
-+ if args and isinstance(args, str):
-+ cmd.append(args)
-+ elif args and isinstance(args, list):
-+ cmd.extend(args)
-
-- if command:
-- cmd.append(command)
-+ if command:
-+ cmd.append(command)
-
-- pkglist = util.expand_package_list("%s-%s", pkgs)
-- cmd.extend(pkglist)
-+ pkglist = util.expand_package_list("%s-%s", pkgs)
-+ cmd.extend(pkglist)
-
- # Allow the output of this to flow outwards (ie not be captured)
- subp.subp(cmd, capture=False)
diff --git a/app-emulation/cloud-init/files/22.1-fix-update_package_sources-function.patch b/app-emulation/cloud-init/files/22.1-fix-update_package_sources-function.patch
deleted file mode 100644
index 7a1b938e4e60..000000000000
--- a/app-emulation/cloud-init/files/22.1-fix-update_package_sources-function.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From b15c4c4b24c894b3c8d444466110c881c35525e2 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:35:37 +0100
-Subject: [PATCH 4/5] gentoo: fix update_package_sources function
-
-Method is meant to update packages repository, not to update the system.
----
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 702cda8a..37217fe4 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -246,7 +246,7 @@ class Distro(distros.Distro):
- self._runner.run(
- "update-sources",
- self.package_command,
-- ["-u", "world"],
-+ ["--sync"],
- freq=PER_INSTANCE,
- )
-
diff --git a/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch b/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch
deleted file mode 100644
index 4a42cbb7d9e1..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e894c6f57b88305cdf6e4e2b1543475b2e02f436 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 23 Oct 2018 18:59:58 +0200
-Subject: [PATCH 1/2] Fix Gentoo package installation command
-
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index dc57717d..98ac41ca 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -192,7 +192,7 @@ class Distro(distros.Distro):
- if pkgs is None:
- pkgs = []
-
-- cmd = list('emerge')
-+ cmd = ['emerge']
- # Redirect output
- cmd.append("--quiet")
-
---
-2.19.0
-
diff --git a/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch b/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch
deleted file mode 100644
index ec6063d0c68a..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 24 Oct 2018 10:52:46 +0200
-Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
-
----
- config/cloud.cfg.tmpl | 8 ++++++--
- templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
- tools/render-cloudcfg | 2 +-
- 3 files changed, 31 insertions(+), 3 deletions(-)
- create mode 100644 templates/hosts.gentoo.tmpl
-
-diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
-index 1fef133a..3f5a41a2 100644
---- a/config/cloud.cfg.tmpl 2020-12-27 18:35:39.107000000 +0000
-+++ b/config/cloud.cfg.tmpl 2020-12-27 18:38:23.982000000 +0000
-@@ -154,7 +154,7 @@ cloud_final_modules:
- system_info:
- # This will affect which distro class gets used
- {% if variant in ["alpine", "amazon", "arch", "centos", "debian",
-- "fedora", "freebsd", "netbsd", "openbsd", "rhel",
-+ "fedora", "freebsd", "gentoo", "netbsd", "openbsd", "rhel",
- "suse", "ubuntu"] %}
- distro: {{ variant }}
- {% else %}
-@@ -206,7 +206,7 @@ system_info:
- primary: http://ports.ubuntu.com/ubuntu-ports
- security: http://ports.ubuntu.com/ubuntu-ports
- ssh_svcname: ssh
--{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora",
-+{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora", "gentoo",
- "rhel", "suse"] %}
- # Default user name + that default users groups (if added/used)
- default_user:
-@@ -221,6 +221,10 @@ system_info:
- {% endif %}
- {% if variant == "suse" %}
- groups: [cdrom, users]
-+{% elif variant == "gentoo" %}
-+ groups: [users, wheel]
-+ primary_group: users
-+ no_user_group: true
- {% elif variant == "alpine" %}
- groups: [adm, sudo]
- {% elif variant == "arch" %}
-diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
-new file mode 100644
-index 00000000..cd045fa6
---- /dev/null
-+++ b/templates/hosts.gentoo.tmpl
-@@ -0,0 +1,24 @@
-+## template:jinja
-+{#
-+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
-+if enabled in cloud-config. Specifically, in order to enable it
-+you need to add the following to config:
-+ manage_etc_hosts: True
-+-#}
-+# Your system has configured 'manage_etc_hosts' as True.
-+# As a result, if you wish for changes to this file to persist
-+# then you will need to either
-+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
-+# b.) change or remove the value of 'manage_etc_hosts' in
-+# /etc/cloud/cloud.cfg or cloud-config from user-data
-+#
-+# The following lines are desirable for IPv4 capable hosts
-+127.0.0.1 {{fqdn}} {{hostname}}
-+127.0.0.1 localhost.localdomain localhost
-+127.0.0.1 localhost4.localdomain4 localhost4
-+
-+# The following lines are desirable for IPv6 capable hosts
-+::1 {{fqdn}} {{hostname}}
-+::1 localhost.localdomain localhost
-+::1 localhost6.localdomain6 localhost6
-+
-diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
-index 8b7cb875..d109044e 100755
---- a/tools/render-cloudcfg 2020-12-27 18:44:22.032049636 +0000
-+++ a/tools/render-cloudcfg 2020-12-27 18:44:41.632619051 +0000
-@@ -5,7 +5,7 @@ import os
- import sys
-
- VARIANTS = ["alpine", "amazon", "arch", "centos", "debian", "fedora",
-- "freebsd", "netbsd", "openbsd", "rhel", "suse", "ubuntu",
-+ "freebsd", "gentoo", "netbsd", "openbsd", "rhel", "suse", "ubuntu",
- "unknown"]
diff --git a/app-emulation/cloud-init/files/cloud-init-21.2-gentoo-support-upstream-templates.patch b/app-emulation/cloud-init/files/cloud-init-21.2-gentoo-support-upstream-templates.patch
deleted file mode 100644
index fb4eed77fcbc..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-21.2-gentoo-support-upstream-templates.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 24 Oct 2018 10:52:46 +0200
-Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
-
----
- config/cloud.cfg.tmpl | 8 ++++++--
- templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
- tools/render-cloudcfg | 2 +-
- 3 files changed, 31 insertions(+), 3 deletions(-)
- create mode 100644 templates/hosts.gentoo.tmpl
-
-diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
-index 1fef133a..3f5a41a2 100644
---- a/config/cloud.cfg.tmpl
-+++ b/config/cloud.cfg.tmpl
-@@ -134,7 +134,7 @@ cloud_final_modules:
- # (not accessible to handlers/transforms)
- system_info:
- # This will affect which distro class gets used
--{% if variant in ["alpine", "amazon", "arch", "centos", "debian",
-- "fedora", "freebsd", "netbsd", "openbsd", "rhel",
-- "suse", "ubuntu"] %}
-+{% if variant in ["alpine", "amazon", "arch", "centos", "debian",
-+ "fedora", "freebsd", "gentoo", "netbsd",
-+ "openbsd", "rhel", "suse", "ubuntu"] %}
- distro: {{ variant }}
- {% else %}
- # Unknown/fallback distro.
-@@ -172,7 +172,7 @@ system_info:
- primary: http://ports.ubuntu.com/ubuntu-ports
- security: http://ports.ubuntu.com/ubuntu-ports
- ssh_svcname: ssh
--{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora",
-- "rhel", "suse"] %}
-+{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora",
-+ "gentoo", "rhel", "suse"] %}
- # Default user name + that default users groups (if added/used)
- default_user:
- name: {{ variant }}
-@@ -180,6 +180,10 @@ system_info:
- {% endif %}
- {% if variant == "suse" %}
- groups: [cdrom, users]
-+{% elif variant == "gentoo" %}
-+ groups: [users, wheel]
-+ primary_group: users
-+ no_user_group: true
- {% elif variant == "arch" %}
- groups: [wheel, users]
- {% else %}
-diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
-new file mode 100644
-index 00000000..cd045fa6
---- /dev/null
-+++ b/templates/hosts.gentoo.tmpl
-@@ -0,0 +1,24 @@
-+## template:jinja
-+{#
-+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
-+if enabled in cloud-config. Specifically, in order to enable it
-+you need to add the following to config:
-+ manage_etc_hosts: True
-+-#}
-+# Your system has configured 'manage_etc_hosts' as True.
-+# As a result, if you wish for changes to this file to persist
-+# then you will need to either
-+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
-+# b.) change or remove the value of 'manage_etc_hosts' in
-+# /etc/cloud/cloud.cfg or cloud-config from user-data
-+#
-+# The following lines are desirable for IPv4 capable hosts
-+127.0.0.1 {{fqdn}} {{hostname}}
-+127.0.0.1 localhost.localdomain localhost
-+127.0.0.1 localhost4.localdomain4 localhost4
-+
-+# The following lines are desirable for IPv6 capable hosts
-+::1 {{fqdn}} {{hostname}}
-+::1 localhost.localdomain localhost
-+::1 localhost6.localdomain6 localhost6
-+
-diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
-index 8b7cb875..d109044e 100755
---- a/tools/render-cloudcfg
-+++ b/tools/render-cloudcfg
-@@ -4,7 +4,7 @@ import argparse
- import os
- import sys
-
--VARIANTS = ["alpine", "amazon", "arch", "centos", "debian", "fedora",
-- "freebsd", "netbsd", "openbsd", "rhel", "suse", "ubuntu",
-- "unknown"]
-+VARIANTS = ["alpine", "amazon", "arch", "centos", "debian", "fedora",
-+ "freebsd", "gentoo", "netbsd", "openbsd", "rhel", "suse",
-+ "ubuntu", "unknown"]
-
- if "avoid-pep8-E402-import-not-top-of-file":
- _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
---
-2.19.1
-
diff --git a/app-forensics/Manifest.gz b/app-forensics/Manifest.gz
index 7498592f13f4..ae560883e6e2 100644
--- a/app-forensics/Manifest.gz
+++ b/app-forensics/Manifest.gz
Binary files differ
diff --git a/app-forensics/yara/Manifest b/app-forensics/yara/Manifest
index a5b3561e40b5..91b7c282d9b3 100644
--- a/app-forensics/yara/Manifest
+++ b/app-forensics/yara/Manifest
@@ -3,6 +3,6 @@ DIST yara-4.2.0.tar.gz 1284059 BLAKE2B 735d161fde5f84199315f1ce6d31f1ad79488312b
DIST yara-4.2.1.tar.gz 1285173 BLAKE2B dc290bf7fe85d468fd519e68a12d88097d817ca064a665397ba64768078a2d572b46e488eb48747ea1904207598b41a72a510b4b8e4e8601cf518cb6ab98c322 SHA512 036a35d713647b23998135da0d27c13a8876aa44e18e3c9dc99fa425273d7c4a953cbdc78f413f29e8bf818d84b340d0719e241d2a83b7165a16d97e952c45b0
DIST yara-4.2.2.tar.gz 1287486 BLAKE2B 956a9ed4dab64d24cff680248b4f95b06287e96d27b3f94ff80e97641b3dc4581eaee59cf0d19dfffa9f90a6f0a56f95d3f90f9e9472b65e133bf4aac3e42da3 SHA512 6eb42e63eff93ce636e1d2ae84e30621eeea0d91e1d72bb2cbe826aca6af306bb3564ac2314bc090fb59c9aca5436e72d33658009722ce0cfbaae7ef87cc894e
EBUILD yara-4.2.0-r1.ebuild 1235 BLAKE2B fb9a2aadf66a8e0d31d4be0028c3d1c6d300fb9c211aaf2c1cb0944836105a0e7ad8e2dad93427464a0fb595473efcd3bb4ec9fb5718e280b2b0ee1dfd503e45 SHA512 20261ad386daae1b9de122eef6794099a661134c6efbcdaf84f64c687465040743187ebbcad5f7b8c56543db6a41cbf442a63c71ddf608112c1504a7f2f9c75a
-EBUILD yara-4.2.1.ebuild 1235 BLAKE2B fb9a2aadf66a8e0d31d4be0028c3d1c6d300fb9c211aaf2c1cb0944836105a0e7ad8e2dad93427464a0fb595473efcd3bb4ec9fb5718e280b2b0ee1dfd503e45 SHA512 20261ad386daae1b9de122eef6794099a661134c6efbcdaf84f64c687465040743187ebbcad5f7b8c56543db6a41cbf442a63c71ddf608112c1504a7f2f9c75a
+EBUILD yara-4.2.1.ebuild 1233 BLAKE2B aa908f1492fd17c96c5a8a2e6cc392873557ccb81e74e52cbdb1996fb82b842da003780359a18233a259b7cedb31c03acd2910d64a79d2b46b4ee9806a94a777 SHA512 a53cf98779c89ee447fbc7ae4254a055ece4ea8da4b6731a798d03fd27b72605b30b5a68e2fc3526ea8167dec12971e98a152af38f19e1eecf7488e5938a2c8f
EBUILD yara-4.2.2.ebuild 1242 BLAKE2B 86e47f4928b80eb685ad88e98b3130bb696cb9da7fa0d15271e2b9b49760b853393003016810b1f3da2f655e5f343acaf83b852185d2ce8bddac2a036e6cdc8b SHA512 8c63f241bdb49cf02b117186c6f23460f20a47bbb4d2ab6a445585e541a0f0962624790c881e8ec95e1d4d5291dd89d73ebe138dc11cf6159fdcbe0f97377f67
MISC metadata.xml 1151 BLAKE2B a2f641c9c0f851884cc6482248446d7b509e4ca2c5cec26159063a0fec025b8928955cfefbdf87e26ace0d06a01a2cec7d1f3d10b09b99b1cf1040c09519adfa SHA512 5001e3a14dc458a6b27f69226fb346dc8bf07058270e20b81f325c0742300ccb6e241b3d3dc6f55eccc43b68f0fea74977d33d8bcca6d0612057f6015f857500
diff --git a/app-forensics/yara/yara-4.2.1.ebuild b/app-forensics/yara/yara-4.2.1.ebuild
index a4761519106a..b7af959baad0 100644
--- a/app-forensics/yara/yara-4.2.1.ebuild
+++ b/app-forensics/yara/yara-4.2.1.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}-${PV/_/-}"
LICENSE="Apache-2.0"
SLOT="0/8"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
IUSE="+dex +dotnet +cuckoo +macho +magic profiling python test"
RESTRICT="!test? ( test )"
diff --git a/app-i18n/Manifest.gz b/app-i18n/Manifest.gz
index c5a21f693041..4890632251d0 100644
--- a/app-i18n/Manifest.gz
+++ b/app-i18n/Manifest.gz
Binary files differ
diff --git a/app-i18n/ibus-pinyin/Manifest b/app-i18n/ibus-pinyin/Manifest
index fde023b4ac9e..6eaefe554ce9 100644
--- a/app-i18n/ibus-pinyin/Manifest
+++ b/app-i18n/ibus-pinyin/Manifest
@@ -2,5 +2,5 @@ AUX ibus-pinyin-1.5.0-content-type-method.patch 5534 BLAKE2B 658a4d099b02b344f38
AUX ibus-pinyin-1.5.0-python3.patch 2983 BLAKE2B 35f8b1d0649a3614fcecec78b3246dcecd8b40f68d71165b2c40d802bb42bff1d8f3f4c2c1baf25fc6ca97e190f7eb2004054f4d9857b605129b45c41b273f52 SHA512 c9eda6fb227358c8214ba717f6d800f3c47f9110e99e16601966651bd698cd703daedcec82a2933b76701bc05870ff88715a6d639333b5e5959c1f5e86e2dcff
AUX ibus-pinyin-boost.patch 409 BLAKE2B 5fececc7f4ed6941d374799ccdb1d9d7deeeb7078bedc8d0085e12f8310c42d752c14168a7d07a88e9412fa9cbff5c5bdf4274202d2ed6b6e7f337a96c65c3f0 SHA512 8e4efe9b5d12d35672dd8891a49599bef6611aeb723e8fbc08197896e417cca1d55cf31a0bb1f3ec572db489b01aa36349eaf9238d1a693483d6e21bc10eab2e
DIST ibus-pinyin-1.5.0.tar.gz 692516 BLAKE2B ae53eb79ea4e5336347d689814d8ef033551a9b432268e643927b28911da3d03701acb3f337d7781168461c1c53537f2271fc8f253d1e99a269f61ae5eb83b05 SHA512 b0cd849ee3154543747dde8994eec9aed01d67e0d9be308a2f0230cf22f0281cd8fcabd9763b24238547a37e54400bcd8e541937767b93f005d04302f0c00241
-EBUILD ibus-pinyin-1.5.0-r4.ebuild 1306 BLAKE2B 89523e9c9473006925ee01673695078e434412c67d8d533dde7f0a667b719efc1ee85a926cd942a70019abc9eaf59b2425f558766da7a008eb5adc1dfda0947c SHA512 e568f8ee69046a247b945744af80a084a04aeafdb6ae9c09e2680ededa1266ca82d7ff03cb24faec73ca40e910a1847b509030a4a57f8705b4cbeee2955739c9
+EBUILD ibus-pinyin-1.5.0-r5.ebuild 1307 BLAKE2B 0c616254017ed7b57076ed12a7f09828a879342226fb8c4af204969df29fef0eebaafd0478ae03c4a0d67cd336e3eb5d4048cf4306379dbe1311d00017337d88 SHA512 b1c5deed2a2a6544a6e55e087ad494260727c5bbd257ddd32cc5cade1d75c5d838e93abe515b19d2339fe6e559671ee2a2e6a7db0b9c58b8f9fa5163ada45cee
MISC metadata.xml 525 BLAKE2B 54c6aef9209148f57e663ae762242e0d3d0ef4ecb1eed537c8509083c8094842074f072668d595bc55d28698a1433997632ce0daede144cbaff1b35a32ff0447 SHA512 7dd6aa126f71457e8e86a2b02998944144399b73815f5afa789a320f531d74e41b5d7a21b2639ec673216bae09fc0b1e09659d8e975926a7c03934e5beddc2f2
diff --git a/app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r4.ebuild b/app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r5.ebuild
index 0cff64748626..2d62a9d3d177 100644
--- a/app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r4.ebuild
+++ b/app-i18n/ibus-pinyin/ibus-pinyin-1.5.0-r5.ebuild
@@ -3,7 +3,7 @@
EAPI=7
LUA_COMPAT=( lua5-1 )
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit autotools lua-single python-single-r1
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index c154f04d003e..370047d9a1ec 100644
--- a/dev-cpp/Manifest.gz
+++ b/dev-cpp/Manifest.gz
Binary files differ
diff --git a/dev-cpp/muParserX/Manifest b/dev-cpp/muParserX/Manifest
new file mode 100644
index 000000000000..fde746401cd3
--- /dev/null
+++ b/dev-cpp/muParserX/Manifest
@@ -0,0 +1,3 @@
+DIST muParserX-4.0.11.tar.gz 215824 BLAKE2B f077fee44d4b67b02a0c559ce492b27107b0f5294eca7266e968c852e1e2503a4f5fc4d32b07e5c6ebca8ab95d7f30cdacd257439f70a7943c5ad22d111139c9 SHA512 67846a91b57e41731a656cfee68effdd9166e738108764be5d3080854d8a01bedbeacaaade7bee11c6b5f83019abddeca3b2c9acdfbb48629da6d9b92c79c7af
+EBUILD muParserX-4.0.11.ebuild 441 BLAKE2B 3cc52724f96f990d000642cf4e4c17616c13e032be231ca7b4fcb2354493dd6a6cd60249e8ba414bdfa7205f7ae6b3afa71d897de703fab5da4836c2b5d556f3 SHA512 702c9c47600622ce1ccd5217837451dbd105cf2b91b54928aa70dab8aab83ff7da7fa0060894a25593a0a18a4e0e53b6e96b3d3bb47980abb25c9b7e66cbe6c5
+MISC metadata.xml 1154 BLAKE2B 60fd7234e520e54cbc46fbc0fda2bbcb4ed71f2f8f2067619dad79a20f7917088fdbd4a54d65bde0e13cd8d486ffde65ad42a79dd5ba27a0b569cc5ed9aaaecd SHA512 4cf74c1bde49cc2ef074dd0728712b3a2f78633033bac2323f46bc06fc72d96fac5145bb5e9af27ed422b991a934656f199c5477692b32776b0941ccb40474e1
diff --git a/dev-cpp/muParserX/metadata.xml b/dev-cpp/muParserX/metadata.xml
new file mode 100644
index 000000000000..f9242a1fe47a
--- /dev/null
+++ b/dev-cpp/muParserX/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The evaluation of a mathematical expression is a standard task required in many applications. It can be solved by either using a standard math expression parser such as muparser or by embedding a scripting language such as Lua. There are however some limitations: Although muparser is pretty fast it will only work with scalar values and although Lua is very flexible it does neither support binary operators for arrays nor complex numbers. So if you need a math expression parser with support for arrays, matrices and strings muparserx may be able to help you.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">beltoforion/muparserx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/muParserX/muParserX-4.0.11.ebuild b/dev-cpp/muParserX/muParserX-4.0.11.ebuild
new file mode 100644
index 000000000000..373e92ac6637
--- /dev/null
+++ b/dev-cpp/muParserX/muParserX-4.0.11.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more"
+HOMEPAGE="https://beltoforion.de/en/muparser/"
+SRC_URI="https://github.com/beltoforion/muparserx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/muparserx-${PV}
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 3a416480906a..a58e31f0bef7 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 7ab0c94e502a..ea6abbedb8f0 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -2,41 +2,19 @@ AUX mariadb-10.6.8-openssl3.patch 16434 BLAKE2B a7e1a1224cfafc4963104e688fd83053
AUX my.cnf-10.2 140 BLAKE2B 3a56b7e38c3dc00215cae4bdc3270e30e85299d3290c0c995a611e4b8b15e66f40d6ac40ab18369e7863742ab6eda94259be5a7f363a26020c6fce28a7582e94 SHA512 85c650670e364f5f71842d9ab07b59c5de6e26e774e7192102562e56f94ed5f8fbc487cef31c134209c22b72fde38f7f53b7279cead97a8af608436d1ecc8857
AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2d6b8009183dba6939b978ae8d1b8e0a53e672b8e1a1f621650399231723603fc5f96ef7218db84236e176 SHA512 801f6ab8be3110bb4dc38eaa4367715b8d342b69cadfe13dff987ef6c3aedb67d19449f8f2483e63df5d8b444ca30701b0d96f85e211de6b1e3db923b029acbc
AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882
-DIST mariadb-10.2.41-patches-01.tar.xz 5840 BLAKE2B bfc1404ef7a856e1588caf6ac4b61514125752b298adc7d7b575f5106b052b33a0344a51c0b0974a4664ee13059be30d31d2a12436009a39f34567124ee81ce6 SHA512 3105d291d22a9085dd92c516f0af999786d78328e8a8970a000c7be9d2df211e544c798ba9882a6da94abcddbb4cf16d100c5e1ccda6dc98e7a16c2ca5914bff
-DIST mariadb-10.2.41.tar.gz 74358994 BLAKE2B ca7fedebac0ce05bbc0797e58347041b098878fe565b5f3ae8ac149b30eca9188335e5e4afbc158f644888de13a5bc264916c77e315b5f489b2449342bf46f8a SHA512 d6f04d5866c6179c8df796dcf2407fa6289f7b9a57590e6ac793518dd805da7799e76f1031579b74e03dad6adcbcd204dd80394a68ac0105fcecaacea64b74e1
DIST mariadb-10.2.43-patches-01.tar.xz 5940 BLAKE2B f8658b799485942c4415b39667436edc91f7264dc08a10acbc83e145c4aabb2df925c9488ebe3e342f6bbb47afac4c20cc3bcc3a571b1104940064a858868a4a SHA512 1634600a53274b62f894351f58bc12600fe6e358280091dfa53b87ca656670dfc414d57e053582ce4a7caca4631a865bfe1bc37d541352aec268948cf8deadbc
-DIST mariadb-10.2.43.tar.gz 74415871 BLAKE2B c29e4983705de38beb099443441e8e37b2f984a970455d690b1cf1f704e9b5e2f94d34b676fb8fdc368d62a01be2f5c66b0c01838015aa08f353ba46714b94b1 SHA512 0ce2edd9f9f977ed02245123e4ed900b118707b4bef7cbc897c094a2de29ea1ae32b8288e6a1b81ba7029370f9ae8f19e6aa7ed963fd7165d8859713fd366d31
DIST mariadb-10.2.44.tar.gz 74425890 BLAKE2B 1a5d41ebf209dec54aa68a935ad4c6bac528aa7f8def64efea2bd146011daea0a701276ea037282b927b41b063f86f2cf4667c5d3309cd03a5489074ed351505 SHA512 29b17abfe82667053c3137e4e70e12854dab1312376fe8bdcfc76bf105aa3cddae49bcb07cc607a9c8f0a336bd8e537c6f57e2cdbbd06e48a45d125e3bb006a6
-DIST mariadb-10.3.32-patches-01.tar.xz 4388 BLAKE2B e84de23ff97e0fcff9867bbba615f8054cf1dd015b44aa5d64bca38e150daf66d4e5149b1408485330af3e49006865c5d598797199cca1d74a31d77df2715627 SHA512 fdf36b310823b15ccb2fb921d694998ce076442ef4086a88b76ebc81c7ef778099c5dfddf1152bb54bf653c9f99a335502e9a34ee200846bd6ee14d407ae127e
-DIST mariadb-10.3.32.tar.gz 73389214 BLAKE2B 476d293f41804e2124859019c25df1bb93509741e8893939978af9ca6b83dfe238c3079bef0023281a1e2a0b89cb63d9a3de8d8a540ddbb96463f3914490d5ac SHA512 d74c8bdf9cc8126385e1ca69c098e2bd8543de292d36c6c88ffc8228430fd246386f675089e7a1a11c830a947efde755845eda279dfb202c89c641962edf43cd
DIST mariadb-10.3.34-patches-01.tar.xz 4696 BLAKE2B 36643b83f773a10180d5f94b4318c19abd441550701ca9e98ff8b7adf037648032023bb93c03efd58e25a650df5650e9b76ee8237cd3b61523f69521e505e643 SHA512 d33c52ad39e249daaae52fde09334f49285212aeb691f3caa7bf8776f95e82eff54bd6a942f24276aa7d945bd030d73e3b1f0ba15f9217236115bd448697d62c
-DIST mariadb-10.3.34.tar.gz 73455446 BLAKE2B 7737c6f01cb1c9b38d51f9dd390898d835113aca3b17fd0f478f578807e8f65c2cd20a65f96e27b073d4531215b6223a4b5cee307b72d2a9a3ddb45af0ba9680 SHA512 46d4575ec1afb68510652a4bb31ca5ce83a2f5f61048a6e9c1487b0ba58f079465a8b72518d44043cd42c631b19ff50b5498584676ac6473705b138fe3300741
DIST mariadb-10.3.35.tar.gz 73496487 BLAKE2B 3ab05276fc22098be11ce8e2f5c9323c05c28b7617b31655506fe97131cccebe70a525dda0856b05c8196fabf50243865adf91ed6914ca750bbdf27c915767e8 SHA512 9355de944eccef4e0bc01b19ffc3c0c72cf88befae7385c6f0ee1ea47dbd98d23f6bb46af9c140acc48d9d9613552870684bc0b7ca1f3cff1dc09c1a2c801573
-DIST mariadb-10.4.22-patches-01.tar.xz 4388 BLAKE2B 0e615ddc4db93daa1f4ef1d8755b97502bb19b0ece0fc0d6d8620cb69a7db2df81ef5a06fc0a6b0f7b61fdb5431f919da99afa8068b064d905cdeaa95df807f0 SHA512 7bfff381b7fd19d12f64caaaa7d598ee476e286def9be9acd6f808784ecd47e715f222bd07fd05cd24b3342053f46c22d03041413a6a55b7194d1a5c66b0c03a
-DIST mariadb-10.4.22.tar.gz 84916052 BLAKE2B f5f7623101cfac6b209a95de20ee737ce0afa574766340471a30ddb81abacaf2acf3809d54ecb62f9377f924b11fac04faa770802c2bdc8dc10e3286b1c8e648 SHA512 e505a56346cfcaf5b8fba80abad6b2ce819dd410f6e6f36e290ad4127aaa9fb580264c28068f9f9e04c3a2fcccd101ef73d2bf5944aedde6b2d4369163fb9248
DIST mariadb-10.4.25-patches-01.tar.xz 4496 BLAKE2B f710bed49c53bda4cd1bfc8cc8bbde8588a5600a25aba62f90be61e78879729b6b34ec18bfc0729f8330b9fc9858079e2d924c2b72080b86c73b85a9294f2894 SHA512 5545b6fa879ba99c38b52b5c4e1347efea0f1fd098c8593388a6e9c11ae7ffbca5ebe69a3c418420f49a0a7671bf26102dd2dc024fd60e8f9072ae920a16cb58
DIST mariadb-10.4.25.tar.gz 88680777 BLAKE2B 993ed640ad579c2726ae241165d024a87fff580a4461fedee7c41a2bd70d668ed56b31219032096b4bd264543d6a93457947422b8a1384d3d3b94e7ca2f6ecb4 SHA512 27ad62985e19c877623d1512adcbec44e714ca50da9d303eab12bc2ad67dcae45d48a1aa010ad554341c46a1c5db7ee26c14570b9fa55fb71caf9979dd12671e
-DIST mariadb-10.5.13-patches-01.tar.xz 5012 BLAKE2B 34a5af415737f71750a8fa47de4f2119e31723686f000a7f99f9892a0a12fbd2be3c7bb635197b131691d73ae663e34c1b010b154d62e1ea16535265f96200f1 SHA512 71e7940558fa863835ef86f04c48c4a1ca927dee0d9ae94fcb32facde857dfef1757ae96b5a738653c341fa19a67916b0b3a03ce473020edd5c8b52ccedc0bea
-DIST mariadb-10.5.13.tar.gz 102047279 BLAKE2B be91ebbd05b72d8046eaea73075510e160d7985b2766f64a1cdd3e5bbad1f4eebe9f371caf070a0e9fab605a90588539a4011ea4b2e4243ea4fd8f299ee836fd SHA512 5d5ac04a3c8099a982cacb98dd4c162966fc7957e11c28e8b5645e49ffcf0513b9c8956f43d215c37e5eaa34aa8db6c71cfe993c89d62cab123021ee83169e7f
DIST mariadb-10.5.15-patches-01.tar.xz 5116 BLAKE2B 57759c61e672668be8ed991ca023007a4e0c10b2352cc621e88b825097cfde3eb83078804af7afaaa0c6f47900c34046773141a9e3dc3c220b33ecc16435784d SHA512 e3d21b3499ec9f6b5fd32978a6a779ecaca671cccadf241700207a1a3822a6b05ba2e13e1a6cb20e4d5fe4e6db6e5f46e9af650c736bdc3e3de9a4d8bad7ce19
-DIST mariadb-10.5.15.tar.gz 102803624 BLAKE2B 1a983bffdbfaf58c3adfb1789e10b3506b958a2c362226fd38cc9898a5584681640286a2bdbebb1c0e7e75a042276fe549224e38fbc49aef2c493f307ec7e935 SHA512 ea3d99fd9ad8adc8187fb5d722ff16cde90c7cca4b3572e410814ae39e0246b7a83b4dc1e72f95de58c1c12a9563fb524dcca2dd1fb8f595cc41625a2fb0af76
DIST mariadb-10.5.16.tar.gz 105798374 BLAKE2B fc8ba002a876cd9d357c9762e531082f22380480f8713d3f3882c29ad31c6b14065079b6cdde2e698382d2be668e9e7af2d900b93cd976e8fa27e876f33acff4 SHA512 28cea63cc3c5e1b236fb13593285e5d4b9aac5eaf259784e760def42bca8b09954510d39014a7a7c9e8656d61f5995a356df2f2ebb0df2696dd739ff3de5865d
-DIST mariadb-10.6.5-patches-04.tar.xz 5916 BLAKE2B c9a6d087057ce732cfe7789255d2a5106baefc70b4bfcfc6806c0165ae7b56d440e88c5c4b0aa10a8f0c1b9478826f1dc89a785ffec76764b8bd4e824960edf6 SHA512 29b22e99a6be137e5c2832f5c781bfbbacee40b716089e24150ac72198f59a8a3f46b6a056ee4d02588a06d32ed9c3b815a59c302c48b493afe9a21a7d4a884d
-DIST mariadb-10.6.5.tar.gz 85061860 BLAKE2B 668fe327e6a46c66bc0b77339d71279cc8bfe468d1e634035e639e88aabaa09ea27aa50e3b9d27728a275e1e7861e8db1209d372d751084ea486ad31f6f1fd29 SHA512 5aafe0a8d5ae54a6f798a6fd0cf922521f5b8e54ef5fb5c7db1cf798a7755f5910bb0b8a6c371cb8253dfb48f4ebca0becd6eb543b68473d564d2092df3185a1
DIST mariadb-10.6.8-patches-01.tar.xz 5220 BLAKE2B 0ad1caecbd05defd9d60e3c438cb0f36dfe7db5fa78e08f43cdd298613cb34691c013f7c44f6bddd39a56f0bf267d257e116defeea5022635b3b6e9b105e0eae SHA512 4cbc527b7307417e0cbf3056487e688474183f0db223ea9107d9a911ef1594691344f2b283402b45ddbc82e29023f0545301a8407f9711f7d8242e3001e3f095
DIST mariadb-10.6.8.tar.gz 88794744 BLAKE2B 1cd036bc686864b497d04454388d9366261f6cc69ad233ab3783063a893c8814ca6c95166415c5b76f2bec2462bffe0bc44d3543502932d03805e972f63b6abc SHA512 b4327000eb3e5fc75bbd78de9890b0464217a432c8aac744948af94e092ffeef1f101885b81ec49029900a92b0018838e46efcf225056a9b06f35a04ecf26aab
-EBUILD mariadb-10.2.41.ebuild 41722 BLAKE2B 6a320f2bbf23254f59ec1a7942fc69af22eb298bc815b67542aa8ea6821298e9b9cd06f6160af97ad8a1aacf9e00e0ae25a8bcd4ea347f0fe47f0b3a717b2d51 SHA512 74bd2b651639788da037dc29f8941cbd5a1288a7070ddfe34b49fc85ccc719e4d3782f494102725f372e77a0586d356839588690ba770aa4c0a933760b12d855
-EBUILD mariadb-10.2.43.ebuild 41827 BLAKE2B 78703e7246f3114173cea7a65d356e9ce14aa457d6ad65303a57e38508c33fc97ed863cc6c04bd50208c65714c4514005fb02bc1690f2dc25919f253f0c276b0 SHA512 d78e155ebfd6deb56eb5cc850b1e9e259f693b1d342ca5609658822894cd882a5106997aabb633c96ae19763fe6f27a68967e19902d98ae3b7b861e9ff1fc076
EBUILD mariadb-10.2.44.ebuild 41821 BLAKE2B 8e115a6d92da8e7bd2524ac2ba54d320d5fe3a3ed5eaac9f1519f688081d73ecd4849ad8cde03acc667aba9f8c3c62858b90496f638a0707dbbfa992bf04ba50 SHA512 d74fe7a447813412eb7c23c2d743f654e4a9da931e5ca292c7b3233fb6cc1e7307fe058fcb4425fc65ec6881b3f88e65e890a3b125a2fd52c6015397bbf528f9
-EBUILD mariadb-10.3.32.ebuild 41278 BLAKE2B fd829e8b4119ff990040dae55853283025e1dfb1ab6ef6bb5f7d8690db8bf855a2823f614c66e3931ed637dd4d989822f2af6078510d98ce647f09b941d48ca4 SHA512 c8aee5b7b186878b8bbb0eaaca250edc7a3a3338043e9779dfd05751b280277341b2ae2713d69cf26093e4bfc3933899d7d41dc734d7e8fdc7823c272ae01287
-EBUILD mariadb-10.3.34.ebuild 41396 BLAKE2B e64f159078378c7046e31873b2f96f197276c0165487c4fdc7384bdf44eaee96a129859f4eace337e92a4325c3a3599a98406b130a351c8133bdef0e50f1c35a SHA512 d92a66730217edaa2c2d908cbe67d02f82d78f8745c863d056c93e9f4c6b608ff2635af54082771619a39cd0a38e2f0bdbd57f4d5d17d3449eedb1742bc77aac
EBUILD mariadb-10.3.35.ebuild 41390 BLAKE2B ad0329879589464dcb5d78f72dd272d317083801e91657adce2ecfd83fc33eab4df2db825062ac7868d16b6a55efbd0c4dbff8b6a5e73dcbb4e300d7757dd50b SHA512 66920c06144f2f6aa51ebe8fbe63512c634ae0ab48fb459be8e3382b55ae6be9197c1e78c81192d1df184b829ad0b75d516db9170d527ed19a64a75bca2390a2
-EBUILD mariadb-10.4.22.ebuild 41990 BLAKE2B 3a0266b734ac8ff8d7df3842f777832324693d1e20874201a790387e9861565ac7f79ed6ab69e7312473e0acdf0887413e91d2c47fd7bbe63cdb1ebae8455c44 SHA512 af6bb938294c01c76634117c8f61db13b26f871993a8e4db77929da796c21c86f2a39c7073facde22c23cae42c45e1714091f477afe057d6cdd63d3e80c8f1ac
EBUILD mariadb-10.4.25.ebuild 42093 BLAKE2B 5bbd6c073a9f2622a30076d4f6076d285b3512647ed6776324609b8783899bbf30ff9a605533af8483f8c4b56e03554945bf65be4a20249d1ac7911cacd19fc2 SHA512 0e7758b84fca35471f7adb86db64e36fabad31df5b09e755eda736229914722a4c402e5f6699f0e8d04d47c55b3f10ed6d9ca1023a1dbcd406f8a7e7d60ca30c
-EBUILD mariadb-10.5.13.ebuild 41954 BLAKE2B 6e079c434881a7cd4281312ab08f984b02e50e07b163a8dbe9607895dff2b8d7cad621174d3dbb1f7335e90c3b14f41c73d61e7a74e4c385c81061791d05ea5f SHA512 bd3e7fa4f267883081ff9f010f2d27aa0911bdf42595df4a5621d60277193fb258892e2b753ff3d889603617f847dde3cbe44a637a4eb156e395373f4ff9cfb2
-EBUILD mariadb-10.5.15.ebuild 41981 BLAKE2B 2b2ce60bf6c0c0bf96acd44f688b35cc3aa5175d3beed4f44ffca1e9024debed6f0cf51f39d00efd48ab6aad7e97b59a5bc2c6f5e7b73ac4e4e98601b162f935 SHA512 18659af551211a19002afaee74d86139d7fd9a493c55860e34127590f3bb727021126a520c3b98034e5bc48bafd7a42223df9766ffd56f981a569f227bbfff6a
EBUILD mariadb-10.5.16.ebuild 42053 BLAKE2B b3311e24a222efd20268730a5ce77870a7e37914d4bd5fd32e2a5df27a65b9c3871b8344f3c71e3d16776f222074b973d37b53305b8e856b1d5728742dadc5ea SHA512 e2b5ee6ed0d9260741965a26bf5024ccc28f03cf437e98572d39fa0bc40e5f8a5e350667bc90c6c7ffb698869eca381ae5f8ad9b5864dd92e9067217fd464c6f
-EBUILD mariadb-10.6.5-r1.ebuild 42201 BLAKE2B becb5a9c579ff36d32fb60df69ea8da42f54663e70b460d6f8146b33a79978aae10bd7f4cea0099dd897345f3b23dd6033b7e1cf6da9008ca428d0c916880ea2 SHA512 162ee90865966e39bbb68f4f813c3a2de97e594ae7ffb010824b384d19baa9719da47113dacf1efe9785795a3efaec7dfd362036271f6cadde66e14106506084
EBUILD mariadb-10.6.8-r1.ebuild 42469 BLAKE2B 5087d9d4dbc11213df0af353e3046e740c88c6a3c9c1f4d5febfd456ced53b004495b049f6e8da613ea1f23d1d87c35ba6fdf86754c615273084e9fc66c78b1a SHA512 eef9b10c174cf7717fcc6533c97093ecbaea04a8497a60b287798e66d187eaf5a51bb97bc5ef8ad1ae999b478f9d8a810480aef1b2d58aa5d45c1f3c1ceb2610
-EBUILD mariadb-10.6.8.ebuild 42426 BLAKE2B a1d23eaa919f50d0dd1727d5fd50771df9290bb5cc4ea3e3ab308b8be2c4ed360ca00337498017eebdaeeada09ff27e4e9d0690feebf29d5aa400cb167fcd474 SHA512 0ccd2d518a3caf722fd67d57fadb5453153cbd7c8e75e673163c98daa595e3e04be84580bae0f830c40ba570805fa69e19a0d79b8f6f1088d7032b33c59f7e0d
MISC metadata.xml 2626 BLAKE2B d545d75827f63ac4ff1ab5eafd559b36ef44d0d5059dcdd5cbbb162d42e3a5117ff09c2c2eba82af10bc2f6c53e366f5f0b6a9c744c35d76b8bab12c6e517b64 SHA512 adf783a34647eb8299041d9125ec290377fc17b910e9f1660a33ccacd0a380cc4cd338f55f34e958ddfab1aa6dba85e25033b0dfe8dbc8fed4656ad5df63f6d8
diff --git a/dev-db/mariadb/mariadb-10.2.41.ebuild b/dev-db/mariadb/mariadb-10.2.41.ebuild
deleted file mode 100644
index 43001d345c8a..000000000000
--- a/dev-db/mariadb/mariadb-10.2.41.ebuild
+++ /dev/null
@@ -1,1289 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.41-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.2.43.ebuild b/dev-db/mariadb/mariadb-10.2.43.ebuild
deleted file mode 100644
index 9bf1ab562571..000000000000
--- a/dev-db/mariadb/mariadb-10.2.43.ebuild
+++ /dev/null
@@ -1,1292 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/${PN}/${PN}-10.2.43-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? (
- galera? (
- sst-xtrabackup? (
- || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
- )
- )
- )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server xml' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove dangling symlink
- rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.32.ebuild b/dev-db/mariadb/mariadb-10.3.32.ebuild
deleted file mode 100644
index b87897821608..000000000000
--- a/dev-db/mariadb/mariadb-10.3.32.ebuild
+++ /dev/null
@@ -1,1281 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.32-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.3.34.ebuild b/dev-db/mariadb/mariadb-10.3.34.ebuild
deleted file mode 100644
index 0a94bc13dd36..000000000000
--- a/dev-db/mariadb/mariadb-10.3.34.ebuild
+++ /dev/null
@@ -1,1284 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/${PN}/${PN}-10.3.34-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !extraengine !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server xml' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-
- # Remove dangling symlink
- rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.4.22.ebuild b/dev-db/mariadb/mariadb-10.4.22.ebuild
deleted file mode 100644
index 14def683d3a6..000000000000
--- a/dev-db/mariadb/mariadb-10.4.22.ebuild
+++ /dev/null
@@ -1,1302 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.22-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
- virtual/libcrypt:=
-"
-BDEPEND="virtual/yacc"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove bundled mytop in favor of dev-db/mytop
- local mytop_file
- for mytop_file in \
- "${ED}/usr/bin/mytop" \
- "${ED}/usr/share/man/man1/mytop.1" \
- ; do
- if [[ -e "${mytop_file}" ]] ; then
- rm -v "${mytop_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.5.13.ebuild b/dev-db/mariadb/mariadb-10.5.13.ebuild
deleted file mode 100644
index cac5f2acfa61..000000000000
--- a/dev-db/mariadb/mariadb-10.5.13.ebuild
+++ /dev/null
@@ -1,1309 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.13-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Conflicting files
- conflicting_files=()
-
- # We prefer my_print_defaults from dev-db/mysql-connector-c
- conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
-
- # Remove bundled mytop in favor of dev-db/mytop
- conflicting_files+=( "${ED}/usr/bin/mytop" )
- conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
-
- local conflicting_file
- for conflicting_file in "${conflicting_files[@]}" ; do
- if [[ -e "${conflicting_file}" ]] ; then
- rm -v "${conflicting_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.5.15.ebuild b/dev-db/mariadb/mariadb-10.5.15.ebuild
deleted file mode 100644
index 5f5be0b5ce09..000000000000
--- a/dev-db/mariadb/mariadb-10.5.15.ebuild
+++ /dev/null
@@ -1,1309 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.5.15-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Conflicting files
- conflicting_files=()
-
- # We prefer my_print_defaults from dev-db/mysql-connector-c
- conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
-
- # Remove bundled mytop in favor of dev-db/mytop
- conflicting_files+=( "${ED}/usr/bin/mytop" )
- conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
-
- local conflicting_file
- for conflicting_file in "${conflicting_files[@]}" ; do
- if [[ -e "${conflicting_file}" ]] ; then
- rm -v "${conflicting_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild b/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
deleted file mode 100644
index 0d12908c713b..000000000000
--- a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
+++ /dev/null
@@ -1,1311 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET=( https://dev.gentoo.org/~{whissi,dlan}/dist/${PN}/${PN}-10.6.5-patches-04.tar.xz )
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET[@]}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8mb4
- -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Conflicting files
- conflicting_files=()
-
- # We prefer my_print_defaults from dev-db/mysql-connector-c
- conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
-
- # Remove bundled mytop in favor of dev-db/mytop
- conflicting_files+=( "${ED}/usr/bin/mytop" )
- conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
-
- local conflicting_file
- for conflicting_file in "${conflicting_files[@]}" ; do
- if [[ -e "${conflicting_file}" ]] ; then
- rm -v "${conflicting_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.6.8.ebuild b/dev-db/mariadb/mariadb-10.6.8.ebuild
deleted file mode 100644
index fc46726c5ef8..000000000000
--- a/dev-db/mariadb/mariadb-10.6.8.ebuild
+++ /dev/null
@@ -1,1316 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.8-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET[@]}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.5
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8mb4
- -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
- disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "spider.*;0;Fails with network sandbox" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Conflicting files
- conflicting_files=()
-
- # We prefer my_print_defaults from dev-db/mysql-connector-c
- conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
-
- # Remove bundled mytop in favor of dev-db/mytop
- conflicting_files+=( "${ED}/usr/bin/mytop" )
- conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
-
- local conflicting_file
- for conflicting_file in "${conflicting_files[@]}" ; do
- if [[ -e "${conflicting_file}" ]] ; then
- rm -v "${conflicting_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove dangling symlink
- rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-1]}"
- fi
- }
-
- _mktemp_dry() {
- # emktemp has no --dry-run option
- local template="${1}"
-
- if [[ -z "${template}" ]] ; then
- if [[ -z "${T}" ]] ; then
- template="/tmp/XXXXXXX"
- else
- template="${T}/XXXXXXX"
- fi
- fi
-
- local template_wo_X=${template//X/}
- local n_X
- let n_X=${#template}-${#template_wo_X}
- if [[ ${n_X} -lt 3 ]] ; then
- echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
- return
- fi
-
- local attempts=0
- local character tmpfile
- while [[ true ]] ; do
- let attempts=attempts+1
-
- new_file=
- while read -n1 character ; do
- if [[ "${character}" == "X" ]] ; then
- tmpfile+="${RANDOM:0:1}"
- else
- tmpfile+="${character}"
- fi
- done < <(echo -n "${template}")
-
- if [[ ! -f "${tmpfile}" ]]
- then
- echo "${tmpfile}"
- return
- fi
-
- if [[ ${attempts} -ge 100 ]] ; then
- echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
- return
- fi
- done
- }
-
- local mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysqld_binary="${EROOT}/usr/sbin/mysqld"
- if [[ ! -x "${mysqld_binary}" ]] ; then
- die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
- if [[ ! -x "${my_print_defaults_binary}" ]] ; then
- die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
- fi
-
- if [[ -z "${MYSQL_USER}" ]] ; then
- MYSQL_USER=mysql
- if use prefix ; then
- MYSQL_USER=$(id -u -n 2>/dev/null)
- if [[ -z "${MYSQL_USER}" ]] ; then
- die "Failed to determine current username!"
- fi
- fi
- fi
-
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- MYSQL_GROUP=mysql
- if use prefix ; then
- MYSQL_GROUP=$(id -g -n 2>/dev/null)
- if [[ -z "${MYSQL_GROUP}" ]] ; then
- die "Failed to determine current user groupname!"
- fi
- fi
- fi
-
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- local -x HOME="${EROOT}/root"
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Read currently set data directory
- MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- die "Sorry, unable to find MY_DATADIR!"
- elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
- ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
- ewarn "Please rename or delete its content if you wish to initialize a new data directory."
- die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
- fi
-
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
- # These are dir+prefix
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
-
- # Create missing directories.
- # Always check if mysql user can write to directory even if we just
- # created directory because a parent directory might be not
- # accessible for that user.
- PID_DIR="${EROOT}/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
- install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
- || die "Failed to create PID directory '${PID_DIR}'!"
- fi
-
- local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_pid_dir_testfile}" ]] \
- && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_pid_dir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
- else
- rm "${_pid_dir_testfile}" || die
- unset _pid_dir_testfile
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
- || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
- fi
-
- local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_datadir_testfile}" ]] \
- && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_datadir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
- else
- rm "${_my_datadir_testfile}" || die
- unset _my_datadir_testfile
- fi
-
- if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
- einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
- || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
- fi
-
- if [[ -z "${MYSQL_TMPDIR}" ]] ; then
- MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
- [[ -z "${MYSQL_TMPDIR}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
-
- mkdir "${MYSQL_TMPDIR}" || die
- chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
- fi
-
- # Now we need to test MYSQL_TMPDIR...
- local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_tmpdir_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_tmpdir_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
- else
- rm "${_my_tmpdir_testfile}" || die
- unset _my_tmpdir_testfile
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
- || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
- fi
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_logbin_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_logbin_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
- else
- rm "${_my_logbin_testfile}" || die
- unset _my_logbin_testfile
- fi
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
- install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
- || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
- [[ -z "${_my_relaylog_testfile}" ]] \
- && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
-
- if use prefix ; then
- touch "${_my_relaylog_testfile}" &>/dev/null
- else
- su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
- fi
-
- if [[ $? -ne 0 ]] ; then
- die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
- else
- rm "${_my_relaylog_testfile}" || die
- unset _my_relaylog_testfile
- fi
- fi
-
- local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- echo ""
- einfo "Detected settings:"
- einfo "=================="
- einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
- einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
- einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
- einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
-
- if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
- fi
-
- einfo "PID DIR:\t\t\t\t${PID_DIR}"
- einfo "Install db log:\t\t\t${mysql_install_log}"
- einfo "Install server log:\t\t\t${mysqld_logfile}"
-
- echo
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local pwd1="a"
- local pwd2="b"
-
- echo
- einfo "No password for mysql 'root' user was specified via environment"
- einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
- einfo "file like '${HOME}/.my.cnf'."
- einfo "To continue please provide a password for the mysql 'root' user"
- einfo "now on console:"
- ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x${pwd1}" != "x${pwd2}" ]] ; then
- die "Passwords are not the same!"
- fi
-
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
-
- echo
- fi
-
- local -a mysqld_options
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
-
- local opt optexp optfull
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- echo "USE mysql;" >"${tz_sql}"
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
- if [[ $? -ne 0 ]] ; then
- die "mysql_tzinfo_to_sql failed!"
- fi
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
- die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
- fi
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- unset x
-
- cmd=(
- "${mysqld_binary}"
- "${mysqld_options[@]}"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- --max_allowed_packet=8M
- --net_buffer_length=16K
- "--socket='${socket}'"
- "--pid-file='${pidfile}'"
- "--log-error='${mysqld_logfile}'"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
-
- echo -n "Waiting for mysqld to accept connections "
- local maxtry=15
- while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- if [[ -S "${socket}" ]] ; then
- # Even with a socket we don't know if mysqld will abort
- # start due to an error so just wait a little bit more...
- maxtry=5
- while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- fi
-
- echo
-
- if [[ ! -S "${socket}" ]] ; then
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
- die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
- fi
-
- local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log"
- touch "${mysql_logfile}" || die
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
- cmd=(
- "${mysql_binary}"
- --no-defaults
- "--socket='${socket}'"
- -hlocalhost
- "-e \"${sql}\""
- )
- eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
- local rc=$?
- eend ${rc}
-
- if [[ ${rc} -ne 0 ]] ; then
- # Poor man's solution which tries to avoid having password
- # in log. NOTE: sed can fail if user didn't follow advice
- # and included character which will require escaping...
- sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
-
- grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
- die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
- fi
-
- # Stop the server
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- echo -n "Stopping the server "
- pkill -F "${pidfile}" &>/dev/null
-
- maxtry=10
- while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
-
- echo
-
- if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
- # We somehow failed to stop server.
- # However, not a fatal error. Just warn the user.
- ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
- fi
- fi
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 85e240804137..7381f67800d8 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,11 +1,14 @@
DIST sqlite-doc-3380200.zip 10620764 BLAKE2B 81f7e7b9aef37bdae133c4d7dc517d2040d8202a7e0cdf00180d3abe3fb677c80dbc1987e437f0d0f34f47c61f09a7c9d664ba42af976ecfb24555590bb22087 SHA512 b54372ff788aa42b2138c6de91c42c4f6a6440623de3679f08b0519c5c20d9d865c60fa63223c60f4374ff5badb800d6f209e75abb280b9815902757424faf0b
DIST sqlite-doc-3380500.zip 10640188 BLAKE2B d831b672879a07e700c4d19bb97435cfc3aabc2371fd1b7f9e2257d1d53edaba72d974816d509fa60dbc7feaddf4b4f64c6bc061da4945aecab7be463951cb0c SHA512 1f8520e8b06cac97a3cd532d105be847b864d4d51ff2d8ab92c62b369e2e662aa477808e566e334a9103e31b84c119050b92ab6f0ef6d5d68db4d49bf2dd8182
DIST sqlite-doc-3390000.zip 10666677 BLAKE2B 4577af3614f9dd7862d8e4cd084010700492c1abddc94859d08dc2f2cca2d5989c03ab63fa690072c798dc52e59ccfca337a2f1cfb14162db9364f9f27a0c93b SHA512 c9d86c15f743deca233eabd68edb7538e75d7c3bd49caeb6a2a2958e1fdb3a258d2a69964626fac13c7f402dae9f33fd5e3b479ef23c43f835efeaf84d6ba32c
+DIST sqlite-doc-3390100.zip 10675104 BLAKE2B 15c6d68ad23e2c1b75b3387927301cedf7fd4eeba2cc64d3e7ddf9e41c7eea805c5c6d83d2d37581b77abbb9c0afd08403dddc2f3d864496397463d1f412f433 SHA512 81295ec49a4f22e38d4a459858c04731fdfc41e4fea307cdcf5443f30595fda7e268e85880dcc2d9d96e0bf3ccce96c6e5be692eb466258c196c89ed172635ac
DIST sqlite-src-3380200.zip 13242285 BLAKE2B a07f895f57c355e2ec1c96fc857b63d774ff52f7e49c22b1c936b260e6e7787ec656059c02cc6d38845c4368507067d86dac493559541fbb914a3da9cbc67cce SHA512 fd457602db4577b31bc6053fd3cceb220337275e3fd26976f4270fb8a7da4fa047ca23dd18e2795cdfd894d05bad4c53954a81391d71507d359fb224995e420a
DIST sqlite-src-3380500.zip 13245057 BLAKE2B d2deefbc918ab593146950c21047dbd94168d09150ffe00da20e4ee6b02f69516b496b14e1925b00ace8a4148b87bfb263a97d75ab48990e29e12796387fee5f SHA512 d91f060165354ff4b32a72627c16b6d2310d478768794a49eef57229d7199d83f951444fdc0725acf8d2565ef61a9c7921e9c965f429b018b6fd23d129b6e630
DIST sqlite-src-3390000.zip 13400405 BLAKE2B 48485372001782c0f8f23167f74a8f17f38801b7ded96d8b67a13a7bc60349a81643a6455e01e8f1ea97bf3ecccd97791ab7cd386f73f787fd7599004d9447d4 SHA512 65409f78bf9f1f02739749c3ac151153fd78af07822be7d532a6aeb5d742463e0dde51702ce737780dc65c526802996da7569032b76a0527f6aa784f89c0cca2
+DIST sqlite-src-3390100.zip 13401695 BLAKE2B 1a6e6e81d98a64c501404cd0ebdcc3cbee23e4326cd703320b904f5d1af215dc071d8d9572bb340617b2c431255281d66f7c5a8415224105ee1a7b32c3530fe0 SHA512 2a4b6605e8925aed803ef6b62b9eb84e384325f9a81a800b07e0f4e63ce31f66881687ccf3cdc3c5ee89b8fb38cc8d8e2883b8feb5ae538800d99fa93a0b8de1
EBUILD sqlite-3.38.2.ebuild 13252 BLAKE2B a11cf6540941038ac710c9bf6bce657da353b520f44119c6a68ace2d73ef9f8ea26062d8fa8bc6008bec0917a45597ae1dd1a35c9c4b7a162993e59b51df89b3 SHA512 df3d005656e2e4447cbf0beb950859870e33867d86716af2b92174ad0e40afa43c7efdba40bde85f3aa72cac8405dcf64688a3eb6e16a93a0441c661b1561e18
EBUILD sqlite-3.38.5.ebuild 13253 BLAKE2B 476079498bc4172c2eac6500bee865ca793d5ff938353b28636fccc4a77ec067f558c39d7d96e9288dc87f05040852ac37f0ec61433cd550c10f0cd0f3c3366c SHA512 aead89b187f93f7529e07f55868390784ef2a499ae7c942227a8300467ac1415e48c24a9a2d6aa8800dc96cd018f9f834a796ce998171b657aa9d49a54dd7629
EBUILD sqlite-3.39.0.ebuild 13260 BLAKE2B 92c5bc279bd338b62cb19a9e1dacfe483c81a48c104e50f5fc1d8c413136031c9f20794f4eb5fcfecc2c3b1b926596788806934ab9eb57b03f635bdd3d81f835 SHA512 95af9af81ff7063c1d1b3497fb02525b36ff8495c08f933f5e226185d040efb3a6c87ba129fb3989ae96640bffc726fd40e8416379c8af3d8883ddfb3ea4005f
+EBUILD sqlite-3.39.1.ebuild 13260 BLAKE2B 92c5bc279bd338b62cb19a9e1dacfe483c81a48c104e50f5fc1d8c413136031c9f20794f4eb5fcfecc2c3b1b926596788806934ab9eb57b03f635bdd3d81f835 SHA512 95af9af81ff7063c1d1b3497fb02525b36ff8495c08f933f5e226185d040efb3a6c87ba129fb3989ae96640bffc726fd40e8416379c8af3d8883ddfb3ea4005f
EBUILD sqlite-9999.ebuild 13254 BLAKE2B 70c6c1f542340b97a48d1742acb9d1b1f804ce711fe7bfaa8feb5c3fe164d1cb5535e7451f598d810463e4dd7c2640d42179a03c5670475f20195f076617d7d0 SHA512 188c4356483f4031a1e6dfdb9e4b36c999916bbda4608e58cd70abf845f8a1bc366a24535d8d47c5d96041656df1b66a2b817df9d8d1e99e298598e532229f77
MISC metadata.xml 771 BLAKE2B 34887e6d8a43fde66998787bfb3ca4bda644918a3a80afc650546547f132a9ff482a955ea5df8dded47a971a317be099bf5d9708a00ab25f00f78b714c3ed521 SHA512 e5955f59348abdee15c7fcaff38c220ab0ad84a717600525686e33a1fb7d29498c5b510d81c87ca49d48d7d11da782cf3840f38f1d4bd0e696fd7166aedeb597
diff --git a/dev-db/sqlite/sqlite-3.39.1.ebuild b/dev-db/sqlite/sqlite-3.39.1.ebuild
new file mode 100644
index 000000000000..c69a893b551d
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.39.1.ebuild
@@ -0,0 +1,436 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+if [[ "${PV}" != "9999" ]]; then
+ SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
+ DOC_PV="${SRC_PV}"
+ # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
+fi
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+if [[ "${PV}" == "9999" ]]; then
+ PROPERTIES="live"
+fi
+RESTRICT="!test? ( test )"
+
+if [[ "${PV}" == "9999" ]]; then
+ BDEPEND=">=dev-lang/tcl-8.6:0
+ dev-vcs/fossil"
+else
+ BDEPEND="app-arch/unzip
+ >=dev-lang/tcl-8.6:0"
+fi
+RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:0= )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
+
+if [[ "${PV}" == "9999" ]]; then
+ S="${WORKDIR}/${PN}"
+else
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+fi
+
+_fossil_fetch() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local repo_uri="${2}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ pushd "${T}/fossil/${repo_id}" > /dev/null || die
+
+ if [[ -n "${EVCS_OFFLINE}" ]]; then
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+ else
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
+ fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
+ echo
+ else
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
+ einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
+ fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
+ echo
+ fi
+
+ (
+ addwrite "${distdir}"
+ mkdir -p "${distdir}/fossil-src/${repo_id}" || die
+ cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
+ )
+ fi
+
+ popd > /dev/null || die
+}
+
+_fossil_checkout() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local branch_or_commit="${2}"
+ local target_directory="${3}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+
+ if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
+ fi
+
+ mkdir "${target_directory}" || die
+ pushd "${target_directory}" > /dev/null || die
+
+ einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
+ fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
+ echo
+
+ popd > /dev/null || die
+}
+
+fossil_fetch() {
+ local repo_id="${1}"
+ local repo_uri="${2}"
+ local target_directory="${3}"
+
+ local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
+
+ _fossil_fetch "${repo_id}" "${repo_uri}"
+ _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
+}
+
+src_unpack() {
+ if [[ "${PV}" == "9999" ]]; then
+ fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
+ if use doc; then
+ fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
+ fi
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ eapply_user
+
+ eautoreconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
+ local options=()
+
+ options+=(
+ --enable-load-extension
+ --enable-threadsafe
+ )
+
+ # Support detection of misuse of SQLite API.
+ # https://sqlite.org/compile.html#enable_api_armor
+ append-cppflags -DSQLITE_ENABLE_API_ARMOR
+
+ # Support bytecode and tables_used virtual tables.
+ # https://sqlite.org/compile.html#enable_bytecode_vtab
+ # https://sqlite.org/bytecodevtab.html
+ append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
+
+ # Support column metadata functions.
+ # https://sqlite.org/compile.html#enable_column_metadata
+ # https://sqlite.org/c3ref/column_database_name.html
+ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
+
+ # Support sqlite_dbpage virtual table.
+ # https://sqlite.org/compile.html#enable_dbpage_vtab
+ # https://sqlite.org/dbpage.html
+ append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
+
+ # Support dbstat virtual table.
+ # https://sqlite.org/compile.html#enable_dbstat_vtab
+ # https://sqlite.org/dbstat.html
+ append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
+
+ # Support sqlite3_serialize() and sqlite3_deserialize() functions.
+ # https://sqlite.org/compile.html#enable_deserialize
+ # https://sqlite.org/c3ref/serialize.html
+ # https://sqlite.org/c3ref/deserialize.html
+ append-cppflags -DSQLITE_ENABLE_DESERIALIZE
+
+ # Support comments in output of EXPLAIN.
+ # https://sqlite.org/compile.html#enable_explain_comments
+ append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+
+ # Support Full-Text Search versions 3, 4 and 5.
+ # https://sqlite.org/compile.html#enable_fts3
+ # https://sqlite.org/compile.html#enable_fts3_parenthesis
+ # https://sqlite.org/compile.html#enable_fts4
+ # https://sqlite.org/compile.html#enable_fts5
+ # https://sqlite.org/fts3.html
+ # https://sqlite.org/fts5.html
+ append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
+ options+=(--enable-fts5)
+
+ # Support hidden columns.
+ append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
+
+ # Support memsys5 memory allocator.
+ # https://sqlite.org/compile.html#enable_memsys5
+ # https://sqlite.org/malloc.html#memsys5
+ append-cppflags -DSQLITE_ENABLE_MEMSYS5
+
+ # Support sqlite3_normalized_sql() function.
+ # https://sqlite.org/c3ref/expanded_sql.html
+ append-cppflags -DSQLITE_ENABLE_NORMALIZE
+
+ # Support sqlite_offset() function.
+ # https://sqlite.org/compile.html#enable_offset_sql_func
+ # https://sqlite.org/lang_corefunc.html#sqlite_offset
+ append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
+
+ # Support pre-update hook functions.
+ # https://sqlite.org/compile.html#enable_preupdate_hook
+ # https://sqlite.org/c3ref/preupdate_count.html
+ append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
+
+ # Support Resumable Bulk Update extension.
+ # https://sqlite.org/compile.html#enable_rbu
+ # https://sqlite.org/rbu.html
+ append-cppflags -DSQLITE_ENABLE_RBU
+
+ # Support R*Trees.
+ # https://sqlite.org/compile.html#enable_rtree
+ # https://sqlite.org/compile.html#enable_geopoly
+ # https://sqlite.org/rtree.html
+ # https://sqlite.org/geopoly.html
+ append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
+
+ # Support Session extension.
+ # https://sqlite.org/compile.html#enable_session
+ # https://sqlite.org/sessionintro.html
+ append-cppflags -DSQLITE_ENABLE_SESSION
+
+ # Support scan status functions.
+ # https://sqlite.org/compile.html#enable_stmt_scanstatus
+ # https://sqlite.org/c3ref/stmt_scanstatus.html
+ # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
+ append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
+
+ # Support sqlite_stmt virtual table.
+ # https://sqlite.org/compile.html#enable_stmtvtab
+ # https://sqlite.org/stmt.html
+ append-cppflags -DSQLITE_ENABLE_STMTVTAB
+
+ # Support unknown() function.
+ # https://sqlite.org/compile.html#enable_unknown_sql_function
+ append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+
+ # Support unlock notification.
+ # https://sqlite.org/compile.html#enable_unlock_notify
+ # https://sqlite.org/c3ref/unlock_notify.html
+ # https://sqlite.org/unlock_notify.html
+ append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
+
+ # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
+ # https://sqlite.org/compile.html#enable_update_delete_limit
+ # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
+ # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
+ append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+
+ # Support soundex() function.
+ # https://sqlite.org/compile.html#soundex
+ # https://sqlite.org/lang_corefunc.html#soundex
+ append-cppflags -DSQLITE_SOUNDEX
+
+ # Support URI filenames.
+ # https://sqlite.org/compile.html#use_uri
+ # https://sqlite.org/uri.html
+ append-cppflags -DSQLITE_USE_URI
+
+ # debug USE flag.
+ options+=($(use_enable debug))
+
+ # icu USE flag.
+ if use icu; then
+ # Support ICU extension.
+ # https://sqlite.org/compile.html#enable_icu
+ append-cppflags -DSQLITE_ENABLE_ICU
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ fi
+
+ # readline USE flag.
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+ if use readline; then
+ options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ fi
+
+ # secure-delete USE flag.
+ if use secure-delete; then
+ # Enable secure_delete pragma by default.
+ # https://sqlite.org/compile.html#secure_delete
+ # https://sqlite.org/pragma.html#pragma_secure_delete
+ append-cppflags -DSQLITE_SECURE_DELETE
+ fi
+
+ # static-libs USE flag.
+ options+=($(use_enable static-libs static))
+
+ # tcl, test, tools USE flags.
+ if use tcl || use test || { use tools && multilib_is_native_abi; }; then
+ options+=(
+ --enable-tcl
+ --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ else
+ options+=(--disable-tcl)
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+
+ # Skip known-broken test for now
+ # https://sqlite.org/forum/forumpost/d97caf168f
+ # https://sqlite.org/forum/forumpost/50f136d91d
+ if use test ; then
+ rm test/atof1.test || die
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+
+ if use tools && multilib_is_native_abi; then
+ emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
+ fi
+
+ if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
+ emake tclsqlite3.c
+
+ local build_directory="$(pwd)"
+ build_directory="${build_directory##*/}"
+
+ mkdir "${WORKDIR}/${PN}-doc-build" || die
+ pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
+
+ emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
+ rmdir doc/matrix{/*,} || die
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_test() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ ewarn "Skipping tests due to root permissions"
+ return
+ fi
+
+ local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
+
+ # e_uri.test tries to open files in /.
+ # https://bugs.gentoo.org/839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db:/ÿ.db"
+
+ emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
+
+ if use tools && multilib_is_native_abi; then
+ install_tool() {
+ if [[ -f ".libs/${1}" ]]; then
+ newbin ".libs/${1}" "${2}"
+ else
+ newbin "${1}" "${2}"
+ fi
+ }
+
+ install_tool changeset sqlite3-changeset
+ install_tool dbdump sqlite3-db-dump
+ install_tool dbhash sqlite3-db-hash
+ install_tool dbtotxt sqlite3-db-to-txt
+ install_tool index_usage sqlite3-index-usage
+ install_tool rbu sqlite3-rbu
+ install_tool scrub sqlite3-scrub
+ install_tool showdb sqlite3-show-db
+ install_tool showjournal sqlite3-show-journal
+ install_tool showshm sqlite3-show-shm
+ install_tool showstat4 sqlite3-show-stat4
+ install_tool showwal sqlite3-show-wal
+ install_tool sqldiff sqlite3-diff
+ install_tool sqlite3_analyzer sqlite3-analyzer
+ install_tool sqlite3_checker sqlite3-checker
+ install_tool sqlite3_expert sqlite3-expert
+ install_tool sqltclsh sqlite3-tclsh
+
+ unset -f install_tool
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ doman sqlite3.1
+
+ if use doc; then
+ if [[ "${PV}" == "9999" ]]; then
+ pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
+ else
+ pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
+ fi
+
+ find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
+ if [[ "${PV}" != "9999" ]]; then
+ rm search search.d/admin || die
+ rmdir search.d || die
+ find -name "*~" -delete || die
+ fi
+
+ (
+ docinto html
+ dodoc -r *
+ )
+
+ popd > /dev/null || die
+ fi
+}
diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest
index f3fa7f4280b7..06dc7c12ecdc 100644
--- a/dev-db/sqlmap/Manifest
+++ b/dev-db/sqlmap/Manifest
@@ -5,7 +5,7 @@ DIST sqlmap-1.6.5.tar.gz 7204055 BLAKE2B 0ab5ff3ab8f27e0f944c65d84e9d66627dd09c2
DIST sqlmap-1.6.6.tar.gz 7204158 BLAKE2B 40e4a896855270b98c89fc0a5d6060af51ec7d24da101688dbf2ec470741129a6193330be45e3ddd8d450bdfbcf4ccdf29bac47ba9e1d27eddf76490fc0777dc SHA512 9d680754ad82db660770d29b96c74a20c271dec8feff19f57f20c726a1776c86f685e538bb33c026ec49d48fadf981eb41cf6dd970c6100dc7a0c9dcd39c43cf
EBUILD sqlmap-1.6.2.ebuild 1331 BLAKE2B 40fdcfd802252b9a996da8be8a90d45925f1a06099a49d3c0cdd5af232b440003483fbc6e001e706149497ae224723fd2e32fd65953bd14074a7f2a82b8a5785 SHA512 31b004012264cc0a58dcfdc611df346382f1b613a90b08aa2a344a2b87b5025b90c10877c666452e5428f9bc8161bc6c78eb0782542fac0dea2e33686c18cf28
EBUILD sqlmap-1.6.4.ebuild 1331 BLAKE2B 25be58350d9376ef9afedbd84a9c5081afc97588b54ae728c29b26a47aaf9fb96281c2c57532f992354101dc51b077d498cf731afda741856af22b336fa7c6d0 SHA512 0388de4592528c68067f074c44ddabe3a6cdf598fbc9886c15089c5161e26b7755cbb7869dcff75e4944765fc798974c0411c3e1ede146eb5f93079236dbdb26
-EBUILD sqlmap-1.6.5.ebuild 1331 BLAKE2B 7e9ed70fc509dd8251ff7652b7b53415b3ef43139fc04b4ad0ea6458db3048aff5eb1b44410d5f60d77f6a238eb234413b9e0d69043927afba5b559553af21c7 SHA512 ad034e9044054aec4796c7efbb090d2066124d670c83753f63ec16777d3b150c8763ed60dd46d39bfb74374b1aca84e27ff5fa14b0e94c2ec03efb43081b4ea0
+EBUILD sqlmap-1.6.5.ebuild 1329 BLAKE2B 758cf03ec727a1e179b4c0bd26247874aa4ac5aeb6f10ab12bebfc0f1a55694d723d8cf0377f48451352f2c369246070647094324f907aebbd80ba94a68aea92 SHA512 f3eedb27fb4fb691591cfa8d7fb4b3e8e21d8aed8bd9cdf1c0d0e1b84fd20cb6bc117d88a84b3c396a12498cf8c68894546152a0170fd347f584bc8591dffa26
EBUILD sqlmap-1.6.6.ebuild 1331 BLAKE2B 7e9ed70fc509dd8251ff7652b7b53415b3ef43139fc04b4ad0ea6458db3048aff5eb1b44410d5f60d77f6a238eb234413b9e0d69043927afba5b559553af21c7 SHA512 ad034e9044054aec4796c7efbb090d2066124d670c83753f63ec16777d3b150c8763ed60dd46d39bfb74374b1aca84e27ff5fa14b0e94c2ec03efb43081b4ea0
EBUILD sqlmap-9999.ebuild 1331 BLAKE2B 7e9ed70fc509dd8251ff7652b7b53415b3ef43139fc04b4ad0ea6458db3048aff5eb1b44410d5f60d77f6a238eb234413b9e0d69043927afba5b559553af21c7 SHA512 ad034e9044054aec4796c7efbb090d2066124d670c83753f63ec16777d3b150c8763ed60dd46d39bfb74374b1aca84e27ff5fa14b0e94c2ec03efb43081b4ea0
MISC metadata.xml 714 BLAKE2B e1afbf31fcc7a0ed38af080c7b85248b0ca50ac6865252fff3eb8aacafae02380d833e3852601c7a5733d5947ea19818c7db303f49465fea337b4cd6cc373ff2 SHA512 0349fb06cca9483950d5325c4fea54b07c1621ae25296c6a743d235b95eaabf0533eb0396bbf1c72963097eda7b7f8d829a7a675dabd6a8a6ce4a2ab0fc96b16
diff --git a/dev-db/sqlmap/sqlmap-1.6.5.ebuild b/dev-db/sqlmap/sqlmap-1.6.5.ebuild
index 7fe00f1370cf..a1ffe637309f 100644
--- a/dev-db/sqlmap/sqlmap-1.6.5.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.6.5.ebuild
@@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
else
SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
# sqlmap (GPL-2+)
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index bfafaacd1884..92bceb272a3b 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/ffcall/Manifest b/dev-libs/ffcall/Manifest
index 3f84350425f1..3fa5d4d466ac 100644
--- a/dev-libs/ffcall/Manifest
+++ b/dev-libs/ffcall/Manifest
@@ -1,6 +1,8 @@
+AUX ffcall-2.4-slibtool.patch 5050 BLAKE2B 45db7c7c1dcbbcad4860e99806cc4e2a260877df5d122872964f94c968ea63b231e2f44426d9b0836fe9eccc8e9056ced77eaae9b38ad6f5248d1ce5a808c2d1 SHA512 36df8951ff2f33b06bcf479cf6e5e7b445dae613551f02f4d8af9792781baad60ab48de290068487b265185361a9615b0eeccbb636eedb6c5ffa54bd1b85ee78
AUX ffcall-2.4-vacall-riscv-pic.patch 16090 BLAKE2B db91cee446d8542d48b7bc33cc134e572cb4d4901bb756ba7d4541ddfdb76fec829e1626d2cfab6d79f6d4d5ca5488e87a3e9b08dda4a99250bdb55ca598ebe7 SHA512 360c6abae6c617bad70d68800065980ca06bc68eb855f6d4c976d11ca7d3f22a12eaa9dd6c00c6ee4596748984011827ba0bb6ed4614c338ca8ea72d283a17ef
DIST libffcall-2.1.tar.gz 943235 BLAKE2B ae82663174db084e830b6ff77ceedf8641b3edeb7800952ac4e2772d9033da3e45f46159e6fdae86615dc69fceba39f48d6c75e6cbd41be98f1986fa69d50b3b SHA512 da73375fb45b7d764c06437a517c2a90abf7d5de6afe0a8ca19e6dfafd2a8c7107e39d230ecbc8edfdd5926b16a0c13b7bb9319287047c47de1241b2f6ae805e
DIST libffcall-2.4.tar.gz 1253767 BLAKE2B 669bf556f082b533eb7d71ebc6fadeac464b1a6054ac8078c9315678929bcfb8ad4b7376b345bcfbb5d2caf9d45179012d4bb5a08ad675f475f58570ae96b7ae SHA512 c9451662764a888e3be21499c29673bfb0e1df4915814da3506db5d395a2b00ea2f0c08d1c9dffebf030179f9347794876ec6ec9e6710b4fc70fd760960335e6
EBUILD ffcall-2.1.ebuild 1465 BLAKE2B 94c45c5e0c32ef02e7eeb1922466dabb4c5ad239e992403796e84a803fb2901384da0b029af539b8d71d960e207530de48bc49a72ecdd7143721d0982af76e13 SHA512 4b4fd2c30aaa9e7039e3797df97ad9947f960ba22d65fc5ae1a8d6c57c1cf6ad04ea6726249d3e2fcb34940ebf30b2c15f270f19b79dea9dd2e8b0fabdce062c
+EBUILD ffcall-2.4-r1.ebuild 1648 BLAKE2B 63bc28b5cefed8c1eaba88e5af218cda15376e2d424cd975190179791f079574a1fec592b14317d08415fbb14b70fa2a3ea3e74d6c62fdb8b0c7359069e3b6ed SHA512 d0bdc6147c06256933903ce0865094fed2c893c72faa13b858dfb2685f98ea04c3940263ab3a5ba501f9a3ff20822bcc908e1c3a652e66daad5ba9b4b83daa8e
EBUILD ffcall-2.4.ebuild 1594 BLAKE2B d5698aba91126067627ddb9a88f525e248bffecc7ef49288f8dff1f7c32746a4dd0d9f421bac6ede0f5d0130434a69771e7c38ef457eab46911361b374025e90 SHA512 27ff8105f30e2c1f3fe76e2c125cfb1b25870bb18471bacc642ca203ee6059f10f3292e2ed4f06ac40e128cbbe1619d3fc7e1985059d56d5d844da684c62b6dd
MISC metadata.xml 859 BLAKE2B a3c2244f2545985f3000c06357c8494bda02e082d089a1b44793a944bdd2592eac8b6e567be29943d07a0eb2930dfda1eb20695f213ec469a1457fd3f8d4360f SHA512 49e8a58e4839ee6d15de7165fede7f8b5f1f200731f8d3a0c4ceee97b8ff1c6e03550ca6be6531d928d43000ec7ded5922f85ef8e3a97d1853be94c9c3d3afe0
diff --git a/dev-libs/ffcall/ffcall-2.4-r1.ebuild b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
new file mode 100644
index 000000000000..370cad023a20
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+MY_PV="libffcall-${PV}"
+
+DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
+HOMEPAGE="https://www.gnu.org/software/libffcall/"
+SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
+S="${WORKDIR}"/${MY_PV}
+
+# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
+# or in derivate works of GNUstep, the included parts of ffcall are
+# under GNU LGPL." -ffcall author
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+
+PATCHES=(
+ # bug 842915, drop on next version bump
+ "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
+ "${FILESDIR}"/${PN}-2.4-slibtool.patch # 776976
+)
+
+src_prepare() {
+ # The build system is a strange mix of autogenerated
+ # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
+ # We are adding them consistently here and a bit over the top:
+ # bugs: #334581
+ local mfi
+ for mfi in {,*/,*/*/,}Makefile.in ; do
+ einfo "Patching '${mfi}'"
+ # usually uses only assembler here, but -march=
+ # and -Wa, are a must to pass here.
+ sed -e 's/$(CC) /&$(CFLAGS) /g' \
+ -i "${mfi}" || die
+ done
+
+ default
+}
+
+src_configure() {
+ append-flags -fPIC
+
+ # Doc goes in datadir
+ econf \
+ --datadir="${EPREFIX}"/usr/share/doc/${PF} \
+ --enable-shared \
+ --disable-static
+}
+
+src_compile() {
+ # TODO. Remove -j1
+ emake -j1
+}
+
+src_install() {
+ dodoc NEWS README
+ dodir /usr/share/man
+
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch b/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
new file mode 100644
index 000000000000..73c896c4f211
--- /dev/null
+++ b/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
@@ -0,0 +1,86 @@
+Bug: https://bugs.gentoo.org/776976
+Upstream-ML: https://lists.gnu.org/archive/html/libffcall/2022-07/msg00000.html
+
+From: orbea <orbea@riseup.net>
+Date: Wed, 13 Jul 2022 17:45:05 -0700
+Subject: [PATCH] build: Fix the build with slibtool
+
+Using symlinks to create dummy .lo files does not work with slibtool
+which tries to find the corresponding .o file which doesn't exist.
+
+Its better to use the real .lo file instead.
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2,6 +2,8 @@
+
+ #### Start of system configuration section. ####
+
++CPU = @HOST_CPU_C_ABI@
++
+ # Directories used by "make":
+ srcdir = @srcdir@
+
+@@ -69,8 +71,8 @@ ffcall-version.h : $(srcdir)/ffcall-version.in.h
+ ffcall-version.lo : $(srcdir)/ffcall-version.c ffcall-version.h config.h
+ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/ffcall-version.c
+
+-libffcall.la : ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/libvacall.la callback/trampoline_r/libtrampoline.la callback/callback-libapi.lo
+- $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/vacall.lo callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
++libffcall.la : ffcall-version.lo avcall/avcall-$(CPU).lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/libvacall.la callback/trampoline_r/libtrampoline.la callback/callback-libapi.lo
++ $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) ffcall-version.lo avcall/avcall-$(CPU).lo avcall/avcall-libapi.lo avcall/avcall-structcpy.lo callback/vacall_r/vacall-$(CPU).lo callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
+
+ install : force
+ mkdir -p $(DESTDIR)$(prefix)
+--- a/avcall/Makefile.in
++++ b/avcall/Makefile.in
+@@ -58,7 +58,7 @@ SHELL = /bin/sh
+ # Needed by $(LIBTOOL).
+ top_builddir = ..
+
+-OBJECTS = avcall.lo avcall-libapi.lo avcall-structcpy.lo avcall-compat.lo
++OBJECTS = avcall-$(CPU).lo avcall-libapi.lo avcall-structcpy.lo avcall-compat.lo
+
+ # Limit the set of exported symbols, on those platforms where libtool supports it.
+ # Currently this does not exclude any symbol; maybe sometime in the future...
+@@ -70,11 +70,6 @@ LIBAVCALL_VERSION_INFO = 2:0:1
+
+ all : $(OBJECTS) libavcall.la $(srcdir)/avcall.3 $(srcdir)/avcall.html
+
+-avcall.lo : avcall-$(CPU).lo
+- $(RM) avcall.lo avcall.@OBJEXT@
+- $(LN) avcall-$(CPU).lo avcall.lo
+- if test -f avcall-$(CPU).@OBJEXT@; then $(LN) avcall-$(CPU).@OBJEXT@ avcall.@OBJEXT@; fi
+-
+ @IFNOT_MSVC@avcall-i386.lo : avcall-i386.s
+ @IFNOT_MSVC@ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c avcall-i386.s
+
+--- a/callback/Makefile.in
++++ b/callback/Makefile.in
+@@ -77,7 +77,7 @@ callback-compat.lo : $(srcdir)/callback-compat.c ../config.h
+ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/callback-compat.c
+
+ libcallback.la : vacall_r/libvacall.la trampoline_r/libtrampoline.la callback-libapi.lo callback-compat.lo
+- $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall.lo vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
++ $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) -no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall-$(CPU).lo vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) $(LTLIBTHREAD)
+
+ # Installs the library and include files only. Typically called with only
+ # $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
+--- a/callback/vacall_r/Makefile.in
++++ b/callback/vacall_r/Makefile.in
+@@ -54,15 +54,10 @@ SHELL = /bin/sh
+ # Needed by $(LIBTOOL).
+ top_builddir = ../..
+
+-OBJECTS = vacall.lo vacall-libapi.lo vacall-structcpy.lo
++OBJECTS = vacall-$(CPU).lo vacall-libapi.lo vacall-structcpy.lo
+
+ all : $(OBJECTS) libvacall.la
+
+-vacall.lo : vacall-$(CPU).lo
+- $(RM) vacall.lo vacall.@OBJEXT@
+- $(LN) vacall-$(CPU).lo vacall.lo
+- if test -f vacall-$(CPU).@OBJEXT@; then $(LN) vacall-$(CPU).@OBJEXT@ vacall.@OBJEXT@; fi
+-
+ @IFNOT_MSVC@vacall-i386.lo : vacall-i386.s
+ @IFNOT_MSVC@ $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c vacall-i386.s
+
diff --git a/dev-libs/uulib/Manifest b/dev-libs/uulib/Manifest
index 2b08cb3afe6c..34e39984574f 100644
--- a/dev-libs/uulib/Manifest
+++ b/dev-libs/uulib/Manifest
@@ -1,4 +1,6 @@
+AUX uulib-0.5.20-libtool.patch 3556 BLAKE2B 473586a6d1c0c36a7402747c19a3133dedb16edfe79eb8867004da9b065f843e965124c62f54cde857df558cd47433d5cc99c9ebc421aa746cc3472a310595e8 SHA512 91a16db31654a80c50e35ad5eb0e9eb0eea5a88c434b589b4d4d719baa9e7d3d3eccb17d17bde4df5c833e1941ce5f7b2830712c5758c64ee7c2373c4b0a6772
AUX uulib-0.5.20-shared.patch 2528 BLAKE2B aec47f6b2ca06bba0161ea94c32dca12b96baa5e0d6301501f9959499f252fe3557f50cbfb016d8a79fe959775db5694d688ad83d58160d097452d043565b2a9 SHA512 4dc386a2d70569ac218d56f1a1b0c0d9ad1f0708a0c975c273d8b18482d9fbb0863540459f64bdbc5415576c616088ea791001a6f3a8f30f0ef01e650de63996
DIST uudeview-0.5.20.tar.gz 261574 BLAKE2B bd345144a87e2322c89e185d0fe5f31f1cd1ff8f73a5c5b6e585b79a0b319fcf349f2bb51f814a6d6a81e0e18271b5c37db827ba414007785b1743c64e5efe46 SHA512 d080e9c3940bad7bacd28457f21133056384a01e33ba014de42502d23f81f2c7f5fa7f6c472ce9f37bec2edb8e18d27135bf18426cf2f23188a3683558e1721c
EBUILD uulib-0.5.20-r1.ebuild 1025 BLAKE2B c80ecd15486db6f32cdb65ea6d8265a0c39a8362a50f96dab58c0ea70209de8810190b3c8a6e4819f7badc434426b2def3402f798dd928e31932654083cf21f7 SHA512 62ba0ec14cf4e9a4a185c5b2150d8161f65460d03f71c574e18298eff60c0e5f7d2d0433b854148ea39f1ac0cd5b1940c69c1ec34664ba29264a2ca144edb7c0
+EBUILD uulib-0.5.20-r2.ebuild 756 BLAKE2B c4c93c3a933514a7cb69d07d15de98160e9534901f609c2af8f4d3482da2f2015de5f34040e0c5a37210fc8f20c0574f3fbbb4fd09e507910f5e4bc4a2723f32 SHA512 73092fd6c7f3d0245c3c2338d6e2b29b2e7fad4ddc1573efcff242071498c2d3fd323c033c1f43917ba196026ba94b2f51376e35de50df81a1b53963d985ebc2
MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3
diff --git a/dev-libs/uulib/files/uulib-0.5.20-libtool.patch b/dev-libs/uulib/files/uulib-0.5.20-libtool.patch
new file mode 100644
index 000000000000..2840176552f3
--- /dev/null
+++ b/dev-libs/uulib/files/uulib-0.5.20-libtool.patch
@@ -0,0 +1,123 @@
+Modified from: PDL Linux
+https://raw.githubusercontent.com/pld-linux/uudeview/master/uudeview-shared.patch
+https://github.com/pld-linux/uudeview
+
+Bug: https://bugs.gentoo.org/780018
+
+From: orbea <orbea@riseup.net>
+Date: Wed, 13 Jul 2022 22:17:55 -0700
+Subject: [PATCH] Use libtool
+
+diff --git a/Makefile.in b/Makefile.in
+index 951c731..342bf56 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -25,6 +25,10 @@ CC = @CC@
+ #
+ CFLAGS = @CFLAGS@ -I. @CPPFLAGS@ @DEFS@
+ #
++# the libtool program
++#
++LIBTOOL = @LIBTOOL@
++#
+ # the ranlib program
+ #
+ RANLIB = @RANLIB@
+@@ -40,9 +44,16 @@ PATCH = @PATCH@
+ VDEF = -DVERSION=\"$(VERSION)\" -DPATCH=\"$(PATCH)\"
+ #
+
++top_builddir = @top_builddir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++libdir = @libdir@
++includedir = @includedir@
++
+ UULIB_SOURCE = uulib.c uucheck.c uunconc.c uuutil.c uuencode.c \
+ uuscan.c uustring.c fptools.c crc32.c
+-UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
++UULIB_OBJ = ${UULIB_SOURCE:.c=.lo}
+
+ #
+ # make stuff
+@@ -51,11 +62,11 @@ UULIB_OBJ = ${UULIB_SOURCE:.c=.o}
+ .SUFFIXES:
+ .SUFFIXES: .c .o
+
+-all: libuu.a
++all: libuu.la
+
+ clean:
+ rm -f [Xx]deview gif2gfp
+- rm -f *.o *.a *.so core *~ TAGS
++ rm -f *.o *.a *.so core *~ TAGS *.lo *.la
+
+ distclean: clean
+ rm -f config.status config.cache config.log Makefile config.h
+@@ -67,22 +78,25 @@ new: clean
+ rm -f libuu.a
+ $(MAKE) all
+
+-libuu.a: $(UULIB_OBJ)
+- rm -f $@
+- ar r $@ $(UULIB_OBJ)
+- -$(RANLIB) $@
++libuu.la: $(UULIB_OBJ)
++ $(LIBTOOL) --mode=link $(CC) -o libuu.la $(LDFLAGS) $(UULIB_OBJ) -rpath $(libdir)
++
++%.lo : %.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(VDEF) $<
+
+-.c.o:
+- $(CC) -c $(CFLAGS) $(VDEF) $<
++install: libuu.la
++ mkdir -p $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
++ $(LIBTOOL) --mode=install install libuu.la $(DESTDIR)$(libdir)
++ cp uudeview.h fptools.h $(DESTDIR)$(includedir)
+
+-uuencode.o: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uunconc.o: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uucheck.o: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuutil.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uuscan.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
+-uustring.o: uustring.c uudeview.h uuint.h uustring.h config.h
+-fptools.o: fptools.c fptools.h config.h
++uuencode.lo: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
++uulib.lo: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
++uunconc.lo: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
++uucheck.lo: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuutil.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uuscan.lo: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
++uustring.lo: uustring.c uudeview.h uuint.h uustring.h config.h
++fptools.lo: fptools.c fptools.h config.h
+
+ uustring.h: uustring.c
+ awk -f uustring.awk < uustring.c > uustring.h
+diff --git a/configure.in b/configure.in
+index ef00d18..563c77d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -8,6 +8,8 @@ dnl
+
+ AC_INIT(uulib.c)
+ AC_PREREQ(2.9)
++AC_CONFIG_AUX_DIR([.])
++AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADER(config.h)
+
+ #
+@@ -20,7 +22,7 @@ AC_PROG_CC
+ AC_PROG_CPP
+ wi_PROTOTYPES
+ AC_PROG_MAKE_SET
+-AC_PROG_RANLIB
++LT_INIT
+
+ if test "$wi_cv_prototypes" = no ; then
+ AC_WARN([Your compiler does not support function prototyping and])
+diff --git a/aclocal.m4 b/m4/uulib.m4
+similarity index 100%
+rename from aclocal.m4
+rename to m4/uulib.m4
diff --git a/dev-libs/uulib/uulib-0.5.20-r2.ebuild b/dev-libs/uulib/uulib-0.5.20-r2.ebuild
new file mode 100644
index 000000000000..7fb2f06b6273
--- /dev/null
+++ b/dev-libs/uulib/uulib-0.5.20-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P=uudeview-${PV}
+
+DESCRIPTION="Library that supports Base64 (MIME), uuencode, xxencode and binhex coding"
+HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
+SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/${PN}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libtool.patch # 780018
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-lisp/Manifest.gz b/dev-lisp/Manifest.gz
index 78f2654acb73..1a54941c1b82 100644
--- a/dev-lisp/Manifest.gz
+++ b/dev-lisp/Manifest.gz
Binary files differ
diff --git a/dev-lisp/abcl/Manifest b/dev-lisp/abcl/Manifest
index b44c34ff69c3..294019f078eb 100644
--- a/dev-lisp/abcl/Manifest
+++ b/dev-lisp/abcl/Manifest
@@ -1,3 +1,5 @@
DIST abcl-src-1.8.0.tar.gz 2613411 BLAKE2B cd50e5df0b7e48c902bc904ca4ea0e9c293241e04cfda154cb388c5f58da921645333fca8e0a95768a550fcb2a5b6346b3e8958745138ea6826f5c5a62ef0faf SHA512 90cc2d1e52a4dc83a0159a5763d2c7eb344952786a805a82180e0000a0cae26d89ae5a9293b629b7b5131eac05668fe21711abca32aebe05d7400187b0b3793b
+DIST abcl-src-1.9.0.tar.gz 2470791 BLAKE2B e6c79a7f9dc94fe978c81f0752774b54b850c3019eb40a66cb043e6463ae6aa80b8e09d628847017335cf077029f6548be40394adf06a8549609b5bb7cb26dd1 SHA512 d061565a4e89fd11238118fccf72ea212b9bc87c708f89f13e8e9564d984ee405a189b93fd904ecae7b7f6663ca130b5c7ab774f7f9fd31282708c639e3ef9f6
EBUILD abcl-1.8.0.ebuild 774 BLAKE2B cf3fc0ca35085a1cce606190c6165eae859911f1dfdccddfd74635060ac465c4a7abe4bcc690ee79acc45f0b03c6ce2dc81258f9d339eb48ee5217f0a3143c4c SHA512 3f8252ed25c396dcc2f86eeeb399721980a60b55db527b20dd85faa61489515b06a561c3c0d062fc981446a5c802cbf935ae3646f357c8dfdc34674f27ef8659
+EBUILD abcl-1.9.0.ebuild 720 BLAKE2B 2fcb5a0524742c6d65fbc2405f17d655c4884fdeeba695bd453493ae5d57e9a91dae954d53d1b3a83e52cde74731cb97063b5b4e7bfb6b969d92a62db715be1b SHA512 5b7f7fa915a2936889f7462dcda6bfe548e531ad048841b5425e61fd7907a6a007a8f8e82fc533ccb158b293b4f8dc15debaef92f2d85e7a8794bdba42bed864
MISC metadata.xml 510 BLAKE2B 60a7dcd088008c5e66f197d7cf3bbfadec55977620f2be7a80e52ec37f9fe4357de98dbda7d9243eaf260748b5fba6728bb5820e80b7c118e972997bf01bea43 SHA512 3130f34d272b11299a2e65338fc822e9e693f348e828bb79acc756461e4736a2030684087928c177e50bfae4099b9d537e067c961a44ecef622d2c42977c6c0e
diff --git a/dev-lisp/abcl/abcl-1.9.0.ebuild b/dev-lisp/abcl/abcl-1.9.0.ebuild
new file mode 100644
index 000000000000..044985795141
--- /dev/null
+++ b/dev-lisp/abcl/abcl-1.9.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Armed Bear Common Lisp is a Common Lisp implementation for the JVM"
+HOMEPAGE="https://abcl.org"
+SRC_URI="https://abcl.org/releases/${PV}/abcl-src-${PV}.tar.gz"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/abcl-src-${PV}"
+
+src_compile() {
+ eant abcl.compile
+ eant abcl.jar || die "Can't make ABCL jar archive"
+}
+
+src_install() {
+ java-pkg_dojar dist/abcl.jar
+ java-pkg_dolauncher ${PN} --java_args "-server -Xrs" --main org.armedbear.lisp.Main
+ dodoc README
+}
diff --git a/dev-perl/Manifest.gz b/dev-perl/Manifest.gz
index 0e8580e778b0..5d1ac13d28e8 100644
--- a/dev-perl/Manifest.gz
+++ b/dev-perl/Manifest.gz
Binary files differ
diff --git a/dev-perl/XML-Feed/Manifest b/dev-perl/XML-Feed/Manifest
index b883ceced530..5134cd635373 100644
--- a/dev-perl/XML-Feed/Manifest
+++ b/dev-perl/XML-Feed/Manifest
@@ -1,4 +1,3 @@
-AUX XML-Feed-0.53-dotinc.patch 1394 BLAKE2B 1cbdacc101a172e1e622907ae946c79cb3778db92f28474223cab082ddae3a6cf6edb9810ab29c96eba4f3987809c861795a579b9a0a67279c072032bd22f3fc SHA512 be9f9786ab8cdf5396f124b78fa56993fd6488a38c8024be99212d2b7a479cd998a82fc745abf4d204f2ee1d8d5518f5b3a0995bf9eb39b7eacb8bf1b5f4e4f7
DIST XML-Feed-0.63.tar.gz 64306 BLAKE2B 3263f990d97c523a326ce2331e961e6395b5c208ea4608b2eb1ed6e6743507af0471436d100183ab8820b5eec274703acf38bb07ad85e63dec7c884bf282ccca SHA512 3c624e71194ef263f0e1105407dc9a9bf5946a6e4964eb4b6ce96427a088db22a4f4821add5beb4602353a8d49883d1f6560ea50256354f3f8e2c1593b45e010
EBUILD XML-Feed-0.630.0.ebuild 942 BLAKE2B b2519c68de4a3f80cd9f8d137eb115a92dff05effb212d1ce8e7adb4f3b2fa421983bdb7fdfff4222d97079fdf26f53e7984d44ceb0812b234d23544b65a20be SHA512 263322bbbc726a9ee416609ba02e5b4a57088f9adbd164aa76d59e5fede0fe118995e3920404ad7b03a982db6e5bd147faa99c349f39e59c14a060ea99623805
MISC metadata.xml 876 BLAKE2B 89336699401bd3e1fcc0480fc6d9b700d5de46e835d9d5199f794afb2e052cb1b2a43e132a201cbd0da3595dd9f5324684ca56f0834f6d26bda2866b5b3143e0 SHA512 7743a6a315b7cddef94c4e2b3c2723ebe7e85eed303e7ebdc694eb55cd9bee310f17d8dd1c580077668cd3ab9fa0db9e7f1a0a68e2bec49db405c06fb5060681
diff --git a/dev-perl/XML-Feed/files/XML-Feed-0.53-dotinc.patch b/dev-perl/XML-Feed/files/XML-Feed-0.53-dotinc.patch
deleted file mode 100644
index d266be32b052..000000000000
--- a/dev-perl/XML-Feed/files/XML-Feed-0.53-dotinc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 43bd53272467a27526b46a2cd65748632898cc9f Mon Sep 17 00:00:00 2001
-From: Kent Fredric <kentnl@gentoo.org>
-Date: Mon, 26 Mar 2018 18:26:22 +1300
-Subject: Fix test failures w/o '.' in @INC ( perl 5.26+ )
-
-Bug: https://bugs.gentoo.org/623190
----
- t/12-multi-categories-atom.t | 2 +-
- t/12-multi-categories-rss.t | 2 +-
- t/12-multi-subjects-rss.t | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/t/12-multi-categories-atom.t b/t/12-multi-categories-atom.t
-index 25b0ff9..15023d4 100644
---- a/t/12-multi-categories-atom.t
-+++ b/t/12-multi-categories-atom.t
-@@ -3,4 +3,4 @@
- use strict;
- use vars qw($type $field);
- $type = "atom";
--require 't/12-multi-categories.base';
-+require './t/12-multi-categories.base';
-diff --git a/t/12-multi-categories-rss.t b/t/12-multi-categories-rss.t
-index c467d74..921029d 100644
---- a/t/12-multi-categories-rss.t
-+++ b/t/12-multi-categories-rss.t
-@@ -3,4 +3,4 @@
- use strict;
- use vars qw($type $field);
- $type = "rss";
--require 't/12-multi-categories.base';
-+require './t/12-multi-categories.base';
-diff --git a/t/12-multi-subjects-rss.t b/t/12-multi-subjects-rss.t
-index c3cd317..0f0027c 100644
---- a/t/12-multi-subjects-rss.t
-+++ b/t/12-multi-subjects-rss.t
-@@ -3,4 +3,4 @@
- use vars qw($type $field);
- $type = "rss";
- $field = "subjects";
--require 't/12-multi-categories.base';
-+require './t/12-multi-categories.base';
---
-2.16.2
-
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index e39f2c00c980..df722b903800 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/PyQt5-sip/Manifest b/dev-python/PyQt5-sip/Manifest
index 91dfb7606935..837e3c6c5bc9 100644
--- a/dev-python/PyQt5-sip/Manifest
+++ b/dev-python/PyQt5-sip/Manifest
@@ -1,5 +1,5 @@
DIST PyQt5_sip-12.10.1.tar.gz 121271 BLAKE2B 5f1720a85b8522f552259be990d1d27c0f40d8c0c3ca0395679da02851e73b45210a6390b66d899fc00cabfeeda57f2bac4c8d108cd05ebc179302343fbe0457 SHA512 a6336195d8d5a1b216a85461c5f7acf3563c6db2255079734e955a9412522cfdb82663dbff5d60574acc7bb29dd5ef11f98f2c0c3c3d3fcbf290b039cda31638
DIST PyQt5_sip-12.9.0.tar.gz 103007 BLAKE2B 461973ce3563c27ce5a6e3a537cf9a8e53adc8ddde36ec1d2eb7abb986908151ece99ff8756f752d2c6e331a3e9b7b70813d35f8701cedd7f09e6edbcc435121 SHA512 ca6f3b18b64391fded88732a8109a04d85727bbddecdf126679b187c7f0487c3c1f69ada3e8c54051281a43c6f2de70390ac5ff18a1bed79994070ddde730c5f
-EBUILD PyQt5-sip-12.10.1.ebuild 664 BLAKE2B 6bab9afdb717e64abc4f3e605ae31d8000371a7fd90b0614edca29a127cec852665d2f56393aacc9bfcce9ef3a1bb1f6baf1716a355d9bd4fb62e2f5866235c6 SHA512 8519b6313acbdf5043958ebed13d95360a8d808cd42a97ea3088924da4ace61fff20461a9f7b4daa50186be0c2fd6ae181e7df13460ab675ed815b1b5713523f
+EBUILD PyQt5-sip-12.10.1.ebuild 662 BLAKE2B 1f4a204aeeae3780fb4886edc1a5ba07503ccf9558417d843895726fcfd344598f298d54b62b94b18ca870e304ec33fe0ddb256b938310cd72da2924bc27233b SHA512 93b1fa1e3944433a92ba8d5ae1c602a503ba3b1c9f9319f2f45ecb5d1c32b94db77165e5e034822239980aca2946cc60d636f7beb42ed45d9bd47d1064dab39f
EBUILD PyQt5-sip-12.9.0.ebuild 628 BLAKE2B 1f5a1e25a8cb4eb063dbcffa8ac00353cb546f919d6599693062ce3e99ae888eaab1c8a4bf045bbe224e8a5a9f723f8905b95437b43a3ffbcc7dd23a42ebdb27 SHA512 4adefcd59ab8bcc9bf9f1fa928d46c7a552b2770c82968dec832a818793b41daf52dad190cb8db79b479ca98d3a9d73423d65d2321292ee832a4d79d4bdcbf04
MISC metadata.xml 649 BLAKE2B 0a6faee65b39f122f65965490284b17856ba6d86537f3f3780f8604366739c346b01e29e933a91c7edb5ff898e5d51a10e4bf288228d1943a1c9e9970eac4c86 SHA512 3af9be87db6da5cb071f4025cd6fc1964a4b0629ebe93239f6c5a3734d4ef8ef06e652abbac5c9bd86f882a6235bf3b1f0fec6f0035c77ea42571e47c6045e29
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild
index af1c3a6e0204..1ed27f96a758 100644
--- a/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild
+++ b/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild
@@ -20,4 +20,4 @@ S="${WORKDIR}/${MY_P}"
LICENSE="|| ( GPL-2 GPL-3 SIP )"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 arm arm64 ~ppc ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest
index 3dcb374dadb5..f64338b5f8cc 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1,5 +1,5 @@
DIST QtPy-2.1.0.tar.gz 46470 BLAKE2B 2e032d141ad134444143cd59b8952957b226d9519925083aecce82adf62eebd3f58803cf548c4142fb1ece6f0e2340043a82a7aef056f6e4a9ac8b9caf72d80d SHA512 052cab4218d23d46162d11bf038dccfe6200b05c1c8647bd1f9dcbdaa7af50c23d4ae85829e065c7bae57630d149d562d76cc78202b4f448cbf6547010c746ff
EBUILD QtPy-2.1.0-r1.ebuild 5166 BLAKE2B 1058583029d29a6575a198b2dc0085916fc2f3e8347ae308e41c8d35e14e3d56c478b96b3e22a42c464d242551880780e6ab260ca56642209092c3d56c1d711e SHA512 d10ee8366b3ffafd1af0011aa11cbe4b1c2dbf2a87079d901b79fe88bc206b850b9f8083229e378a42ab1c7bd8f8548b7b695d18bd0fcd487aa85b0ac740c66e
-EBUILD QtPy-2.1.0-r3.ebuild 5009 BLAKE2B e5aa8fbfaf456676da52d4a5c77a716af897ab0b414e8cba426f6fff70e695aefed4db821a2a942ddc4cd85b211cb661f3d3959491d6a4ab79e8e71ac7ac33d0 SHA512 76d8347b5eea6b0b83aa998ad98d6c289f8a266251b5a70bf8de7f47b52513ecddc730dc686365b84d922c2c19181753cf8c443765f2e3b579ab9c58b7893ebc
+EBUILD QtPy-2.1.0-r3.ebuild 5006 BLAKE2B d3b4364cdf95e28dc89634ffa13591bea56ebda184a81e310c41b4a85824f0cc5c5c2c364fc2d9a3a1c621ef9df07102386f17a2fc5f756b28f25b8976bf1812 SHA512 c51f0f703eef82ba2699dac7083842274c1b64b58ca777b881d6378b694457c286b92b05fe0bde4f4c0d87d76773fb0ed51a8fa9d8584f67adee541a077f4066
EBUILD QtPy-2.1.0.ebuild 5003 BLAKE2B 60931695b10ab9f9bbabb0cb53025ac1a10412c82f1f51b2c828d266222fddefe5acad3bfc02542897366b48bb7738364cd50344e95d2eca61f9c96695f2f495 SHA512 082b96730ba1b6c138cb78cbcff47d7b882017c7133f8de4256cbbb213bddd709a7f9067a9590a79bc9ebda7528a823e3c7bbbdd8edb44d1a6490b109c1842ed
MISC metadata.xml 2904 BLAKE2B f951ee9cfb1e57da9c1b528015cf56bf72e36fbcea6973f5bd237e86c8039d82d9700166ab76773b9bfbc8e499df492994e5dd73aee0bb2d35914d36bcf1bd78 SHA512 e6e13d0c24f16379ac03711f02c5201d1ab28bcbbddd7063f0487bbaaeda99e5a2ef87f00d8df834d822c9230a50ddead93b44affccf07b80bfc275140f4e9ff
diff --git a/dev-python/QtPy/QtPy-2.1.0-r3.ebuild b/dev-python/QtPy/QtPy-2.1.0-r3.ebuild
index 5557233a170a..967021dd8836 100644
--- a/dev-python/QtPy/QtPy-2.1.0-r3.ebuild
+++ b/dev-python/QtPy/QtPy-2.1.0-r3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 x86"
_IUSE_QT_MODULES="
declarative designer gui help location multimedia network opengl
diff --git a/dev-python/filebytes/Manifest b/dev-python/filebytes/Manifest
index c0fb47b13eb4..52a6c830f6e3 100644
--- a/dev-python/filebytes/Manifest
+++ b/dev-python/filebytes/Manifest
@@ -1,4 +1,4 @@
DIST filebytes-0.10.2.tar.gz 1958114 BLAKE2B 6b7fb865d01cc9ea0f14b32f6e0326da21fa2fa2a36549b99ca88e9bf015162d3b0f82e350be1cca805294fd56ef47e2db4394db5ffb3061773f146eda1ba666 SHA512 12317d6b5063e710b4410e4dcc61b45c0ac1cbc80655212dacb0929a19e100849df39ba84a05cb96699abe7ec16758e0b9656b3d3ce044f3d122b8636106e564
-EBUILD filebytes-0.10.2.ebuild 548 BLAKE2B 0af59f80c3343f0ad7beabeb24e82265e3fd20c6f080af96b7a9363a716bab8896a2a12fad4d480aad56fb32580a808bdadb1cdcad9b0626933840ec14c69d8c SHA512 cbfa91d3ba25e33b76137fe43abd718a6c4838d5c5c815b6f31abc8e8cae3fc29ce420cea04f51140f0b7457a0c1cd1441aebf4ff8184c91604df75050930cbf
+EBUILD filebytes-0.10.2.ebuild 546 BLAKE2B 9589fc148072918664e1a2a5a9288eaa2ba0108fe55138f5c3fa984e01000d1a801790eba93371dcfb68b93995be2e3fa5da6b86859821572267be8013e4e811 SHA512 0998faf5553845a2ea60350358c76966dd2a136a79ce752e9fddcd787e2065e1b0ce2d4bde0c30e17712f66793cdc7a73a1856b181ec37ac978f30b127e33136
EBUILD filebytes-9999.ebuild 548 BLAKE2B 0af59f80c3343f0ad7beabeb24e82265e3fd20c6f080af96b7a9363a716bab8896a2a12fad4d480aad56fb32580a808bdadb1cdcad9b0626933840ec14c69d8c SHA512 cbfa91d3ba25e33b76137fe43abd718a6c4838d5c5c815b6f31abc8e8cae3fc29ce420cea04f51140f0b7457a0c1cd1441aebf4ff8184c91604df75050930cbf
MISC metadata.xml 709 BLAKE2B 6bded989b13ae245ef8fbf1182bc9dc526686474d5f48f68c42a27e9d55ede4ed15cd6c7b71dea25f70fb4d25878ab0aef49d6bfb097c3289aa9082a2bc6a9c3 SHA512 3ed2373294bbe2670942048609439e42676955ca575dc5c6fa5b45ea5fedb145de1d21cd84f8f8050d2c4f8326429763c01e3f992e650a1372f9363dba36ca81
diff --git a/dev-python/filebytes/filebytes-0.10.2.ebuild b/dev-python/filebytes/filebytes-0.10.2.ebuild
index e7dd4c7a61bf..6e216e84195b 100644
--- a/dev-python/filebytes/filebytes-0.10.2.ebuild
+++ b/dev-python/filebytes/filebytes-0.10.2.ebuild
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/sashs/filebytes"
else
SRC_URI="https://github.com/sashs/filebytes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="BSD"
diff --git a/dev-python/http-parser/Manifest b/dev-python/http-parser/Manifest
index 22d402a57fa1..268996a2adc7 100644
--- a/dev-python/http-parser/Manifest
+++ b/dev-python/http-parser/Manifest
@@ -1,4 +1,4 @@
DIST http-parser-0.9.0.gh.tar.gz 101174 BLAKE2B 92b74dffd2c35672bc383ccda59f93723c0f83ecb0fbf0470f5daacdd37f68d4d63de7d4ea53f86d2109349a793b7535cc864f014311dee6ac5e67d0ca751931 SHA512 75e51bef43d9d7698aad69f8bfe651e24784b97603cac55f33bf4c12c86792c8c71d6206f31847d052e4d8621a5ea65a7b34eca5bebdb8189f58e6d98d33139d
-EBUILD http-parser-0.9.0-r1.ebuild 886 BLAKE2B 72df0d130250f986936fa545c439c17091bde6db828b610c5cc21e0cc70126df2bf279db4b15a4a097ae6ec1af6457b46cabd8add1579e9ee3e4a9df4402e63e SHA512 a0b39ba22ffe2db465828c9834756b54a48554a9bdb6b00cb5fe20e295ac43537fbf1a921ac2d40a01aa21e4222e41d2f8ff8a90f6b512580103d61a12ecff38
+EBUILD http-parser-0.9.0-r1.ebuild 884 BLAKE2B 78c66d15b5a6124842150951352ec114fb0e4bb5ed35d0c2520e6ba28b07b00c93541fff10f261a4615facb837de444c600c73499d3a76ecf40fac2f33c5ae1b SHA512 2a5bc6714a7d96dae342f98b1aacad5d04e687904bedccdfb76be02ec45d79b9f0e86c7cdabcd2b2a1ab6465a39bf3d3db13fe4a5b6743f693f66d272aefad10
EBUILD http-parser-0.9.0.ebuild 882 BLAKE2B 0d22312cda71a086751e2ef98caaf0139296a01c07ae01be1d09f0d65a23e4ae46ff91263976e428bb0e15fd98b6b00e4f2e1499d47c9a4eb54592a97e019877 SHA512 5607df8cbf9ade92104565db3dfa14b8f4f59f7f64b0560d9c02432f33d0c6d0236f6823963801aa7ef8258b50cff816e809b20544145aa629e6ecb983a03466
MISC metadata.xml 386 BLAKE2B 219fa172d766a86094b7a37a8f5d47f6f503d14fe96ec42a7deb64e2a9865754eafcebe3514595718c54f7ad3224bd4ab227c0ff3eea9190052bf6b75712ed9a SHA512 1d6b4e4529ab169d2773199a10d994f92a638fd962bada0791c95c009ccb706a95089f9ea943e4851daa56a690319bf10cce3c77618fa1461c7c4606db2818f0
diff --git a/dev-python/http-parser/http-parser-0.9.0-r1.ebuild b/dev-python/http-parser/http-parser-0.9.0-r1.ebuild
index d9b9bac3d06c..3a816b6a2738 100644
--- a/dev-python/http-parser/http-parser-0.9.0-r1.ebuild
+++ b/dev-python/http-parser/http-parser-0.9.0-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc x86"
IUSE="examples"
BDEPEND="
diff --git a/dev-python/intelhex/Manifest b/dev-python/intelhex/Manifest
index c54d860c74ab..51bf15ad1328 100644
--- a/dev-python/intelhex/Manifest
+++ b/dev-python/intelhex/Manifest
@@ -1,4 +1,4 @@
DIST intelhex-2.3.0.tar.gz 44513 BLAKE2B 935fb6d5c27231c4b09f7fbe624df07adfdb9eecdd99b17cbbb4994dc74e0c7a141546a663229b0598ddd3884b8d17dd7244f770319a594387de074e7591aea8 SHA512 41b50feb7505474d74a2b6293d755d118b6dfd23a5c9b995791e7dcb7a97fc6f39d8f804b72f6372ba8e136684f9c979c7ce9ef2ff9796b6202eefc9d18f4424
-EBUILD intelhex-2.3.0-r1.ebuild 509 BLAKE2B 6f311166a0b9fe5bc670fd7c5b823500d6b84bfae7cd3307f4072fab490e6de98cfcdec877d1b154b0bdbef264217feab23752d39c1462ee97dac1f1515fe282 SHA512 4b5b19f48bf51c2e78b8a55f243d534769f4b91a676d4996be95a97939b927801a35aacbfc10597d76d9ebd73c531c8b4cc42b743d64bc693f5ed97129fc08d7
+EBUILD intelhex-2.3.0-r1.ebuild 508 BLAKE2B 505fbd518b8ef29d374b8227871a883f4e24e33eede06c56672e9a4273ea40a33ecd390b4216d98b752ddb30d40a250f42c292df73d544a7cdd3ff13437b0fa9 SHA512 f9524669dc23cc423d772644ecd9c059366e25ee28f30c565df501a37a26953fd136861f6a51cff3a3052bc60254938742b4dbf539d495328385202819d2c66b
EBUILD intelhex-2.3.0.ebuild 467 BLAKE2B 6420a92abdfea42ef33d3dd516b6fe054a62e2e08567f1828b02694f52e597133d231def4ecdc83c8139df77f1752ae4b077050e80ec8db44a3c38a020018b6d SHA512 369ec24eab6c2eda1e8f91aeace1975af027031ae065d2501219a9fb4f2d3b664bb4cb619a17728c46d602c1eadc4d8e014ab37f4017b51089cf570a8de8b699
MISC metadata.xml 368 BLAKE2B bfcc62fc30d07cfbf68c85cfe04d5a463f2495d692d903a09bfc7e64a2133de5fc9dac5a0acf6b8e361f94280b3640205121fc037b74dd9a2af515176ec17770 SHA512 064025d5665bf23868bd3d76a1acf4d93fa55063f89c96631642433922820db01ef8174dd05272ab17acab081eee54d6af411885089dd6b43546d4372dd8c61d
diff --git a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
index 9cfe2d0e8d60..496ad63480aa 100644
--- a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
+++ b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
@@ -17,6 +17,6 @@ SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~mips ~riscv ~x86"
distutils_enable_tests unittest
diff --git a/dev-python/js2py/Manifest b/dev-python/js2py/Manifest
index 0abf5bf27e12..4eb43acb3833 100644
--- a/dev-python/js2py/Manifest
+++ b/dev-python/js2py/Manifest
@@ -1,5 +1,5 @@
DIST Js2Py-0.71.tar.gz 1969618 BLAKE2B 293a830f4188e66927b23900e8c376bf1a4bfdfa8726e33aa5aa75dcdf735cde89ce463741c142fc7e487ae89c7c11421e459d2fdd09ba88edfe953e4e087e42 SHA512 75bae61619d4766117f3c163d36427f3019825ecb08b745aee7c3b6f2d33a4ea8507ca180b63c0a8e575a5f9491eb64d6963acbb912edc7b934a676b38814597
DIST Js2Py-0.71_p20210918.tar.gz 1970784 BLAKE2B 4ea446b306e858c2acb192a699b4c098cca1a334fd97246d3149186795a013fa1ff9cf45ecc5cd9bed241b13b3eb003ebf272f5af4ed24a608564fd4709e4ff1 SHA512 810363e4b0716e324e6deb5f373968c9c57e7ecf120710c064601ad46ca2f24bc8da52f779f861296dd506de06d664be86b3c0d72bcb811892fe4e6c22ad7a6d
EBUILD js2py-0.71.ebuild 1157 BLAKE2B 516469da33f8585b37dc0103bbdd0e106d97f04a0e3eb23ce1aebf7ff84886143eedd9877075880e62e9b6939246d47722d8e7c6d15f41800760182b671f98a8 SHA512 b298e699f7117c93e73fac3154eafa35794511f720ed125ba31f051e8908ccd8f404952ee3018973af30031fcc735b7091aae693add03da91a34e3a84b41d376
-EBUILD js2py-0.71_p20210918.ebuild 1128 BLAKE2B c3632c120baec67c93ed1cfbcb0945ef2fe45379514732ebb9b75368950eeb0cada579dd9d6353d318e30b1758e7bbf13fe7c82fbb786987efed5ce10447a07f SHA512 31ca1a52fea49cf38129913c11f5ab4197d6ce998e59639986f0c47ebb88108d6d73400f95e4585c3a56cd27b2514d56c6772c1eb0428aada111338cb03e099a
+EBUILD js2py-0.71_p20210918.ebuild 1127 BLAKE2B 46f6387148d8a1c6c0e3678e021dd32ab1c018fe33be1966feb1a0f592ab950fc8e662f06e7bac3af3ca76e5f71203c51ccd23df29143bcd92e317d3b56e901f SHA512 48eacd37e89f85f90b041a8960549bd3d93888bd70301f559fdb840bfb94bd1ee2f5a83d2202cf54fa4f7205828f962579714397a7eac92f22643a7c5ff9caf9
MISC metadata.xml 385 BLAKE2B 145afe58273b407d1ba1f3859de0d79a3bdd4307575d043a8b574a8bac26c2d577efec841c6c3a9424ca7970dac33517df48c0f287c18bf4e1cc5faa5125ba6e SHA512 7e48c836578bcbb4abf0d99f0f2b870ab15158f05d5c402e2d84c9f9de7d2c994127eba26897e406b6c7d77c962867d39a37bf7ce78ca09d39b78d64f9d8d68d
diff --git a/dev-python/js2py/js2py-0.71_p20210918.ebuild b/dev-python/js2py/js2py-0.71_p20210918.ebuild
index 2750eb556dbb..019acdee028b 100644
--- a/dev-python/js2py/js2py-0.71_p20210918.ebuild
+++ b/dev-python/js2py/js2py-0.71_p20210918.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}"/${MY_PN}-${H}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
RDEPEND="
>=dev-python/pyjsparser-2.5.1[${PYTHON_USEDEP}]
diff --git a/dev-python/leechcorepyc/Manifest b/dev-python/leechcorepyc/Manifest
index bce88cd06d06..208ddf10e1bf 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1,4 +1,4 @@
AUX leechcorepyc-2.10.2-respect-CC.patch 2049 BLAKE2B e867abd473e3adde11c3c2c09bb8f5ebc3058b71f53035b84490c4c622c7d7ada4f660450069297516227fe8a9b704d64c4a7f148037085788714773e90fa99f SHA512 48325f1b794f1deadf760e534280ee06f06554dff3e44bca498aba9dcb3e62b46f213400e891499b0147809b8d6f238c7b9a2ac200b2ee9be9df24e11c1be6ac
DIST leechcorepyc-2.10.2.tar.gz 119984 BLAKE2B e9bba5dd548ce5ce8c3a367d1ae21b66fca796e5614fe3cc86cdc16ddd1b589261534b551992a3964542f6d61fb6fb64bc9e2e03f8775486761107a4ffbeb958 SHA512 16048f3494452ff75fa946d65dfa36a7b0dd30c132db10c01fdc1dbe0de051c69856bf7b9830d68ee17ec1e4ce5fb29ba17a14f0facb928b81e4094ac5009716
-EBUILD leechcorepyc-2.10.2.ebuild 837 BLAKE2B 2a0e5139480207940e28aecc4f48b71d666186aa38fa1968c8d5388bb720d0e71f3425bec59accf31c63bf2c67f02498a792f4ba78f057ce0556a65d73fac64b SHA512 eadd04a18d91ac4f6b2de7168e8e34f3f7c9b5b0af569ae92d8220fdc638024331170a96bcda0575e23e5738b2bde1f016c4d77494edb2ca8fccd1b97b4ed1c8
+EBUILD leechcorepyc-2.10.2.ebuild 836 BLAKE2B 07141a283643c8b38f1a7f6c156a123c143a92e9905dca9f37c1e90cf246c08733be53e247bf8b4100670a5fa6d6f1ad615389f948e33bdf2713a64c78746c24 SHA512 d49fe91de7d0bab04f635bd4052446c39c1fdc0ec5f2880c550a17fd69c93095676565b717750f58ca068877555ae4c31e09c6a3a034838cc4eb819309f1e286
MISC metadata.xml 683 BLAKE2B e85f13b83acf28fc6d59876fad2576afe741065c754680650adcb7acd1068410469de969ab4ee28ef5d9e7ff448c615293cf3f4713b4211c22dbb1b13d7f5947 SHA512 cff010f9f6dafcb3379a0de5ae0c98b974e605cf4e3a0131657832da2f0609e62cf07d3da84327b8c1272eb4cad64218e6c3f0231ec2402b3801e2453a10e76c
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild
index 8d181158877b..8503b6007130 100644
--- a/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild
+++ b/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 x86"
+KEYWORDS="amd64 x86"
# leechcorepyc ships with a bundled version of the LeechCore library. So we
# dont't depend on the library here. But we must be aware this module doesn't
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index 069013c53988..0499b5119e4f 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1,5 +1,5 @@
DIST owslib-0.25.0.tar.gz 936550 BLAKE2B 9cb34a6c7c93dc89a466c13351d457c9372d405055fa3f6cec9c05c231e76762168c6813085523037b3a6439100500c46c1044569bd2bb598c3e2e63757d8b86 SHA512 058108cf77197ce24793608869d56bf0467230f5f231ac9ba48445f2e02d07ea1e26be03ad6967504a1e625008ae2768ed2a663f3b7a49dcea410ee4a8b40cec
DIST owslib-0.26.0.gh.tar.gz 948463 BLAKE2B 2cbdad2d8e9bc4b8a7e2db58dc75a7c053bde0b2cc772a01f230db044909615b96e62b08bb93233df153686a180a5e93af1bda6ea79b8565efacccfa18fcf4da SHA512 27362c47eae87dc6318d505dd1b0987de36d140d2d0fd5d7a5195470de39d73807fbcafa142366f6981cc36453c262a41133c6c68baf45a97d0fdaae5a0ebf4b
EBUILD owslib-0.25.0.ebuild 1008 BLAKE2B b37bc0a351127e7dbf203fb0c3c92f17e0acd7ef591fa70922e0ea1e249a5c2d1ff2d1b7359aec0e63a25a72ccdfdee7bdc62694ea084b772c2f29a96fd1ebff SHA512 288045a3f8840f587c06290839eb70d37b4716946ed55cc669759b3ce3f062c561a2a7fc8a7f3df61aea892acbdfbb293f5af9e1e1bc6325e0c54392aa753c58
-EBUILD owslib-0.26.0.ebuild 1017 BLAKE2B 8da0d39b1c5969e54ecacf36c08ec3f198800c2c495597ad4a656afacecbf2fb954053e77f24b3377838034b27746cf5ba4f28af9d002c53ffacbff0335229ea SHA512 619c153975a73e3a93651939f70288cda1359c15bcbf2132aef437bcd6ee7faa6efc5c3c31096394f576021bc748536bac1062066ceb970a10f5c34042761735
+EBUILD owslib-0.26.0.ebuild 1016 BLAKE2B b759495e41072f32b2e5dff2a986b39584b64cb11e0e2aaf28742d309fed54a7e46eed85cfa19ae06c6def31b76c1752bc24a82ee1720d3b29b02370cc6a1fc9 SHA512 df6fca3250c1bcba908ee57cc4885b8cfb56f531d9da02100d956aca73bad39138c37e71e629d0832b4d34382ccf351c270c044857e7c62190a25b1ad6f29a0e
MISC metadata.xml 520 BLAKE2B 01705147ed084a8215d15016b6cc94b2fcdc926eff2755cf2d4c768197d0c39a30a8b0602d93bac7ec221e32c30b9280b37d5736f2f46342ad36e23c1b4a7c1c SHA512 c146cb483caacbde7966a95b899372261493543826cb20d638cd91e7cae245d60f1504bc53f485e35ca5d6c3f83780fc1da211c0838c604dafde27284dd8e40b
diff --git a/dev-python/owslib/owslib-0.26.0.ebuild b/dev-python/owslib/owslib-0.26.0.ebuild
index 50d119522978..84f2660d1f89 100644
--- a/dev-python/owslib/owslib-0.26.0.ebuild
+++ b/dev-python/owslib/owslib-0.26.0.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/OWSLib-${PV}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RESTRICT="test"
PROPERTIES="test_network"
diff --git a/dev-python/pefile/Manifest b/dev-python/pefile/Manifest
index e866846d3ff3..1fcaea382ce9 100644
--- a/dev-python/pefile/Manifest
+++ b/dev-python/pefile/Manifest
@@ -1,4 +1,4 @@
DIST pefile-2022.5.30.tar.gz 72899 BLAKE2B 11752fe849c91749c5272ee9157513db0690fa47a51e274d24093f47c21096e877b364e1dba9cf08d9369abb7e9133743fe98d524079559b9aa9159ece76af74 SHA512 b584472387f7f0161449d2dc0035867da8983eb2c89b488952f38a3e836d23241d46f49a1c9cde13dde4253ef3f212971df48747ea2fec6b91c4db2b7618956d
-EBUILD pefile-2022.5.30.ebuild 855 BLAKE2B 2846fe58be33691773c03cffd7d225c5d7b1579f3d79fee3f75aa5345966473f6de554edd7690db67d558a16913aac3e51c5fa35194a9b2917af4dc5b9dd1805 SHA512 0e1294e29ee34ba243b47f65b0f1ae2704874f6daee227790963544c2294d63ada8cf267428e543d58991e5325a912f55c3a2174d18e190d12299cf822b497c0
+EBUILD pefile-2022.5.30.ebuild 854 BLAKE2B 5cd9a7883ec44aeb31661aa40daa8745ea847193234eca069bcadf7055bd48c9ca7b750f4e49760ffff11a3ac796c58a54acfeb46bf8a5362361c7a569f49463 SHA512 5878dca54ea278a53784ec261c29151312e0059e241789ba35db4837778bc9ecb16a6e37928c87680f9043c5cc628224a7c724de2853234b6a9235717a8040e9
EBUILD pefile-9999.ebuild 856 BLAKE2B f8204fde291e54d945b1302c7a7c17a89a8b7a991124c7475aece43b64b3963cda90efbd0944b672bf7876474e1b282bf138d431445843b5ecbf195484ff3358 SHA512 27492df698e28b6be1845423210e3f87fec8bd7d097baf448cb3018c7fa89f437f817e6b51134b33cd68023c0c3fc1f168a16dd910e4ce8c21ccc2c0ec9120b7
MISC metadata.xml 766 BLAKE2B 8cd0206bb0cc7de9a76159851092c27b5e7c6d8294a136de2dd74e51da9062f6daa67c2421c173b6125758a9f350b84b03e2a85fa2029beb50032aa034f08c3a SHA512 7c3e9d6d89108b17a722c805353a9c457ccb5a5233bfca7145f82a37ab0337405c84a1e806d9fba77dbee779dd06cb18f7272399277d377aa84dcafc470156bf
diff --git a/dev-python/pefile/pefile-2022.5.30.ebuild b/dev-python/pefile/pefile-2022.5.30.ebuild
index 9ef43bccf4a8..02b10e9260f5 100644
--- a/dev-python/pefile/pefile-2022.5.30.ebuild
+++ b/dev-python/pefile/pefile-2022.5.30.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="MIT"
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
index 32dc8089412d..024b60e47c13 100644
--- a/dev-python/pycurl/Manifest
+++ b/dev-python/pycurl/Manifest
@@ -2,5 +2,5 @@ AUX 7.44-fix-tests.patch 1679 BLAKE2B ca0126a6dc12203ba8409c70ffa5142288bc94fd07
DIST pycurl-7.44.1.tar.gz 227562 BLAKE2B 7dcbde563140f28382768b89b95422f873d5396a1f050dfcd3686d87b0ca2c3f3871281ed87b1dfbe7e4268728c2ec3ba7a76e7d7ef57754af5c185bf2a6fbe8 SHA512 e251db332791de07364695b5fd59b3a290486eabbde8be9914b5edeefa8702b4dd9ab678739ad765f76ededeb7192444fefe2a076d3977f454259dfd06731059
DIST pycurl-7.45.1.tar.gz 233879 BLAKE2B 8a6fe72f00cfd172b4f5e257f4526c4115047aa911d7fb3802d3bf105ac70dc866b27fa4878aae9f92229a5dd5108a2b5e1c9acfe93e1a94dac60d9405c5d5e6 SHA512 05639d484aac6d6688677589e391975158c5ef778456a47df575ad13fb8bd0db67ff8f5a39bdd99d82a67926aca421c01e687eec9d4fd87f32822b492b429635
EBUILD pycurl-7.44.1-r1.ebuild 2598 BLAKE2B 633630a72681052118b90decdec88c4dc89d3f732099a51aef2fafae6f2559841e263c9b284e746cc067b55e847e56c1973949f1b07d9b83689d627b673a6f89 SHA512 8a24ade216d126828771c3134365624eb593514041df26feb157c3fdc66fca1af47a8f149614fab3fcbb9233e531d003bbeb0f9b1b5ab1e5f082ae757579271b
-EBUILD pycurl-7.45.1.ebuild 2571 BLAKE2B 41f11141f6f59af662a981f1077bb682db437fc73cc82b298cb6563dd7aa824d02e0dfbca4d32aa299c4136bad8073cef82156cfc2c6c514a8fa380c48a6f5b9 SHA512 9307872e7f0137175c85580aebbb89e8386489003ce1375362ede29d50a963a76db18f195146f3ec6f97649c0e36015865f7bb669844b321707af3d068400f93
+EBUILD pycurl-7.45.1.ebuild 2569 BLAKE2B 5fdc980db7fe3344b919df629ced19adda0ad55ccb35a53ed914a76efdd0524030efef6be6fa6423a5b7835b48c9c867244b4e34636c710e202de65de6b8643c SHA512 e023afc42cf5e2859baa9693a587b1c1ae76628d7358d56ab0dc80bc643caaf9c701cdf5d79f37032ee2271b8b5c9a631e1da11648e5940aadcea54008c45d22
MISC metadata.xml 1100 BLAKE2B dfc7fe054c7cc34c61bf58fef0378df304a539c28cbc0dff4ffff65ccc8892c38aaf1e275885fc54d2854d9acc6b382947038041f815b5941859be7cfe75523f SHA512 f1de0dccd625ae0b02ff9a55cbc1bbf7944faa24dba28ffd711c728001f180afa598a255132aea860ad616637325cdc653577af531b1a954a3994e8902c774aa
diff --git a/dev-python/pycurl/pycurl-7.45.1.ebuild b/dev-python/pycurl/pycurl-7.45.1.ebuild
index b739832e7ccf..1324929a4530 100644
--- a/dev-python/pycurl/pycurl-7.45.1.ebuild
+++ b/dev-python/pycurl/pycurl-7.45.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl examples ssl"
# Depend on a curl with curl_ssl_* USE flags.
diff --git a/dev-python/pylatexenc/Manifest b/dev-python/pylatexenc/Manifest
new file mode 100644
index 000000000000..52513a75a7f5
--- /dev/null
+++ b/dev-python/pylatexenc/Manifest
@@ -0,0 +1,3 @@
+DIST pylatexenc-2.10.gh.tar.gz 721836 BLAKE2B 8512e052271c127809105280360706217f5134b2349d4b21dcec720addb4cff4157173f8350115de4142aea491da2efb1a2854b4310c48ec98061470be21654e SHA512 9728731e0c84324685b77ce17fae0bea445815e2c54394d2722c4412bbd914da49280ef36b5f3a0a0346e5d2129ca2d8d3b3b92356de3c6af9eed4247cf8bd43
+EBUILD pylatexenc-2.10.ebuild 510 BLAKE2B 211fbd085a4b823308a9e3780356cac5ff0f387d39b62be7b1bd5dd16b4d1be29d66c9ff7533f05a9c17af1cb23c1067f69d3a5a34d160693b67059dd96d5350 SHA512 01fa17c632b807d62b6234136d2b2afd02d1611263152aa481747af0c3f283dd4d75aecce551a6b7227c46206d6b77a11a15f303cd9675499310b442401c0775
+MISC metadata.xml 1193 BLAKE2B 1745bdc26ce9cb63bb4ad48f77a9ffa31690be119c0a035cd6c28ea046b3e600e02bbced2d13d2a770bbb45dc7e97bfa78fb0ab6bee3d8f34cedde42b84447c1 SHA512 e4a0cbd4eb617f408ffcb40b5b08124e450edf2ccf84f4a2649f91300501fda86fdb271a5fabf7e3fc54e023a5100452c24be38ef84d2541a62d2c508524f698
diff --git a/dev-python/pylatexenc/metadata.xml b/dev-python/pylatexenc/metadata.xml
new file mode 100644
index 000000000000..539971679ce5
--- /dev/null
+++ b/dev-python/pylatexenc/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Simple LaTeX parser providing latex-to-unicode and unicode-to-latex conversion.
+ The pylatexenc.latexencode module provides a function unicode_to_latex() which converts a unicode string into LaTeX text and escape sequences. It should recognize accented characters and most math symbols. A couple of switches allow you to alter how this function behaves.
+ You can also run latexencode in command-line to convert plain unicode text (from the standard input or from files given on the command line) into LaTeX code, written on to the standard output.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">phfaist/pylatexenc</remote-id>
+ <remote-id type="pypi">pylatexenc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylatexenc/pylatexenc-2.10.ebuild b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
new file mode 100644
index 000000000000..b53dd8f95a0e
--- /dev/null
+++ b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple LaTeX parser providing latex-to-unicode and unicode-to-latex conversion"
+HOMEPAGE="https://github.com/phfaist/pylatexenc"
+SRC_URI="https://github.com/phfaist/pylatexenc/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pymacaroons/Manifest b/dev-python/pymacaroons/Manifest
index 125d053761d4..5008c139e332 100644
--- a/dev-python/pymacaroons/Manifest
+++ b/dev-python/pymacaroons/Manifest
@@ -1,3 +1,3 @@
DIST pymacaroons-0.13.0.gh.tar.gz 25607 BLAKE2B ff21e88842c54f7ce84e8b3ad59d42ee43f2bb2073ebbb7f47dee123086c1466024420246a4da2eae462bc36e44a3621b75144846e090073c5063b0af24f1ad1 SHA512 60da7e03d68083f8effdc06b338dd04dbd6a39ff137373721af09f1282fb035f969459d2ef80f4d728dcf95f6244b7b2de443e48658e0551462ab46daf3884a2
-EBUILD pymacaroons-0.13.0.ebuild 746 BLAKE2B d13403d01df6bfd5cc2b9fd08c04fb1460e5f8274e95d80653f9b3a1022bda3f8e364bbf2961c44cdc93b6f7c4207808779917349ddd7e53d1bf3d1b12d45edd SHA512 ac50305fd2324421eb9b525a2dcee7392d3329ec47a2e014a458d80130223d94749c39fa9f4fcc8933aaa320e13ed0dc76c40a741783b19b67543697c428e4e9
+EBUILD pymacaroons-0.13.0.ebuild 967 BLAKE2B 0c12e7e88eac80597c8f99d560d822fc6dfa643e1647fae25862000101ebd9dc63ba41bfa2a1c07033ae20d2f4c9825b804f9f888e7288cddb7c2d1360f336f2 SHA512 464c724563d4e6c7d107e516d5efcb7ee3bb1428cce5319044ce9d8d70187ff105fa24422bdd995d64c3e014f9e6f5040003d65ad1dc2d416144bf3329e3910e
MISC metadata.xml 525 BLAKE2B 5e4d390565834de4093dc6b579e1aef4fffd3a97b3d83aa038e0bbd4cb1e28acdcfc8bf5a49bd7a2988e79f1dc868c2c3ced235ba2e1917c0f37b915a25a1584 SHA512 bd4bbc4408659318126f279c33b9fd8335c8d9620014ce72594171b28b3ffb2cdb044cd67d560434c849a8baa1d1b21b0c9b16d8e47954b7ea64f170c9edbede
diff --git a/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild b/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild
index 24e60796d20c..fc5b6826c9b4 100644
--- a/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild
+++ b/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild
@@ -18,12 +18,22 @@ SRC_URI="https://github.com/ecordell/pymacaroons/archive/v${PV}.tar.gz -> ${P}.g
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+IUSE="test"
-# tests are incompatible with dev-python/hypothesis::gentoo. This package needs
-# <2.0.0, because needed hypothesis.specifiers module was removed in 2.0.0.
-RESTRICT="test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-python/pynacl[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
+BDEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ # The package also contains property_tests, however, they are incompatible
+ # with dev-python/hypothesis in gentoo. The package requires too old version.
+ "${EPYTHON}" -m nose -v tests/functional_tests || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-constraint/Manifest b/dev-python/python-constraint/Manifest
new file mode 100644
index 000000000000..0b6c14ab53ef
--- /dev/null
+++ b/dev-python/python-constraint/Manifest
@@ -0,0 +1,4 @@
+AUX python-constraint-1.4.0-exclude-examples.patch 649 BLAKE2B c5a5e1d425dfebfd377b36409115e947ac7154acdda557b0a494a029425e1f411b8cd59e004fc40575a1f1e377efa1a17470842626dcf7c636eddb86df57d700 SHA512 7e66113cbaf20ec5094bda0416123d9d26e2185951ce864d8d5b054af1ec9a2515ac458165d773535f97daaa2a76d32a336444055fcb7cbe62547e03dbcff2d5
+DIST python-constraint-1.4.0.gh.tar.gz 24966 BLAKE2B 5ada7926f226536a1384bf9a082da41824e46d683ee71a278c50e1e5ca0a21eb3acbde4c0b47d6b48c53864ab4ea47d602fc9acb976423035aee74b0c6f3ed85 SHA512 fbc65ba5854e227e62469290e2d8362ed3247931592e2ac7eb5bcd5d3f9f720bbab8a984a8f7cf9dce989663f13965c5401286a1bdc673c2c076c8b22e19f0cd
+EBUILD python-constraint-1.4.0.ebuild 588 BLAKE2B c821389d00dae29630dcd56f8dbd3eff6180b835f399928547526f0ce3d24105f2157a612dcd6bf49e8d6b2e2ed92a552e279eff83c021d907c5dfb90880be35 SHA512 0179829fec754cc738075cbc3bd8c2d10a4fa00b577b49e699e40b9e20712cef680af25cf9bc88b72760f81c623a7bc6a45864ab2639f989d4919eeb2c1a5c0d
+MISC metadata.xml 947 BLAKE2B 2500fe151e9d0dc41ffa207567e11dbca3d7d6ca08ff2c70a3325e33105b8f8d2f02b0052075fba0ce3bdd02621ce10f67c284999d2fc09269e63e7d4f646026 SHA512 64c524a09ce0bc157684ea88bee42a3f8808c1ee4217d26555018cb61502f8beb20413f0b995a0d130b3482b4e35742029ad32ffb096bc0e2a5a76cf3414a3c9
diff --git a/dev-python/python-constraint/files/python-constraint-1.4.0-exclude-examples.patch b/dev-python/python-constraint/files/python-constraint-1.4.0-exclude-examples.patch
new file mode 100644
index 000000000000..797b8e18cff5
--- /dev/null
+++ b/dev-python/python-constraint/files/python-constraint-1.4.0-exclude-examples.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2022-02-27 15:57:35.035889587 +0100
++++ b/setup.py 2022-02-27 15:58:04.049889476 +0100
+@@ -70,7 +70,7 @@
+ keywords="csp constraint solving problems problem solver",
+ # You can just specify the packages manually here if your project is
+ # simple. Or you can use find_packages().
+- packages=find_packages(exclude=["contrib", "docs", "tests*"]),
++ packages=find_packages(exclude=["contrib", "docs", "tests*", "examples*"]),
+ # List run-time dependencies here. These will be installed by pip when your
+ # project is installed. For an analysis of "install_requires" vs pip's
+ # requirements files see:
diff --git a/dev-python/python-constraint/metadata.xml b/dev-python/python-constraint/metadata.xml
new file mode 100644
index 000000000000..a8c024c1f192
--- /dev/null
+++ b/dev-python/python-constraint/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The Python constraint module offers solvers for Constraint Satisfaction Problems (CSPs) over finite domains in simple and pure Python. CSP is class of problems which may be represented in terms of variables (a, b, ...), domains (a in [1, 2, 3], ...), and constraints (a &lt; b, ...).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">python-constraint/python-constraint</remote-id>
+ <remote-id type="pypi">python-constraint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-constraint/python-constraint-1.4.0.ebuild b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
new file mode 100644
index 000000000000..e7a17dd7f275
--- /dev/null
+++ b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Constraint Solving Problem resolver for Python"
+HOMEPAGE="https://github.com/python-constraint/python-constraint"
+SRC_URI="https://github.com/python-constraint/python-constraint/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=(
+ "${FILESDIR}/python-constraint-1.4.0-exclude-examples.patch"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-ptrace/Manifest b/dev-python/python-ptrace/Manifest
index 41c0a8695400..0ac88a42fa39 100644
--- a/dev-python/python-ptrace/Manifest
+++ b/dev-python/python-ptrace/Manifest
@@ -1,4 +1,4 @@
DIST python-ptrace-0.9.8.gh.tar.gz 104079 BLAKE2B 3d387beca9c92c0e3bbd5cf2c9d2af447c233b631e894ce1af2cdc697a1a48e24a299bbc998cd187ac9ad0f45bfc886f476afdb69329d761e8730a047731126b SHA512 f50ba7d457bf20a161a99913a552f2e829e97975d7cfbf8cf5d89b4f2320772b537678f2e70b9aaa88341c4f01d4bf41f62683e913628db503152f3510a013a3
-EBUILD python-ptrace-0.9.8.ebuild 713 BLAKE2B 1ab22702290a5a0d98b40f73a73a64b4b9b7b0553273a8d2aaad26ce2d246d5d35f408457f696d5ee1b0f483ecccd0eb7659aa03f4abd1f49f4a6b2a4365a073 SHA512 d3f1e74389d19cdbc4422e25998c99f3ab9941ae7d9a41becb7a2841dad39fad510df17f93776b5cdb3e14bfb823b3b8e91f44efb260b1bc6ef9549755dcaea4
+EBUILD python-ptrace-0.9.8.ebuild 712 BLAKE2B f9282d58691df466d77a1cdd320d04b6c7a6ede3b274e96ca3b0e0736931a69d7f251194bafd513c14f3eb2a56bd7f87a007d848651d601cca3fa27ba6d11948 SHA512 90c689d0a256637fd8f335a829a607bd0007fcc3057628921c09faf250f6248261d22222dd908dd16e5c6b09d017807e3c72ebc7066bbb58da39974ef076a969
EBUILD python-ptrace-9999.ebuild 714 BLAKE2B f9aee66e456ba39058854d991487db1474121d502dd063b7c7a9ede343f3a023badc4621deb8557a3f7e2af6225a98f6ad3ed770512ad55163724f83571a0c81 SHA512 cd49b162b05e994529713d224df1daff97826430d474064acdab8a854144c3c8431bcd7f4827a07e41edd95d79e96514101199083df0165e70ccb6f7ddd005a4
MISC metadata.xml 667 BLAKE2B d0faf38cb37c0b796651d6af380bdcedba899a99ea0eb9cd1cd5c5a8f1d06e39a87f9cad287ffc19340ea45a912b423adf27b3a3c7eaa9d8aa5594e455a397ca SHA512 55c3567d5e039844afc9cd78df944b86a709a791bb1bd76cb8330125f7f0d1d24b371d56b80264ff2a0c107d1c0522a03a3668f705db2428a7579c9e6460683e
diff --git a/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild b/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild
index 07cab5adbf1a..d707699b6001 100644
--- a/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild
+++ b/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild
@@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
else
SRC_URI="https://github.com/vstinner/python-ptrace/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="~amd64 x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="GPL-2"
diff --git a/dev-python/qiskit-aer/Manifest b/dev-python/qiskit-aer/Manifest
new file mode 100644
index 000000000000..41adff6e77f0
--- /dev/null
+++ b/dev-python/qiskit-aer/Manifest
@@ -0,0 +1,4 @@
+AUX qiskit-aer-0.10.3-remove-cmake-dependency.patch 253 BLAKE2B 7b5da68c4a6c64ea4b3f0a0ff1a52294783762d8b34f3b7facbbe5bb2657b5cbe0e502ed01ea6c1b4135985391c5d6bc8fccfc34164bb6a88bbaf1e3aa9b3968 SHA512 6d9a14d7c04292efcbb3f7f8abdfa1f1efeeeb081b5775f01162f95fcc9c0f6465863058dd88374b0bb2525dc4fdc3b7408100b3ac990109554b2d77b3a93223
+DIST qiskit-aer-0.10.3.gh.tar.gz 6657490 BLAKE2B 443f7df2259c720fb93a60659da9b1cded25f9dbdf585bd0322e9f4effe4c5955daf6587d6c3964ab4a7e4a8bf6270f857abae1cf4e6b0718801daa6a96c2aec SHA512 c882624bac373566b003a01fffa6963d4ad8796ce18786b50ef85350daac26814c147b36067eb6fce4f264919b3680246e767b5c13ac338817fd394620392079
+EBUILD qiskit-aer-0.10.3.ebuild 2611 BLAKE2B cbfaba731f4e1965b80bbfaf8ecd3c166e8af4aa6d90eeb580889fa5fa85d8238d4e7ac7ccf8865d639f532b69da44d9eecdc077fd8852a4fbc717bbf1c4b5d5 SHA512 a47e66b21bdf4e497ae499ac48da2bbc8f77c0023d2c84969afb7aa6f2006b9794d1cdbdb32c60d5f9b180e78bdaf676ebf9d6992cb0dde9abe370c53d172af3
+MISC metadata.xml 962 BLAKE2B 2a8105375c08109276eec68ae9a7428f9e9fb1df544bbb108d6e3648d1492789d98b0192838d1fa62e16b2eaf5d66a8e967772f6e4dcfe391f4bfd6b7da462a0 SHA512 267560d1beb8d12cdb35929678df2b79d2e21fe823a430a8f0f35f6f21e93855e0f4aad910560d7145135488df800e1ba7a2c1624c2fcfe384dd840df3ebc4e4
diff --git a/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch b/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch
new file mode 100644
index 000000000000..44917bbf8cca
--- /dev/null
+++ b/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch
@@ -0,0 +1,10 @@
+--- a/setup.py 2022-02-09 17:41:55.000000000 +0100
++++ b/setup.py 2022-03-02 14:44:04.344551645 +0100
+@@ -72,7 +72,6 @@
+
+ setup_requirements = common_requirements + [
+ 'scikit-build>=0.11.0',
+- 'cmake!=3.17,!=3.17.0',
+ 'pybind11>=2.6',
+ ]
+
diff --git a/dev-python/qiskit-aer/metadata.xml b/dev-python/qiskit-aer/metadata.xml
new file mode 100644
index 000000000000..766391b439a3
--- /dev/null
+++ b/dev-python/qiskit-aer/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
+ Qiskit is made up of elements that each work together to enable quantum computing. This element is Aer, which provides high-performance quantum computing simulators with realistic noise models.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Qiskit/qiskit-aer</remote-id>
+ <remote-id type="pypi">qiskit-aer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
new file mode 100644
index 000000000000..3fc6e2707460
--- /dev/null
+++ b/dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
+HOMEPAGE="https://github.com/Qiskit/qiskit-aer"
+SRC_URI="https://github.com/Qiskit/qiskit-aer/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
+# because importing library causes an error.
+# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
+# Using sci-libs/openblas instead here,
+# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
+COMMON_DEPEND="
+ >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
+ >=dev-cpp/nlohmann_json-3.1.1
+ >=dev-libs/spdlog-1.5.0
+ >=dev-cpp/muParserX-4.0.8
+ virtual/cblas[eselect-ldso]
+ sci-libs/openblas[eselect-ldso]"
+
+BDEPEND="
+ ${COMMON_DEPEND}
+ >dev-util/cmake-3.17
+ >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/qiskit-terra-0.19.1[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.0[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+# Remove cmake dependency from setup.py because of
+# invalid dependency description. We put this dependency check in BDEPEND.
+PATCHES=( "${FILESDIR}/qiskit-aer-0.10.3-remove-cmake-dependency.patch" )
+
+check_openblas() {
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} != "${me}" ]]; then
+ eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ eerror "To use qiskit-aer, you have to issue (as root):"
+ eerror "\t eselect blas set ${libdir} ${me}"
+ return 1
+ fi
+ return 0
+}
+
+pkg_setup() {
+ if use test; then
+ check_openblas
+ if [ $? -ne 0 ]; then
+ die "Set blas implementation to openblas using 'eselect blas set openblas'!"
+ fi
+ fi
+}
+
+python_prepare_all() {
+ export DISABLE_CONAN="ON"
+ export DISABLE_DEPENDENCY_INSTALL="ON"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # We have to hide the source code directory so tests
+ # do not use these, but instead the compiled library.
+ mv qiskit qiskit.hidden || die
+ epytest
+ mv qiskit.hidden qiskit || die
+}
+
+pkg_postinst() {
+ check_openblas
+}
diff --git a/dev-python/qiskit-terra/Manifest b/dev-python/qiskit-terra/Manifest
new file mode 100644
index 000000000000..590c23506499
--- /dev/null
+++ b/dev-python/qiskit-terra/Manifest
@@ -0,0 +1,4 @@
+AUX qiskit-terra-0.19.2-test-corrections.patch 1730 BLAKE2B 7fe634eefa9d1548c11b2dfd12c70972d2d8a789e7975aca85966105cd3b899d9a0bbed133fae765c9be3f806f146e6248a4b2409fc1f5449cf5bf15f9ab2dc4 SHA512 e3d3dafdb9165073dabace613cc82d48144e8a0bc2f21d41421614430b636237bd11e398ee741a4e1641f8cfa4df938b5c7e51c263e1fc6685670c2bd62830b6
+DIST qiskit-terra-0.19.2.gh.tar.gz 9536647 BLAKE2B 966370a782179512f3c4cd209f604f536ac4ac503f4805681d5729f4d6df4020bbaa5a2beb2fc393506eaa67a81666254375f14b827e07e1c1478a381fde5b45 SHA512 d02c028a86927610f1bca63830cb489069e68e016ed744a4092a96ddde163ea8ca1071048fc82b1807d4136e1fb2b0fcdde6d1a639ffc2ebe7c99dfd50c2e3d4
+EBUILD qiskit-terra-0.19.2.ebuild 2475 BLAKE2B 2203e109245dbf62e7e6cc6c9167f64f55019f5b764951b5a03c7ca8eccc66c4fe943b90475c88eb18880f88e7814c9148e6c6bdc12da9df6c9e9d5b6f3ae18b SHA512 19603bda615d7dc7df0d27e73aa536ed19f7f0c6d8f04c6e6c9010735a30d54c59470220e6ab1d6f0b41d1d4a315419c93f49876b424f68174f7288e810eeedd
+MISC metadata.xml 1016 BLAKE2B 8c5c45c89d36f75cb33636f719bf555be04673de324e4d36aa4800e8f39d353ad8eb3425efe6538af2f430c6ae38aa3af9f8ca602e64e6621fde2d102a7da572 SHA512 a3ada6b1746eca6dcc93aa2d94e8ca7537d41b012a5b1ebd8de95376d72b4b80fdf048a9bc2ae61ae93b06283a1f5714395b0e74584aad21a93a53963ee3ecfb
diff --git a/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch b/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch
new file mode 100644
index 000000000000..ec44ebe75faa
--- /dev/null
+++ b/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch
@@ -0,0 +1,36 @@
+diff --git a/test/python/qobj/test_pulse_converter.py b/test/python/qobj/test_pulse_converter.py
+index ea5b77e78..cde568ecf 100644
+--- a/test/python/qobj/test_pulse_converter.py
++++ b/test/python/qobj/test_pulse_converter.py
+@@ -341,7 +341,8 @@ class TestQobjToInstructionConverter(QiskitTestCase):
+
+ self.assertEqual(evaluated_instruction.start_time, 1)
+ self.assertEqual(evaluated_instruction.duration, 1)
+- self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)
++ self.assertEqual(evaluated_instruction.instructions[0][-1].channel, instruction.channel)
++ self.assertAlmostEqual(evaluated_instruction.instructions[0][-1].frequency, instruction.frequency)
+
+ def test_delay(self):
+ """Test converted qobj from Delay."""
+diff --git a/test/randomized/test_transpiler_equivalence.py b/test/randomized/test_transpiler_equivalence.py
+index 302760279..1d0a3e16f 100644
+--- a/test/randomized/test_transpiler_equivalence.py
++++ b/test/randomized/test_transpiler_equivalence.py
+@@ -21,7 +21,7 @@ from hypothesis.stateful import Bundle, RuleBasedStateMachine
+
+ import hypothesis.strategies as st
+
+-from qiskit import execute, transpile, Aer
++from qiskit import execute, transpile, BasicAer
+ from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
+ from qiskit.circuit import Measure, Reset, Gate, Barrier
+ from qiskit.test.mock import (
+@@ -98,7 +98,7 @@ class QCircuitMachine(RuleBasedStateMachine):
+ qubits = Bundle("qubits")
+ clbits = Bundle("clbits")
+
+- backend = Aer.get_backend("qasm_simulator")
++ backend = BasicAer.get_backend("qasm_simulator")
+ max_qubits = int(backend.configuration().n_qubits / 2)
+
+ def __init__(self):
diff --git a/dev-python/qiskit-terra/metadata.xml b/dev-python/qiskit-terra/metadata.xml
new file mode 100644
index 000000000000..02ea1aee258b
--- /dev/null
+++ b/dev-python/qiskit-terra/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
+ Qiskit is made up of elements that work together to enable quantum computing. This element is Terra and is the foundation on which the rest of Qiskit is built.
+ </longdescription>
+ <use>
+ <flag name="visualization">Enable visualization modules</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Qiskit/qiskit-terra</remote-id>
+ <remote-id type="pypi">qiskit-terra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild
new file mode 100644
index 000000000000..36f8af6afe18
--- /dev/null
+++ b/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Terra is the foundation on which Qiskit is built"
+HOMEPAGE="https://github.com/Qiskit/qiskit-terra"
+SRC_URI="https://github.com/Qiskit/qiskit-terra/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+visualization"
+KEYWORDS="~amd64"
+
+BDEPEND=">=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
+ app-text/poppler[png]
+ >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="
+ >=dev-python/retworkx-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
+ >=dev-python/ply-3.10[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3[${PYTHON_USEDEP}]
+ >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/symengine-0.8[${PYTHON_USEDEP}]
+ >=dev-python/tweedledum-1.1[${PYTHON_USEDEP}]
+ visualization? (
+ >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+# Small issues with the tests.
+# qiskit.Aer module depends on qiskit-terra, it cannot be used,
+# and an exact comparison of float switched to approximate comparison.
+PATCHES=( "${FILESDIR}/qiskit-terra-0.19.2-test-corrections.patch" )
+
+python_test() {
+ # We have to hide the source code directory so tests
+ # do not use these, but instead the compiled library.
+ mv qiskit qiskit.hidden || die
+
+ # Some small tests are failing which test optional features.
+ # Why they fail is still under investigation.
+ # transpiler_equivalence tests take too long time, they are also skipped.
+ epytest -k 'not (TestOptions and test_copy) and not TestUnitarySynthesisPlugin and not test_transpiler_equivalence and not (TestPauliSumOp and test_to_instruction)'
+
+ mv qiskit.hidden qiskit || die
+}
diff --git a/dev-python/retworkx/Manifest b/dev-python/retworkx/Manifest
new file mode 100644
index 000000000000..45e38cbe63da
--- /dev/null
+++ b/dev-python/retworkx/Manifest
@@ -0,0 +1,67 @@
+DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
+DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST crossbeam-channel-0.5.1.crate 86919 BLAKE2B b223d0dcacbb09850d457825cb2a018494d798d0000a20eed3f54b1152e41ebca4698e7d50e81f467b86543779155ad08566da9496eee36aa06644b69cf5d7eb SHA512 f15aff67e9105584f5fe41e1ee650ae4fdd0d0ca0fa9202ee83c6f6025398a300decaa50d1b4682e8afb9bd6e11e95b69bcf23f68ae117419aa84df14ee7747b
+DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
+DIST crossbeam-epoch-0.9.5.crate 43883 BLAKE2B c0ee0879c583bd1051b63d29eccac37ceb9f9446ee8cb64756b2e3d95a30c5c11bc79d9d460be4ef4b62513049e28900a96085031f805d064e81b5eae4bc297a SHA512 ad822e967e5ef45fa0c4a939f057f44146f1f051032fd032355a75c0f45ae4e0a55e1d31c80bc67c01ff8d9c87a51aba7ccfe9a440f061fd8225c879aa663064
+DIST crossbeam-utils-0.8.5.crate 38414 BLAKE2B 8a10162cbc54f77737602b6f8574b65a02765577f0e2f59d71e1d87662180fe24a781df542f3e765c4d64b7a0666575157e000766dac138bd4fc0356944092ad SHA512 fd4d2ae10340bb96c22b31190b300aab54e96b8089fd62489e102c76a944e6a16c582a90bc40f5e188f13f841293a4b9becf30830c2ece04f3ce78c29066532f
+DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST fixedbitset-0.4.1.crate 15551 BLAKE2B bcebd833a45215566a565bcc8cc3440c5bacbced810d2658048da7050808b56c13951bacdd3930f85530129a118bdc23c42381206b63265da7d6846085937536 SHA512 8c53515f1a372a2626e83bc6999adaa00be6451f68627a63e0207ce6a8967e9cab6061adde3e33305c700c472be750903eb36b6f5ce071248db461c0af450b33
+DIST getrandom-0.2.3.crate 26261 BLAKE2B 3e52a87b9355f850e07e5080c20e1ab3acfa927bae28c63bb8bfd6a773ad77be96d3ba770c344631cc0f2d9a95aac920790173168b102e25f50480ee96663569 SHA512 e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d
+DIST hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST indexmap-1.7.0.crate 50363 BLAKE2B b45318ae2a6e1f008494db77a3159eea3fed4f77eb04ae65599be9392d6ef78d4677b65d04fefab8f917f6808fee821a33bcf53a50b88785fae5ef6848e3a08a SHA512 9b882b4a7068a686acaee0a08bd4f3b35b58d36e786358cf14a3436eb61339649e64f1757331cc7833a2fa364c76eb6b75cf0c732afaeb202113de1e66b72ab9
+DIST indoc-0.3.6.crate 9663 BLAKE2B ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2 SHA512 e900aa3b001df0fdbf1f543d8b679af317e85a1f95e26fc556213f2826a4f6c82d8c4f3f82de435e3591f8bc14e78eb22668d901dcbe2287f46740e0291afacd
+DIST indoc-impl-0.3.6.crate 7933 BLAKE2B 93e232e360e8f02943ef9a9cabf16bc863d792d8096b8d9a13a07f0b7b396db590abf83b5444f082317059dad7578ffae974dbc8a7e56fbdbab817b7d2534725 SHA512 18406587ee56a09dd2062cee456af697efa903343de42c0ff618a64ddf2bf7efed5da02e7220fed2636c555a6ae18059018f5c3c9b44ba8d3e5a34ea5b53c806
+DIST instant-0.1.10.crate 5218 BLAKE2B 1e4203d235006ca922134c715781a5bda5a932f6740b7e22505db21d3b675758bce10dbb370e96694574c40c43a1d71ea2e6372df7116b30fe8cb0b65a3b95fe SHA512 a6b2c7e0a7b954e961f2d904a4cd6f701617ad70a7ea13230ee157c473c903803dd64596baa0fabd075e995cd3d013e10681c8d712977341ea2b6f97dd48d596
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.101.crate 530003 BLAKE2B 55be777a0ab91df07e06f8c5045fa49dcb356eddcda2feb3a16949afbfb395abb3a50a97fdc6b6f1b8974c07af13c9b286f8222fe8557b668247065515063d8a SHA512 876a5739c1ba29d4a4d5c9407b013afabebc6f5644dc57864104e99f0303e7e7ef1d5ee81a665f1029433b9251917b1e1571624a123dfc15586d6bc49ecfb3e2
+DIST lock_api-0.4.5.crate 25199 BLAKE2B c91adefaa0dc3efa786957794b67cf219f5159909179282c13c7e3b68d73a0acebac29438cfcb39b75cbe87bc181e981ab4ff2776134621d8ea92e7a6aaf966a SHA512 d6cd948a4183a73e8b91b9167d551e72dd75820c76123fb0839f8389c7872d2c46dbcf5785d7600ecc4e27f3d214f476585b9c39e85f70500eb8d012e5ff9535
+DIST matrixmultiply-0.2.4.crate 32929 BLAKE2B bd3c6b2d11202ea9390760ca59b7452beb4094b4a95314c1a1c596ff623eb985ae5cf2b3821d365dd2e2912c1bd25713188de07b4555a996a667cb4d6b0cfb11 SHA512 3ec6846e1342d6dddb81f5bd4495e940f011a3e048c712262cc413318c087aaa137550cff6d969873ac96bb628f6a460e92536674c0d503d5c609d9be5d9d184
+DIST memoffset-0.6.4.crate 7664 BLAKE2B 098783d0fde7268b16fc5c9f5df005b93daac18092f04d981559b9f0fa310344c6fbbb93d42587ec7107a5c4e8d757508377dadf03471dbd7022f3bdb5b3da4b SHA512 bf8d05b72571ccdef32a93cc4489ab4cb7abd41415d55572d1dfb983053afe3eb2615e968d87a326af90c5702b9959150f985a4186acfd61df9b69a74e99713d
+DIST ndarray-0.13.1.crate 213899 BLAKE2B 41a4e6249c84dd4acefe911c445f46c6ae2c101b131aba93d3587089622438b834f8eb8941d3159ae49ad02af3b28553ddf171bfd73c40b57d8d71283ed27861 SHA512 8dbe6eea8c04e477f57d9693760424c4d2adbdce65ef8a047fb3b09226f8395e91fbad3a21c71a1d0242cdb89996bbf7eea435ffa8c58c37dee03af9913eedca
+DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
+DIST num-complex-0.2.4.crate 24679 BLAKE2B 175ee644720b6bbff108eb4ef94d0fea8f340533c2be0e18524e54777734d1c7dc10a7c36b1f2ca3f032ddcb3dc351e60564340aa59b29aa4fa7ecb2487314c4 SHA512 53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea
+DIST num-complex-0.4.0.crate 24805 BLAKE2B c9ca4c01f59bea06e68de80aae5fb68362eeadab92f8f2cdf0474d46339b606d4921b80b4ce377771a1c08ea4e38a335e6fe2ddb412dd2842966b824c1252f3d SHA512 ececfb4ecd82acdb038322ffcb431a09c271b33d3f028f90577f585289251c38ba425d67413815442cd5c2daba821ac9b3b45b09122b1ca2cb7d35f45dd9d2d8
+DIST num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
+DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
+DIST num_cpus-1.13.0.crate 14704 BLAKE2B e7a26e597ad5e45309393a9500b031ba64a77831320cbb96d7861139a2f7a453b7ba06a3255439b43ac1e2e36269b0a350d514020d3cd82c2513b57934b3ebbc SHA512 e75ec298fa682be84bf4efb6cf40126da9233ef25f07e887c2fa7421ee78790204564e6406c8219466651f47421e27f69eca690bb9cdfc982b644d78cc10de3f
+DIST numpy-0.15.1.crate 42767 BLAKE2B fc33bd004706516796262bcc028565b6c8488bd483bfb4229d2e3bb248965f227c591798e043f107593cdf107400c8445c97c0cee058c6d4f0c87efa075d052d SHA512 ab44f660ddfe0cdfad183c8494e049473c6c0104401a4fd3ec1c2e77e192967bf971c923f8f8ed419b8d160bb55bc22b968964ad902f52f5a795da78ce501907
+DIST once_cell-1.8.0.crate 28925 BLAKE2B 7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a SHA512 88e55c9433225ce85a08353168c87fca2237615482160a5c28f3ac17f06d48c63e0c21b5f7ef81f82ca133436e371802ea099453844f1c111003bcb6ba89e827
+DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
+DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
+DIST paste-0.1.18.crate 12259 BLAKE2B ed72b93a27166b0989743c2528d4a41f4b87ffdd0c588557d11a5f37f85d5b8f03ced86150af6209f9fa8d0f6efee705769b26a2f4dc3363f35cc3ac12c0e6ad SHA512 a4d9c75f6f358d6c86eb0a66cdf22eedec180db37358ca2870a992e215d5b389b7991837d8f2769742ac1b093674cb4352ef9d6754a249253472fbcb3a81c001
+DIST paste-impl-0.1.18.crate 9451 BLAKE2B e465c4c7eef44d02eb1b61b5290090513607b452f4adc11487947b7047ddc44905d7a02df827feb2142f0e74583afdd9648c1c66086f10e1bd861b663200bf8c SHA512 c635efee46cb251b76ee9427432f81a0d944cdf1d0a95693d824c6085e7dea7e1e3f48c692ae27946f69e4e78d8080220058acf98e5c8a78482007349f8a7a4b
+DIST petgraph-0.6.0.crate 182063 BLAKE2B da9373f4d671d0694b8924e25efde32eaf29a1dc3e460a971b655461717594a84823da8bf65bae20e7a277057d081397999ae3d8c9ca83404e626e547bfefa2b SHA512 d71e014b25cf6008a35d425794f69b4361de7c5e8b8fb255c35758bf5631f375a5646431ab1cb59f1fceef93762a169d0408301a5baebbd3a0886a60f688e8d0
+DIST ppv-lite86-0.2.10.crate 20915 BLAKE2B 83a075381c24b2b89f5266929f5672ce051c3781c1a199252738dadbf471618c8b87452ce84e1cd87a9eac11b44107002894f544091210cc7e77bf52c045288e SHA512 c9941052e504b9b310024064026e4b1d540dd877705ef450a833d9ff6dee70ba874cdad68c46381a71d5b54482cd80b3dbb8e0c225758fd339069031a55195f1
+DIST proc-macro-hack-0.5.19.crate 15556 BLAKE2B 98c22fc3e5f5fa8b6f44d15de42b6ffcc82ba3f98a07ffa48bcbc5d3abcfca6af136c5d0d8c7f1ca34261ed8f8c9c17a394231f97a4c342c81aa7f8b9e74b203 SHA512 9e4cbec41056438287f5b23086264c86e2f0cdc193064006556736377b2954229de13a585149b9995002c9aee3334ee2a80ae4afdcc96cabe7ed2bf718476952
+DIST proc-macro2-1.0.29.crate 38772 BLAKE2B 742c2602afc4beddc96b688d105fd93b1dbdb3cfced724aaf542e97120d374d334e90cfbf02ab62741dd052a272dc583b7d2e1992da3d1b8ff260414c65ac89e SHA512 b3b3b7c6988afeb92209c7e0362f45f9c207611a74bb63bc7746b86fb9ab0d74fea9e7a2d9bc8ac943225ea439540726ffc13711dc5bcb056c1821fc99e8dc63
+DIST pyo3-0.15.1.crate 370722 BLAKE2B b755c93d8dca8e778b886ed1d16e83ddca483d0f6c932b3241edb2e1211306cb0257d2a6bc31ba4298335f277898e59aad67e9f675ed4ad9a2bb9d596400bda3 SHA512 9168911db76f2c9629615c997accfc4234bf91cc72293dcdb3db14b4e93f93af9df3b3aa7900384121719aeda4a0b6dd68c0cb380bfe5424724b0be5303c02e6
+DIST pyo3-build-config-0.15.1.crate 22095 BLAKE2B 47803b389f30f15f487daf96d32e374ebc83b1b41ddee1d2dcadd1a0fbaef40c4c1af2312b86ec085637e3192b1bd213c93b5f4e8dee173d81e510f480fa6953 SHA512 a9aae6bb4a4a56f7857262276bf1c95510912a367e32470b871f2fe2d6adbffd87247ed2e3b5fa2dfd273a3b0e139d92f25f3228e15c6d8c206c6ba919f38a9c
+DIST pyo3-macros-0.15.1.crate 7555 BLAKE2B c7d87c150678efbb5dd6ef98da9997676ef3e7f8628a79f01a3ecbf94cc8b2d0752573d894fd769fb8791f30bcfd03a5c9f76cce73c00be90c1488faed63198d SHA512 1969b5ec6dd26ff2d534fe43143e44b91b66e05c61281b64f96fda47ff7826f625c658412d7587520df7455a67cd970a9aa49c7544ffb70a425314a0cff65060
+DIST pyo3-macros-backend-0.15.1.crate 46111 BLAKE2B fabde516114a001e7f9ec1a1f422c5819ad5bceb4db36ecf2ef5dfde397d4d3c7dc7a8acf11cafde4156594e90a4f95d51dbefa43ee8bc172441d3f81eb299b2 SHA512 6c62fd1bc50666f63f9854947e9d88ae385159d90d026e0179d91aa151fef8403b23f55eab6f3340b1455b23d411083780c49198afacc267b49a52ee9c4999a4
+DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
+DIST rand-0.8.4.crate 87406 BLAKE2B c09358416d2425a8243b623346fe71bf6f03fddab1a23fc752f4303ba7c241b3606629e4edf0ea720785bda0bca534acd675c2de079b78eac3df24a1ad6ba654 SHA512 77ae0e988e31e12f7d3f2c40814f930eecbc94c4aced827c337be78eeeabf39fde2dc5c4fda059afdc01285ff4afe30393c32694377de004feff16207606558e
+DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
+DIST rand_core-0.6.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87
+DIST rand_hc-0.3.1.crate 11891 BLAKE2B b3aa810638390eea4245ebb711de88ccdc2a64350a5c6e14064fea7685d49746b4b77215dbb8374fa7a6cbc2cfd79fb553513d6e551acf64586d8303f7d4f3a0 SHA512 582bb44b81c27e698eb57c6f06444b8a7c9d3f7ee73f4e14be8004c4bfd3bbfd9795c69f7294b5e87107e86b90fa3e91ad080964474af81c92705d356e43fbb5
+DIST rand_pcg-0.3.1.crate 11983 BLAKE2B 87c2a9d0f6fd71076280a0f6447ef2a8c9efb81567c530bc45001ed93a254dbf0d007f4d3d22355cb68dea51e82bbd78761bfb9f139a62983dda39f0432306ed SHA512 6386c23c26fb911c3b20718e31b6a2f395e3cb46b59351cbd58bbc0666f1d42c2092638360162079387e0d61f7591d01271cb50212b91db6df78a76bae239dc4
+DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
+DIST rayon-1.5.1.crate 160424 BLAKE2B 1c31c8e3290f76d02347271cb020e50e8f915b7a064f133a196c12e07ae1551c0e7c31883a31ec419a05198d6c71f0057be1b8ddb21f451db9ba40da511a0e1a SHA512 a68e65aae7040a6f6b0cc33b53b4c22929c15504ed4fdf54f5eb5fcaeab137c220b00c716aed96246b6a762c4f1e8be920356231d6c4a0b3e01132b9ab96ffc9
+DIST rayon-core-1.9.1.crate 64961 BLAKE2B 7201024124324d2cf2d5785b7e79d2195adc7de576b826a9c28603dc44f1b5de46d277b791a741413c85facb4f4a552bfd55989a190f6f5ea3df4bbd32042f66 SHA512 c24c34dc488171ce476df145e8c6953d35fea93412805f6c411ba8b8e9dbbd733610b291203ee91bd265b766b78e14ba15a7b587e8f0ae8bde53f60e0644ef78
+DIST redox_syscall-0.2.10.crate 23582 BLAKE2B 7253dd96415e7b70df488c208d86c250c670b1245ac6573a59085faabbde9e33fabfacd233e7d737e365493db14008c180274b41ea0a4af5f6f98eec666a873f SHA512 ef012eb4bffe32119e50ecdbef4cc31f6e84a344e94f026484fe4e2c904f94053a8b6249fb6bd8ada31b3ecfbf0096085283bb68aeb62b1b01b57f35794aee92
+DIST retworkx-0.11.0.gh.tar.gz 332386 BLAKE2B ec84e208d5a7e6135578ea1c0c053e49e10ccdbfd118e02631304425a880112877472fa4e3d9801bfbf32eb3ab043f71bdaff013de0c13dff2633a01946bd21e SHA512 2b20962add7c9c6716a846144e617a6b4a729739cd1227b91967dbefc6014703739562a639d66ee6f1e7431efc5e25a8e18ea29068aecbed6361744565c4572f
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST smallvec-1.6.1.crate 26444 BLAKE2B ca6c50a63acdd93a2131654d99e50545a6e2d08eb3e2bd57d4a8ee073d90c08195ee442745a8d62a68179ce7bb8e229b7ff8c6fcf46372a9844bc9280b7c85cb SHA512 9e6061c8211a4485ab54eb541adf40748e1fc3fdfab0849e38e5fd34fc6cc69ae78bd065b788692385a6b8157b031c2fe373900e13d3e56e94fc08d574edaaad
+DIST syn-1.0.76.crate 233723 BLAKE2B 99b781b6ffa926ca71d0a09ae81dacfc6ee713e15fd057232e527761b73f088c30967eb13d624bdf34a089c5a33fa28ecf6ca069e3dfd7061932643849243967 SHA512 0f32138d219ca74fcff1ee5ee5bb89f965a30b74c10a040bd8361332cb84900322194dd85ad7571c4bce72c1f66368546db5881165939800f2587b15ce07298a
+DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
+DIST unindent-0.1.7.crate 8346 BLAKE2B cbf76fd18e49332e61275ab204cef1fc4dee58091307f8cbe2107d3a8441551055541583f1d643d4d15f9cc17a8405f540f0c53548f5b2379dd70791a03640cb SHA512 d3f4543f97f1386f63306a206074de1d10077ae968ea6eb6638545eeaf8cef662e1c84a15788e9df640eeb6af4cbc187721ec01af43984e4eeb2dfb0423c6d70
+DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd
+DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+EBUILD retworkx-0.11.0.ebuild 2586 BLAKE2B 21927f16bc2b2234bc8002d2ba76373234912a3634bfb4a7d02517e6bd0ee26055b79d84daecd5ecc53457790fea79dd39d316497869403eb02d320c8a76af4a SHA512 a0c50631ce883654154467a0d6999f31d0b0a5337cd956141ddac5af197bcaaf6adf31a26bef11ffd9ea28a9abf969aec16f24e704f977ee2f514f7b28761259
+MISC metadata.xml 1226 BLAKE2B 9a7d909cbe18fa0739fd7bedd5b7f25f4e0bcff2981569150b76ce837def5433c106ef19c7a1c8d428bad7a6bd16502ed6bd1961528f618dae04954ad679de9b SHA512 e0cd8fb9d65fdc9d8fb37b9ec9b59ba554ba4e4505699d32d1e7f17281fcee06c284264a0c4ad3c80998106c9c6ba2339419e0a1704a8b00ae5f00e1a1447fe1
diff --git a/dev-python/retworkx/metadata.xml b/dev-python/retworkx/metadata.xml
new file mode 100644
index 000000000000..6ce63280f259
--- /dev/null
+++ b/dev-python/retworkx/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ retworkx is a general purpose graph library for python3 written in Rust to take advantage of the performance and safety that Rust provides. It was built as a replacement for qiskit's previous (and current) networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage in Qiskit and other applications.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Qiskit/retworkx</remote-id>
+ <remote-id type="pypi">retworkx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/retworkx/retworkx-0.11.0.ebuild b/dev-python/retworkx/retworkx-0.11.0.ebuild
new file mode 100644
index 000000000000..f1f70f80289c
--- /dev/null
+++ b/dev-python/retworkx/retworkx-0.11.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+# Generated with https://github.com/gentoo/cargo-ebuild.
+CRATES="
+ ahash-0.7.6
+ autocfg-1.0.1
+ bitflags-1.3.2
+ cfg-if-0.1.10
+ cfg-if-1.0.0
+ crossbeam-channel-0.5.1
+ crossbeam-deque-0.8.1
+ crossbeam-epoch-0.9.5
+ crossbeam-utils-0.8.5
+ either-1.6.1
+ fixedbitset-0.4.1
+ getrandom-0.2.3
+ hashbrown-0.11.2
+ hermit-abi-0.1.19
+ indexmap-1.7.0
+ indoc-0.3.6
+ indoc-impl-0.3.6
+ instant-0.1.10
+ lazy_static-1.4.0
+ libc-0.2.101
+ lock_api-0.4.5
+ matrixmultiply-0.2.4
+ memoffset-0.6.4
+ ndarray-0.13.1
+ num-bigint-0.4.3
+ num-complex-0.2.4
+ num-complex-0.4.0
+ num-integer-0.1.44
+ num-traits-0.2.14
+ num_cpus-1.13.0
+ numpy-0.15.1
+ once_cell-1.8.0
+ parking_lot-0.11.2
+ parking_lot_core-0.8.5
+ paste-0.1.18
+ paste-impl-0.1.18
+ petgraph-0.6.0
+ ppv-lite86-0.2.10
+ proc-macro-hack-0.5.19
+ proc-macro2-1.0.29
+ pyo3-0.15.1
+ pyo3-build-config-0.15.1
+ pyo3-macros-0.15.1
+ pyo3-macros-backend-0.15.1
+ quote-1.0.9
+ rand-0.8.4
+ rand_chacha-0.3.1
+ rand_core-0.6.3
+ rand_hc-0.3.1
+ rand_pcg-0.3.1
+ rawpointer-0.2.1
+ rayon-1.5.1
+ rayon-core-1.9.1
+ redox_syscall-0.2.10
+ scopeguard-1.1.0
+ smallvec-1.6.1
+ syn-1.0.76
+ unicode-xid-0.2.2
+ unindent-0.1.7
+ version_check-0.9.3
+ wasi-0.10.2+wasi-snapshot-preview1
+ winapi-0.3.9
+ winapi-i686-pc-windows-gnu-0.4.0
+ winapi-x86_64-pc-windows-gnu-0.4.0
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="https://github.com/Qiskit/retworkx"
+SRC_URI="https://github.com/Qiskit/retworkx/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+
+LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="dev-python/setuptools-rust
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=">=dev-python/numpy-1.16.0"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/retworkx/retworkx.*\\.so"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # We have to hide the source code directory so tests
+ # do not use these, but instead the compiled library.
+ mv retworkx retworkx.hidden || die
+ # There is one small test which has issues, skipping it.
+ epytest -k 'not test_image_type'
+ mv retworkx.hidden retworkx || die
+}
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest
index e635c47a4b5b..78db9a1fa9ae 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -2,5 +2,5 @@ AUX scikit-build-0.12.0-tests-no-coverage.patch 270 BLAKE2B d7cba4096ffb66c98837
DIST scikit-build-0.14.1.tar.gz 266776 BLAKE2B cb674412ef000fa961b85b32bf7759430cc5ff1b175e29017219ae3b941bfefee5760742cf17549fe7868fa0fc80f72e027aa683cd07bec53c1578e27b1ea0a7 SHA512 c9c3caaab969e83739cb3be718fc7190ef25372fbbf689ea84f9b9725bfc8329640c26038d875ecf3ccdbab0637ef77d6a30c05dcdaaecf441f631c8601d3b63
DIST scikit-build-0.15.0.tar.gz 268691 BLAKE2B f4cb51ee2367bd4ba6f6c1cada15e1e6be731998a914b28edcf703c5a92c409b78b17dddf04a29b24d40f249ffa06eb9d05d36dc30c0e62ee001519c3ca03f58 SHA512 4d9b1d06d48708ff4f2f5fa8c8f264c7ca85946d5842a1254930d9449d6b6386c17392473c3c85147f6573f7256c94c927962cb56fa23a90a5b442de8de8d727
EBUILD scikit-build-0.14.1.ebuild 1970 BLAKE2B 750f8acada7df5e61e813d39555fd50594dddaa8fa537ed79508f7f15ae72a2fd4f4f7256f8418ea91a6b6387d9f9f6f5de6e627c30b8c930ff2a00f9d98e11a SHA512 61b7b7e34e41a0ac06ee998afdf64833eadfcbe6a93d2dde6bb7eefb58584957314730cd701834c78e5ba30ba1a6d227edcc9ba3043b1f312933dcaff72a8cfc
-EBUILD scikit-build-0.15.0.ebuild 2065 BLAKE2B 423ad5c59e8f2efdb43c334011ef5d57ef8b06874c1cfbc48a826f3b38281bb62a2839e20af25e42a2569afbfba8fa88d2af37ff3aee151f040b38d3988dd174 SHA512 31adab9b030407bf227dec99aaeac3df0d6cd8d9da29d255652ec7d0aa6d7e953abb3b124244a2f2b3a61bbd46dda91b4cbdcc654d10c83cda96399e6c34da50
+EBUILD scikit-build-0.15.0.ebuild 2063 BLAKE2B 25ef4b651a08a739158ee51d7d8d5b3e3b19577e6c4e16247c16dfda2da4e951763c413835f7b10eb6cc5f864374bb2ebd9aeb062ce002b52c0992e53f3bd1b5 SHA512 4dd56b2946b1a5063f18a2b80d2a81331edfce743e2dd6a88909046751ca9001782b84c21278828a47d7ae06db1617e79e6d6e0ba745ee262cbde87fb97bd0cb
MISC metadata.xml 408 BLAKE2B 4cdf98a2ac7e4bd6e1276e0ceadb3ac7849a81c5a9931b1ea5b3087cd7ced5072c390f1b77791732a3470f2cfba6a0537732f3632a156887d7c4046235062d3a SHA512 deb17b2d33bab0a1f713edd2e10b643b8801b3c04b142dd37530d5335bfde5be6e8ffb99177170a8c24380c2958164bec95db50538993fdb681aa1d0408ebf3e
diff --git a/dev-python/scikit-build/scikit-build-0.15.0.ebuild b/dev-python/scikit-build/scikit-build-0.15.0.ebuild
index 2b57b358d553..665b0da7c342 100644
--- a/dev-python/scikit-build/scikit-build-0.15.0.ebuild
+++ b/dev-python/scikit-build/scikit-build-0.15.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/distro[${PYTHON_USEDEP}]
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index ea83768e24c7..0c6e7008beea 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -11,5 +11,5 @@ EBUILD sip-5.5.0-r2.ebuild 873 BLAKE2B 6056c5ce42dfc77adfef3e38413eb91d150edfd33
EBUILD sip-6.4.0.ebuild 906 BLAKE2B 983e093fda49cbb8ef2d9b99fbe27caa76c19348fef6b1133240c771dc69ac971a7d7e62a313ff6959bf226d09e0670a49616736c2a5791459d5733e851c9413 SHA512 b46a02396fe76b9ef983ca0f41e9c60ba7ce575a9bf58cdae25f425c7d4780e9f6eb0f58aa82f814820f5eb53404ec92e78da58b8ba1cbf948fd9df8f8705fa6
EBUILD sip-6.5.0-r1.ebuild 951 BLAKE2B fc58209330df4aa21762f5b687b687c87e6cab5102585745e75d28b285abe2c15bdfd8832d3b2432bf0160be4f30fcfaff955ed72603535f6f643b3532752b64 SHA512 eeb40447bb7f40ccb119d24b786f7ac2b6ae45c174b7e2aabab96c494c8c11298e6d77593f9808dd8707e3628253ba5207941b3a44e7e9a7137e89eef11c267a
EBUILD sip-6.5.0.ebuild 906 BLAKE2B 983e093fda49cbb8ef2d9b99fbe27caa76c19348fef6b1133240c771dc69ac971a7d7e62a313ff6959bf226d09e0670a49616736c2a5791459d5733e851c9413 SHA512 b46a02396fe76b9ef983ca0f41e9c60ba7ce575a9bf58cdae25f425c7d4780e9f6eb0f58aa82f814820f5eb53404ec92e78da58b8ba1cbf948fd9df8f8705fa6
-EBUILD sip-6.6.1.ebuild 1084 BLAKE2B 7f67c4dd6ca5a907dcabac8e1f8d293e58746bd28f9bdafbe948dbf21f33cc364e0a4139d64c1323bb05336f81dbdeb27309f0ade7c1fdf1c08f58d123829f27 SHA512 256a5ec7e82d065f1862205ee86657ec939bbc788d0cebce0347c8d2cfa18a67bafd7a53e9bc19c7352c82dc001739c45a947d24dd9aec43223d1bf4051b103c
+EBUILD sip-6.6.1.ebuild 1082 BLAKE2B 8f06f88625a1118f8ea004d1c07ccc2297b090c9adcd16506dc54572f9ba9d39d34f427880754b76a07c7bbd0d8a36b28806159329e31faaf3ec361506abd783 SHA512 4e4e6e5480243ffa5c75efe45896d143614a41f251012f399d894249fae70a92df6e23276bfe7bcec4d0535898b72d7b10db44c2f76d90f955dd591e8852269b
MISC metadata.xml 639 BLAKE2B deb4a3e534eaa966db932dc17bf7df6a04ed41ce707dc7f1befb272c362be06f222f976c4b0d526a6190d4954f1fa0e2c94ccc2e6cfceff6e8db5959e653fed1 SHA512 8c8e45d32587e346d4df067950aacbc767618418d42f4a5bf48a62706c9612007915ec643dc9fe7b7d083696b26795abb76d9cc475481c26782874f5116863a1
diff --git a/dev-python/sip/sip-6.6.1.ebuild b/dev-python/sip/sip-6.6.1.ebuild
index 4eecffd980c3..fa5b7a2265af 100644
--- a/dev-python/sip/sip-6.6.1.ebuild
+++ b/dev-python/sip/sip-6.6.1.ebuild
@@ -20,7 +20,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="|| ( GPL-2 GPL-3 SIP )"
SLOT="5"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
!<dev-python/sip-4.19.25-r1[${PYTHON_USEDEP}]
diff --git a/dev-python/tweedledum/Manifest b/dev-python/tweedledum/Manifest
new file mode 100644
index 000000000000..24396a963770
--- /dev/null
+++ b/dev-python/tweedledum/Manifest
@@ -0,0 +1,3 @@
+DIST tweedledum-1.1.1.gh.tar.gz 5105832 BLAKE2B 71e3e9baaccc345910d5be3831ea0476b06bc3171311d17fc3f160b7d4c9026bab719b1e80f1d462183cdcc1feb750542e2649c2aab5cdc6d4551ab258866649 SHA512 eda9c0d895d59450150946d52d942174652d305a863a10bafa60300cde63a692a8105b7bb5dcc86aeb610b666945215905cf95859f3726b875c88d5cd3d34891
+EBUILD tweedledum-1.1.1.ebuild 817 BLAKE2B f02915d555215a75b6a947f4c36f3fb91a3d6e49dbe2411e67a9221ddfd24c1675653bb135de7064ba8f30d474bbddec5a074b692b563dd9405de42857b9a1fa SHA512 534f3e5d5200b2199a7d23da41815cc7c8bcd788e9c52bdb45b6f51cdfb5fbc4958abf799315e7adcf5046454986dacc4f6b00589df18f15d10d5690a2940adc
+MISC metadata.xml 923 BLAKE2B 4823b5eaf8aa244a393deb861164a72b9f3e6123e7c1b45e27f268f4abc2ebd6e6530eaa7a023a503e85acdd38478bb01d6a518650c0f8b3187ed7fe6337a21a SHA512 a54737fde64a8e343eb5de58a5f8eccdae8eae4d268c35cf4a576838ccf54d554f6842db7ae44e686e0cc93905d63b7de46bced809fcd648cee91bd65fe0f801
diff --git a/dev-python/tweedledum/metadata.xml b/dev-python/tweedledum/metadata.xml
new file mode 100644
index 000000000000..b68d63379f25
--- /dev/null
+++ b/dev-python/tweedledum/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ tweedledum is a library for synthesis, compilation, and optimization of quantum circuits. The library is written to be scalable up to problem sizes in which quantum circuits outperform classical ones. Also, it is meant to be used both independently and alongside established tools.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">boschmitt/tweedledum</remote-id>
+ <remote-id type="pypi">tweedledum</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tweedledum/tweedledum-1.1.1.ebuild b/dev-python/tweedledum/tweedledum-1.1.1.ebuild
new file mode 100644
index 000000000000..392e1dd17b22
--- /dev/null
+++ b/dev-python/tweedledum/tweedledum-1.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for analysis, compilation, synthesis, optimization of quantum circuits"
+HOMEPAGE="https://github.com/boschmitt/tweedledum"
+SRC_URI="https://github.com/boschmitt/tweedledum/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# >=dev-python/setuptools-42.0.0
+# >=dev-python/wheel
+# dev-util/ninja
+BDEPEND="
+ >=dev-util/cmake-3.18
+ >=dev-python/scikit-build-0.12.0"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x SKBUILD_CONFIGURE_OPTIONS="-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ epytest python/test
+}
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
index 9f9ec0d869a6..aa40df565d65 100644
--- a/dev-python/watchdog/Manifest
+++ b/dev-python/watchdog/Manifest
@@ -1,5 +1,5 @@
DIST watchdog-2.1.8.gh.tar.gz 101828 BLAKE2B ca14534af888154652951abb7e5f7f1bae1f2e072f113a034638f6384fc9b9044ab99191c6dc0ce38d7ded3dc6629a7aba1e1765f85ec5410706bd669411b929 SHA512 3182cb28701403e799c3850e5cd44acf6dc1aa7e98b1c4bb22b21de98fa4372c74a041e2f3be8d10ae77fe00018e460b98ce2fa5b0779edb84d15f952c407030
DIST watchdog-2.1.9.gh.tar.gz 102882 BLAKE2B 601c94541846e0d63a39367040ac9b6a24c2920c70638ee3887a51838dd75bf8dfef8afae34c9566047c27502026d944f01c6f6249090f4a233a4892fc1e7c59 SHA512 1005c48b08968db7705acbb8a94a0852c72d8bcf45ac935e7e0b49daa6e422adb081cf431485618b37bcc1b2d3429369af1672b826bf9c1ebfa7aff91a88175a
EBUILD watchdog-2.1.8.ebuild 1094 BLAKE2B 9c692090a747bc669bd3296c608c01fa50d889216e4ed152c31b2c0e6c38c572d1ab1bb17fb2aa0b2ab2e0d80b338d63f6389bcbc34e4fcb4551f7f7b9ce5da4 SHA512 c67611b8b375860fd2057748a016611e1e2f1c917ea8ac5bbff6ae46335f8b945150b297e26bdfb2026fdf31465b7b6f34280c3dfe2898952884e14e332f5d6e
-EBUILD watchdog-2.1.9.ebuild 1097 BLAKE2B 5c5b20f62c6b5d5139534d73dc6d5af15debc9aa4cb7a1c579906dfd2eac92a63822810a0ae3978bd69a4084cf4c3a0ca7c347709fb42757ca076d7cfd098572 SHA512 555deb2932a646c58037d468f32ac2608af4a97fc4cfdbf6fb5f6dbdd534e5c7411c887298b7aa895611f055214d0e632a3aaaf0d67764f48c4373eca90f0299
+EBUILD watchdog-2.1.9.ebuild 1095 BLAKE2B e7372aaf10fe1062b63cf2fb134fd4d152d8e2381b7ef1e3fba3fa31747f3491e91c6338afd8e4f8a58c9c28b7021c64626f4a9f5511b75f089d33a5e95342be SHA512 7aa14cfeded865175d242a1102106c3e3e33b933f117343517aaf168494af7ccc6a276530f7cf87866c27a0fa4240b2bf121eb1f270f075cb1934b527eac6437
MISC metadata.xml 463 BLAKE2B d4f4a77cbba45384d34ac533c223e6640f75460ebfa46ae029a57297ab1a8711f8c10bcd0c11926651bd61d5a2ae98e316ebe40c6011de06f8ee46ad5fcab5b2 SHA512 5eaf8c60e47afa3933115e23cec07340d8cb708c9c9568cf943030db2ed7e05771f51369d6d7d8e21ab598dc872af275784939a243a37abb1e3661b41f479721
diff --git a/dev-python/watchdog/watchdog-2.1.9.ebuild b/dev-python/watchdog/watchdog-2.1.9.ebuild
index a7b4a92c757e..49e3e567aea5 100644
--- a/dev-python/watchdog/watchdog-2.1.9.ebuild
+++ b/dev-python/watchdog/watchdog-2.1.9.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pyyaml[${PYTHON_USEDEP}]
diff --git a/dev-python/yara-python/Manifest b/dev-python/yara-python/Manifest
index 298e98a160af..357e9c1d3eda 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1,3 +1,3 @@
DIST yara-python-4.2.0.gh.tar.gz 34459 BLAKE2B fce460385eaa75dd1779fe49c7937ff36d7604433deb310b6fe9e66af9ea521952f92bee61829372cf19c7efee170329609530f1f9e863991720e4887c3c1349 SHA512 ba08d709fc51679ec9fe36165e0864b79fc241f85c681bf59823fe7bb0e34e928cded050ff296147eb5bcb837485f39949aa93425a0eb9ca8b3730e60fac93f4
-EBUILD yara-python-4.2.0-r2.ebuild 780 BLAKE2B 9c5ba0129ecdd8d000082003f4555c206d3623806985e9ae59452b20d624875e7a51a1f995df189420cb28e394c0e5a448658995d332a04cfcd1499d9328f6c3 SHA512 2c999d78d43da7610a3703b60e97b46214faf9c6bce45cdf43446322f464487fa15140e363bd4c2ef4010e75d437da0ee85b3fd683ec923983c46bec5fa99c04
+EBUILD yara-python-4.2.0-r2.ebuild 778 BLAKE2B 721d8bfb41c99bbbe25c501921452085ac921c006ce86670e95c25ca60246ed50d77e8b0c6df7ccdad538d06495f43ad0239d936e54e9761e075be19ea50501d SHA512 511e04686e8d7f76fa0419682a3d75bfada842ae7de8a8be2927e722ebb9bd01c54b020a9fba6d9c7c37425bc61a2859585049928897295512be09620814bd4f
MISC metadata.xml 735 BLAKE2B 43ee6948356d63c37a63a904c1975c0698c5f5db1cc2087108e060a2a0b071900eb6615b8a7a8cea67589cb2dae17cbdd425d2e518785c45aadf490773fe88fa SHA512 d18530850cca51e764c8b3c1575464eabb23beea351d464358ab243dc463b916ed8a28c8ff958ce82486791575343d9be2083f90ab55aa11d342032d0ec1d3f0
diff --git a/dev-python/yara-python/yara-python-4.2.0-r2.ebuild b/dev-python/yara-python/yara-python-4.2.0-r2.ebuild
index e3c6d99d720a..2f1859d230b0 100644
--- a/dev-python/yara-python/yara-python-4.2.0-r2.ebuild
+++ b/dev-python/yara-python/yara-python-4.2.0-r2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
RDEPEND="${PYTHON_DEPS}
=app-forensics/yara-$(ver_cut 1-2)*"
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 01ad964160b1..1bffbd14657f 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
index ab64f6726d45..0f286d5fb5fc 100644
--- a/dev-util/gn/Manifest
+++ b/dev-util/gn/Manifest
@@ -1,4 +1,6 @@
AUX gn-gen-r5.patch 1563 BLAKE2B ff909ef01743ca36d866257ad3bc2a1ca7a4e894b6a0c7672d08d0e1cd412b1056477f77ab64c75fa67a5c21794cecdd87f6bb75ebd963fff0ee3599523c73f6 SHA512 bb18dc2900084ca15ee12addec56d32cce520cb0d229bddbb69e8da7cca144887a6eb7267ea449613505dca4cdeba8ef0e4e69595fc202289d2f3c5fed2e4971
DIST gn-0.1943.tar.xz 706792 BLAKE2B 51889ad85e86e702c2690c5c23010d666ef0467be92d982e6dea2eec2e20774c04425900cad64672c7782bf36e62984e612c04ff0f1c7e9598f2877270cf8504 SHA512 4e3270e13e35fa0ede3c81b563b72a9e9baee18b6412d32603d3c7a327315ceea86dc28c9c3b01c9e9f4d520e222dfeabe152f946eb0947d9285359568934864
+DIST gn-0.2049.tar.xz 727960 BLAKE2B fe93d09c1fa5b6267a4d26f37ec42e629b36645ef58bf6ebcc07dd8cd2ee9509c1e997182251a3e2c3ef3c5b7d636c9a8228c1e49d1d7245b3ebdac36e7c5a1a SHA512 f3e6dc87d647702c5d22793e2eed3e9950f8c9a6d7178eae67bb7d6518b6533c74fa3f43245fb9e422994a27f1a0f1986709f91e7ce2ed78eb5f17838f75e1db
EBUILD gn-0.1943.ebuild 1294 BLAKE2B 702eebb55f4f625f6cf649a865e6801bb541249fe4d8abfbb2b4254dfb6557e8321304664ffe144794454014a6854ade8f90bca903568cb9a3aa41ff07947469 SHA512 28eac75e4ecd6d4e2323ce1ec9161ee5d80e10b1706edd6931ab9c5169b8c68d7e33af3aa9c061cd1f2c9397e312e82ec079d43846f83da1c0132d32393610bc
+EBUILD gn-0.2049.ebuild 1319 BLAKE2B 414ac7c17df00df8bc64a40a211ad3b07b1a33cf34946e2aff3205d4391f1bb6a6c5a7dc223b47b80438d8235a6f7c17f00bd1a29cf84df2cd4889022863865f SHA512 8d330d34745688f8005745a769df4b5b3e2b198aa85a503bc6bb924f5cab5920a641bdf51b68262555b21db240f303cb93c77bee80f9f3a7730aaf04431bca20
MISC metadata.xml 221 BLAKE2B ce7615d8eda5f58e7729bf86156010821052ae580769c3be3922f1270f1211bc5cf297afc5c68db67a46c1c01450c08751fc3cda0995d62bbe60da64d21802d6 SHA512 6ffee27f859f923795e8ded3a5544a82473f72568e96475374b937adbf0963f81d46fbcf4752a9d4eef3f071cadd3dedf141f43802b58c6a788243c7f05114cf
diff --git a/dev-util/gn/gn-0.2049.ebuild b/dev-util/gn/gn-0.2049.ebuild
new file mode 100644
index 000000000000..e8ce49ec53a2
--- /dev/null
+++ b/dev-util/gn/gn-0.2049.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+SRC_URI="https://dev.gentoo.org/~xen0n/distfiles/dev-util/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="vim-syntax"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ echo "$@" >&2
+ "$@" || die
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+ fi
+}
diff --git a/dev-util/google-perftools/Manifest b/dev-util/google-perftools/Manifest
index 06240fee46cc..2157c5b56aad 100644
--- a/dev-util/google-perftools/Manifest
+++ b/dev-util/google-perftools/Manifest
@@ -1,4 +1,6 @@
AUX google-perftools-2.9.1-disable-generic-dynamic-tls.patch 1429 BLAKE2B 69dfc7f24fe7d765f4ad6e118ff4b78de070bd471a92ab19bf7349addfc8ce477e14513bada0168fce675aac75e413d26319a784f0ecd5fbfc7e4750b4b1a35e SHA512 a85a631761df4e5a0d38f2e1ce9cb48f3299bb83f7b73cefe872d31f2cf08ec0fffe2c5918dd6e769d83a726404bf94c72857a3870a8823d4dea12d686a4bbd8
+DIST gperftools-2.10.tar.gz 926512 BLAKE2B e92fb751f9e695d21edf5fce443f3d3641fcff15cbd6b5d868bc77fbe622594be824b75c8d45513c7f82b9e574c690133b8502d4574162948a77886d5166b92d SHA512 4400711723be9401f519d85b3b69c026e4715473cbed48ab0573df17abdf895fb971ee969875fe5127a2e8b9aba90d858285e50c8e012384c2c36d5a76b1f0c4
DIST gperftools-2.9.1.tar.gz 924910 BLAKE2B fcf0491e42ff4212a63ab0af422f27f5a625c53a0b33e69f8dede96b004a0f01af104d9791a4b75d38145ae0059f5e2967ea1d09b0712cc4d930ef7aafd4f3ba SHA512 5e07f28da9afc5f1ba3df7f06ad0e146c171d33e1779bbaab21547ed234aaced02e5278c1eb8f92fc45480abd2474d6a2d4c71644fb9378f41088c56cc1bc8ab
+EBUILD google-perftools-2.10.ebuild 3144 BLAKE2B f29dbf09225f703bc54aaf54ecb1589d2f7cb5b763f0338737d0bd0aeb41ac31d639a429471751e5f7377d9c03f08fbe8b7f6fc8f828d756b3bc8f46dac6244e SHA512 a366994f9e076f0570a9f2e00cfae288db927a7b109d9c89f465d28820ea405168b404a392359e0dbbab3e6eefadd47d8ea2b5d93ec3393afbac780eae0fd009
EBUILD google-perftools-2.9.1-r2.ebuild 3138 BLAKE2B ce4ec06f068b4b4b3ed05000e4f6549c33b94dd0f204e94a22289d7c4b3b2c38270978905a7a26036a912b8665ae6cccf47dddd894287206919deec5d2d88d6c SHA512 2c0ef217d45aa7a31b427637ac32d3959ab5cb838a6bbccc9978a9bab2d263f487a3ba49a50e96658a9b3a64511d52589dafadf4435160d351161779f992d1c3
MISC metadata.xml 1129 BLAKE2B 441935f9605b2c11fb02f4698375b87cdf7a30596f36c5d069ef3bec2599181bc91321b0bbea21f0841d2abdcca58aa1a4732d486bc5719b90f4eb6558fc2404 SHA512 624d8b8fcf555aa62b57c32443eef40fa350ffe346f84dadb33bcb8c8dc192749deee2ca01e121ac82d4e349bcc179af0f897a4b6b696741aefe01ce79abe916
diff --git a/dev-util/google-perftools/google-perftools-2.10.ebuild b/dev-util/google-perftools/google-perftools-2.10.ebuild
new file mode 100644
index 000000000000..42f067fa0ced
--- /dev/null
+++ b/dev-util/google-perftools/google-perftools-2.10.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="gperftools-${PV}"
+inherit flag-o-matic autotools vcs-snapshot multilib-minimal
+
+DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE="https://github.com/gperftools/gperftools"
+SRC_URI="https://github.com/gperftools/gperftools/archive/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+# contains ASM code, with support for
+# freebsd x86/amd64
+# linux amd64/arm/arm64/ppc/ppc64/riscv/x86
+# OSX ppc/amd64
+# AIX ppc/ppc64
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="largepages largepages64k +debug minimal optimisememory test static-libs"
+
+RESTRICT="!test? ( test )"
+
+# TODO: remove the riscv special case once either libunwind has begun supporting this arch
+# or this package allows using llvm-libunwind for other arches
+DEPEND="!ppc64? (
+ riscv? ( sys-libs/llvm-libunwind:= )
+ !riscv? ( sys-libs/libunwind:= )
+)"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ # Please keep this if possible on bumps, check Fedora if needs rebasing
+ # Allows correct functionality on e.g. arm64, bug #818871
+ "${FILESDIR}"/${PN}-2.9.1-disable-generic-dynamic-tls.patch
+)
+
+pkg_setup() {
+ # set up the make options in here so that we can actually make use
+ # of them on both compile and install.
+
+ # Avoid building the unit testing if we're not going to execute
+ # tests; this trick here allows us to ignore the tests without
+ # touching the build system (and thus without rebuilding
+ # autotools). Keep commented as long as it's restricted.
+ use test || \
+ MAKEOPTS+=" noinst_PROGRAMS= "
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES
+ use largepages64k && append-cppflags -DTCMALLOC_LARGE_PAGES64K
+ use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW
+ append-flags -fno-strict-aliasing -fno-omit-frame-pointer
+
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug debugalloc)
+ )
+
+ if [[ ${ABI} == x32 ]]; then
+ myeconfargs+=( --enable-minimal )
+ else
+ myeconfargs+=( $(use_enable minimal) )
+ fi
+
+ if use arm64 || use s390; then
+ # Use the same arches for disabling TLS (thread local storage)
+ # as Fedora, but we might need to expand this list if we get
+ # more odd segfaults in consumers like in bug #818871.
+ myeconfargs+=( --disable-general-dynamic-tls )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ if has sandbox ${FEATURES}; then
+ ewarn "Unable to run tests when sandbox is enabled."
+ ewarn "See https://bugs.gentoo.org/290249"
+ return 0
+ fi
+
+ multilib-minimal_src_test
+}
+
+src_install() {
+ if ! use minimal && has x32 ${MULTILIB_ABIS}; then
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gperftools/heap-checker.h
+ /usr/include/gperftools/heap-profiler.h
+ /usr/include/gperftools/stacktrace.h
+ /usr/include/gperftools/profiler.h
+ )
+ fi
+
+ multilib-minimal_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ use static-libs || find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-util/samurai/Manifest b/dev-util/samurai/Manifest
index 8dff97ee5bde..a75ab4b76e9d 100644
--- a/dev-util/samurai/Manifest
+++ b/dev-util/samurai/Manifest
@@ -1,5 +1,5 @@
-AUX samurai-1.2-null_pointer_fix.patch 758 BLAKE2B c476434d74927d78dbd8f97e3d3e588abee22fc5650b40ead47b5b08e5dee6029253c54047f7f78f611e0ba3008c13b77775727ee547aee6d8bab5d56e99c80e SHA512 0504b137fc9ac113453075a22bdfac4ab7616f668e640b7125041400729aaecad1173c528934223246035f68a95d92c6a85e62d1ea5fea996d85647cb33483eb
+AUX samurai-1.2-null_pointer_fix.patch 2089 BLAKE2B f721cec4d42b4826ec52d4e88ee86b907956739f30427eeaee047eef8e59f953c1bcb2fda301cf3a8214c707954cbbb0abf0901c63ec557f4d9cc614962894d1 SHA512 5ead4b0aa47fd9c3bc84cf437744a36a9a1ed21b438883d32ab98b598c98a20561ba46954255553befdb9f46efa4f6251f73342de9000415f09bce63064e52eb
DIST samurai-1.2.tar.gz 32709 BLAKE2B 86ed79f7d6ab492216cf3bf0e19ff8be8c1ca37e5c99de84b457875fa710d720624bd0de53105ed0b1d382c417aeb7397929cb9a35a8d1b36a11e053bf8d7ff5 SHA512 bbe6a582c34b04f1df53b76c1647aa3e03c4698ebf7591a203935f11ffa05971bbcb86dc1a8c06aeb904cdc741abb08918122810fc47216fed0a6d9f87fd1225
-EBUILD samurai-1.2-r1.ebuild 719 BLAKE2B 083a7a57c20ee650cdcd23063e2d4cf21a7b72e8bad821809429ef0f74cc8dc4f037af3bd5c578d90d9fa71f05ddd268b31ad683854e8caeb2f27f24d852e27d SHA512 f2a98101f6835a85642105633256dc62d443bc9e3fd264cbfba6c5e32ca4fd8dbc3d76ed7a5c68131045fbd0d82115c27037fc852bf4c5b35bfe4b13cd2109e8
-EBUILD samurai-9999.ebuild 655 BLAKE2B 758ccc46bbc5975620bfb9f07fc229c761318794a3db4637efe018f780eba4bcf86fd946e21d09ef4e60dcbfa449990012fd4a64f51afb0935f20946b60a185a SHA512 5b72cb8d504c2abddea126375cb7d1c3283f4b172e1d2288f838d53d2477b0ef270ec74fbbd089a48df21112ba5de6822ab349a5b33da409815e6bfda0b1f29b
+EBUILD samurai-1.2-r2.ebuild 725 BLAKE2B 505faf54c1b00aa5f3b7e1ea47346baf341f250d699c01c4e577ce3c6235e2b6d5075b39109a221a1cb760dffde0e50e0f84be372d18906663c18aa4c5b6aaf4 SHA512 e1eb5941b90e176a32038ac0125cf0c7634d3a8278ae166fc354049ecbd2b29bd35cf177c54c5287398ce9878487c95e900c0be9481ca5f74443eb87989e035f
+EBUILD samurai-9999.ebuild 660 BLAKE2B 07025a4190abf3106c4616c32728c375a567bc369c7bc41da0128b0880b077879c55e57e7fe37e4de280d8c4c3d9f063846d67b352507a2daab3f75bb3aaef4e SHA512 c589c262cf3b6c76c7be16c78ba945cd20b4a5d3f7fc08220ec68d9271f35ad9b7c54eb3123bb69696e86040e9b3eda8bbed9ba7c93c66b2c2c7aff788c4b586
MISC metadata.xml 450 BLAKE2B 0c3c483cfd71441603a81d9c1c6015336ad104d14a6db7d77819dda52e7b3a58e141e82808b636f430ef501f8f7dbc96b48a56e41f79327ad8d458f42fef4c92 SHA512 511af6f135b9cce7f5fb8e66c583e398479e9639b42f26d63cd01937a5976317e8d9e5949f03cd36d908192a9a4413680872ca99aa6b9e8d882eaeaf1069e1b6
diff --git a/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch b/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch
index fbc97b03d478..76ffc8cd350f 100644
--- a/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch
+++ b/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch
@@ -1,3 +1,37 @@
+CVE-2021-30218 + CVE-2021-30219
+Bug: https://bugs.gentoo.org/786951
+
+Upstream-Commit: https://github.com/michaelforney/samurai/commit/e84b6d99c85043fa1ba54851ee500540ec206918
+From e84b6d99c85043fa1ba54851ee500540ec206918 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Fri, 2 Apr 2021 17:27:48 -0700
+Subject: [PATCH] util: Check for NULL string in writefile
+
+This check was there previously, but was removed in f549b757 with
+the addition of a check during parse that every rule has rspfile
+if and only if it has rspfile_content. However, this fails to
+consider the possibility of those variables coming from the edge
+or global environment. So, re-add the check.
+
+Fixes #67 (https://github.com/michaelforney/samurai/issues/67).
+---
+ util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util.c b/util.c
+index ea5c3ce..2a59881 100644
+--- a/util.c
++++ b/util.c
+@@ -258,7 +258,7 @@ writefile(const char *name, struct string *s)
+ return -1;
+ }
+ ret = 0;
+- if (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0) {
++ if (s && (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0)) {
+ warn("write %s:", name);
+ ret = -1;
+ }
+Upstream-Commit: https://github.com/michaelforney/samurai/commit/d2af3bc375e2a77139c3a28d6128c60cd8d08655
From d2af3bc375e2a77139c3a28d6128c60cd8d08655 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Sun, 4 Apr 2021 03:50:09 -0700
@@ -6,7 +40,7 @@ Subject: [PATCH] parse: Check for non-empty command/rspfile/rspfile_content
This matches ninja behavior and prevents the possibility of a rule
with an empty (NULL) command string.
-Fixes #68.
+Fixes #68 (https://github.com/michaelforney/samurai/issues/68).
---
parse.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dev-util/samurai/samurai-1.2-r1.ebuild b/dev-util/samurai/samurai-1.2-r2.ebuild
index c2072fc277b1..5a7727cbbf8c 100644
--- a/dev-util/samurai/samurai-1.2-r1.ebuild
+++ b/dev-util/samurai/samurai-1.2-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -19,7 +19,7 @@ LICENSE="ISC Apache-2.0 MIT"
SLOT="0"
PATCHES=(
- "${FILESDIR}/${P}-null_pointer_fix.patch" #786957
+ "${FILESDIR}/${P}-null_pointer_fix.patch" # 786951
)
src_compile() {
diff --git a/dev-util/samurai/samurai-9999.ebuild b/dev-util/samurai/samurai-9999.ebuild
index 6895ee86fc65..6e723875bada 100644
--- a/dev-util/samurai/samurai-9999.ebuild
+++ b/dev-util/samurai/samurai-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
diff --git a/dev-vcs/Manifest.gz b/dev-vcs/Manifest.gz
index 0a40b6814e09..8d32575c8686 100644
--- a/dev-vcs/Manifest.gz
+++ b/dev-vcs/Manifest.gz
Binary files differ
diff --git a/dev-vcs/python-gitlab/Manifest b/dev-vcs/python-gitlab/Manifest
index 4c8b37f9f4cd..228105604436 100644
--- a/dev-vcs/python-gitlab/Manifest
+++ b/dev-vcs/python-gitlab/Manifest
@@ -1,5 +1,5 @@
DIST python-gitlab-3.5.0.tar.gz 225751 BLAKE2B 25efd5de5addde6cdb19307217080213e8f0aa9b189307fe10fb9af55d8db92752794cf71c3e826629f043dd85d6078dbf9e96418d3e96d38209a5a81629d589 SHA512 fdc719f0cb0bf588390f0f6f0ffc4814bb5135156ecbe96cb4b381a7f93606a49773d1e8a34397a0f3b4522c8867704429070bae7bec6cf34b9e713f0a9c9189
DIST python-gitlab-3.6.0.tar.gz 235738 BLAKE2B 4ed26f2d8add0fbfdc52bd8d7f61e06b717a2f8b7995b8c75eaf67a20362c259d0c487177ba695310cff11bb0129e49cb3c0058682488da9b8f61b477c4a07f1 SHA512 b2fe2dd62b76929d3acef0c8fc815b91ac5949af47fa43110d461d541ecd943af2e3c7afc94ad4b396b8d8815b4201a65ef7199bf886f5e5b0419b3d9bff2575
-EBUILD python-gitlab-3.5.0.ebuild 869 BLAKE2B 77baec7dec078b1e1032d2f6bfdd079e00a26345fcd8338c36a68a95be55ffe24026c5ce65be2805e089c0cb41eebb4b139109bce27b8de0945cd703d7414a13 SHA512 3068213ed0e62bb9b887944b57103270114c91162208a0e78aaaac3d40d6ea5e537b22372c0571941d196975b68ba1f2906ab35c41aac937f11fc32a85152441
-EBUILD python-gitlab-3.6.0.ebuild 974 BLAKE2B b0522c5df17e7bbc6b7634ada9fc19cafbd6570293276419fe18169013693aee7021e63ff46983c347b9fb8d8ce575b03dfd8494e6bb67ba00ebfa26ea7e4c66 SHA512 3c367880fd08007797369647b88ef6779816bacf77340488ed5716e4b165cb7f852fa6920b3b009cae1c62f28a7e9f3b8c75e2590f66ca3f29e63663e1d4714d
+EBUILD python-gitlab-3.5.0.ebuild 867 BLAKE2B 303710de7419f22976c77b394bd8fd3314a1139207f641c594d14578ca304a1144afa16e2472aa4833bbc7284053eecbf8ce42e828cf62237d394d55fe3993a5 SHA512 91550bb017e460f2346ea6f76ef8068ad3721d83ca6889c824aa5ceae2450d5b0c0894ecd8b04739bb4cca264d7e928de32c0275d101fe8fc7d3b9664ae7ae37
+EBUILD python-gitlab-3.6.0.ebuild 972 BLAKE2B f254e7cfe95fbdf4a675c98771006ff1db243492ec39cabfe142ec0ccd452f1000f9901e4d248a6ce3989b46c1c00f981ecb186084757c8947a1899d722c3c04 SHA512 54c1fe287ba84943067ec8368bda562771858d8fbb7059fbd67e08cad77b55f5ff64210eebf788bd0358608fbdbfa85a4d6c6925e2d7d04b51dce492d72061f1
MISC metadata.xml 249 BLAKE2B 08603bf9d754b59bae12620988552abc7f76b87a1390d02038789eba034c22412a3593d10f443794a5171ff3905c2b5c822368b2eb9f53a528097b7b6c80ffe9 SHA512 338d72efbd040697be98aad4229b81c9694eb27ecbc39f3a18332f4cc766a46b4a0a92f32612203259bf58f5838d0aff7f0b1abec7766f6cd2394c73f7f0b251
diff --git a/dev-vcs/python-gitlab/python-gitlab-3.5.0.ebuild b/dev-vcs/python-gitlab/python-gitlab-3.5.0.ebuild
index 6f782bcbdbae..90eec639d832 100644
--- a/dev-vcs/python-gitlab/python-gitlab-3.5.0.ebuild
+++ b/dev-vcs/python-gitlab/python-gitlab-3.5.0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_COMPAT=( python3_{8,9,10} )
inherit distutils-r1
DESCRIPTION="Python command line interface to gitlab API"
diff --git a/dev-vcs/python-gitlab/python-gitlab-3.6.0.ebuild b/dev-vcs/python-gitlab/python-gitlab-3.6.0.ebuild
index 85ac20d563aa..ceaf08012a3d 100644
--- a/dev-vcs/python-gitlab/python-gitlab-3.6.0.ebuild
+++ b/dev-vcs/python-gitlab/python-gitlab-3.6.0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_COMPAT=( python3_{8,9,10} )
inherit distutils-r1
DESCRIPTION="Python command line interface to gitlab API"
diff --git a/games-roguelike/Manifest.gz b/games-roguelike/Manifest.gz
index cf4f5c634183..3bfd4eda4627 100644
--- a/games-roguelike/Manifest.gz
+++ b/games-roguelike/Manifest.gz
Binary files differ
diff --git a/games-roguelike/stone-soup/Manifest b/games-roguelike/stone-soup/Manifest
index 1e14a07950a0..a49be386fc92 100644
--- a/games-roguelike/stone-soup/Manifest
+++ b/games-roguelike/stone-soup/Manifest
@@ -1,5 +1,4 @@
AUX make-advpng.patch 501 BLAKE2B 06ea1fdc6f9fa9c26f39493c074213c517434e376934faff2231a5600715af9122fb7cbdc00a6c1c8b1301e5a22f11493bd72de42d94c8d802f680f0de338ae4 SHA512 28f6bfcdc14c92ce6ff041a93d156af7a0e45609a6c97af0e3ec749e86d9b33e9a2aa46f664c69173ad08c1cc0985c4121d452954b8ffe7f56558fd529f503be
-AUX make-no-png-dep-fix.patch 2728 BLAKE2B 94930ab98012754cc2760dbffc905173bafc0303d492e3f1180f7d4fcff1bd12aef3ea3f74c2ded37cb36c66cecd09003dc630ba8090605bffe52f7ae087c165 SHA512 7144caa5e4a4612c32efe5ccbee5763fa271f1d887218a42740a2b507babd67444f834e75cee645c03a0499c0135df118ede4a52e222ea05fac8b31846696bc4
AUX make.patch 3190 BLAKE2B 82322638290720242d1bfbf9995dce61e2ba857716cb233297ec4e5f32ef1cf9c88730a17b8dbf78897c635660a5beea9f88da51d0dcdf10f2490609bc7e4b62 SHA512 15fc91a939997b67249638c87071a1c7e6d7b5ed2625e14ca48cc7721ca0216d6b4590da40070077b31d9380ed96626ec7c80c780b1f9a8bba74a2d4800fb1ed
AUX rltiles-make.patch 1704 BLAKE2B b740e8b305e9071a9b024589e4ef6cb4fd088d4424e35ab164f920ec0cf06b94a46b19ac7d223d5eac3ca92bb2565efea00731a556e429056041cddb5658988a SHA512 378bea1e53477c881b93f824e45231b13c34318e34cf1413325a642d2d4f7f16c654b00584bec552238e1e2ec6e8046b67ea7cbd5aa4cb6ecf9fb6a70d600dd9
DIST stone-soup-0.25.png 1351 BLAKE2B cc31abd59701aa6f0fb0bdcd90630ceebf7b3cb8b60f0e2817f8800c5bc4b3a5b9fef63c90a97b6248f306e7e3da0df3863a2195b8771863344d2443e7956d59 SHA512 4695204c8b936f7aac1ba15b02a6115a955fb2c56aa9a0b968ff007bc9a1a59b608110d60cce5625a9b92cd2c869bbea7e15433a53c1a338622809477a5846bc
diff --git a/games-roguelike/stone-soup/files/make-no-png-dep-fix.patch b/games-roguelike/stone-soup/files/make-no-png-dep-fix.patch
deleted file mode 100644
index b43c9c41e8c8..000000000000
--- a/games-roguelike/stone-soup/files/make-no-png-dep-fix.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- a/Makefile 2021-08-02 13:54:26.603900984 -0500
-+++ b/Makefile 2021-08-02 13:57:26.018910565 -0500
-@@ -186,7 +186,7 @@
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
- uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
-
--HOST := $(shell sh -c 'cc -dumpmachine || echo unknown')
-+HOST :=
- ARCH := $(HOST)
-
- ifdef CROSSHOST
-@@ -457,15 +457,7 @@
- GCC_VER_SUFFIX:=-$(GCC_VER)
- endif
-
--# Attempt to use a full compiler name, to make
--# distcc builds work nicely.
--LMACH := $(shell gcc -dumpmachine)-
--ifeq ($(LMACH),-)
- LMACH :=
--endif
--ifeq ($(shell which $(LMACH)gcc$(GCC_VER_SUFFIX) > /dev/null 2> /dev/null && echo "Yes"),)
--LMACH :=
--endif
-
- ifneq ($(FORCE_CC),)
- GCC := $(FORCE_CC)
-@@ -765,7 +757,6 @@
- FULLDEBUG=YesPlease
- DEBUG=YesPlease
- NO_OPTIMIZE=YesPlease
-- COVERAGE=YesPlease
- endif
-
- # Debug-Lite
-@@ -773,7 +764,6 @@
- ifneq (,$(filter debug-lite,$(MAKECMDGOALS)))
- DEBUG=YesPlease
- NO_OPTIMIZE=YesPlease
-- COVERAGE=YesPlease
- endif
-
- # Profile
-@@ -781,12 +771,10 @@
- ifneq (,$(filter profile,$(MAKECMDGOALS)))
- FULLDEBUG=YesPlease
- DEBUG=YesPlease
-- COVERAGE=YesPlease
- endif
-
- # Unit tests
- ifneq (,$(filter catch2-tests,$(MAKECMDGOALS)))
-- COVERAGE=YesPlease
- endif
-
- ifdef HURRY
-@@ -938,7 +926,7 @@
- INSTALL_FONTS += "$(PROPORTIONAL_FONT)"
- endif
- else
-- SYS_PROPORTIONAL_FONT = $(shell util/find_font "$(OUR_PROPORTIONAL_FONT)")
-+ SYS_PROPORTIONAL_FONT = /usr/share/fonts/dejavu/DejaVuSans.ttf
- ifneq (,$(SYS_PROPORTIONAL_FONT))
- ifeq (,$(COPY_FONTS))
- DEFINES += -DPROPORTIONAL_FONT=\"$(SYS_PROPORTIONAL_FONT)\"
-@@ -958,7 +946,7 @@
- INSTALL_FONTS += "$(MONOSPACED_FONT)"
- endif
- else
-- SYS_MONOSPACED_FONT = $(shell util/find_font "$(OUR_MONOSPACED_FONT)")
-+ SYS_MONOSPACED_FONT = /usr/share/fonts/dejavu/DejaVuSansMono.ttf
- ifneq (,$(SYS_MONOSPACED_FONT))
- ifeq (,$(COPY_FONTS))
- DEFINES += -DMONOSPACED_FONT=\"$(SYS_MONOSPACED_FONT)\"
-@@ -1187,9 +1175,8 @@
-
- LANGUAGES = $(filter-out en, $(notdir $(wildcard dat/descript/??)))
- SRC_PKG_BASE := stone_soup
--SRC_VERSION := $(shell git describe --tags $(MERGE_BASE) 2>/dev/null || cat util/release_ver)
-+SRC_VERSION := $(shell cat util/release_ver)
- MAJOR_VERSION = $(shell echo "$(SRC_VERSION)"|$(SED) -r 's/-.*//;s/^([^.]+\.[^.]+).*/\1/')
--RECENT_TAG := $(shell git describe --abbrev=0 --tags $(MERGE_BASE))
- WINARCH := $(shell $(GXX) -dumpmachine | grep -q x64_64 && echo win64 || echo win32)
-
- export SRC_VERSION
-@@ -1523,7 +1510,7 @@
- endif
- endif
-
--install: all install-data
-+install: install-data
- [ -d $(prefix_fp)/$(bin_prefix) ] || mkdir -p $(prefix_fp)/$(bin_prefix)
- $(COPY) $(GAME) $(prefix_fp)/$(bin_prefix)/
- $(STRIP) $(prefix_fp)/$(bin_prefix)/$(GAME)
diff --git a/games-strategy/Manifest.gz b/games-strategy/Manifest.gz
index 78e74c289828..bbbb8dc22e7d 100644
--- a/games-strategy/Manifest.gz
+++ b/games-strategy/Manifest.gz
Binary files differ
diff --git a/games-strategy/augustus/Manifest b/games-strategy/augustus/Manifest
index 816a8b5161be..7f1b16f5f2b8 100644
--- a/games-strategy/augustus/Manifest
+++ b/games-strategy/augustus/Manifest
@@ -1,6 +1,7 @@
AUX README.gentoo 426 BLAKE2B 803713ea8fe3bd1f20b3a5951cb23135ddb511b916d75ac30c907ef01246a6c365a5f8a50d1a35b1a9e9ca58129828862d2d0b9fc13db5a7e1d3d04071e63957 SHA512 da220fdc16a824044507ea0b69c6e3b165f49e45dc669ab77c79256c271932104293b6e884cd984d7229242113a9431fe77e9ae4e1fd4afc01d68b37399939ae
AUX augustus-3.0.1-desktop_rename.patch 241 BLAKE2B 8adea277b37e544442cbf38f18387f90d0bf9a3366c5323e2e9bbefda49f517871c173a22dbe937fbf4a1244275c3195f2d008b542c54a778550967726025e7c SHA512 e283524f8e5dafea3bfb890c19be221f586ec6fc70943914eed3d542208c33a4cccf53f06a14fbc8db21be2fdeba6f97b38cea8592a343d11574e094f82cde2e
+AUX augustus-3.0.1-musl-fix-execinfo.patch 567 BLAKE2B 1cd8b9875fc6a0d94411f8838a1a26cfd54efaee1c677e84a549bd1f0add349f62a55815aef6ea79f726ee097f07cff249841d2140ac4dcdfed9c5e95e9327d3 SHA512 ee9e9d6c0bab40f5a934ee9de0c8591ed76a0f3654fb5a52987d8591395b5f69d96486327aa2d8cebce73e41a3c44252a7a8eb36529ebdd90fb05bb92142f7a7
AUX augustus-3.0.1-uncapped.patch 464 BLAKE2B 074faedf03b64b3e34c15a9412f3d22f3ec93fa638f9d90e910e2b5c203fe3e608ba29de499cedc22fdad6b19194befa5617bb6aa0e1db230873af554f5082f5 SHA512 725df61a3a21433617a672d62a97ab3f64e3bafbc6e619af8a8959de00b3144ec42c8dff747e846affe3ce74eec4dfdf6cd3613c5c07459df51945598585cf76
DIST augustus-3.0.1.tar.gz 47539500 BLAKE2B 43e808959f176e4024866074c227814e2be75175cbbca60fbc430a7617941766b8a00ae6f56c08239c5ed8cd60d637109e963eba859c78d60f7b37d54079e7c4 SHA512 4929763a4436863525c4d3f93570090ce066ea2abfe56766d991b7ebc03b34fc53fc8c6dcbb7f5c96e2e10d233bb5966581d148db7d7ea2eac5c1435cc4327bd
-EBUILD augustus-3.0.1.ebuild 1180 BLAKE2B 54973e2ef040be4640c176e93d2e5ddf0adf1b5bc1c2f1115061f87985e269cbef6d18cd0690b31ab06516b876c64692e992e5d2073cb2f4fc3e2b1bce25a359 SHA512 a4d68737ad4e1afc1fb7f1e5128c84cb94fa485053f3ca72d3732eee699287de8df01bc9464604701d426916952f6932f5ac27807c10cab3070b2931d1dffc53
+EBUILD augustus-3.0.1.ebuild 1231 BLAKE2B e5ff737136dea2ea47d00031d599814de9c1d7dbb63eeef8867e39007691e726e8e8014ae4950268940a4a95b7adf52c2b1bcbce32e7d7996e4b0c13cb63ac48 SHA512 a86f47872d3c8d978416a877f98d6bd76ae226263b34018e615aeb5b8cbdf4e5d4425edfdeb3b979a8240752288b083db2ae506070ed03a3259242a9c0e97097
MISC metadata.xml 808 BLAKE2B f1092bef61291ecde82d897b232b8a80448aa6a69ff3f43b9e2346252075a81d1b14c3d1815640434dc0357f71a7f314a81ded5fbe33b00f7f2ffb3b7130af00 SHA512 e50e01c64d03e0df6004892b049d8e3c30069f53742ecde6cb46bc8d76cba53a1d45ce4982d48499ba45e7557075d9db62685b5de05240409c723ea9b6f2fdcd
diff --git a/games-strategy/augustus/augustus-3.0.1.ebuild b/games-strategy/augustus/augustus-3.0.1.ebuild
index 1adb27ab8703..e9e88193f601 100644
--- a/games-strategy/augustus/augustus-3.0.1.ebuild
+++ b/games-strategy/augustus/augustus-3.0.1.ebuild
@@ -26,6 +26,7 @@ RDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-3.0.1-desktop_rename.patch"
+ "${FILESDIR}/${PN}-3.0.1-musl-fix-execinfo.patch"
)
src_prepare() {
diff --git a/games-strategy/augustus/files/augustus-3.0.1-musl-fix-execinfo.patch b/games-strategy/augustus/files/augustus-3.0.1-musl-fix-execinfo.patch
new file mode 100644
index 000000000000..e79e87702429
--- /dev/null
+++ b/games-strategy/augustus/files/augustus-3.0.1-musl-fix-execinfo.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/backtrace.c b/src/core/backtrace.c
+index 374fcdd..daf5c71 100644
+--- a/src/core/backtrace.c
++++ b/src/core/backtrace.c
+@@ -2,7 +2,7 @@
+
+ #include "core/log.h"
+
+-#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__vita__) && !defined(__SWITCH__) && !defined(__ANDROID__) && !defined(__HAIKU__)
++#if defined(__GNUC__) && defined(__GLIBC__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__vita__) && !defined(__SWITCH__) && !defined(__ANDROID__) && !defined(__HAIKU__)
+
+ #include <execinfo.h>
+
diff --git a/games-strategy/julius/Manifest b/games-strategy/julius/Manifest
index 0e7c64942c8a..3c70c11b2ec9 100644
--- a/games-strategy/julius/Manifest
+++ b/games-strategy/julius/Manifest
@@ -1,5 +1,6 @@
AUX README.gentoo 424 BLAKE2B 22fd27d4a6cf675867d5d8e5dd0fdc5ff84f14a0dd37e2ad7454c6cfdf0445ff8dc0b3bd3f37cfd314b756ca27c8461b9ce1939d66f1724d6b06ddd2d0d274e2 SHA512 4c91297ed589bba1b9fc46e8705b927ab4010ebabd8d7ae4fc68afdb34b64e8ac1f64439fdc6214944eb8968c8f274c189da4869b9219279ddccfca267877cce
AUX julius-1.4.1-rename.patch 718 BLAKE2B 00a4cfb23cb4586a7a1a4069d1ba3db7edab0f6cfeaf3f5efc396a7c2be4e94923272a6d82585173f8d2569d84c97ca2046682e85d638d9c473b22577c693840 SHA512 0401429f24c5cb3285bef68b1fa2b489ec32d7fa13d20448e8f06231b23d137ed9edeb6fcc693cbcc6f891a38dcd3fb34c519fe9ff41b5f35c8b7dec52847c12
+AUX julius-1.6.0-musl-fix-execinfo.patch 496 BLAKE2B 3820c247e923a9866ed1d34b2228f47b2f3b5725197a94945addb63b16528a37c99972680a72f09f63e7cdad252d34e31a60cf1c46fdcdc1cb4d9ec2b58393a8 SHA512 229cfbd55c2d661cebb595d079c0b38ccd8bfe3e036ab3da7b5b0b44c7c71627dccd087a8105c094c2b8de4c19266b7099c8047a16b5ab428e0a69e37688d699
DIST julius-1.6.0.tar.gz 6884324 BLAKE2B 142f05b8f7165e59678fc56fcdf9e2c00aea880540e16fedc627ed40afb4ce96511d99f0cd99f99997d8d66f776e6d847cc66256fafde771345948ba097b940e SHA512 c21256b9f126011b0961411209d354e713e6de44a30c190a7de5e0a702636961ad0775beb171b17767ec70e334e6101f9c1ad26df6860b4f4d59d74510083905
-EBUILD julius-1.6.0.ebuild 1023 BLAKE2B 72fafc994153a70a13060e243f4f7b1149dced62a2be67033adcff43036e9712a3103d049e1de82e7aec41711457a5cb806c8cac19db61d76727542b9e2b6229 SHA512 2be5b0c2a0352a9c3f4f51e5c3b307f016e2b155c5d7934dd5b0b774b3133040e5b746798367553befeaeda22562f4108b81c52c6a56a17d706cda31396871fa
+EBUILD julius-1.6.0.ebuild 1074 BLAKE2B 325870cd039ac81603759ca2f56f565e07780ddaefe63524a44ebc6730e0953a301845be6b9afc27f75ba1c2ac19ce556ab3cb43a08a354fb1627df4d5f55298 SHA512 d12bad180d4bdf53523043a55208c26f4062acdbd92493c27ff61d39b0b8d612f147cc6626ffa31957f88a7481152d42a598792e4d85139a068a9c06a6ca86dc
MISC metadata.xml 985 BLAKE2B 30d3565fda85335eae3b0ab5f330198293aeb4678809d6383998ce2d5f6c71919f9601942ff758d75b73cd25913cb6d9180ecabdc78ddc9f4f6abd349cd181cf SHA512 1395de93fd76cb695e13e48b41175a7841a22d39344d08b1a8932b05613b12bccadbf27de7759c72b517b6321c48ca3bf870fc8d7c2fb33dbf2e6000e17012f5
diff --git a/games-strategy/julius/files/julius-1.6.0-musl-fix-execinfo.patch b/games-strategy/julius/files/julius-1.6.0-musl-fix-execinfo.patch
new file mode 100644
index 000000000000..08a136ef5cb4
--- /dev/null
+++ b/games-strategy/julius/files/julius-1.6.0-musl-fix-execinfo.patch
@@ -0,0 +1,14 @@
+# Fix building on musl
+#
+# Closes: https://bugs.gentoo.org/829246
+--- a/src/core/backtrace.c
++++ b/src/core/backtrace.c
+@@ -2,7 +2,7 @@
+
+ #include "core/log.h"
+
+-#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__vita__) && !defined(__SWITCH__) && !defined(__ANDROID__)
++#if defined(__GNUC__) && defined(__GLIBC__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__vita__) && !defined(__SWITCH__) && !defined(__ANDROID__)
+
+ #include <execinfo.h>
+
diff --git a/games-strategy/julius/julius-1.6.0.ebuild b/games-strategy/julius/julius-1.6.0.ebuild
index 5730e843db21..9852bbf898ab 100644
--- a/games-strategy/julius/julius-1.6.0.ebuild
+++ b/games-strategy/julius/julius-1.6.0.ebuild
@@ -24,6 +24,7 @@ RDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-1.4.1-rename.patch
+ "${FILESDIR}"/${PN}-1.6.0-musl-fix-execinfo.patch
)
src_install() {
diff --git a/games-util/Manifest.gz b/games-util/Manifest.gz
index a2f3d89dc372..cd66a63a324f 100644
--- a/games-util/Manifest.gz
+++ b/games-util/Manifest.gz
Binary files differ
diff --git a/games-util/gamemode/Manifest b/games-util/gamemode/Manifest
index 50f9701b7c8d..0873559efbcf 100644
--- a/games-util/gamemode/Manifest
+++ b/games-util/gamemode/Manifest
@@ -1,4 +1,5 @@
+AUX gamemode-1.6.1-signal_h-musl.patch 1401 BLAKE2B 5bb5ad906fdb2b08aff804986c97396f1886009ce6603ffc9fdeaac4c4470f0937cc4abda04e084ccdd1245e942d456c1efc98a7a8e7ab6914d2ef1ff9d97fe9 SHA512 0c0059c8e19b564e6228def6485522e66338e23ecd981644e72f92a5e5962d269235d92606ef13680820fce389552e6a23ba93fc9126c794d5da7fee0b670013
DIST gamemode-1.6.1.tar.xz 71224 BLAKE2B aafa3123a2c672197d28fafbc7331004b6e4c87808e831f5e0341fd9a690acda8305da114651391fe39e6702bac805cede9d696280d03d4cc3d03d6f4d782efd SHA512 99403a68675522d3b412424591ab7f0cef54968a699f8f68aa59a42a43df73db4bc8a84ee8f97b9f78f329ecd1ed2f3a50e3cb539458f23e7c5fbe28f7978e47
-EBUILD gamemode-1.6.1.ebuild 3968 BLAKE2B 33ec5cfbbecf4efd06696a6401fc87549cb9a12e796555647754148c50091a2beebebe70d257489f2991339a8da39799d628571668a2488fecae0f48f7399aaf SHA512 76b58596849cbafc891881c6d439b3e707db7e09baf76662dec59cda397666632f7621324d8e6d87638088a5d1412df2f654d6aeed35d8806a6a347df6f6701f
+EBUILD gamemode-1.6.1.ebuild 4027 BLAKE2B 9518f7a6b66a6f7f18cfb2a4e9795c148ee1c1da01c14210b2ad590b066bef1ce5c003f82b52d49035682de18022f1fcb9c0c0ef0f188c92bef4ab43e3841d25 SHA512 36e4e09521633239399131640e6f87e0f387073a36284ac79d6bb69ce578f132937c08cad7c48afa782c3b2427cfce539a37dac4fd7387e2876d18b77099d39b
EBUILD gamemode-9999.ebuild 3968 BLAKE2B 33ec5cfbbecf4efd06696a6401fc87549cb9a12e796555647754148c50091a2beebebe70d257489f2991339a8da39799d628571668a2488fecae0f48f7399aaf SHA512 76b58596849cbafc891881c6d439b3e707db7e09baf76662dec59cda397666632f7621324d8e6d87638088a5d1412df2f654d6aeed35d8806a6a347df6f6701f
MISC metadata.xml 561 BLAKE2B c4e2e040e853956f7c587f9933a6791d1742027d9291512c1073fb143b315056cd1c173c517213d62a2169149ae9079fed014c54d2bfff81d946f2c7987511c9 SHA512 a1020dc2ae103ef138f6de356fbc47772bf7ab256d4dfe3cad2880b49b7cffdb9894fc2d40f9996bb64a5c88b00779584b8e6976338f9c9f4d835ea15d0460f8
diff --git a/games-util/gamemode/files/gamemode-1.6.1-signal_h-musl.patch b/games-util/gamemode/files/gamemode-1.6.1-signal_h-musl.patch
new file mode 100644
index 000000000000..8689157969bc
--- /dev/null
+++ b/games-util/gamemode/files/gamemode-1.6.1-signal_h-musl.patch
@@ -0,0 +1,39 @@
+https://github.com/FeralInteractive/gamemode/pull/368
+
+From 4079d246805e9ce6c1f5ee49116013eb9f5225d7 Mon Sep 17 00:00:00 2001
+From: Alfred Persson Forsberg <cat@catcream.org>
+Date: Tue, 5 Jul 2022 17:18:19 +0000
+Subject: [PATCH] Fix build on musl libc
+
+This simple patch includes signal.h in daemon/gamemode-context.c to fix building gamemode on musl
+libc.
+
+This has been tested Gentoo musl and Alpine (also Gentoo glibc to
+ensure no multiple defined symbols/other errors for glibc).
+
+> ../daemon/gamemode-context.c: In function 'game_mode_context_auto_expire':
+> ../daemon/gamemode-context.c:421:29: error: implicit declaration of function 'kill' [-Werror=implicit-function-declaration]
+> 421 | if (kill(client->pid, 0) != 0) {
+> | ^~~~
+> ../daemon/gamemode-context.c:421:29: warning: nested extern declaration of 'kill' [-Wnested-externs]
+
+Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
+---
+ daemon/gamemode-context.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/daemon/gamemode-context.c b/daemon/gamemode-context.c
+index 3b5a61b..feba2b1 100644
+--- a/daemon/gamemode-context.c
++++ b/daemon/gamemode-context.c
+@@ -45,6 +45,7 @@ POSSIBILITY OF SUCH DAMAGE.
+ #include <assert.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <signal.h>
+ #include <stdatomic.h>
+ #include <stdlib.h>
+ #include <sys/time.h>
+--
+2.35.1
+
diff --git a/games-util/gamemode/gamemode-1.6.1.ebuild b/games-util/gamemode/gamemode-1.6.1.ebuild
index 1c2a2df1c374..1db1b4752c61 100644
--- a/games-util/gamemode/gamemode-1.6.1.ebuild
+++ b/games-util/gamemode/gamemode-1.6.1.ebuild
@@ -42,6 +42,8 @@ DOCS=(
example/gamemode.ini
)
+PATCHES=( "${FILESDIR}/${PN}-1.6.1-signal_h-musl.patch" )
+
pkg_pretend() {
elog
elog "GameMode needs a kernel capable of SCHED_ISO to use its soft realtime"
diff --git a/mate-extra/Manifest.gz b/mate-extra/Manifest.gz
index 65096e295663..e7c52b1640df 100644
--- a/mate-extra/Manifest.gz
+++ b/mate-extra/Manifest.gz
Binary files differ
diff --git a/mate-extra/mate-power-manager/Manifest b/mate-extra/mate-power-manager/Manifest
index 7cc95a7203e5..e45625e07512 100644
--- a/mate-extra/mate-power-manager/Manifest
+++ b/mate-extra/mate-power-manager/Manifest
@@ -1,4 +1,6 @@
AUX mate-power-manager-1.24.1-libsecret.patch 10306 BLAKE2B cf9789f62117c3aded2ce2d73027393bb5c19364f847fbbddeaa7b3b9be1bccdff3b2b1de28198965d65d4f906994c7f91bbb45448cedad0515a8a35aef12e22 SHA512 8646269729d01287cdf213a2a20a262fb658ba95fac47b521dd727ac8a4c3b81776cd24f6d9a3afc9311a4ebf2fe5cacece1db9487ba74f6cb04f008fdbf6238
+AUX mate-power-manager-1.24.3-removing-backtrace.patch 2026 BLAKE2B 55db952ea8c1328516cd98dbecae2702f939708a1f430beefcd2f4339e227d964dc3c272f6800a0652274213aec650665975212e6c182a9c3391a821a5817fe4 SHA512 fd5c9590ceead43653760324aa4a28fbafb82af7287b1b1eb0e4afe1b9cd6ba010162c98081a5df6a7ee18666ea7edb1e5aa148f047f1c5b4b0e329743d9fbfd
+AUX mate-power-manager-1.24.3-removing-execinfo.patch 774 BLAKE2B ef9035810f8121c00b0ced49ff993930b21c46e4fb2fc1f45d98799c624d5b15bf5d00b5fd5b2d40a89d61252022d67f3bbaac37ccdb464428bda48e4872e59d SHA512 e71688c75fa322cf208b8fc583e587b33a000314fe48fb76c3de98d6bb157adeb6d2280a70284d9c0912a3aea69468ead0dc49c9ecd495b20c3b178b4a425c51
DIST mate-power-manager-1.24.3.tar.xz 6199712 BLAKE2B 21eb92d6b0bc8f97c3f13847e877d6df7d8782ca90cae20e414d38c18ec9345b4b6a65cc72ed23010aec65d764381e66ac01a77a60b698c43764f2c3eb6c5229 SHA512 6aad5c5346e563ce0fbc4e72bccce49323843e3b12738b9e45040dd804f962344a1dbc8f26d518b28fc35ca9ec87a2068f81731eb0c094be114378f2f93a2a8c
-EBUILD mate-power-manager-1.24.3.ebuild 1636 BLAKE2B 0c82419c4f7fb5b8ca1cd68f72c4565178b7409e3c617f334361c974fce5269d8097a6433a5648e0eb4b340864e48ea26a22d2a36b7d599af8edf57d64f8110e SHA512 45e15c88a7074aac52effc872b938496cf8ad08a6ba41c911e1f6654cbc96a2101a2b7993cad1ceda19da1f5cb52c980ee50a7e4f32ca53f3a9b07cf1a838e19
+EBUILD mate-power-manager-1.24.3.ebuild 1742 BLAKE2B d105cb11e2bd6843eb3360fbfa7a90ad344965c11a5a1983864656722e2e449eef0e06471a448df459f986a2f63227e7210309ff4bbe63e5c820ab58611bb9d3 SHA512 6588d17ac5f4cac76b332421475359e89d1905be8d3af4444d9cf582904353c50551ffdb7c1a3f6572eed65e559c5a5afde8308c5a70c01b40937e145096c0be
MISC metadata.xml 522 BLAKE2B 2a85d9773f593cd52b0340d7b702a93e69b01f08c972940f6df7c208aea599c550da200316d3369f0961a27435b86c0ff2fc5822df026c7a1110e0fd9d6fe5fd SHA512 e6b3132766dec16a44d0ef79477eb39865242fe68580d6bf4a1700329f4a623181656c06669adca1a16a1d143b23b8799368eda667d7cd928ea58554fb364b9d
diff --git a/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-backtrace.patch b/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-backtrace.patch
new file mode 100644
index 000000000000..62157058ba6f
--- /dev/null
+++ b/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-backtrace.patch
@@ -0,0 +1,89 @@
+# Instead of deleting the code blocks, just putting them inside a ifndef
+# condition is safer
+--- a/applets/brightness/egg-debug.c
++++ b/applets/brightness/egg-debug.c
+@@ -74,6 +74,7 @@ pk_set_console_mode (guint console_code)
+ printf ("%s", command);
+ }
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /**
+ * egg_debug_backtrace:
+ **/
+@@ -98,6 +99,7 @@ egg_debug_backtrace (void)
+ free (symbols);
+ }
+ }
++#endif
+
+ /**
+ * pk_log_line:
+@@ -229,8 +231,10 @@ egg_error_real (const gchar *func, const gchar *file, const int line, const gcha
+ pk_print_line (func, file, line, buffer, CONSOLE_RED);
+ g_free(buffer);
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /* we want to fix this! */
+ egg_debug_backtrace ();
++#endif
+
+ exit (1);
+ }
+--- a/applets/inhibit/egg-debug.c
++++ b/applets/inhibit/egg-debug.c
+@@ -74,6 +74,7 @@ pk_set_console_mode (guint console_code)
+ printf ("%s", command);
+ }
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /**
+ * egg_debug_backtrace:
+ **/
+@@ -98,6 +99,7 @@ egg_debug_backtrace (void)
+ free (symbols);
+ }
+ }
++#endif
+
+ /**
+ * pk_log_line:
+@@ -229,8 +231,10 @@ egg_error_real (const gchar *func, const gchar *file, const int line, const gcha
+ pk_print_line (func, file, line, buffer, CONSOLE_RED);
+ g_free(buffer);
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /* we want to fix this! */
+ egg_debug_backtrace ();
++#endif
+
+ exit (1);
+ }
+--- a/src/egg-debug.c
++++ b/src/egg-debug.c
+@@ -74,6 +74,7 @@ pk_set_console_mode (guint console_code)
+ printf ("%s", command);
+ }
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /**
+ * egg_debug_backtrace:
+ **/
+@@ -98,6 +99,7 @@ egg_debug_backtrace (void)
+ free (symbols);
+ }
+ }
++#endif
+
+ /**
+ * pk_log_line:
+@@ -229,8 +231,10 @@ egg_error_real (const gchar *func, const gchar *file, const int line, const gcha
+ pk_print_line (func, file, line, buffer, CONSOLE_RED);
+ g_free(buffer);
+
++#if (defined(__UCLIBC__) || defined(__GLIBC__))
+ /* we want to fix this! */
+ egg_debug_backtrace ();
++#endif
+
+ exit (1);
+ }
diff --git a/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-execinfo.patch b/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-execinfo.patch
new file mode 100644
index 000000000000..9a0febfad6c1
--- /dev/null
+++ b/mate-extra/mate-power-manager/files/mate-power-manager-1.24.3-removing-execinfo.patch
@@ -0,0 +1,38 @@
+# Musl doesn't supply execinfo.h as a result build fails.
+# Closes: https://bugs.gentoo.org/762484
+--- a/applets/brightness/egg-debug.c
++++ b/applets/brightness/egg-debug.c
+@@ -39,7 +39,9 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <time.h>
++#if (defined(__GLIBC__))
+ #include <execinfo.h>
++#endif
+
+ #include "egg-debug.h"
+
+--- a/applets/inhibit/egg-debug.c
++++ b/applets/inhibit/egg-debug.c
+@@ -39,7 +39,9 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <time.h>
++#if (defined(__GLIBC__))
+ #include <execinfo.h>
++#endif
+
+ #include "egg-debug.h"
+
+--- a/src/egg-debug.c
++++ b/src/egg-debug.c
+@@ -39,7 +39,9 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <time.h>
++#if (defined(__GLIBC__))
+ #include <execinfo.h>
++#endif
+
+ #include "egg-debug.h"
+
diff --git a/mate-extra/mate-power-manager/mate-power-manager-1.24.3.ebuild b/mate-extra/mate-power-manager/mate-power-manager-1.24.3.ebuild
index c4ac7770bc43..72093adfd245 100644
--- a/mate-extra/mate-power-manager/mate-power-manager-1.24.3.ebuild
+++ b/mate-extra/mate-power-manager/mate-power-manager-1.24.3.ebuild
@@ -58,7 +58,11 @@ DEPEND="${COMMON_DEPEND}
x11-base/xorg-proto
"
-PATCHES=( "${FILESDIR}/${PN}-1.24.1-libsecret.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.24.1-libsecret.patch"
+ "${FILESDIR}/${PN}-1.24.3-removing-execinfo.patch"
+ "${FILESDIR}/${PN}-1.24.3-removing-backtrace.patch"
+)
src_configure() {
mate_src_configure \
diff --git a/mate-extra/mate-sensors-applet/Manifest b/mate-extra/mate-sensors-applet/Manifest
index f2e0bace9248..20b02f31eedf 100644
--- a/mate-extra/mate-sensors-applet/Manifest
+++ b/mate-extra/mate-sensors-applet/Manifest
@@ -1,3 +1,4 @@
+AUX mate-sensors-applet-1.24.1-dont-check-for-headers.patch 570 BLAKE2B c18fad14150782d0266d7f0bffa1c2794bc7186ed5047ac013c29d0cbaa9460f852c51a69e450a19e9239321ffb3da19b79d9b66df707ea828a9efad684a5098 SHA512 c81dda1f71047c8801f1166510eae0ff0bee1e8210df9e8458f13bf3e32317c90c570ac7be982a42cfe2360cd031cb2d8f990ec09057b8032647b8c5a88e8def
DIST mate-sensors-applet-1.24.1.tar.xz 578964 BLAKE2B e9a7eacb032738014c3e91595ae1f2673973b20c09fd02bd186aa5468773a1322022fbb245b9ec6e9c987405014b91e0f7c12e072f9c3ba6cd9df32c1ee99703 SHA512 3bf21d501e067a2ce002c5149f42161cc6917609ceb2396b705e905987cb4d989725ca825c6de7bbe4e950f7a01e755c2cd5b45532d6f65aef690f394741489a
-EBUILD mate-sensors-applet-1.24.1.ebuild 1307 BLAKE2B d706d9bd740131088e91f73201f57f560975872544a000f4a2ee66a2ce0f1e2f6fb08479497b72663fa8a8de3802335a8a4414e13a9af4238dbcf23172ee25f4 SHA512 8a9a5d20dfb7b0fbf1be42467786ef3c40f6651a7cdaffd8b5e1469268e9b485004f097a26c6d7caf9fbf58221b2a92779b836f00f5df8a484b667590a4521c8
+EBUILD mate-sensors-applet-1.24.1.ebuild 1377 BLAKE2B a6705c47d05e1cbb86a41cb3328e7b3374a8691890d91cabaa66d8518fcd3d2b9dbe3235505f4dc1d7b0dc19544c158c8e18341bf855ff5efdf9b242757cd984 SHA512 7b92239eb31d4dabd18ad1dc63fe48b169d2a7499cd94fcd111072e5e0878c707c990fee31b207b3c657aed9b43b96fb61b5f33d4b1a35c27945e6cc7e09b3a0
MISC metadata.xml 349 BLAKE2B 4576e875f56359cf193615e38e75b15a2f91e3727c1fae0c8c939a56c0ca93cbdba7ac7dbf4dbc8268901c8c62f3d0206a609d7bdbecfd6397f6032fa23f871f SHA512 22b33a8b3faf88d642cd3eebc15421c7b62511da5fdc1171aecc72074400c325ef3d91c2a4d380126c9d71edfc3c68cc48df9f8dae338f97c33389b3069d69c0
diff --git a/mate-extra/mate-sensors-applet/files/mate-sensors-applet-1.24.1-dont-check-for-headers.patch b/mate-extra/mate-sensors-applet/files/mate-sensors-applet-1.24.1-dont-check-for-headers.patch
new file mode 100644
index 000000000000..98aba2e903d5
--- /dev/null
+++ b/mate-extra/mate-sensors-applet/files/mate-sensors-applet-1.24.1-dont-check-for-headers.patch
@@ -0,0 +1,20 @@
+# Removing unnecessary HAVE_STDIO_H and HAVE_LOCALE_H config checks. The
+# HAVE_LOCALE_H also makes fails to build on musl system.
+# Upstream issue: https://github.com/mate-desktop/mate-sensors-applet/issues/123
+# Closes: https://bugs.gentoo.org/777375
+--- a/plugins/i2c-proc/i2c-proc-plugin.c
++++ b/plugins/i2c-proc/i2c-proc-plugin.c
+@@ -20,13 +20,8 @@
+ #include <config.h>
+ #endif /* HAVE_CONFIG_H */
+
+-#ifdef HAVE_STDIO_H
+ #include <stdio.h>
+-#endif /* HAVE_STDIO_H */
+-
+-#ifdef HAVE_LOCALE_H
+ #include <locale.h>
+-#endif
+
+ #include <glib.h>
+ #include <glib/gi18n.h>
diff --git a/mate-extra/mate-sensors-applet/mate-sensors-applet-1.24.1.ebuild b/mate-extra/mate-sensors-applet/mate-sensors-applet-1.24.1.ebuild
index c6264e8b1b34..f6fce26db5c2 100644
--- a/mate-extra/mate-sensors-applet/mate-sensors-applet-1.24.1.ebuild
+++ b/mate-extra/mate-sensors-applet/mate-sensors-applet-1.24.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -43,6 +43,10 @@ DEPEND="${COMMON_DEPEND}
PDEPEND="hddtemp? ( dbus? ( sys-fs/udisks:2 ) )"
+PATCHES=(
+ "${FILESDIR}/${PN}-1.24.1-dont-check-for-headers.patch"
+)
+
src_configure() {
local udisks
diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz
index 9340745f9607..a06509c53288 100644
--- a/media-gfx/Manifest.gz
+++ b/media-gfx/Manifest.gz
Binary files differ
diff --git a/media-gfx/gscan2pdf/Manifest b/media-gfx/gscan2pdf/Manifest
index 0b35c188a809..00355a60a740 100644
--- a/media-gfx/gscan2pdf/Manifest
+++ b/media-gfx/gscan2pdf/Manifest
@@ -1,5 +1,5 @@
-DIST gscan2pdf-2.12.4.tar.xz 503792 BLAKE2B e5b54158b5b47bd2f255c3529e132695c1735e9da92d6a426f7f5b9a9e880bd2d1a0655faf065385224892abe992156c667e50aea1f1091ac6d872b8c163c92f SHA512 f904e2fe3ec0ed829eb9166a42c7c10b56e99e1a7558c7d0014efc530d5f4d3873e9097f28372412073cbb6040bd00570f1acbb6582f5ea87485f0a0ace6f486
DIST gscan2pdf-2.12.5.tar.xz 502636 BLAKE2B 5fb92a4e5dfdbd985119058ed86ca015a58e97fd73edae4d46279e482351f9b5514045a60bb67ca2bfb58fa1e4315bc03ca67a2f2e3ed0cd2c941d8ae755fdfa SHA512 eeeec0940ef4a40b8cb7e961758e9688c94d980842ab36c4e52384099d1e28773f2967a75eb7c024ab713b880c2538d8395021bfabd68cffa7b334fdd35d773b
-EBUILD gscan2pdf-2.12.4.ebuild 2995 BLAKE2B 96336de1a27929613f0734fd8013031cd8f6fd239f8c344d6f35fbc5385b1d280266d587e45714d4a5c740e2dc03df7ac28b07593f5b376729c041d4591cac92 SHA512 d5e143d4f92ff01ff47d8d8a7cb4d0147e11ec3dfaf3eb323638670faf5f105b5af222b312bf39f2984be36b51c4dbf809ad498c311ba2a0a1baa54f543cce3b
+DIST gscan2pdf-2.12.8.tar.xz 503940 BLAKE2B 16433addec7306cab60a258b58b0239fb0eeea5b0a98ea24fda0de65d9f1901feca9093ab7a6f7fedfb6740abf4e59a16cdeac2d3d7de5141320c55855be7c79 SHA512 18d4bd12580d20b29e0086d1df541a2c044f03b98d8e7c8a91b87540622160aa5a9c2d13a888d5f557d1d975b5dc7a6ae8fd0f2c9be254e60d8a979c979e6040
EBUILD gscan2pdf-2.12.5.ebuild 2995 BLAKE2B 96336de1a27929613f0734fd8013031cd8f6fd239f8c344d6f35fbc5385b1d280266d587e45714d4a5c740e2dc03df7ac28b07593f5b376729c041d4591cac92 SHA512 d5e143d4f92ff01ff47d8d8a7cb4d0147e11ec3dfaf3eb323638670faf5f105b5af222b312bf39f2984be36b51c4dbf809ad498c311ba2a0a1baa54f543cce3b
+EBUILD gscan2pdf-2.12.8.ebuild 2997 BLAKE2B b69ceb30a6166a99ec66ac63c43986a0679328a01dc73a8efa9fb1f23d2038804dc59458ab19d54043758d87b14d4c6a7089e92530f62269e4bbd2cf070dea43 SHA512 45d2bc4d693103365a4a59b451c9948cda59c2b77f45ce44d9d670f344e7587c370abe2224994e6b2d3804f04d6b8a5e8a405586ccff408014a3eb45378c30c7
MISC metadata.xml 470 BLAKE2B d9a9ad2f443b0bca02e6b8e91c96f22430543ee82fe8a1174739d4ad59225f73b975d31316fecd4dde6f26002ef6ba9fd39bf5d4adfd2bc82540d14e90d623a6 SHA512 ecd2fe9215c3a65760b8c101989772a73a7e9975dc38a1b11b0334cf6e1d001ccebfca1bc6d7631eb3b3e3e03d1736205563b0c836a2aea026fdfe552d72cbe0
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.12.4.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.12.8.ebuild
index a9f6ec537bcc..6915a1cf48b4 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.12.4.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.12.8.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest
index 2e572bf534cb..9b9d0ff8a865 100644
--- a/media-gfx/hydrus/Manifest
+++ b/media-gfx/hydrus/Manifest
@@ -1,13 +1,13 @@
AUX hydrus-client 98 BLAKE2B c08af22c2ee9ea3d5c95ed3196ceb9b74b9c886bfa9b91141584f7ea884830fbdd300c948af199ac82a016e1a9dd7314e9c7fdfa8f47f07a9336eff9e2bd2ce1 SHA512 453ac6f9685325b6510c7f833b658491f01e92be213ae26da0d86490033951d3a825f9b15fd33d8a0727992cd83bf7ed491b88f0808674d6fdc23af90c7911a5
AUX hydrus-server 62 BLAKE2B dac100012fb03c2a14438b67a1c68daa1673eb23dfe7725a941325eb67149064c1276f462732e62db294acce75d111f948599698615e9fa15be43fe74ce444cd SHA512 5b7f9ca4b364ff529e5f4feb6fb11c91aff9cf1ad3ae6c12ff301915fa1d7b9920d51028b820000635d071a049a4e98a0e4e815ffa6ca31d2e67bec5a78afdea
AUX userpath-in-local-share.patch 443 BLAKE2B 2562bdb6207a35a872a7c1b22ee378504ec4f53ee7b64bdce31649d62780cae00b42be7297aa82e069a9df5e01f76c508d97c47a25a9dffec8cbf8829e7ff674 SHA512 f96cf0040a663c534bd539e40413c95928ea45238f765f741db3c251b7c141fe99989b092d4033695a99e7267fec7fac74641fdc4a0887e74d23d3695f8ce467
-DIST hydrus-481.tar.gz 40174593 BLAKE2B 8a5745803e0e461af550d2fa5bc430acc18e9d54bc2534d9b47ad237b41110cc4b2960dc06176c52b462f91a156d8e8bf2fe8dd15b62d58bb1ea4c0f02587ac7 SHA512 e96fae770003fe6128043a0ddff3c0c7fd5eae457970de3af6d3c4f4da207502cfd78cc6ea96c3284543ba509625376e19ca386db3933c07c2346321f81bfe10
DIST hydrus-482.tar.gz 40181613 BLAKE2B bdb98ae88efb9e83bda28d01dcdb624ce884682893e84087bfc99420e82ff12c1543f89a5015ac997596188a3b32fec9e5776f1c89fe1864f55d73ae52ca19d7 SHA512 c99a0ea60c0b3a565b57b4f4201eb6ff732ea2fb9f419d8b9e8170476bb230bdf0e474e5f82f909b4aca0a442fe89e47d4d0f58b0e722b3f309940d98664ac51
DIST hydrus-484.tar.gz 40079506 BLAKE2B 7d3c817511f20476647058bc83ba297f7e597f1fc24cb6c6dc46bb4e1821a0073e4d39fd95a130a89270e77d4b1b749e4a2845ab3c8b471f6cc8b5bba8c65480 SHA512 7eb42fbd15b6140258dd8931d0ff07464fd5ac1d0c8323a84bc89f6f820756cce2a2a3d5e6cd8f536f00f2b6f6d1ea36ab7ce8e4ea08272d30122b46ede69124
DIST hydrus-488.tar.gz 40428970 BLAKE2B 7a6252276cf60ab4969591d6cf44bf13eec167b432ed0cd5c0ced96f32363640aa246db1256e20e452fe1a6521011c2d46100c3148c0d3241cb810fcde47ad1b SHA512 cbb6a2d1794c5de4c5495a61f115722b1bbad79f3458315586c383eaff79a1f0c144c4498a7c8f651b8ce5592c22ffcc61496a3637471d9ffdeffaef500cd998
-EBUILD hydrus-481.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd
+DIST hydrus-490.tar.gz 40610222 BLAKE2B 7a6b8fbab2ae64baeeaaa7f0a89a69f5e54719d42b473e7bccd2e549f5d6bc7005831803bd6966af04f4a69d48cf0139a63a2ec17cf34c1190bfb47e422bc821 SHA512 619349d383114774303b6ca5a9239d9d7adfd43db2fde22c17322c630c27b747953932f3d9622b64727714afcb3c70c2b3b065afb75f83dc95ec84eb0c0976ba
EBUILD hydrus-482.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd
EBUILD hydrus-484.ebuild 4464 BLAKE2B 84c6dcc21a234316e5a01cb10a91be4fed4dc59f6f43d98b5cd62eb792dd4838bba31ce7e01e0b94f411c2e66a082ef5aa1f04aa9777c20c45e9226a63a074e5 SHA512 ef48ab5030804ba6d11040897eb28a6b37dfcd7abb3164185836e08ab38b425743d274ac1ebe5031fa00567c5bdbc58143785a48ca4ba6b0092cf5524fe59237
EBUILD hydrus-488.ebuild 4464 BLAKE2B 84c6dcc21a234316e5a01cb10a91be4fed4dc59f6f43d98b5cd62eb792dd4838bba31ce7e01e0b94f411c2e66a082ef5aa1f04aa9777c20c45e9226a63a074e5 SHA512 ef48ab5030804ba6d11040897eb28a6b37dfcd7abb3164185836e08ab38b425743d274ac1ebe5031fa00567c5bdbc58143785a48ca4ba6b0092cf5524fe59237
+EBUILD hydrus-490.ebuild 4464 BLAKE2B 84c6dcc21a234316e5a01cb10a91be4fed4dc59f6f43d98b5cd62eb792dd4838bba31ce7e01e0b94f411c2e66a082ef5aa1f04aa9777c20c45e9226a63a074e5 SHA512 ef48ab5030804ba6d11040897eb28a6b37dfcd7abb3164185836e08ab38b425743d274ac1ebe5031fa00567c5bdbc58143785a48ca4ba6b0092cf5524fe59237
EBUILD hydrus-9999.ebuild 4464 BLAKE2B 84c6dcc21a234316e5a01cb10a91be4fed4dc59f6f43d98b5cd62eb792dd4838bba31ce7e01e0b94f411c2e66a082ef5aa1f04aa9777c20c45e9226a63a074e5 SHA512 ef48ab5030804ba6d11040897eb28a6b37dfcd7abb3164185836e08ab38b425743d274ac1ebe5031fa00567c5bdbc58143785a48ca4ba6b0092cf5524fe59237
MISC metadata.xml 751 BLAKE2B 05dfcd30440ca7bc1375206469123c5bb93ff7fbb7612191faabee7abe87334bfb4f25db3291cd3a989264516c315eeb489eaac2c83c95b2436446966ba27880 SHA512 f2e7c839e4567355bb6ff1cdbf1355ab7a2fbf166a3f87ac7a8af92fc80efa7833010376317a38e2594a203be66bfcb3e0df9dc7346ac3d37d8466bb0368b50e
diff --git a/media-gfx/hydrus/hydrus-481.ebuild b/media-gfx/hydrus/hydrus-490.ebuild
index eeb2fa504f8a..86568b05547c 100644
--- a/media-gfx/hydrus/hydrus-481.ebuild
+++ b/media-gfx/hydrus/hydrus-490.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="sqlite"
DOCS_BUILDER=mkdocs
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index d0bad4797f40..9dcde87271c5 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest
index d7833f5699a8..c71e6d6c736c 100644
--- a/media-libs/netpbm/Manifest
+++ b/media-libs/netpbm/Manifest
@@ -7,7 +7,9 @@ AUX netpbm-10.86.24-fix-test-ppc64.patch 634 BLAKE2B 41f42436d5f77a37a1e8cb9200c
DIST netpbm-10.86.24.tar.xz 3698448 BLAKE2B 189fbaeb91db15e317c62758c64d1165d3cb32fa0221b2dcdefb0425577d4af9a13e66c35774149a44727c99fc18263123fd3c2b71f6409344bcf458341a4470 SHA512 50ad5a726c4219e1d87c7a46868b8f7bdb2d676903f049816b58e00addb416e4684a6c669188beebc5cc3c3961d2b0e35cd663215196d9925e3a23a989e14be3
DIST netpbm-10.86.27.tar.xz 3699900 BLAKE2B cf1e2742b343100081d53cdccfca5d41ce46ad57adb72c10c2e8ea94547e8d097e657c50554dae79b47c5c2e8d8146d15ef372b9e031152411b3379a0998a8d8 SHA512 b809b05647b4f4509db04a937a5c0b03301ccf93a56d773d6ddfe11a1cdc254befeb311e20306e5329db75fce9697b823c351a32ba0a771f4545793a55cb646c
DIST netpbm-10.86.30.tar.xz 3692036 BLAKE2B 2529adfe7f93cf2400547c107cf04b03478aef95bce6573195a6a9e20767b04371bcff13744aa547885ffa3137d948076de01ad0a979f4464c13e3fdeeb37bf7 SHA512 7643b279c59717b30130e7178be82638085d2ae28c0cea8c7595f5ff3a1cd3c5dd0201a051bed8997f8a8354b5eeb08949d4e8587d3e807df7859a4cb1a44534
+DIST netpbm-10.86.33.tar.xz 3696704 BLAKE2B 57657d69e235ee9babefce6e44e7ac35ac9b67c38797cee140488afe268687e4030158280c1064f8111891b9114106420314cdbce1b8be8d7dd45204a07aa5b0 SHA512 b0a555276e26d171705e93bdc26d33869fa611e01728d935edd0a7b96815db4f9ff264d7d6cecccc751b0bbfd639b14316f1ab576b1182b755e0f1832d8f43ca
EBUILD netpbm-10.86.24-r1.ebuild 5853 BLAKE2B 8ab739e81bee65f04f0f3468468c8193136781326bfff3efaadcb335d529fef3761d61e43ac8e7815700080568e097e0f61529d80363f2c404d77d6bd31c0920 SHA512 365e21e054dac809d2590d60700d8425e611fcaae2e73d07b084a7254b2f05911514fbbbbaadeb0ee05ac7a3fc2e7a7f2b845b62fb1fd569b0d7b435e4ba34ea
EBUILD netpbm-10.86.27.ebuild 5980 BLAKE2B 4d7ce3a06f36b2b2f9ae01609c9cb260047911f59eb0ddcdb01696c9f5d689850df3206472724c916001e5b26e50666d336e417a52be069c852c4781e98b4e87 SHA512 1638dd2207a544f7ccc1ad54473f0ca19ca057a1f88f14183c875fd52414e16244f49d7ecd4d8a89f4e88c0148576992181ae4a9ee7c4b36b56538f1de4798c8
EBUILD netpbm-10.86.30.ebuild 6026 BLAKE2B 7233840edd237c92f5466d6c8f2b23e03f171cf922a64d944e434ed165327da0c0bc4b2263ffcc32541212ef0260275ef755a8ada8d2d5b4695e5f243880e982 SHA512 821581a46527b938fcc59a45c534baed81ad0ad673980ea7cce5ee2e79ae760621f17e398271763da8ca0c1fefc0f71df8805cd5d2ce258e9f7ab808725bb85d
+EBUILD netpbm-10.86.33.ebuild 6056 BLAKE2B d9f4109dd96128f1de18010ebb080e5dca5e3a85066b94d5af645ce2ccd7b81dc9133d7d5498ecaba84c08025ce9f5110473feff8747daf681aa82097a040e05 SHA512 9a286556e902e75dd88534f6c4740fc6807cc36b8307172daa501bd088701cd06b977a4a85f0bfa7d17e067e4c29e3a0dc71252041edc4100aefa52bdcd55596
MISC metadata.xml 578 BLAKE2B 44f5899feee3b35c43e1b21f631fc53acc615003a5ed21c3461b5946882f1b67b9de9ac0b3d5d24f9faf291bbc9d3410841ccbba15f4981fb5ec050195bf93d7 SHA512 a9ef7432d1404a5dfc2458761867fbdcb9be368f20ea3290bb0a2aac10a82c968d3d97c4dbbf65f4840f0a60e9266d63c577e33c27d3b8b45b70349cb211478d
diff --git a/media-libs/netpbm/netpbm-10.86.33.ebuild b/media-libs/netpbm/netpbm-10.86.33.ebuild
new file mode 100644
index 000000000000..6bcdb4345f40
--- /dev/null
+++ b/media-libs/netpbm/netpbm-10.86.33.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
+HOMEPAGE="http://netpbm.sourceforge.net/"
+SRC_URI="https://github.com/ceamac/netpbm-make-dist/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml"
+
+BDEPEND="
+ app-arch/xz-utils
+ sys-devel/flex
+ virtual/pkgconfig
+"
+# app-text/ghostscript-gpl is really needed for postscript
+# some utilities execute /usr/bin/gs
+RDEPEND="jbig? ( media-libs/jbigkit:= )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs?] )
+ png? (
+ >=media-libs/libpng-1.4:0=
+ sys-libs/zlib
+ )
+ postscript? (
+ app-text/ghostscript-gpl
+ sys-libs/zlib
+ )
+ rle? ( media-libs/urt:= )
+ svga? ( media-libs/svgalib )
+ tiff? ( >=media-libs/tiff-3.5.5:0 )
+ xml? ( dev-libs/libxml2 )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/netpbm-10.86.21-build.patch
+ "${FILESDIR}"/netpbm-10.86.21-test.patch #450530
+ "${FILESDIR}"/netpbm-10.86.21-misc-deps.patch
+ "${FILESDIR}"/netpbm-10.86.22-fix-ps-test.patch #670362
+)
+
+netpbm_libtype() {
+ case ${CHOST} in
+ *-darwin*) echo dylib;;
+ *) echo unixshared;;
+ esac
+}
+
+netpbm_libsuffix() {
+ local suffix=$(get_libname)
+ echo ${suffix//\.}
+}
+
+netpbm_ldshlib() {
+ case ${CHOST} in
+ *-darwin*) echo '$(LDFLAGS) -dynamiclib -install_name $(SONAME)';;
+ *) echo '$(LDFLAGS) -shared -Wl,-soname,$(SONAME)';;
+ esac
+}
+netpbm_config() {
+ if use ${1} ; then
+ [[ ${2} != "!" ]] && echo -l${2:-$1}
+ else
+ echo NONE
+ fi
+}
+
+# for bug #828127
+netpbm_cflags_for_build() {
+ if is-flagq -fPIC; then
+ echo -fPIC
+ fi
+}
+
+src_prepare() {
+ default
+
+ # make sure we use system libs
+ sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die
+ rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die
+
+ # take care of the importinc stuff ourselves by only doing it once
+ # at the top level and having all subdirs use that one set #149843
+ sed -i \
+ -e '/^importinc:/s|^|importinc:\nmanual_|' \
+ -e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\
+ common.mk || die
+ sed -i \
+ -e '/%.c/s: importinc$::' \
+ common.mk lib/Makefile lib/util/Makefile || die
+ sed -i \
+ -e 's:pkg-config:$(PKG_CONFIG):' \
+ GNUmakefile converter/other/Makefile other/pamx/Makefile || die
+
+ # The postscript knob is currently bound up with a fork test.
+ if ! use postscript ; then
+ sed -i \
+ -e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \
+ converter/other/Makefile generator/Makefile || die
+ sed -i -r \
+ -e 's:(pbmtextps|pnmtops|pstopnm).*::' \
+ test/all-in-place.{ok,test} || die
+ sed -i -e 's:lps-roundtrip.*::' test/Test-Order || die
+ sed -i -e '/^$/d' test/all-in-place.ok || die
+ sed -i '2iexit 80' test/ps-{alt-,flate-,}roundtrip.test || die
+ fi
+
+ # the new postscript test needs +x
+ chmod +x test/lps-roundtrip.test
+
+ # Do not test png if not built
+ if ! use png ; then
+ sed -i -r \
+ -e 's:(pamtopng|pngtopam|pnmtopng).*::' \
+ test/all-in-place.{ok,test} || die
+ sed -i -e '/^$/d' test/all-in-place.ok || die
+
+ sed -i -r \
+ -e 's:(pamrgbatopng|pngtopnm).*::' \
+ test/legacy-names.{ok,test} || die
+ sed -i -e '/^$/d' test/legacy-names.ok || die
+ sed -i -e 's:png-roundtrip.*::' test/Test-Order || die
+ fi
+
+ # this test requires LC_ALL=en_US.iso88591, not available on musl
+ if use elibc_musl; then
+ sed -i -e 's:pbmtext-iso88591.*::' test/Test-Order || die
+ fi
+}
+
+src_configure() {
+ # cannot chain the die with the heredoc
+ # repoman tries to parse the heredoc and fails
+ cat config.mk.in - >> config.mk <<-EOF
+ # Misc crap
+ BUILD_FIASCO = N
+ SYMLINK = ln -sf
+
+ # These vars let src_test work by default
+ PKGDIR_DEFAULT = ${T}/netpbm
+ RESULTDIR_DEFAULT = ${T}/netpbm-test
+
+ # Toolchain options
+ CC = $(tc-getCC) -Wall
+ LD = \$(CC)
+ CC_FOR_BUILD = $(tc-getBUILD_CC)
+ LD_FOR_BUILD = \$(CC_FOR_BUILD)
+ AR = $(tc-getAR)
+ RANLIB = $(tc-getRANLIB)
+ PKG_CONFIG = $(tc-getPKG_CONFIG)
+
+ STRIPFLAG =
+ CFLAGS_SHLIB = -fPIC
+ CFLAGS_FOR_BUILD += $(netpbm_cflags_for_build)
+
+ LDRELOC = \$(LD) -r
+ LDSHLIB = $(netpbm_ldshlib)
+ LINKER_CAN_DO_EXPLICIT_LIBRARY = N # we can, but dont want to
+ LINKERISCOMPILER = Y
+ NETPBMLIBSUFFIX = $(netpbm_libsuffix)
+ NETPBMLIBTYPE = $(netpbm_libtype)
+ STATICLIB_TOO = $(usex static-libs Y N)
+
+ # The var is called SSE, but the code is actually SSE2.
+ WANT_SSE = $(usex cpu_flags_x86_sse2 Y N)
+
+ # Gentoo build options
+ TIFFLIB = $(netpbm_config tiff)
+ # Let tiff worry about its own dependencies #395753
+ TIFFLIB_NEEDS_JPEG = N
+ TIFFLIB_NEEDS_Z = N
+ JPEGLIB = $(netpbm_config jpeg)
+ PNGLIB = $(netpbm_config png)
+ ZLIB = $($(tc-getPKG_CONFIG) --libs zlib)
+ LINUXSVGALIB = $(netpbm_config svga vga)
+ XML2_LIBS = $(netpbm_config xml xml2)
+ JBIGLIB = $(netpbm_config jbig)
+ JBIGHDR_DIR =
+ JASPERLIB = NONE
+ JASPERHDR_DIR =
+ URTLIB = $(netpbm_config rle)
+ URTHDR_DIR =
+ X11LIB = $(netpbm_config X X11)
+ X11HDR_DIR =
+ EOF
+ [[ $? -eq 0 ]] || die "writing config.mk failed"
+}
+
+src_compile() {
+ emake -j1 pm_config.h version.h manual_importinc #149843
+ emake
+}
+
+src_test() {
+ # The code wants to install everything first and then test the result.
+ emake install.{bin,lib,data}
+ emake check
+}
+
+src_install() {
+ # Subdir make targets like to use `mkdir` all over the place
+ # without any actual dependencies, thus the -j1.
+ emake -j1 package pkgdir="${ED}"/usr
+
+ if [[ $(get_libdir) != "lib" ]] ; then
+ mv "${ED}"/usr/lib "${ED}"/usr/$(get_libdir) || die
+ fi
+
+ # Remove cruft that we don't need, and move around stuff we want
+ rm "${ED}"/usr/{README,VERSION,{pkgconfig,config}_template,pkginfo} || die
+
+ dodir /usr/share
+ mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die
+
+ doman userguide/*.[0-9]
+ dodoc README
+
+ cd doc || die
+ dodoc HISTORY Netpbm.programming USERDOC
+ docinto html
+ dodoc -r *.html
+ dodoc -r ../userguide/*.html
+}
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index 4a347405ebec..3a267a4b2fd1 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
index 6144f4cfc6ce..17c29ae148b7 100644
--- a/media-video/jellyfin-media-player/Manifest
+++ b/media-video/jellyfin-media-player/Manifest
@@ -1,3 +1,5 @@
DIST jellyfin-media-player-1.7.0.tar.gz 574396 BLAKE2B 074495988f10e456f3c5cd8c3c0bf470c68df770163403aa6cfc0e1e0b6f51127d9640632f1ad6bf33b5302063971d63c84c86d2d83755991f309bf8882c16f3 SHA512 ebf1ce7d5cbd958ce81ed0f2e2a70e33b26cfeab55eb1acd5b465ec228f8dfa8ee27490cf31099244f022400dd5066e3f685863d841ebb68e31a124c912b5d5d
+DIST jellyfin-media-player-1.7.1.tar.gz 575001 BLAKE2B b650f981427721a254fd1dcaa58ebf9f93aba47de50f8c24db27e917de8cd8ebb3da67afa68990845f9e019aac0c8d81f5440dd72f604aa74cdc71d8cc476d8f SHA512 7f8cd4c9094254a133430b1d1594d44a92696cd769323ecc51ef973dde1f09b013f9ade0affb9e364d922935994613f662667af46f90aae2ae04d6cb9deb86f0
EBUILD jellyfin-media-player-1.7.0.ebuild 1749 BLAKE2B acba1565fd7ce4c2c9e0fde57e17680c10127e77acbd5b9305c97d749029ac05a35a06745aebc617f674fe9fe6f0f674b88783236b912fb2d61ec842c1f9b491 SHA512 71d14b2b8f2a22e4d6638779283887e8616c4f1309db90937a87d66893b31edc4f20d19466d49d18c90f4db1420a2afecef4a218b3f34b12860e957e91eef575
+EBUILD jellyfin-media-player-1.7.1.ebuild 1749 BLAKE2B 13394d13a4424cfe09d81b2dd166bf9c12a302d62f8819ddac83a3aac9f02cb89e8e16dee93fd67de6cc3ea9e927c1fdc26843ea65acc79d568594f3777ed4ad SHA512 d7db61b98a6f18f578ea96798ca0a75b0e7c3b929440886c3e854800cec7497312c7a1117aef0136cf915010758178336093033e15e14e98f537ed9bafdde7ac
MISC metadata.xml 514 BLAKE2B b1e93ea1ee93d768cdbe7ffa4251b3d647fd39a1f9df6386b3fadaae2420d43358259401c0f0430c4a73adbb7f909614f4c983dd20071fd3e83848ba636013ce SHA512 7640bce309c006863708f7366809bb11a8675e83ae034bec35089e3a4c9fb32713340ee9a22781ab2b56a8454c5cff870c701389de9531f008a5e7f5fda0b533
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.7.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.7.1.ebuild
new file mode 100644
index 000000000000..3c158eb6555d
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.7.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JWC_VERSION=10.8.1
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake python-any-r1
+
+DESCRIPTION="Jellyfin Desktop Client based on Plex Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+
+SRC_URI="
+ https://github.com/jellyfin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+# GPL-2.0 for JMP itself
+# licenses for code in external/:
+# MIT for qhttp
+# BSD for qslog
+LICENSE="
+ GPL-2
+ BSD
+ MIT
+"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="+dbus"
+
+DEPEND="
+ dev-libs/libcec
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/libsdl2
+ media-video/mpv[libmpv]
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXrandr
+ dbus? ( dev-qt/qtdbus:5 )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+# x11-misc/xdg-utils is used for xdg-screensaver, which is used to inhibit
+# screen locking
+
+RDEPEND="
+ ${DEPEND}
+ ~media-video/jellyfin-web-jmp-bin-${JWC_VERSION}
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_prepare() {
+ # disable jmp installing jwc in it's build system
+ sed -i '/..\/dist\//d' src/CMakeLists.txt || die 'sed failed'
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOpenGL_GL_PREFERENCE=GLVND
+ # PMP, at least prior to the fork into JMP, used to download codecs,
+ # for safe measure, disable that.
+ -DENABLE_CODECS=OFF
+ # LINUX_X11POWER instructs JMP to use xdg-screensaver instead of dbus
+ # for inhibiting screen saving.
+ -DLINUX_X11POWER="$(usex dbus OFF ON)"
+ )
+ cmake_src_configure
+}
diff --git a/media-video/jellyfin-web-jmp-bin/Manifest b/media-video/jellyfin-web-jmp-bin/Manifest
index 765172b5c0b1..3bca898ac332 100644
--- a/media-video/jellyfin-web-jmp-bin/Manifest
+++ b/media-video/jellyfin-web-jmp-bin/Manifest
@@ -1,3 +1,5 @@
DIST jellyfin-web-jmp-bin-10.8.0.zip 44565218 BLAKE2B ecb8ee8d5e8c6ac8d813bdbbce9bb76de807e2f3282586fbcbf5f088b5402a153b0b4e644c940cde064dcfe304ff8486dfa743152aeb7757d36ccf1af38ff3d5 SHA512 1d804a17fcaed760ca16baa912840978745079815c7093f6d85eea5b0d238325df96b951f378822224a43f16a1dfe10617e71573e4e2f63c1e6db947ddbf3b3e
+DIST jellyfin-web-jmp-bin-10.8.1.zip 44566480 BLAKE2B 10d6876d78edd841e0d1c0fb0503258e48630654bf4a4b962f79cc853f0741e151cacea391171422527aca24f2f08f2f22699af5a29fd431c4f2c813703443d2 SHA512 afe13e002b99698f0516375f69b391132a341968abc0a24635bcf817f4ee636f10f0b071ce3c1507eb51f530bddd90e42f0425f75e0c344ade7bdf4983183140
EBUILD jellyfin-web-jmp-bin-10.8.0.ebuild 538 BLAKE2B 5267aeeeb79cd5b6c9d37d077b5d3984d666e0b4550e6511d6a2e0739904e3ed8cf92aaf532c2d744cca2c1a53ea8705618e16622abd6065fb352374f83c682c SHA512 124b4192b6701582719150aa95043b11405ad0f9a938d039fa19cf90bd8422958365950f9634ea9d3a230cb1317b78ac15e6ae2b4638923da29a9ddd789e1166
+EBUILD jellyfin-web-jmp-bin-10.8.1.ebuild 538 BLAKE2B 5267aeeeb79cd5b6c9d37d077b5d3984d666e0b4550e6511d6a2e0739904e3ed8cf92aaf532c2d744cca2c1a53ea8705618e16622abd6065fb352374f83c682c SHA512 124b4192b6701582719150aa95043b11405ad0f9a938d039fa19cf90bd8422958365950f9634ea9d3a230cb1317b78ac15e6ae2b4638923da29a9ddd789e1166
MISC metadata.xml 514 BLAKE2B b1e93ea1ee93d768cdbe7ffa4251b3d647fd39a1f9df6386b3fadaae2420d43358259401c0f0430c4a73adbb7f909614f4c983dd20071fd3e83848ba636013ce SHA512 7640bce309c006863708f7366809bb11a8675e83ae034bec35089e3a4c9fb32713340ee9a22781ab2b56a8454c5cff870c701389de9531f008a5e7f5fda0b533
diff --git a/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild
new file mode 100644
index 000000000000..cd0c93934ceb
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Modified Jellyfin Web Client for use inside Jellyfin Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+SRC_URI="
+ https://github.com/iwalton3/${PN%-bin}/releases/download/jwc-${PV}/dist.zip -> ${P}.zip
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+S="${WORKDIR}/dist"
+
+src_install() {
+ insinto /usr/share/jellyfinmediaplayer/web-client/desktop
+ doins -r .
+}
diff --git a/metadata/Manifest.gz b/metadata/Manifest.gz
index 1f3da2aa9167..3e9ec3608c86 100644
--- a/metadata/Manifest.gz
+++ b/metadata/Manifest.gz
Binary files differ
diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk
index 8e18a4f74502..4191176da359 100644
--- a/metadata/dtd/timestamp.chk
+++ b/metadata/dtd/timestamp.chk
@@ -1 +1 @@
-Thu, 14 Jul 2022 23:40:04 +0000
+Fri, 15 Jul 2022 05:39:50 +0000
diff --git a/metadata/glsa/Manifest b/metadata/glsa/Manifest
index 9fe6e08fc39f..f4d4d64e5994 100644
--- a/metadata/glsa/Manifest
+++ b/metadata/glsa/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 518604 BLAKE2B 771190ff87bcfe6702a19150591bf573a429c51546ab7bd3ae25f101a4ec657d93d6fb83f7cb3aa4055e581eab5fde9d88a73a604dc34f426cb30ebb4385af9b SHA512 0b5d0f14e5d6ec3ff896d9d472edea00620a08f552ffc5516b0264e609527cf65471ee37a5002559add52d5c1898b2b60d48c9e97e6d2451bd84bf24fd112ab4
-TIMESTAMP 2022-07-14T23:40:07Z
+TIMESTAMP 2022-07-15T05:39:54Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQqVdfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQ/apfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klD3wg//SvBhxMimceBj/MIrYjLi6H0faUAS/yvS9l5XwI/Sbo0oKE/PN8/kew91
-4PYggQGsNCdonn3Y2XOlA0+VHfQnLh3LICpyVzntaA4WED/MFuu6GMXvb7FwGz3W
-2Du2RPuEwPSZXsUT5GyDm8uUCxrZTxa8b9GIWIezLrI9lK9aKqntof2xMcIcayLJ
-51Kiuo/OzJpKFp+RuPcRzkANjvEBIAYvmmAzzj4D85eey7VNhNO5ejz7PAH+QCsj
-SBkk9kKHNgcq20xvpW17pisgI7aC4kf8j+jUNA/K0LKkhZ3mtjPzjj8cBHcLn2xg
-NasIuEIed9f9T2LzrkbfLE14UtXka+in22MortHm3PA17d9uW3SbyzxR+AlMxncl
-sUWkZbDKOj/jduR384mmLfzEyRLgkh9x5CbswGDUe8gvdLtdGJhjfw3re3JHEQka
-faGd88jhVtup4MhU8280GyoVo5rvVJ4hLAw1vba9H5FF+jNNM1z8CAAuuoXB5sFb
-+YosHYMUThtH/cNls4I8KbW4xzSKnGgIlBATshUreXZAJQ1XA+qVLLgbJF519LAU
-RiciVP8TjrOFobpo2QGxWecoGKaWA53UI9Xj1n15MBqQQoqoSWDeFH/j3QZ2I6ft
-uWhdN0lDjDM2x5cLipRMT48lS+NvxrlMGaD0L/4Qgpr0wCUMAXE=
-=ieUw
+klBvqhAArw3zI9AlWU8XS18/z+VvhG7EENULmSDrKRGTG45X7FFaxoDrh4SPsKVa
+9KG19mkhmjWGkr0cA7MBE4lRa3IlW1bWAV6QRQYNRnn+3eNKD2cEvk696dfqGCP4
+B36sTqkmiR6E6oGvQggWUfH8uKN26Af6NLJ/sOvv7AcqE6ENz0kCet/Zyvf1K95/
+TohlT+5VvUy6xvBQRBz1H5b6Ubj0R3pgrlDXQmErSzwUhwMkcWyZkcXWRuHje9Gh
+b2UQQ9c89LT0g36B4IUUbn41VoHljowQ0tVKy2w9Yd/OB01i1lSDu9q1wPaxIOoj
+nevMDBaEOTjdDSszFABRAdqE/3mESzHYUA0UTs0+CWNRINhTYD4NuOKGPTAgqZ8/
+lWzSz5vcWndq7WJF+lfUsGHnu7BiEq1MUgkCr5lJuq/+4KHNye90k6dFop8QYq4l
+/gfw+SxDm3Tgs2ifA1Qa9OFUdMGrpEIERJtM6svD2UgQe0QGAVx91msdHPphSx0y
+wvq7QL8DDAGX/DrGov4Jq8GUSBDYzD6fwBKtpxXy9HLGozKQy7oDyc8srvV1yr5f
+8y7wrvFgpRiELDrGHP4fxt5g0Lp8nwpESXc2OFcYwridXAvIx0lkq59NEM8kWU/h
+cjuIeX9jRvDqYFRdOWNM215mE7lYzn8P5I2gX6nffcWb4PHwR7M=
+=1rVU
-----END PGP SIGNATURE-----
diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk
index 8e18a4f74502..4fb94070b8f3 100644
--- a/metadata/glsa/timestamp.chk
+++ b/metadata/glsa/timestamp.chk
@@ -1 +1 @@
-Thu, 14 Jul 2022 23:40:04 +0000
+Fri, 15 Jul 2022 05:39:51 +0000
diff --git a/metadata/md5-cache/Manifest.gz b/metadata/md5-cache/Manifest.gz
index 0c723cf1a94f..b1b208bf3fc3 100644
--- a/metadata/md5-cache/Manifest.gz
+++ b/metadata/md5-cache/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-editors/Manifest.gz b/metadata/md5-cache/app-editors/Manifest.gz
index d681bca3991b..86de3873260d 100644
--- a/metadata/md5-cache/app-editors/Manifest.gz
+++ b/metadata/md5-cache/app-editors/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-editors/pyvim-3.0.3 b/metadata/md5-cache/app-editors/pyvim-3.0.3
new file mode 100644
index 000000000000..5bbd7064f697
--- /dev/null
+++ b/metadata/md5-cache/app-editors/pyvim-3.0.3
@@ -0,0 +1,17 @@
+BDEPEND=test? ( dev-python/docopt[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/prompt_toolkit[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pyflakes[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pygments[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/six[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/wcwidth[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?]
+DEFINED_PHASES=compile configure install postinst postrm prepare test
+DESCRIPTION=An implementation of Vim in Python
+EAPI=8
+HOMEPAGE=https://pypi.org/project/pyvim/ https://github.com/prompt-toolkit/pyvim
+IDEPEND=app-eselect/eselect-vi
+INHERIT=distutils-r1 edo
+IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
+KEYWORDS=~amd64 ~riscv ~x86
+LICENSE=BSD
+RDEPEND=dev-python/docopt[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/prompt_toolkit[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pyflakes[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pygments[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/six[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/wcwidth[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/prompt-toolkit/pyvim/archive/14118ad2e4d0da2e955fd9069b8772408307618b.tar.gz -> pyvim-3.0.3.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 edo c0eb9cbe6b0bd01fcb4918f12598a4d3 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=ac457558e849f4d1e769be0724e02cd5
diff --git a/metadata/md5-cache/app-forensics/Manifest.gz b/metadata/md5-cache/app-forensics/Manifest.gz
index 9dbfa71746c1..4fca275b3695 100644
--- a/metadata/md5-cache/app-forensics/Manifest.gz
+++ b/metadata/md5-cache/app-forensics/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-forensics/yara-4.2.1 b/metadata/md5-cache/app-forensics/yara-4.2.1
index 885d0fcbb6ee..7aafdb43d697 100644
--- a/metadata/md5-cache/app-forensics/yara-4.2.1
+++ b/metadata/md5-cache/app-forensics/yara-4.2.1
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=http://virustotal.github.io/yara/
INHERIT=autotools
IUSE=+dex +dotnet +cuckoo +macho +magic profiling python test
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 x86
LICENSE=Apache-2.0
PDEPEND=python? ( =dev-python/yara-python-4* )
RDEPEND=dev-libs/openssl:= cuckoo? ( dev-libs/jansson:= ) magic? ( sys-apps/file:= )
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0/8
SRC_URI=https://github.com/virustotal/yara/archive/v4.2.1.tar.gz -> yara-4.2.1.tar.gz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=a17a77eb081901454136d270e75321ee
+_md5_=f5ac7040f61fcd54213cab4e7f886635
diff --git a/metadata/md5-cache/app-i18n/Manifest.gz b/metadata/md5-cache/app-i18n/Manifest.gz
index e0f777742c22..b7471d823e5b 100644
--- a/metadata/md5-cache/app-i18n/Manifest.gz
+++ b/metadata/md5-cache/app-i18n/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r4 b/metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r5
index cf10976f72bb..be55456a3758 100644
--- a/metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r4
+++ b/metadata/md5-cache/app-i18n/ibus-pinyin-1.5.0-r5
@@ -1,16 +1,16 @@
BDEPEND=dev-util/intltool sys-devel/autoconf-archive virtual/pkgconfig nls? ( sys-devel/gettext ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
DEFINED_PHASES=configure prepare setup
-DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) app-i18n/pyzy dev-db/sqlite:3 python_single_target_python3_8? ( app-i18n/ibus[python(+),python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( app-i18n/ibus[python(+),python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] ) boost? ( dev-libs/boost ) lua? ( lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) ) nls? ( virtual/libintl )
+DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) app-i18n/pyzy dev-db/sqlite:3 python_single_target_python3_8? ( app-i18n/ibus[python(+),python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( app-i18n/ibus[python(+),python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] ) python_single_target_python3_10? ( app-i18n/ibus[python(+),python_targets_python3_10(-)] dev-python/pygobject:3[python_targets_python3_10(-)] ) boost? ( dev-libs/boost ) lua? ( lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) ) nls? ( virtual/libintl )
DESCRIPTION=Chinese Pinyin and Bopomofo engines for IBus
EAPI=7
HOMEPAGE=https://github.com/ibus/ibus-pinyin
INHERIT=autotools lua-single python-single-r1
-IUSE=boost lua nls +lua_single_target_lua5-1 python_single_target_python3_8 python_single_target_python3_9
+IUSE=boost lua nls +lua_single_target_lua5-1 python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
KEYWORDS=amd64 x86
LICENSE=GPL-2
-RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) app-i18n/pyzy dev-db/sqlite:3 python_single_target_python3_8? ( app-i18n/ibus[python(+),python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( app-i18n/ibus[python(+),python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] ) boost? ( dev-libs/boost ) lua? ( lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) ) nls? ( virtual/libintl )
-REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 ) lua? ( ^^ ( lua_single_target_lua5-1 ) )
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) app-i18n/pyzy dev-db/sqlite:3 python_single_target_python3_8? ( app-i18n/ibus[python(+),python_targets_python3_8(-)] dev-python/pygobject:3[python_targets_python3_8(-)] ) python_single_target_python3_9? ( app-i18n/ibus[python(+),python_targets_python3_9(-)] dev-python/pygobject:3[python_targets_python3_9(-)] ) python_single_target_python3_10? ( app-i18n/ibus[python(+),python_targets_python3_10(-)] dev-python/pygobject:3[python_targets_python3_10(-)] ) boost? ( dev-libs/boost ) lua? ( lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) ) nls? ( virtual/libintl )
+REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) lua? ( ^^ ( lua_single_target_lua5-1 ) )
SLOT=0
SRC_URI=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ibus/ibus-pinyin-1.5.0.tar.gz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e lua-single f2c2fb82c912dd65d53bdae3613a331f lua-utils e69ff116248d78546ae1a234c086fe80 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=76f7d09f2917538dc85d9415fdb38c12
+_md5_=cef7241110940e2a8a6120195bce5e06
diff --git a/metadata/md5-cache/dev-cpp/Manifest.gz b/metadata/md5-cache/dev-cpp/Manifest.gz
index 8cebdd5ae939..0f050dc92c3c 100644
--- a/metadata/md5-cache/dev-cpp/Manifest.gz
+++ b/metadata/md5-cache/dev-cpp/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-cpp/muParserX-4.0.11 b/metadata/md5-cache/dev-cpp/muParserX-4.0.11
new file mode 100644
index 000000000000..b2b49c0df4e6
--- /dev/null
+++ b/metadata/md5-cache/dev-cpp/muParserX-4.0.11
@@ -0,0 +1,12 @@
+BDEPEND=>=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more
+EAPI=8
+HOMEPAGE=https://beltoforion.de/en/muparser/
+INHERIT=cmake
+KEYWORDS=~amd64
+LICENSE=BSD-2
+SLOT=0
+SRC_URI=https://github.com/beltoforion/muparserx/archive/refs/tags/v4.0.11.tar.gz -> muParserX-4.0.11.tar.gz
+_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=f918031061d8b92e87820473740c8252
diff --git a/metadata/md5-cache/dev-db/Manifest.gz b/metadata/md5-cache/dev-db/Manifest.gz
index 1304df892d1b..a2de48ecc74e 100644
--- a/metadata/md5-cache/dev-db/Manifest.gz
+++ b/metadata/md5-cache/dev-db/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-db/mariadb-10.2.41 b/metadata/md5-cache/dev-db/mariadb-10.2.41
deleted file mode 100644
index b0884a22aa80..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.2.41
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc test tokudb xml yassl jdbc
-KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 ) server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )
-RDEPEND=selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= server? ( galera? ( sys-apps/iproute2 =sys-cluster/galera-25* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) sst-xtrabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.2/18
-SRC_URI=mirror://mariadb/mariadb-10.2.41/source/mariadb-10.2.41.tar.gz https://dev.gentoo.org/~whissi/dist/mariadb/mariadb-10.2.41-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=1d2a4501579e7a2780833b8a92c3ea3b
diff --git a/metadata/md5-cache/dev-db/mariadb-10.2.43 b/metadata/md5-cache/dev-db/mariadb-10.2.43
deleted file mode 100644
index 99030c19f7c7..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.2.43
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc test tokudb xml yassl jdbc
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 ) server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )
-RDEPEND=selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= server? ( galera? ( sys-apps/iproute2 =sys-cluster/galera-25* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) sst-xtrabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.2/18
-SRC_URI=mirror://mariadb/mariadb-10.2.43/source/mariadb-10.2.43.tar.gz https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.2.43-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=5feb51a8cf9497e787f942d4e2b9d116
diff --git a/metadata/md5-cache/dev-db/mariadb-10.3.32 b/metadata/md5-cache/dev-db/mariadb-10.3.32
deleted file mode 100644
index 4b68d802330d..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.3.32
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap tcmalloc test tokudb xml yassl jdbc
-KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= server? ( galera? ( sys-apps/iproute2 =sys-cluster/galera-25* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.3/18
-SRC_URI=mirror://mariadb/mariadb-10.3.32/source/mariadb-10.3.32.tar.gz https://dev.gentoo.org/~whissi/dist/mariadb/mariadb-10.3.32-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=3d1838b037b21961f100a6f89c4a14d3
diff --git a/metadata/md5-cache/dev-db/mariadb-10.3.34 b/metadata/md5-cache/dev-db/mariadb-10.3.34
deleted file mode 100644
index 4094b7255991..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.3.34
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap tcmalloc test tokudb xml yassl jdbc
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= server? ( galera? ( sys-apps/iproute2 =sys-cluster/galera-25* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) ?? ( tcmalloc jemalloc ) static? ( yassl !extraengine !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.3/18
-SRC_URI=mirror://mariadb/mariadb-10.3.34/source/mariadb-10.3.34.tar.gz https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.3.34-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=d0427d304be8d7d64fc9d5c91b26b4cf
diff --git a/metadata/md5-cache/dev-db/mariadb-10.4.22 b/metadata/md5-cache/dev-db/mariadb-10.4.22
deleted file mode 100644
index f63a83834237..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.4.22
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap tcmalloc test tokudb xml yassl jdbc
-KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.3 !dev-db/mariadb:10.5 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) server? ( backup? ( app-arch/libarchive:0= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) >=dev-libs/libpcre-8.41-r1:3= virtual/libcrypt:= server? ( galera? ( sys-apps/iproute2 =sys-cluster/galera-26* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.4/18
-SRC_URI=mirror://mariadb/mariadb-10.4.22/source/mariadb-10.4.22.tar.gz https://dev.gentoo.org/~whissi/dist/mariadb/mariadb-10.4.22-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=d4cd4e69db9b1cf161648093d576f726
diff --git a/metadata/md5-cache/dev-db/mariadb-10.5.13 b/metadata/md5-cache/dev-db/mariadb-10.5.13
deleted file mode 100644
index f294b10f9c74..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.5.13
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) static? ( sys-libs/ncurses[static-libs] ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc test xml yassl jdbc
-KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( columnstore? ( dev-db/mariadb-connector-c ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 =sys-cluster/galera-26* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.5/18
-SRC_URI=mirror://mariadb/mariadb-10.5.13/source/mariadb-10.5.13.tar.gz https://dev.gentoo.org/~whissi/dist/mariadb/mariadb-10.5.13-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=c6bd8f1ae7a3ee64410e39660ddd56a8
diff --git a/metadata/md5-cache/dev-db/mariadb-10.5.15 b/metadata/md5-cache/dev-db/mariadb-10.5.15
deleted file mode 100644
index f4a64d3dba72..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.5.15
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) static? ( sys-libs/ncurses[static-libs] ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc test xml yassl jdbc
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.6 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( columnstore? ( dev-db/mariadb-connector-c ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 =sys-cluster/galera-26* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.5/18
-SRC_URI=mirror://mariadb/mariadb-10.5.15/source/mariadb-10.5.15.tar.gz https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.5.15-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=f38ee06f912e3b6f8e9c6f9809176848
diff --git a/metadata/md5-cache/dev-db/mariadb-10.6.5-r1 b/metadata/md5-cache/dev-db/mariadb-10.6.5-r1
deleted file mode 100644
index f130a495823b..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.6.5-r1
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) static? ( sys-libs/ncurses[static-libs] ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc test xml yassl jdbc
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( columnstore? ( dev-db/mariadb-connector-c ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 =sys-cluster/galera-26* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.6/18
-SRC_URI=mirror://mariadb/mariadb-10.6.5/source/mariadb-10.6.5.tar.gz https://dev.gentoo.org/~whissi/dist/mariadb/mariadb-10.6.5-patches-04.tar.xz https://dev.gentoo.org/~dlan/dist/mariadb/mariadb-10.6.5-patches-04.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=78c23187487114524b011f65580bcff0
diff --git a/metadata/md5-cache/dev-db/mariadb-10.6.8 b/metadata/md5-cache/dev-db/mariadb-10.6.8
deleted file mode 100644
index 4a52f32e2b56..000000000000
--- a/metadata/md5-cache/dev-db/mariadb-10.6.8
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=virtual/yacc virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
-DEFINED_PHASES=compile config configure install postinst preinst prepare setup test unpack
-DEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) test? ( acct-group/mysql acct-user/mysql ) ) static? ( sys-libs/ncurses[static-libs] ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-DESCRIPTION=An enhanced, drop-in replacement for MySQL
-EAPI=7
-HOMEPAGE=https://mariadb.org/
-INHERIT=eutils systemd flag-o-matic prefix toolchain-funcs multiprocessing java-pkg-opt-2 cmake
-IUSE=+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc test xml yassl jdbc
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris
-LICENSE=GPL-2 LGPL-2.1+
-PDEPEND=perl? ( >=dev-perl/DBD-mysql-2.9004 )
-RDEPEND=>=dev-libs/libpcre2-10.34:= >=sys-apps/sed-4 >=sys-apps/texinfo-4.7-r1 sys-libs/ncurses:0= >=sys-libs/zlib-1.2.3:0= virtual/libcrypt:= !bindist? ( sys-libs/binutils-libs:0= >=sys-libs/readline-4.1:0= ) jemalloc? ( dev-libs/jemalloc:0= ) kerberos? ( virtual/krb5 ) kernel_linux? ( sys-process/procps:0= dev-libs/libaio:0= ) server? ( app-arch/bzip2 app-arch/xz-utils backup? ( app-arch/libarchive:0= ) columnstore? ( app-arch/snappy dev-libs/boost:0= dev-libs/libxml2:2= ) cracklib? ( sys-libs/cracklib:0= ) extraengine? ( odbc? ( dev-db/unixODBC:0= ) xml? ( dev-libs/libxml2:2= ) ) innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) pam? ( sys-libs/pam:0= ) s3? ( net-misc/curl ) systemd? ( sys-apps/systemd:= ) ) systemtap? ( >=dev-util/systemtap-1.3:0= ) tcmalloc? ( dev-util/google-perftools:0= ) yassl? ( net-libs/gnutls:0= ) !yassl? ( >=dev-libs/openssl-1.0.0:0= ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster !dev-db/mariadb:0 !dev-db/mariadb:5.5 !dev-db/mariadb:10.1 !dev-db/mariadb:10.2 !dev-db/mariadb:10.3 !dev-db/mariadb:10.4 !dev-db/mariadb:10.5 !dev-db/mariadb:10.7 !dev-db/mariadb:10.8 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( columnstore? ( dev-db/mariadb-connector-c ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 =sys-cluster/galera-26* sst-rsync? ( sys-process/lsof ) sst-mariabackup? ( net-misc/socat[ssl] ) ) !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) ) jdbc? ( >=dev-java/java-config-2.2.0-r3 )
-REQUIRED_USE=jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )
-RESTRICT=!bindist? ( bindist ) !test? ( test )
-SLOT=10.6/18
-SRC_URI=mirror://mariadb/mariadb-10.6.8/source/mariadb-10.6.8.tar.gz https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.8-patches-01.tar.xz
-_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b java-pkg-opt-2 a71433e535af8faae0c0f6c861a32054 java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 prefix eab3c99d77fe00506c109c8a736186f7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=6a94afc4e072311c6fff18f84d326394
diff --git a/metadata/md5-cache/dev-db/sqlite-3.39.1 b/metadata/md5-cache/dev-db/sqlite-3.39.1
new file mode 100644
index 000000000000..c9a9118efa27
--- /dev/null
+++ b/metadata/md5-cache/dev-db/sqlite-3.39.1
@@ -0,0 +1,16 @@
+BDEPEND=app-arch/unzip >=dev-lang/tcl-8.6:0 sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( dev-libs/icu:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) readline? ( sys-libs/readline:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) tcl? ( dev-lang/tcl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) tools? ( dev-lang/tcl:0= ) test? ( >=dev-lang/tcl-8.6:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
+DESCRIPTION=SQL database engine
+EAPI=7
+HOMEPAGE=https://sqlite.org/
+INHERIT=autotools flag-o-matic multilib-minimal toolchain-funcs
+IUSE=debug doc icu +readline secure-delete static-libs tcl test tools abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=public-domain
+RDEPEND=sys-libs/zlib:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( dev-libs/icu:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) readline? ( sys-libs/readline:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) tcl? ( dev-lang/tcl:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) tools? ( dev-lang/tcl:0= )
+RESTRICT=!test? ( test )
+SLOT=3
+SRC_URI=https://sqlite.org/2022/sqlite-src-3390100.zip doc? ( https://sqlite.org/2022/sqlite-doc-3390100.zip )
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c
+_md5_=79a3003ea5ffc99ac0510bf5926a21a3
diff --git a/metadata/md5-cache/dev-db/sqlmap-1.6.5 b/metadata/md5-cache/dev-db/sqlmap-1.6.5
index 64ad99be5894..a92581dedd77 100644
--- a/metadata/md5-cache/dev-db/sqlmap-1.6.5
+++ b/metadata/md5-cache/dev-db/sqlmap-1.6.5
@@ -4,11 +4,11 @@ EAPI=8
HOMEPAGE=https://sqlmap.org/
INHERIT=bash-completion-r1 python-single-r1 wrapper
IUSE=python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 python_single_target_python3_11
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 x86
LICENSE=BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain
RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) python_single_target_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11[sqlite] )
REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 python_single_target_python3_11 )
SLOT=0
SRC_URI=https://github.com/sqlmapproject/sqlmap/archive/refs/tags/1.6.5.tar.gz -> sqlmap-1.6.5.tar.gz
_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c
-_md5_=7e5b6e570b00bc712a6d5e1453236b9d
+_md5_=f15ec52958b664c8b8cd38e7aff8b814
diff --git a/metadata/md5-cache/dev-libs/Manifest.gz b/metadata/md5-cache/dev-libs/Manifest.gz
index e1272c52804e..46f0f9f52aca 100644
--- a/metadata/md5-cache/dev-libs/Manifest.gz
+++ b/metadata/md5-cache/dev-libs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-libs/ffcall-2.4-r1 b/metadata/md5-cache/dev-libs/ffcall-2.4-r1
new file mode 100644
index 000000000000..b4f01647c140
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/ffcall-2.4-r1
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install prepare
+DESCRIPTION=Build foreign function call interfaces in embedded interpreter
+EAPI=8
+HOMEPAGE=https://www.gnu.org/software/libffcall/
+INHERIT=flag-o-matic
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris
+LICENSE=GPL-2+
+SLOT=0
+SRC_URI=mirror://gnu/libffcall/libffcall-2.4.tar.gz
+_eclasses_=flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=03c44f22b964c6ff65bd2684ff55aefd
diff --git a/metadata/md5-cache/dev-libs/uulib-0.5.20-r2 b/metadata/md5-cache/dev-libs/uulib-0.5.20-r2
new file mode 100644
index 000000000000..d00ce14eff9b
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/uulib-0.5.20-r2
@@ -0,0 +1,12 @@
+BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=install prepare
+DESCRIPTION=Library that supports Base64 (MIME), uuencode, xxencode and binhex coding
+EAPI=8
+HOMEPAGE=http://www.fpx.de/fp/Software/UUDeview/
+INHERIT=autotools
+KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=GPL-2
+SLOT=0
+SRC_URI=http://www.fpx.de/fp/Software/UUDeview/download/uudeview-0.5.20.tar.gz
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=4fe1460b890e6d1c1f98f95f1f939681
diff --git a/metadata/md5-cache/dev-lisp/Manifest.gz b/metadata/md5-cache/dev-lisp/Manifest.gz
index 1c7e40efe4e7..2e74380a3736 100644
--- a/metadata/md5-cache/dev-lisp/Manifest.gz
+++ b/metadata/md5-cache/dev-lisp/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-lisp/abcl-1.9.0 b/metadata/md5-cache/dev-lisp/abcl-1.9.0
new file mode 100644
index 000000000000..6d082b3afe59
--- /dev/null
+++ b/metadata/md5-cache/dev-lisp/abcl-1.9.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install preinst prepare setup
+DEPEND=>=virtual/jdk-1.8:* >=dev-java/java-config-2.2.0-r3 >=dev-java/ant-core-1.8.2:0 dev-java/javatoolkit
+DESCRIPTION=Armed Bear Common Lisp is a Common Lisp implementation for the JVM
+EAPI=8
+HOMEPAGE=https://abcl.org
+INHERIT=java-pkg-2 java-ant-2
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2-with-classpath-exception
+RDEPEND=>=virtual/jre-1.8:* >=dev-java/java-config-2.2.0-r3
+SLOT=0
+SRC_URI=https://abcl.org/releases/1.9.0/abcl-src-1.9.0.tar.gz
+_eclasses_=java-ant-2 5cf479aa9e0ac9cc55899f2762c2aaa0 java-pkg-2 3b09e051fc2045a0f0b9471b87d4f8bd java-utils-2 c79d65661a9f4f72b60376c9e4b3dfa1 multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=cd1d73e660319778c86598485766ddca
diff --git a/metadata/md5-cache/dev-python/Manifest.gz b/metadata/md5-cache/dev-python/Manifest.gz
index e2b964d3ef24..f33a91d517e5 100644
--- a/metadata/md5-cache/dev-python/Manifest.gz
+++ b/metadata/md5-cache/dev-python/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-python/PyQt5-sip-12.10.1 b/metadata/md5-cache/dev-python/PyQt5-sip-12.10.1
index 339cfc17dbe7..0c940da5b01a 100644
--- a/metadata/md5-cache/dev-python/PyQt5-sip-12.10.1
+++ b/metadata/md5-cache/dev-python/PyQt5-sip-12.10.1
@@ -5,11 +5,11 @@ EAPI=8
HOMEPAGE=https://www.riverbankcomputing.com/software/sip/ https://pypi.org/project/PyQt5-sip/
INHERIT=distutils-r1
IUSE=python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~amd64 arm arm64 ~ppc ppc64 ~riscv ~x86
+KEYWORDS=amd64 arm arm64 ~ppc ppc64 ~riscv x86
LICENSE=|| ( GPL-2 GPL-3 SIP )
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
SLOT=0/12
SRC_URI=mirror://pypi/P/PyQt5-sip/PyQt5_sip-12.10.1.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=e39a87f85afcf483cd51bb25d5ba3963
+_md5_=6f456cc6db00dc7369bf31b686a7cf2a
diff --git a/metadata/md5-cache/dev-python/QtPy-2.1.0-r3 b/metadata/md5-cache/dev-python/QtPy-2.1.0-r3
index 4ee593d97961..7312c5d8dfb7 100644
--- a/metadata/md5-cache/dev-python/QtPy-2.1.0-r3
+++ b/metadata/md5-cache/dev-python/QtPy-2.1.0-r3
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/spyder-ide/qtpy/ https://pypi.org/project/QtPy/
INHERIT=distutils-r1 virtualx
IUSE=+pyqt5 pyside2 declarative designer gui help location multimedia network opengl positioning printsupport sensors serialport speech sql svg testlib webchannel webengine websockets widgets x11extras xml xmlpatterns test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 test
-KEYWORDS=~amd64 ~arm ~arm64 ~x86
+KEYWORDS=amd64 ~arm arm64 x86
LICENSE=MIT
RDEPEND=dev-python/packaging[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] pyqt5? ( dev-python/PyQt5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/PyQt5[declarative?,designer?,gui?,help?,location?] dev-python/PyQt5[multimedia?,network?,opengl?,positioning?] dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?] dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?] dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?] webengine? ( dev-python/PyQtWebEngine[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) ) pyside2? ( dev-python/pyside2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/pyside2[designer?,gui?,help?,location?,multimedia?] dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?] dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?] dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?] dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?] declarative? ( dev-python/pyside2[qml,quick] ) ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( pyqt5 pyside2 ) || ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test ) !test? ( test )
SLOT=0
SRC_URI=mirror://pypi/Q/QtPy/QtPy-2.1.0.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb virtualx 975d49ff3b3f451efe7a95f230532135
-_md5_=7dfac7ac544c28e1d28ffc85e6b1cbe0
+_md5_=e0ba90b7dc7db77a1d6750f9226b7c5a
diff --git a/metadata/md5-cache/dev-python/filebytes-0.10.2 b/metadata/md5-cache/dev-python/filebytes-0.10.2
index 792c5ce6f1b8..2673d408e4d6 100644
--- a/metadata/md5-cache/dev-python/filebytes-0.10.2
+++ b/metadata/md5-cache/dev-python/filebytes-0.10.2
@@ -5,11 +5,11 @@ EAPI=8
HOMEPAGE=https://github.com/sashs/filebytes
INHERIT=distutils-r1
IUSE=python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 x86
LICENSE=BSD
RDEPEND=python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_9 python_targets_python3_10 )
SLOT=0
SRC_URI=https://github.com/sashs/filebytes/archive/v0.10.2.tar.gz -> filebytes-0.10.2.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=f9500255b5f220869f7ccc7437f838a7
+_md5_=000033c9dffce7fb4e7a404d3e5e31e6
diff --git a/metadata/md5-cache/dev-python/http-parser-0.9.0-r1 b/metadata/md5-cache/dev-python/http-parser-0.9.0-r1
index 83fb605a4485..d6e70e6cae5b 100644
--- a/metadata/md5-cache/dev-python/http-parser-0.9.0-r1
+++ b/metadata/md5-cache/dev-python/http-parser-0.9.0-r1
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/benoitc/http-parser/ https://pypi.org/project/http-parser/
INHERIT=distutils-r1
IUSE=examples test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~alpha ~amd64 arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc ~x86
+KEYWORDS=~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc x86
LICENSE=MIT
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/benoitc/http-parser/archive/0.9.0.tar.gz -> http-parser-0.9.0.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=ef4d40fba76e0042c9640c96d9798726
+_md5_=4cc977b2e8b8fd81a00324879f9ce84c
diff --git a/metadata/md5-cache/dev-python/intelhex-2.3.0-r1 b/metadata/md5-cache/dev-python/intelhex-2.3.0-r1
index 0f74c82a3945..8953f2a077f9 100644
--- a/metadata/md5-cache/dev-python/intelhex-2.3.0-r1
+++ b/metadata/md5-cache/dev-python/intelhex-2.3.0-r1
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/python-intelhex/intelhex/ https://pypi.org/project/intelhex/
INHERIT=distutils-r1
IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~amd64 ~arm ~mips ~riscv ~x86
+KEYWORDS=amd64 ~arm ~mips ~riscv ~x86
LICENSE=BSD
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=mirror://pypi/i/intelhex/intelhex-2.3.0.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=79c99f5063ff45175ae74885eff12732
+_md5_=3131c8a31e79d7900e7a0bcb07639e03
diff --git a/metadata/md5-cache/dev-python/js2py-0.71_p20210918 b/metadata/md5-cache/dev-python/js2py-0.71_p20210918
index 1b31ef1ae742..db0f55cde9a3 100644
--- a/metadata/md5-cache/dev-python/js2py-0.71_p20210918
+++ b/metadata/md5-cache/dev-python/js2py-0.71_p20210918
@@ -5,11 +5,11 @@ EAPI=8
HOMEPAGE=http://piter.io/projects/js2py/ https://github.com/PiotrDabkowski/Js2Py/ https://pypi.org/project/Js2Py/
INHERIT=distutils-r1
IUSE=python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86
+KEYWORDS=amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86
LICENSE=MIT
RDEPEND=>=dev-python/pyjsparser-2.5.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/tzlocal-1.2.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/six-1.10.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
SLOT=0
SRC_URI=https://github.com/PiotrDabkowski/Js2Py/archive/b16d7ce90ac9c03358010c1599c3e87698c9993f.tar.gz -> Js2Py-0.71_p20210918.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=ebcf839deac6b97aca1f3264ec799e7f
+_md5_=ade53c132f87c1e4ce12645ad33c4f5f
diff --git a/metadata/md5-cache/dev-python/leechcorepyc-2.10.2 b/metadata/md5-cache/dev-python/leechcorepyc-2.10.2
index 77e0d35cc5d9..b8354b694726 100644
--- a/metadata/md5-cache/dev-python/leechcorepyc-2.10.2
+++ b/metadata/md5-cache/dev-python/leechcorepyc-2.10.2
@@ -6,11 +6,11 @@ EAPI=8
HOMEPAGE=https://github.com/ufrisk/LeechCore
INHERIT=distutils-r1 toolchain-funcs
IUSE=python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 x86
+KEYWORDS=amd64 x86
LICENSE=GPL-3
RDEPEND=virtual/libusb:= python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
SLOT=0
SRC_URI=mirror://pypi/l/leechcorepyc/leechcorepyc-2.10.2.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=ef45c6941751f639a1786ba4a25e1cb9
+_md5_=2107ff1f2909200dbaa8cfe55807a118
diff --git a/metadata/md5-cache/dev-python/owslib-0.26.0 b/metadata/md5-cache/dev-python/owslib-0.26.0
index 94f4f4b977ca..bfa4fb1d1e9f 100644
--- a/metadata/md5-cache/dev-python/owslib-0.26.0
+++ b/metadata/md5-cache/dev-python/owslib-0.26.0
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://geopython.github.io/OWSLib/
INHERIT=distutils-r1
IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 ~x86
LICENSE=BSD
PROPERTIES=test_network
RDEPEND=dev-python/lxml[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/pyproj[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/python-dateutil[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/pytz[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/pyyaml[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/requests[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
@@ -14,4 +14,4 @@ RESTRICT=test !test? ( test )
SLOT=0
SRC_URI=https://github.com/geopython/owslib/archive/0.26.0.tar.gz -> owslib-0.26.0.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=133948a766a8000cfbd9020e8b55d790
+_md5_=0f6796089bb7f0ff6735804fb2d1610c
diff --git a/metadata/md5-cache/dev-python/pefile-2022.5.30 b/metadata/md5-cache/dev-python/pefile-2022.5.30
index 50dce8dcb134..2cf95c0745c9 100644
--- a/metadata/md5-cache/dev-python/pefile-2022.5.30
+++ b/metadata/md5-cache/dev-python/pefile-2022.5.30
@@ -5,11 +5,11 @@ EAPI=8
HOMEPAGE=https://github.com/erocarrera/pefile
INHERIT=distutils-r1
IUSE=python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 x86
+KEYWORDS=amd64 x86
LICENSE=MIT
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) dev-python/future[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
SLOT=0
SRC_URI=https://github.com/erocarrera/pefile/releases/download/v2022.5.30/pefile-2022.5.30.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=f10599acb91e1df1b746d417927b675d
+_md5_=293a7ce4cf5a1e144756243b7dde0390
diff --git a/metadata/md5-cache/dev-python/pycurl-7.45.1 b/metadata/md5-cache/dev-python/pycurl-7.45.1
index f569148fe257..51ffdf766803 100644
--- a/metadata/md5-cache/dev-python/pycurl-7.45.1
+++ b/metadata/md5-cache/dev-python/pycurl-7.45.1
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=http://pycurl.io/ https://github.com/pycurl/pycurl/ https://pypi.org/project/pycurl/
INHERIT=distutils-r1 toolchain-funcs
IUSE=curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl examples ssl test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos
LICENSE=LGPL-2.1
RDEPEND=>=net-misc/curl-7.25.0-r1:=[ssl=] ssl? ( net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)] curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= ) curl_ssl_openssl? ( dev-libs/openssl:= ) ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=mirror://pypi/p/pycurl/pycurl-7.45.1.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=8142dea95ea1928292617de6f321ca46
+_md5_=3ac40469765ab54838a5fa900352298e
diff --git a/metadata/md5-cache/dev-python/pylatexenc-2.10 b/metadata/md5-cache/dev-python/pylatexenc-2.10
new file mode 100644
index 000000000000..af48c48c2f08
--- /dev/null
+++ b/metadata/md5-cache/dev-python/pylatexenc-2.10
@@ -0,0 +1,16 @@
+BDEPEND=test? ( >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Simple LaTeX parser providing latex-to-unicode and unicode-to-latex conversion
+EAPI=8
+HOMEPAGE=https://github.com/phfaist/pylatexenc
+INHERIT=distutils-r1
+IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/phfaist/pylatexenc/archive/refs/tags/v2.10.tar.gz -> pylatexenc-2.10.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=496737993650aeecb8fb3ea4c27573c5
diff --git a/metadata/md5-cache/dev-python/pymacaroons-0.13.0 b/metadata/md5-cache/dev-python/pymacaroons-0.13.0
index 2203249e4bd5..5074c17d2d6c 100644
--- a/metadata/md5-cache/dev-python/pymacaroons-0.13.0
+++ b/metadata/md5-cache/dev-python/pymacaroons-0.13.0
@@ -1,16 +1,16 @@
-BDEPEND=python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+BDEPEND=test? ( dev-python/mock[python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/nose[python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_9(-)?,python_targets_python3_10(-)?]
DEFINED_PHASES=compile configure install prepare test
DESCRIPTION=PyMacaroons is a Python implementation of Macaroons.
EAPI=8
HOMEPAGE=https://github.com/ecordell/pymacaroons https://pypi.org/project/pymacaroons/
INHERIT=distutils-r1
-IUSE=python_targets_python3_9 python_targets_python3_10
+IUSE=test python_targets_python3_9 python_targets_python3_10
KEYWORDS=~amd64
LICENSE=MIT
RDEPEND=dev-python/pynacl[python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/six[python_targets_python3_9(-)?,python_targets_python3_10(-)?] python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_9 python_targets_python3_10 )
-RESTRICT=test
+RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/ecordell/pymacaroons/archive/v0.13.0.tar.gz -> pymacaroons-0.13.0.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=38d188639953865f6237b66890c225ec
+_md5_=58052923d857d925c7162321ee2635d3
diff --git a/metadata/md5-cache/dev-python/python-constraint-1.4.0 b/metadata/md5-cache/dev-python/python-constraint-1.4.0
new file mode 100644
index 000000000000..d649b010f81a
--- /dev/null
+++ b/metadata/md5-cache/dev-python/python-constraint-1.4.0
@@ -0,0 +1,16 @@
+BDEPEND=test? ( >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Constraint Solving Problem resolver for Python
+EAPI=8
+HOMEPAGE=https://github.com/python-constraint/python-constraint
+INHERIT=distutils-r1
+IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=BSD-2
+RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/python-constraint/python-constraint/archive/refs/tags/1.4.0.tar.gz -> python-constraint-1.4.0.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=64c65977e406f3e0d3cf0f0d4701b783
diff --git a/metadata/md5-cache/dev-python/python-ptrace-0.9.8 b/metadata/md5-cache/dev-python/python-ptrace-0.9.8
index ec6043e1ca6a..c270c021c731 100644
--- a/metadata/md5-cache/dev-python/python-ptrace-0.9.8
+++ b/metadata/md5-cache/dev-python/python-ptrace-0.9.8
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/vstinner/python-ptrace
INHERIT=distutils-r1
IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~amd64 x86
+KEYWORDS=amd64 x86
LICENSE=GPL-2
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 ) dev-python/six[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/vstinner/python-ptrace/archive/refs/tags/0.9.8.tar.gz -> python-ptrace-0.9.8.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=4a299d3319dd7235bf6e4545849bab57
+_md5_=55fd3197ff2fad197771218d8dcd467a
diff --git a/metadata/md5-cache/dev-python/qiskit-aer-0.10.3 b/metadata/md5-cache/dev-python/qiskit-aer-0.10.3
new file mode 100644
index 000000000000..ffc2b8a2cd82
--- /dev/null
+++ b/metadata/md5-cache/dev-python/qiskit-aer-0.10.3
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-python/numpy-1.16.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-cpp/nlohmann_json-3.1.1 >=dev-libs/spdlog-1.5.0 >=dev-cpp/muParserX-4.0.8 virtual/cblas[eselect-ldso] sci-libs/openblas[eselect-ldso] >dev-util/cmake-3.17 >=dev-python/scikit-build-0.11.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pybind11-2.6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] test? ( dev-python/ddt[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/fixtures[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) test? ( >=dev-python/numpy-1.16.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-cpp/nlohmann_json-3.1.1 >=dev-libs/spdlog-1.5.0 >=dev-cpp/muParserX-4.0.8 virtual/cblas[eselect-ldso] sci-libs/openblas[eselect-ldso] >=dev-python/qiskit-terra-0.19.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/scipy-1.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DESCRIPTION=High performance simulator for quantum circuits that includes noise models
+EAPI=8
+HOMEPAGE=https://github.com/Qiskit/qiskit-aer
+INHERIT=distutils-r1
+IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=>=dev-python/numpy-1.16.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-cpp/nlohmann_json-3.1.1 >=dev-libs/spdlog-1.5.0 >=dev-cpp/muParserX-4.0.8 virtual/cblas[eselect-ldso] sci-libs/openblas[eselect-ldso] >=dev-python/qiskit-terra-0.19.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/scipy-1.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/Qiskit/qiskit-aer/archive/refs/tags/0.10.3.tar.gz -> qiskit-aer-0.10.3.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=c8ba93d9684c3bf96f40384a923c55e3
diff --git a/metadata/md5-cache/dev-python/qiskit-terra-0.19.2 b/metadata/md5-cache/dev-python/qiskit-terra-0.19.2
new file mode 100644
index 000000000000..2e50f3c793ca
--- /dev/null
+++ b/metadata/md5-cache/dev-python/qiskit-terra-0.19.2
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-python/cython-0.27.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] test? ( >=dev-python/ddt-1.4.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/hypothesis-4.24.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/networkx-2.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] app-text/poppler[png] >=sci-libs/scikit-learn-0.20.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) test? ( >=dev-python/retworkx-0.10.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/numpy-1.17[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/ply-3.10[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/psutil-5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/scipy-1.5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/sympy-1.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/dill-0.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/python-constraint-1.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/python-dateutil-2.8.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/stevedore-3.0.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/symengine-0.8[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/tweedledum-1.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] visualization? ( >=dev-python/matplotlib-3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/ipywidgets-7.3.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/pydot[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pillow-4.2.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pylatexenc-1.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/seaborn-0.9.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pygments-2.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Terra is the foundation on which Qiskit is built
+EAPI=8
+HOMEPAGE=https://github.com/Qiskit/qiskit-terra
+INHERIT=distutils-r1
+IUSE=+visualization test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=Apache-2.0
+RDEPEND=>=dev-python/retworkx-0.10.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/numpy-1.17[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/ply-3.10[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/psutil-5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/scipy-1.5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/sympy-1.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/dill-0.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/python-constraint-1.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/python-dateutil-2.8.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/stevedore-3.0.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/symengine-0.8[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/tweedledum-1.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] visualization? ( >=dev-python/matplotlib-3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/ipywidgets-7.3.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/pydot[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pillow-4.2.1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pylatexenc-1.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/seaborn-0.9.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/pygments-2.4[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/Qiskit/qiskit-terra/archive/refs/tags/0.19.2.tar.gz -> qiskit-terra-0.19.2.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=b26028b391c66c0566bb6c8f2d6ede61
diff --git a/metadata/md5-cache/dev-python/retworkx-0.11.0 b/metadata/md5-cache/dev-python/retworkx-0.11.0
new file mode 100644
index 000000000000..a8baf5eeaa3e
--- /dev/null
+++ b/metadata/md5-cache/dev-python/retworkx-0.11.0
@@ -0,0 +1,16 @@
+BDEPEND=dev-python/setuptools-rust test? ( dev-python/fixtures[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/testtools-2.5.0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/networkx-2.5[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/stestr[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] media-gfx/graphviz[gts] dev-python/graphviz[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) test? ( >=dev-python/numpy-1.16.0 >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) >=virtual/rust-1.53 python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install prepare test unpack
+DESCRIPTION=A high performance Python graph library implemented in Rust
+EAPI=8
+HOMEPAGE=https://github.com/Qiskit/retworkx
+INHERIT=cargo distutils-r1
+IUSE=test debug python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 MIT
+RDEPEND=>=dev-python/numpy-1.16.0 python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/Qiskit/retworkx/archive/refs/tags/0.11.0.tar.gz -> retworkx-0.11.0.gh.tar.gz https://crates.io/api/v1/crates/ahash/0.7.6/download -> ahash-0.7.6.crate https://crates.io/api/v1/crates/autocfg/1.0.1/download -> autocfg-1.0.1.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/cfg-if/0.1.10/download -> cfg-if-0.1.10.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.1/download -> crossbeam-channel-0.5.1.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.1/download -> crossbeam-deque-0.8.1.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.5/download -> crossbeam-epoch-0.9.5.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.5/download -> crossbeam-utils-0.8.5.crate https://crates.io/api/v1/crates/either/1.6.1/download -> either-1.6.1.crate https://crates.io/api/v1/crates/fixedbitset/0.4.1/download -> fixedbitset-0.4.1.crate https://crates.io/api/v1/crates/getrandom/0.2.3/download -> getrandom-0.2.3.crate https://crates.io/api/v1/crates/hashbrown/0.11.2/download -> hashbrown-0.11.2.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/indexmap/1.7.0/download -> indexmap-1.7.0.crate https://crates.io/api/v1/crates/indoc/0.3.6/download -> indoc-0.3.6.crate https://crates.io/api/v1/crates/indoc-impl/0.3.6/download -> indoc-impl-0.3.6.crate https://crates.io/api/v1/crates/instant/0.1.10/download -> instant-0.1.10.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.101/download -> libc-0.2.101.crate https://crates.io/api/v1/crates/lock_api/0.4.5/download -> lock_api-0.4.5.crate https://crates.io/api/v1/crates/matrixmultiply/0.2.4/download -> matrixmultiply-0.2.4.crate https://crates.io/api/v1/crates/memoffset/0.6.4/download -> memoffset-0.6.4.crate https://crates.io/api/v1/crates/ndarray/0.13.1/download -> ndarray-0.13.1.crate https://crates.io/api/v1/crates/num-bigint/0.4.3/download -> num-bigint-0.4.3.crate https://crates.io/api/v1/crates/num-complex/0.2.4/download -> num-complex-0.2.4.crate https://crates.io/api/v1/crates/num-complex/0.4.0/download -> num-complex-0.4.0.crate https://crates.io/api/v1/crates/num-integer/0.1.44/download -> num-integer-0.1.44.crate https://crates.io/api/v1/crates/num-traits/0.2.14/download -> num-traits-0.2.14.crate https://crates.io/api/v1/crates/num_cpus/1.13.0/download -> num_cpus-1.13.0.crate https://crates.io/api/v1/crates/numpy/0.15.1/download -> numpy-0.15.1.crate https://crates.io/api/v1/crates/once_cell/1.8.0/download -> once_cell-1.8.0.crate https://crates.io/api/v1/crates/parking_lot/0.11.2/download -> parking_lot-0.11.2.crate https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download -> parking_lot_core-0.8.5.crate https://crates.io/api/v1/crates/paste/0.1.18/download -> paste-0.1.18.crate https://crates.io/api/v1/crates/paste-impl/0.1.18/download -> paste-impl-0.1.18.crate https://crates.io/api/v1/crates/petgraph/0.6.0/download -> petgraph-0.6.0.crate https://crates.io/api/v1/crates/ppv-lite86/0.2.10/download -> ppv-lite86-0.2.10.crate https://crates.io/api/v1/crates/proc-macro-hack/0.5.19/download -> proc-macro-hack-0.5.19.crate https://crates.io/api/v1/crates/proc-macro2/1.0.29/download -> proc-macro2-1.0.29.crate https://crates.io/api/v1/crates/pyo3/0.15.1/download -> pyo3-0.15.1.crate https://crates.io/api/v1/crates/pyo3-build-config/0.15.1/download -> pyo3-build-config-0.15.1.crate https://crates.io/api/v1/crates/pyo3-macros/0.15.1/download -> pyo3-macros-0.15.1.crate https://crates.io/api/v1/crates/pyo3-macros-backend/0.15.1/download -> pyo3-macros-backend-0.15.1.crate https://crates.io/api/v1/crates/quote/1.0.9/download -> quote-1.0.9.crate https://crates.io/api/v1/crates/rand/0.8.4/download -> rand-0.8.4.crate https://crates.io/api/v1/crates/rand_chacha/0.3.1/download -> rand_chacha-0.3.1.crate https://crates.io/api/v1/crates/rand_core/0.6.3/download -> rand_core-0.6.3.crate https://crates.io/api/v1/crates/rand_hc/0.3.1/download -> rand_hc-0.3.1.crate https://crates.io/api/v1/crates/rand_pcg/0.3.1/download -> rand_pcg-0.3.1.crate https://crates.io/api/v1/crates/rawpointer/0.2.1/download -> rawpointer-0.2.1.crate https://crates.io/api/v1/crates/rayon/1.5.1/download -> rayon-1.5.1.crate https://crates.io/api/v1/crates/rayon-core/1.9.1/download -> rayon-core-1.9.1.crate https://crates.io/api/v1/crates/redox_syscall/0.2.10/download -> redox_syscall-0.2.10.crate https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate https://crates.io/api/v1/crates/smallvec/1.6.1/download -> smallvec-1.6.1.crate https://crates.io/api/v1/crates/syn/1.0.76/download -> syn-1.0.76.crate https://crates.io/api/v1/crates/unicode-xid/0.2.2/download -> unicode-xid-0.2.2.crate https://crates.io/api/v1/crates/unindent/0.1.7/download -> unindent-0.1.7.crate https://crates.io/api/v1/crates/version_check/0.9.3/download -> version_check-0.9.3.crate https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download -> wasi-0.10.2+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate
+_eclasses_=cargo 52a92ed3815080c5f2caac1905687b1c distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=7dc92e0c0468300784a564122c919ec5
diff --git a/metadata/md5-cache/dev-python/scikit-build-0.15.0 b/metadata/md5-cache/dev-python/scikit-build-0.15.0
index c9b18192c683..4308600e6f1b 100644
--- a/metadata/md5-cache/dev-python/scikit-build-0.15.0
+++ b/metadata/md5-cache/dev-python/scikit-build-0.15.0
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/scikit-build/scikit-build/ https://pypi.org/project/scikit-build/
INHERIT=distutils-r1
IUSE=doc test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~alpha ~amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc ~x86
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86
LICENSE=MIT
RDEPEND=dev-python/distro[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/packaging[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/setuptools[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=mirror://pypi/s/scikit-build/scikit-build-0.15.0.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=c0d8d07a3c8d6ffd30d12e316b15ed5d
+_md5_=c4b29d773919d31710f2f8ab56778bfc
diff --git a/metadata/md5-cache/dev-python/sip-6.6.1 b/metadata/md5-cache/dev-python/sip-6.6.1
index 38d7c3ddecd0..2fc9a0dca201 100644
--- a/metadata/md5-cache/dev-python/sip-6.6.1
+++ b/metadata/md5-cache/dev-python/sip-6.6.1
@@ -5,11 +5,11 @@ EAPI=8
HOMEPAGE=https://www.riverbankcomputing.com/software/sip/ https://pypi.org/project/sip/
INHERIT=distutils-r1
IUSE=doc python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~alpha ~amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc ~x86
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86
LICENSE=|| ( GPL-2 GPL-3 SIP )
RDEPEND=!<dev-python/sip-4.19.25-r1[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] !=dev-python/sip-5.5.0-r0[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/packaging[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/ply[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/setuptools[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] dev-python/toml[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
SLOT=5
SRC_URI=mirror://pypi/s/sip/sip-6.6.1.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=7d66c1c9756804c2bdaa274af83cb4f8
+_md5_=4aa71a6552dcfbc229c0e2354e2ecf91
diff --git a/metadata/md5-cache/dev-python/tweedledum-1.1.1 b/metadata/md5-cache/dev-python/tweedledum-1.1.1
new file mode 100644
index 000000000000..cf32ff500170
--- /dev/null
+++ b/metadata/md5-cache/dev-python/tweedledum-1.1.1
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-util/cmake-3.18 >=dev-python/scikit-build-0.12.0 test? ( >=dev-python/pytest-7.1.2[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) >=dev-python/gpep517-6[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] >=dev-python/setuptools-62.3.3[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?] dev-python/wheel[python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Library for analysis, compilation, synthesis, optimization of quantum circuits
+EAPI=8
+HOMEPAGE=https://github.com/boschmitt/tweedledum
+INHERIT=distutils-r1
+IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
+REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/boschmitt/tweedledum/archive/refs/tags/v1.1.1.tar.gz -> tweedledum-1.1.1.gh.tar.gz
+_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=bbaf9794a1a7911830c7778376257a71
diff --git a/metadata/md5-cache/dev-python/watchdog-2.1.9 b/metadata/md5-cache/dev-python/watchdog-2.1.9
index 9ada89271edc..84eeda996768 100644
--- a/metadata/md5-cache/dev-python/watchdog-2.1.9
+++ b/metadata/md5-cache/dev-python/watchdog-2.1.9
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://github.com/gorakhargosh/watchdog/ https://pypi.org/project/watchdog/
INHERIT=distutils-r1 optfeature
IUSE=test python_targets_pypy3 python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11
-KEYWORDS=~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc ~x86
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86
LICENSE=Apache-2.0
RDEPEND=dev-python/pyyaml[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] python_targets_pypy3? ( >=dev-python/pypy3-7.3.9_p1:0= ) python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) python_targets_python3_11? ( >=dev-lang/python-3.11.0_beta4:3.11 )
REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 python_targets_python3_11 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/gorakhargosh/watchdog/archive/v2.1.9.tar.gz -> watchdog-2.1.9.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature d524f291c80f9d21ad80fe978e3ca760 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=75fc810f576baa6fe99a4520e8c33451
+_md5_=73e1bf101b6cc0b874f9b2c60f5d5926
diff --git a/metadata/md5-cache/dev-python/yara-python-4.2.0-r2 b/metadata/md5-cache/dev-python/yara-python-4.2.0-r2
index 2f5c70b39fcc..5f8580281beb 100644
--- a/metadata/md5-cache/dev-python/yara-python-4.2.0-r2
+++ b/metadata/md5-cache/dev-python/yara-python-4.2.0-r2
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=https://github.com/VirusTotal/yara-python
INHERIT=distutils-r1
IUSE=test python_targets_python3_8 python_targets_python3_9 python_targets_python3_10
-KEYWORDS=~amd64 ~ppc64 ~x86
+KEYWORDS=amd64 ~ppc64 x86
LICENSE=Apache-2.0
RDEPEND=python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) =app-forensics/yara-4.2* python_targets_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_targets_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_targets_python3_10? ( >=dev-lang/python-3.10.4:3.10 )
REQUIRED_USE=|| ( python_targets_python3_8 python_targets_python3_9 python_targets_python3_10 )
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/virustotal/yara-python/archive/v4.2.0.tar.gz -> yara-python-4.2.0.gh.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=ea0ae638b953e4c72aa8f2027de026fe
+_md5_=8c0b5f42ebbeaef65cbfbd0dc4f3d381
diff --git a/metadata/md5-cache/dev-util/Manifest.gz b/metadata/md5-cache/dev-util/Manifest.gz
index d2229c21fa04..09a49c393935 100644
--- a/metadata/md5-cache/dev-util/Manifest.gz
+++ b/metadata/md5-cache/dev-util/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-util/gn-0.2049 b/metadata/md5-cache/dev-util/gn-0.2049
new file mode 100644
index 000000000000..371aa3b9241a
--- /dev/null
+++ b/metadata/md5-cache/dev-util/gn-0.2049
@@ -0,0 +1,13 @@
+BDEPEND=|| ( >=dev-lang/python-3.10.4:3.10 >=dev-lang/python-3.9.12:3.9 >=dev-lang/python-3.8.13:3.8 ) dev-util/ninja
+DEFINED_PHASES=compile configure install setup test
+DESCRIPTION=GN is a meta-build system that generates build files for Ninja
+EAPI=8
+HOMEPAGE=https://gn.googlesource.com/
+INHERIT=ninja-utils python-any-r1 toolchain-funcs
+IUSE=vim-syntax
+KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=BSD
+SLOT=0
+SRC_URI=https://dev.gentoo.org/~xen0n/distfiles/dev-util/gn/gn-0.2049.tar.xz
+_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=df7882c234147485e6630cb06767c9c2
diff --git a/metadata/md5-cache/dev-util/google-perftools-2.10 b/metadata/md5-cache/dev-util/google-perftools-2.10
new file mode 100644
index 000000000000..3e65b6f306c3
--- /dev/null
+++ b/metadata/md5-cache/dev-util/google-perftools-2.10
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=!ppc64? ( riscv? ( sys-libs/llvm-libunwind:= ) !riscv? ( sys-libs/libunwind:= ) )
+DESCRIPTION=Fast, multi-threaded malloc() and nifty performance analysis tools
+EAPI=8
+HOMEPAGE=https://github.com/gperftools/gperftools
+INHERIT=flag-o-matic autotools vcs-snapshot multilib-minimal
+IUSE=largepages largepages64k +debug minimal optimisememory test static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64
+KEYWORDS=-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux
+LICENSE=MIT
+RDEPEND=!ppc64? ( riscv? ( sys-libs/llvm-libunwind:= ) !riscv? ( sys-libs/libunwind:= ) )
+RESTRICT=!test? ( test )
+SLOT=0/4
+SRC_URI=https://github.com/gperftools/gperftools/archive/gperftools-2.10.tar.gz
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb vcs-snapshot 19dc666868420457132a7514d4621476
+_md5_=3dde221769330f157c13b1246ab8519d
diff --git a/metadata/md5-cache/dev-util/samurai-1.2-r1 b/metadata/md5-cache/dev-util/samurai-1.2-r2
index fa97c521fdb8..72c6955b2ba9 100644
--- a/metadata/md5-cache/dev-util/samurai-1.2-r1
+++ b/metadata/md5-cache/dev-util/samurai-1.2-r2
@@ -1,6 +1,6 @@
DEFINED_PHASES=compile install
DESCRIPTION=ninja-compatible build tool written in C
-EAPI=7
+EAPI=8
HOMEPAGE=https://github.com/michaelforney/samurai
INHERIT=toolchain-funcs
KEYWORDS=~amd64 ~arm ~arm64 ~x86
@@ -8,4 +8,4 @@ LICENSE=ISC Apache-2.0 MIT
SLOT=0
SRC_URI=https://github.com/michaelforney/samurai/releases/download/1.2/samurai-1.2.tar.gz
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=36ce0045c43a8555335d205c49311010
+_md5_=e67a51b619601af7126033f9738fbc33
diff --git a/metadata/md5-cache/dev-util/samurai-9999 b/metadata/md5-cache/dev-util/samurai-9999
index 28c7e268c254..c32a6e51f48d 100644
--- a/metadata/md5-cache/dev-util/samurai-9999
+++ b/metadata/md5-cache/dev-util/samurai-9999
@@ -1,11 +1,11 @@
BDEPEND=>=dev-vcs/git-1.8.2.1[curl]
DEFINED_PHASES=compile install unpack
DESCRIPTION=ninja-compatible build tool written in C
-EAPI=7
+EAPI=8
HOMEPAGE=https://github.com/michaelforney/samurai
INHERIT=toolchain-funcs git-r3
LICENSE=ISC Apache-2.0 MIT
PROPERTIES=live
SLOT=0
_eclasses_=git-r3 b9ac6f96d2a88edb5b351df634dc5e53 multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=5c541aed34963e15d23beb3b22b1bfaa
+_md5_=f03d4f652d1655187edde3dc0622c161
diff --git a/metadata/md5-cache/dev-vcs/Manifest.gz b/metadata/md5-cache/dev-vcs/Manifest.gz
index 12d488de5541..b5d229e6c1b5 100644
--- a/metadata/md5-cache/dev-vcs/Manifest.gz
+++ b/metadata/md5-cache/dev-vcs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-vcs/python-gitlab-3.5.0 b/metadata/md5-cache/dev-vcs/python-gitlab-3.5.0
index 76979d9a9a3f..0a9516ef88a6 100644
--- a/metadata/md5-cache/dev-vcs/python-gitlab-3.5.0
+++ b/metadata/md5-cache/dev-vcs/python-gitlab-3.5.0
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=mirror://pypi/p/python-gitlab/python-gitlab-3.5.0.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=56f1e531c52e6d9ca6cb3716e0294108
+_md5_=a9a888244ff2457419ac095a2aed0e87
diff --git a/metadata/md5-cache/dev-vcs/python-gitlab-3.6.0 b/metadata/md5-cache/dev-vcs/python-gitlab-3.6.0
index 0310a7d69ef2..1d86096c5151 100644
--- a/metadata/md5-cache/dev-vcs/python-gitlab-3.6.0
+++ b/metadata/md5-cache/dev-vcs/python-gitlab-3.6.0
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=mirror://pypi/p/python-gitlab/python-gitlab-3.6.0.tar.gz
_eclasses_=distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-r1 e2883e4f04f0503cdf7f2954e2bf5e15 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=1ed23f0ffc476e5487cb208ef91aa3c4
+_md5_=0fa3b546d35a787a1bd59cc04c875da8
diff --git a/metadata/md5-cache/games-strategy/Manifest.gz b/metadata/md5-cache/games-strategy/Manifest.gz
index ee62d553e0ff..552fb46066e5 100644
--- a/metadata/md5-cache/games-strategy/Manifest.gz
+++ b/metadata/md5-cache/games-strategy/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/games-strategy/augustus-3.0.1 b/metadata/md5-cache/games-strategy/augustus-3.0.1
index 741c6578b74a..24885d9e7533 100644
--- a/metadata/md5-cache/games-strategy/augustus-3.0.1
+++ b/metadata/md5-cache/games-strategy/augustus-3.0.1
@@ -12,4 +12,4 @@ RDEPEND=dev-libs/expat media-libs/libpng:0= media-libs/libsdl2[joystick,video,so
SLOT=0
SRC_URI=https://github.com/Keriew/augustus/archive/refs/tags/v3.0.1.tar.gz -> augustus-3.0.1.tar.gz
_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=d58a51c4eb754897c600c7d745a00e4f
+_md5_=463560dcac4577b7d1e5843cd21a6c32
diff --git a/metadata/md5-cache/games-strategy/julius-1.6.0 b/metadata/md5-cache/games-strategy/julius-1.6.0
index 5e9d7667ef88..4cd5086cafb7 100644
--- a/metadata/md5-cache/games-strategy/julius-1.6.0
+++ b/metadata/md5-cache/games-strategy/julius-1.6.0
@@ -11,4 +11,4 @@ RDEPEND=media-libs/libpng:= media-libs/libsdl2[joystick,video,sound] media-libs/
SLOT=0
SRC_URI=https://github.com/bvschaik/julius/archive/v1.6.0.tar.gz -> julius-1.6.0.tar.gz
_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=23293e6900f64385ed71aaee2e92b25b
+_md5_=df4d8dbf0d84d7c7eafea6fb47567597
diff --git a/metadata/md5-cache/games-util/Manifest.gz b/metadata/md5-cache/games-util/Manifest.gz
index dc55e81c4e24..e058aa2615d8 100644
--- a/metadata/md5-cache/games-util/Manifest.gz
+++ b/metadata/md5-cache/games-util/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/games-util/gamemode-1.6.1 b/metadata/md5-cache/games-util/gamemode-1.6.1
index c6c7a0c85eae..cf9c56b62d9d 100644
--- a/metadata/md5-cache/games-util/gamemode-1.6.1
+++ b/metadata/md5-cache/games-util/gamemode-1.6.1
@@ -13,4 +13,4 @@ REQUIRED_USE=^^ ( systemd elogind ) || ( abi_x86_32 abi_x86_64 )
SLOT=0
SRC_URI=https://github.com/FeralInteractive/gamemode/releases/download/1.6.1/gamemode-1.6.1.tar.xz
_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 meson 46c25780996ffc397131ecd35a2194a2 meson-multilib 84c0d4019bf29be0d9d0a2d98fb8b0d9 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=bcfa571dcbe73fd500244c7c4488ff71
+_md5_=be1c4abb47cdb8d077f0473be54042fc
diff --git a/metadata/md5-cache/mate-extra/Manifest.gz b/metadata/md5-cache/mate-extra/Manifest.gz
index f8b5e46c3379..4bdb9ac48547 100644
--- a/metadata/md5-cache/mate-extra/Manifest.gz
+++ b/metadata/md5-cache/mate-extra/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/mate-extra/mate-power-manager-1.24.3 b/metadata/md5-cache/mate-extra/mate-power-manager-1.24.3
index 37a9c8143b43..50562262f8a7 100644
--- a/metadata/md5-cache/mate-extra/mate-power-manager-1.24.3
+++ b/metadata/md5-cache/mate-extra/mate-power-manager-1.24.3
@@ -13,4 +13,4 @@ RESTRICT=test
SLOT=0
SRC_URI=https://pub.mate-desktop.org/releases/1.24/mate-power-manager-1.24.3.tar.xz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa eapi7-ver 1a0a60ad07c8b32d2faba2d085dc0f24 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 6af347b3c27477b48efaaa1261a0dd69 estack 055c42df72f76a4f45ec92b35e83cd56 eutils dab5d8ec471d025b79c9e6906bcf3bff gnome.org 429073e99d7067d3462e875bf5c6e14a gnome2 4f729d9211b2e3c00a285d6301a557e1 gnome2-utils 2116cec8f46f4d1b0a88c5b1f1575dd3 gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e ltprune 97143780d341cc8d8f1d4c6187a36d29 mate e29617c33d6e271931938d0073817dde mate-desktop.org 0da897c64adb500292c6b9db3e424496 multilib 4fbbbc98f236f1b43acd99476bc3cd85 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb vcs-clean d271b7bc7e6a009758d7d4ef749174e3 versionator d3fb3ba33acc3bbbdc4d7970227c100d wrapper 4a1902f969e5718126434fc35f3a0d9c xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=fe25cd2c6f5edd9a5100bc484e3ffaf3
+_md5_=41535653a14116ceb5068c1c90462146
diff --git a/metadata/md5-cache/mate-extra/mate-sensors-applet-1.24.1 b/metadata/md5-cache/mate-extra/mate-sensors-applet-1.24.1
index 482196eb7910..849cc0dfcf00 100644
--- a/metadata/md5-cache/mate-extra/mate-sensors-applet-1.24.1
+++ b/metadata/md5-cache/mate-extra/mate-sensors-applet-1.24.1
@@ -12,4 +12,4 @@ RDEPEND=>=dev-libs/glib-2.50:2 >=mate-base/mate-panel-1.17.0 >=x11-libs/cairo-1.
SLOT=0
SRC_URI=https://pub.mate-desktop.org/releases/1.24/mate-sensors-applet-1.24.1.tar.xz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa eapi7-ver 1a0a60ad07c8b32d2faba2d085dc0f24 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch 6af347b3c27477b48efaaa1261a0dd69 estack 055c42df72f76a4f45ec92b35e83cd56 eutils dab5d8ec471d025b79c9e6906bcf3bff gnome.org 429073e99d7067d3462e875bf5c6e14a gnome2 4f729d9211b2e3c00a285d6301a557e1 gnome2-utils 2116cec8f46f4d1b0a88c5b1f1575dd3 gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e ltprune 97143780d341cc8d8f1d4c6187a36d29 mate e29617c33d6e271931938d0073817dde mate-desktop.org 0da897c64adb500292c6b9db3e424496 multilib 4fbbbc98f236f1b43acd99476bc3cd85 preserve-libs a8e50acee31b5759b4df1f7707cae54b strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb vcs-clean d271b7bc7e6a009758d7d4ef749174e3 versionator d3fb3ba33acc3bbbdc4d7970227c100d wrapper 4a1902f969e5718126434fc35f3a0d9c xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=944858f8162fbdc401833847849ec04e
+_md5_=da7c5f5c906661da6d5778e22d95747c
diff --git a/metadata/md5-cache/media-gfx/Manifest.gz b/metadata/md5-cache/media-gfx/Manifest.gz
index 59a4461de857..4ca055a383a5 100644
--- a/metadata/md5-cache/media-gfx/Manifest.gz
+++ b/metadata/md5-cache/media-gfx/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/media-gfx/gscan2pdf-2.12.4 b/metadata/md5-cache/media-gfx/gscan2pdf-2.12.8
index 6cb085d3a362..57ba6996838b 100644
--- a/metadata/md5-cache/media-gfx/gscan2pdf-2.12.4
+++ b/metadata/md5-cache/media-gfx/gscan2pdf-2.12.8
@@ -6,11 +6,11 @@ EAPI=8
HOMEPAGE=http://gscan2pdf.sourceforge.net/
INHERIT=optfeature perl-module virtualx xdg-utils
IUSE=test test test
-KEYWORDS=amd64 ~arm64 x86
+KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=GPL-3
RDEPEND=dev-perl/Config-General dev-perl/Data-UUID dev-perl/Date-Calc dev-perl/Filesys-Df dev-perl/glib-perl dev-perl/GooCanvas2 dev-perl/Gtk3 >=dev-perl/Gtk3-ImageView-10.0.0 dev-perl/Gtk3-SimpleList dev-perl/HTML-Parser dev-perl/Image-Sane dev-perl/List-MoreUtils dev-perl/Locale-Codes dev-perl/Locale-gettext dev-perl/Log-Log4perl >=dev-perl/PDF-Builder-3.23.0 dev-perl/Proc-ProcessTable dev-perl/Readonly dev-perl/Set-IntSpan dev-perl/Try-Tiny virtual/perl-Archive-Tar virtual/perl-Carp virtual/perl-Data-Dumper virtual/perl-File-Temp virtual/perl-Getopt-Long virtual/perl-threads virtual/perl-threads-shared media-gfx/imagemagick[png,tiff,perl] media-gfx/sane-backends media-libs/tiff dev-lang/perl:=
RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
SLOT=0
-SRC_URI=mirror://sourceforge/gscan2pdf/gscan2pdf-2.12.4.tar.xz
+SRC_URI=mirror://sourceforge/gscan2pdf/gscan2pdf-2.12.8.tar.xz
_eclasses_=multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature d524f291c80f9d21ad80fe978e3ca760 perl-functions 95b2df43c5f3057b6e77bd00b4d953da perl-module f2c1b0dd41761ffc8441cd041e4bb7ec readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 virtualx 975d49ff3b3f451efe7a95f230532135 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=02e80f1b25f40fe1c3cb7d4e759edc25
+_md5_=b811fbb11e5c83f8dc2db7147f16d335
diff --git a/metadata/md5-cache/media-gfx/hydrus-481 b/metadata/md5-cache/media-gfx/hydrus-481
deleted file mode 100644
index c4b1c34a5f92..000000000000
--- a/metadata/md5-cache/media-gfx/hydrus-481
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_8? ( dev-python/cbor2[python_targets_python3_8(-)] dev-python/chardet[python_targets_python3_8(-)] dev-python/cloudscraper[python_targets_python3_8(-)] dev-python/html5lib[python_targets_python3_8(-)] dev-python/lxml[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] dev-python/pillow[python_targets_python3_8(-),lcms] dev-python/psutil[python_targets_python3_8(-)] dev-python/pyopenssl[python_targets_python3_8(-)] dev-python/pyside2[widgets,gui,python_targets_python3_8(-)] dev-python/python-mpv[python_targets_python3_8(-)] dev-python/pyyaml[python_targets_python3_8(-)] dev-python/requests[python_targets_python3_8(-)] dev-python/send2trash[python_targets_python3_8(-)] dev-python/service_identity[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] dev-python/twisted[python_targets_python3_8(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_8(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_8(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_8(-)] dev-python/beautifulsoup4[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/cbor2[python_targets_python3_9(-)] dev-python/chardet[python_targets_python3_9(-)] dev-python/cloudscraper[python_targets_python3_9(-)] dev-python/html5lib[python_targets_python3_9(-)] dev-python/lxml[python_targets_python3_9(-)] dev-python/numpy[python_targets_python3_9(-)] dev-python/pillow[python_targets_python3_9(-),lcms] dev-python/psutil[python_targets_python3_9(-)] dev-python/pyopenssl[python_targets_python3_9(-)] dev-python/pyside2[widgets,gui,python_targets_python3_9(-)] dev-python/python-mpv[python_targets_python3_9(-)] dev-python/pyyaml[python_targets_python3_9(-)] dev-python/requests[python_targets_python3_9(-)] dev-python/send2trash[python_targets_python3_9(-)] dev-python/service_identity[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] dev-python/twisted[python_targets_python3_9(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_9(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_9(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_9(-)] dev-python/beautifulsoup4[python_targets_python3_9(-)] ) python_single_target_python3_8? ( test? ( dev-python/httmock[python_targets_python3_8(-)] dev-python/mock[python_targets_python3_8(-)] dev-python/nose[python_targets_python3_8(-)] ) ) python_single_target_python3_9? ( test? ( dev-python/httmock[python_targets_python3_9(-)] dev-python/mock[python_targets_python3_9(-)] dev-python/nose[python_targets_python3_9(-)] ) ) doc? ( python_single_target_python3_8? ( dev-python/mkdocs[python_targets_python3_8(-)] dev-python/mkdocs-material[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mkdocs[python_targets_python3_9(-)] dev-python/mkdocs-material[python_targets_python3_9(-)] ) )
-DEFINED_PHASES=compile install postinst prepare setup test
-DESCRIPTION=A booru-like media organizer for the desktop
-EAPI=7
-HOMEPAGE=https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus
-INHERIT=python-single-r1 desktop docs optfeature
-IUSE=test python_single_target_python3_8 python_single_target_python3_9 doc
-KEYWORDS=~amd64
-LICENSE=WTFPL-2 CC-BY-2.5
-RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_8? ( dev-python/cbor2[python_targets_python3_8(-)] dev-python/chardet[python_targets_python3_8(-)] dev-python/cloudscraper[python_targets_python3_8(-)] dev-python/html5lib[python_targets_python3_8(-)] dev-python/lxml[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] dev-python/pillow[python_targets_python3_8(-),lcms] dev-python/psutil[python_targets_python3_8(-)] dev-python/pyopenssl[python_targets_python3_8(-)] dev-python/pyside2[widgets,gui,python_targets_python3_8(-)] dev-python/python-mpv[python_targets_python3_8(-)] dev-python/pyyaml[python_targets_python3_8(-)] dev-python/requests[python_targets_python3_8(-)] dev-python/send2trash[python_targets_python3_8(-)] dev-python/service_identity[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] dev-python/twisted[python_targets_python3_8(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_8(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_8(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_8(-)] dev-python/beautifulsoup4[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/cbor2[python_targets_python3_9(-)] dev-python/chardet[python_targets_python3_9(-)] dev-python/cloudscraper[python_targets_python3_9(-)] dev-python/html5lib[python_targets_python3_9(-)] dev-python/lxml[python_targets_python3_9(-)] dev-python/numpy[python_targets_python3_9(-)] dev-python/pillow[python_targets_python3_9(-),lcms] dev-python/psutil[python_targets_python3_9(-)] dev-python/pyopenssl[python_targets_python3_9(-)] dev-python/pyside2[widgets,gui,python_targets_python3_9(-)] dev-python/python-mpv[python_targets_python3_9(-)] dev-python/pyyaml[python_targets_python3_9(-)] dev-python/requests[python_targets_python3_9(-)] dev-python/send2trash[python_targets_python3_9(-)] dev-python/service_identity[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] dev-python/twisted[python_targets_python3_9(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_9(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_9(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_9(-)] dev-python/beautifulsoup4[python_targets_python3_9(-)] )
-REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/hydrusnetwork/hydrus/archive/v481.tar.gz -> hydrus-481.tar.gz
-_eclasses_=desktop 22952d8f27cac191d75529d4c38e6bfa docs 8ed2a8a28ff109e7a3582c9abb7fe327 eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature d524f291c80f9d21ad80fe978e3ca760 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=5c02c467b4bcde6b9b5fb901dbce056a
diff --git a/metadata/md5-cache/media-gfx/hydrus-490 b/metadata/md5-cache/media-gfx/hydrus-490
new file mode 100644
index 000000000000..da11230ab6fb
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/hydrus-490
@@ -0,0 +1,16 @@
+BDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) python_single_target_python3_8? ( dev-python/cbor2[python_targets_python3_8(-)] dev-python/chardet[python_targets_python3_8(-)] dev-python/cloudscraper[python_targets_python3_8(-)] dev-python/html5lib[python_targets_python3_8(-)] dev-python/lxml[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] dev-python/pillow[python_targets_python3_8(-),lcms] dev-python/psutil[python_targets_python3_8(-)] dev-python/pyopenssl[python_targets_python3_8(-)] dev-python/pyside2[widgets,gui,python_targets_python3_8(-)] dev-python/python-mpv[python_targets_python3_8(-)] dev-python/pyyaml[python_targets_python3_8(-)] dev-python/requests[python_targets_python3_8(-)] dev-python/send2trash[python_targets_python3_8(-)] dev-python/service_identity[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] dev-python/twisted[python_targets_python3_8(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_8(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_8(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_8(-)] dev-python/beautifulsoup4[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/cbor2[python_targets_python3_9(-)] dev-python/chardet[python_targets_python3_9(-)] dev-python/cloudscraper[python_targets_python3_9(-)] dev-python/html5lib[python_targets_python3_9(-)] dev-python/lxml[python_targets_python3_9(-)] dev-python/numpy[python_targets_python3_9(-)] dev-python/pillow[python_targets_python3_9(-),lcms] dev-python/psutil[python_targets_python3_9(-)] dev-python/pyopenssl[python_targets_python3_9(-)] dev-python/pyside2[widgets,gui,python_targets_python3_9(-)] dev-python/python-mpv[python_targets_python3_9(-)] dev-python/pyyaml[python_targets_python3_9(-)] dev-python/requests[python_targets_python3_9(-)] dev-python/send2trash[python_targets_python3_9(-)] dev-python/service_identity[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] dev-python/twisted[python_targets_python3_9(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_9(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_9(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_9(-)] dev-python/beautifulsoup4[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/cbor2[python_targets_python3_10(-)] dev-python/chardet[python_targets_python3_10(-)] dev-python/cloudscraper[python_targets_python3_10(-)] dev-python/html5lib[python_targets_python3_10(-)] dev-python/lxml[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/pillow[python_targets_python3_10(-),lcms] dev-python/psutil[python_targets_python3_10(-)] dev-python/pyopenssl[python_targets_python3_10(-)] dev-python/pyside2[widgets,gui,python_targets_python3_10(-)] dev-python/python-mpv[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] dev-python/send2trash[python_targets_python3_10(-)] dev-python/service_identity[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] dev-python/twisted[python_targets_python3_10(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_10(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_10(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_10(-)] dev-python/beautifulsoup4[python_targets_python3_10(-)] ) python_single_target_python3_8? ( test? ( dev-python/httmock[python_targets_python3_8(-)] dev-python/mock[python_targets_python3_8(-)] dev-python/nose[python_targets_python3_8(-)] ) ) python_single_target_python3_9? ( test? ( dev-python/httmock[python_targets_python3_9(-)] dev-python/mock[python_targets_python3_9(-)] dev-python/nose[python_targets_python3_9(-)] ) ) python_single_target_python3_10? ( test? ( dev-python/httmock[python_targets_python3_10(-)] dev-python/mock[python_targets_python3_10(-)] dev-python/nose[python_targets_python3_10(-)] ) ) doc? ( python_single_target_python3_8? ( dev-python/mkdocs[python_targets_python3_8(-)] dev-python/mkdocs-material[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/mkdocs[python_targets_python3_9(-)] dev-python/mkdocs-material[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/mkdocs[python_targets_python3_10(-)] dev-python/mkdocs-material[python_targets_python3_10(-)] ) )
+DEFINED_PHASES=compile install postinst prepare setup test
+DESCRIPTION=A booru-like media organizer for the desktop
+EAPI=7
+HOMEPAGE=https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus
+INHERIT=python-single-r1 desktop docs optfeature
+IUSE=test python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 doc
+KEYWORDS=~amd64
+LICENSE=WTFPL-2 CC-BY-2.5
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) python_single_target_python3_8? ( dev-python/cbor2[python_targets_python3_8(-)] dev-python/chardet[python_targets_python3_8(-)] dev-python/cloudscraper[python_targets_python3_8(-)] dev-python/html5lib[python_targets_python3_8(-)] dev-python/lxml[python_targets_python3_8(-)] dev-python/numpy[python_targets_python3_8(-)] dev-python/pillow[python_targets_python3_8(-),lcms] dev-python/psutil[python_targets_python3_8(-)] dev-python/pyopenssl[python_targets_python3_8(-)] dev-python/pyside2[widgets,gui,python_targets_python3_8(-)] dev-python/python-mpv[python_targets_python3_8(-)] dev-python/pyyaml[python_targets_python3_8(-)] dev-python/requests[python_targets_python3_8(-)] dev-python/send2trash[python_targets_python3_8(-)] dev-python/service_identity[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] dev-python/twisted[python_targets_python3_8(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_8(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_8(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_8(-)] dev-python/beautifulsoup4[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/cbor2[python_targets_python3_9(-)] dev-python/chardet[python_targets_python3_9(-)] dev-python/cloudscraper[python_targets_python3_9(-)] dev-python/html5lib[python_targets_python3_9(-)] dev-python/lxml[python_targets_python3_9(-)] dev-python/numpy[python_targets_python3_9(-)] dev-python/pillow[python_targets_python3_9(-),lcms] dev-python/psutil[python_targets_python3_9(-)] dev-python/pyopenssl[python_targets_python3_9(-)] dev-python/pyside2[widgets,gui,python_targets_python3_9(-)] dev-python/python-mpv[python_targets_python3_9(-)] dev-python/pyyaml[python_targets_python3_9(-)] dev-python/requests[python_targets_python3_9(-)] dev-python/send2trash[python_targets_python3_9(-)] dev-python/service_identity[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] dev-python/twisted[python_targets_python3_9(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_9(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_9(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_9(-)] dev-python/beautifulsoup4[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/cbor2[python_targets_python3_10(-)] dev-python/chardet[python_targets_python3_10(-)] dev-python/cloudscraper[python_targets_python3_10(-)] dev-python/html5lib[python_targets_python3_10(-)] dev-python/lxml[python_targets_python3_10(-)] dev-python/numpy[python_targets_python3_10(-)] dev-python/pillow[python_targets_python3_10(-),lcms] dev-python/psutil[python_targets_python3_10(-)] dev-python/pyopenssl[python_targets_python3_10(-)] dev-python/pyside2[widgets,gui,python_targets_python3_10(-)] dev-python/python-mpv[python_targets_python3_10(-)] dev-python/pyyaml[python_targets_python3_10(-)] dev-python/requests[python_targets_python3_10(-)] dev-python/send2trash[python_targets_python3_10(-)] dev-python/service_identity[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] dev-python/twisted[python_targets_python3_10(-)] media-libs/opencv[python,png,jpeg,python_targets_python3_10(-)] media-video/ffmpeg media-video/mpv[libmpv,python_targets_python3_10(-)] >=dev-python/QtPy-1.9.0-r4[pyside2,python_targets_python3_10(-)] dev-python/beautifulsoup4[python_targets_python3_10(-)] )
+REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/hydrusnetwork/hydrus/archive/v490.tar.gz -> hydrus-490.tar.gz
+_eclasses_=desktop 22952d8f27cac191d75529d4c38e6bfa docs 8ed2a8a28ff109e7a3582c9abb7fe327 eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature d524f291c80f9d21ad80fe978e3ca760 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=8d8b3335494d8d3d37d47797bbda8e0b
diff --git a/metadata/md5-cache/media-libs/Manifest.gz b/metadata/md5-cache/media-libs/Manifest.gz
index 67bbc0f1c1a0..1111a746120f 100644
--- a/metadata/md5-cache/media-libs/Manifest.gz
+++ b/metadata/md5-cache/media-libs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/media-libs/netpbm-10.86.33 b/metadata/md5-cache/media-libs/netpbm-10.86.33
new file mode 100644
index 000000000000..bf2666bf9da7
--- /dev/null
+++ b/metadata/md5-cache/media-libs/netpbm-10.86.33
@@ -0,0 +1,15 @@
+BDEPEND=app-arch/xz-utils sys-devel/flex virtual/pkgconfig
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=jbig? ( media-libs/jbigkit:= ) jpeg? ( media-libs/libjpeg-turbo:=[static-libs?] ) png? ( >=media-libs/libpng-1.4:0= sys-libs/zlib ) postscript? ( app-text/ghostscript-gpl sys-libs/zlib ) rle? ( media-libs/urt:= ) svga? ( media-libs/svgalib ) tiff? ( >=media-libs/tiff-3.5.5:0 ) xml? ( dev-libs/libxml2 ) X? ( x11-libs/libX11 )
+DESCRIPTION=A set of utilities for converting to/from the netpbm (and related) formats
+EAPI=8
+HOMEPAGE=http://netpbm.sourceforge.net/
+INHERIT=flag-o-matic multilib toolchain-funcs
+IUSE=jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux
+LICENSE=GPL-2
+RDEPEND=jbig? ( media-libs/jbigkit:= ) jpeg? ( media-libs/libjpeg-turbo:=[static-libs?] ) png? ( >=media-libs/libpng-1.4:0= sys-libs/zlib ) postscript? ( app-text/ghostscript-gpl sys-libs/zlib ) rle? ( media-libs/urt:= ) svga? ( media-libs/svgalib ) tiff? ( >=media-libs/tiff-3.5.5:0 ) xml? ( dev-libs/libxml2 ) X? ( x11-libs/libX11 )
+SLOT=0
+SRC_URI=https://github.com/ceamac/netpbm-make-dist/releases/download/v10.86.33/netpbm-10.86.33.tar.xz
+_eclasses_=flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
+_md5_=c6ede40779ae77b446559258b03ae758
diff --git a/metadata/md5-cache/media-video/Manifest.gz b/metadata/md5-cache/media-video/Manifest.gz
index 91969367cbc6..c885946c9c36 100644
--- a/metadata/md5-cache/media-video/Manifest.gz
+++ b/metadata/md5-cache/media-video/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/media-video/jellyfin-media-player-1.7.1 b/metadata/md5-cache/media-video/jellyfin-media-player-1.7.1
new file mode 100644
index 000000000000..62c00cce77fa
--- /dev/null
+++ b/metadata/md5-cache/media-video/jellyfin-media-player-1.7.1
@@ -0,0 +1,15 @@
+BDEPEND=|| ( >=dev-lang/python-3.11.0_beta4:3.11 >=dev-lang/python-3.10.4:3.10 >=dev-lang/python-3.9.12:3.9 >=dev-lang/python-3.8.13:3.8 ) virtual/pkgconfig >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=dev-libs/libcec dev-qt/qtcore:5 dev-qt/qtdeclarative:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtquickcontrols:5 dev-qt/qtwebchannel:5 dev-qt/qtwebengine:5 dev-qt/qtwidgets:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 media-libs/libsdl2 media-video/mpv[libmpv] sys-libs/zlib virtual/opengl x11-libs/libX11 x11-libs/libXrandr dbus? ( dev-qt/qtdbus:5 )
+DESCRIPTION=Jellyfin Desktop Client based on Plex Media Player
+EAPI=8
+HOMEPAGE=https://github.com/jellyfin/jellyfin-media-player
+INHERIT=cmake python-any-r1
+IUSE=+dbus
+KEYWORDS=~amd64
+LICENSE=GPL-2 BSD MIT
+RDEPEND=dev-libs/libcec dev-qt/qtcore:5 dev-qt/qtdeclarative:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtquickcontrols:5 dev-qt/qtwebchannel:5 dev-qt/qtwebengine:5 dev-qt/qtwidgets:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 dev-qt/qtxml:5 media-libs/libsdl2 media-video/mpv[libmpv] sys-libs/zlib virtual/opengl x11-libs/libX11 x11-libs/libXrandr dbus? ( dev-qt/qtdbus:5 ) ~media-video/jellyfin-web-jmp-bin-10.8.1 !dbus? ( x11-misc/xdg-utils )
+SLOT=0
+SRC_URI=https://github.com/jellyfin/jellyfin-media-player/archive/refs/tags/v1.7.1.tar.gz -> jellyfin-media-player-1.7.1.tar.gz
+_eclasses_=cmake 44afbf15c35884f7c840470f1cf05d0d flag-o-matic a3abd6002fafb3022597be6b8d01f88b multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=dda6d02ffb42d5f2354ed70f09558cdc
diff --git a/metadata/md5-cache/media-video/jellyfin-web-jmp-bin-10.8.1 b/metadata/md5-cache/media-video/jellyfin-web-jmp-bin-10.8.1
new file mode 100644
index 000000000000..2a85e6734e3a
--- /dev/null
+++ b/metadata/md5-cache/media-video/jellyfin-web-jmp-bin-10.8.1
@@ -0,0 +1,10 @@
+BDEPEND=app-arch/unzip
+DEFINED_PHASES=install
+DESCRIPTION=Modified Jellyfin Web Client for use inside Jellyfin Media Player
+EAPI=8
+HOMEPAGE=https://github.com/jellyfin/jellyfin-media-player
+KEYWORDS=~amd64
+LICENSE=GPL-2
+SLOT=0
+SRC_URI=https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-10.8.1/dist.zip -> jellyfin-web-jmp-bin-10.8.1.zip
+_md5_=62118152c297129b8d82d75922af3f8c
diff --git a/metadata/md5-cache/net-analyzer/Manifest.gz b/metadata/md5-cache/net-analyzer/Manifest.gz
index ac649fce70b4..558ff1fe76de 100644
--- a/metadata/md5-cache/net-analyzer/Manifest.gz
+++ b/metadata/md5-cache/net-analyzer/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-analyzer/net-snmp-5.9.2 b/metadata/md5-cache/net-analyzer/net-snmp-5.9.3
index 78258b10780f..249d9c34f522 100644
--- a/metadata/md5-cache/net-analyzer/net-snmp-5.9.2
+++ b/metadata/md5-cache/net-analyzer/net-snmp-5.9.3
@@ -6,12 +6,12 @@ EAPI=8
HOMEPAGE=https://www.net-snmp.org/
INHERIT=autotools distutils-r1 perl-module systemd
IUSE=X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mysql netlink pcap pci perl python rpm selinux smux ssl tcpd ucd-compat zlib python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+KEYWORDS=~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86
LICENSE=HPND BSD GPL-2
-RDEPEND=virtual/libcrypt:= bzip2? ( app-arch/bzip2 ) elf? ( dev-libs/elfutils ) lm-sensors? ( sys-apps/lm-sensors ) mysql? ( dev-db/mysql-connector-c:0= ) netlink? ( dev-libs/libnl:3 ) pcap? ( net-libs/libpcap ) pci? ( sys-apps/pciutils ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python3_8? ( dev-python/setuptools[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/setuptools[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) ) rpm? ( app-arch/rpm dev-libs/popt ) ssl? ( >=dev-libs/openssl-0.9.6d:0= ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) zlib? ( >=sys-libs/zlib-1.1.4 ) perl? ( X? ( dev-perl/Tk ) !minimal? ( dev-perl/TermReadKey ) ) selinux? ( sec-policy/selinux-snmp )
+RDEPEND=virtual/libcrypt:= bzip2? ( app-arch/bzip2 ) elf? ( dev-libs/elfutils ) lm-sensors? ( sys-apps/lm-sensors ) mysql? ( dev-db/mysql-connector-c:0= ) netlink? ( dev-libs/libnl:3 ) pcap? ( net-libs/libpcap ) pci? ( sys-apps/pciutils ) perl? ( dev-lang/perl:= ) python? ( python_single_target_python3_8? ( dev-python/setuptools[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/setuptools[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8 ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9 ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10 ) ) rpm? ( app-arch/rpm dev-libs/popt ) ssl? ( >=dev-libs/openssl-0.9.6d:0= ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) zlib? ( >=sys-libs/zlib-1.1.4 ) perl? ( X? ( dev-perl/Tk ) !minimal? ( virtual/perl-Carp virtual/perl-Data-Dumper virtual/perl-Getopt-Long dev-perl/JSON dev-perl/Mail-Sender dev-perl/TermReadKey virtual/perl-Term-ReadLine ) ) selinux? ( sec-policy/selinux-snmp )
REQUIRED_USE=python? ( ^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) ) rpm? ( bzip2 zlib )
RESTRICT=test
SLOT=0/40
-SRC_URI=mirror://sourceforge/net-snmp/5.9.2/net-snmp-5.9.2.tar.gz https://dev.gentoo.org/~jsmolic/distfiles/net-snmp-5.7.3-patches-3.tar.xz
+SRC_URI=mirror://sourceforge/net-snmp/5.9.3/net-snmp-5.9.3.tar.gz https://dev.gentoo.org/~jsmolic/distfiles/net-snmp-5.7.3-patches-3.tar.xz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f distutils-r1 a012c7f8c0a9dddadb3a4f56364c8f62 gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 perl-functions 95b2df43c5f3057b6e77bd00b4d953da perl-module f2c1b0dd41761ffc8441cd041e4bb7ec python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=dd7e2ff8366e5afb3463166e3a35f42b
+_md5_=c466689f5393aa70f3d51f6cd37a499d
diff --git a/metadata/md5-cache/net-firewall/Manifest.gz b/metadata/md5-cache/net-firewall/Manifest.gz
index 6b3cb5b1932c..9670fc18074a 100644
--- a/metadata/md5-cache/net-firewall/Manifest.gz
+++ b/metadata/md5-cache/net-firewall/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-firewall/ferm-2.5.1 b/metadata/md5-cache/net-firewall/ferm-2.7
index 9552e1af5b2a..06cb5a930cf4 100644
--- a/metadata/md5-cache/net-firewall/ferm-2.5.1
+++ b/metadata/md5-cache/net-firewall/ferm-2.7
@@ -1,14 +1,14 @@
BDEPEND=virtual/pkgconfig
DEFINED_PHASES=install postinst
DESCRIPTION=Command line util for managing firewall rules
-EAPI=7
+EAPI=8
HOMEPAGE=http://ferm.foo-projects.org/
INHERIT=systemd
-KEYWORDS=amd64 ppc x86
+KEYWORDS=~amd64 ~ppc ~x86
LICENSE=GPL-2+
RDEPEND=dev-lang/perl:* net-firewall/iptables virtual/perl-File-Spec
RESTRICT=test
SLOT=0
-SRC_URI=http://ferm.foo-projects.org/download/2.5/ferm-2.5.1.tar.xz
+SRC_URI=http://ferm.foo-projects.org/download/2.7/ferm-2.7.tar.xz
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=9153e6a3f55ae3cf4ed6557c4996cde4
+_md5_=e0ee44786f05c5b3c1b821f0bfa23ec7
diff --git a/metadata/md5-cache/net-im/Manifest.gz b/metadata/md5-cache/net-im/Manifest.gz
index f0706e4167a1..77abfb134094 100644
--- a/metadata/md5-cache/net-im/Manifest.gz
+++ b/metadata/md5-cache/net-im/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-im/signal-desktop-bin-5.48.0 b/metadata/md5-cache/net-im/signal-desktop-bin-5.50.0
index b71bca4d016c..428eaf656117 100644
--- a/metadata/md5-cache/net-im/signal-desktop-bin-5.48.0
+++ b/metadata/md5-cache/net-im/signal-desktop-bin-5.50.0
@@ -9,6 +9,6 @@ LICENSE=GPL-3 MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 ISC openssl ZL
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-libs/alsa-lib media-libs/mesa[X(+)] net-print/cups sys-apps/dbus[X] x11-libs/gdk-pixbuf:2 x11-libs/cairo x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/pango sound? ( || ( media-sound/pulseaudio media-sound/apulse ) )
RESTRICT=splitdebug
SLOT=0
-SRC_URI=https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_5.48.0_amd64.deb
+SRC_URI=https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_5.50.0_amd64.deb
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=f96d7557a20fe2bdf2fb6af689ba7ef3
diff --git a/metadata/md5-cache/net-misc/Manifest.gz b/metadata/md5-cache/net-misc/Manifest.gz
index ffc4075b8592..32574e7bc8ff 100644
--- a/metadata/md5-cache/net-misc/Manifest.gz
+++ b/metadata/md5-cache/net-misc/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r3 b/metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r4
index df963b30176f..22bc6930e07a 100644
--- a/metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r3
+++ b/metadata/md5-cache/net-misc/dahdi-tools-3.1.0-r4
@@ -1,5 +1,5 @@
BDEPEND=dev-lang/perl sys-apps/file sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4 virtual/pkgconfig
-DEFINED_PHASES=configure install postinst prepare
+DEFINED_PHASES=configure install postinst postrm prepare
DEPEND=dev-libs/newt net-misc/dahdi sys-kernel/linux-headers virtual/libusb:0 ppp? ( net-dialup/ppp:= )
DESCRIPTION=Userspace tools to configure the kernel modules from net-misc/dahdi
EAPI=7
@@ -12,4 +12,4 @@ RDEPEND=dev-libs/newt net-misc/dahdi sys-kernel/linux-headers virtual/libusb:0 p
SLOT=0
SRC_URI=https://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-3.1.0.tar.gz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 perl-functions 95b2df43c5f3057b6e77bd00b4d953da toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb udev f3a0a3964e2028a140c181f00eea9712
-_md5_=da05e9ac35a6e57cf46c5fee816dceec
+_md5_=ce39d24ed4b4b03058b295cf9fecc65c
diff --git a/metadata/md5-cache/net-misc/icaclient-22.5.0.16 b/metadata/md5-cache/net-misc/icaclient-22.5.0.16
index f882ba99a354..28b14e13f6ed 100644
--- a/metadata/md5-cache/net-misc/icaclient-22.5.0.16
+++ b/metadata/md5-cache/net-misc/icaclient-22.5.0.16
@@ -1,4 +1,4 @@
-DEFINED_PHASES=install nofetch postinst postrm prepare setup
+DEFINED_PHASES=install nofetch postinst postrm prepare setup unpack
DESCRIPTION=ICA Client for Citrix Presentation servers
EAPI=8
HOMEPAGE=https://www.citrix.com/
@@ -11,4 +11,4 @@ RESTRICT=mirror strip userpriv fetch
SLOT=0
SRC_URI=amd64? ( linuxx64-22.5.0.16.tar.gz ) x86? ( linuxx86-22.5.0.16.tar.gz )
_eclasses_=desktop 22952d8f27cac191d75529d4c38e6bfa wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=7995ddebdba760c63d5a4a7ccccc7683
+_md5_=17f90c376627ff6bbb0b8d4043d6a408
diff --git a/metadata/md5-cache/net-misc/icaclient-22.7.0.20 b/metadata/md5-cache/net-misc/icaclient-22.7.0.20
new file mode 100644
index 000000000000..2f34c208bef0
--- /dev/null
+++ b/metadata/md5-cache/net-misc/icaclient-22.7.0.20
@@ -0,0 +1,14 @@
+DEFINED_PHASES=install nofetch postinst postrm prepare setup unpack
+DESCRIPTION=ICA Client for Citrix Presentation servers
+EAPI=8
+HOMEPAGE=https://www.citrix.com/
+INHERIT=desktop wrapper xdg-utils
+IUSE=l10n_de l10n_es l10n_fr l10n_ja l10n_zh-CN
+KEYWORDS=-* ~amd64 ~x86
+LICENSE=icaclient
+RDEPEND=app-crypt/libsecret dev-libs/atk dev-libs/glib:2 dev-libs/libxml2 media-fonts/font-adobe-100dpi media-fonts/font-misc-misc media-fonts/font-cursor-misc media-fonts/font-xfree86-type1 media-fonts/font-misc-ethiopic media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/gst-plugins-base:1.0 media-libs/gstreamer:1.0 media-libs/libogg media-libs/libjpeg-turbo media-libs/libvorbis media-libs/speex net-libs/libsoup:2.4 net-libs/webkit-gtk:4 sys-apps/util-linux sys-libs/libcxx sys-libs/libcxxabi sys-libs/zlib virtual/krb5 virtual/libudev x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:2 x11-libs/gtk+:3 x11-libs/libX11 x11-libs/libXaw x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXinerama x11-libs/libXmu x11-libs/libXrender x11-libs/libXt x11-libs/pango
+RESTRICT=mirror strip userpriv fetch
+SLOT=0
+SRC_URI=amd64? ( linuxx64-22.7.0.20.tar.gz ) x86? ( linuxx86-22.7.0.20.tar.gz )
+_eclasses_=desktop 22952d8f27cac191d75529d4c38e6bfa wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=1a719267d666b34d8130e5740eddcbda
diff --git a/metadata/md5-cache/net-nds/Manifest.gz b/metadata/md5-cache/net-nds/Manifest.gz
index 18896dce043f..a54bd3654459 100644
--- a/metadata/md5-cache/net-nds/Manifest.gz
+++ b/metadata/md5-cache/net-nds/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-nds/openldap-2.5.4-r1 b/metadata/md5-cache/net-nds/openldap-2.5.4-r1
deleted file mode 100644
index 2d5d619cdd93..000000000000
--- a/metadata/md5-cache/net-nds/openldap-2.5.4-r1
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=!minimal? ( acct-group/ldap acct-user/ldap ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4 ssl? ( dev-libs/openssl:0 ) virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst preinst prepare setup test
-DEPEND=ssl? ( !gnutls? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libgcrypt-1.5.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) sasl? ( dev-libs/cyrus-sasl:= ) !minimal? ( dev-libs/libltdl sys-fs/e2fsprogs >=dev-db/lmdb-0.9.18:= crypt? ( virtual/libcrypt:= ) tcpd? ( sys-apps/tcp-wrappers ) odbc? ( !iodbc? ( dev-db/unixODBC ) iodbc? ( dev-db/libiodbc ) ) perl? ( dev-lang/perl:=[-build(-)] ) samba? ( dev-libs/openssl:0= ) smbkrb5passwd? ( dev-libs/openssl:0= kerberos? ( app-crypt/heimdal ) ) kerberos? ( virtual/krb5 kinit? ( !app-crypt/heimdal ) ) cxx? ( dev-libs/cyrus-sasl:= ) ) sys-apps/groff
-DESCRIPTION=LDAP suite of application and development tools
-EAPI=7
-HOMEPAGE=https://www.OpenLDAP.org/
-INHERIT=autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles
-IUSE=crypt samba tcpd experimental minimal overlays perl gnutls iodbc sasl ssl odbc debug ipv6 +syslog selinux static-libs test smbkrb5passwd kerberos kinit pbkdf2 sha2 cxx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 ssl
-LICENSE=OPENLDAP GPL-2
-RDEPEND=ssl? ( !gnutls? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libgcrypt-1.5.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) sasl? ( dev-libs/cyrus-sasl:= ) !minimal? ( dev-libs/libltdl sys-fs/e2fsprogs >=dev-db/lmdb-0.9.18:= crypt? ( virtual/libcrypt:= ) tcpd? ( sys-apps/tcp-wrappers ) odbc? ( !iodbc? ( dev-db/unixODBC ) iodbc? ( dev-db/libiodbc ) ) perl? ( dev-lang/perl:=[-build(-)] ) samba? ( dev-libs/openssl:0= ) smbkrb5passwd? ( dev-libs/openssl:0= kerberos? ( app-crypt/heimdal ) ) kerberos? ( virtual/krb5 kinit? ( !app-crypt/heimdal ) ) cxx? ( dev-libs/cyrus-sasl:= ) ) selinux? ( sec-policy/selinux-ldap ) virtual/tmpfiles
-REQUIRED_USE=cxx? ( sasl ) pbkdf2? ( ssl ) ?? ( test minimal )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.4.tgz http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/openldap-2.5.4.tgz http://repository.linagora.org/OpenLDAP/openldap-release/openldap-2.5.4.tgz http://mirror.eu.oneandone.net/software/openldap/openldap-release/openldap-2.5.4.tgz mirror://gentoo/rfc2307bis.schema-20140524
-_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b preserve-libs a8e50acee31b5759b4df1f7707cae54b ssl-cert 6dbe6a8a3dccb3d2f28f8404cd02c7d7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c
-_md5_=fe8f0ac2d3754760fbf16feb708d47cb
diff --git a/metadata/md5-cache/net-nds/openldap-2.6.1-r1 b/metadata/md5-cache/net-nds/openldap-2.6.3
index c310163472a5..d90a57501d43 100644
--- a/metadata/md5-cache/net-nds/openldap-2.6.1-r1
+++ b/metadata/md5-cache/net-nds/openldap-2.6.3
@@ -3,7 +3,7 @@ DEFINED_PHASES=compile configure install postinst preinst prepare setup test
DEPEND=kernel_linux? ( sys-apps/util-linux ) ssl? ( !gnutls? ( >=dev-libs/openssl-1.0.1h-r2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libgcrypt-1.5.3:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) sasl? ( dev-libs/cyrus-sasl:= ) !minimal? ( dev-libs/libltdl sys-fs/e2fsprogs >=dev-db/lmdb-0.9.18:= argon2? ( app-crypt/argon2:= ) crypt? ( virtual/libcrypt:= ) tcpd? ( sys-apps/tcp-wrappers ) odbc? ( !iodbc? ( dev-db/unixODBC ) iodbc? ( dev-db/libiodbc ) ) perl? ( dev-lang/perl:=[-build(-)] ) samba? ( dev-libs/openssl:0= ) smbkrb5passwd? ( dev-libs/openssl:0= kerberos? ( app-crypt/heimdal ) ) kerberos? ( virtual/krb5 kinit? ( !app-crypt/heimdal ) ) ) sys-apps/groff
DESCRIPTION=LDAP suite of application and development tools
EAPI=7
-HOMEPAGE=https://www.OpenLDAP.org/
+HOMEPAGE=https://www.openldap.org/
INHERIT=autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles
IUSE=systemd argon2 +cleartext crypt experimental minimal samba tcpd overlays perl autoca debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test kerberos kinit pbkdf2 sha2 smbkrb5passwd cxx abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 ssl
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris
@@ -12,6 +12,6 @@ RDEPEND=kernel_linux? ( sys-apps/util-linux ) ssl? ( !gnutls? ( >=dev-libs/opens
REQUIRED_USE=cxx? ( sasl ) pbkdf2? ( ssl ) test? ( cleartext sasl ) autoca? ( !gnutls ) ?? ( test minimal )
RESTRICT=!test? ( test )
SLOT=0/2.6
-SRC_URI=https://gitlab.com/openldap/openldap/-/archive/OPENLDAP_REL_ENG_2_6_1/openldap-OPENLDAP_REL_ENG_2_6_1.tar.gz mirror://gentoo/rfc2307bis.schema-20140524
+SRC_URI=https://gitlab.com/openldap/openldap/-/archive/OPENLDAP_REL_ENG_2_6_3/openldap-OPENLDAP_REL_ENG_2_6_3.tar.gz mirror://gentoo/rfc2307bis.schema-20140524
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b preserve-libs a8e50acee31b5759b4df1f7707cae54b ssl-cert 6dbe6a8a3dccb3d2f28f8404cd02c7d7 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wrapper 4a1902f969e5718126434fc35f3a0d9c
-_md5_=730a8a4f1f66973e1fbbb6c8376ee946
+_md5_=da1956bc4f5561c24639b39acec4a716
diff --git a/metadata/md5-cache/sci-geosciences/Manifest.gz b/metadata/md5-cache/sci-geosciences/Manifest.gz
index 34ca79bd38a6..8710c5d1e0ed 100644
--- a/metadata/md5-cache/sci-geosciences/Manifest.gz
+++ b/metadata/md5-cache/sci-geosciences/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sci-geosciences/grass-7.8.7-r1 b/metadata/md5-cache/sci-geosciences/grass-7.8.7-r1
new file mode 100644
index 000000000000..7d3845c65df0
--- /dev/null
+++ b/metadata/md5-cache/sci-geosciences/grass-7.8.7-r1
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/bison sys-devel/flex sys-devel/gettext virtual/pkgconfig X? ( dev-lang/swig ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup
+DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) liblas? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( <sci-libs/pdal-2.4.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd ) X? ( x11-base/xorg-proto )
+DESCRIPTION=A free GIS with raster and vector functionality, as well as 3D vizualization
+EAPI=8
+HOMEPAGE=https://grass.osgeo.org/
+INHERIT=autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+IUSE=blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) liblas? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( <sci-libs/pdal-2.4.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd )
+REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) opengl? ( X )
+SLOT=0/7.8.0
+SRC_URI=https://grass.osgeo.org/grass78/source/grass-7.8.7.tar.gz
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wxwidgets c09e9b94378cadaf6ef86ec1534c0fd6 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=65deb1043036e048d029c208809b2b8b
diff --git a/metadata/md5-cache/sci-geosciences/grass-8.0.2-r1 b/metadata/md5-cache/sci-geosciences/grass-8.0.2-r1
new file mode 100644
index 000000000000..7d24e938f7e1
--- /dev/null
+++ b/metadata/md5-cache/sci-geosciences/grass-8.0.2-r1
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/bison sys-devel/flex sys-devel/gettext virtual/pkgconfig X? ( dev-lang/swig ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup
+DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd ) X? ( x11-base/xorg-proto )
+DESCRIPTION=A free GIS with raster and vector functionality, as well as 3D vizualization
+EAPI=8
+HOMEPAGE=https://grass.osgeo.org/
+INHERIT=autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+IUSE=blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd )
+REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) opengl? ( X )
+SLOT=0/8.0
+SRC_URI=https://grass.osgeo.org/grass/source/grass-8.0.2.tar.gz
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wxwidgets c09e9b94378cadaf6ef86ec1534c0fd6 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=ac06d4ba2e466b268c573535aa140993
diff --git a/metadata/md5-cache/sci-geosciences/grass-8.2.0-r1 b/metadata/md5-cache/sci-geosciences/grass-8.2.0-r1
new file mode 100644
index 000000000000..2211caa5112b
--- /dev/null
+++ b/metadata/md5-cache/sci-geosciences/grass-8.2.0-r1
@@ -0,0 +1,16 @@
+BDEPEND=sys-devel/bison sys-devel/flex sys-devel/gettext virtual/pkgconfig X? ( dev-lang/swig ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup
+DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd ) X? ( x11-base/xorg-proto )
+DESCRIPTION=A free GIS with raster and vector functionality, as well as 3D vizualization
+EAPI=8
+HOMEPAGE=https://grass.osgeo.org/
+INHERIT=autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+IUSE=blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd )
+REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) opengl? ( X )
+SLOT=0/8.2
+SRC_URI=https://grass.osgeo.org/grass/source/grass-8.2.0.tar.gz
+_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wxwidgets c09e9b94378cadaf6ef86ec1534c0fd6 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=1da2d3179d231ba2ba9343b175e5d49e
diff --git a/metadata/md5-cache/sci-geosciences/grass-9999 b/metadata/md5-cache/sci-geosciences/grass-9999
index 43e07cf056f7..cd6e05a6d75f 100644
--- a/metadata/md5-cache/sci-geosciences/grass-9999
+++ b/metadata/md5-cache/sci-geosciences/grass-9999
@@ -1,15 +1,15 @@
BDEPEND=sys-devel/bison sys-devel/flex sys-devel/gettext virtual/pkgconfig X? ( dev-lang/swig ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1[curl]
DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup unpack
-DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd ) X? ( x11-base/xorg-proto )
+DEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd ) X? ( x11-base/xorg-proto )
DESCRIPTION=A free GIS with raster and vector functionality, as well as 3D vizualization
EAPI=8
HOMEPAGE=https://grass.osgeo.org/
INHERIT=autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg git-r3
-IUSE=blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype X zstd python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
+IUSE=blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10
LICENSE=GPL-2
PROPERTIES=live
-RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd )
+RDEPEND=python_single_target_python3_8? ( >=dev-lang/python-3.8.13:3.8[sqlite] ) python_single_target_python3_9? ( >=dev-lang/python-3.9.12:3.9[sqlite] ) python_single_target_python3_10? ( >=dev-lang/python-3.10.4:3.10[sqlite] ) >=app-admin/eselect-1.2 python_single_target_python3_8? ( dev-python/numpy[python_targets_python3_8(-)] dev-python/six[python_targets_python3_8(-)] ) python_single_target_python3_9? ( dev-python/numpy[python_targets_python3_9(-)] dev-python/six[python_targets_python3_9(-)] ) python_single_target_python3_10? ( dev-python/numpy[python_targets_python3_10(-)] dev-python/six[python_targets_python3_10(-)] ) sci-libs/gdal:= sys-libs/gdbm:= sys-libs/ncurses:0= sci-libs/proj:= sci-libs/xdrfile sys-libs/zlib media-libs/libglvnd media-libs/glu blas? ( virtual/cblas[eselect-ldso(+)] virtual/blas[eselect-ldso(+)] ) fftw? ( sci-libs/fftw:3.0= ) geos? ( sci-libs/geos:= ) lapack? ( virtual/lapack[eselect-ldso(+)] ) las? ( sci-geosciences/liblas ) mysql? ( dev-db/mysql-connector-c:= ) netcdf? ( sci-libs/netcdf:= ) odbc? ( dev-db/unixODBC ) opencl? ( virtual/opencl ) opengl? ( virtual/opengl ) pdal? ( >=sci-libs/pdal-2.0.0:0= ) png? ( media-libs/libpng:0= ) postgres? ( >=dev-db/postgresql-8.4:= ) readline? ( sys-libs/readline:0= ) sqlite? ( dev-db/sqlite:3 ) tiff? ( media-libs/tiff:0= ) truetype? ( media-libs/freetype:2 ) X? ( dev-python/wxpython:4.0 x11-libs/cairo[X,opengl?] x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) zstd? ( app-arch/zstd )
REQUIRED_USE=^^ ( python_single_target_python3_8 python_single_target_python3_9 python_single_target_python3_10 ) opengl? ( X )
SLOT=0/8.3
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b git-r3 b9ac6f96d2a88edb5b351df634dc5e53 gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 a5747fe6dc0651d95cb78eddd5e160a8 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb wxwidgets c09e9b94378cadaf6ef86ec1534c0fd6 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=f9bb351278123df76e7abb7a51ac6ced
+_md5_=e0669c139a841fc54a2486e614eda9bb
diff --git a/metadata/md5-cache/sys-apps/Manifest.gz b/metadata/md5-cache/sys-apps/Manifest.gz
index 40707c1a7e51..8d4ac237fac3 100644
--- a/metadata/md5-cache/sys-apps/Manifest.gz
+++ b/metadata/md5-cache/sys-apps/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-apps/plocate-1.1.16 b/metadata/md5-cache/sys-apps/plocate-1.1.16
index 814b866824a3..b42f15174c53 100644
--- a/metadata/md5-cache/sys-apps/plocate-1.1.16
+++ b/metadata/md5-cache/sys-apps/plocate-1.1.16
@@ -12,4 +12,4 @@ RDEPEND=acct-group/locate app-arch/zstd:= io-uring? ( sys-libs/liburing:= ) !sys
SLOT=0
SRC_URI=https://plocate.sesse.net/download/plocate-1.1.16.tar.gz
_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 linux-info dcbf4f67bc38bee48e9d69a4344e8059 meson 46c25780996ffc397131ecd35a2194a2 multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=731d77e813dfaa78005f0b3a16e92dc0
+_md5_=fef4b5c6d1221b5d9d02732b888a772c
diff --git a/metadata/md5-cache/sys-apps/systemd-251.2 b/metadata/md5-cache/sys-apps/systemd-251.2
index e1cfc8923b27..9fb0dd7b1504 100644
--- a/metadata/md5-cache/sys-apps/systemd-251.2
+++ b/metadata/md5-cache/sys-apps/systemd-251.2
@@ -6,7 +6,7 @@ EAPI=7
HOMEPAGE=http://systemd.io/
INHERIT=bash-completion-r1 flag-o-matic linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
IUSE=acl apparmor audit build cgroup-hybrid cryptsetup curl +dns-over-tls elfutils fido2 +gcrypt gnuefi gnutls homed http idn importd iptables +kmod +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 split-usr
-KEYWORDS=~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86
+KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86
LICENSE=GPL-2 LGPL-2.1 MIT public-domain
PDEPEND=>=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) !vanilla? ( sys-apps/gentoo-systemd-integration )
RDEPEND=>=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) apparmor? ( sys-libs/libapparmor:0= ) audit? ( >=sys-process/audit-2:0= ) cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) curl? ( net-misc/curl:0= ) elfutils? ( >=dev-libs/elfutils-0.158:0= ) fido2? ( dev-libs/libfido2:0= ) gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-3.6.0:0= ) http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) idn? ( net-dns/libidn2:= ) importd? ( app-arch/bzip2:0= sys-libs/zlib:0= ) kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) iptables? ( net-firewall/iptables:0= ) openssl? ( >=dev-libs/openssl-1.1.0:0= ) pam? ( sys-libs/pam:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pkcs11? ( app-crypt/p11-kit:0= ) pcre? ( dev-libs/libpcre2 ) pwquality? ( dev-libs/libpwquality:0= ) qrcode? ( media-gfx/qrencode:0= ) seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) selinux? ( sys-libs/libselinux:0= ) tpm? ( app-crypt/tpm2-tss:0= ) xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) zstd? ( >=app-arch/zstd-1.4.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=acct-group/adm-0-r1 >=acct-group/wheel-0-r1 >=acct-group/kmem-0-r1 >=acct-group/tty-0-r1 >=acct-group/utmp-0-r1 >=acct-group/audio-0-r1 >=acct-group/cdrom-0-r1 >=acct-group/dialout-0-r1 >=acct-group/disk-0-r1 >=acct-group/input-0-r1 >=acct-group/kvm-0-r1 >=acct-group/lp-0-r1 >=acct-group/render-0-r1 acct-group/sgx >=acct-group/tape-0-r1 acct-group/users >=acct-group/video-0-r1 >=acct-group/systemd-journal-0-r1 >=acct-user/root-0-r1 acct-user/nobody >=acct-user/systemd-journal-remote-0-r1 >=acct-user/systemd-coredump-0-r1 >=acct-user/systemd-network-0-r1 acct-user/systemd-oom >=acct-user/systemd-resolve-0-r1 >=acct-user/systemd-timesync-0-r1 >=sys-apps/baselayout-2.2 selinux? ( sec-policy/selinux-base-policy[systemd] sec-policy/selinux-ntp ) sysv-utils? ( !sys-apps/openrc[sysv-utils(-)] !sys-apps/sysvinit ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) !build? ( || ( sys-apps/util-linux[kill(-)] sys-process/procps[kill(+)] sys-apps/coreutils[kill(-)] ) ) !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev
@@ -15,4 +15,4 @@ RESTRICT=!test? ( test )
SLOT=0/2
SRC_URI=https://github.com/systemd/systemd-stable/archive/v251.2/systemd-stable-251.2.tar.gz
_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b linux-info dcbf4f67bc38bee48e9d69a4344e8059 meson 46c25780996ffc397131ecd35a2194a2 meson-multilib 84c0d4019bf29be0d9d0a2d98fb8b0d9 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pam e44a1dd98f13e1ad76de01e919bde1f1 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb udev f3a0a3964e2028a140c181f00eea9712 usr-ldscript 5c738dce357b54d5a90e30094d2f983c wrapper 4a1902f969e5718126434fc35f3a0d9c
-_md5_=e5099d9c046ea549f773fdcceb114a0e
+_md5_=387e35a1d6275af15550adeeb4db27bf
diff --git a/metadata/md5-cache/sys-apps/systemd-251.3 b/metadata/md5-cache/sys-apps/systemd-251.3
new file mode 100644
index 000000000000..b54d6b2b97bf
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/systemd-251.3
@@ -0,0 +1,18 @@
+BDEPEND=app-arch/xz-utils:0 dev-util/gperf >=dev-util/meson-0.46 >=sys-apps/coreutils-8.16 sys-devel/gettext virtual/pkgconfig test? ( app-text/tree dev-lang/perl sys-apps/dbus ) app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt:0 || ( ( >=dev-lang/python-3.11.0_beta4:3.11 dev-python/jinja[python_targets_python3_11(-)] ) ( >=dev-lang/python-3.10.4:3.10 dev-python/jinja[python_targets_python3_10(-)] ) ( >=dev-lang/python-3.9.12:3.9 dev-python/jinja[python_targets_python3_9(-)] ) ( >=dev-lang/python-3.8.13:3.8 dev-python/jinja[python_targets_python3_8(-)] ) ) || ( ( >=dev-lang/python-3.11.0_beta4:3.11 dev-python/lxml[python_targets_python3_11(-)] ) ( >=dev-lang/python-3.10.4:3.10 dev-python/lxml[python_targets_python3_10(-)] ) ( >=dev-lang/python-3.9.12:3.9 dev-python/lxml[python_targets_python3_9(-)] ) ( >=dev-lang/python-3.8.13:3.8 dev-python/lxml[python_targets_python3_8(-)] ) ) >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst preinst prepare prerm pretend setup test unpack
+DEPEND=>=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) apparmor? ( sys-libs/libapparmor:0= ) audit? ( >=sys-process/audit-2:0= ) cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) curl? ( net-misc/curl:0= ) elfutils? ( >=dev-libs/elfutils-0.158:0= ) fido2? ( dev-libs/libfido2:0= ) gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-3.6.0:0= ) http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) idn? ( net-dns/libidn2:= ) importd? ( app-arch/bzip2:0= sys-libs/zlib:0= ) kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) iptables? ( net-firewall/iptables:0= ) openssl? ( >=dev-libs/openssl-1.1.0:0= ) pam? ( sys-libs/pam:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pkcs11? ( app-crypt/p11-kit:0= ) pcre? ( dev-libs/libpcre2 ) pwquality? ( dev-libs/libpwquality:0= ) qrcode? ( media-gfx/qrencode:0= ) seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) selinux? ( sys-libs/libselinux:0= ) tpm? ( app-crypt/tpm2-tss:0= ) xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) zstd? ( >=app-arch/zstd-1.4.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=sys-kernel/linux-headers-4.15 gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
+DESCRIPTION=System and service manager for Linux
+EAPI=7
+HOMEPAGE=http://systemd.io/
+INHERIT=bash-completion-r1 flag-o-matic linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
+IUSE=acl apparmor audit build cgroup-hybrid cryptsetup curl +dns-over-tls elfutils fido2 +gcrypt gnuefi gnutls homed http idn importd iptables +kmod +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 split-usr
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+LICENSE=GPL-2 LGPL-2.1 MIT public-domain
+PDEPEND=>=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) !vanilla? ( sys-apps/gentoo-systemd-integration )
+RDEPEND=>=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) apparmor? ( sys-libs/libapparmor:0= ) audit? ( >=sys-process/audit-2:0= ) cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) curl? ( net-misc/curl:0= ) elfutils? ( >=dev-libs/elfutils-0.158:0= ) fido2? ( dev-libs/libfido2:0= ) gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gnutls? ( >=net-libs/gnutls-3.6.0:0= ) http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) idn? ( net-dns/libidn2:= ) importd? ( app-arch/bzip2:0= sys-libs/zlib:0= ) kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p131:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) iptables? ( net-firewall/iptables:0= ) openssl? ( >=dev-libs/openssl-1.1.0:0= ) pam? ( sys-libs/pam:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pkcs11? ( app-crypt/p11-kit:0= ) pcre? ( dev-libs/libpcre2 ) pwquality? ( dev-libs/libpwquality:0= ) qrcode? ( media-gfx/qrencode:0= ) seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) selinux? ( sys-libs/libselinux:0= ) tpm? ( app-crypt/tpm2-tss:0= ) xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) zstd? ( >=app-arch/zstd-1.4.0:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=acct-group/adm-0-r1 >=acct-group/wheel-0-r1 >=acct-group/kmem-0-r1 >=acct-group/tty-0-r1 >=acct-group/utmp-0-r1 >=acct-group/audio-0-r1 >=acct-group/cdrom-0-r1 >=acct-group/dialout-0-r1 >=acct-group/disk-0-r1 >=acct-group/input-0-r1 >=acct-group/kvm-0-r1 >=acct-group/lp-0-r1 >=acct-group/render-0-r1 acct-group/sgx >=acct-group/tape-0-r1 acct-group/users >=acct-group/video-0-r1 >=acct-group/systemd-journal-0-r1 >=acct-user/root-0-r1 acct-user/nobody >=acct-user/systemd-journal-remote-0-r1 >=acct-user/systemd-coredump-0-r1 >=acct-user/systemd-network-0-r1 acct-user/systemd-oom >=acct-user/systemd-resolve-0-r1 >=acct-user/systemd-timesync-0-r1 >=sys-apps/baselayout-2.2 selinux? ( sec-policy/selinux-base-policy[systemd] sec-policy/selinux-ntp ) sysv-utils? ( !sys-apps/openrc[sysv-utils(-)] !sys-apps/sysvinit ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) !build? ( || ( sys-apps/util-linux[kill(-)] sys-process/procps[kill(+)] sys-apps/coreutils[kill(-)] ) ) !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev
+REQUIRED_USE=dns-over-tls? ( || ( gnutls openssl ) ) homed? ( cryptsetup pam openssl ) importd? ( curl lzma || ( gcrypt openssl ) ) pwquality? ( homed )
+RESTRICT=!test? ( test )
+SLOT=0/2
+SRC_URI=https://github.com/systemd/systemd-stable/archive/v251.3/systemd-stable-251.3.tar.gz
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic a3abd6002fafb3022597be6b8d01f88b linux-info dcbf4f67bc38bee48e9d69a4344e8059 meson 46c25780996ffc397131ecd35a2194a2 meson-multilib 84c0d4019bf29be0d9d0a2d98fb8b0d9 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pam e44a1dd98f13e1ad76de01e919bde1f1 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 systemd 2736b403a83f194b59b767f3b344c2c1 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb udev f3a0a3964e2028a140c181f00eea9712 usr-ldscript 5c738dce357b54d5a90e30094d2f983c wrapper 4a1902f969e5718126434fc35f3a0d9c
+_md5_=81969f3b06e929ff3d72178b498c28e6
diff --git a/metadata/md5-cache/sys-apps/systemd-utils-250.8 b/metadata/md5-cache/sys-apps/systemd-utils-250.8
new file mode 100644
index 000000000000..6d4559e8fe7f
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/systemd-utils-250.8
@@ -0,0 +1,18 @@
+BDEPEND=|| ( ( >=dev-lang/python-3.11.0_beta4:3.11 dev-python/jinja[python_targets_python3_11(-)] ) ( >=dev-lang/python-3.10.4:3.10 dev-python/jinja[python_targets_python3_10(-)] ) ( >=dev-lang/python-3.9.12:3.9 dev-python/jinja[python_targets_python3_9(-)] ) ( >=dev-lang/python-3.8.13:3.8 dev-python/jinja[python_targets_python3_8(-)] ) ) app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt dev-util/gperf >=sys-apps/coreutils-8.16 sys-devel/gettext virtual/pkgconfig >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=selinux? ( sys-libs/libselinux:0= ) tmpfiles? ( acl? ( sys-apps/acl:0= ) ) udev? ( >=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) kmod? ( >=sys-apps/kmod-15:0= ) ) !udev? ( >=sys-apps/util-linux-2.30:0= sys-libs/libcap:0= virtual/libcrypt:= ) boot? ( >=sys-boot/gnu-efi-3.0.2 ) >=sys-kernel/linux-headers-3.11
+DESCRIPTION=Utilities split out from systemd for OpenRC users
+EAPI=8
+HOMEPAGE=https://systemd.io/
+INHERIT=bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
+IUSE=+acl boot +kmod selinux sysusers +tmpfiles test +udev abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 split-usr
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+LICENSE=GPL-2 LGPL-2.1 MIT public-domain
+PDEPEND=udev? ( >=sys-fs/udev-init-scripts-34 )
+RDEPEND=selinux? ( sys-libs/libselinux:0= ) tmpfiles? ( acl? ( sys-apps/acl:0= ) ) udev? ( >=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) kmod? ( >=sys-apps/kmod-15:0= ) ) !udev? ( >=sys-apps/util-linux-2.30:0= sys-libs/libcap:0= virtual/libcrypt:= ) boot? ( !<sys-boot/systemd-boot-250 ) tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 ) udev? ( acct-group/audio acct-group/cdrom acct-group/dialout acct-group/disk acct-group/input acct-group/kmem acct-group/kvm acct-group/lp acct-group/render acct-group/sgx acct-group/tape acct-group/tty acct-group/video !sys-apps/gentoo-systemd-integration !sys-apps/hwids[udev] !<sys-fs/udev-250 !sys-fs/eudev ) !sys-apps/systemd
+REQUIRED_USE=|| ( boot tmpfiles sysusers udev )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/systemd/systemd-stable/archive/refs/tags/v250.8.tar.gz -> systemd-stable-250.8.tar.gz elibc_musl? ( https://dev.gentoo.org/~floppym/dist/systemd-musl-patches-250.4.tar.gz )
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff flag-o-matic a3abd6002fafb3022597be6b8d01f88b meson 46c25780996ffc397131ecd35a2194a2 meson-multilib 84c0d4019bf29be0d9d0a2d98fb8b0d9 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb udev f3a0a3964e2028a140c181f00eea9712 usr-ldscript 5c738dce357b54d5a90e30094d2f983c
+_md5_=52a3e5b9935112b6b65e933364d04ef0
diff --git a/metadata/md5-cache/sys-apps/systemd-utils-251.3 b/metadata/md5-cache/sys-apps/systemd-utils-251.3
new file mode 100644
index 000000000000..9f35978890e1
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/systemd-utils-251.3
@@ -0,0 +1,18 @@
+BDEPEND=|| ( ( >=dev-lang/python-3.11.0_beta4:3.11 dev-python/jinja[python_targets_python3_11(-)] ) ( >=dev-lang/python-3.10.4:3.10 dev-python/jinja[python_targets_python3_10(-)] ) ( >=dev-lang/python-3.9.12:3.9 dev-python/jinja[python_targets_python3_9(-)] ) ( >=dev-lang/python-3.8.13:3.8 dev-python/jinja[python_targets_python3_8(-)] ) ) app-text/docbook-xml-dtd:4.2 app-text/docbook-xml-dtd:4.5 app-text/docbook-xsl-stylesheets dev-libs/libxslt dev-util/gperf >=sys-apps/coreutils-8.16 sys-devel/gettext virtual/pkgconfig >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=elibc_musl? ( >=sys-libs/musl-1.2.3 ) selinux? ( sys-libs/libselinux:0= ) tmpfiles? ( acl? ( sys-apps/acl:0= ) ) udev? ( >=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) kmod? ( >=sys-apps/kmod-15:0= ) ) !udev? ( >=sys-apps/util-linux-2.30:0= sys-libs/libcap:0= virtual/libcrypt:= ) >=sys-kernel/linux-headers-3.11 boot? ( >=sys-boot/gnu-efi-3.0.2 )
+DESCRIPTION=Utilities split out from systemd for OpenRC users
+EAPI=8
+HOMEPAGE=https://systemd.io/
+INHERIT=bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
+IUSE=+acl boot +kmod selinux sysusers +tmpfiles test +udev abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 split-usr
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+LICENSE=GPL-2 LGPL-2.1 MIT public-domain
+PDEPEND=udev? ( >=sys-fs/udev-init-scripts-34 )
+RDEPEND=elibc_musl? ( >=sys-libs/musl-1.2.3 ) selinux? ( sys-libs/libselinux:0= ) tmpfiles? ( acl? ( sys-apps/acl:0= ) ) udev? ( >=sys-apps/util-linux-2.30:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] sys-libs/libcap:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libcrypt:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] acl? ( sys-apps/acl:0= ) kmod? ( >=sys-apps/kmod-15:0= ) ) !udev? ( >=sys-apps/util-linux-2.30:0= sys-libs/libcap:0= virtual/libcrypt:= ) boot? ( !<sys-boot/systemd-boot-250 ) tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 ) udev? ( acct-group/audio acct-group/cdrom acct-group/dialout acct-group/disk acct-group/input acct-group/kmem acct-group/kvm acct-group/lp acct-group/render acct-group/sgx acct-group/tape acct-group/tty acct-group/video !sys-apps/gentoo-systemd-integration !sys-apps/hwids[udev] !<sys-fs/udev-250 !sys-fs/eudev ) !sys-apps/systemd
+REQUIRED_USE=|| ( boot tmpfiles sysusers udev )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/systemd/systemd-stable/archive/refs/tags/v251.3.tar.gz -> systemd-stable-251.3.tar.gz elibc_musl? ( https://dev.gentoo.org/~floppym/dist/systemd-musl-patches-251.2.tar.gz )
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff flag-o-matic a3abd6002fafb3022597be6b8d01f88b meson 46c25780996ffc397131ecd35a2194a2 meson-multilib 84c0d4019bf29be0d9d0a2d98fb8b0d9 multibuild d26d81f242cb193d899a72bca423d0bd multilib 4fbbbc98f236f1b43acd99476bc3cd85 multilib-build 05f207909a804c9174bc39a00547d598 multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb udev f3a0a3964e2028a140c181f00eea9712 usr-ldscript 5c738dce357b54d5a90e30094d2f983c
+_md5_=36046012ea2d2c4d9f4ebc0c7bb3b7bc
diff --git a/metadata/md5-cache/sys-fs/Manifest.gz b/metadata/md5-cache/sys-fs/Manifest.gz
index 148bf414c9db..eae5d4a54ea3 100644
--- a/metadata/md5-cache/sys-fs/Manifest.gz
+++ b/metadata/md5-cache/sys-fs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-fs/google-drive-ocamlfuse-0.7.29 b/metadata/md5-cache/sys-fs/google-drive-ocamlfuse-0.7.29
new file mode 100644
index 000000000000..02dc9b6006ec
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/google-drive-ocamlfuse-0.7.29
@@ -0,0 +1,16 @@
+BDEPEND=dev-ml/dune dev-lang/ocaml
+DEFINED_PHASES=compile install test
+DEPEND=>=dev-ml/gapi-ocaml-0.4.2:= >=dev-ml/ocamlfuse-2.7.1:= dev-ml/cryptokit:= dev-ml/extlib:= dev-ml/ocaml-sqlite3:= >=dev-ml/tiny_httpd-0.6:= dev-ml/camlidl:= test? ( dev-ml/ounit2 ) >=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:= >=dev-ml/findlib-1.0.4-r1[ocamlopt?]
+DESCRIPTION=FUSE filesystem over Google Drive
+EAPI=7
+HOMEPAGE=https://github.com/astrada/google-drive-ocamlfuse https://opam.ocaml.org/packages/google-drive-ocamlfuse/
+INHERIT=dune findlib
+IUSE=ocamlopt test +ocamlopt
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=>=dev-ml/gapi-ocaml-0.4.2:= >=dev-ml/ocamlfuse-2.7.1:= dev-ml/cryptokit:= dev-ml/extlib:= dev-ml/ocaml-sqlite3:= >=dev-ml/tiny_httpd-0.6:= >=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:= dev-lang/ocaml:=[ocamlopt?]
+RESTRICT=!test? ( test )
+SLOT=0/0.7.29
+SRC_URI=https://github.com/astrada/google-drive-ocamlfuse/archive/v0.7.29.tar.gz -> google-drive-ocamlfuse-0.7.29.gh.tar.gz
+_eclasses_=dune c8f275f00adf2380fe0a57d8a249885c findlib d8fa93cf137156660d0b72144b1e31d9 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730
+_md5_=0da587b468bdd28d7724bea5c6e74122
diff --git a/metadata/md5-cache/sys-fs/inotify-tools-3.22.6.0 b/metadata/md5-cache/sys-fs/inotify-tools-3.22.6.0
index f5df9aa13cfa..7349c4e4be11 100644
--- a/metadata/md5-cache/sys-fs/inotify-tools-3.22.6.0
+++ b/metadata/md5-cache/sys-fs/inotify-tools-3.22.6.0
@@ -5,9 +5,9 @@ EAPI=8
HOMEPAGE=https://github.com/inotify-tools/inotify-tools/
INHERIT=autotools
IUSE=doc
-KEYWORDS=~amd64 arm arm64 ~hppa ~mips ~riscv sparc ~x86
+KEYWORDS=amd64 arm arm64 ~hppa ~mips ~riscv sparc x86
LICENSE=GPL-2
SLOT=0
SRC_URI=https://github.com/inotify-tools/inotify-tools/archive/3.22.6.0.tar.gz -> inotify-tools-3.22.6.0.tar.gz
_eclasses_=autotools 2fd69a56a527d12409ba43c733b7ac8f gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 241a8f577b9781a42a7421e53448a44e multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb
-_md5_=46302854c314b96ea3c8f31a1fbbed01
+_md5_=9a799bc431a49fd7db8e65f4d2e5d781
diff --git a/metadata/md5-cache/www-client/Manifest.gz b/metadata/md5-cache/www-client/Manifest.gz
index 8c4977578d11..2992312e3fad 100644
--- a/metadata/md5-cache/www-client/Manifest.gz
+++ b/metadata/md5-cache/www-client/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/www-client/chromium-103.0.5060.114 b/metadata/md5-cache/www-client/chromium-103.0.5060.114
new file mode 100644
index 000000000000..6078494e4703
--- /dev/null
+++ b/metadata/md5-cache/www-client/chromium-103.0.5060.114
@@ -0,0 +1,16 @@
+BDEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) 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] ) >=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-sound/pulseaudio:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=x11-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) || ( >=dev-lang/python-3.10.4:3.10[xml] >=dev-lang/python-3.9.12:3.9[xml] >=dev-lang/python-3.8.13:3.8[xml] ) || ( ( >=dev-lang/python-3.10.4:3.10[xml] dev-python/setuptools[python_targets_python3_10(-)] ) ( >=dev-lang/python-3.9.12:3.9[xml] dev-python/setuptools[python_targets_python3_9(-)] ) ( >=dev-lang/python-3.8.13:3.8[xml] dev-python/setuptools[python_targets_python3_8(-)] ) ) >=app-arch/gzip-1.7 libcxx? ( >=sys-devel/clang-12 ) lto? ( || ( ( sys-devel/clang:12 sys-devel/llvm:12 =sys-devel/lld-12* ) ( sys-devel/clang:13 sys-devel/llvm:13 =sys-devel/lld-13* ) ( sys-devel/clang:14 sys-devel/llvm:14 =sys-devel/lld-14* ) ) ) dev-lang/perl >=dev-util/gn-0.1807 >=dev-util/gperf-3.0.3 >=dev-util/ninja-1.7.2 dev-vcs/git >=net-libs/nodejs-7.6.0[inspector] >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig js-type-check? ( virtual/jre )
+DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup
+DEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) 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] ) >=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-sound/pulseaudio:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=x11-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= system-ffmpeg? ( >=media-video/ffmpeg-4.3:= || ( media-video/ffmpeg[-samba] >=net-fs/samba-4.5.10-r1[-debug(-)] ) >=media-libs/opus-1.3.1:= ) net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( X? ( 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:= ) >=app-accessibility/at-spi2-atk-2.26:2 >=app-accessibility/at-spi2-core-2.26:2 >=dev-libs/atk-2.26 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:= ) !headless? ( gtk4? ( gui-libs/gtk:4[X?,wayland?] ) !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) ) !!sys-devel/llvm:0
+DESCRIPTION=Open-source version of Google Chrome web browser
+EAPI=8
+HOMEPAGE=https://chromium.org/
+INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
+IUSE=+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx lto +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW
+KEYWORDS=~amd64 ~arm64
+LICENSE=BSD
+RDEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) 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] ) >=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-sound/pulseaudio:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=x11-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= system-ffmpeg? ( >=media-video/ffmpeg-4.3:= || ( media-video/ffmpeg[-samba] >=net-fs/samba-4.5.10-r1[-debug(-)] ) >=media-libs/opus-1.3.1:= ) net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( X? ( 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:= ) >=app-accessibility/at-spi2-atk-2.26:2 >=app-accessibility/at-spi2-core-2.26:2 >=dev-libs/atk-2.26 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:= ) !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) x11-misc/xdg-utils ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium )
+REQUIRED_USE=component-build? ( !suid !libcxx ) screencast? ( wayland ) !headless ( || ( X wayland ) )
+SLOT=0/stable
+SRC_URI=https://commondatastorage.googleapis.com/chromium-browser-official/chromium-103.0.5060.114.tar.xz https://github.com/stha09/chromium-patches/releases/download/chromium-103-patchset-4/chromium-103-patchset-4.tar.xz
+_eclasses_=check-reqs 5e6dfbd7a8d3238a79f009fae7ac469c chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b linux-info dcbf4f67bc38bee48e9d69a4344e8059 llvm 6f88d422e49b917bf254b2594f3d903c multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pax-utils 91d47e5d20627c717aa878b9167c62a8 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=cbe273fc663aa45fea4c7769078f1d9e
diff --git a/metadata/md5-cache/www-client/chromium-104.0.5112.12 b/metadata/md5-cache/www-client/chromium-104.0.5112.12
index bdbb6e208825..f81c6f7883b8 100644
--- a/metadata/md5-cache/www-client/chromium-104.0.5112.12
+++ b/metadata/md5-cache/www-client/chromium-104.0.5112.12
@@ -13,4 +13,4 @@ REQUIRED_USE=component-build? ( !suid !libcxx ) screencast? ( wayland ) !headles
SLOT=0/dev
SRC_URI=https://commondatastorage.googleapis.com/chromium-browser-official/chromium-104.0.5112.12.tar.xz https://github.com/stha09/chromium-patches/releases/download/chromium-104-patchset-2/chromium-104-patchset-2.tar.xz pgo? ( https://blackhole.sk/~kabel/src/chromium-profiler-0.1.tar )
_eclasses_=check-reqs 5e6dfbd7a8d3238a79f009fae7ac469c chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa flag-o-matic a3abd6002fafb3022597be6b8d01f88b linux-info dcbf4f67bc38bee48e9d69a4344e8059 llvm 6f88d422e49b917bf254b2594f3d903c multilib 4fbbbc98f236f1b43acd99476bc3cd85 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pax-utils 91d47e5d20627c717aa878b9167c62a8 python-any-r1 a3e9c0524a795d7f2767a2cf12a2e8c0 python-utils-r1 667174e2df1036a5520d3b3b3fb33e98 readme.gentoo-r1 b776ad4b42f564c406a95c41ccb42c55 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb virtualx 975d49ff3b3f451efe7a95f230532135 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=87a735a6dcdfca094fc31e72f83b4555
+_md5_=50dd95585fa4ad8648c5fd1a5a01666f
diff --git a/metadata/md5-cache/www-client/google-chrome-103.0.5060.53 b/metadata/md5-cache/www-client/google-chrome-103.0.5060.114
index f4379e3207fc..59ee31649953 100644
--- a/metadata/md5-cache/www-client/google-chrome-103.0.5060.53
+++ b/metadata/md5-cache/www-client/google-chrome-103.0.5060.114
@@ -6,9 +6,9 @@ INHERIT=chromium-2 desktop pax-utils unpacker xdg
IUSE=selinux +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_vi +l10n_zh-CN +l10n_zh-TW
KEYWORDS=-* amd64
LICENSE=google-chrome
-RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr >=dev-libs/nss-3.26 media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl net-print/cups sys-apps/dbus sys-libs/glibc sys-libs/libcap x11-libs/cairo x11-libs/gdk-pixbuf:2 || ( x11-libs/gtk+:3[X] gui-libs/gtk:4[X] ) x11-libs/libdrm >=x11-libs/libX11-1.5.0 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils selinux? ( sec-policy/selinux-chromium )
+RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr >=dev-libs/nss-3.26 dev-libs/wayland media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl net-print/cups sys-apps/dbus sys-libs/glibc sys-libs/libcap x11-libs/cairo x11-libs/gdk-pixbuf:2 || ( x11-libs/gtk+:3[X] gui-libs/gtk:4[X] ) x11-libs/libdrm >=x11-libs/libX11-1.5.0 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils selinux? ( sec-policy/selinux-chromium )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_103.0.5060.53-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_103.0.5060.114-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=f54ebfc7ec61e07d3a5f568bc5cc23e3
+_md5_=64c6f976207c71ee82412bd7fa5d276b
diff --git a/metadata/md5-cache/www-client/google-chrome-beta-103.0.5060.53 b/metadata/md5-cache/www-client/google-chrome-beta-104.0.5112.48
index 14f09116e4ca..93310d6c6fe3 100644
--- a/metadata/md5-cache/www-client/google-chrome-beta-103.0.5060.53
+++ b/metadata/md5-cache/www-client/google-chrome-beta-104.0.5112.48
@@ -9,6 +9,6 @@ LICENSE=google-chrome
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr >=dev-libs/nss-3.26 media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl net-print/cups sys-apps/dbus sys-libs/glibc sys-libs/libcap x11-libs/cairo x11-libs/gdk-pixbuf:2 || ( x11-libs/gtk+:3[X] gui-libs/gtk:4[X] ) x11-libs/libdrm >=x11-libs/libX11-1.5.0 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils selinux? ( sec-policy/selinux-chromium )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-beta/google-chrome-beta_103.0.5060.53-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-beta/google-chrome-beta_104.0.5112.48-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=d48be4d1b0cae1d9bf1bbfa4dc2a45c7
diff --git a/metadata/md5-cache/www-client/google-chrome-unstable-104.0.5112.12 b/metadata/md5-cache/www-client/google-chrome-unstable-105.0.5176.3
index 7fc64e8e93a9..2656edf1c211 100644
--- a/metadata/md5-cache/www-client/google-chrome-unstable-104.0.5112.12
+++ b/metadata/md5-cache/www-client/google-chrome-unstable-105.0.5176.3
@@ -9,6 +9,6 @@ LICENSE=google-chrome
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr >=dev-libs/nss-3.26 media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl net-print/cups sys-apps/dbus sys-libs/glibc sys-libs/libcap x11-libs/cairo x11-libs/gdk-pixbuf:2 || ( x11-libs/gtk+:3[X] gui-libs/gtk:4[X] ) x11-libs/libdrm >=x11-libs/libX11-1.5.0 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils selinux? ( sec-policy/selinux-chromium )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_104.0.5112.12-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_105.0.5176.3-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=d48be4d1b0cae1d9bf1bbfa4dc2a45c7
diff --git a/metadata/md5-cache/www-client/microsoft-edge-103.0.1264.37 b/metadata/md5-cache/www-client/microsoft-edge-103.0.1264.62
index c7d770cea758..eb48aad31424 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-103.0.1264.37
+++ b/metadata/md5-cache/www-client/microsoft-edge-103.0.1264.62
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_103.0.1264.37-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_103.0.1264.62-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=3301d61577802771b104ca2c26903a47
diff --git a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.32 b/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.45
index 24bdc00fc72a..f45a8856ac3d 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.32
+++ b/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.45
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_103.0.1264.32-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_103.0.1264.45-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=7b79a8f51cfe4d4f62e90c71634a4fd3
diff --git a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.21 b/metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.14
index 8de43abf0884..1ffff14566ee 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.21
+++ b/metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.14
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_103.0.1264.21-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_104.0.1293.14-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=7b79a8f51cfe4d4f62e90c71634a4fd3
diff --git a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.37 b/metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.21
index 6eddc4ce6a86..f4bf3dab7b05 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-beta-103.0.1264.37
+++ b/metadata/md5-cache/www-client/microsoft-edge-beta-104.0.1293.21
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_103.0.1264.37-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_104.0.1293.21-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=7b79a8f51cfe4d4f62e90c71634a4fd3
diff --git a/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1287.1 b/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1293.5
index ded20b559d84..c820f824187c 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1287.1
+++ b/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1293.5
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_104.0.1287.1-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_104.0.1293.5-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=7b79a8f51cfe4d4f62e90c71634a4fd3
diff --git a/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1278.2 b/metadata/md5-cache/www-client/microsoft-edge-dev-105.0.1300.1
index b18454a9c7d8..3106671ed970 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-dev-104.0.1278.2
+++ b/metadata/md5-cache/www-client/microsoft-edge-dev-105.0.1300.1
@@ -9,6 +9,6 @@ LICENSE=microsoft-edge
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 app-misc/ca-certificates dev-libs/atk dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_104.0.1278.2-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_105.0.1300.1-1_amd64.deb
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e desktop 22952d8f27cac191d75529d4c38e6bfa linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=7b79a8f51cfe4d4f62e90c71634a4fd3
diff --git a/metadata/md5-cache/www-client/opera-88.0.4412.53 b/metadata/md5-cache/www-client/opera-89.0.4447.48
index b6ba153b6788..08c50d1bee50 100644
--- a/metadata/md5-cache/www-client/opera-88.0.4412.53
+++ b/metadata/md5-cache/www-client/opera-89.0.4447.48
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera/desktop/88.0.4412.53/linux/opera-stable_88.0.4412.53_amd64.deb https://download2.operacdn.com/pub/opera/desktop/88.0.4412.53/linux/opera-stable_88.0.4412.53_amd64.deb https://download3.operacdn.com/pub/opera/desktop/88.0.4412.53/linux/opera-stable_88.0.4412.53_amd64.deb https://download4.operacdn.com/pub/opera/desktop/88.0.4412.53/linux/opera-stable_88.0.4412.53_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera/desktop/89.0.4447.48/linux/opera-stable_89.0.4447.48_amd64.deb https://download2.operacdn.com/pub/opera/desktop/89.0.4447.48/linux/opera-stable_89.0.4447.48_amd64.deb https://download3.operacdn.com/pub/opera/desktop/89.0.4447.48/linux/opera-stable_89.0.4447.48_amd64.deb https://download4.operacdn.com/pub/opera/desktop/89.0.4447.48/linux/opera-stable_89.0.4447.48_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=d926edef9a5598685c8c74a4685e8966
diff --git a/metadata/md5-cache/www-client/opera-beta-89.0.4447.12 b/metadata/md5-cache/www-client/opera-beta-89.0.4447.31
index 2e910cf9f0bc..23af2ddc5bbd 100644
--- a/metadata/md5-cache/www-client/opera-beta-89.0.4447.12
+++ b/metadata/md5-cache/www-client/opera-beta-89.0.4447.31
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-beta/89.0.4447.12/linux/opera-beta_89.0.4447.12_amd64.deb https://download2.operacdn.com/pub/opera-beta/89.0.4447.12/linux/opera-beta_89.0.4447.12_amd64.deb https://download3.operacdn.com/pub/opera-beta/89.0.4447.12/linux/opera-beta_89.0.4447.12_amd64.deb https://download4.operacdn.com/pub/opera-beta/89.0.4447.12/linux/opera-beta_89.0.4447.12_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera-beta/89.0.4447.31/linux/opera-beta_89.0.4447.31_amd64.deb https://download2.operacdn.com/pub/opera-beta/89.0.4447.31/linux/opera-beta_89.0.4447.31_amd64.deb https://download3.operacdn.com/pub/opera-beta/89.0.4447.31/linux/opera-beta_89.0.4447.31_amd64.deb https://download4.operacdn.com/pub/opera-beta/89.0.4447.31/linux/opera-beta_89.0.4447.31_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=3d354106d856a8fc7d7958ea47439b09
diff --git a/metadata/md5-cache/www-client/opera-beta-89.0.4447.20 b/metadata/md5-cache/www-client/opera-beta-89.0.4447.33
index 288c4b53becc..e7784c80e1c8 100644
--- a/metadata/md5-cache/www-client/opera-beta-89.0.4447.20
+++ b/metadata/md5-cache/www-client/opera-beta-89.0.4447.33
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-beta/89.0.4447.20/linux/opera-beta_89.0.4447.20_amd64.deb https://download2.operacdn.com/pub/opera-beta/89.0.4447.20/linux/opera-beta_89.0.4447.20_amd64.deb https://download3.operacdn.com/pub/opera-beta/89.0.4447.20/linux/opera-beta_89.0.4447.20_amd64.deb https://download4.operacdn.com/pub/opera-beta/89.0.4447.20/linux/opera-beta_89.0.4447.20_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera-beta/89.0.4447.33/linux/opera-beta_89.0.4447.33_amd64.deb https://download2.operacdn.com/pub/opera-beta/89.0.4447.33/linux/opera-beta_89.0.4447.33_amd64.deb https://download3.operacdn.com/pub/opera-beta/89.0.4447.33/linux/opera-beta_89.0.4447.33_amd64.deb https://download4.operacdn.com/pub/opera-beta/89.0.4447.33/linux/opera-beta_89.0.4447.33_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=3d354106d856a8fc7d7958ea47439b09
diff --git a/metadata/md5-cache/www-client/opera-beta-88.0.4412.20-r1 b/metadata/md5-cache/www-client/opera-beta-89.0.4447.37
index 7381b66abe94..c8f5a1d17303 100644
--- a/metadata/md5-cache/www-client/opera-beta-88.0.4412.20-r1
+++ b/metadata/md5-cache/www-client/opera-beta-89.0.4447.37
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-beta/88.0.4412.20/linux/opera-beta_88.0.4412.20_amd64.deb https://download2.operacdn.com/pub/opera-beta/88.0.4412.20/linux/opera-beta_88.0.4412.20_amd64.deb https://download3.operacdn.com/pub/opera-beta/88.0.4412.20/linux/opera-beta_88.0.4412.20_amd64.deb https://download4.operacdn.com/pub/opera-beta/88.0.4412.20/linux/opera-beta_88.0.4412.20_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera-beta/89.0.4447.37/linux/opera-beta_89.0.4447.37_amd64.deb https://download2.operacdn.com/pub/opera-beta/89.0.4447.37/linux/opera-beta_89.0.4447.37_amd64.deb https://download3.operacdn.com/pub/opera-beta/89.0.4447.37/linux/opera-beta_89.0.4447.37_amd64.deb https://download4.operacdn.com/pub/opera-beta/89.0.4447.37/linux/opera-beta_89.0.4447.37_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=3d354106d856a8fc7d7958ea47439b09
diff --git a/metadata/md5-cache/www-client/opera-developer-89.0.4443.0 b/metadata/md5-cache/www-client/opera-developer-89.0.4443.0
deleted file mode 100644
index 9ba7efff40c9..000000000000
--- a/metadata/md5-cache/www-client/opera-developer-89.0.4443.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=install postinst postrm preinst pretend setup unpack
-DESCRIPTION=A fast and secure web browser
-EAPI=8
-HOMEPAGE=https://www.opera.com/
-INHERIT=chromium-2 pax-utils xdg unpacker
-IUSE=+proprietary-codecs suid +l10n_be +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_en-US +l10n_es-419 +l10n_es +l10n_fil +l10n_fi +l10n_fr-CA +l10n_fr +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_ko +l10n_lt +l10n_lv +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_vi +l10n_zh-CN +l10n_zh-TW
-KEYWORDS=-* ~amd64
-LICENSE=OPERA-2018
-RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
-RESTRICT=bindist mirror strip
-SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-developer/89.0.4443.0/linux/opera-developer_89.0.4443.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/89.0.4443.0/linux/opera-developer_89.0.4443.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/89.0.4443.0/linux/opera-developer_89.0.4443.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/89.0.4443.0/linux/opera-developer_89.0.4443.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-100.0.4896.20.tar.xz )
-_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=38ad1556b6fb9daf5f944e36d3369844
diff --git a/metadata/md5-cache/www-client/opera-developer-90.0.4457.0-r1 b/metadata/md5-cache/www-client/opera-developer-90.0.4463.0
index 7f99508c063e..524a94d7335a 100644
--- a/metadata/md5-cache/www-client/opera-developer-90.0.4457.0-r1
+++ b/metadata/md5-cache/www-client/opera-developer-90.0.4463.0
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-developer/90.0.4457.0/linux/opera-developer_90.0.4457.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/90.0.4457.0/linux/opera-developer_90.0.4457.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/90.0.4457.0/linux/opera-developer_90.0.4457.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/90.0.4457.0/linux/opera-developer_90.0.4457.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-104.0.5083.0.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera-developer/90.0.4463.0/linux/opera-developer_90.0.4463.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/90.0.4463.0/linux/opera-developer_90.0.4463.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/90.0.4463.0/linux/opera-developer_90.0.4463.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/90.0.4463.0/linux/opera-developer_90.0.4463.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-104.0.5083.0.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
_md5_=ca6e138e4454ef1c5a06bb9e51e523f7
diff --git a/metadata/md5-cache/www-client/opera-developer-90.0.4450.0 b/metadata/md5-cache/www-client/opera-developer-90.0.4470.0
index 1e06d4fbe9e3..ac847c7f72fc 100644
--- a/metadata/md5-cache/www-client/opera-developer-90.0.4450.0
+++ b/metadata/md5-cache/www-client/opera-developer-90.0.4470.0
@@ -9,6 +9,6 @@ LICENSE=OPERA-2018
RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera-developer/90.0.4450.0/linux/opera-developer_90.0.4450.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/90.0.4450.0/linux/opera-developer_90.0.4450.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/90.0.4450.0/linux/opera-developer_90.0.4450.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/90.0.4450.0/linux/opera-developer_90.0.4450.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-102.0.5005.61.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera-developer/90.0.4470.0/linux/opera-developer_90.0.4470.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/90.0.4470.0/linux/opera-developer_90.0.4470.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/90.0.4470.0/linux/opera-developer_90.0.4470.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/90.0.4470.0/linux/opera-developer_90.0.4470.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-104.0.5083.0.tar.xz )
_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
-_md5_=3d354106d856a8fc7d7958ea47439b09
+_md5_=ca6e138e4454ef1c5a06bb9e51e523f7
diff --git a/metadata/md5-cache/www-client/opera-developer-90.0.4477.0 b/metadata/md5-cache/www-client/opera-developer-90.0.4477.0
new file mode 100644
index 000000000000..eb2a26b95a19
--- /dev/null
+++ b/metadata/md5-cache/www-client/opera-developer-90.0.4477.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=install postinst postrm preinst pretend setup unpack
+DESCRIPTION=A fast and secure web browser
+EAPI=8
+HOMEPAGE=https://www.opera.com/
+INHERIT=chromium-2 pax-utils xdg unpacker
+IUSE=+proprietary-codecs suid +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_en-US +l10n_es-419 +l10n_es +l10n_fil +l10n_fi +l10n_fr +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_ko +l10n_lt +l10n_lv +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_vi +l10n_zh-CN +l10n_zh-TW
+KEYWORDS=-* ~amd64
+LICENSE=OPERA-2018
+RDEPEND=app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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
+RESTRICT=bindist mirror strip
+SLOT=0
+SRC_URI=https://download1.operacdn.com/pub/opera-developer/90.0.4477.0/linux/opera-developer_90.0.4477.0_amd64.deb https://download2.operacdn.com/pub/opera-developer/90.0.4477.0/linux/opera-developer_90.0.4477.0_amd64.deb https://download3.operacdn.com/pub/opera-developer/90.0.4477.0/linux/opera-developer_90.0.4477.0_amd64.deb https://download4.operacdn.com/pub/opera-developer/90.0.4477.0/linux/opera-developer_90.0.4477.0_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-104.0.5083.0.tar.xz )
+_eclasses_=chromium-2 fe5bb568da464344d16c90acb1c6e91e linux-info dcbf4f67bc38bee48e9d69a4344e8059 multilib 4fbbbc98f236f1b43acd99476bc3cd85 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285 xdg 6024fbc93167fad782e2032933654857 xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e
+_md5_=ca6e138e4454ef1c5a06bb9e51e523f7
diff --git a/metadata/md5-cache/www-plugins/Manifest.gz b/metadata/md5-cache/www-plugins/Manifest.gz
index 323551477f4b..b8a898f5aa9d 100644
--- a/metadata/md5-cache/www-plugins/Manifest.gz
+++ b/metadata/md5-cache/www-plugins/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53 b/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.114
index 85eab708f94b..cb985bb4294d 100644
--- a/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53
+++ b/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.114
@@ -8,6 +8,6 @@ LICENSE=google-chrome
RDEPEND=dev-libs/glib:2 dev-libs/nspr dev-libs/nss sys-libs/glibc !www-plugins/chrome-binary-plugins:0 !www-plugins/chrome-binary-plugins:beta !www-plugins/chrome-binary-plugins:unstable
RESTRICT=bindist mirror strip
SLOT=stable
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_103.0.5060.53-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_103.0.5060.114-1_amd64.deb
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285
_md5_=63079fa95734c111159210df04e4b0cb
diff --git a/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53_beta b/metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.48_beta
index 804d73879fe1..48f1eb956d62 100644
--- a/metadata/md5-cache/www-plugins/chrome-binary-plugins-103.0.5060.53_beta
+++ b/metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.48_beta
@@ -8,6 +8,6 @@ LICENSE=google-chrome
RDEPEND=dev-libs/glib:2 dev-libs/nspr dev-libs/nss sys-libs/glibc !www-plugins/chrome-binary-plugins:0 !www-plugins/chrome-binary-plugins:stable !www-plugins/chrome-binary-plugins:unstable
RESTRICT=bindist mirror strip
SLOT=beta
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-beta/google-chrome-beta_103.0.5060.53-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-beta/google-chrome-beta_104.0.5112.48-1_amd64.deb
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285
_md5_=280d4365f7d545b5db4b59005ac2ef69
diff --git a/metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.12_alpha b/metadata/md5-cache/www-plugins/chrome-binary-plugins-105.0.5176.3_alpha
index 358807570b04..0d3a085a4996 100644
--- a/metadata/md5-cache/www-plugins/chrome-binary-plugins-104.0.5112.12_alpha
+++ b/metadata/md5-cache/www-plugins/chrome-binary-plugins-105.0.5176.3_alpha
@@ -8,6 +8,6 @@ LICENSE=google-chrome
RDEPEND=dev-libs/glib:2 dev-libs/nspr dev-libs/nss sys-libs/glibc !www-plugins/chrome-binary-plugins:0 !www-plugins/chrome-binary-plugins:beta !www-plugins/chrome-binary-plugins:stable
RESTRICT=bindist mirror strip
SLOT=unstable
-SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_104.0.5112.12-1_amd64.deb
+SRC_URI=https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_105.0.5176.3-1_amd64.deb
_eclasses_=multilib 4fbbbc98f236f1b43acd99476bc3cd85 toolchain-funcs e9da88162e7a3c60376e80c2c2adcdfb unpacker 697382d119fd3d195f110b7979184285
_md5_=280d4365f7d545b5db4b59005ac2ef69
diff --git a/metadata/news/Manifest b/metadata/news/Manifest
index 8d004f4517df..dd6152dde0fc 100644
--- a/metadata/news/Manifest
+++ b/metadata/news/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 17708 BLAKE2B 4ce2223644596204d9c2bb3f48afce531273d698d0831b6c63489b590dab9b0f76b97e01974eb386fd4ee731e91da53e23679e783c4d88a79a610f95158b28ce SHA512 a1f139db9aee3a21dedb41e88e0ac33c6c041d7b8c88c3e9baf0cdb441d1f610d920165d40c97cd51b23366513243ae6bbe2d000a224c900523cffd5ea695cf8
-TIMESTAMP 2022-07-14T23:40:07Z
+TIMESTAMP 2022-07-15T05:39:54Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQqVdfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmLQ/apfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klDrxRAAg8dd7ul3ZrTfYmKe7w8GrLPwzmv/PG3uxKhC4D9D7PA6mnLGag66FWyl
-G1GB1IKlGQK4iltLCmEXWVbfS3z9ZkCzYtUhU49P1EpKSMoJPbaku5SwwTo2p040
-8anEhKz5GOQwrEe9eMPnUCSqjYoH7v8rO0ifXD7TQw+ZethV4JVEAZ20KLu5nqFX
-eJiq4qe6X/kMd7K2T/jm0kCoFECtP1wOobXiKMEhXMs2JsZPlDe3GUox9Loy7ZDp
-VEQNLgKjZ/Svqc3hbo50ZQrCPReD8koG9NIfzAVXyMxvAr/I6ABnbqBMCUmxvHm/
-KaDNTFyvldg6aD//KvIos4btvUPSlmg1WWHm1fnTiY8T1ZijtsTD+tMnUVJsKcY3
-Bb7+XCdkzn5yrpAv2iBUmEPj7wiDvijqZU7ZJr8Y708cKoezBG6srbtx4xwIqr6X
-hsy7XXhsRxSKImNXAsyf0o4Id1jguBCQxri7OFZoKB0TODi9Nc/JtvsLk98u2v6d
-djWVhfkDf0AMlsWt0zRX4dvo5GxUH5SXy/knfrH53HHWYa6SO4oqGMbb/9Z4VSWx
-MUBpOK40y9m+4rN1PbddmKCN9MS2kk3jZ1X1N6bCuNCdtlK5TwAEFOlDlmqO/3Z9
-ItAA7obmznCgaEI1mDzPdSeNYAqq4jZob+BOKQscXNAUWkKn7zU=
-=mmC8
+klDk/Q/+M+8NvNNVkAEaWQx77n/107COiAk6Gu1xtwTG9noLM4I/fmA02em85NXw
+HBS4I2JSDKQebSNcdU7lXT9uScGyv0x02BVlMAekLdV3cB0Z2goeYXV7RFwyA38X
+PbjHCNPpNrSiPu0zg3j/E6GUe4ifWiw2PmWZPXKrVNM/wJlZNvKzq1Ht475nOpwL
+utC98fWjL6MOt8fuFw2dp17O+WzbURACEDDHaZYtlcJ8ZUMRwFIbV2PmK+JuRSug
+ZB+V2HRJ7yTqRc2vVHi+JyZ3mDpqNpPmWPN4UDw494VOxDMDOgSvT2R1DNxDl8fg
+m7RmLr1dU8g5zme7Z3YfEHKtvryfu+0tkES+FpTP823ogEqi3NyfbVQUd0mwjtAq
+dSIvSRKCkyHawcMlHtVF1MhH5Vb4DjjFVfdV2AfN+133m+wBsr1RHrNjRJ8iXWV9
+tkfVNFC8eUBxkuWZHGqmvIKp4gDfQ5W6rH2jhwPkaihTQpAKfAx4pgCnwFvI3yd1
+JbBjCrTtS2TvrLrJkCDY8tM/rLUmm36RRl3L/l2FOplZsyr1nUiH7oefLgsRfHhE
+RrQYO+t/7KBcgURwm7jAVJggV5PxRlOB8tHZvI5Lr+L+dcMtjrJUiTu4pHYo3ATq
+LZAdKnVG4UZAXmIyije0yPDe7Jb1Iw+n8aiksaWtlDz6XJsfkNQ=
+=8vLi
-----END PGP SIGNATURE-----
diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk
index 8e18a4f74502..4fb94070b8f3 100644
--- a/metadata/news/timestamp.chk
+++ b/metadata/news/timestamp.chk
@@ -1 +1 @@
-Thu, 14 Jul 2022 23:40:04 +0000
+Fri, 15 Jul 2022 05:39:51 +0000
diff --git a/metadata/timestamp b/metadata/timestamp
index 2bad6ea52d29..4b3195e88f91 100644
--- a/metadata/timestamp
+++ b/metadata/timestamp
@@ -1 +1 @@
-Thu Jul 14 11:40:04 PM UTC 2022
+Fri Jul 15 05:39:50 AM UTC 2022
diff --git a/metadata/timestamp.chk b/metadata/timestamp.chk
index 39b11bd443c7..e07fcb91063f 100644
--- a/metadata/timestamp.chk
+++ b/metadata/timestamp.chk
@@ -1 +1 @@
-Thu, 14 Jul 2022 23:45:01 +0000
+Fri, 15 Jul 2022 05:45:01 +0000
diff --git a/metadata/timestamp.commit b/metadata/timestamp.commit
index 48162207a3d6..009ed065a10e 100644
--- a/metadata/timestamp.commit
+++ b/metadata/timestamp.commit
@@ -1 +1 @@
-9230ffaa2d4d96d0626cfd18c415fa79599158d0 1657840687 2022-07-14T23:18:07+00:00
+27448f87aaff6807762e0a1558b3d5b2146af24e 1657862628 2022-07-15T05:23:48+00:00
diff --git a/metadata/timestamp.x b/metadata/timestamp.x
index bc1d0dcba84c..12198823f57a 100644
--- a/metadata/timestamp.x
+++ b/metadata/timestamp.x
@@ -1 +1 @@
-1657842001 Thu 14 Jul 2022 11:40:01 PM UTC
+1657863601 Fri 15 Jul 2022 05:40:01 AM UTC
diff --git a/metadata/xml-schema/timestamp.chk b/metadata/xml-schema/timestamp.chk
index 8e18a4f74502..4191176da359 100644
--- a/metadata/xml-schema/timestamp.chk
+++ b/metadata/xml-schema/timestamp.chk
@@ -1 +1 @@
-Thu, 14 Jul 2022 23:40:04 +0000
+Fri, 15 Jul 2022 05:39:50 +0000
diff --git a/net-analyzer/Manifest.gz b/net-analyzer/Manifest.gz
index 562ecef37787..f309ab195f3e 100644
--- a/net-analyzer/Manifest.gz
+++ b/net-analyzer/Manifest.gz
Binary files differ
diff --git a/net-analyzer/net-snmp/Manifest b/net-analyzer/net-snmp/Manifest
index 955b89b207aa..8ca78dc883a7 100644
--- a/net-analyzer/net-snmp/Manifest
+++ b/net-analyzer/net-snmp/Manifest
@@ -17,8 +17,9 @@ AUX snmptrapd.service 190 BLAKE2B 6994e2f82e0ba03b31c2f079844a23c0070ff70726dd3c
DIST net-snmp-5.7.3-patches-3.tar.xz 3176 BLAKE2B 1a71d6743afb841f664c6058e32c7c411af62b0f36acd3bb9251804893ed12f462a0c5bab828e309eeec7824def2dca8fa866350b90a62ec4f0df1141b51ecae SHA512 d8a91b9668320a1e19d062eb86dd4d16beb7c2d15ac7ebbb9d2a4bd298af39bbb0a2613504dbb0057cccdec731f08f2308c5a15395e1fbc29bb0611ed8aca636
DIST net-snmp-5.9.1.tar.gz 6781346 BLAKE2B 4242ca77372005f995dfd228bec51d35b6b0f8c0ab0e44ed40cdb3cc0578b64e97444ffcb074dceca30739deadb46e68f1c75e87d3f1768d81b5e084b0fc0f5f SHA512 ae158ab41961ee2064d85187337979e6ff6ba90f3136b8a960e9ae46ee1408d9d2f0c5c4dfc3a3302e6dbb357cddf1221489435288c4f52182a03e94a9e450c3
DIST net-snmp-5.9.2.tar.gz 6646200 BLAKE2B 95af69d530d3f5267bb75165cc2cf72128547a14fe4148d20610a45d42298475fb4c553c1e4eff1ffb4a368b609868b0ca36530c0f3a98800cf6290707bb3fb7 SHA512 d67810b15c4956a28ccb4d9a3870604bc94e71247d9a8d3a9959041268122b3500cf68a7912cfb01a6cff27f3f4364cbd106629ab80c12974f694b6c548bde59
+DIST net-snmp-5.9.3.tar.gz 6646950 BLAKE2B b8e3de60e178ec16ad2848ad77f3bd4cbd35eaa9be103c0fa5d17514c29df4e69015ac53b54c9e565e3032b0c0bb47c19729e65310a6acefae901e101ea49451 SHA512 a476df4967029a2eb03d27b0e250170785d0a8c143d49b900ee958c3cbdfaccd415b70af40f6fbed9cb8819d522c35a6073a431091d908ccc7c018fa0aaa2abc
EBUILD net-snmp-5.9.1-r2.ebuild 5777 BLAKE2B b1a3ce671456acc755be276df1b72f3b34dea0e44a7058708321c657d7a756e19d6f8b91d30b5b01526307b174d39938daeba707796d6eb81a2c1517318ecf74 SHA512 791b197486f8c63cc8462677389e74eca5e7e9286b79f96fad537d787b19c4086fc552e33643b683ec23e5fc252ac564bf8e3fc9ff6bd3b04c91edf5114d248f
EBUILD net-snmp-5.9.2-r1.ebuild 6192 BLAKE2B b570e33f8caf3d4b208d6f42003de008f9853b2ae83540d873f1f90c17ce7fcd6f438678c10275973a8ec7acdb222236ade3ff689569ece92b2406c18dca3e22 SHA512 7df812a5063917bac41398742722a5efefa6c15de59546e7937777d47bd021a097d81e4e7ec8330daf88a8dcfd23d688dfe24da0b936a6c1570ae4ceda3b5f67
-EBUILD net-snmp-5.9.2.ebuild 6058 BLAKE2B 8d753f806c020caee67aceb3f9904c294f44bfc8015ac00e8fd39ac023c68990931130c42b44bf9da1350ba9d21d1fc37df59e00c7be66a3a482e0e399f2b78f SHA512 9753fd60e9407b5774a56fec6a8c2bf9b1bd4e9d22033b435f6e3fa5255e2b1b34f9346a9f93f168fdef4b906425bfde803948827090983b73a5599f76f6c870
+EBUILD net-snmp-5.9.3.ebuild 6192 BLAKE2B b570e33f8caf3d4b208d6f42003de008f9853b2ae83540d873f1f90c17ce7fcd6f438678c10275973a8ec7acdb222236ade3ff689569ece92b2406c18dca3e22 SHA512 7df812a5063917bac41398742722a5efefa6c15de59546e7937777d47bd021a097d81e4e7ec8330daf88a8dcfd23d688dfe24da0b936a6c1570ae4ceda3b5f67
EBUILD net-snmp-9999.ebuild 6160 BLAKE2B e3c896d79e70bdaae6ac5894f6d15d7e724e22f88c4a031b40aa8c360d0dcf848684ccf263861e905339d659517d7bb1c9dbfcafc3527ef026153111194a47da SHA512 3506aa3d44003596c5854fab94bd999ac640fb7954eac8dc50cd2eedba01911b69fc27ff21fc63c5166ca704335b23001dea7e66dc060fc0b2267111ba707f71
MISC metadata.xml 1384 BLAKE2B 7482ef34aa0a5fb60c32a11449e6eb53bcebc7852c013650151392401532ff66f56e0c43dc98ad8a47e8166c97ce04d24bbe1d8a2ee21b934a19983d0847d941 SHA512 9ed265ee76578df5f4edb04d7fbc3eacfab7c27603bac65a3ae5086a31d3a9ce4f128cc751d63e1c27fd13e16fcb83a7966771b73026b7339663802ce51023e4
diff --git a/net-analyzer/net-snmp/net-snmp-5.9.2.ebuild b/net-analyzer/net-snmp/net-snmp-5.9.3.ebuild
index ca95665fcf9a..01ab81ea3d81 100644
--- a/net-analyzer/net-snmp/net-snmp-5.9.2.ebuild
+++ b/net-analyzer/net-snmp/net-snmp-5.9.3.ebuild
@@ -20,7 +20,7 @@ else
# https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
SRC_URI+=" https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz"
@@ -70,7 +70,15 @@ RDEPEND="
${COMMON_DEPEND}
perl? (
X? ( dev-perl/Tk )
- !minimal? ( dev-perl/TermReadKey )
+ !minimal? (
+ virtual/perl-Carp
+ virtual/perl-Data-Dumper
+ virtual/perl-Getopt-Long
+ dev-perl/JSON
+ dev-perl/Mail-Sender
+ dev-perl/TermReadKey
+ virtual/perl-Term-ReadLine
+ )
)
selinux? ( sec-policy/selinux-snmp )
"
diff --git a/net-firewall/Manifest.gz b/net-firewall/Manifest.gz
index 6b37a55aa8b2..9601db627990 100644
--- a/net-firewall/Manifest.gz
+++ b/net-firewall/Manifest.gz
Binary files differ
diff --git a/net-firewall/ferm/Manifest b/net-firewall/ferm/Manifest
index 511d6b3b85dd..5f1bfea4ee51 100644
--- a/net-firewall/ferm/Manifest
+++ b/net-firewall/ferm/Manifest
@@ -1,5 +1,5 @@
-DIST ferm-2.5.1.tar.xz 74860 BLAKE2B 8ad76918f45516dcbee18922600690f9d1c418ee62b0edc3eef43c09138fbf3c2d820cb692d855deb779adc183122591e88929f130b25fc658f4e1fae9393430 SHA512 bc7228fbf452722fef54519fec97d3548bc73ec5350aa1f7dd68aa2ac35c233f6fae6aeee6bf687c478cc58f20afab3ce25dd237cd68ebe2eb9b23c77d29e4ab
DIST ferm-2.6.tar.xz 76748 BLAKE2B 17c15e9d95c4562d1635715c599ab07fc98d8e9ebfcc332a42953fe279298799f26f7b3679f97e5dc9a82b745f70f54756fe2a9ed5763e91db15f7c0255c179e SHA512 af2bb852630304a86629c2ce3af8f557d17f59c704589ea130d8578f300a606e4fedbd39c88f89646df974947fc27982e3ea21de1187257afc74a6056fdf666c
-EBUILD ferm-2.5.1.ebuild 824 BLAKE2B c359651a2878de6460de812693e7f067f2f25f91a71fb72fd24691ba1351e9103cd17f0563c09e55a43e83d2f8a4c326d4f948a47693aacfc421aba9cd2fffd8 SHA512 c3bd5dd916ed47c90ba58b1a98a234ae4f484c8efc97db6bfae0af584f7df3dd6da3ae0ed17475f390d977e8b6f4c4967d114a0af55bbcdf2fd2621f68d7883f
+DIST ferm-2.7.tar.xz 77320 BLAKE2B 1c7b9e111b86cebc5c0f503e96422d3411b14eb18621268653262926be3e2493b6e66869d607feddbcdb945dada8960f40f166202e3b61a6e93007683fa3a38b SHA512 bbc0e025514c8bf826dd0c13c24cba64b2729380bce5ab8f0e1a72c4f22471edc4fcd2c343cf9af97a2e9bd204ba27feefcfe21d4b0ce53837be042f863c9c24
EBUILD ferm-2.6.ebuild 799 BLAKE2B 17600d81f97081dc6a7d583a4eee9c9aa409a916ef88f7288b06f5e0aba14c17c878b23fb5f9cab41ab1cddc8fe1d8a0ffc72f9f62dfaed1950c213dadf296cc SHA512 472648307460bbff445e85a56582524242f45809bda082e03a71f6f349fc52c085e017f5cdfb53d3c9e6ab6d55c1c93265bb4138cf99b9a5af6eddc0055b6a70
+EBUILD ferm-2.7.ebuild 802 BLAKE2B e9569c7ee8cec7ea3abf466b03e15ed27b24eeb2e6999efaa0be6d7fc2f160c684d1030d8e29668da1fcf5312d671abf00b89361b636d7913e80900dd15509cb SHA512 8dc6438ed3ac66d39e83ee9dbb520ae6ea8493c2813c12cb5ac910e619042c1ee338371c0899e6ebd3a534cbd33a04061ac2d7f729afdecddfcd5adfaa1c29f7
MISC metadata.xml 481 BLAKE2B 49c9fe8c9acd561831b5445aaf0722937fbe22d68c61575346b4e517a1b6a1611c0b316d9b5d47199f4de5a41960e5810a2d024efa976da6aaf16fc7287c726f SHA512 aa494cfbba9188df9e41d5cd2af614cd2321703a516ea2978b969b87ebde022ea9f2064721e611d7cff21bc27906db6447bd58e75d28e10ab718656570aa1ade
diff --git a/net-firewall/ferm/ferm-2.5.1.ebuild b/net-firewall/ferm/ferm-2.7.ebuild
index d8fd0a062cf5..13e74b23ec9e 100644
--- a/net-firewall/ferm/ferm-2.5.1.ebuild
+++ b/net-firewall/ferm/ferm-2.7.ebuild
@@ -1,19 +1,17 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit systemd
-MY_PV=$(ver_cut 1-2)
-
DESCRIPTION="Command line util for managing firewall rules"
HOMEPAGE="http://ferm.foo-projects.org/"
-SRC_URI="http://ferm.foo-projects.org/download/${MY_PV}/${P}.tar.xz"
+SRC_URI="http://ferm.foo-projects.org/download/${PV}/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="~amd64 ~ppc ~x86"
# Uses Internet connection while testing.
RESTRICT="test"
diff --git a/net-im/Manifest.gz b/net-im/Manifest.gz
index 164a1e423b7c..ceabdb9ea965 100644
--- a/net-im/Manifest.gz
+++ b/net-im/Manifest.gz
Binary files differ
diff --git a/net-im/signal-desktop-bin/Manifest b/net-im/signal-desktop-bin/Manifest
index 68784527a1e5..bfafe317ca72 100644
--- a/net-im/signal-desktop-bin/Manifest
+++ b/net-im/signal-desktop-bin/Manifest
@@ -1,3 +1,3 @@
-DIST signal-desktop_5.48.0_amd64.deb 116776998 BLAKE2B cd1e7f9c83234e11a70c9ff1664e9e013e50c31863bc6d8e21c1f76be8d91e802ccf7127221287672245c5c69c33e36ed0c85a1781c8978695aa44869beb7375 SHA512 a2cfe0289cee3f8837f14a428f9d3f11238e0aacdcaff4d665162e01b41b318e2e6fe88ce88bade8167d8db1df54a8c5cb466d5fd13d2e6d570aa2d4e81ed4bd
-EBUILD signal-desktop-bin-5.48.0.ebuild 2427 BLAKE2B a95cd9809345ce6a1220720278dd2e876bee3804377628fcaa81c3e0e6a66c18f40ee0f45512cfe5dc3c0640a69690ce6cd7428b74b6f19dd13b15fdf7698a80 SHA512 ec1fd4c473d491a54a71e715dfa48df453871dc11659a56ab33295a629b21b8d70cebd88c2ce8898978e1de598e1f152eafe85a07bf01b27a4c013b81aee8cdb
+DIST signal-desktop_5.50.0_amd64.deb 116975200 BLAKE2B ba82eddb8198aaf40cb29774e2a181286837e4b4189a34e378cdf62b7aef74f66eeaa9f31f77df85f4787549984b4950d63df14cf519daa8b06b633d70a92232 SHA512 c14a0fcc3572c4b5d2fe0d781046bf6f0775ecdf4851fff4c970c3a92eca0bb344dcf3d00c2c41867a6db66c8ec8773650b14bb8880a1f531d61055989872eb4
+EBUILD signal-desktop-bin-5.50.0.ebuild 2427 BLAKE2B a95cd9809345ce6a1220720278dd2e876bee3804377628fcaa81c3e0e6a66c18f40ee0f45512cfe5dc3c0640a69690ce6cd7428b74b6f19dd13b15fdf7698a80 SHA512 ec1fd4c473d491a54a71e715dfa48df453871dc11659a56ab33295a629b21b8d70cebd88c2ce8898978e1de598e1f152eafe85a07bf01b27a4c013b81aee8cdb
MISC metadata.xml 397 BLAKE2B 8b09559d9ab0428415fb6301596386acc0983bb312f099c6c5299492043f59d6b2e1145f29885e9fc429f4e0d28fccac19cdd7afb5c5ed5f70383a9075d0e466 SHA512 8fa1b372993842145229779dc730c574f688411efd3da415b00928d81947a91c1dabb7c53412aa3c413a5e1071d113b182c54b113a933c0d5ddf3de08869267b
diff --git a/net-im/signal-desktop-bin/signal-desktop-bin-5.48.0.ebuild b/net-im/signal-desktop-bin/signal-desktop-bin-5.50.0.ebuild
index 75db5c2f8043..75db5c2f8043 100644
--- a/net-im/signal-desktop-bin/signal-desktop-bin-5.48.0.ebuild
+++ b/net-im/signal-desktop-bin/signal-desktop-bin-5.50.0.ebuild
diff --git a/net-libs/Manifest.gz b/net-libs/Manifest.gz
index 8f10cd1eaf5c..5be42b7b8dc2 100644
--- a/net-libs/Manifest.gz
+++ b/net-libs/Manifest.gz
Binary files differ
diff --git a/net-libs/libtrace/Manifest b/net-libs/libtrace/Manifest
index 78976503ed86..35acf20c0296 100644
--- a/net-libs/libtrace/Manifest
+++ b/net-libs/libtrace/Manifest
@@ -1,8 +1,4 @@
-AUX libtrace-3.0.20-autoconf-1.13.patch 219 BLAKE2B 5b342005bc1004c0d85a59e4e815a33f6d5cd21fc3bebe1e31a26ac3b17be27c4e3a5bd7b379bcc42705438b657576e28b597eaae786aa2319972f587b07e790 SHA512 6335e63cdf537700a60f8eeae940d963d582e9373e1ea6a14b7960a52e1c61464785134ec14bbe49ededf7554f0715fdb4d59565d1c9870f8a0bc5524538286e
-AUX libtrace-4.0.0-no-examples.patch 282 BLAKE2B 0a3f3a4a33490a0a7956a1884bfab647f9498c655b394c68505bb6a9677da98b3dd62b5b499e13c6be4d975cef68b95ba2874aa08edd9f121bf1f637829581d7 SHA512 f000efc2de1e46db5fa486e3640eaea95389f09e22c46b903de2e88d8f13e2421951a9f46f9cf90f5989cbd7f55cc0e16e8e038c872241d624219b8e85b86f2d
-AUX libtrace-4.0.0-with-numa.patch 655 BLAKE2B ac290763914fb35b0638050183a0bd1e8c99a6b7679715eeaffebb584616baffef7b76a4917f8bfd7b02c3da1720fd0fe77427d84d6a43cd2e67ff2b6b20c493 SHA512 f6d0dbd63b2ca7055d001612c73af3c8f0fc6eaae0c565607d241abfbc9457f3fd739aad5f7933a8b281ebf36f601534a648067a62b0582eb6741fcfdc68d5fe
AUX libtrace-4.0.18_p1-build-system.patch 4161 BLAKE2B e2811873721fa703e5f2202258e2e943320a601020d6d1172b215917ddb3c0e04b22a2c73c948d64ca7e65716a4f4b7147f49150b607bd6364f4da244db76311 SHA512 cec579934f535ca5f0ae1f32860e13bfc9a5e7f1467d66100be3edb6c10585b2190987d93ab558feb5dd464c85c153faece29fe37f6e2dd8037f240c96ed0040
-AUX libtrace-4.0.9_p1-tinfo.patch 699 BLAKE2B de67795fc21e680a84998b0777dbb9bb8254ec4634cc94ab7903a29b238b1f6b6bd6447d0b63bb48c6404acc2216d06a2fb4ea371cc4179ad323954f6647c033 SHA512 82c86d79c549788665ecd50e4f1a1fb8ceea928585a07ec42b007df57875c57b3fc924395318ee0e7f9cf93faa849f9e86d8eb9ac715e9f113d5a02acebcff7a
DIST libtrace-4.0.18_p1.tar.gz 1963425 BLAKE2B fdacd4a44f899dc49fe9571d8e695cd726ea07d1c0595bd7c1f59d53721bd5610126924323c9c7098caf65276219e61265e5e05f23b4a92ae6377268c618202f SHA512 fc2979fa56b0eee25149a3571d0a06e2a46ab6d6fa419b2fc37635ebcf4a8814250005c4dfc5dddb5fb6aa9c74161ab4f475a037e021388054bb62f414b9c5d2
DIST libtrace-4.0.19.tar.bz2 844871 BLAKE2B ff55935b46fb2193ae2e4ab10971d0983da18be20a52a18664f0e72cb829ab444a22e00aeedbd2df85aebbcd6b8352636c559e55d05466a599cc332f018f14ad SHA512 f2744337b4dcff8fc782cd90e44ea6f21cfe120840f626dfac365d3ffaecb82bfdd04a35458b67f663addc1f7ae792c5b0ec7538ed90a2deb386586bc55e1c54
EBUILD libtrace-4.0.18_p1.ebuild 1447 BLAKE2B fc83d13a6c55acd782ecf7323a3015362587586f27b0ed08e1bba0ec690efecb44625d11575fbbbf71b0ad8909bbce33b88bac192a2d3f78814597725c4da363 SHA512 e04d235323a8eb091ee9ac37af8e899db41cddeab1421ebd738e55561288f8abca4aa221a53248174e9aa679fc743915b52ccaf5ca7011ba9db6977c231a5e80
diff --git a/net-libs/libtrace/files/libtrace-3.0.20-autoconf-1.13.patch b/net-libs/libtrace/files/libtrace-3.0.20-autoconf-1.13.patch
deleted file mode 100644
index ed51ecb82868..000000000000
--- a/net-libs/libtrace/files/libtrace-3.0.20-autoconf-1.13.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -61,7 +61,7 @@
- ])
-
- # Put all our automake definitions in config.h
--AM_CONFIG_HEADER([config.h])
-+AC_CONFIG_HEADERS([config.h])
-
- # Checks for C and C++ compilers
- AC_PROG_CC
diff --git a/net-libs/libtrace/files/libtrace-4.0.0-no-examples.patch b/net-libs/libtrace/files/libtrace-4.0.0-no-examples.patch
deleted file mode 100644
index 8467ffda24b0..000000000000
--- a/net-libs/libtrace/files/libtrace-4.0.0-no-examples.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,6 +1,6 @@
- LIBPACKETDUMP_DIR = libpacketdump
- TOOLS_DIR = tools
--SUBDIRS = lib $(LIBPACKETDUMP_DIR) $(TOOLS_DIR) docs examples
-+SUBDIRS = lib $(LIBPACKETDUMP_DIR) $(TOOLS_DIR) docs
-
- ACLOCAL_AMFLAGS = -I m4
- AUTOMAKE_OPTIONS = 1.9 foreign
diff --git a/net-libs/libtrace/files/libtrace-4.0.0-with-numa.patch b/net-libs/libtrace/files/libtrace-4.0.0-with-numa.patch
deleted file mode 100644
index 54e9f54f8dc1..000000000000
--- a/net-libs/libtrace/files/libtrace-4.0.0-with-numa.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -431,7 +431,23 @@
- [[#include <linux/if_packet.h>]])
-
- # If we use DPDK we might be able to use libnuma
--AC_CHECK_LIB(numa, numa_node_to_cpus, have_numa=1, have_numa=0)
-+AC_ARG_WITH(numa,
-+ AS_HELP_STRING(--with-numa,include NUMA support),
-+[
-+ if test "$withval" = no
-+ then
-+ want_numa=no
-+ else
-+ want_numa=yes
-+ fi
-+],[
-+ # Default to building without NUMA
-+ want_numa=yes
-+])
-+
-+if test "$want_numa" != no; then
-+ AC_CHECK_LIB(numa, numa_node_to_cpus, have_numa=1, have_numa=0)
-+fi
-
- # Checks for various "optional" libraries
- AC_CHECK_LIB(pthread, pthread_create, have_pthread=1, have_pthread=0)
diff --git a/net-libs/libtrace/files/libtrace-4.0.9_p1-tinfo.patch b/net-libs/libtrace/files/libtrace-4.0.9_p1-tinfo.patch
deleted file mode 100644
index e79f7cf82f9f..000000000000
--- a/net-libs/libtrace/files/libtrace-4.0.9_p1-tinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/tools/tracetop/Makefile.am
-+++ b/tools/tracetop/Makefile.am
-@@ -6,6 +6,6 @@
- include ../Makefile.tools
-
- tracetop_SOURCES = tracetop.cc
--tracetop_LDADD = -lncurses
-+tracetop_LDADD = @ncurses_LIBS@
- tracetop_CPPFLAGS = -fno-strict-aliasing $(AM_CFLAGS)
- endif
---- a/configure.in
-+++ b/configure.in
-@@ -79,6 +79,8 @@
- AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc)
- AM_PROG_LEX
-
-+PKG_PROG_PKG_CONFIG
-+
- # All our source files for function replacements are in lib/
- AC_CONFIG_LIBOBJ_DIR(lib)
-
-@@ -645,6 +663,8 @@
- fi
- fi
-
-+PKG_CHECK_MODULES(ncurses,ncurses,have_ncurses=yes,have_ncurses=no)
-+
- AC_ARG_WITH([ncurses],
- AC_HELP_STRING([--with-ncurses], [build tracetop (requires ncurses)]))
-
diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz
index 4ddae59d24e8..00f940416ceb 100644
--- a/net-misc/Manifest.gz
+++ b/net-misc/Manifest.gz
Binary files differ
diff --git a/net-misc/dahdi-tools/Manifest b/net-misc/dahdi-tools/Manifest
index 0b18ebf6f5d2..5b5d19337c3e 100644
--- a/net-misc/dahdi-tools/Manifest
+++ b/net-misc/dahdi-tools/Manifest
@@ -1,5 +1,5 @@
AUX dahdi-autoconf.conf2 1067 BLAKE2B f6c64135e4b47ce3eafd4b79b4e02ea8bc4d46ab36e30203cf061a5541fc2bdc9bdb2bf6050bc36c8d1e1b5f2ba07f72e83037eccd86ead45fdc97e8a4a3d767 SHA512 7de2ad496a48da487b0f54b0d3c98681e72ebb86107bdf091c74f410d0e2598fe21e1b876eea81d72ef5250570a67a2ece19de6d003b9bbc3def5fae9173189a
-AUX dahdi-autoconf.init-3.1.0-r3 6674 BLAKE2B 08e9309034faea3f97ce9c82fbc79b88cafc6ca07fcf9c5f555e815fd13191c6287b0b85896cc7fe3e10fc4e5de29dfa2737313ebdc51b1e1dd9e98bff409fcb SHA512 d2990903350b1275777bcbd0e1c5e38630aca7627d73b2741aaec7ddc055c96ff7d7adc4c55f578cc0fd8f693f6927b4d77f7db7f273f89ba99a9326cf41b1a0
+AUX dahdi-autoconf.init-3.1.0-r4 6709 BLAKE2B 53dd72c1390b8be78117df9fb8829ba8c9e0c53800bde17f3dcd9384750bbbc9e883888b53a453da3f222843e09f56a095bcc9a27c0c44a3a232faf2da3a0dc8 SHA512 9ec20697a7b6a3a6a9bbd03687477a9a0b59365996e5018f04bd4798623f83dd69d3bd34f48c104a00a621aa8d12f9254ddc1effc0743ec67b30e6a405e2dacf
AUX dahdi-autoconf.init2 5817 BLAKE2B c8186a6ff1188ed1d91b86db2b6e861297b5927c7a2cc95a95eb656d4149f2d01c2d8b91412e440f76e9fcb3ff530aef00dae04c38763bd84575cadecdfe2692 SHA512 0201e4555a8c3ccaceb4cfe1fe004dada847608ad6d8ad031f788f72b056e0d0ef0bdad653eb2f492ae08444c2094dc00ac73180a4107eaabc5f5258a91fa50d
AUX dahdi-nondigium-blacklist.patch 507 BLAKE2B 5cd8264cfb6792db5fdb92b32dad33a224defb876807d260fbef9f72b943f56f8415a7f082752e261c03982c6b016fe1ce8034d98c6a1aac4cfee7c9d50b3ddb SHA512 4fdb4933e05e07812d1a94efb9bda9038aaadb8a1830cb9ba99d62346f2d007e827771f8de144ef09d6ee5adb1a571ca5ef8ae646c7f62bde8232af30468c2ac
AUX dahdi-tools-3.1.0-cplusplusexternc.patch 695 BLAKE2B 8b3cbe872786017759d11bf5d23e6eb41de29003e047ab7244188e0603df6ea669b870216e15cdf4c77a41f7b4f5d10169853aaf839b6dc4d491c0a23121924b SHA512 eecfdb73558b8f4ea8b5ffb55ced8f863960cb1ee92196995ca69e30df4a55f07f59a0b429cfad40271b71b585130438b11861d3459fab87f02ced7032f57ded
@@ -9,5 +9,5 @@ AUX dahdi-tools-3.1.0-parallel-make-no-config.patch 681 BLAKE2B c72cc644d88514c8
AUX dahdi.init2 582 BLAKE2B 2e273c929772428586f6800601cc0249a33f61c6aad474c19dd45d9d78a187a9fdd34d1ca26e0eed605fc9630c04b0b0ffd29214a5116749db94bf7609bb078a SHA512 684e8dea54a4f082345100f4d05ca286a085b99c46f0b3fa7300ca5d9a666657afb5405c1f14ac3ba4aba02ce39872e74b9c1cfe6321fd631fa6c39ae38e5ebb
DIST dahdi-tools-3.1.0.tar.gz 607449 BLAKE2B aa8ef197cbdecf5c892386aa1c25c940ed3f7c24884f588dcca975d34ee7b4c41722d2529fa305d7568d03302e10e6eb4d5df36a899315e05bf243163500b22d SHA512 e0e5bf24e4834ca39ef7dc1af1bb7ef26bd258a8b2cb2406a7e1ffed25b4b1d44a5fce41d97c5ad7fc6ebb66f965759d2b49ffa6d89845786f43eadb89ff4694
EBUILD dahdi-tools-3.1.0-r2.ebuild 2152 BLAKE2B 2c84f625ba1d41d43a69841c8d4dcbe898e1f5c54c54b0a554b3e382c0861fa97b4d027fb63b1b4e4ae2fa7b32dd81389554af2cab3cedfad0c68c2288748537 SHA512 b4e76d483b67390b1a889d868118093d2d5db443d80ded95c0a3424b478a16da934b3911fa451ae7fca380f3a76fad6b821f2ca9ba91f87b27869f15d14b486c
-EBUILD dahdi-tools-3.1.0-r3.ebuild 2162 BLAKE2B dfc90c8ccdaf62e2456717aec490bf5248955149a7af8e7f7523349337ec9f8b2dedfa6ff4d7a830ac8180f2e53b0e056565972d170cd779872853639d9c29de SHA512 664ef6000fa11a95f7dfcad22cb7570603a46691e5a7ad7b7e869114f149fe93f73f39b84f97fa83ac260719aa2da342aa02720ab9457dbadb6425d554f8cbdb
+EBUILD dahdi-tools-3.1.0-r4.ebuild 2193 BLAKE2B 35da5b37f60762dd1205f03b17b3c8da70b1564fb4d3fa8e93e63db5134c67a279751177dcee790b6c7ca6bce9d4bae883ac64a1cf69e894e172ef10dfbf27de SHA512 8b231fd5c0bc78b6521843dae2ee87b8ba8c573703f6a245c7a219c7920cf60e86988236c34e0395346d68521b4a6d2c9408efab8f9587a3e4595588560948d5
MISC metadata.xml 474 BLAKE2B 05062875e00c015c39cce4432a8197606dcbe1d40efb3058843c05defedd04304581a449b7a1abeb37ac96c5e6c9559ef9b36f7cbe1123783cc1822a25c5ee78 SHA512 bd60b375dd7863a16f525eb82c7c97d2a93032a93963ab764523fb774692b2ad107cb69eab4eacc695d67316307b91bac8e299a9c3d2689894d9dc174516c2a7
diff --git a/net-misc/dahdi-tools/dahdi-tools-3.1.0-r3.ebuild b/net-misc/dahdi-tools/dahdi-tools-3.1.0-r4.ebuild
index 4cdea940512c..4ccf762c64d7 100644
--- a/net-misc/dahdi-tools/dahdi-tools-3.1.0-r3.ebuild
+++ b/net-misc/dahdi-tools/dahdi-tools-3.1.0-r4.ebuild
@@ -54,7 +54,7 @@ src_install() {
# install init scripts
newinitd "${FILESDIR}"/dahdi.init2 dahdi
- newinitd "${FILESDIR}"/dahdi-autoconf.init-3.1.0-r3 dahdi-autoconf
+ newinitd "${FILESDIR}"/dahdi-autoconf.init-3.1.0-r4 dahdi-autoconf
newconfd "${FILESDIR}"/dahdi-autoconf.conf2 dahdi-autoconf
bashcomp_alias dahdi $(sed -nre 's/^complete -F .* //p' "${ED}${bashcompdir}/dahdi" ||
@@ -68,3 +68,7 @@ src_install() {
pkg_postinst() {
udev_reload
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r3 b/net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r4
index 3841aca8d18a..73ab07b8904f 100644
--- a/net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r3
+++ b/net-misc/dahdi-tools/files/dahdi-autoconf.init-3.1.0-r4
@@ -150,20 +150,20 @@ dahdi_conf_span() {
case "${type}" in
digital-TE)
- cfunc+="bri_te"
+ cfunc="${cfunc}bri_te"
;;
digital-NT)
- cfunc+="bri_nt"
+ cfunc="${cfunc}bri_nt"
;;
digital-[TE]1)
- cfunc+="$(echo "${type##*-}" | tr 'TE' 'te')"
+ cfunc="${cfunc}$(echo "${type##*-}" | tr 'TE' 'te')"
# Use CPE by default. Unfortunately there is no easy
# way to detect CPE vs NET as far as I know and specifying
# in a config that you want NET mode seems the sanest way.
if yesno "${vname}"; then
- cfunc+="_net"
+ cfunc="${cfunc}_net"
else
- cfunc+="_cpe"
+ cfunc="${cfunc}_cpe"
fi
;;
*)
diff --git a/net-misc/icaclient/Manifest b/net-misc/icaclient/Manifest
index 9c03474fa4a9..7cb4c6a998b6 100644
--- a/net-misc/icaclient/Manifest
+++ b/net-misc/icaclient/Manifest
@@ -6,6 +6,9 @@ AUX new_store.desktop 235 BLAKE2B 43bbf97a6982485e8b21f30c15889d64063ef0ce294b06
AUX selfservice.desktop 183 BLAKE2B 45d0830601ceac5159e239ec149cf3cdeabd43beb2ad6964935129fad6cd2c2e7c36cfc473e89b5db3b3b6cce2df909dd6013c3463631a7d868b470a49494285 SHA512 c4a2bdd83a29171c331b8adc98b33b8150fef5616d1fde8a0c9ccf1972b8ecc222dc1c0bc4e7779d93b851f44e79f5166138af7b7d36de964932ff3b63a4801b
AUX wfica.desktop 242 BLAKE2B 6e90bb02824a6319035814050919c55907b2104c65e2abcc7379a4c694a585945c2e10ada114c4dfb906ee3b1fa90a0251dcb1ec3aac1fb6015a2d2ecbef4452 SHA512 a233bbdfadaee080d8dda67ed81a60ef74902c1f2100cb08bc402186be23f1bbb82f84abb93da88d610d187a267f7db28e6bfebe689839c921ae5a94a4bdf1d7
DIST linuxx64-22.5.0.16.tar.gz 162733197 BLAKE2B 32b4fd64d6bccf8a3be92e8f8ee59059839f31f4f771a6344fea320d2b635174c31c9e8d572a700568bab6032352fe72657dce1ee752327ed856370fa86acf9a SHA512 796ecbccc60995baae2082b5b275d7bf1482b19aed198de6d9f4083b2a3a68ff2fe73dfd1d3d33f0f885a157a77f20de008635eade36d5f9adff6b662aaefc1b
+DIST linuxx64-22.7.0.20.tar.gz 161763935 BLAKE2B db384c4bd1d94ca64126c4a2e418b087063d3d80630855fe0887ce093979b5b81710521b9ee99048fc060838efa1253de3ffd575cda5bd1100375fa1dbc3dffe SHA512 5407deff6fc2fa94912899f7c6afd017775cc43feb76814b35238533280bb42cf1ff89f43c69f2792d54ebedff797afe7661317965ce80428dc2b1d791586a77
DIST linuxx86-22.5.0.16.tar.gz 144032901 BLAKE2B 0f58adf7645eaba6ad75e126381ecfecf7434130b0e69bed75a0499386c5301475a48e414ce57aebdfeaea0cb6615ae93b48ecfdd0149851a56459d687d75bb7 SHA512 b94a3de41118d08f3ff549de33e80a85198a3db1349177cc5c921cdd45f1d5bb7e1ee338067602725a9bed16619216f552f98314d539915a251f020094ae3121
-EBUILD icaclient-22.5.0.16.ebuild 5447 BLAKE2B 5bda643f7f078b7f07b2d3ab0a11a0f43ae5d0632a8250ec0eddae5f7df1ed8ec4bc7e709733989b86059190a806a6e4555cb8148eb2dc85154f0378dd2d9ed9 SHA512 0505b48016b8b1f465daf348bedefe5937b150127fbed1132be62df1dda558c2f86cbfc66070100fc7c19b16d6a10f465e20b25cd23f15e689b60926d13f18d7
+DIST linuxx86-22.7.0.20.tar.gz 143467730 BLAKE2B 6c913e44847a1114e8517a259fbfb6e04734d864e10ac14a074df5a6c55d908cfe1f3e6f074abf9b1dda43f9be8a1a718422ae7f792184f7e04fd91262daa347 SHA512 d5a138aa921d1106fb2808ca8bba3dc0d963dfecff439178fcb7fb3881dcce4cb9d6c5bed61d7b4d5e97a31616225bf88bf557e5711be2ab0e684324ea9c9194
+EBUILD icaclient-22.5.0.16.ebuild 5487 BLAKE2B 54183677d6144505981ef3ff3c324c08dd8b0f19b5455e58bd454a7be04b926105ac0bcc826131a6131aeb2ff8ef2956a3052469b232b22eb03294b3940356a6 SHA512 63465f719beaceab7ac82dc41566164fb9348efdd55e644f6427afa15ae94345b66f2493716b9db938e9d25618be6e3dc3b9f2fd27bc182662ecba1451acba1c
+EBUILD icaclient-22.7.0.20.ebuild 5499 BLAKE2B 29d0b3136003dfcde3497ce2171b3e4badcc88d0510353b64f9a41187f5c2c57b12d708b2c2b686e9bc9763d8caab8fc2db74437b7d20b85c3194e1debe75172 SHA512 be49d8023de439eddadb70a82151afd18bcea6d623a1d8c708017bf3f5231a8425285eadb14cb35c089c6d5b437cd1f0c80965f90ad7393dd8b0fd5d5bde77dd
MISC metadata.xml 396 BLAKE2B 87022ff667ea4915aaeb6bd69234d79f1030f0501ba2c6cbca8068905639f7797765b6b165a0cb5663f63f7d6089b73528745a3e3f413a02a023f66696f0ceb0 SHA512 8b03761bc34e251e177c940e1e61b0d7faba8651d7cc4f3971fe7928adbd9a3d7c4041474d404d966a5a0818066f0d64ce3c8b7f7fedebfed2132d338625b09d
diff --git a/net-misc/icaclient/icaclient-22.5.0.16.ebuild b/net-misc/icaclient/icaclient-22.5.0.16.ebuild
index ed272b4e5416..ba90295aa9a7 100644
--- a/net-misc/icaclient/icaclient-22.5.0.16.ebuild
+++ b/net-misc/icaclient/icaclient-22.5.0.16.ebuild
@@ -83,8 +83,11 @@ pkg_setup() {
eerror "Given architecture is not supported by Citrix."
;;
esac
+}
- S="${WORKDIR}/${ICAARCH}/${ICAARCH}.cor"
+src_unpack() {
+ default
+ mv "${WORKDIR}/${ICAARCH}/${ICAARCH}.cor" "${S}" || die
}
src_prepare() {
@@ -250,7 +253,7 @@ src_install() {
pkg_postinst() {
xdg_desktop_database_update
- local inidest="${BROOT}${ICAROOT}/config"
+ local inidest="${ROOT}${ICAROOT}/config"
if [[ ! -e "${inidest}"/module.ini ]] ; then
mv "${T}"/module.ini "${inidest}/" \
|| ewarn 'Failed to install plugin.ini file'
diff --git a/net-misc/icaclient/icaclient-22.7.0.20.ebuild b/net-misc/icaclient/icaclient-22.7.0.20.ebuild
new file mode 100644
index 000000000000..f7112289fdfe
--- /dev/null
+++ b/net-misc/icaclient/icaclient-22.7.0.20.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper xdg-utils
+
+DESCRIPTION="ICA Client for Citrix Presentation servers"
+HOMEPAGE="https://www.citrix.com/"
+SRC_URI="amd64? ( linuxx64-${PV}.tar.gz )
+ x86? ( linuxx86-${PV}.tar.gz )"
+
+LICENSE="icaclient"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="l10n_de l10n_es l10n_fr l10n_ja l10n_zh-CN"
+RESTRICT="mirror strip userpriv fetch"
+
+ICAROOT="/opt/Citrix/ICAClient"
+
+QA_PREBUILT="${ICAROOT#/}/*"
+
+RDEPEND="
+ app-crypt/libsecret
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/libxml2
+ media-fonts/font-adobe-100dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ media-fonts/font-xfree86-type1
+ media-fonts/font-misc-ethiopic
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/libogg
+ media-libs/libjpeg-turbo
+ media-libs/libvorbis
+ media-libs/speex
+ net-libs/libsoup:2.4
+ net-libs/webkit-gtk:4
+ sys-apps/util-linux
+ sys-libs/libcxx
+ sys-libs/libcxxabi
+ sys-libs/zlib
+ virtual/krb5
+ virtual/libudev
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/pango
+"
+DEPEND=""
+
+pkg_nofetch() {
+ elog "Download the client file ${A} from
+ https://www.citrix.com/downloads/workspace-app/"
+ elog "and place it into your DISTDIR directory."
+}
+
+pkg_setup() {
+ case ${ARCH} in
+ amd64)
+ ICAARCH=linuxx64
+ ;;
+ x86)
+ ICAARCH=linuxx86
+ ;;
+ *)
+ eerror "Given architecture is not supported by Citrix."
+ ;;
+ esac
+}
+
+src_unpack() {
+ default
+ mv "${WORKDIR}/${ICAARCH}/${ICAARCH}.cor" "${S}" || die
+}
+
+src_prepare() {
+ default
+ rm lib/UIDialogLibWebKit.so || die
+
+ # We need to avoid module.ini file getting added to the package's
+ # content because media-plugins/hdx-realtime-media-engine modifies
+ # this file on installation. See pkg_postinst()
+ mv nls/en/module.ini "${T}" || die
+}
+
+src_install() {
+ local bin tmpl dest
+
+ dodir "${ICAROOT}"
+
+ exeinto "${ICAROOT}"
+ doexe *.DLL libproxy.so wfica AuthManagerDaemon PrimaryAuthManager selfservice ServiceRecord
+
+ exeinto "${ICAROOT}"/lib
+ if use amd64 ; then
+ rm lib/ctxjpeg_fb_8.so || die
+ fi
+ doexe lib/*.so
+
+ for dest in "${ICAROOT}"{,/nls/en{,.UTF-8}} ; do
+ insinto "${dest}"
+ doins nls/en.UTF-8/eula.txt
+ done
+
+ insinto "${ICAROOT}"
+ doins -r usb
+
+ insinto "${ICAROOT}"/config
+ # nls/en/*.ini is being handled by pkg_postinst()
+ doins config/* config/.*
+ for tmpl in {appsrv,wfclient}.template ; do
+ newins nls/en/${tmpl} ${tmpl/template/ini}
+ done
+ touch "${ED}/${ICAROOT}"/config/.server || die
+
+ insinto "${ICAROOT}"/gtk
+ doins gtk/*
+
+ insinto "${ICAROOT}"/gtk/glade
+ doins gtk/glade/*
+
+ insinto "${ICAROOT}"/site
+ doins -r site/*
+
+ dodir "${ICAROOT}"/help
+
+ insinto "${ICAROOT}"/config/usertemplate
+ doins config/usertemplate/*
+
+ local lang LANGCODES=( en )
+ use l10n_de && LANGCODES+=( de )
+ use l10n_es && LANGCODES+=( es )
+ use l10n_fr && LANGCODES+=( fr )
+ use l10n_ja && LANGCODES+=( ja )
+ use l10n_zh-CN && LANGCODES+=( zh_CN )
+
+ for lang in ${LANGCODES[@]} ; do
+ insinto "${ICAROOT}"/nls/${lang}
+ doins nls/${lang}/*
+
+ insinto "${ICAROOT}"/nls/$lang/UTF-8
+ doins nls/${lang}.UTF-8/*
+
+ insinto "${ICAROOT}"/nls/${lang}/LC_MESSAGES
+ doins nls/${lang}/LC_MESSAGES/*
+
+ insinto "${ICAROOT}"/nls/${lang}
+ dosym UTF-8 "${ICAROOT}"/nls/${lang}/utf8
+
+ for tmpl in {appsrv,wfclient}.template ; do
+ cp "${ED}/${ICAROOT}"/nls/${lang}/${tmpl} \
+ "${ED}/${ICAROOT}"/nls/${lang}/${tmpl/template/ini} \
+ || die
+ done
+ done
+
+ insinto "${ICAROOT}"/nls
+ dosym en /opt/Citrix/ICAClient/nls/C
+
+ insinto "${ICAROOT}"/icons
+ doins icons/*
+
+ insinto "${ICAROOT}"/keyboard
+ doins keyboard/*
+
+ rm -r "${S}"/keystore/cacerts || die
+ dosym ../../../../etc/ssl/certs "${ICAROOT}"/keystore/cacerts
+
+ local util_files=(
+ HdxRtcEngine
+ configmgr
+ conncenter
+ ctx_app_bind
+ ctx_rehash
+ ctxlogd
+ ctxwebhelper
+ echo_cmd
+ gst_play1.0
+ gst_read1.0
+ hdxcheck.sh
+ icalicense.sh
+ libgstflatstm1.0.so
+ lurdump
+ new_store
+ nslaunch
+ setlog
+ storebrowse
+ sunraymac.sh
+ webcontainer
+ what
+ xcapture
+ )
+
+ exeinto "${ICAROOT}"/util
+ for bin in ${util_files[@]} ; do
+ doexe util/${bin}
+ done
+
+ local other_files=(
+ icasessionmgr
+ NativeMessagingHost
+ UtilDaemon
+ )
+
+ exeinto "${ICAROOT}"
+ for bin in ${other_files[@]} ; do
+ doexe ${bin}
+ done
+
+ # https://bugs.gentoo.org/655922
+ dosym gst_play1.0 "${ICAROOT}"/util/gst_play
+ dosym gst_read1.0 "${ICAROOT}"/util/gst_read
+ dosym libgstflatstm1.0.so "${ICAROOT}"/util/libgstflatstm.so
+
+ doenvd "${FILESDIR}"/10ICAClient
+
+ for bin in configmgr conncenter new_store ; do
+ make_wrapper ${bin} "${ICAROOT}"/util/${bin} . "${ICAROOT}"/util
+ done
+
+ for bin in selfservice wfica ; do
+ make_wrapper ${bin} "${ICAROOT}"/${bin} . "${ICAROOT}"
+ done
+
+ dodir /etc/revdep-rebuild/
+ echo "SEARCH_DIRS_MASK=\"${ICAROOT}\"" \
+ > "${ED}"/etc/revdep-rebuild/70icaclient
+
+ insinto "${ICAROOT}"/pkginf
+ newins "${WORKDIR}"/PkgId Ver.core."${ICAARCH}"
+
+ # 651926
+ domenu "${FILESDIR}"/*.desktop
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+
+ local inidest="${ROOT}${ICAROOT}/config"
+ if [[ ! -e "${inidest}"/module.ini ]] ; then
+ mv "${T}"/module.ini "${inidest}/" \
+ || ewarn 'Failed to install plugin.ini file'
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/net-nds/Manifest.gz b/net-nds/Manifest.gz
index f4c26352cedd..cd4284b3bc84 100644
--- a/net-nds/Manifest.gz
+++ b/net-nds/Manifest.gz
Binary files differ
diff --git a/net-nds/openldap/Manifest b/net-nds/openldap/Manifest
index 58c139e76be8..980bee2de014 100644
--- a/net-nds/openldap/Manifest
+++ b/net-nds/openldap/Manifest
@@ -21,10 +21,8 @@ AUX openldap-2.6.1-make-flags.patch 2052 BLAKE2B b556799ddebbee51b4480ac379b1530
AUX openldap-2.6.1-parallel-build.patch 1789 BLAKE2B 2859123ae00f02efeae1978256a6c94ef92a2983f13b046715d3f6c386427bf15c5384bc729264c31b60c21f9f5060998501d21726a27f27f4d4113bd4291b90 SHA512 212dea163e3bf6f5f9d7cb8d9e970f74e15aab1089c141fab59c75f19b3699f3990fa255f1ee2a63b92907064e0182ea91514603aae3d53956635a88a7100040
AUX openldap-2.6.1-system-mdb.patch 3679 BLAKE2B 9d9eb3dad904564cb453424743091c471ba52ea8fa6c98b4138f068d2b6d57eb7a3ce903df1ee9eb7bae0219cc762cff8dc1f10515c376c40e2ff9b7d25d44a2 SHA512 fc1d17e57b9596b4e744272f0e28400fbaeafe6fe6de8e050be8b934f4e4f977637e6b8ca9f43255f2b59f9640a70b4c9ff91b2f741850c5f1d04d5c34cdc34c
AUX slapd-2.6.1.service 283 BLAKE2B 47f0d19eecc4ab3f026853f0a1aa75b3691db7e064cd721751e74acdd932464347e919285536b01eea64bf596761755034a7e281216bad9baad2541a2bb708f3 SHA512 cb619ca423cac1fc71e553c0633d45babb4a138a9bd791a874851c2afc92c9388543cc7ce3fb9f8c553d8db9fb01464939bfd224f8b78aeed0d47c4ccb29b46f
-AUX slapd-confd 614 BLAKE2B 1f82964ade38adce868c28551ba9c5fbda4d1fcfc640ef51850ef934374a35520ffcf912547d7fe14f93d2aabce6ca24c11f1867bf16b3503addf04ecb1e11ba SHA512 e4ae52d10294da787016cf39adfd68c6ad812ac1758b00845810ee7936d21734d2ef3793252b878d88f21788414071adffb5f484381d4dc6a29f71a8729486b7
AUX slapd-confd-2.4.28-r1 1072 BLAKE2B 9d4cef3614164e09e27cc681a2d37c126da6666715b1f3092751d036b42c70bb73f3b6cc51defac791c3f8e63e250d8c9d946ef0b84bc8e38c1504ac7ea239a4 SHA512 7426c04ee689bcfb29a9a3956367c571eac6bc9620efda938591d09382a05527454458f7a25bdc2fa2ac920f93bae516121e085408ffefbe8ace0c7d8c5da315
AUX slapd-confd-2.6.1 1060 BLAKE2B 06f5f0e7b87eb4962f8413f3f5ea21a29b4e8174c016420c5f8c00bf6deb1b27929175a5cb8dc2db272147154ddb6006a2cf7ac5ee07a9652e047f23603923c7 SHA512 79d332fec5e6539106ae9f457194c31ede99e682f6cac89512d76c0f5831a7cbd01de5ea05ced4228f581ba1327091eaf5209fdbeeddb5048c6ca6ba7c5b38d5
-AUX slapd-initd 754 BLAKE2B 3f4d3c02096c91a6e3f4404d1629deb8bc42c2e05bf12d094915658035b1c5a2f86a2f080accf1ceee61d7358ef356f1b4fce36a6d074305c00f9f4f47f3bbdf SHA512 adff88d93c39ae95a253c32a649f3523e79e60ad43ec959d2c206cb0ca35126c1c8531b40b2cfc1ba3692e15e1353a5c6583a14f6655d070b3ca203359592a42
AUX slapd-initd-2.4.40-r2 1725 BLAKE2B 7fc04e889726b619f3eb29984c3fcfc88d74b216b546f5bc3a470da11afd4778c0b0c0e2491e9aa375bb0d4dba43a0caf4e13755399af01aa64f813464f96302 SHA512 1fd458da28034eb1c6287fc291f40a546f136abe4fcfba4c27311ba1f92b0c29eee6f097ee6e4285dfc5a23e4ee3edbdc4eea8811b1b2c4fada666d30b95d1c3
AUX slapd.service 284 BLAKE2B 27e3863a8b0e854e5b6b1efce50da624acbfe0d2416af1eedfbc225b5e8307f79441bb4b9afddc7736857a8fd289db65e04e297e314cad48996ab6e3ecca43f6 SHA512 450c93b320101e1c28681cad6694c24332fbe424ac98283b621a2f6e1eb01e9e2dbd80a4142e6e8d01d95c55018b44e847d4f4c55f11d7e0e0a11ae1827daa82
AUX slapd.service.conf 443 BLAKE2B 7cf9d3935ea100006fe4f8667b792d32627c933c72220a91e4d9bf99fab4af9c590834f9aaed57d80eadd2fdf75e49f55739ef6027d11f012f8da3a711707c27 SHA512 be9cf4bf19111bd77c0ce481428e6f3cc183a6939775ed1a2d7606a5162da34178cb139d666288f6a35b8413bd4dc5f8f1bd60b39f3cca8f749557674b93910b
@@ -32,14 +30,12 @@ AUX slapd.tmpfilesd 90 BLAKE2B f9cdde975b45c61c18773e4a3b30e3cb3c2a7d979bfef6d05
DIST openldap-2.4.57.tgz 5883912 BLAKE2B 439605e1bebcf34968f0a552aaade1b72b7671ae2a94a0b700a84f9f715acd162e7b8dadfdd3ffd5b0a785f9306b5f5033ab956cf0ffd26b66119a7110d0aa57 SHA512 b929bced0f5ba9a90e015a24b8037c8958fbb7282db272bd0cacf43b5f7540ab42159a3c4441148074340228bb5f07f93651c0dbb2affde961be156058f99ce5
DIST openldap-2.4.58.tgz 5885225 BLAKE2B effb618dba03497796a497cd7f53ec52e389133769321dd242433bed5ec4b1f66cf7353f08a49d5f3465880f6bcfc9afc9c7d2a28e075b66f5fd926b02213541 SHA512 2fa2aa36117692eca44e55559f162c8c796f78469e6c2aee91b06d46f2b755d416979c913a3d89bbf9db14cc84881ecffee69af75b48e1d16b7aa9d2e3873baa
DIST openldap-2.4.59.tgz 5886272 BLAKE2B a2a8bed1d2af97fd41d651668152fd4740871bc5a8abf4b50390839228af82ac103346b3500ae0f8dd31b708acabb30435b90cd48dfafe510e648df5150d96b8 SHA512 233459ab446da6e107a7fc4ecd5668d6b08c11a11359ee76449550393e8f586a29b59d7ae09a050a1fca4fcf388ea61438ef60831b3ae802d92c048365ae3968
-DIST openldap-2.5.4.tgz 6415235 BLAKE2B 16e466d01dc7642786bb88a101854513f1239f1e817fd05145e89deb54bc1b911a5dc5f42b132747f14bdd2a3355e7c398b8b14937e7093361f4a96bfb7e9197 SHA512 00b57c9179acf3b1bde738e91604f3b09b5f5309106362bb947154d131868f233713eaa75c9af9771bfad731902d67406e8fb429851bad227fc48054cace16a8
-DIST openldap-OPENLDAP_REL_ENG_2_6_1.tar.gz 6211863 BLAKE2B 81f4591db483a214351c2e02631fef2875e17e0890fc621182d2ed61d927c3c029a4f290ee6c0788952495d6f7a76ed15e62557b8d8f2e241d867e19fdf223b7 SHA512 ca61c1dccf3194d8d149ca0c45a4834d6fadf67a3676cf348f5f62ab92c94bc7501216d7da681c3a6f87f646a18d0f3d116c3d3a24d2e5cbebc6c695c986e517
DIST openldap-OPENLDAP_REL_ENG_2_6_2.tar.gz 6216063 BLAKE2B 51c8d5ee712971c1aeeaedfc7bb89e65b2ccc2dc171bd0fb99e2b568d70ea5c66903194ab92a66de88fd9bc78511ffee0ab595b13a725933c7084943ac8c624a SHA512 0668165e194a7b1a483f88bf6b0f6eab2707c404f6c3164948cb11896c5e5411972a0677a927c0e509e98bfebb75b79e514bb6346b23d35687d9234f973d7520
+DIST openldap-OPENLDAP_REL_ENG_2_6_3.tar.gz 6244895 BLAKE2B 97792a1b368de44867b0ce9eef38601c3e64b7d40e4ca206295bee110097697c919040d2220eea6f0581812e09a2cc3e6afb4a243a5072a8a0a95f24f9fb354b SHA512 1c882a0cd0729b5d0f40b58588d0e36ae3b1cae6d569f0576e940c7c63d03c29ed2c9db87695a87594ba99a927ef4cba491bddba3ce049025fd5883463122ba7
DIST rfc2307bis.schema-20140524 12262 BLAKE2B 98031f49e9bde1e4821e637af3382364d8344ed7017649686a088070d96a632dffa6c661552352656b1b159c0fd962965580069a64c7f3d5bb6a3ed75f60fd99 SHA512 83b89a1deeefc8566b97e7e865b9b6d04541099cbdf719e24538a7d27d61b6209e87ab9003a9f140bd9afd018ec569e71721e3a24090e1902c8b6659d2ba103e
EBUILD openldap-2.4.57-r2.ebuild 28993 BLAKE2B 1a8cc1442324cb4cb5708a3a7d4a10057d3d392e943855889a6c77efcd82884311628ff2dd1ccddd705a956f7d9003691b526742f5e757ae4833417314d955e5 SHA512 4fccfe8bc3c13cfca0699479327885c73e136cfd8665cecfce0db97dcdb0b45f1f5fc798bde625688ada6aaaa9e53f7b9b050a115c815e7291dfb14eb3a97f78
EBUILD openldap-2.4.58-r2.ebuild 28994 BLAKE2B 179e823c1ba9ca6a590fc309591248d4b138317898b7ecd8b882947be483cf7036dc6596dbdf24f1afb0a3302be9ee41db3539d4af1317ccc99fc8e8efcdeb60 SHA512 f670763c53817d0b09a1c10a4e119221604905d9ee84ea4f81a936b5b116505888af1869b0040807cfbc28cacb803f1add1464317b831dbcdf6c87a7fccbf035
EBUILD openldap-2.4.59-r2.ebuild 29000 BLAKE2B 624b8ea29396c285254883a987348f88cc2d1c94b8d50db2fb3fb7c9a3ff31b6ba692f76f5621c9c0fa831e655a7cf258c73a8532c5fa721e465d9f9f02378d2 SHA512 688270a628b20c682646d3dae1b78929fd8c3ece1cdb9a7b25d6b6325c0866b700f762f1395c652a0b743fdcb92bad6c15efd1fbd2261bce672186ecb2149ca9
-EBUILD openldap-2.5.4-r1.ebuild 27104 BLAKE2B eec8679b0a61abfd0be2c044fa5fb031d47f341216b052452fc55fbc7fd432ed3941aaa5db5d9db0b1fd82c8a908dd5fb0d1ba4e8823f014590c93e71dbe3b23 SHA512 14d0464445e8e73167962595b4919082a94979298313c04a8b8a0abca3ca1bccc678a4360ca076bad15acab03d8dfc6382edc4fda65bea21962f02f41c8d2512
-EBUILD openldap-2.6.1-r1.ebuild 25224 BLAKE2B fec87c25ac31c8cce3f94284dc953071b55bac01008d2216ed150c928f9b72df7df23d1a191ae560abcbb65c002215dc3be3f90681e9a25d31b8d0666307deff SHA512 39eea93760e9315183c5c189363ea8ba6204d4096d8cbe76f901fc111c94da336091516736acbe5693aaaf8b2851036786659b176fde7694312efdca77630dbb
EBUILD openldap-2.6.2.ebuild 25180 BLAKE2B bf93301678d59b9154998fd6b0761d674a3a08c08f56e2bd83423b1a7790e672f67ecf94d8a5d50e815bb51d1907ca6dbfe86c0257dcf41bebfa571be7a98fe4 SHA512 0381992b5abfe0de682480813303be6565d06825279c22b59cf16a7789ebd73890dfd58bf74a6b09b413eb4a35cd4aef2a1a1aff9e23ede47f6a0cc41f62ee52
+EBUILD openldap-2.6.3.ebuild 25133 BLAKE2B 602e628abe7f56840dc3c8b92a3809e42836f6759b7c58fac18b2967deba3e193680aba750de50f22eeb1050de0a3d023bdb72a107548f9077392ea0c5764405 SHA512 075d3e95c5c65f2952847ca68d30e2b53cc0b5efc7b76a8383b04bf7c2293603c91a389e66fbc46e72e05529f2428f62ae1f61db9211e3582497e6b30525ac22
MISC metadata.xml 1367 BLAKE2B 35e372297f9326624bc685e271f31a57eff14158e8000ca310e6bd48b201ceb97823eeaf180429a36f65e0a0e89a79802eafbff261cf29b54ac334d36a058f23 SHA512 f3ce6b12c039b55d21d8fed09a6f89731853fc6311dc0ba9bff4e85c219d03a8ccfb70983c9641319645137e803e378bf238ac83ac0b525c87767a8fc432c663
diff --git a/net-nds/openldap/files/slapd-confd b/net-nds/openldap/files/slapd-confd
deleted file mode 100644
index 28e9d23520b7..000000000000
--- a/net-nds/openldap/files/slapd-confd
+++ /dev/null
@@ -1,14 +0,0 @@
-# conf.d file for openldap
-#
-# To enable both the standard unciphered server and the ssl encrypted
-# one uncomment this line or set any other server starting options
-# you may desire.
-#
-# OPTS="-h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
-# Uncomment the below to use the new slapd configuration for openldap 2.3
-#OPTS="-F /etc/openldap/slapd.d -h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
-#
-# If you change the above listen statement to bind on a specific IP for
-# listening, you should ensure that interface is up here (change eth0 as
-# needed).
-#rc_need="net.eth0"
diff --git a/net-nds/openldap/files/slapd-initd b/net-nds/openldap/files/slapd-initd
deleted file mode 100644
index a8e98646569a..000000000000
--- a/net-nds/openldap/files/slapd-initd
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net.lo
- before hald avahi-daemon
-}
-
-start() {
- checkpath -q -d /var/run/openldap/ -o ldap:ldap
- if ! checkconfig ; then
- eerror "There is a problem with your slapd.conf!"
- return 1
- fi
- ebegin "Starting ldap-server"
- eval start-stop-daemon --start --pidfile /var/run/openldap/slapd.pid --exec /usr/lib/openldap/slapd -- -u ldap -g ldap "${OPTS}"
- eend $?
-}
-
-stop() {
- ebegin "Stopping ldap-server"
- start-stop-daemon --stop --signal 2 --quiet --pidfile /var/run/openldap/slapd.pid
- eend $?
-}
-
-checkconfig() {
- /usr/sbin/slaptest -u "$@" ${OPTS_CONF}
-}
diff --git a/net-nds/openldap/openldap-2.5.4-r1.ebuild b/net-nds/openldap/openldap-2.5.4-r1.ebuild
deleted file mode 100644
index 4582bc9b5067..000000000000
--- a/net-nds/openldap/openldap-2.5.4-r1.ebuild
+++ /dev/null
@@ -1,836 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles
-
-BIS_PN=rfc2307bis.schema
-BIS_PV=20140524
-BIS_P="${BIS_PN}-${BIS_PV}"
-
-DESCRIPTION="LDAP suite of application and development tools"
-HOMEPAGE="https://www.OpenLDAP.org/"
-
-# upstream mirrors are mostly not working, using canonical URI
-SRC_URI="
- https://openldap.org/software/download/OpenLDAP/openldap-release/${P}.tgz
- http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/${P}.tgz
- http://repository.linagora.org/OpenLDAP/openldap-release/${P}.tgz
- http://mirror.eu.oneandone.net/software/openldap/openldap-release/${P}.tgz
- mirror://gentoo/${BIS_P}"
-
-LICENSE="OPENLDAP GPL-2"
-SLOT="0"
-KEYWORDS=""
-
-IUSE_DAEMON="crypt samba tcpd experimental minimal"
-IUSE_OVERLAY="overlays perl"
-IUSE_OPTIONAL="gnutls iodbc sasl ssl odbc debug ipv6 +syslog selinux static-libs test"
-IUSE_CONTRIB="smbkrb5passwd kerberos kinit pbkdf2 sha2"
-IUSE_CONTRIB="${IUSE_CONTRIB} cxx"
-IUSE="${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="cxx? ( sasl )
- pbkdf2? ( ssl )
- ?? ( test minimal )"
-
-# always list newer first
-# Do not add any AGPL-3 BDB here!
-# See bug 525110, comment 15.
-# Advanced usage: OPENLDAP_BDB_SLOTS in the environment can be used to force a slot during build.
-BDB_SLOTS="${OPENLDAP_BDB_SLOTS:=5.3 4.8}"
-BDB_PKGS=''
-for _slot in $BDB_SLOTS; do BDB_PKGS="${BDB_PKGS} sys-libs/db:${_slot}" ; done
-
-# openssl is needed to generate lanman-passwords required by samba
-COMMON_DEPEND="
- ssl? (
- !gnutls? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
- gnutls? (
- >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}]
- >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}]
- )
- )
- sasl? ( dev-libs/cyrus-sasl:= )
- !minimal? (
- dev-libs/libltdl
- sys-fs/e2fsprogs
- >=dev-db/lmdb-0.9.18:=
- crypt? ( virtual/libcrypt:= )
- tcpd? ( sys-apps/tcp-wrappers )
- odbc? ( !iodbc? ( dev-db/unixODBC )
- iodbc? ( dev-db/libiodbc ) )
- perl? ( dev-lang/perl:=[-build(-)] )
- samba? (
- dev-libs/openssl:0=
- )
- smbkrb5passwd? (
- dev-libs/openssl:0=
- kerberos? ( app-crypt/heimdal )
- )
- kerberos? (
- virtual/krb5
- kinit? ( !app-crypt/heimdal )
- )
- cxx? ( dev-libs/cyrus-sasl:= )
- )
-"
-DEPEND="${COMMON_DEPEND}
- sys-apps/groff
-"
-RDEPEND="${COMMON_DEPEND}
- selinux? ( sec-policy/selinux-ldap )
-"
-
-# The user/group are only used for running daemons which are
-# disabled in minimal builds, so elide the accounts too.
-BDEPEND="!minimal? (
- acct-group/ldap
- acct-user/ldap
-)
-"
-
-# for tracking versions
-OPENLDAP_VERSIONTAG=".version-tag"
-OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data"
-
-MULTILIB_WRAPPED_HEADERS=(
- # USE=cxx
- /usr/include/LDAPAsynConnection.h
- /usr/include/LDAPAttrType.h
- /usr/include/LDAPAttribute.h
- /usr/include/LDAPAttributeList.h
- /usr/include/LDAPConnection.h
- /usr/include/LDAPConstraints.h
- /usr/include/LDAPControl.h
- /usr/include/LDAPControlSet.h
- /usr/include/LDAPEntry.h
- /usr/include/LDAPEntryList.h
- /usr/include/LDAPException.h
- /usr/include/LDAPExtResult.h
- /usr/include/LDAPMessage.h
- /usr/include/LDAPMessageQueue.h
- /usr/include/LDAPModList.h
- /usr/include/LDAPModification.h
- /usr/include/LDAPObjClass.h
- /usr/include/LDAPRebind.h
- /usr/include/LDAPRebindAuth.h
- /usr/include/LDAPReferenceList.h
- /usr/include/LDAPResult.h
- /usr/include/LDAPSaslBindResult.h
- /usr/include/LDAPSchema.h
- /usr/include/LDAPSearchReference.h
- /usr/include/LDAPSearchResult.h
- /usr/include/LDAPSearchResults.h
- /usr/include/LDAPUrl.h
- /usr/include/LDAPUrlList.h
- /usr/include/LdifReader.h
- /usr/include/LdifWriter.h
- /usr/include/SaslInteraction.h
- /usr/include/SaslInteractionHandler.h
- /usr/include/StringList.h
- /usr/include/TlsOptions.h
-)
-
-openldap_filecount() {
- local dir="$1"
- find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l
-}
-
-openldap_find_versiontags() {
- # scan for all datadirs
- local openldap_datadirs=()
- if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then
- openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) )
- fi
- openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} )
-
- einfo
- einfo "Scanning datadir(s) from slapd.conf and"
- einfo "the default installdir for Versiontags"
- einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)"
- einfo
-
- # scan datadirs if we have a version tag
- openldap_found_tag=0
- have_files=0
- for each in ${openldap_datadirs[@]} ; do
- CURRENT_TAGDIR="${ROOT}$(sed "s:\/::" <<< ${each})"
- CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}"
- if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then
- einfo "- Checking ${each}..."
- if [[ -r "${CURRENT_TAG}" ]] ; then
- # yey, we have one :)
- einfo " Found Versiontag in ${each}"
- source "${CURRENT_TAG}"
- if [[ "${OLDPF}" == "" ]] ; then
- eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}"
- eerror "Please delete it"
- eerror
- die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}"
- fi
-
- OLD_MAJOR=$(ver_cut 2-3 ${OLDPF})
-
- [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1
-
- # are we on the same branch?
- if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then
- ewarn " Versiontag doesn't match current major release!"
- if [[ "${have_files}" == "1" ]] ; then
- eerror " Versiontag says other major and you (probably) have datafiles!"
- echo
- openldap_upgrade_howto
- else
- einfo " No real problem, seems there's no database."
- fi
- else
- einfo " Versiontag is fine here :)"
- fi
- else
- einfo " Non-tagged dir ${each}"
- [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1
- if [[ "${have_files}" == "1" ]] ; then
- einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files"
- echo
-
- eerror
- eerror "Your OpenLDAP Installation has a non tagged datadir that"
- eerror "possibly contains a database at ${CURRENT_TAGDIR}"
- eerror
- eerror "Please export data if any entered and empty or remove"
- eerror "the directory, installation has been stopped so you"
- eerror "can take required action"
- eerror
- eerror "For a HOWTO on exporting the data, see instructions in the ebuild"
- eerror
- openldap_upgrade_howto
- die "Please move the datadir ${CURRENT_TAGDIR} away"
- fi
- fi
- einfo
- fi
- done
- [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present"
-
- # Now we must check for the major version of sys-libs/db linked against.
- SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd"
- if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then
- OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \
- | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')"
- local fail=0
- if [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then
- :
- # Nothing wrong here.
- elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then
- eerror " Your existing version of OpenLDAP was not built against"
- eerror " any version of sys-libs/db, but the new one will build"
- eerror " against ${NEWVER} and your database may be inaccessible."
- echo
- fail=1
- elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then
- eerror " Your existing version of OpenLDAP was built against"
- eerror " sys-libs/db:${OLDVER}, but the new one will not be"
- eerror " built against any version and your database may be"
- eerror " inaccessible."
- echo
- fail=1
- elif [[ "${OLDVER}" != "${NEWVER}" ]]; then
- eerror " Your existing version of OpenLDAP was built against"
- eerror " sys-libs/db:${OLDVER}, but the new one will build against"
- eerror " ${NEWVER} and your database would be inaccessible."
- echo
- fail=1
- fi
- [[ "${fail}" == "1" ]] && openldap_upgrade_howto
- fi
-
- echo
- einfo
- einfo "All datadirs are fine, proceeding with merge now..."
- einfo
-}
-
-openldap_upgrade_howto() {
- local d l i
- eerror
- eerror "A (possible old) installation of OpenLDAP was detected,"
- eerror "installation will not proceed for now."
- eerror
- eerror "As major version upgrades can corrupt your database,"
- eerror "you need to dump your database and re-create it afterwards."
- eerror
- eerror "Additionally, rebuilding against different major versions of the"
- eerror "sys-libs/db libraries will cause your database to be inaccessible."
- eerror ""
- d="$(date -u +%s)"
- l="/root/ldapdump.${d}"
- i="${l}.raw"
- eerror " 1. /etc/init.d/slapd stop"
- eerror " 2. slapcat -l ${i}"
- eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}"
- eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/"
- eerror " 5. emerge --update \=net-nds/${PF}"
- eerror " 6. etc-update, and ensure that you apply the changes"
- eerror " 7. slapadd -l ${l}"
- eerror " 8. chown ldap:ldap /var/lib/openldap-data/*"
- eerror " 9. /etc/init.d/slapd start"
- eerror "10. check that your data is intact."
- eerror "11. set up the new replication system."
- eerror
- if [[ "${FORCE_UPGRADE}" != "1" ]]; then
- die "You need to upgrade your database first"
- else
- eerror "You have the magical FORCE_UPGRADE=1 in place."
- eerror "Don't say you weren't warned about data loss."
- fi
-}
-
-pkg_setup() {
- if ! use sasl && use cxx ; then
- die "To build the ldapc++ library you must emerge openldap with sasl support"
- fi
- # Bug #322787
- if use minimal && ! has_version "net-nds/openldap" ; then
- einfo "No datadir scan needed, openldap not installed"
- elif use minimal && has_version 'net-nds/openldap[minimal]' ; then
- einfo "Skipping scan for previous datadirs as requested by minimal useflag"
- else
- openldap_find_versiontags
- fi
-}
-
-src_prepare() {
- # ensure correct SLAPI path by default
- sed -e 's,\(#define LDAPI_SOCK\).*,\1 "'"${EPREFIX}"'/var/run/openldap/slapd.sock",' \
- -i include/ldap_defaults.h || die
-
- default
- rm -r libraries/liblmdb || die
-
- pushd build &>/dev/null || die "pushd build"
- einfo "Making sure upstream build strip does not do stripping too early"
- sed -i.orig \
- -e '/^STRIP/s,-s,,g' \
- top.mk || die "Failed to block stripping"
- popd &>/dev/null || die
-
- AT_NOEAUTOMAKE=yes eautoreconf
-}
-
-build_contrib_module() {
- # <dir> <sources> <outputname>
- pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1"
- einfo "Compiling contrib-module: $3"
- # Make sure it's uppercase
- local define_name="$(LC_ALL=C tr '[:lower:]' '[:upper:]' <<< "SLAPD_OVER_${1}")"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -D${define_name}=SLAPD_MOD_DYNAMIC \
- -I"${BUILD_DIR}"/include \
- -I../../../include -I../../../servers/slapd ${CFLAGS} \
- -o ${2%.c}.lo -c $2 || die "compiling $3 failed"
- einfo "Linking contrib-module: $3"
- "${lt}" --mode=link --tag=CC \
- "${CC}" -module \
- ${CFLAGS} \
- ${LDFLAGS} \
- -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \
- -o $3.la ${2%.c}.lo || die "linking $3 failed"
- popd &>/dev/null || die
-}
-
-src_configure() {
- # connectionless ldap per bug #342439
- append-cppflags -DLDAP_CONNECTIONLESS
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=()
-
- use debug && myconf+=( $(use_enable debug) )
-
- # ICU exists only in the configure, nowhere in the codebase, bug #510858
- export ac_cv_header_unicode_utypes_h=no ol_cv_lib_icu=no
-
- if ! use minimal && multilib_is_native_abi; then
- local CPPFLAGS=${CPPFLAGS}
-
- # re-enable serverside overlay chains per bug #296567
- # see ldap docs chaper 12.3.1 for details
- myconf+=( --enable-ldap )
-
- # backends
- myconf+=( --enable-slapd )
- for backend in dnssrv ldap mdb meta monitor null passwd relay shell sock; do
- myconf+=( --enable-${backend}=mod )
- done
-
- myconf+=( $(use_enable perl perl mod) )
-
- myconf+=( $(use_enable odbc sql mod) )
- if use odbc ; then
- local odbc_lib="unixodbc"
- if use iodbc ; then
- odbc_lib="iodbc"
- append-cppflags -I"${EPREFIX}"/usr/include/iodbc
- fi
- myconf+=( --with-odbc=${odbc_lib} )
- fi
-
- # slapd options
- myconf+=(
- $(use_enable crypt)
- --disable-slp
- $(use_enable samba lmpasswd)
- $(use_enable syslog)
- )
- if use experimental ; then
- myconf+=(
- --enable-dynacl
- --enable-aci=mod
- )
- fi
- for option in aci cleartext modules rewrite rlookups slapi; do
- myconf+=( --enable-${option} )
- done
-
- # slapd overlay options
- # Compile-in the syncprov, the others as module
- myconf+=( --enable-syncprov=yes )
- use overlays && myconf+=( --enable-overlays=mod )
-
- else
- myconf+=(
- --disable-backends
- --disable-slapd
- --disable-mdb
- --disable-overlays
- --disable-syslog
- )
- fi
-
- # basic functionality stuff
- myconf+=(
- $(use_enable ipv6)
- $(multilib_native_use_with sasl cyrus-sasl)
- $(multilib_native_use_enable sasl spasswd)
- $(use_enable tcpd wrappers)
- )
-
- # Some cross-compiling tests don't pan out well.
- tc-is-cross-compiler && myconf+=(
- --with-yielding-select=yes
- )
-
- local ssl_lib="no"
- if use ssl || ( ! use minimal && use samba ) ; then
- ssl_lib="openssl"
- use gnutls && ssl_lib="gnutls"
- fi
-
- myconf+=( --with-tls=${ssl_lib} )
-
- for basicflag in dynamic local shared; do
- myconf+=( --enable-${basicflag} )
- done
-
- tc-export AR CC CXX
- CONFIG_SHELL="/bin/sh" \
- ECONF_SOURCE="${S}" \
- STRIP=/bin/true \
- econf \
- --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \
- $(use_enable static-libs static) \
- "${myconf[@]}"
- emake depend
-}
-
-src_configure_cxx() {
- # This needs the libraries built by the first build run.
- # So we have to run it AFTER the main build, not just after the main
- # configure.
- local myconf_ldapcpp=(
- --with-ldap-includes="${S}"/include
- )
-
- mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die
- pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++"
-
- local LDFLAGS=${LDFLAGS} CPPFLAGS=${CPPFLAGS}
- append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs \
- -L"${BUILD_DIR}"/libraries/libldap/.libs
- append-cppflags -I"${BUILD_DIR}"/include
- ECONF_SOURCE=${S}/contrib/ldapc++ \
- econf "${myconf_ldapcpp[@]}" \
- CC="${CC}" \
- CXX="${CXX}"
- popd &>/dev/null || die
-}
-
-multilib_src_compile() {
- tc-export AR CC CXX
- emake CC="${CC}" AR="${AR}" SHELL="${EPREFIX}"/bin/sh
- local lt="${BUILD_DIR}/libtool"
- export echo="echo"
-
- if ! use minimal && multilib_is_native_abi ; then
- if use cxx ; then
- einfo "Building contrib library: ldapc++"
- src_configure_cxx
- pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++"
- emake CC="${CC}" CXX="${CXX}"
- popd &>/dev/null || die
- fi
-
- if use smbkrb5passwd ; then
- einfo "Building contrib-module: smbk5pwd"
- pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd"
-
- MY_DEFS="-DDO_SHADOW"
- if use samba ; then
- MY_DEFS="${MY_DEFS} -DDO_SAMBA"
- MY_KRB5_INC=""
- fi
- if use kerberos ; then
- MY_DEFS="${MY_DEFS} -DDO_KRB5"
- MY_KRB5_INC="$(krb5-config --cflags)"
- fi
-
- emake \
- DEFS="${MY_DEFS}" \
- KRB5_INC="${MY_KRB5_INC}" \
- LDAP_BUILD="${BUILD_DIR}" \
- CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap"
- popd &>/dev/null || die
- fi
-
- if use overlays ; then
- einfo "Building contrib-module: samba4"
- pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4"
-
- emake \
- LDAP_BUILD="${BUILD_DIR}" \
- CC="${CC}" libexecdir="/usr/$(get_libdir)/openldap"
- popd &>/dev/null || die
- fi
-
- if use kerberos ; then
- if use kinit ; then
- build_contrib_module "kinit" "kinit.c" "kinit"
- fi
- pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd"
- einfo "Compiling contrib-module: pw-kerberos"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -I"${BUILD_DIR}"/include \
- -I../../../include \
- ${CFLAGS} \
- $(krb5-config --cflags) \
- -DHAVE_KRB5 \
- -o kerberos.lo \
- -c kerberos.c || die "compiling pw-kerberos failed"
- einfo "Linking contrib-module: pw-kerberos"
- "${lt}" --mode=link --tag=CC \
- "${CC}" -module \
- ${CFLAGS} \
- ${LDFLAGS} \
- -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \
- -o pw-kerberos.la \
- kerberos.lo || die "linking pw-kerberos failed"
- popd &>/dev/null || die
- fi
-
- if use pbkdf2; then
- pushd "${S}/contrib/slapd-modules/passwd/pbkdf2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/pbkdf2"
- einfo "Compiling contrib-module: pw-pbkdf2"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -I"${BUILD_DIR}"/include \
- -I../../../../include \
- ${CFLAGS} \
- -o pbkdf2.lo \
- -c pw-pbkdf2.c || die "compiling pw-pbkdf2 failed"
- einfo "Linking contrib-module: pw-pbkdf2"
- "${lt}" --mode=link --tag=CC \
- "${CC}" -module \
- ${CFLAGS} \
- ${LDFLAGS} \
- -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \
- -o pw-pbkdf2.la \
- pbkdf2.lo || die "linking pw-pbkdf2 failed"
- popd &>/dev/null || die
- fi
-
- if use sha2 ; then
- pushd "${S}/contrib/slapd-modules/passwd/sha2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/sha2"
- einfo "Compiling contrib-module: pw-sha2"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -I"${BUILD_DIR}"/include \
- -I../../../../include \
- ${CFLAGS} \
- -o sha2.lo \
- -c sha2.c || die "compiling pw-sha2 failed"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -I"${BUILD_DIR}"/include \
- -I../../../../include \
- ${CFLAGS} \
- -o slapd-sha2.lo \
- -c slapd-sha2.c || die "compiling pw-sha2 failed"
- einfo "Linking contrib-module: pw-sha2"
- "${lt}" --mode=link --tag=CC \
- "${CC}" -module \
- ${CFLAGS} \
- ${LDFLAGS} \
- -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \
- -o pw-sha2.la \
- sha2.lo slapd-sha2.lo || die "linking pw-sha2 failed"
- popd &>/dev/null || die
- fi
-
- # We could build pw-radius if GNURadius would install radlib.h
- pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd"
- einfo "Compiling contrib-module: pw-netscape"
- "${lt}" --mode=compile --tag=CC \
- "${CC}" \
- -I"${BUILD_DIR}"/include \
- -I../../../include \
- ${CFLAGS} \
- -o netscape.lo \
- -c netscape.c || die "compiling pw-netscape failed"
- einfo "Linking contrib-module: pw-netscape"
- "${lt}" --mode=link --tag=CC \
- "${CC}" -module \
- ${CFLAGS} \
- ${LDFLAGS} \
- -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \
- -o pw-netscape.la \
- netscape.lo || die "linking pw-netscape failed"
-
- #build_contrib_module "acl" "posixgroup.c" "posixGroup" # example code only
- #build_contrib_module "acl" "gssacl.c" "gss" # example code only, also needs kerberos
- build_contrib_module "addpartial" "addpartial-overlay.c" "addpartial-overlay"
- build_contrib_module "allop" "allop.c" "overlay-allop"
- build_contrib_module "allowed" "allowed.c" "allowed"
- build_contrib_module "autogroup" "autogroup.c" "autogroup"
- build_contrib_module "cloak" "cloak.c" "cloak"
- # build_contrib_module "comp_match" "comp_match.c" "comp_match" # really complex, adds new external deps, questionable demand
- build_contrib_module "denyop" "denyop.c" "denyop-overlay"
- build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin"
- build_contrib_module "dupent" "dupent.c" "dupent"
- build_contrib_module "lastbind" "lastbind.c" "lastbind"
- # lastmod may not play well with other overlays
- build_contrib_module "lastmod" "lastmod.c" "lastmod"
- build_contrib_module "noopsrch" "noopsrch.c" "noopsrch"
- #build_contrib_module "nops" "nops.c" "nops-overlay" https://bugs.gentoo.org/641576
- #build_contrib_module "nssov" "nssov.c" "nssov-overlay" RESO:LATER
- build_contrib_module "trace" "trace.c" "trace"
- popd &>/dev/null || die
- # build slapi-plugins
- pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues"
- einfo "Building contrib-module: addrdnvalues plugin"
- "${CC}" -shared \
- -I"${BUILD_DIR}"/include \
- -I../../../include \
- ${CFLAGS} \
- -fPIC \
- ${LDFLAGS} \
- -o libaddrdnvalues-plugin.so \
- addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed"
- popd &>/dev/null || die
- fi
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- cd tests || die
- emake tests
- fi
-}
-
-multilib_src_install() {
- local lt="${BUILD_DIR}/libtool"
- emake DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install
-
- if ! use minimal && multilib_is_native_abi; then
- # openldap modules go here
- # TODO: write some code to populate slapd.conf with moduleload statements
- keepdir /usr/$(get_libdir)/openldap/openldap/
-
- # initial data storage dir
- keepdir /var/lib/openldap-data
- use prefix || fowners ldap:ldap /var/lib/openldap-data
- fperms 0700 /var/lib/openldap-data
-
- echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"
- echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"
- echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"
-
- # use our config
- rm "${ED}"/etc/openldap/slapd.conf
- insinto /etc/openldap
- newins "${FILESDIR}"/${PN}-2.4.40-slapd-conf slapd.conf
- configfile="${ED}"/etc/openldap/slapd.conf
-
- # populate with built backends
- einfo "populate config with built backends"
- for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do
- einfo "Adding $(basename ${x})"
- sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die
- done
- sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}"
- use prefix || fowners root:ldap /etc/openldap/slapd.conf
- fperms 0640 /etc/openldap/slapd.conf
- cp "${configfile}" "${configfile}".default || die
-
- # install our own init scripts and systemd unit files
- einfo "Install init scripts"
- sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die
- doinitd "${T}"/slapd
- newconfd "${FILESDIR}"/slapd-confd-2.4.28-r1 slapd
-
- einfo "Install systemd service"
- sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd.service > "${T}"/slapd.service || die
- systemd_dounit "${T}"/slapd.service
- systemd_install_serviced "${FILESDIR}"/slapd.service.conf
- newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf
-
- # If built without SLP, we don't need to be before avahi
- sed -i \
- -e '/before/{s/avahi-daemon//g}' \
- "${ED}"/etc/init.d/slapd \
- || die
-
- if use cxx ; then
- einfo "Install the ldapc++ library"
- cd "${BUILD_DIR}/contrib/ldapc++" || die
- emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install
- cd "${S}"/contrib/ldapc++ || die
- newdoc README ldapc++-README
- fi
-
- if use smbkrb5passwd ; then
- einfo "Install the smbk5pwd module"
- cd "${S}/contrib/slapd-modules/smbk5pwd" || die
- emake DESTDIR="${D}" \
- LDAP_BUILD="${BUILD_DIR}" \
- libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install
- newdoc README smbk5pwd-README
- fi
-
- if use overlays ; then
- einfo "Install the samba4 module"
- cd "${S}/contrib/slapd-modules/samba4" || die
- emake DESTDIR="${D}" \
- LDAP_BUILD="${BUILD_DIR}" \
- libexecdir="/usr/$(get_libdir)/openldap" install
- newdoc README samba4-README
- fi
-
- einfo "Installing contrib modules"
- cd "${S}/contrib/slapd-modules" || die
- for l in */*.la */*/*.la; do
- [[ -e ${l} ]] || continue
- "${lt}" --mode=install cp ${l} \
- "${ED}"/usr/$(get_libdir)/openldap/openldap || \
- die "installing ${l} failed"
- done
-
- dodoc "${FILESDIR}"/DB_CONFIG.fast.example
- docinto contrib
- doman */*.5
- #newdoc acl/README*
- newdoc addpartial/README addpartial-README
- newdoc allop/README allop-README
- newdoc allowed/README allowed-README
- newdoc autogroup/README autogroup-README
- newdoc dsaschema/README dsaschema-README
- newdoc passwd/README passwd-README
- cd "${S}/contrib/slapi-plugins" || die
- insinto /usr/$(get_libdir)/openldap/openldap
- doins */*.so
- docinto contrib
- newdoc addrdnvalues/README addrdnvalues-README
-
- insinto /etc/openldap/schema
- newins "${DISTDIR}"/${BIS_P} ${BIS_PN}
-
- docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample*
- docinto back-shell ; dodoc "${S}"/servers/slapd/back-shell/searchexample*
- docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm
-
- dosbin "${S}"/contrib/slapd-tools/statslog
- newdoc "${S}"/contrib/slapd-tools/README README.statslog
- fi
-
- if ! use static-libs ; then
- find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
- fi
-}
-
-multilib_src_install_all() {
- dodoc ANNOUNCEMENT CHANGES COPYRIGHT README
- docinto rfc ; dodoc doc/rfc/*.txt
-}
-
-pkg_preinst() {
- # keep old libs if any
- preserve_old_lib /usr/$(get_libdir)/{liblber,libldap_r,liblber}-2.3$(get_libname 0)
- # bug 440470, only display the getting started help there was no openldap before,
- # or we are going to a non-minimal build
- ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]'
- OPENLDAP_PRINT_MESSAGES=$((! $?))
-}
-
-pkg_postinst() {
- if ! use minimal ; then
- tmpfiles_process slapd.conf
-
- # You cannot build SSL certificates during src_install that will make
- # binary packages containing your SSL key, which is both a security risk
- # and a misconfiguration if multiple machines use the same key and cert.
- if use ssl; then
- install_cert /etc/openldap/ssl/ldap
- use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.*
- ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]"
- ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]"
- ewarn "add 'TLS_REQCERT allow' if you want to use them."
- fi
-
- if use prefix; then
- # Warn about prefix issues with slapd
- eerror "slapd might NOT be usable on Prefix systems as it requires root privileges"
- eerror "to start up, and requires that certain files directories be owned by"
- eerror "ldap:ldap. As Prefix does not support changing ownership of files and"
- eerror "directories, you will have to manually fix this yourself."
- fi
-
- # These lines force the permissions of various content to be correct
- if [[ -d "${EROOT}"/var/run/openldap ]]; then
- use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; }
- chmod 0755 "${EROOT}"/var/run/openldap || die
- fi
- use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default}
- chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die
- use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data
- fi
-
- if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then
- elog "Getting started using OpenLDAP? There is some documentation available:"
- elog "Gentoo Guide to OpenLDAP Authentication"
- elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)"
- elog "---"
- elog "An example file for tuning BDB backends with openldap is"
- elog "DB_CONFIG.fast.example in /usr/share/doc/${PF}/"
- fi
-
- preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3$(get_libname 0)
-}
diff --git a/net-nds/openldap/openldap-2.6.1-r1.ebuild b/net-nds/openldap/openldap-2.6.3.ebuild
index 698e662ce9cc..f083a43a675a 100644
--- a/net-nds/openldap/openldap-2.6.1-r1.ebuild
+++ b/net-nds/openldap/openldap-2.6.3.ebuild
@@ -12,11 +12,12 @@ BIS_PV=20140524
BIS_P="${BIS_PN}-${BIS_PV}"
DESCRIPTION="LDAP suite of application and development tools"
-HOMEPAGE="https://www.OpenLDAP.org/"
-
+HOMEPAGE="https://www.openldap.org/"
SRC_URI="
https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.gz
- mirror://gentoo/${BIS_P}"
+ mirror://gentoo/${BIS_P}
+"
+S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV}
LICENSE="OPENLDAP GPL-2"
# Subslot added for bug #835654
@@ -38,8 +39,6 @@ REQUIRED_USE="cxx? ( sasl )
autoca? ( !gnutls )
?? ( test minimal )"
-S=${WORKDIR}/${PN}-OPENLDAP_REL_ENG_${MY_PV}
-
# openssl is needed to generate lanman-passwords required by samba
COMMON_DEPEND="
kernel_linux? ( sys-apps/util-linux )
@@ -139,9 +138,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.1-cloak.patch
"${FILESDIR}"/${PN}-2.6.1-flags.patch
"${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch
- "${FILESDIR}"/${PN}-2.6.1-make-flags.patch
"${FILESDIR}"/${PN}-2.6.1-fix-bashism-configure.patch
- "${FILESDIR}"/${PN}-2.6.1-parallel-build.patch
)
openldap_filecount() {
diff --git a/profiles/Manifest.gz b/profiles/Manifest.gz
index 8dd7e25d03bc..37fe2b79970d 100644
--- a/profiles/Manifest.gz
+++ b/profiles/Manifest.gz
Binary files differ
diff --git a/profiles/arch/x86/profile.bashrc b/profiles/arch/x86/profile.bashrc
deleted file mode 100644
index cf66d2d68f6b..000000000000
--- a/profiles/arch/x86/profile.bashrc
+++ /dev/null
@@ -1,12 +0,0 @@
-if [[ ${EBUILD_PHASE} == "setup" ]] ; then
-
- # on x86, -pg requires the frame pointer, so turning it off makes no sense
- if has profile ${IUSE} && use profile && \
- has -fomit-frame-pointer ${CFLAGS} ${CXXFLAGS}
- then
- eerror "\nUSE=profile and -fomit-frame-pointer make no sense"
- eerror "Fix your build settings to avoid build failures\n"
- [[ -z ${EPAUSE_IGNORE} ]] && sleep 5
- fi
-
-fi
diff --git a/profiles/use.local.desc b/profiles/use.local.desc
index c12cde37494f..734872cb39e5 100644
--- a/profiles/use.local.desc
+++ b/profiles/use.local.desc
@@ -2501,6 +2501,7 @@ dev-python/python-mpd:twisted - Enable twisted support
dev-python/python-stdnum:vies - Enable VIES
dev-python/pyudev:qt5 - Install PyQt5 bindings
dev-python/pyzmq:draft - Enable draft API support
+dev-python/qiskit-terra:visualization - Enable visualization modules
dev-python/rarfile:compressed - Enables the module to support compressed v3 archives by calling the app-arch/unrar.
dev-python/rfc3986:idna - enable support for the IDNA specification (RFC 5891)
dev-python/rpyc:gdb - Run tests depending on sys-devel/gdb
@@ -7209,6 +7210,7 @@ sci-geosciences/grass:geos - Use sci-libs/geos for v.buffer and adds extended op
sci-geosciences/grass:las - Include support for LAS and LAZ encoded LiDAR files through sci-geosciences/liblas
sci-geosciences/grass:liblas - Include support for LAS and LAZ encoded LiDAR files through sci-geosciences/liblas
sci-geosciences/grass:opencl - Enable OpenCL support
+sci-geosciences/grass:pdal - Enable support for PDAL for point clouds via sci-libs/pdal
sci-geosciences/gshhs:data - Add earth data with sci-geosciences/gshhs-data
sci-geosciences/liblas:gdal - Add support for the sci-libs/gdal geospatial raster library
sci-geosciences/mapserver:apache - Enable mapserver to run under apache
diff --git a/sci-geosciences/Manifest.gz b/sci-geosciences/Manifest.gz
index d64ddf457acc..47658912c837 100644
--- a/sci-geosciences/Manifest.gz
+++ b/sci-geosciences/Manifest.gz
Binary files differ
diff --git a/sci-geosciences/grass/Manifest b/sci-geosciences/grass/Manifest
index a3e041b334c5..9f2155c57085 100644
--- a/sci-geosciences/grass/Manifest
+++ b/sci-geosciences/grass/Manifest
@@ -4,8 +4,11 @@ DIST grass-7.8.7.tar.gz 66333084 BLAKE2B 809daed6992838cd89b7f913c92bb588db05ae9
DIST grass-8.0.2.tar.gz 65665825 BLAKE2B 496dab376b38c74d2206096f8b1bf848888c328be3871fca5173042d7368f5c40cdbb6908ed69ec9f2c0669b25f3cfc50b4105f9bb7b375c379b9cc518ebfe8f SHA512 fc6f45f2b6ac2507c70a14baa931d5c66f0b115c914081d24c95f40afa6c266a718026df895f7a182ea837c6abf70da15b09dccba39eedd6a71ba7b6301edf7c
DIST grass-8.2.0.tar.gz 66819726 BLAKE2B e4398368dd8fd26324709202f42556033a0fea12b6bf5b300c9c416e8758472ceacf40e1d3d540b1aefea88199c0f411462a64fc5e09864582e2e4ce743d67f3 SHA512 8179b8704ea688ba412496d0e149c5a47b89fd557b613a49f3addb9721f166cd3aa23ff2549832d9940e5065893e3257ce7287e75018a3468aa7847392398930
EBUILD grass-7.8.6-r1.ebuild 7055 BLAKE2B e38aeec61d89be4a584760e6af906e8ff1e080176110a05a27fe8610b3b87109a49a2ab7160c2f7fe47047d203cdb52ac7be917982e744b4e827e746c34ff7d2 SHA512 3bf3595b0f1a1dc296f6c2f8a05eef8b6621ef6609e4f207d1710a916f9b8b6791e4424b0806b032fc3f925d7b714f43a48e9750aa700075e4c99a955d0ad930
+EBUILD grass-7.8.7-r1.ebuild 7131 BLAKE2B 34cb43f7bcf3f94eaa29678ef52f4b25290bc372d17853d3c4d35f3cb9f1d22a1b5ee5831fdbee7bb495477738398ca03f3bdc412d18c2c2a77a2fcfc077172f SHA512 5a6d6b3ab33974e41e53dcc7fcf880ebcd2b90fcbe09225b41b461db3d1debc690a25b9bd010aeaf17ef56b7eb04a720dd4b2dae38b1b50e069b1fcc10d122de
EBUILD grass-7.8.7.ebuild 7037 BLAKE2B 6c49c86b9360199a2b47340241d6ba7d350e91dcedf9d5e8f732e97ec624b312b75a36e520949a38a9c5684c0fac3fd85113fcebb0ea0886ec815045566cb3a0 SHA512 e24b41c9754db9edc469d9095d9f97303ad703e047e0ab6810afb5f7b42e28c453a5c0f2292f71b6bc2acd0fa4157e172fbae7966f456ef2eb7fb938f747bb75
+EBUILD grass-8.0.2-r1.ebuild 7522 BLAKE2B 8a4adfaa634709f5f2e82647ee0be1564ff5b5ba0d9c677019c81e975cd663504a8d6d77ad844184fb2e0aaf5390da795b573698d12df5d62aa4457e3f48c96f SHA512 d2bca3e21a2a69b15309ff84e533a842a9898e3918b1a97ee97744aa8b4345f5f3026935be4cb502863243045d85069b39c5f8046fb88e368717a0a2e2020a1b
EBUILD grass-8.0.2.ebuild 7395 BLAKE2B 26056fd3435579cd5c3582eb161a5555480da272f451c079eda08682d1b4c9abd2bf8c1dc0d0f03f9339c39357d91850a27317101fe4f50599da04df327609be SHA512 d3dfdcc2e453fbf902418bb0f6240e1a9abcbade55b9419ec0e5cc75ec1949219c2e411b1512d1e0a5e876366fb0bfd2fc34f7c3bb9d8428f67366b6fafae9a8
+EBUILD grass-8.2.0-r1.ebuild 7522 BLAKE2B b81da054587050b2f12655465c9df006d2e20664b91efe52f1c8e7e85ee96e3ad9131cd09669d55a60eac379c814405d88db6f15962c9e2a2d6acae76a376520 SHA512 f8cb75124633d7bc9807fd94f452fc5c04cf6f49db3958b4bbbe7316090ed7fc617a9dc593fea7d922c99d7254a3697dbc8744a0a19b343344dbde1b6718fcc4
EBUILD grass-8.2.0.ebuild 7395 BLAKE2B 41f2cd26b480123221e1458167cb60d19a5cfdb450004a29e962c56d5c4737775614b63c82c928e2d9830fb14e37da5cfb4656762fdefbd62c9700255bc52652 SHA512 35bd856f050fa9be013b6c7b8911255a5f85e06cfc66609502e5a8b826816e2f43b9e4ca834eb905a6b7426db0d4b7f50ba595a35655cd9a086b7964c8eebc72
-EBUILD grass-9999.ebuild 7337 BLAKE2B 9e735ae65498174408f482f8f5f568c57c351113390a1836227f9787a5c5cde9fbcd22191ecda0dc1078e3ec7cb3b4a39bf75d087d6d23dfd36c892d479ac525 SHA512 364c581b765c13026d59f41123c34943b40e87307102a41f3b2906232cc70c7dad423c2fcc2bd3ebddd77bb8c36be78d206a218665365804a16567578fb0c43d
-MISC metadata.xml 1286 BLAKE2B 0f08cfaa427449162c2820db80f4d306c73bdf6a9edd337be482df034e40ace5fad0ab2f7acb08b3bde5e1db54ed9f9ac38669ab689968c30964aae15b4134a7 SHA512 2adc25985ec839ba9d1b9b15a196b3477f4a92cda7d83dfafa9259d88768bcc57ab559f45820314b9ad7dc8ce3d25332eb6a8e7500ce26d7b53011a90bc99211
+EBUILD grass-9999.ebuild 7467 BLAKE2B 7b12e668a034998797d618b88732f6b991c8a05c5b28e80971de781c10e5ffd400b64df8775d5c1174e5133099764c3b18272bf4825d314f7235258d63a747b3 SHA512 2c7f6c6e11ba4ac6244d2d13608009afbeb5dff61dd400efa654dcbf4d87e0f57f89f661d898d712785d974793cd0cc213359bd2a4ab54d0580dcbcfc445b095
+MISC metadata.xml 1383 BLAKE2B 2e8fa07547f1218dce88168891de5a7f97613f65000bf96d3696c78a028e6cf37da5ddb247435a1cf999c8d36589b0f0349bd69c74e490baeed43f057b2f6ec4 SHA512 d4a6d87cb3de62c077e87a9fb248d91a221d1ffffba7a8d5ad2eaa9e0a6edabea98affa725c0f4f37fa4f43ac16c677908da4bace30375b9504cf2cd8d87f5d7
diff --git a/sci-geosciences/grass/grass-7.8.7-r1.ebuild b/sci-geosciences/grass/grass-7.8.7-r1.ebuild
new file mode 100644
index 000000000000..d254c88caf17
--- /dev/null
+++ b/sci-geosciences/grass/grass-7.8.7-r1.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite" # bug 572440
+WX_GTK_VER="3.0-gtk3"
+
+inherit autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+
+MY_PM=${PN}$(ver_cut 1-2 ${PV})
+MY_PM=${MY_PM/.}
+MY_P=${P/_rc/RC}
+
+DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
+HOMEPAGE="https://grass.osgeo.org/"
+SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/7.8.0"
+KEYWORDS="~amd64 ~x86"
+IUSE="blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ opengl? ( X )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-admin/eselect-1.2
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ')
+ sci-libs/gdal:=
+ sys-libs/gdbm:=
+ sys-libs/ncurses:0=
+ sci-libs/proj:=
+ sci-libs/xdrfile
+ sys-libs/zlib
+ blas? (
+ virtual/cblas[eselect-ldso(+)]
+ virtual/blas[eselect-ldso(+)]
+ )
+ fftw? ( sci-libs/fftw:3.0= )
+ geos? ( sci-libs/geos:= )
+ lapack? ( virtual/lapack[eselect-ldso(+)] )
+ liblas? ( sci-geosciences/liblas )
+ mysql? ( dev-db/mysql-connector-c:= )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ opencl? ( virtual/opencl )
+ opengl? ( virtual/opengl )
+ pdal? ( <sci-libs/pdal-2.4.0:0= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ readline? ( sys-libs/readline:0= )
+ sqlite? ( dev-db/sqlite:3 )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2 )
+ X? (
+ dev-python/wxpython:4.0
+ x11-libs/cairo[X,opengl?]
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ zstd? ( app-arch/zstd )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ sys-devel/gettext
+ virtual/pkgconfig
+ X? ( dev-lang/swig )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ # bug 746590
+ "${FILESDIR}/${PN}-flock.patch"
+)
+
+pkg_setup() {
+ if use lapack; then
+ local mylapack=$(eselect lapack show)
+ if [[ -z "${mylapack/.*reference.*/}" ]] && \
+ [[ -z "${mylapack/.*atlas.*/}" ]]; then
+ ewarn "You need to set lapack to atlas or reference. Do:"
+ ewarn " eselect lapack set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ if use blas; then
+ local myblas=$(eselect blas show)
+ if [[ -z "${myblas/.*reference.*/}" ]] && \
+ [[ -z "${myblas/.*atlas.*/}" ]]; then
+ ewarn "You need to set blas to atlas or reference. Do:"
+ ewarn " eselect blas set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Fix unversioned python calls
+ sed -e "s:=python3:=${EPYTHON}:" -i "${S}/lib/init/grass.sh" || die
+ sed -e "s:= python3:= ${EPYTHON}:" -i "${S}/include/Make/Platform.make.in" || die
+
+ default
+ eautoreconf
+
+ ebegin "Fixing python shebangs"
+ python_fix_shebang -q "${S}"
+ eend $?
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ shopt -s nullglob
+ local mesa_cards=$(echo -n /dev/dri/card* /dev/dri/render* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ local ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ if use X; then
+ local WX_BUILD=yes
+ setup-wxwidgets
+ fi
+
+ addwrite /dev/dri/renderD128
+
+ local myeconfargs=(
+ --enable-shared
+ --disable-w11
+ --without-opendwg
+ --with-regex
+ --with-gdal="${EPREFIX}"/usr/bin/gdal-config
+ --with-proj-includes="${EPREFIX}"/usr/include/proj
+ --with-proj-libs="${EPREFIX}"/usr/$(get_libdir)
+ --with-proj-share="${EPREFIX}"/usr/share/proj/
+ $(use_with cxx)
+ $(use_with tiff)
+ $(use_with png)
+ $(use_with postgres)
+ $(use_with mysql)
+ $(use_with mysql mysql-includes "${EPREFIX}"/usr/include/mysql)
+ $(use_with sqlite)
+ $(use_with opengl)
+ $(use_with odbc)
+ $(use_with fftw)
+ $(use_with blas)
+ $(use_with lapack)
+ $(use_with X cairo)
+ $(use_with truetype freetype)
+ $(use_with truetype freetype-includes "${EPREFIX}"/usr/include/freetype2)
+ $(use_with nls)
+ $(use_with readline)
+ $(use_with threads pthread)
+ $(use_with openmp)
+ $(use_with opencl)
+ $(use_with pdal pdal "${EPREFIX}"/usr/bin/pdal-config)
+ $(use_with liblas liblas "${EPREFIX}"/usr/bin/liblas-config)
+ $(use_with X wxwidgets "${WX_CONFIG}")
+ $(use_with netcdf netcdf "${EPREFIX}"/usr/bin/nc-config)
+ $(use_with geos geos "${EPREFIX}"/usr/bin/geos-config)
+ $(use_with X x)
+ $(use_with zstd)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # we don't want to link against embedded mysql lib
+ emake CC="$(tc-getCC)" MYSQLDLIB=""
+}
+
+src_install() {
+ emake DESTDIR="${ED}" \
+ INST_DIR=/usr/$(get_libdir)/${MY_PM} \
+ prefix=/usr/ BINDIR=/usr/bin \
+ install
+
+ pushd "${ED}"/usr/$(get_libdir)/${MY_PM} >/dev/null || die
+
+ local HTML_DOCS=( docs/html/. )
+ einstalldocs
+
+ # translations
+ if use nls; then
+ insinto /usr/share/locale
+ doins -r locale/.
+ fi
+
+ popd >/dev/null || die
+
+ # link libraries in the ~standard~ place
+ local f file
+ for f in "${ED}"/usr/$(get_libdir)/${MY_PM}/lib/*; do
+ file="${f##*/}"
+ dosym ${MY_PM}/lib/${file} /usr/$(get_libdir)/${file}
+ done
+
+ # link headers in the ~standard~ place
+ dodir /usr/include/
+ dosym ../$(get_libdir)/${MY_PM}/include/grass /usr/include/grass
+
+ # fix paths in addons makefile includes
+ local scriptMakeDir="${ED}"/usr/$(get_libdir)/${MY_PM}/include/Make/
+ for f in "${scriptMakeDir}"/*; do
+ file="${f##*/}"
+ echo sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ done
+
+ # get proper folder for grass path in script
+ local gisbase=/usr/$(get_libdir)/${MY_PM}
+ sed -e "s:GISBASE = os.path.normpath(\"${D}/usr/$(get_libdir)/${MY_PM}\"):\
+GISBASE = os.path.normpath(\"${gisbase}\"):" \
+ -i "${ED}"/usr/bin/${MY_PM} || die
+
+ # get proper fonts path for fontcap
+ sed -i \
+ -e "s|${ED}/usr/${MY_PM}|${EPREFIX}/usr/$(get_libdir)/${MY_PM}|" \
+ "${ED}"${gisbase}/etc/fontcap || die
+
+ # set proper python interpreter
+ sed -e "s:os.environ\[\"GRASS_PYTHON\"\] = \"python3\":\
+os.environ\[\"GRASS_PYTHON\"\] = \"${EPYTHON}\":" \
+ -i "${ED}"/usr/bin/${MY_PM} || die
+
+ # set proper GISDBASE directory path in the demolocation .grassrc78 file
+ sed -e "s:GISDBASE\:.*$:GISDBASE\: ${gisbase}:" \
+ -i "${ED}"${gisbase}/demolocation/.grassrc78 || die
+
+ if use X; then
+ local GUI="-gui"
+ [[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
+ make_desktop_entry "/usr/bin/${MY_PM} ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
+ doicon -s 48 gui/icons/${PN}-48x48.png
+ fi
+
+ # install .pc file so other apps know where to look for grass
+ insinto /usr/$(get_libdir)/pkgconfig/
+ doins grass.pc
+
+ # fix weird +x on tcl scripts
+ find "${ED}" -name "*.tcl" -exec chmod +r-x '{}' \; || die
+}
+
+pkg_postinst() {
+ use X && xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ use X && xdg_pkg_postrm
+}
diff --git a/sci-geosciences/grass/grass-8.0.2-r1.ebuild b/sci-geosciences/grass/grass-8.0.2-r1.ebuild
new file mode 100644
index 000000000000..4bb9a92f3ba1
--- /dev/null
+++ b/sci-geosciences/grass/grass-8.0.2-r1.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite" # bug 572440
+WX_GTK_VER="3.0-gtk3"
+
+inherit autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+
+DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
+HOMEPAGE="https://grass.osgeo.org/"
+
+LICENSE="GPL-2"
+
+GVERSION=${SLOT#*/}
+MY_PM="${PN}${GVERSION}"
+MY_PM="${MY_PM/.}"
+
+if [[ ${PV} =~ "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/OSGeo/grass.git"
+ SLOT="0/8.1"
+else
+ MY_P="${P/_rc/RC}"
+ SLOT="0/$(ver_cut 1-2 ${PV})"
+ SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+IUSE="blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ opengl? ( X )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-admin/eselect-1.2
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ')
+ sci-libs/gdal:=
+ sys-libs/gdbm:=
+ sys-libs/ncurses:0=
+ sci-libs/proj:=
+ sci-libs/xdrfile
+ sys-libs/zlib
+ media-libs/libglvnd
+ media-libs/glu
+ blas? (
+ virtual/cblas[eselect-ldso(+)]
+ virtual/blas[eselect-ldso(+)]
+ )
+ fftw? ( sci-libs/fftw:3.0= )
+ geos? ( sci-libs/geos:= )
+ lapack? ( virtual/lapack[eselect-ldso(+)] )
+ las? ( sci-geosciences/liblas )
+ mysql? ( dev-db/mysql-connector-c:= )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ opencl? ( virtual/opencl )
+ opengl? ( virtual/opengl )
+ pdal? ( >=sci-libs/pdal-2.0.0:0= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ readline? ( sys-libs/readline:0= )
+ sqlite? ( dev-db/sqlite:3 )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2 )
+ X? (
+ dev-python/wxpython:4.0
+ x11-libs/cairo[X,opengl?]
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ zstd? ( app-arch/zstd )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ sys-devel/gettext
+ virtual/pkgconfig
+ X? ( dev-lang/swig )"
+
+PATCHES=(
+ # bug 746590
+ "${FILESDIR}/${PN}-flock.patch"
+)
+
+pkg_setup() {
+ if use lapack; then
+ local mylapack=$(eselect lapack show)
+ if [[ -z "${mylapack/.*reference.*/}" ]] && \
+ [[ -z "${mylapack/.*atlas.*/}" ]]; then
+ ewarn "You need to set lapack to atlas or reference. Do:"
+ ewarn " eselect lapack set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ if use blas; then
+ local myblas=$(eselect blas show)
+ if [[ -z "${myblas/.*reference.*/}" ]] && \
+ [[ -z "${myblas/.*atlas.*/}" ]]; then
+ ewarn "You need to set blas to atlas or reference. Do:"
+ ewarn " eselect blas set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Fix unversioned python calls
+ sed -e "s:=python3:=${EPYTHON}:" -i "${S}/lib/init/grass.sh" || die
+ sed -e "s:= python3:= ${EPYTHON}:" -i "${S}/include/Make/Platform.make.in" || die
+
+ default
+ eautoreconf
+
+ ebegin "Fixing python shebangs"
+ python_fix_shebang -q "${S}"
+ eend $?
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ shopt -s nullglob
+ local mesa_cards=$(echo -n /dev/dri/card* /dev/dri/render* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ local ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ if use X; then
+ local WX_BUILD=yes
+ setup-wxwidgets
+ fi
+
+ addwrite /dev/dri/renderD128
+
+ local myeconfargs=(
+ --enable-shared
+ --disable-w11
+ --without-opendwg
+ --with-regex
+ --with-gdal="${EPREFIX}"/usr/bin/gdal-config
+ --with-proj-includes="${EPREFIX}"/usr/include/proj
+ --with-proj-libs="${EPREFIX}"/usr/$(get_libdir)
+ --with-proj-share="${EPREFIX}"/usr/share/proj/
+ $(use_with cxx)
+ $(use_with tiff)
+ $(use_with png)
+ $(use_with postgres)
+ $(use_with mysql)
+ $(use_with mysql mysql-includes "${EPREFIX}"/usr/include/mysql)
+ $(use_with sqlite)
+ $(use_with opengl)
+ $(use_with odbc)
+ $(use_with fftw)
+ $(use_with blas)
+ $(use_with lapack)
+ $(use_with X cairo)
+ $(use_with truetype freetype)
+ $(use_with truetype freetype-includes "${EPREFIX}"/usr/include/freetype2)
+ $(use_with nls)
+ $(use_with readline)
+ $(use_with threads pthread)
+ $(use_with openmp)
+ $(use_with opencl)
+ $(use_with pdal pdal "${EPREFIX}"/usr/bin/pdal-config)
+ $(use_with las liblas "${EPREFIX}"/usr/bin/liblas-config)
+ $(use_with X wxwidgets "${WX_CONFIG}")
+ $(use_with netcdf netcdf "${EPREFIX}"/usr/bin/nc-config)
+ $(use_with geos geos "${EPREFIX}"/usr/bin/geos-config)
+ $(use_with X x)
+ $(use_with zstd)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # we don't want to link against embedded mysql lib
+ emake CC="$(tc-getCC)" MYSQLDLIB=""
+}
+
+src_install() {
+ emake DESTDIR="${ED}" \
+ INST_DIR=/usr/$(get_libdir)/${MY_PM} \
+ prefix=/usr/ BINDIR=/usr/bin \
+ install
+
+ pushd "${ED}"/usr/$(get_libdir)/${MY_PM} >/dev/null || die
+
+ local HTML_DOCS=( docs/html/. )
+ einstalldocs
+
+ # translations
+ if use nls; then
+ insinto /usr/share/locale
+ doins -r locale/.
+ fi
+
+ popd >/dev/null || die
+
+ # link libraries in the ~standard~ place
+ local f file
+ for f in "${ED}"/usr/$(get_libdir)/${MY_PM}/lib/*; do
+ file="${f##*/}"
+ dosym ${MY_PM}/lib/${file} /usr/$(get_libdir)/${file}
+ done
+
+ # link headers in the ~standard~ place
+ dodir /usr/include/
+ dosym ../$(get_libdir)/${MY_PM}/include/grass /usr/include/grass
+
+ # fix paths in addons makefile includes
+ local scriptMakeDir="${ED}"/usr/$(get_libdir)/${MY_PM}/include/Make/
+ for f in "${scriptMakeDir}"/*; do
+ file="${f##*/}"
+ echo sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ done
+
+ # get proper folder for grass path in script
+ local gisbase=/usr/$(get_libdir)/${MY_PM}
+ sed -e "s:GISBASE = os.path.normpath(\"${D}/usr/$(get_libdir)/${MY_PM}\"):\
+GISBASE = os.path.normpath(\"${gisbase}\"):" \
+ -i "${ED}"/usr/bin/grass || die
+
+ # get proper fonts path for fontcap
+ sed -i \
+ -e "s|${ED}/usr/${MY_PM}|${EPREFIX}/usr/$(get_libdir)/${MY_PM}|" \
+ "${ED}"${gisbase}/etc/fontcap || die
+
+ # set proper python interpreter
+ sed -e "s:os.environ\[\"GRASS_PYTHON\"\] = \"python3\":\
+os.environ\[\"GRASS_PYTHON\"\] = \"${EPYTHON}\":" \
+ -i "${ED}"/usr/bin/grass || die
+
+ # set proper GISDBASE directory path in the demolocation .grassrc${GVERSION//.} file
+ sed -e "s:GISDBASE\:.*$:GISDBASE\: ${gisbase}:" \
+ -i "${ED}"${gisbase}/demolocation/.grassrc${GVERSION//.} || die
+
+ if use X; then
+ local GUI="-gui"
+ [[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
+ make_desktop_entry "/usr/bin/grass ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
+ doicon -s 48 gui/icons/${PN}-48x48.png
+ fi
+
+ # install .pc file so other apps know where to look for grass
+ insinto /usr/$(get_libdir)/pkgconfig/
+ doins grass.pc
+
+ # fix weird +x on tcl scripts
+ find "${ED}" -name "*.tcl" -exec chmod +r-x '{}' \; || die
+}
+
+pkg_postinst() {
+ use X && xdg_pkg_postinst
+ ewarn 'Starting with version 8.0.2 the "liblas" USE flag has been renamed'
+ ewarn 'to "las" in order to match dev-games/openscenegraph (Bug 680854)'
+}
+
+pkg_postrm() {
+ use X && xdg_pkg_postrm
+}
diff --git a/sci-geosciences/grass/grass-8.2.0-r1.ebuild b/sci-geosciences/grass/grass-8.2.0-r1.ebuild
new file mode 100644
index 000000000000..581cd7fa78cb
--- /dev/null
+++ b/sci-geosciences/grass/grass-8.2.0-r1.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite" # bug 572440
+WX_GTK_VER="3.0-gtk3"
+
+inherit autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+
+DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
+HOMEPAGE="https://grass.osgeo.org/"
+
+LICENSE="GPL-2"
+
+GVERSION=${SLOT#*/}
+MY_PM="${PN}${GVERSION}"
+MY_PM="${MY_PM/.}"
+
+if [[ ${PV} =~ "9999" ]]; then
+ inherit git-r3
+ SLOT="0/8.3"
+ EGIT_REPO_URI="https://github.com/OSGeo/grass.git"
+else
+ MY_P="${P/_rc/RC}"
+ SLOT="0/$(ver_cut 1-2 ${PV})"
+ SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+IUSE="blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ opengl? ( X )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-admin/eselect-1.2
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ')
+ sci-libs/gdal:=
+ sys-libs/gdbm:=
+ sys-libs/ncurses:0=
+ sci-libs/proj:=
+ sci-libs/xdrfile
+ sys-libs/zlib
+ media-libs/libglvnd
+ media-libs/glu
+ blas? (
+ virtual/cblas[eselect-ldso(+)]
+ virtual/blas[eselect-ldso(+)]
+ )
+ fftw? ( sci-libs/fftw:3.0= )
+ geos? ( sci-libs/geos:= )
+ lapack? ( virtual/lapack[eselect-ldso(+)] )
+ las? ( sci-geosciences/liblas )
+ mysql? ( dev-db/mysql-connector-c:= )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ opencl? ( virtual/opencl )
+ opengl? ( virtual/opengl )
+ pdal? ( >=sci-libs/pdal-2.0.0:0= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ readline? ( sys-libs/readline:0= )
+ sqlite? ( dev-db/sqlite:3 )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2 )
+ X? (
+ dev-python/wxpython:4.0
+ x11-libs/cairo[X,opengl?]
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ zstd? ( app-arch/zstd )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ sys-devel/gettext
+ virtual/pkgconfig
+ X? ( dev-lang/swig )"
+
+PATCHES=(
+ # bug 746590
+ "${FILESDIR}/${PN}-flock.patch"
+)
+
+pkg_setup() {
+ if use lapack; then
+ local mylapack=$(eselect lapack show)
+ if [[ -z "${mylapack/.*reference.*/}" ]] && \
+ [[ -z "${mylapack/.*atlas.*/}" ]]; then
+ ewarn "You need to set lapack to atlas or reference. Do:"
+ ewarn " eselect lapack set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ if use blas; then
+ local myblas=$(eselect blas show)
+ if [[ -z "${myblas/.*reference.*/}" ]] && \
+ [[ -z "${myblas/.*atlas.*/}" ]]; then
+ ewarn "You need to set blas to atlas or reference. Do:"
+ ewarn " eselect blas set <impl>"
+ ewarn "where <impl> is atlas, threaded-atlas or reference"
+ die "setup failed"
+ fi
+ fi
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Fix unversioned python calls
+ sed -e "s:=python3:=${EPYTHON}:" -i "${S}/lib/init/grass.sh" || die
+ sed -e "s:= python3:= ${EPYTHON}:" -i "${S}/include/Make/Platform.make.in" || die
+
+ default
+ eautoreconf
+
+ ebegin "Fixing python shebangs"
+ python_fix_shebang -q "${S}"
+ eend $?
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ shopt -s nullglob
+ local mesa_cards=$(echo -n /dev/dri/card* /dev/dri/render* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ local ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ if use X; then
+ local WX_BUILD=yes
+ setup-wxwidgets
+ fi
+
+ addwrite /dev/dri/renderD128
+
+ local myeconfargs=(
+ --enable-shared
+ --disable-w11
+ --without-opendwg
+ --with-regex
+ --with-gdal="${EPREFIX}"/usr/bin/gdal-config
+ --with-proj-includes="${EPREFIX}"/usr/include/proj
+ --with-proj-libs="${EPREFIX}"/usr/$(get_libdir)
+ --with-proj-share="${EPREFIX}"/usr/share/proj/
+ $(use_with cxx)
+ $(use_with tiff)
+ $(use_with png)
+ $(use_with postgres)
+ $(use_with mysql)
+ $(use_with mysql mysql-includes "${EPREFIX}"/usr/include/mysql)
+ $(use_with sqlite)
+ $(use_with opengl)
+ $(use_with odbc)
+ $(use_with fftw)
+ $(use_with blas)
+ $(use_with lapack)
+ $(use_with X cairo)
+ $(use_with truetype freetype)
+ $(use_with truetype freetype-includes "${EPREFIX}"/usr/include/freetype2)
+ $(use_with nls)
+ $(use_with readline)
+ $(use_with threads pthread)
+ $(use_with openmp)
+ $(use_with opencl)
+ $(use_with pdal pdal "${EPREFIX}"/usr/bin/pdal-config)
+ $(use_with las liblas "${EPREFIX}"/usr/bin/liblas-config)
+ $(use_with X wxwidgets "${WX_CONFIG}")
+ $(use_with netcdf netcdf "${EPREFIX}"/usr/bin/nc-config)
+ $(use_with geos geos "${EPREFIX}"/usr/bin/geos-config)
+ $(use_with X x)
+ $(use_with zstd)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # we don't want to link against embedded mysql lib
+ emake CC="$(tc-getCC)" MYSQLDLIB=""
+}
+
+src_install() {
+ emake DESTDIR="${ED}" \
+ INST_DIR=/usr/$(get_libdir)/${MY_PM} \
+ prefix=/usr/ BINDIR=/usr/bin \
+ install
+
+ pushd "${ED}"/usr/$(get_libdir)/${MY_PM} >/dev/null || die
+
+ local HTML_DOCS=( docs/html/. )
+ einstalldocs
+
+ # translations
+ if use nls; then
+ insinto /usr/share/locale
+ doins -r locale/.
+ fi
+
+ popd >/dev/null || die
+
+ # link libraries in the ~standard~ place
+ local f file
+ for f in "${ED}"/usr/$(get_libdir)/${MY_PM}/lib/*; do
+ file="${f##*/}"
+ dosym ${MY_PM}/lib/${file} /usr/$(get_libdir)/${file}
+ done
+
+ # link headers in the ~standard~ place
+ dodir /usr/include/
+ dosym ../$(get_libdir)/${MY_PM}/include/grass /usr/include/grass
+
+ # fix paths in addons makefile includes
+ local scriptMakeDir="${ED}"/usr/$(get_libdir)/${MY_PM}/include/Make/
+ for f in "${scriptMakeDir}"/*; do
+ file="${f##*/}"
+ echo sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+ done
+
+ # get proper folder for grass path in script
+ local gisbase=/usr/$(get_libdir)/${MY_PM}
+ sed -e "s:GISBASE = os.path.normpath(\"${D}/usr/$(get_libdir)/${MY_PM}\"):\
+GISBASE = os.path.normpath(\"${gisbase}\"):" \
+ -i "${ED}"/usr/bin/grass || die
+
+ # get proper fonts path for fontcap
+ sed -i \
+ -e "s|${ED}/usr/${MY_PM}|${EPREFIX}/usr/$(get_libdir)/${MY_PM}|" \
+ "${ED}"${gisbase}/etc/fontcap || die
+
+ # set proper python interpreter
+ sed -e "s:os.environ\[\"GRASS_PYTHON\"\] = \"python3\":\
+os.environ\[\"GRASS_PYTHON\"\] = \"${EPYTHON}\":" \
+ -i "${ED}"/usr/bin/grass || die
+
+ # set proper GISDBASE directory path in the demolocation .grassrc${GVERSION//.} file
+ sed -e "s:GISDBASE\:.*$:GISDBASE\: ${gisbase}:" \
+ -i "${ED}"${gisbase}/demolocation/.grassrc${GVERSION//.} || die
+
+ if use X; then
+ local GUI="-gui"
+ [[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
+ make_desktop_entry "/usr/bin/grass ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
+ doicon -s 48 gui/icons/${PN}-48x48.png
+ fi
+
+ # install .pc file so other apps know where to look for grass
+ insinto /usr/$(get_libdir)/pkgconfig/
+ doins grass.pc
+
+ # fix weird +x on tcl scripts
+ find "${ED}" -name "*.tcl" -exec chmod +r-x '{}' \; || die
+}
+
+pkg_postinst() {
+ use X && xdg_pkg_postinst
+ ewarn 'Starting with version 8.0.2 the "liblas" USE flag has been renamed'
+ ewarn 'to "las" in order to match dev-games/openscenegraph (Bug 680854)'
+}
+
+pkg_postrm() {
+ use X && xdg_pkg_postrm
+}
diff --git a/sci-geosciences/grass/grass-9999.ebuild b/sci-geosciences/grass/grass-9999.ebuild
index 33808453c9c7..8b286969e78a 100644
--- a/sci-geosciences/grass/grass-9999.ebuild
+++ b/sci-geosciences/grass/grass-9999.ebuild
@@ -13,7 +13,6 @@ DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizu
HOMEPAGE="https://grass.osgeo.org/"
LICENSE="GPL-2"
-SLOT="0/8.3"
GVERSION=${SLOT#*/}
MY_PM="${PN}${GVERSION}"
@@ -22,8 +21,10 @@ MY_PM="${MY_PM/.}"
if [[ ${PV} =~ "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/OSGeo/grass.git"
+ SLOT="0/8.3"
else
MY_P="${P/_rc/RC}"
+ SLOT="0/$(ver_cut 1-2 ${PV})"
SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~amd64 ~ppc ~x86"
@@ -32,7 +33,7 @@ else
S="${WORKDIR}/${MY_P}"
fi
-IUSE="blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype X zstd"
+IUSE="blas cxx fftw geos lapack las mysql netcdf nls odbc opencl opengl openmp pdal png postgres readline sqlite threads tiff truetype X zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
opengl? ( X )"
@@ -65,6 +66,7 @@ RDEPEND="
odbc? ( dev-db/unixODBC )
opencl? ( virtual/opencl )
opengl? ( virtual/opengl )
+ pdal? ( >=sci-libs/pdal-2.0.0:0= )
png? ( media-libs/libpng:0= )
postgres? ( >=dev-db/postgresql-8.4:= )
readline? ( sys-libs/readline:0= )
@@ -179,6 +181,7 @@ src_configure() {
$(use_with threads pthread)
$(use_with openmp)
$(use_with opencl)
+ $(use_with pdal pdal "${EPREFIX}"/usr/bin/pdal-config)
$(use_with las liblas "${EPREFIX}"/usr/bin/liblas-config)
$(use_with X wxwidgets "${WX_CONFIG}")
$(use_with netcdf netcdf "${EPREFIX}"/usr/bin/nc-config)
diff --git a/sci-geosciences/grass/metadata.xml b/sci-geosciences/grass/metadata.xml
index 66b650a3707b..5d58259db818 100644
--- a/sci-geosciences/grass/metadata.xml
+++ b/sci-geosciences/grass/metadata.xml
@@ -23,6 +23,7 @@
<flag name="liblas">Include support for LAS and LAZ encoded LiDAR files through <pkg>sci-geosciences/liblas</pkg></flag>
<flag name="las">Include support for LAS and LAZ encoded LiDAR files through <pkg>sci-geosciences/liblas</pkg></flag>
<flag name="opencl">Enable OpenCL support</flag>
+ <flag name="pdal">Enable support for PDAL for point clouds via <pkg>sci-libs/pdal</pkg></flag>
</use>
<upstream>
<remote-id type="github">OSGeo/grass</remote-id>
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz
index 480651a1f748..15f7e4102743 100644
--- a/sys-apps/Manifest.gz
+++ b/sys-apps/Manifest.gz
Binary files differ
diff --git a/sys-apps/fakeroot/Manifest b/sys-apps/fakeroot/Manifest
index fc3488cbb9e3..6b97c6e6f13e 100644
--- a/sys-apps/fakeroot/Manifest
+++ b/sys-apps/fakeroot/Manifest
@@ -1,4 +1,3 @@
-AUX fakeroot-1.25.3-glibc-2.33.patch 13646 BLAKE2B 1a83706a9e26f9c11d9851c24659086206df2d518c3103354971436565d59e8c5cdda47eaf40dc6645d7b09542e766593d57f731d7d8946ef96a1852b12ea2b0 SHA512 3f5402763d32a0b7461ef817e5aece42ff4807780ab886a7867d03019d0a4c501350a3520932e1ba6dcd592ae0cb9548c2cdf1da5498bfb6092f4cb6b4a09096
DIST fakeroot_1.27.orig.tar.gz 544301 BLAKE2B 5e887d43c8bedaecbe51eb7f606d6bace3a9f191a7cf4be32362e1ba97e438413f04ed644532d3a386a46f3a569bf0104c4f38272e5ff46e3705c17896fef972 SHA512 cd98b8cd1064a5a11c6f25bc1d9cb1fb1bf0787f50772fead301470d1769c08a89a1510402b099af334d9f126cea5d3bd5d73e27fb91b5afc1ceebeb9ec3f926
DIST fakeroot_1.29.orig.tar.gz 549383 BLAKE2B ccdc5e793ce6a6adc9ffdb9346045e144dcd802ca8ffcbd188010ab759861d0e0ae81b3baa256546398c2ddab31d1f795f327130cb1f7bb1c3eee07e7282e94b SHA512 d0f02c36cfe4e24f1588894bd732ff5a6fc0e921695236311019a63280efdca8568f2e974672145eb7c4d57f64a15a77d23658fd4aeef2ca24901fc66259e4dc
EBUILD fakeroot-1.27.ebuild 1873 BLAKE2B 403342870cec943c9293250b47cc0c830c1bb69d5b341cacd3427c81bc9c04b39a16db8aeca88dabcdc670998bf3e2a312ea7520090c738bd450663735fa3e94 SHA512 ac5db48a976bb2ef41e03dc82c8617428ee3f923e5044085b6eac1be22c852227cd4f39d18092a776f99142de1754cb203c22971a45f304c281ce9e8a0981597
diff --git a/sys-apps/fakeroot/files/fakeroot-1.25.3-glibc-2.33.patch b/sys-apps/fakeroot/files/fakeroot-1.25.3-glibc-2.33.patch
deleted file mode 100644
index 87ae9e18b746..000000000000
--- a/sys-apps/fakeroot/files/fakeroot-1.25.3-glibc-2.33.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-From 03bc0ee07fb6e293d081ffd8af1654788b434f6a Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Thu, 11 Feb 2021 20:59:25 -0800
-Subject: [PATCH 1/6] libfakeroot.c: define _STAT_VER if not already defined
-
-Based on patch from Jan Pazdziora:
-https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SMQ3RYXEYTVZH6PLQMKNB3NM4XLPMNZO/
-
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- libfakeroot.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/libfakeroot.c b/libfakeroot.c
-index 3e80e38..14cdbc4 100644
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -90,6 +90,16 @@
- #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
- #endif
-
-+#ifndef _STAT_VER
-+ #if defined (__aarch64__)
-+ #define _STAT_VER 0
-+ #elif defined (__x86_64__)
-+ #define _STAT_VER 1
-+ #else
-+ #define _STAT_VER 3
-+ #endif
-+#endif
-+
- /*
- These INT_* (which stands for internal) macros should always be used when
- the fakeroot library owns the storage of the stat variable.
---
-GitLab
-
-
-From feda578ca3608b7fc9a28a3a91293611c0ef47b7 Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Thu, 11 Feb 2021 21:00:04 -0800
-Subject: [PATCH 2/6] libfakeroot.c: add wrappers for new glibc 2.33+ symbols
-
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- libfakeroot.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-diff --git a/libfakeroot.c b/libfakeroot.c
-index 14cdbc4..d75c51f 100644
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -1352,6 +1352,54 @@ int renameat(int olddir_fd, const char *oldpath,
- #endif /* HAVE_FSTATAT */
-
-
-+#if defined(__GLIBC__) && __GLIBC_PREREQ(2,33)
-+/* Glibc 2.33 exports symbols for these functions in the shared lib */
-+ int lstat(const char *file_name, struct stat *statbuf) {
-+ return WRAP_LSTAT LSTAT_ARG(_STAT_VER, file_name, statbuf);
-+ }
-+ int stat(const char *file_name, struct stat *st) {
-+ return WRAP_STAT STAT_ARG(_STAT_VER, file_name, st);
-+ }
-+ int fstat(int fd, struct stat *st) {
-+ return WRAP_FSTAT FSTAT_ARG(_STAT_VER, fd, st);
-+ }
-+
-+ #ifdef HAVE_FSTATAT
-+ int fstatat(int dir_fd, const char *path, struct stat *st, int flags) {
-+ return WRAP_FSTATAT FSTATAT_ARG(_STAT_VER, dir_fd, path, st, flags);
-+ }
-+ #endif
-+
-+ #ifdef STAT64_SUPPORT
-+ int lstat64(const char *file_name, struct stat64 *st) {
-+ return WRAP_LSTAT64 LSTAT64_ARG(_STAT_VER, file_name, st);
-+ }
-+ int stat64(const char *file_name, struct stat64 *st) {
-+ return WRAP_STAT64 STAT64_ARG(_STAT_VER, file_name, st);
-+ }
-+ int fstat64(int fd, struct stat64 *st) {
-+ return WRAP_FSTAT64 FSTAT64_ARG(_STAT_VER, fd, st);
-+ }
-+
-+ #ifdef HAVE_FSTATAT
-+ int fstatat64(int dir_fd, const char *path, struct stat64 *st, int flags) {
-+ return WRAP_FSTATAT64 FSTATAT64_ARG(_STAT_VER, dir_fd, path, st, flags);
-+ }
-+ #endif
-+ #endif
-+
-+ int mknod(const char *pathname, mode_t mode, dev_t dev) {
-+ return WRAP_MKNOD MKNOD_ARG(_STAT_VER, pathname, mode, &dev);
-+ }
-+
-+ #if defined(HAVE_FSTATAT) && defined(HAVE_MKNODAT)
-+ int mknodat(int dir_fd, const char *pathname, mode_t mode, dev_t dev) {
-+ return WRAP_MKNODAT MKNODAT_ARG(_STAT_VER, dir_fd, pathname, mode, &dev);
-+ }
-+ #endif
-+#endif /* GLIBC_PREREQ */
-+
-+
- #ifdef FAKEROOT_FAKENET
- pid_t fork(void)
- {
---
-GitLab
-
-
-From d074aaa34d6928989308a3870738d6b1c28f2bae Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Thu, 11 Feb 2021 21:00:20 -0800
-Subject: [PATCH 3/6] libfakeroot.c: fix compile error with DEBUG enabled
-
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- libfakeroot.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libfakeroot.c b/libfakeroot.c
-index d75c51f..31480f8 100644
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -2525,7 +2525,7 @@ int statx (int dirfd, const char *path, int flags, unsigned int mask, struct sta
-
- #ifdef LIBFAKEROOT_DEBUGGING
- if (fakeroot_debug) {
-- fprintf(stderr, "statx fd %d\n", fd);
-+ fprintf(stderr, "statx fd %d\n", dirfd);
- }
- #endif /* LIBFAKEROOT_DEBUGGING */
- r=INT_NEXT_FSTATAT(dirfd, path, &st, flags);
---
-GitLab
-
-
-From c3eebec293e35b997bb46c22fb5a4e114afb5e7f Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Sat, 13 Feb 2021 19:32:08 -0800
-Subject: [PATCH 4/6] configure.ac: fix __xmknod{,at} pointer argument
-
-Switch default to assume * and not the absence of *.
-
-On glibc 2.33+, there is no definition for these functions in header
-files, so the compile test doesn't work. But, we can default to using
-the pointer (as is the case with newer glibc), and use the header file
-on older platforms to fail the test and use no pointer.
-
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- configure.ac | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 73415d2..d85566f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -183,13 +183,13 @@ AC_MSG_CHECKING([for type of arg of __xmknod])
- ]], [[
- int __xmknod ( int ver,
- const char *pathname ,
-- mode_t mode , dev_t dev);
-+ mode_t mode , dev_t *dev);
- ]])],[
-- AC_DEFINE(XMKNOD_FRTH_ARG,)
-- AC_MSG_RESULT([no extra *])
-- ],[
- AC_DEFINE(XMKNOD_FRTH_ARG,[*])
- AC_MSG_RESULT([needs *])
-+ ],[
-+ AC_DEFINE(XMKNOD_FRTH_ARG,)
-+ AC_MSG_RESULT([no extra *])
-
- ])
-
-@@ -210,13 +210,13 @@ AC_MSG_CHECKING([for type of arg of __xmknodat])
- int __xmknodat ( int ver,
- int dirfd,
- const char *pathname ,
-- mode_t mode , dev_t dev);
-+ mode_t mode , dev_t *dev);
- ]])],[
-- AC_DEFINE(XMKNODAT_FIFTH_ARG,)
-- AC_MSG_RESULT([no extra *])
-- ],[
- AC_DEFINE(XMKNODAT_FIFTH_ARG,[*])
- AC_MSG_RESULT([needs *])
-+ ],[
-+ AC_DEFINE(XMKNODAT_FIFTH_ARG,)
-+ AC_MSG_RESULT([no extra *])
-
- ])
-
---
-GitLab
-
-
-From 01671986b4ee8eb76dc7f63dfe034a7faf4a4c28 Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Sat, 13 Feb 2021 19:35:31 -0800
-Subject: [PATCH 5/6] libfakeroot.c: fix fts_read and fts_children
-
-Apply Debian patch from [0], since glibc is usually built without LFS.
-__USE_LARGEFILE64 and FTSENT64 should be used anyway for proper support
-of this, if needed. See [1] for more details.
-
-[0]: https://sources.debian.org/patches/fakeroot/1.25.3-1.1/eglibc-fts-without-LFS/
-[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676428
-
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- libfakeroot.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/libfakeroot.c b/libfakeroot.c
-index 31480f8..169f4da 100644
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -2066,11 +2066,7 @@ FTSENT *fts_read(FTS *ftsp) {
- || r->fts_info == FTS_NS || r->fts_info == FTS_NSOK))
- r->fts_statp = NULL; /* Otherwise fts_statp may be a random pointer */
- if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
--# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
-- SEND_GET_STAT64(r->fts_statp, _STAT_VER);
--# else
- SEND_GET_STAT(r->fts_statp, _STAT_VER);
--# endif
- }
-
- return r;
-@@ -2089,11 +2085,7 @@ FTSENT *fts_children(FTS *ftsp, int options) {
- first=next_fts_children(ftsp, options);
- for(r = first; r; r = r->fts_link) {
- if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
--# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
-- SEND_GET_STAT64(r->fts_statp, _STAT_VER);
--# else
- SEND_GET_STAT(r->fts_statp, _STAT_VER);
--# endif
- }
- }
-
---
-GitLab
-
-
-From f5e0a89ab6f0024f3d3bec5fd9cf631676b44f6c Mon Sep 17 00:00:00 2001
-From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
-Date: Sat, 13 Feb 2021 20:05:17 -0800
-Subject: [PATCH 6/6] OS X portability
-
-OS X portability work from OpenWrt.
-
-Cc: Felix Fietkau <nbd@nbd.name>
-Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
----
- configure.ac | 1 +
- libfakeroot.c | 36 ++++++++++++++++++++++++++++++++++--
- wrapawk_macosx | 10 +++++++---
- wrapfunc.inp | 4 ++--
- 4 files changed, 44 insertions(+), 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index d85566f..35f9ecf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -146,6 +146,7 @@ for first in size_t int; do
- #include <sys/types.h>
- #endif
- #include <unistd.h>
-+#include <stdio.h>
- #ifdef HAVE_GRP_H
- #include <grp.h>
- #endif
-diff --git a/libfakeroot.c b/libfakeroot.c
-index 169f4da..7593dd6 100644
---- a/libfakeroot.c
-+++ b/libfakeroot.c
-@@ -122,8 +122,16 @@
- #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER)
- #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
- #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b)
-+
-+/* 10.10 uses id_t in getpriority/setpriority calls, so pretend
-+ id_t is used everywhere, just happens to be int on some OSes */
-+#ifndef _ID_T
-+#define _ID_T
-+typedef int id_t;
-+#endif
- #endif
-
-+#include <sys/types.h>
- #include <stdlib.h>
- #include <sys/ipc.h>
- #include <sys/msg.h>
-@@ -135,7 +143,6 @@
- #include <unistd.h>
- #include <dirent.h>
- #include <errno.h>
--#include <sys/types.h>
- #ifdef HAVE_SYS_ACL_H
- #include <sys/acl.h>
- #endif /* HAVE_SYS_ACL_H */
-@@ -198,6 +205,15 @@ extern int unsetenv (const char *name);
- #undef __lxstat64
- #undef _FILE_OFFSET_BITS
-
-+
-+#ifndef AT_EMPTY_PATH
-+#define AT_EMPTY_PATH 0
-+#endif
-+
-+#ifndef AT_NO_AUTOMOUNT
-+#define AT_NO_AUTOMOUNT 0
-+#endif
-+
- /*
- // next_wrap_st:
- // this structure is used in next_wrap, which is defined in
-@@ -1969,7 +1985,7 @@ ssize_t fremovexattr(int fd, const char *name)
- }
- #endif /* HAVE_FREMOVEXATTR */
-
--int setpriority(int which, int who, int prio){
-+int setpriority(int which, id_t who, int prio){
- if (fakeroot_disabled)
- return next_setpriority(which, who, prio);
- next_setpriority(which, who, prio);
-@@ -2570,3 +2586,19 @@ int sysinfo(int command, char *buf, long count)
- }
- }
- #endif
-+
-+#ifdef HAVE_OPENAT
-+int openat(int dir_fd, const char *pathname, int flags, ...)
-+{
-+ mode_t mode;
-+
-+ if (flags & O_CREAT) {
-+ va_list args;
-+ va_start(args, flags);
-+ mode = va_arg(args, int);
-+ va_end(args);
-+ }
-+
-+ return next_openat(dir_fd, pathname, flags, mode);
-+}
-+#endif
-diff --git a/wrapawk_macosx b/wrapawk_macosx
-index 088a7f4..f783219 100644
---- a/wrapawk_macosx
-+++ b/wrapawk_macosx
-@@ -46,26 +46,30 @@ BEGIN{
- argtype=$3;
- argname=$4;
- MACRO=$5;
-+ argtype_def=$6
-+ if(!argtype_def) {
-+ argtype_def = argtype
-+ }
- if(MACRO){
- print "extern " ret " MY_DEF(" name ")" argtype " __attribute__((visibility(\"hidden\")));" > headerfile;
- print "INTERPOSE(MY_DEF(" name "_RAW)," name "_RAW);" > structfile;
- print "#undef " name > deffile
- print "#define " name " MY_DEF(" name "_RAW)" > deffile
-
-- print "extern " ret, name, argtype ";" > tmpffile;
-+ print "extern " ret, name, argtype_def ";" > tmpffile;
- print "static __inline__ " ret " NEXT_" MACRO "_NOARG " argtype " __attribute__((always_inline));" > tmpffile;
- print "static __inline__ " ret " NEXT_" MACRO "_NOARG " argtype " {" > tmpffile;
- print " return " name, argname ";" > tmpffile;
- print "}" > tmpffile;
- print "" > tmpffile;
- } else {
-- print "extern " ret " my_" name, argtype " __attribute__((visibility(\"hidden\")));" > headerfile;
-+ print "extern " ret " my_" name, argtype_def " __attribute__((visibility(\"hidden\")));" > headerfile;
- print "#undef " name > structfile;
- print "INTERPOSE(my_" name "," name ");" > structfile;
- print "#define " name " my_" name > structfile
- print "#define " name " my_" name > deffile
-
-- print "extern " ret, name, argtype ";" > tmpffile;
-+ print "extern " ret, name, argtype_def ";" > tmpffile;
- if(argname){
- print "static __inline__ " ret " next_" name, argtype " __attribute__((always_inline));" > tmpffile;
- print "static __inline__ " ret " next_" name, argtype " {" > tmpffile;
-diff --git a/wrapfunc.inp b/wrapfunc.inp
-index f7ad186..556af34 100644
---- a/wrapfunc.inp
-+++ b/wrapfunc.inp
-@@ -146,7 +146,7 @@ setfsgid;gid_t;(gid_t fsgid);(fsgid)
- initgroups;int;(const char *user, INITGROUPS_SECOND_ARG group);(user, group)
- getgroups;int;(int size, gid_t list[]);(size, list)
- setgroups;int;(SETGROUPS_SIZE_TYPE size, const gid_t *list);(size, list)
--setpriority;int;(int which, int who, int prio);(which, who, prio)
-+setpriority;int;(int which, id_t who, int prio);(which, who, prio)
- #ifdef HAVE_CAPSET
- capset;int;(cap_user_header_t hdrp, const cap_user_data_t datap);(hdrp, datap)
- #endif /* HAVE_CAPSET */
-@@ -198,7 +198,7 @@ fchownat;int;(int dir_fd, const char *path, uid_t owner, gid_t group, int flags)
- mkdirat;int;(int dir_fd, const char *pathname, mode_t mode);(dir_fd, pathname, mode)
- #endif /* HAVE_MKDIRAT */
- #ifdef HAVE_OPENAT
--openat;int;(int dir_fd, const char *pathname, int flags);(dir_fd, pathname, flags)
-+openat;int;(int dir_fd, const char *pathname, int flags, mode_t mode);(dir_fd, pathname, flags, mode);;(int dir_fd, const char *pathname, int flags, ...)
- #endif /* HAVE_OPENAT */
- #ifdef HAVE_RENAMEAT
- renameat;int;(int olddir_fd, const char *oldpath, int newdir_fd, const char *newpath);(olddir_fd, oldpath, newdir_fd, newpath)
---
-GitLab
-
diff --git a/sys-apps/plocate/Manifest b/sys-apps/plocate/Manifest
index 3dd280b3a3ac..c74e61a2b964 100644
--- a/sys-apps/plocate/Manifest
+++ b/sys-apps/plocate/Manifest
@@ -1,9 +1,11 @@
AUX plocate-1.1.15-meson-use-feature-option-for-libiouring.patch 1943 BLAKE2B cbcd583d93c3423c4cb8f13b3891ec34690ec1447c92f60291ec395437f11626aef82e669f470482c63232b9a7ebe73ed67cb7e0595a9f08b309f742c0d79d72 SHA512 110292358260f5fdf6f687b80c0375a91f224a190f6a25ec166c406cf4d39732493e0ebfea0fc02ccca18d95fdfcbff5d17d00cd10ac28c9a4ae46db8faf0ac9
+AUX plocate-1.1.16-error-to-fprintf-exit-musl.patch 10927 BLAKE2B a467330809ef59af57c37d584f6ccaf44da5e8ba0db38923f1d91bfdfc0061a9beab914e7527a7e532bdc0f4a2d9bb1f4438b63ade0a8947197dc233658663c9 SHA512 ad35e589f8efaa4998bc53b18c9bb7ffe201243640f86dbb39c7f43336ca068fc39cf357ebd1015cb57cdbbbf47f0ad81ddf7a757f17a9bd4ca1ea400bfef6ea
+AUX plocate-1.1.16-include-linux-stat_h-musl.patch 860 BLAKE2B e22e96480d95da40dc5b935b61e2482d17c4754672ed9a33b7f98f2fa01f494f8a5b7fcf3354ae7861a6ea744906b135adb1658220776a6ec029c1623da67009 SHA512 475599d66efd9a6ceba650232a9f3b4480a6af6ef15c5d7bb6f85bcf63bf1b770e4c69c53f8bc308347639fb1a6eee45b5ae03d535c3a1c818bbda4729d10302
AUX plocate-cron.conf 237 BLAKE2B 531d6461309b520db31ab8f682ebbe56f2cd425222ebbc16a4662b606f5a0c6c62e4b1475a02ec3f244dde1ff73fe0ad16e0850aec53e6e8836fd0ba1273ad07 SHA512 ab055b052980783b5c63c716d7c12dcb19961a9f990c077e4f8c9bef4ca591bd281ac3941f872659a558a18b81c014dbc0655ff0a1872310670d8efc1d27cb00
AUX plocate.cron 1392 BLAKE2B 89f7eb05879c0c1a6c30376d36dc469dde0b94df3758ae659012cf9fb6e9fb2783a0d8e53ea5f79d99e2f00be72ef24a254f2d91038a30dc9e19cd2b250782f9 SHA512 b15583e98e253c2fcb658bd9c1c589bacddb8b033eb565333d9f990b1fd320fcfbe1d950657c8b5823d4cb034ccad369bdd2178ef955e42aa9c2f8e8a0268b3f
AUX updatedb.conf 898 BLAKE2B de832ebc92e103ccaf8923b2eb872ad8e1ef36be2dfaa463a054e3e9fc256102db676ab0568501b695d943fcb74ae6ab01585bf7301cc6aa9ce6d709cc1690b5 SHA512 8b0b32e949636aef46c5439b0c963cc113306cedb1e5c84dbbfa2efba6562ca6dd602fdbfa0b3bc9095b0cf30a619ebb366535406cdb461f20d012ec1af7ff9d
DIST plocate-1.1.15.tar.gz 73274 BLAKE2B 72dba287ba3357d2fa541542bf5e9d283eac672b7f3b2eebab687ecec930d6e91400eeb0f24c97d6133d69cae0308bc4473b7c8cbc5e263dd18ae8a7728a42a4 SHA512 772f82af38fd7b61fa51ac31f71d4a855542cfa617867da54b5ad8202f49f9e1861064a01e9b8f0937c3da902d84f19a50c1d0e4f037a491a9a6819b2413cfa1
DIST plocate-1.1.16.tar.gz 73397 BLAKE2B b6706145e9cba8b386761229cfbf23f8a9490596210b0a8dc467dfa6a6ed5b349c8f84cfcbe0430e89691afb50e257a3d331b1dcdc638611407587c8b623e72b SHA512 01dfc3ba434e6164f3e582fb102bd7ec0167a8f93e4cf9c3e72af804a8eda9b69b04fec20ee34fc19549d810b97076342f3a83b46705d0311ada6004d05da26c
EBUILD plocate-1.1.15.ebuild 2195 BLAKE2B 707f602b2d22ab6a2856221c1d51b865d1cae1cfbc982e2ff839e70e0a7ff24ce15b9a967b30ca0a4fe7c9101d7e6e9e0ce782734752ced52098c65cd4b8121d SHA512 6394a30fb3ebb738d230c25d9e4857aca2ab5f31e279490b6b477dd871aaddf03cf5152b4dadbc92b8e87a06ccb8aaa3b8eec25af7fa92b0c2986ca136978ede
-EBUILD plocate-1.1.16.ebuild 2196 BLAKE2B 634e6419b067d6f07c68e8e581221444106788996b17bed3af68d4d95e2c3b22cf78491608ec22435cf8e91e899480491a1c7edb6e73393e6bd82f81a2483879 SHA512 60b1b3de696979e06b1d94de11916b2e0b155af471775e4e4001f5d8dd228e63e0daff1a0975768a0e90f602a1b8463b7885a580c06c829ed11bf9a59a7e9988
+EBUILD plocate-1.1.16.ebuild 2317 BLAKE2B 943fce0b44252d0eabee8dc41cd6f1d68e405f2218fde801b09fe9edfd92490210cab90aff103a9467043e892de398c374a1bea9dabb2d6d91e064adc8ad9728 SHA512 f2e7f7d1bfcd0b67c6d1d0c9cdb17f956a1fe267331bc04e571c9274aaefb7f583c3f3fb11c82aef144d1aa5f5d3e7cb78cf43a8d785ab67bb05b211bcb86343
MISC metadata.xml 1437 BLAKE2B d3aece3d36e8cc4ceaf9947f0b535c7e2187a25cbb88910f704b1d72a2784831bfb746cca323c98183964688e6b5f2f2fa6bf54c97f8fc99eeea4ee946983e0d SHA512 b24d79da1b27531a7f3353128f7fbc583ef064f4aff58894e9d37dfa9144203c1f1898113aa31f82604aea93de66423e3313924bad25e31e075832c77a99c39e
diff --git a/sys-apps/plocate/files/plocate-1.1.16-error-to-fprintf-exit-musl.patch b/sys-apps/plocate/files/plocate-1.1.16-error-to-fprintf-exit-musl.patch
new file mode 100644
index 000000000000..6d108501307f
--- /dev/null
+++ b/sys-apps/plocate/files/plocate-1.1.16-error-to-fprintf-exit-musl.patch
@@ -0,0 +1,337 @@
+https://bugs.gentoo.org/829580
+https://git.sesse.net/?p=plocate;a=commit;h=fd6198891d6fd9642effc0843fef6f23b991af3e
+
+From fd6198891d6fd9642effc0843fef6f23b991af3e Mon Sep 17 00:00:00 2001
+From: "Steinar H. Gunderson" <steinar+git@gunderson.no>
+Date: Wed, 13 Jul 2022 22:31:54 +0200
+Subject: [PATCH 2/2] Remove dependency on non-POSIX header error.h.
+
+This helps compatibility with certain configurations of musl libc.
+Note that the output format on updatedb.conf errors will change somewhat,
+and only the first one will be reported followed by immediate exit
+(unlike earlier, where all updatedb.conf errors would be output before exit).
+
+Based on a patch by Alfred Persson Forsberg.
+---
+ conf.cpp | 178 +++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 94 insertions(+), 84 deletions(-)
+
+diff --git a/conf.cpp b/conf.cpp
+index 1055fd7..60dd93f 100644
+--- a/conf.cpp
++++ b/conf.cpp
+@@ -22,7 +22,6 @@ any later version.
+
+ #include "conf.h"
+
+-#include "error.h"
+ #include "lib.h"
+
+ #include <algorithm>
+@@ -167,11 +166,6 @@ uc_lex(void)
+ /* Fall through */
+ case '\n':
+ uc_current_line++;
+- if (uc_current_line == 0) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_current_line - 1,
+- _("warning: Line number overflow"));
+- error_message_count--; /* Don't count as an error */
+- }
+ return UCT_EOL;
+
+ case '=':
+@@ -180,10 +174,9 @@ uc_lex(void)
+ case '"': {
+ while ((c = getc_unlocked(uc_file)) != '"') {
+ if (c == EOF || c == '\n') {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("missing closing `\"'"));
+- ungetc(c, uc_file);
+- break;
++ fprintf(stderr, "%s:%u: missing closing `\"'\n",
++ UPDATEDB_CONF, uc_line);
++ exit(EXIT_FAILURE);
+ }
+ uc_lex_buf.push_back(c);
+ }
+@@ -215,21 +208,18 @@ uc_lex(void)
+ static void
+ parse_updatedb_conf(void)
+ {
+- int old_error_one_per_line;
+- unsigned old_error_message_count;
+ bool had_prune_bind_mounts, had_prunefs, had_prunenames, had_prunepaths;
+
+ uc_file = fopen(UPDATEDB_CONF, "r");
+ if (uc_file == NULL) {
+- if (errno != ENOENT)
+- error(EXIT_FAILURE, errno, _("can not open `%s'"), UPDATEDB_CONF);
+- goto err;
++ if (errno != ENOENT) {
++ perror(UPDATEDB_CONF);
++ exit(EXIT_FAILURE);
++ }
++ return;
+ }
+ flockfile(uc_file);
+ uc_current_line = 1;
+- old_error_message_count = error_message_count;
+- old_error_one_per_line = error_one_per_line;
+- error_one_per_line = 1;
+ had_prune_bind_mounts = false;
+ had_prunefs = false;
+ had_prunenames = false;
+@@ -263,40 +253,39 @@ parse_updatedb_conf(void)
+ break;
+
+ case UCT_IDENTIFIER:
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("unknown variable `%s'"), uc_lex_buf.c_str());
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: unknown variable: `%s'\n",
++ UPDATEDB_CONF, uc_line, uc_lex_buf.c_str());
++ exit(EXIT_FAILURE);
+
+ default:
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("variable name expected"));
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: variable name expected\n",
++ UPDATEDB_CONF, uc_line);
++ exit(EXIT_FAILURE);
+ }
+ if (*had_var != false) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("variable `%s' was already defined"), uc_lex_buf.c_str());
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: variable `%s' was already defined\n",
++ UPDATEDB_CONF, uc_line, uc_lex_buf.c_str());
++ exit(EXIT_FAILURE);
+ }
+ *had_var = true;
+ var_token = token;
+ token = uc_lex();
+ if (token != UCT_EQUAL) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("`=' expected after variable name"));
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: `=' expected after variable name\n",
++ UPDATEDB_CONF, uc_line);
++ exit(EXIT_FAILURE);
+ }
+ token = uc_lex();
+ if (token != UCT_QUOTED) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("value in quotes expected after `='"));
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: value in quotes expected after `='\n",
++ UPDATEDB_CONF, uc_line);
++ exit(EXIT_FAILURE);
+ }
+ if (var_token == UCT_PRUNE_BIND_MOUNTS) {
+ if (parse_bool(&conf_prune_bind_mounts, uc_lex_buf.c_str()) != 0) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("invalid value `%s' of PRUNE_BIND_MOUNTS"),
+- uc_lex_buf.c_str());
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: invalid value `%s' of PRUNE_BIND_MOUNTS\n",
++ UPDATEDB_CONF, uc_line, uc_lex_buf.c_str());
++ exit(EXIT_FAILURE);
+ }
+ } else if (var_token == UCT_PRUNEFS)
+ var_add_values(&conf_prunefs, uc_lex_buf.c_str());
+@@ -308,12 +297,11 @@ parse_updatedb_conf(void)
+ abort();
+ token = uc_lex();
+ if (token != UCT_EOL && token != UCT_EOF) {
+- error_at_line(0, 0, UPDATEDB_CONF, uc_line,
+- _("unexpected data after variable value"));
+- goto skip_to_eol;
++ fprintf(stderr, "%s:%u: unexpected data after variable value\n",
++ UPDATEDB_CONF, uc_line);
++ exit(EXIT_FAILURE);
+ }
+ /* Fall through */
+- skip_to_eol:
+ while (token != UCT_EOL) {
+ if (token == UCT_EOF)
+ goto eof;
+@@ -321,14 +309,12 @@ parse_updatedb_conf(void)
+ }
+ }
+ eof:
+- if (ferror(uc_file))
+- error(EXIT_FAILURE, 0, _("I/O error reading `%s'"), UPDATEDB_CONF);
+- error_one_per_line = old_error_one_per_line;
++ if (ferror(uc_file)) {
++ perror(UPDATEDB_CONF);
++ exit(EXIT_FAILURE);
++ }
+ funlockfile(uc_file);
+ fclose(uc_file);
+- if (error_message_count != old_error_message_count)
+- exit(EXIT_FAILURE);
+-err:;
+ }
+
+ /* Command-line argument parsing */
+@@ -384,8 +370,11 @@ prepend_cwd(const string &path)
+ do
+ buf.resize(buf.size() * 1.5);
+ while ((res = getcwd(buf.data(), buf.size())) == NULL && errno == ERANGE);
+- if (res == NULL)
+- error(EXIT_FAILURE, errno, _("can not get current working directory"));
++ if (res == NULL) {
++ fprintf(stderr, "%s: %s: can not get current working directory\n",
++ program_invocation_name, strerror(errno));
++ exit(EXIT_FAILURE);
++ }
+ buf.resize(strlen(buf.data()));
+ return buf + '/' + path;
+ }
+@@ -438,54 +427,64 @@ parse_arguments(int argc, char *argv[])
+ exit(EXIT_FAILURE);
+
+ case 'B':
+- if (got_prune_bind_mounts != false)
+- error(EXIT_FAILURE, 0,
+- _("--%s would override earlier command-line argument"),
+- "prune-bind-mounts");
++ if (got_prune_bind_mounts != false) {
++ fprintf(stderr, "%s: --%s would override earlier command-line argument\n",
++ program_invocation_name, "prune-bind-mounts");
++ exit(EXIT_FAILURE);
++ }
+ got_prune_bind_mounts = true;
+- if (parse_bool(&conf_prune_bind_mounts, optarg) != 0)
+- error(EXIT_FAILURE, 0, _("invalid value `%s' of --%s"), optarg,
+- "prune-bind-mounts");
++ if (parse_bool(&conf_prune_bind_mounts, optarg) != 0) {
++ fprintf(stderr, "%s: invalid value %s of --%s\n",
++ program_invocation_name, optarg, "prune-bind-mounts");
++ exit(EXIT_FAILURE);
++ }
+ break;
+
+ case 'F':
+- if (prunefs_changed != false)
+- error(EXIT_FAILURE, 0,
+- _("--%s would override earlier command-line argument"),
+- "prunefs");
++ if (prunefs_changed != false) {
++ fprintf(stderr, "%s: --%s would override earlier command-line argument\n",
++ program_invocation_name, "prunefs");
++ exit(EXIT_FAILURE);
++ }
+ prunefs_changed = true;
+ conf_prunefs.clear();
+ var_add_values(&conf_prunefs, optarg);
+ break;
+
+ case 'N':
+- if (prunenames_changed != false)
+- error(EXIT_FAILURE, 0,
+- _("--%s would override earlier command-line argument"),
+- "prunenames");
++ if (prunenames_changed != false) {
++ fprintf(stderr, "%s: --%s would override earlier command-line argument\n",
++ program_invocation_name, "prunenames");
++ exit(EXIT_FAILURE);
++ }
+ prunenames_changed = true;
+ conf_prunenames.clear();
+ var_add_values(&conf_prunenames, optarg);
+ break;
+
+ case 'P':
+- if (prunepaths_changed != false)
+- error(EXIT_FAILURE, 0,
+- _("--%s would override earlier command-line argument"),
+- "prunepaths");
++ if (prunepaths_changed != false) {
++ fprintf(stderr, "%s: --%s would override earlier command-line argument\n",
++ program_invocation_name, "prunepaths");
++ exit(EXIT_FAILURE);
++ }
+ prunepaths_changed = true;
+ conf_prunepaths.clear();
+ var_add_values(&conf_prunepaths, optarg);
+ break;
+
+ case 'U':
+- if (conf_scan_root != NULL)
+- error(EXIT_FAILURE, 0, _("--%s specified twice"),
+- "database-root");
++ if (conf_scan_root != NULL) {
++ fprintf(stderr, "%s: --%s specified twice\n",
++ program_invocation_name, "database-root");
++ exit(EXIT_FAILURE);
++ }
+ conf_scan_root = realpath(optarg, nullptr);
+- if (conf_scan_root == NULL)
+- error(EXIT_FAILURE, errno, _("invalid value `%s' of --%s"), optarg,
+- "database-root");
++ if (conf_scan_root == NULL) {
++ fprintf(stderr, "%s: %s: invalid value `%s' of --%s\n",
++ program_invocation_name, strerror(errno), optarg, "database-root");
++ exit(EXIT_FAILURE);
++ }
+ break;
+
+ case 'V':
+@@ -517,13 +516,18 @@ parse_arguments(int argc, char *argv[])
+ exit(EXIT_SUCCESS);
+
+ case 'l':
+- if (got_visibility != false)
+- error(EXIT_FAILURE, 0, _("--%s specified twice"),
+- "require-visibility");
++ if (got_visibility != false) {
++ fprintf(stderr, "%s: --%s specified twice\n",
++ program_invocation_name, "require-visibility");
++ exit(EXIT_FAILURE);
++ }
++
+ got_visibility = true;
+- if (parse_bool(&conf_check_visibility, optarg) != 0)
+- error(EXIT_FAILURE, 0, _("invalid value `%s' of --%s"), optarg,
+- "require-visibility");
++ if (parse_bool(&conf_check_visibility, optarg) != 0) {
++ fprintf(stderr, "%s: invalid value `%s' of --%s",
++ program_invocation_name, optarg, "require-visibility");
++ exit(EXIT_FAILURE);
++ }
+ break;
+
+ case 'n':
+@@ -532,8 +536,11 @@ parse_arguments(int argc, char *argv[])
+ break;
+
+ case 'o':
+- if (!conf_output.empty())
+- error(EXIT_FAILURE, 0, _("--%s specified twice"), "output");
++ if (!conf_output.empty()) {
++ fprintf(stderr, "%s: --%s specified twice",
++ program_invocation_name, "output");
++ exit(EXIT_FAILURE);
++ }
+ conf_output = optarg;
+ break;
+
+@@ -558,8 +565,11 @@ parse_arguments(int argc, char *argv[])
+ }
+ }
+ options_done:
+- if (optind != argc)
+- error(EXIT_FAILURE, 0, _("unexpected operand on command line"));
++ if (optind != argc) {
++ fprintf(stderr, "%s: unexpected operand on command line",
++ program_invocation_name);
++ exit(EXIT_FAILURE);
++ }
+ if (conf_scan_root == NULL) {
+ static char root[] = "/";
+
+--
+2.35.1
+
diff --git a/sys-apps/plocate/files/plocate-1.1.16-include-linux-stat_h-musl.patch b/sys-apps/plocate/files/plocate-1.1.16-include-linux-stat_h-musl.patch
new file mode 100644
index 000000000000..a4b9fe4d1bc6
--- /dev/null
+++ b/sys-apps/plocate/files/plocate-1.1.16-include-linux-stat_h-musl.patch
@@ -0,0 +1,30 @@
+https://git.sesse.net/?p=plocate;a=commit;h=0125004cd28c5f9124632b594e51dde73af1691c
+https://git.alpinelinux.org/aports/tree/community/plocate/include-statx.patch
+https://bugs.gentoo.org/853769
+
+From 0125004cd28c5f9124632b594e51dde73af1691c Mon Sep 17 00:00:00 2001
+From: "Steinar H. Gunderson" <steinar+git@gunderson.no>
+Date: Sat, 25 Jun 2022 10:01:49 +0200
+Subject: [PATCH 1/2] Add a missing #include.
+
+Taken from the Alpine Linux packaging; seems to be for statx()
+(presumably on musl libc).
+---
+ io_uring_engine.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/io_uring_engine.h b/io_uring_engine.h
+index 688a6ae..bcb1058 100644
+--- a/io_uring_engine.h
++++ b/io_uring_engine.h
+@@ -7,6 +7,7 @@
+ #include <string_view>
+ #include <sys/socket.h>
+ #include <sys/types.h>
++#include <linux/stat.h>
+
+ struct io_uring_sqe;
+ #ifndef WITHOUT_URING
+--
+2.35.1
+
diff --git a/sys-apps/plocate/plocate-1.1.16.ebuild b/sys-apps/plocate/plocate-1.1.16.ebuild
index baa634d92859..ea20d3fb9b1c 100644
--- a/sys-apps/plocate/plocate-1.1.16.ebuild
+++ b/sys-apps/plocate/plocate-1.1.16.ebuild
@@ -26,6 +26,8 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-1.1.15-meson-use-feature-option-for-libiouring.patch
+ "${FILESDIR}"/${PN}-1.1.16-error-to-fprintf-exit-musl.patch
+ "${FILESDIR}"/${PN}-1.1.16-include-linux-stat_h-musl.patch
)
pkg_setup() {
diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 2d720da3bbd3..3a8051dca087 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -5,7 +5,11 @@ AUX systemd-tmpfiles-setup-dev 342 BLAKE2B 95956e57d4f2aa10a09f23c08045ceed6fac3
DIST systemd-musl-patches-250.4.tar.gz 28065 BLAKE2B b8366c4bb29705e3f41f07d0105c4d252d543aaac178e968663660eeb573da034813aa50a96c74ac78ae5efeea379e00df33c5a039ec828cf93450ed23786252 SHA512 66e41fab1873021913c32e3f43300ea7babd18a36e6543838ab7fab4c44f5590c6a7414dd50c7ee81e5513b0e5aa01cb6df4231e8e06c609d63011a32b524213
DIST systemd-musl-patches-251.2.tar.gz 28512 BLAKE2B 4ac6a5220dab8409962a3954af2fb2484af718d0f282129957236ce241fbe8538a90d507a96c7c3d86f4f408ab784a6888b37486405d3276e7734a1bd5aa9680 SHA512 6e56b62234ac54929faea5a7cad699d0b932f869b48e3ba4e1f349a88653b7c787efec24a09b00290c3dc566614e3c1dc2f3c04f04e943f513108a91eca1be82
DIST systemd-stable-250.7.tar.gz 11214975 BLAKE2B 5d94b4b1f8b0cd6e8284a89ac0d4bd373eccdad2c3d6e6c453df79c8df47ee0f9cfbde764b72b1f9d172d07e2d9f1f1f41c1ab254cf4abd0722469ebc3ad7cf8 SHA512 99bc6f0c9757b280cb694f3fb4d6fe04d5ce55583eb2bae5ddeb324bb5ee9930c1720fcc27293d90cddba188473653ec541a471ae8115710a5850c26d0ba215d
+DIST systemd-stable-250.8.tar.gz 11215608 BLAKE2B 2a66a2d8cb70f265b59640ace907b8d927018fe11c8977e134a33d67683f06b26c1eb3fd5afe40431bc2c15827ba60c46a37ff1a0a4c716dd24b73aca1583d00 SHA512 653f527f10779a31213da06f7587a3617bd4b823bd3e5a43d626c5a4a7301e4a0fb42cf1fd056d28af6d87e52f258da59d5f0d4a2d98076905f9d3fcda6d18fd
DIST systemd-stable-251.2.tar.gz 11434645 BLAKE2B a7e118649a7d27b789206ea9f6f2d0314e44561367506ee763a9e98fb97579b3fc49c7a402c8da142945dc98444558f0e311557f52c50863cebc7532c17c651f SHA512 0c4011b685a1e8d535af123cbaf79ab53d59ea665ca5350ab1077ad4e962b49c1fd5b1b5bb3f28c3e28145dfd02aa83023f78de5edec15afe84e3e06e742a67c
+DIST systemd-stable-251.3.tar.gz 11435458 BLAKE2B 544238536848ab390b2476d5ad95d33998674be50020b8db0627bb9d0c86be6576c404ce786b01ceec86f1c75b174c6fc2d7e0d7fbab802a78f48c9d0915c2b8 SHA512 fb5b8dc1742562ef95469e90d406cfb6dfcb337860ad1208b460414b88ff0565071bde797d195faa62761206abc881829de6b1009e5d727cad2dfe0764310d5f
EBUILD systemd-utils-250.7.ebuild 11342 BLAKE2B 67a094e130be3b21a647a3db3a66ea0b35b6f4292fa98c3e81d6a2ecd09b291ef08efdbb048e73c5b141b1cf815a4d7a340c6b43c65aa6a3f5b31fa962b60f89 SHA512 2d88c146cebdc0ae5344c80cf807507e343e77ca37af9b0c28cd131ce2f532418e13773ae00a712d54302b8196e4b5696c1a213dbb2472931d79e1f8485b4537
+EBUILD systemd-utils-250.8.ebuild 11350 BLAKE2B faf9c2a6685159fe9352e88ecc5855f38c7806f4a2da41e2e5ad1ce6124a4fbb9b42a71c351070297a821b093856a4b75263865b1ffe0d7fe16ebdced0dfdc64 SHA512 6ebec4e3a65f50467bc3b5995acb0ab483723e87dcfef8d4c5a7b4f26d8116049ed2c4c78f3f03f9216af5dc87767e69195f0bbff909644bfa91e688bf602058
EBUILD systemd-utils-251.2-r1.ebuild 11492 BLAKE2B d32e0222842f5981ee2aab1a3a67b1679e409b195503ad9f7ef185150e5fa2b98504c774f4bbcf5260523309d431582dc75fcf3d67818a981dbaffe40add999a SHA512 b2c1c51130c7ac90a98ae8af25167d2dc47dee6ec92342bd83159898f1a2170b4599c984d00430294cd4ac7895996e7b8682d111ff82148d574e613719b00588
+EBUILD systemd-utils-251.3.ebuild 11492 BLAKE2B d32e0222842f5981ee2aab1a3a67b1679e409b195503ad9f7ef185150e5fa2b98504c774f4bbcf5260523309d431582dc75fcf3d67818a981dbaffe40add999a SHA512 b2c1c51130c7ac90a98ae8af25167d2dc47dee6ec92342bd83159898f1a2170b4599c984d00430294cd4ac7895996e7b8682d111ff82148d574e613719b00588
MISC metadata.xml 571 BLAKE2B 6b3a69524c5fd3fa0bbe534ccbf3598cedcbe51542d738237ca13b465fd342555f35b2ebd1d784b7a81664c58125e01404434ca48a07502343a24dd395618c4c SHA512 8184f6d8107be83d7411f63e86a8469c4b86c96bf4738ebfda8d654e4ecedf334b4319c9d442832c8373a34e7c35ca14b879e75eb4e006d48fa3d667be0a66e4
diff --git a/sys-apps/systemd-utils/systemd-utils-250.8.ebuild b/sys-apps/systemd-utils/systemd-utils-250.8.ebuild
new file mode 100644
index 000000000000..9afc4a2e8c10
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-250.8.ebuild
@@ -0,0 +1,500 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/"
+
+if [[ ${PV} == *.* ]]; then
+ MY_P="systemd-stable-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+else
+ MY_P="systemd-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+fi
+
+MUSL_PATCHSET="systemd-musl-patches-250.4"
+SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+acl boot +kmod selinux sysusers +tmpfiles test +udev"
+REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ selinux? ( sys-libs/libselinux:0= )
+ tmpfiles? (
+ acl? ( sys-apps/acl:0= )
+ )
+ udev? (
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ )
+ !udev? (
+ >=sys-apps/util-linux-2.30:0=
+ sys-libs/libcap:0=
+ virtual/libcrypt:=
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ boot? (
+ >=sys-boot/gnu-efi-3.0.2
+ )
+ >=sys-kernel/linux-headers-3.11
+"
+RDEPEND="${COMMON_DEPEND}
+ boot? ( !<sys-boot/systemd-boot-250 )
+ tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+ udev? (
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kmem
+ acct-group/kvm
+ acct-group/lp
+ acct-group/render
+ acct-group/sgx
+ acct-group/tape
+ acct-group/tty
+ acct-group/video
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/hwids[udev]
+ !<sys-fs/udev-250
+ !sys-fs/eudev
+ )
+ !sys-apps/systemd
+"
+PDEPEND="
+ udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/gperf
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+python_check_deps() {
+ has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/250.4-test-systemd-tmpfiles.standalone.patch"
+ )
+ if use elibc_musl; then
+ PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
+ fi
+ default
+
+ # Remove install_rpath; we link statically
+ local rpath_pattern="install_rpath : rootlibexecdir,"
+ grep -q -e "${rpath_pattern}" meson.build || die
+ sed -i -e "/${rpath_pattern}/d" meson.build || die
+}
+
+multilib_src_configure() {
+ # When bumping to 251, please keep this, but add the revert patch
+ # like in sys-apps/systemd!
+ #
+ # Broken with FORTIFY_SOURCE=3 without a patch. And the patch
+ # wasn't backported to 250.x, but it turns out to break Clang
+ # anyway: bug #841770.
+ #
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ local emesonargs=(
+ -Drootprefix="${EPREFIX:-/}"
+ -Dsysvinit-path=
+ $(meson_native_use_bool boot efi)
+ $(meson_native_use_bool boot gnu-efi)
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool sysusers)
+ $(meson_use test tests)
+ $(meson_native_use_bool tmpfiles)
+ $(meson_use udev hwdb)
+
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Link staticly with libsystemd-shared
+ -Dlink-boot-shared=false
+ -Dlink-udev-shared=false
+
+ # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
+ -Dstandalone-binaries=true
+
+ # Disable all optional features
+ -Dadm-group=false
+ -Danalyze=false
+ -Dapparmor=false
+ -Daudit=false
+ -Dbacklight=false
+ -Dbinfmt=false
+ -Dbzip2=false
+ -Dcoredump=false
+ -Ddbus=false
+ -Delfutils=false
+ -Denvironment-d=false
+ -Dfdisk=false
+ -Dgcrypt=false
+ -Dglib=false
+ -Dgshadow=false
+ -Dgnutls=false
+ -Dhibernate=false
+ -Dhostnamed=false
+ -Didn=false
+ -Dima=false
+ -Dinitrd=false
+ -Dfirstboot=false
+ -Dkernel-install=false
+ -Dldconfig=false
+ -Dlibcryptsetup=false
+ -Dlibcurl=false
+ -Dlibfido2=false
+ -Dlibidn=false
+ -Dlibidn2=false
+ -Dlibiptc=false
+ -Dlocaled=false
+ -Dlogind=false
+ -Dlz4=false
+ -Dmachined=false
+ -Dmicrohttpd=false
+ -Dnetworkd=false
+ -Dnscd=false
+ -Dnss-myhostname=false
+ -Dnss-resolve=false
+ -Dnss-systemd=false
+ -Doomd=false
+ -Dopenssl=false
+ -Dp11kit=false
+ -Dpam=false
+ -Dpcre2=false
+ -Dpolkit=false
+ -Dportabled=false
+ -Dpstore=false
+ -Dpwquality=false
+ -Drandomseed=false
+ -Dresolve=false
+ -Drfkill=false
+ -Dseccomp=false
+ -Dsmack=false
+ -Dsysext=false
+ -Dtimedated=false
+ -Dtimesyncd=false
+ -Dtpm=false
+ -Dqrencode=false
+ -Dquotacheck=false
+ -Duserdb=false
+ -Dutmp=false
+ -Dvconsole=false
+ -Dwheel-group=false
+ -Dxdg-autostart=false
+ -Dxkbcommon=false
+ -Dxz=false
+ -Dzlib=false
+ -Dzstd=false
+ )
+
+ if use tmpfiles || use udev; then
+ emesonargs+=( $(meson_native_use_bool acl) )
+ else
+ emesonargs+=( -Dacl=false )
+ fi
+
+ if use udev; then
+ emesonargs+=( $(meson_native_use_bool kmod) )
+ else
+ emesonargs+=( -Dkmod=false )
+ fi
+
+ if use elibc_musl; then
+ # Avoid redefinition of struct ethhdr.
+ append-cppflags -D__UAPI_DEF_ETHHDR=0
+ fi
+
+ if multilib_is_native_abi || use udev; then
+ meson_src_configure
+ fi
+}
+
+efi_arch() {
+ case "$(tc-arch)" in
+ amd64) echo x64 ;;
+ arm) echo arm ;;
+ arm64) echo aa64 ;;
+ x86) echo x86 ;;
+ esac
+}
+
+multilib_src_compile() {
+ local targets=()
+ if multilib_is_native_abi; then
+ if use boot; then
+ targets+=(
+ bootctl
+ man/bootctl.1
+ man/kernel-install.8
+ src/boot/efi/linux$(efi_arch).{efi,elf}.stub
+ src/boot/efi/systemd-boot$(efi_arch).efi
+ )
+ fi
+ if use sysusers; then
+ targets+=(
+ systemd-sysusers.standalone
+ man/sysusers.d.5
+ man/systemd-sysusers.8
+ )
+ if use test; then
+ targets+=(
+ systemd-runtest.env
+ )
+ fi
+ fi
+ if use tmpfiles; then
+ targets+=(
+ systemd-tmpfiles.standalone
+ man/tmpfiles.d.5
+ man/systemd-tmpfiles.8
+ )
+ if use test; then
+ targets+=( test-tmpfiles )
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udevadm
+ systemd-hwdb
+ src/udev/ata_id
+ src/udev/cdrom_id
+ src/udev/fido_id
+ src/udev/mtd_probe
+ src/udev/scsi_id
+ src/udev/udev.pc
+ src/udev/v4l_id
+ man/udev.conf.5
+ man/systemd.link.5
+ man/hwdb.7
+ man/udev.7
+ man/systemd-hwdb.8
+ man/systemd-udevd.service.8
+ man/udevadm.8
+ hwdb.d/60-autosuspend-chromiumos.hwdb
+ rules.d/50-udev-default.rules
+ rules.d/64-btrfs.rules
+ )
+ if use test; then
+ targets+=(
+ # Used by udev-test.pl
+ systemd-detect-virt
+ test/sys
+ test-udev
+
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ fi
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udev:shared_library
+ src/libudev/libudev.pc
+ )
+ if use test; then
+ targets+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ fi
+ if multilib_is_native_abi || use udev; then
+ meson_src_compile "${targets[@]}"
+ fi
+}
+
+multilib_src_test() {
+ local tests=()
+ if multilib_is_native_abi; then
+ if use sysusers; then
+ tests+=(
+ test-sysusers.standalone
+ )
+ fi
+ if use tmpfiles; then
+ tests+=(
+ test-systemd-tmpfiles.standalone
+ test-tmpfiles
+ )
+ fi
+ if use udev; then
+ tests+=(
+ rule-syntax-check
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ if [[ -w /dev ]]; then
+ tests+=( udev-test )
+ else
+ ewarn "Skipping udev-test (needs write access to /dev)"
+ fi
+ fi
+ fi
+ if use udev; then
+ tests+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ if [[ ${#tests[@]} -ne 0 ]]; then
+ meson_src_test "${tests[@]}"
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use boot; then
+ into /usr
+ dobin bootctl
+ doman man/{bootctl.1,kernel-install.8}
+ insinto usr/lib/systemd/boot/efi
+ doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
+ fi
+ if use sysusers; then
+ into /
+ newbin systemd-sysusers{.standalone,}
+ doman man/{systemd-sysusers.8,sysusers.d.5}
+ fi
+ if use tmpfiles; then
+ into /
+ newbin systemd-tmpfiles{.standalone,}
+ doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+ fi
+ if use udev; then
+ into /
+ dobin udevadm systemd-hwdb
+ dosym ../../bin/udevadm /lib/systemd/systemd-udevd
+ exeinto /lib/udev
+ doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
+ insinto /lib/udev/rules.d
+ doins rules.d/*.rules
+ insinto /lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+ doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
+ newman man/systemd-udevd.service.8 systemd-udevd.8
+
+ fi
+ fi
+ if use udev; then
+ into /usr
+ dolib.so "$(readlink libudev.so.1)" libudev.so{.1,}
+ gen_usr_ldscript -a udev
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use boot; then
+ into /usr
+ dobin src/kernel-install/kernel-install
+ exeinto usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ dobashcomp shell-completion/bash/bootctl
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/{_bootctl,_kernel-install}
+ fi
+ if use tmpfiles; then
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_systemd-tmpfiles
+ fi
+ if use udev; then
+ doheader src/libudev/libudev.h
+ insinto /etc/udev
+ doins src/udev/udev.conf
+ keepdir /etc/udev/{hwdb.d,rules.d}
+ insinto /lib/systemd/network
+ doins network/99-default.link
+ insinto /lib/udev/rules.d
+ doins rules.d/*.rules
+ doins "${FILESDIR}"/40-gentoo.rules
+ insinto /lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+ dobashcomp shell-completion/bash/udevadm
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+ fi
+}
+
+add_service() {
+ local initd=$1
+ local runlevel=$2
+
+ ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
+ mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
+ ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
+ eend $?
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ add_service systemd-tmpfiles-setup-dev sysinit
+ add_service systemd-tmpfiles-setup boot
+ fi
+ if use udev; then
+ ebegin "Updating hwdb"
+ systemd-hwdb --root="${ROOT}" update
+ eend $?
+ udev_reload
+ fi
+}
diff --git a/sys-apps/systemd-utils/systemd-utils-251.3.ebuild b/sys-apps/systemd-utils/systemd-utils-251.3.ebuild
new file mode 100644
index 000000000000..357c32eb616c
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-251.3.ebuild
@@ -0,0 +1,511 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/"
+
+if [[ ${PV} == *.* ]]; then
+ MY_P="systemd-stable-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+else
+ MY_P="systemd-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+fi
+
+MUSL_PATCHSET="systemd-musl-patches-251.2"
+SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+acl boot +kmod selinux sysusers +tmpfiles test +udev"
+REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ elibc_musl? ( >=sys-libs/musl-1.2.3 )
+ selinux? ( sys-libs/libselinux:0= )
+ tmpfiles? (
+ acl? ( sys-apps/acl:0= )
+ )
+ udev? (
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ )
+ !udev? (
+ >=sys-apps/util-linux-2.30:0=
+ sys-libs/libcap:0=
+ virtual/libcrypt:=
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.11
+ boot? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+RDEPEND="${COMMON_DEPEND}
+ boot? ( !<sys-boot/systemd-boot-250 )
+ tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+ udev? (
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kmem
+ acct-group/kvm
+ acct-group/lp
+ acct-group/render
+ acct-group/sgx
+ acct-group/tape
+ acct-group/tty
+ acct-group/video
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/hwids[udev]
+ !<sys-fs/udev-250
+ !sys-fs/eudev
+ )
+ !sys-apps/systemd
+"
+PDEPEND="
+ udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/gperf
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+python_check_deps() {
+ has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+src_prepare() {
+ local PATCHES=(
+ )
+ if use elibc_musl; then
+ PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
+ fi
+ default
+
+ # Remove install_rpath; we link statically
+ local rpath_pattern="install_rpath : rootlibexecdir,"
+ grep -q -e "${rpath_pattern}" meson.build || die
+ sed -i -e "/${rpath_pattern}/d" meson.build || die
+}
+
+multilib_src_configure() {
+ # When bumping to 251, please keep this, but add the revert patch
+ # like in sys-apps/systemd!
+ #
+ # Broken with FORTIFY_SOURCE=3 without a patch. And the patch
+ # wasn't backported to 250.x, but it turns out to break Clang
+ # anyway: bug #841770.
+ #
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ local emesonargs=(
+ -Drootprefix="${EPREFIX:-/}"
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ -Dsysvinit-path=
+ $(meson_native_use_bool boot efi)
+ $(meson_native_use_bool boot gnu-efi)
+ $(meson_native_use_bool boot kernel-install)
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool sysusers)
+ $(meson_use test tests)
+ $(meson_native_use_bool tmpfiles)
+ $(meson_use udev hwdb)
+
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Link staticly with libsystemd-shared
+ -Dlink-boot-shared=false
+ -Dlink-udev-shared=false
+
+ # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
+ -Dstandalone-binaries=true
+
+ # Disable all optional features
+ -Dadm-group=false
+ -Danalyze=false
+ -Dapparmor=false
+ -Daudit=false
+ -Dbacklight=false
+ -Dbinfmt=false
+ -Dbzip2=false
+ -Dcoredump=false
+ -Ddbus=false
+ -Delfutils=false
+ -Denvironment-d=false
+ -Dfdisk=false
+ -Dgcrypt=false
+ -Dglib=false
+ -Dgshadow=false
+ -Dgnutls=false
+ -Dhibernate=false
+ -Dhostnamed=false
+ -Didn=false
+ -Dima=false
+ -Dinitrd=false
+ -Dfirstboot=false
+ -Dldconfig=false
+ -Dlibcryptsetup=false
+ -Dlibcurl=false
+ -Dlibfido2=false
+ -Dlibidn=false
+ -Dlibidn2=false
+ -Dlibiptc=false
+ -Dlocaled=false
+ -Dlogind=false
+ -Dlz4=false
+ -Dmachined=false
+ -Dmicrohttpd=false
+ -Dnetworkd=false
+ -Dnscd=false
+ -Dnss-myhostname=false
+ -Dnss-resolve=false
+ -Dnss-systemd=false
+ -Doomd=false
+ -Dopenssl=false
+ -Dp11kit=false
+ -Dpam=false
+ -Dpcre2=false
+ -Dpolkit=false
+ -Dportabled=false
+ -Dpstore=false
+ -Dpwquality=false
+ -Drandomseed=false
+ -Dresolve=false
+ -Drfkill=false
+ -Dseccomp=false
+ -Dsmack=false
+ -Dsysext=false
+ -Dtimedated=false
+ -Dtimesyncd=false
+ -Dtpm=false
+ -Dqrencode=false
+ -Dquotacheck=false
+ -Duserdb=false
+ -Dutmp=false
+ -Dvconsole=false
+ -Dwheel-group=false
+ -Dxdg-autostart=false
+ -Dxkbcommon=false
+ -Dxz=false
+ -Dzlib=false
+ -Dzstd=false
+ )
+
+ if use tmpfiles || use udev; then
+ emesonargs+=( $(meson_native_use_bool acl) )
+ else
+ emesonargs+=( -Dacl=false )
+ fi
+
+ if use udev; then
+ emesonargs+=( $(meson_native_use_bool kmod) )
+ else
+ emesonargs+=( -Dkmod=false )
+ fi
+
+ if use elibc_musl; then
+ # Avoid redefinition of struct ethhdr.
+ append-cppflags -D__UAPI_DEF_ETHHDR=0
+ fi
+
+ if multilib_is_native_abi || use udev; then
+ meson_src_configure
+ fi
+}
+
+efi_arch() {
+ case "$(tc-arch)" in
+ amd64) echo x64 ;;
+ arm) echo arm ;;
+ arm64) echo aa64 ;;
+ x86) echo x86 ;;
+ esac
+}
+
+multilib_src_compile() {
+ local targets=()
+ if multilib_is_native_abi; then
+ if use boot; then
+ targets+=(
+ bootctl
+ kernel-install
+ man/bootctl.1
+ man/kernel-install.8
+ src/boot/efi/linux$(efi_arch).{efi,elf}.stub
+ src/boot/efi/systemd-boot$(efi_arch).efi
+ )
+ fi
+ if use sysusers; then
+ targets+=(
+ systemd-sysusers.standalone
+ man/sysusers.d.5
+ man/systemd-sysusers.8
+ )
+ if use test; then
+ targets+=(
+ systemd-runtest.env
+ )
+ fi
+ fi
+ if use tmpfiles; then
+ targets+=(
+ systemd-tmpfiles.standalone
+ man/tmpfiles.d.5
+ man/systemd-tmpfiles.8
+ )
+ if use test; then
+ targets+=( test-tmpfiles )
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udevadm
+ systemd-hwdb
+ src/udev/ata_id
+ src/udev/cdrom_id
+ src/udev/fido_id
+ src/udev/mtd_probe
+ src/udev/scsi_id
+ src/udev/udev.pc
+ src/udev/v4l_id
+ man/udev.conf.5
+ man/systemd.link.5
+ man/hwdb.7
+ man/udev.7
+ man/systemd-hwdb.8
+ man/systemd-udevd.service.8
+ man/udevadm.8
+ hwdb.d/60-autosuspend-chromiumos.hwdb
+ rules.d/50-udev-default.rules
+ rules.d/64-btrfs.rules
+ )
+ if use test; then
+ targets+=(
+ # Used by udev-test.pl
+ systemd-detect-virt
+ test/sys
+ test-udev
+
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ fi
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udev:shared_library
+ src/libudev/libudev.pc
+ )
+ if use test; then
+ targets+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ fi
+ if multilib_is_native_abi || use udev; then
+ meson_src_compile "${targets[@]}"
+ fi
+}
+
+multilib_src_test() {
+ local tests=()
+ if multilib_is_native_abi; then
+ if use sysusers; then
+ tests+=(
+ test-sysusers.standalone
+ )
+ fi
+ if use tmpfiles; then
+ tests+=(
+ test-systemd-tmpfiles.standalone
+ test-tmpfiles
+ )
+ fi
+ if use udev; then
+ tests+=(
+ rule-syntax-check
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ if [[ -w /dev ]]; then
+ tests+=( udev-test )
+ else
+ ewarn "Skipping udev-test (needs write access to /dev)"
+ fi
+ fi
+ fi
+ if use udev; then
+ tests+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ if [[ ${#tests[@]} -ne 0 ]]; then
+ meson_src_test "${tests[@]}"
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use boot; then
+ into /usr
+ dobin bootctl kernel-install
+ doman man/{bootctl.1,kernel-install.8}
+ insinto usr/lib/systemd/boot/efi
+ doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
+ fi
+ if use sysusers; then
+ into /
+ newbin systemd-sysusers{.standalone,}
+ doman man/{systemd-sysusers.8,sysusers.d.5}
+ fi
+ if use tmpfiles; then
+ into /
+ newbin systemd-tmpfiles{.standalone,}
+ doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+ fi
+ if use udev; then
+ into /
+ dobin udevadm systemd-hwdb
+ dosym ../../bin/udevadm /lib/systemd/systemd-udevd
+
+ exeinto /lib/udev
+ doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
+
+ insinto /lib/udev/rules.d
+ doins rules.d/*.rules
+
+ insinto /lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+
+ doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
+ newman man/systemd-udevd.service.8 systemd-udevd.8
+ fi
+ fi
+ if use udev; then
+ meson_install --no-rebuild --tags libudev
+ gen_usr_ldscript -a udev
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use boot; then
+ into /usr
+ exeinto usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ dobashcomp shell-completion/bash/bootctl
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/{_bootctl,_kernel-install}
+ fi
+ if use tmpfiles; then
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_systemd-tmpfiles
+ fi
+ if use udev; then
+ doheader src/libudev/libudev.h
+
+ insinto /etc/udev
+ doins src/udev/udev.conf
+ keepdir /etc/udev/{hwdb.d,rules.d}
+
+ insinto /lib/systemd/network
+ doins network/99-default.link
+
+ # Remove to avoid conflict with elogind
+ # https://bugs.gentoo.org/856433
+ rm rules.d/70-power-switch.rules || die
+ insinto /lib/udev/rules.d
+ doins rules.d/*.rules
+ doins "${FILESDIR}"/40-gentoo.rules
+
+ insinto /lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+ fi
+}
+
+add_service() {
+ local initd=$1
+ local runlevel=$2
+
+ ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
+ mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
+ ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
+ eend $?
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ add_service systemd-tmpfiles-setup-dev sysinit
+ add_service systemd-tmpfiles-setup boot
+ fi
+ if use udev; then
+ ebegin "Updating hwdb"
+ systemd-hwdb --root="${ROOT}" update
+ eend $?
+ udev_reload
+ fi
+}
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 6b0948a6a5c4..c674c0624824 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -10,7 +10,9 @@ AUX org.freedesktop.hostname1_no_polkit.conf 471 BLAKE2B 50d9f86b2c4813a90eac8a3
AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
DIST systemd-stable-250.7.tar.gz 11214975 BLAKE2B 5d94b4b1f8b0cd6e8284a89ac0d4bd373eccdad2c3d6e6c453df79c8df47ee0f9cfbde764b72b1f9d172d07e2d9f1f1f41c1ab254cf4abd0722469ebc3ad7cf8 SHA512 99bc6f0c9757b280cb694f3fb4d6fe04d5ce55583eb2bae5ddeb324bb5ee9930c1720fcc27293d90cddba188473653ec541a471ae8115710a5850c26d0ba215d
DIST systemd-stable-251.2.tar.gz 11434645 BLAKE2B a7e118649a7d27b789206ea9f6f2d0314e44561367506ee763a9e98fb97579b3fc49c7a402c8da142945dc98444558f0e311557f52c50863cebc7532c17c651f SHA512 0c4011b685a1e8d535af123cbaf79ab53d59ea665ca5350ab1077ad4e962b49c1fd5b1b5bb3f28c3e28145dfd02aa83023f78de5edec15afe84e3e06e742a67c
+DIST systemd-stable-251.3.tar.gz 11435458 BLAKE2B 544238536848ab390b2476d5ad95d33998674be50020b8db0627bb9d0c86be6576c404ce786b01ceec86f1c75b174c6fc2d7e0d7fbab802a78f48c9d0915c2b8 SHA512 fb5b8dc1742562ef95469e90d406cfb6dfcb337860ad1208b460414b88ff0565071bde797d195faa62761206abc881829de6b1009e5d727cad2dfe0764310d5f
EBUILD systemd-250.7.ebuild 16382 BLAKE2B 465a4e903c31401e7f0d8804dde61cca9df52176719f71f3f7b6997620ce01e6720bcf9a6505cd3cfe0cf399f6f215c4851a39683e04b1e47f6e4f500fe85018 SHA512 601674acd39e5b6135bf7c0a3495978e54254f590cefc1882f978830829e29d2ed848a3c9749477a7331e3c68eb59beb74e61dd1cbb89ada91b072bbb366325d
-EBUILD systemd-251.2.ebuild 15631 BLAKE2B 8786c7c8ec96c36e23c55c961e372efa58cc45f7ff1e1fcea0d9a29edae766992eb451e4b06aec9b917a327524aa6c620333a9a641a8336f1197dadde4b338b8 SHA512 4a36daf5580c83dde46e7b6d7a8bca085ec4d3bed6a8534632f119a9a6c834dbed5f6f8669d5a6551079cabd393389e3432f37d56b19df921f851403de9b6250
+EBUILD systemd-251.2.ebuild 15630 BLAKE2B e107322c07f313e0ec5bffaaace81074c71ad7d8ec33d71382ba9726552b0ebd587b4cd8b3b52093deb38e3d11b115eb41854cc76a43e9794e08eef0d724a30a SHA512 1b9cd6a6dd45185f40272a29a06bcd8eee8de4a0d9a2469aaf487d3bf476dee439170ee089bedce41abbe83bf98bc7f9ed752dcda441eff13bf60c41e2caf005
+EBUILD systemd-251.3.ebuild 15598 BLAKE2B 74279a36d028eda0f23fd9c00f576ca295a26841a91162e7f5e27152d622970e66ca81025d76e281ae1e5d7f870aff19df8e1cec4256433a059511185b026c17 SHA512 86b01c5359c4fa70805b87eda6312d6fe8cea762d7f2ada563b6ab5893a0ec556c007423915ddd800aa1a1cf144250071d7335168cec8156aa05d59f5ec7e56a
EBUILD systemd-9999.ebuild 15462 BLAKE2B 1208bd9c96e23d479a545385db048e9f9aac405a5b011fe8de6af40e190ad4e855d69136bab6874d0e152baf5e22b2e03cd6ceb31a0d654c6cc1b7690a625d05 SHA512 1360af2b5fb12c687a773a572fa8a31f03efa7dc949ffae1ceb0f24c10b9e9f7792816f5e2362e9d82b315a6280c5bcddfff2514e33fbc0ffcfff1e0547fee22
MISC metadata.xml 2693 BLAKE2B 20bad229300b6a8df613533c9a66f75364cfc1eccf046999c8fa5646737afeb9b1c048b9954f0f81597b78d51db3a5f5de3416ec46bb997eaced90efb6c3388f SHA512 de6869537d64417c78a41650137cb16e7bc39585fe464befdbc6efca57edfb72bb597d30fd5df1af611390d21114ef80b2c9cafa80fe85da1c563133f1fb8d68
diff --git a/sys-apps/systemd/systemd-251.2.ebuild b/sys-apps/systemd/systemd-251.2.ebuild
index cc93232b38b9..ec03de9fc1b8 100644
--- a/sys-apps/systemd/systemd-251.2.ebuild
+++ b/sys-apps/systemd/systemd-251.2.ebuild
@@ -23,7 +23,7 @@ else
MY_P=${MY_PN}-${MY_PV}
S=${WORKDIR}/${MY_P}
SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
diff --git a/sys-apps/systemd/systemd-251.3.ebuild b/sys-apps/systemd/systemd-251.3.ebuild
new file mode 100644
index 000000000000..f296bf73bc4e
--- /dev/null
+++ b/sys-apps/systemd/systemd-251.3.ebuild
@@ -0,0 +1,535 @@
+# Copyright 2011-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{8..11} )
+
+# Avoid QA warnings
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/systemd/systemd.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *.* ]]; then
+ MY_PN=systemd-stable
+ else
+ MY_PN=systemd
+ fi
+ MY_PV=${PV/_/-}
+ MY_P=${MY_PN}-${MY_PV}
+ S=${WORKDIR}/${MY_P}
+ SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="System and service manager for Linux"
+HOMEPAGE="http://systemd.io/"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0/2"
+IUSE="
+ acl apparmor audit build cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
+ fido2 +gcrypt gnuefi gnutls homed http idn importd iptables +kmod
+ +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
+ +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd
+"
+REQUIRED_USE="
+ dns-over-tls? ( || ( gnutls openssl ) )
+ homed? ( cryptsetup pam openssl )
+ importd? ( curl lzma || ( gcrypt openssl ) )
+ pwquality? ( homed )
+"
+RESTRICT="!test? ( test )"
+
+MINKV="4.15"
+
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ apparmor? ( sys-libs/libapparmor:0= )
+ audit? ( >=sys-process/audit-2:0= )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
+ curl? ( net-misc/curl:0= )
+ elfutils? ( >=dev-libs/elfutils-0.158:0= )
+ fido2? ( dev-libs/libfido2:0= )
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
+ gnutls? ( >=net-libs/gnutls-3.6.0:0= )
+ http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] )
+ idn? ( net-dns/libidn2:= )
+ importd? (
+ app-arch/bzip2:0=
+ sys-libs/zlib:0=
+ )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
+ iptables? ( net-firewall/iptables:0= )
+ openssl? ( >=dev-libs/openssl-1.1.0:0= )
+ pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] )
+ pkcs11? ( app-crypt/p11-kit:0= )
+ pcre? ( dev-libs/libpcre2 )
+ pwquality? ( dev-libs/libpwquality:0= )
+ qrcode? ( media-gfx/qrencode:0= )
+ seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
+ selinux? ( sys-libs/libselinux:0= )
+ tpm? ( app-crypt/tpm2-tss:0= )
+ xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
+ zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
+"
+
+# Newer linux-headers needed by ia64, bug #480218
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-${MINKV}
+ gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+
+# baselayout-2.2 has /run
+RDEPEND="${COMMON_DEPEND}
+ >=acct-group/adm-0-r1
+ >=acct-group/wheel-0-r1
+ >=acct-group/kmem-0-r1
+ >=acct-group/tty-0-r1
+ >=acct-group/utmp-0-r1
+ >=acct-group/audio-0-r1
+ >=acct-group/cdrom-0-r1
+ >=acct-group/dialout-0-r1
+ >=acct-group/disk-0-r1
+ >=acct-group/input-0-r1
+ >=acct-group/kvm-0-r1
+ >=acct-group/lp-0-r1
+ >=acct-group/render-0-r1
+ acct-group/sgx
+ >=acct-group/tape-0-r1
+ acct-group/users
+ >=acct-group/video-0-r1
+ >=acct-group/systemd-journal-0-r1
+ >=acct-user/root-0-r1
+ acct-user/nobody
+ >=acct-user/systemd-journal-remote-0-r1
+ >=acct-user/systemd-coredump-0-r1
+ >=acct-user/systemd-network-0-r1
+ acct-user/systemd-oom
+ >=acct-user/systemd-resolve-0-r1
+ >=acct-user/systemd-timesync-0-r1
+ >=sys-apps/baselayout-2.2
+ selinux? (
+ sec-policy/selinux-base-policy[systemd]
+ sec-policy/selinux-ntp
+ )
+ sysv-utils? (
+ !sys-apps/openrc[sysv-utils(-)]
+ !sys-apps/sysvinit
+ )
+ !sysv-utils? ( sys-apps/sysvinit )
+ resolvconf? ( !net-dns/openresolv )
+ !build? ( || (
+ sys-apps/util-linux[kill(-)]
+ sys-process/procps[kill(+)]
+ sys-apps/coreutils[kill(-)]
+ ) )
+ !sys-apps/hwids[udev]
+ !sys-auth/nss-myhostname
+ !sys-fs/eudev
+ !sys-fs/udev
+"
+
+# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
+PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
+ >=sys-fs/udev-init-scripts-34
+ policykit? ( sys-auth/polkit )
+ !vanilla? ( sys-apps/gentoo-systemd-integration )"
+
+BDEPEND="
+ app-arch/xz-utils:0
+ dev-util/gperf
+ >=dev-util/meson-0.46
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ app-text/tree
+ dev-lang/perl
+ sys-apps/dbus
+ )
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ if use test && has pid-sandbox ${FEATURES}; then
+ ewarn "Tests are known to fail with PID sandboxing enabled."
+ ewarn "See https://bugs.gentoo.org/674458."
+ fi
+
+ local CONFIG_CHECK=" ~BINFMT_MISC ~BLK_DEV_BSG ~CGROUPS
+ ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
+ ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
+ ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS
+ ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
+ ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
+ ~!SYSFS_DEPRECATED_V2"
+
+ use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
+ use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
+
+ if kernel_is -ge 5 10 20; then
+ CONFIG_CHECK+=" ~KCMP"
+ else
+ CONFIG_CHECK+=" ~CHECKPOINT_RESTORE"
+ fi
+
+ if kernel_is -ge 4 18; then
+ CONFIG_CHECK+=" ~AUTOFS_FS"
+ else
+ CONFIG_CHECK+=" ~AUTOFS4_FS"
+ fi
+
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ if linux_chkconfig_present X86; then
+ CONFIG_CHECK+=" ~DMIID"
+ fi
+ fi
+
+ if kernel_is -lt ${MINKV//./ }; then
+ ewarn "Kernel version at least ${MINKV} required"
+ fi
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_unpack() {
+ default
+ [[ ${PV} != 9999 ]] || git-r3_src_unpack
+}
+
+src_prepare() {
+ # Do NOT add patches here
+ local PATCHES=()
+
+ [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
+
+ # Add local patches here
+ PATCHES+=(
+ # Breaks Clang. Revert the commit for now and force off F_S=3.
+ # bug #841770.
+ "${FILESDIR}/251-revert-fortify-source-3-fix.patch"
+ )
+
+ if ! use vanilla; then
+ PATCHES+=(
+ "${FILESDIR}/gentoo-generator-path-r2.patch"
+ "${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch"
+ "${FILESDIR}/gentoo-journald-audit.patch"
+ )
+ fi
+
+ # Fails with split-usr.
+ sed -i -e '2i exit 77' test/test-rpm-macros.sh || die
+
+ default
+}
+
+src_configure() {
+ # Prevent conflicts with i686 cross toolchain, bug 559726
+ tc-export AR CC NM OBJCOPY RANLIB
+
+ # Broken with FORTIFY_SOURCE=3 without a patch. We have to revert
+ # the upstream patch for it because it breaks Clang: bug #841770.
+ #
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ python_setup
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}/var"
+ -Dsupport-url="https://gentoo.org/support/"
+ -Dpamlibdir="$(getpam_mod_dir)"
+ # avoid bash-completion dep
+ -Dbashcompletiondir="$(get_bashcompdir)"
+ # make sure we get /bin:/sbin in PATH
+ $(meson_use split-usr)
+ -Dsplit-bin=true
+ -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ # Avoid infinite exec recursion, bug 642724
+ -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
+ # no deps
+ -Dima=true
+ -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
+ # Optional components/dependencies
+ $(meson_native_use_bool acl)
+ $(meson_native_use_bool apparmor)
+ $(meson_native_use_bool audit)
+ $(meson_native_use_bool cryptsetup libcryptsetup)
+ $(meson_native_use_bool curl libcurl)
+ $(meson_native_use_bool dns-over-tls dns-over-tls)
+ $(meson_native_use_bool elfutils)
+ $(meson_native_use_bool fido2 libfido2)
+ $(meson_use gcrypt)
+ $(meson_native_use_bool gnuefi gnu-efi)
+ $(meson_native_use_bool gnutls)
+ -Defi-includedir="${ESYSROOT}/usr/include/efi"
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+ $(meson_native_use_bool homed)
+ $(meson_native_use_bool http microhttpd)
+ $(meson_native_use_bool idn)
+ $(meson_native_use_bool importd)
+ $(meson_native_use_bool importd bzip2)
+ $(meson_native_use_bool importd zlib)
+ $(meson_native_use_bool kmod)
+ $(meson_use lz4)
+ $(meson_use lzma xz)
+ $(meson_use zstd)
+ $(meson_native_use_bool iptables libiptc)
+ $(meson_native_use_bool openssl)
+ $(meson_use pam)
+ $(meson_native_use_bool pkcs11 p11kit)
+ $(meson_native_use_bool pcre pcre2)
+ $(meson_native_use_bool policykit polkit)
+ $(meson_native_use_bool pwquality)
+ $(meson_native_use_bool qrcode qrencode)
+ $(meson_native_use_bool seccomp)
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool tpm tpm2)
+ $(meson_native_use_bool test dbus)
+ $(meson_native_use_bool xkb xkbcommon)
+ -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+ # Breaks screen, tmux, etc.
+ -Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
+
+ # multilib options
+ $(meson_native_true backlight)
+ $(meson_native_true binfmt)
+ $(meson_native_true coredump)
+ $(meson_native_true environment-d)
+ $(meson_native_true firstboot)
+ $(meson_native_true hibernate)
+ $(meson_native_true hostnamed)
+ $(meson_native_true ldconfig)
+ $(meson_native_true localed)
+ $(meson_native_true man)
+ $(meson_native_true networkd)
+ $(meson_native_true quotacheck)
+ $(meson_native_true randomseed)
+ $(meson_native_true rfkill)
+ $(meson_native_true sysusers)
+ $(meson_native_true timedated)
+ $(meson_native_true timesyncd)
+ $(meson_native_true tmpfiles)
+ $(meson_native_true vconsole)
+ )
+
+ meson_src_configure "${myconf[@]}"
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
+ meson_src_test
+}
+
+multilib_src_install_all() {
+ local rootprefix=$(usex split-usr '' /usr)
+
+ # meson doesn't know about docdir
+ mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
+
+ einstalldocs
+ dodoc "${FILESDIR}"/nsswitch.conf
+
+ if ! use resolvconf; then
+ rm -f "${ED}${rootprefix}"/sbin/resolvconf || die
+ fi
+
+ rm "${ED}"/etc/init.d/README || die
+ rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die
+
+ if ! use sysv-utils; then
+ rm "${ED}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
+ rm "${ED}"/usr/share/man/man1/init.1 || die
+ rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
+ fi
+
+ if ! use resolvconf && ! use sysv-utils; then
+ rmdir "${ED}${rootprefix}"/sbin || die
+ fi
+
+ # https://bugs.gentoo.org/761763
+ rm -r "${ED}"/usr/lib/sysusers.d || die
+
+ # Preserve empty dirs in /etc & /var, bug #437008
+ keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
+ keepdir /etc/kernel/install.d
+ keepdir /etc/systemd/{network,system,user}
+ keepdir /etc/udev/rules.d
+
+ keepdir /etc/udev/hwdb.d
+
+ keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
+ keepdir /usr/lib/{binfmt.d,modules-load.d}
+ keepdir /usr/lib/systemd/user-generators
+ keepdir /var/lib/systemd
+ keepdir /var/log/journal
+
+ # Symlink /etc/sysctl.conf for easy migration.
+ dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
+
+ if use pam; then
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+
+ if use split-usr; then
+ # Avoid breaking boot/reboot
+ dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
+ dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
+ fi
+
+ gen_usr_ldscript -a systemd udev
+}
+
+migrate_locale() {
+ local envd_locale_def="${EROOT}/etc/env.d/02locale"
+ local envd_locale=( "${EROOT}"/etc/env.d/??locale )
+ local locale_conf="${EROOT}/etc/locale.conf"
+
+ if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
+ # If locale.conf does not exist...
+ if [[ -e ${envd_locale} ]]; then
+ # ...either copy env.d/??locale if there's one
+ ebegin "Moving ${envd_locale} to ${locale_conf}"
+ mv "${envd_locale}" "${locale_conf}"
+ eend ${?} || FAIL=1
+ else
+ # ...or create a dummy default
+ ebegin "Creating ${locale_conf}"
+ cat > "${locale_conf}" <<-EOF
+ # This file has been created by the sys-apps/systemd ebuild.
+ # See locale.conf(5) and localectl(1).
+
+ # LANG=${LANG}
+ EOF
+ eend ${?} || FAIL=1
+ fi
+ fi
+
+ if [[ ! -L ${envd_locale} ]]; then
+ # now, if env.d/??locale is not a symlink (to locale.conf)...
+ if [[ -e ${envd_locale} ]]; then
+ # ...warn the user that he has duplicate locale settings
+ ewarn
+ ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
+ ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
+ ewarn "and create the symlink with the following command:"
+ ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
+ ewarn
+ else
+ # ...or just create the symlink if there's nothing here
+ ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
+ ln -n -s ../locale.conf "${envd_locale_def}"
+ eend ${?} || FAIL=1
+ fi
+ fi
+}
+
+pkg_preinst() {
+ if ! use split-usr; then
+ local dir
+ for dir in bin sbin lib; do
+ if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then
+ eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged."
+ eerror "One of them should be a symbolic link to the other one."
+ FAIL=1
+ fi
+ done
+ if [[ ${FAIL} ]]; then
+ eerror "Migration to system layout with merged directories must be performed before"
+ eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
+ die "System layout with split directories still used"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ systemd_update_catalog
+
+ # Keep this here in case the database format changes so it gets updated
+ # when required.
+ systemd-hwdb --root="${ROOT}" update
+
+ udev_reload || FAIL=1
+
+ # Bug 465468, make sure locales are respected, and ensure consistency
+ # between OpenRC & systemd
+ migrate_locale
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if type systemctl &>/dev/null; then
+ systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1
+ fi
+ elog "To enable a useful set of services, run the following:"
+ elog " systemctl preset-all --preset-mode=enable-only"
+ fi
+
+ if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
+ rm "${EROOT}/var/lib/systemd/timesync"
+ fi
+
+ if [[ ${FAIL} ]]; then
+ eerror "One of the postinst commands failed. Please check the postinst output"
+ eerror "for errors. You may need to clean up your system and/or try installing"
+ eerror "systemd again."
+ eerror
+ fi
+}
+
+pkg_prerm() {
+ # If removing systemd completely, remove the catalog database.
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
+ fi
+}
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 97399981175f..5eca715fb8ce 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/google-drive-ocamlfuse/Manifest b/sys-fs/google-drive-ocamlfuse/Manifest
new file mode 100644
index 000000000000..b5b28f0afbeb
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/Manifest
@@ -0,0 +1,3 @@
+DIST google-drive-ocamlfuse-0.7.29.gh.tar.gz 98832 BLAKE2B 7a959047abacc65379c2da0f590c6dba613cb7708dd56a7e029409d8791d76e6a0a164eea113b21a84b07bf522879401833431482f18d97865364eaee03dcb3b SHA512 562bca2e9019a999886052eb4b7f6554706c25be69670148c1938d3b30d742b03eafb6fba430c4762ba44713e291ec3b0cddabc1baaa6491740ddd3e77655fe9
+EBUILD google-drive-ocamlfuse-0.7.29.ebuild 708 BLAKE2B 7d679289bb5c153a1074a4f006b65d347ba79596eff6a3173e880eebe1d750b0c37e22409caaa7a1b9e5d14fa0df1b6ed3bf1e6a146883edd942741f6fe3654c SHA512 bd20de3d367403c4f4ba61bd7658ec367c0c78ee9e9920613d093db84a7b360dcfab9a5ee76e6f09b84fe5d1d2ebb7c80c0064be37e83c197f038c6d64813b73
+MISC metadata.xml 538 BLAKE2B 71cc6da2a9e5e6af1db552cdfb8e6bb54c218a1a8ee9db62245905b6f76ef4388159c91b3308e5cb187f7ccd89a4b2c50308213ff8ba26226ab04e432a7fe97e SHA512 97406a4a2d227e84e02a9073f04978bf82f8da9a9f0b30ff24a8d7ec7f12e82966ae2f38117a144bacd97534e8484ad5ee79959d7d3ce258ae17185081243b73
diff --git a/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
new file mode 100644
index 000000000000..540886355a64
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune findlib
+
+DESCRIPTION="FUSE filesystem over Google Drive"
+HOMEPAGE="
+ https://github.com/astrada/google-drive-ocamlfuse
+ https://opam.ocaml.org/packages/google-drive-ocamlfuse/
+"
+SRC_URI="https://github.com/astrada/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="ocamlopt test"
+
+RDEPEND="
+ >=dev-ml/gapi-ocaml-0.4.2:=
+ >=dev-ml/ocamlfuse-2.7.1:=
+ dev-ml/cryptokit:=
+ dev-ml/extlib:=
+ dev-ml/ocaml-sqlite3:=
+ >=dev-ml/tiny_httpd-0.6:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-ml/camlidl:=
+ test? ( dev-ml/ounit2 )
+"
+
+RESTRICT="!test? ( test )"
diff --git a/sys-fs/google-drive-ocamlfuse/metadata.xml b/sys-fs/google-drive-ocamlfuse/metadata.xml
new file mode 100644
index 000000000000..e8eac55251e2
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/astrada/google-drive-ocamlfuse/issues</bugs-to>
+ <remote-id type="github">astrada/google-drive-ocamlfuse</remote-id>
+ <maintainer>
+ <name>Alessandro Strada</name>
+ <email>alessandro.strada@gmail.com</email>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest
index 363431ada764..c0ca526d10e4 100644
--- a/sys-fs/inotify-tools/Manifest
+++ b/sys-fs/inotify-tools/Manifest
@@ -2,5 +2,5 @@ AUX inotify-tools-3.22.6.0-musl.patch 827 BLAKE2B 499aa4517af0ae2eb4d59e9f9128e4
DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881
DIST inotify-tools-3.22.6.0.tar.gz 92918 BLAKE2B 601d3ac6896e445d297a04498c63df4f81c59699ba2d5b2eee2e8c499332913ce2783d13c9906d577ff0b6d7ef91ca826d48b01674adeb3d3569dfc1fbc0df63 SHA512 cda445add4b9d80b70eff9189ed50d05f4b5593a755159d0354431166c6fe6fdb33f7bf37fd50bc09aad3ed0a6e3763b9c74f65e554400f2596b8d492f1d0a21
EBUILD inotify-tools-3.20.2.2.ebuild 928 BLAKE2B 4edaa4cc87786d20501912537865ddd7d593e97c621908076c99a0f3e1e94d19edc39891b91f393dcaa6cb58fb2c0aa4cc1d1f525eb2ec0d74dd9b979b121841 SHA512 8c950cb06d35fae591f4ae6d37158fe338ed6e89e66b73058996661b54d2b43fc6c02c38a6f0e890008177f58e345c94e22ce3c2528cbe653599e86802385a57
-EBUILD inotify-tools-3.22.6.0.ebuild 883 BLAKE2B 71221ec7c5776c62961df8c49509abc34cfb1198db8f112a993f0078ae2c854e15f0425c6d964776ee8fc30a5bbd0e6037343657b4579657f0c2d0f9b203ae58 SHA512 a153890e244b083a82efca9637aada0108cab7d2e73b9e31cc214554adac8ad6afe46d57bebe91d1ff3537ed83aa849fc40e00db7b9503ca83ff897e80e3854e
+EBUILD inotify-tools-3.22.6.0.ebuild 881 BLAKE2B 189a11983d852452cc14f367ccc1ec84415e5e98358a0f3f62559d9baa60665d7424ca74c2d0b4bff65468ff92898bb6387342f3015be7bb0f995857d8186fec SHA512 46c04f360cc989de8193dc2d8b7f78594cb6ac40a7c908c8ba341810d4db7e07c0303b357b7a24f1fde42b59f4e6bc0cb81f997e8eec91cad5f2b831c27edc60
MISC metadata.xml 644 BLAKE2B faa84a2101847409fcc82427dcbcd1ac7ec4073ee044e970b3f4c65bc1c28484ab4266cdfc4dc4e3980ee1c384186e308d210d02304788d63ccc1b4f54dd5ac8 SHA512 ba77f381e79379995ff395e82c65dacfe9bc3c621d38201bea7ebaac76911aa2de5d472a486e22a5ddbf79565e8d88ea14707d8e5f4abbc7dad8bce3b1e0f05d
diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
index d994423587a6..b1b8a0281b9d 100644
--- a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
+++ b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz ->
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~hppa ~mips ~riscv sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~mips ~riscv sparc x86"
IUSE="doc"
BDEPEND="doc? ( app-doc/doxygen )"
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index cb70b50571f5..3c8615e45386 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 899344d30e3d..6bdb453d8f0a 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -10,10 +10,12 @@ AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f
AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
DIST chromium-103-patchset-4.tar.xz 7220 BLAKE2B 3dc9670be01d4bbfd24e8d305ea72e6bd911062a9a012c7548fca76ec34998b54ff31ef0118be5db9fdde3839365103cb06b29ff2ab167ad4313b4b64cba3a63 SHA512 54fb3600bb42ffcd6168f9741432879877bb5d206c11b3874249faaaff13288bffd4e7336f055c0c619efba02aa694de6abde394a6964c0ff6b33d9e3aed1691
+DIST chromium-103.0.5060.114.tar.xz 1470895580 BLAKE2B 4cdd99fe86f244097c71c30249de5045085695ea04d33f34e5f133642dadc5b5cbcba559408d8973e792387140ae7184ea4186eee84cb455de290fa5663fb7b0 SHA512 f0e3312efcfa19d05219763184e8f8b81b847fe357cc47a6569f16bcd3bffec9ed4aa19b27c8e8f227bebb13161a126c3a07ee5480f18b5280539ae419b90dbb
DIST chromium-103.0.5060.53.tar.xz 1470748636 BLAKE2B 71f4e265afbe655ec41b1f2f8d46c8196b11d86f04fff5604b00167dd13c357058e7a60e8cb0f512a6a3ee32cd52421a5ce51dc0ad4d9e92d79949b5f84a5b64 SHA512 6a312f85e4fda49fc63b1b6bc74b1d6ea5be5a9db98f22c88ab0394968399df49daf1dfab19922b69a04a5afacc16eb9aa3f8af350f4cb1d2b0824c74efcf835
DIST chromium-104-patchset-2.tar.xz 6168 BLAKE2B 57e9f2090315d2fa9baa0d285e40fd7809b35a897fba7684672d04850c2b59ea1bc11383654a8178ece2d4baa9bb2e248898d2435618b9e8a995461d6e92ac53 SHA512 f23effc604051c18acfad3bfb974efd4aa675b84135f4eb95e0dd97261dcc9099f283a8015854c375499370f4155bb9fad51fca59555ec2f41f2d7ab90be7208
DIST chromium-104.0.5112.12.tar.xz 1482002228 BLAKE2B 128b711ff49b7c1155568d00bc4d8a1aba4ff8f61043560a7e771be80f5a3af9ca20b1eaf5ae7fb1034a13a32c3bc6d41e03ee82e70aae392abce504c772936c SHA512 058fb4b1016225fd8a10f7b4693207cca5fdb7aa2d8d0563cb597fb886472ab475e69b6c5fe1e5b7188a7cef6583dd454f45b3fec07be8b4924454a0eb379ba6
DIST chromium-profiler-0.1.tar 269066240 BLAKE2B 6897387b63ff9a724b67f2e8799fe803dc75da376da809e752d19d6f5cf98bd84ac24161d07ac4a967577279e9ad5a8a46f0825332a7ee933a27693d6dc95611 SHA512 3fb6132599d28455d1b5c04d856ea7623e49b0b0b96f021c31d0952c4ba57d69d0a1cae6f0b91470a235221c89cc0d3bb38303ff02594ed0739712e6e2f8dbcc
+EBUILD chromium-103.0.5060.114.ebuild 35069 BLAKE2B 2fa186000ed3f1055dfece193609b8555e4a6e0c0e9b54600be3f6c56496665e480ac6fc1fb2eb6cacd8ca2d2faab22182e6640de21a7c90718d693bb1e30058 SHA512 19ccacc0fe6c84e476f235e3f5bca32a41716606382fa30efcbeb05b68165972a6b619b6f4f16407c6148d84436bc97c53f3d5785a4c22d0e1f70176d3f147af
EBUILD chromium-103.0.5060.53.ebuild 34972 BLAKE2B fa495fc19832487925ecd4d31cf6b0ccbf4e07933fae823899c8c434b213745e72c2977ab43559b91780ee2f44dc86d246d1bb476c7ab0995d6543329f141329 SHA512 f7c6067484fc053d6795cb32a5078b26b816eac9ab96a9740b0556f5ae269008adf311df6be09affeced991f5099fcb45f743cf29f2a46c17f7f6d91c502d9a8
-EBUILD chromium-104.0.5112.12.ebuild 37107 BLAKE2B 9d9d222b50a9dd60bec10078c0b2b6614b6e86b92cbd9eddb5ec95265fdf654a5146419cdba212aab97dc1ebf38da06bd871e41e379bf71ab315a6ce6cbc4af8 SHA512 7448c6a9ef0d2010f758ddce79a977b9097eeb293e1b33584f18a9bcbbf03df93eeba247553ba02def8d884c7c68f23d2824129ff65758af43408bcfcfbc1d8e
+EBUILD chromium-104.0.5112.12.ebuild 37204 BLAKE2B 17dc921e6e2c6cd3bbbbc4e1ca379efa060739efb3bd949a4be25fd0809a8f9fdd894db61cb33aeafe01f2ef45103df81ed25e9e8f3552dcc3911d31ff05f7bf SHA512 b095801f0a9d09beae7b0879a8c538bf796cbf7ede5c4c44f3a66236e6db8f65a6567ad8cb2d27341eeb5ee7a0a2b43786a292a7f5cb30af065d7923fbc86008
MISC metadata.xml 2160 BLAKE2B 6ba2745b6d55ceda8ba586615cdf41afbfabe18ed828581332ad8f691632b8e67b364ff8edd5cc42331fcb257a4d8a370de9ad5a7f49d2f5b2f43dffceb294a0 SHA512 2858b94efa5b3b8d68deccbc9dc32e732756e4f5356297e22cb6fec16a9b7437acd3d351b5c89074b47d23b16ccc194a0a45631797a2df8a8fbed5b8051478ab
diff --git a/www-client/chromium/chromium-103.0.5060.114.ebuild b/www-client/chromium/chromium-103.0.5060.114.ebuild
new file mode 100644
index 000000000000..58b0d8ab6743
--- /dev/null
+++ b/www-client/chromium/chromium-103.0.5060.114.ebuild
@@ -0,0 +1,1114 @@
+# Copyright 2009-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="xml"
+LLVM_MAX_SLOT=14
+
+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"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://chromium.org/"
+PATCHSET="4"
+PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx lto +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
+REQUIRED_USE="
+ component-build? ( !suid !libcxx )
+ screencast? ( wayland )
+ !headless ( || ( X wayland ) )
+"
+
+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-71.1:= )
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ !libcxx? ( >=dev-libs/re2-0.2019.08.01:= )
+ 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] )
+ >=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-sound/pulseaudio:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=x11-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ system-ffmpeg? (
+ >=media-video/ffmpeg-4.3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-atk-2.26:2
+ >=app-accessibility/at-spi2-core-2.26:2
+ >=dev-libs/atk-2.26
+ 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:=
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ x11-misc/xdg-utils
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+"
+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*"
+}
+
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -gt 1 ]]; then
+ echo "|| ("
+ for _v in "$@"; do
+ echo "("
+ depend_clang_llvm_version "${_v}"
+ echo ")"
+ done
+ echo ")"
+ elif [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+}
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ libcxx? ( >=sys-devel/clang-12 )
+ lto? ( $(depend_clang_llvm_versions 12 13 14) )
+ dev-lang/perl
+ >=dev-util/gn-0.1807
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ js-type-check? ( virtual/jre )
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+=" >=sys-devel/clang-12"
+fi
+
+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() {
+ has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto
+}
+
+llvm_check_deps() {
+ if needs_clang; then
+ 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 lto && ! 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
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+pre_build_checks() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use lto && llvm_pkg_setup
+
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
+ die "At least gcc 9.2 is required"
+ fi
+ if needs_clang || tc-is-clang; then
+ tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++
+ CPP+=" -E"
+ if ! ver_test "$(clang-major-version)" -ge 12; then
+ die "At least clang 12 is required"
+ fi
+ fi
+ if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then
+ "${BROOT}"/usr/bin/java -version 2>1 > /dev/null || die "Java VM not setup correctly"
+ fi
+ fi
+
+ # Check build requirements, bug #541816 and bug #471810 .
+ CHECKREQS_MEMORY="4G"
+ CHECKREQS_DISK_BUILD="10G"
+ tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G"
+ if use lto; then
+ CHECKREQS_MEMORY="9G"
+ CHECKREQS_DISK_BUILD="12G"
+ tc-is-cross-compiler && CHECKREQS_DISK_BUILD="15G"
+ fi
+ if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
+ if use custom-cflags || use component-build; then
+ CHECKREQS_DISK_BUILD="25G"
+ fi
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ pre_build_checks
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
+ done
+ fi
+}
+
+pkg_setup() {
+ pre_build_checks
+
+ chromium_suid_sandbox_check_kernel_config
+
+ # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
+ if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
+ ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
+ ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${WORKDIR}/patches"
+ "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-98-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-98-gtk4-build.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-shim_headers.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ )
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || 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/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ 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/base
+ third_party/angle/src/common/third_party/smhasher
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/trace_event
+ third_party/angle/src/third_party/volk
+ third_party/apple_apsl
+ third_party/axe-core
+ 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/cpuinfo
+ 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/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/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-html
+ 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/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ 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/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/highway
+ third_party/libgifcodec
+ third_party/liburlpattern
+ third_party/libzip
+ 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/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libjxl
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ 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/llvm
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ 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/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/mozilla
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg20
+ third_party/pdfium/third_party/libpng16
+ third_party/pdfium/third_party/libtiff
+ third_party/pdfium/third_party/skia_shared
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/protobuf/third_party/six
+ third_party/pthreadpool
+ third_party/pyjson5
+ third_party/qcms
+ third_party/rnnoise
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/skcms
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/skcms
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ 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/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/web-animations-js
+ 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/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ base/third_party/libevent
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+ if use libcxx; then
+ keeplibs+=( third_party/re2 )
+ fi
+ if use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng/utils )
+ else
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+ if use wayland && ! use headless ; then
+ keeplibs+=( third_party/wayland )
+ fi
+ 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
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+ 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
+
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ if use js-type-check; then
+ ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
+ fi
+
+ # 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
+}
+
+src_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ if use lto; then
+ myconf_gn+=" use_lld=true"
+ else
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ # Define a custom toolchain for GN
+ 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
+
+ # 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=$(usex component-build true 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-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ # re2 library interface relies on std::string and std::vector
+ if ! use libcxx; then
+ gn_system_libraries+=( re2 )
+ 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)"
+
+ # Disable deprecated libgnome-keyring dependency, bug #713012
+ myconf_gn+=" use_gnome_keyring=false"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
+ 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
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false"
+ myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
+
+ # 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"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # 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 .
+ if ! use component-build || use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+
+ # This is normally defined by compiler_cpu_abi in
+ # build/config/compiler/BUILD.gn, but we patch that part out.
+ append-flags -msse2 -mfpmath=sse -mmmx
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ 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
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ #if ! use system-ffmpeg; then
+ if false; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ 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
+ fi
+
+ # Disable opaque pointers, https://crbug.com/1316298
+ if tc-is-clang; then
+ if test-flag-CXX -Xclang -no-opaque-pointers; then
+ append-flags -Xclang -no-opaque-pointers
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Xclang -no-opaque-pointers"
+ export BUILD_CFLAGS+=" -Xclang -no-opaque-pointers"
+ fi
+ fi
+ 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
+
+ # 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"
+ 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"
+ 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\")"
+ 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
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto 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
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Disable PGO, because profile data is only compatible with >=clang-11
+ myconf_gn+=" chrome_pgo_phase=0"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ fi
+
+ einfo "Configuring Chromium..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_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=
+
+ #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
+
+ # Build mksnapshot and pax-mark it.
+ 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
+
+ # 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
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ mv out/Release/chromedriver{.unstripped,} || 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
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ 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
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ 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
+ fi
+}
diff --git a/www-client/chromium/chromium-104.0.5112.12.ebuild b/www-client/chromium/chromium-104.0.5112.12.ebuild
index 2e826d7e3f0a..95ec2a48b847 100644
--- a/www-client/chromium/chromium-104.0.5112.12.ebuild
+++ b/www-client/chromium/chromium-104.0.5112.12.ebuild
@@ -240,7 +240,7 @@ llvm_check_deps() {
pre_build_checks() {
if [[ ${MERGE_TYPE} != binary ]]; then
- ( use lto || use pgo ) && llvm_pkg_setup
+ [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && ( use lto || use pgo ) && llvm_pkg_setup
local -x CPP="$(tc-getCXX) -E"
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
@@ -256,7 +256,7 @@ pre_build_checks() {
die "At least clang 12 is required"
fi
fi
- if use js-type-check; then
+ if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then
"${EPREFIX}"/usr/bin/java -version 2>1 > /dev/null || die "Java VM not setup correctly"
fi
fi
@@ -279,7 +279,7 @@ pre_build_checks() {
CHECKREQS_MEMORY="16G"
fi
fi
- check-reqs_pkg_setup
+ check-reqs_${EBUILD_PHASE_FUNC}
}
pkg_pretend() {
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index 34bcf506ed7e..79b802468473 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_103.0.5060.53-1_amd64.deb 85782692 BLAKE2B 3d7d4980ea0e3f512c494291e9ee30ce02a90737d08c1277fb19a82d2fa290a45a412775bbf3da6a0526a6da7ef11aefb29ded594d27395ffcf10721e47d4405 SHA512 9339ad8f5e1e82a0338bd060982fb47b3fed3c8b62b2eac16d53c3e51be9d831513adb042f5ed12dbe66f04f5a0e4cf44c48e54b9f55f9cc66a3d6e6d1ac9e66
-EBUILD google-chrome-beta-103.0.5060.53.ebuild 2761 BLAKE2B 0c68c9fa06f1076a6c8830d09678ae60d1f3f8fe433f3a39d5ab4c095d6bd3cdd0dec71936db31b3b0d44c5276587b5299122a38e2e43961e5b6aff52fea9940 SHA512 657593a1bc0d7f3ad5225c2372e3f3587a7d34ce7c4933030de7b1c240188968f4fbdb5921437b759d052109f0c6db8f473578b0be9d374af0a22249dafbeb19
+DIST google-chrome-beta_104.0.5112.48-1_amd64.deb 89939920 BLAKE2B ac0e5bfc3291313a109e03db3f36969045a09ded667c547c742cd9a3ada1c7a42165c7f7eb8d136d9720761968a4ae61fae1573ffd689231f37c53086e5ed203 SHA512 c05ccea22b28f418354b4357ea1edb4c94fbdfb52b50c3719de770b9e66b08c4c55c6d6691c8122160bfe2c6fe35fce9965f677ce826fa34822e958fcca03812
+EBUILD google-chrome-beta-104.0.5112.48.ebuild 2761 BLAKE2B 0c68c9fa06f1076a6c8830d09678ae60d1f3f8fe433f3a39d5ab4c095d6bd3cdd0dec71936db31b3b0d44c5276587b5299122a38e2e43961e5b6aff52fea9940 SHA512 657593a1bc0d7f3ad5225c2372e3f3587a7d34ce7c4933030de7b1c240188968f4fbdb5921437b759d052109f0c6db8f473578b0be9d374af0a22249dafbeb19
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-103.0.5060.53.ebuild b/www-client/google-chrome-beta/google-chrome-beta-104.0.5112.48.ebuild
index e2d9ee01fea3..e2d9ee01fea3 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-103.0.5060.53.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-104.0.5112.48.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index bd8b5974820d..890a8a6abc9c 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_104.0.5112.12-1_amd64.deb 89905068 BLAKE2B 14c75219113c2a1ffd710dee16bc582a42591c31d06685fad6be491f75a72daa3facfb6f72726219b3ed532f9431e35962a7c79723c6a679406d28de259f5a03 SHA512 22fabe2dd0cdb690382616a5e4a1ff9ae0951b09b1981639cefd0542f7b86f261f3c07f82e99e9a3439f8b120265078b8ad8801664154b5216fa73cbf0a743b5
-EBUILD google-chrome-unstable-104.0.5112.12.ebuild 2761 BLAKE2B 0c68c9fa06f1076a6c8830d09678ae60d1f3f8fe433f3a39d5ab4c095d6bd3cdd0dec71936db31b3b0d44c5276587b5299122a38e2e43961e5b6aff52fea9940 SHA512 657593a1bc0d7f3ad5225c2372e3f3587a7d34ce7c4933030de7b1c240188968f4fbdb5921437b759d052109f0c6db8f473578b0be9d374af0a22249dafbeb19
+DIST google-chrome-unstable_105.0.5176.3-1_amd64.deb 90277740 BLAKE2B 03093be18477358f18efd5c30cfbfda4176730887db720f01ef14465b19d5f245465d7f2715b0032e0ec70070b76b67142cecf473567f1f2ab40c55b905a0d9d SHA512 93f1d0140683e620eea4b079a75678e4b45cdc8ab1122368e08fa7216b7a49b062d54a704344630fff0309b6e93040fc365e027dc8501d10da93214019a8ed80
+EBUILD google-chrome-unstable-105.0.5176.3.ebuild 2761 BLAKE2B 0c68c9fa06f1076a6c8830d09678ae60d1f3f8fe433f3a39d5ab4c095d6bd3cdd0dec71936db31b3b0d44c5276587b5299122a38e2e43961e5b6aff52fea9940 SHA512 657593a1bc0d7f3ad5225c2372e3f3587a7d34ce7c4933030de7b1c240188968f4fbdb5921437b759d052109f0c6db8f473578b0be9d374af0a22249dafbeb19
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-104.0.5112.12.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-105.0.5176.3.ebuild
index e2d9ee01fea3..e2d9ee01fea3 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-104.0.5112.12.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-105.0.5176.3.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 02cacab9bec8..ea7e18533be6 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_103.0.5060.53-1_amd64.deb 85757216 BLAKE2B 91215d7b396e84acd01ceb685151a658cab3c71654bfd355c1fef695cd0830a65eb1c3b9f365b1a5847249732f1a2728c05e816b54f6c815494ed46fb01dee52 SHA512 36f4e79f46cb71c1431dccf1489f5f8e89d35204a717a4618c7f6f638123ddc2b37bd5cbd00498be8f84c7713149f2faa447cb6da3518be1cb9703e99d110e1a
-EBUILD google-chrome-103.0.5060.53.ebuild 2760 BLAKE2B 42c5c3a7dab81c7c6175ee92aa150cdd87eabd416e4bb878cdcc680ba8a0cecff77c9e467761d4abc853c5e0a9b4918a91bb678209f3b49cfc322b1c526b8fc5 SHA512 fb268f31fc93488c59beb7430456a7c90a18cc3b5dfa772582d6e8ae2d8c0973611759aaaa141c63ddb2c16b5902dbfc9234c3e4942ea4e927db4ff034f98b73
+DIST google-chrome-stable_103.0.5060.114-1_amd64.deb 85835696 BLAKE2B df07c0d4d94dcd3e079e7899b8b104388972b9e51b6d6dbe465b627eb6d103bfe085bb8704ba9f8ad19d0b0b16233791d1a0d0877399634e8e048d9beb18dfdc SHA512 1ff404b4748736f74ac2ea291964710bcbb5d1d683a8203c555766e4f67f01a8c2c7a6b615f1947718dd6535b8561dcb256ff31f305082c60b5445073ee2bcc8
+EBUILD google-chrome-103.0.5060.114.ebuild 2778 BLAKE2B afa8da25aef23a8d2ef84d2745da8388b401361589145e63b386907f3dd50ee145ca21f2d90d5a8898e15929d4ee9f037d3f53cf15029bd45e8b7e4c54df5eea SHA512 20c7383df6b0d7fb8ec183e9edcef23edb7ce6e854300c8c3806a89e99e3e00b005d9e87ac796b3b90fb3331355789a901de7abf1c6806770a0d9da7a718154c
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-103.0.5060.53.ebuild b/www-client/google-chrome/google-chrome-103.0.5060.114.ebuild
index 3af8d9e0922d..fd4d8c87bedb 100644
--- a/www-client/google-chrome/google-chrome-103.0.5060.53.ebuild
+++ b/www-client/google-chrome/google-chrome-103.0.5060.114.ebuild
@@ -38,6 +38,7 @@ RDEPEND="
dev-libs/glib:2
dev-libs/nspr
>=dev-libs/nss-3.26
+ dev-libs/wayland
media-fonts/liberation-fonts
media-libs/alsa-lib
media-libs/mesa[gbm(+)]
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 5598093a8258..15277c5f64b9 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_103.0.1264.21-1_amd64.deb 120782498 BLAKE2B 652c305d90080b203f0912ad9fa501f6f6190b9254e5df87b2a143f96d37aaefd72b9fc46f92263aebbaf42339d6ca955b20f85b11ebf1a957e36b5253468506 SHA512 0e5705b88fc56da9fa1de68aa133b431e0ea3537414e14ad3c6820e40551a2e8bf57af760430d3eda1a6a454224afe617204f7f6c60d55cbbfa89dcce04d9c6c
-DIST microsoft-edge-beta_103.0.1264.32-1_amd64.deb 120853460 BLAKE2B 6d86bfd2823ddf48bc8b1965d965f2310cd223554e17d83e89c2fa5d80230c96176451729c869bbfb392c67a9de9129bda46caf25ce7b710fb4cad2424bc92e7 SHA512 eba045cfa96bb17a27711e1e5c6d3bc958f543f0f6e8e98b073d975bc789e0697dd3623141a67312efb4e57be7dcfd6163b3ec23e6bbca0ea861302e55305286
-DIST microsoft-edge-beta_103.0.1264.37-1_amd64.deb 120948132 BLAKE2B d4b3fb2b363847bd7f873d6a78e9f7b1282ec899d87cf791a5fc47e8ec58f9290d5393c12610aa860bdba709e88b8d316176040d2e849164e326ad6b6caab07e SHA512 f3e45a835bb2c386adcb6aac5eaa968a1307830f7f455167bd929d40f9ce669f526c6461af5bb013fb5caf5682832a529c9917447b8f9475bff9ce860029e97d
-EBUILD microsoft-edge-beta-103.0.1264.21.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
-EBUILD microsoft-edge-beta-103.0.1264.32.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
-EBUILD microsoft-edge-beta-103.0.1264.37.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+DIST microsoft-edge-beta_103.0.1264.45-1_amd64.deb 120898472 BLAKE2B fab48440b4f0aac469ba7917273d84b372c047800c53dcad00f80adbf1e0cc785f678c11fe53b2f786ffef4495b1969e799a5b244e36a172052bae4d220e8e70 SHA512 a715fd6b6da641380e5d8e6e01650c8cd05788c99ffe3cd2918afc8b33ca815e0791700ec12fb8fdeec141725452c93b408a33accb5ef88b2eda089ad505c284
+DIST microsoft-edge-beta_104.0.1293.14-1_amd64.deb 130810540 BLAKE2B 9adf3b414f621cfce2a335cc69bb4d2f3d8bbe0b5f0db384c8dba41ecfba933b56f7553ccdddb9d1df77d5d89877f005e36234a48988b3c3468de2bd909eea01 SHA512 a6e57c7a648607ff3fc942875795a069c89bf72c677ed610f0202978f3d77a920a10223cd9cb54e180bada259b07a117e93e37dc65d0e21c4729f569fc40e825
+DIST microsoft-edge-beta_104.0.1293.21-1_amd64.deb 130937280 BLAKE2B b267d8dea8c7acb4d543f4a5e3bf85b945e06e5246df6c3bf8d7c5df301a8bf1b299cef2f3dc791749af2e61db4357210e3d2a84cead6ebd7c5bc2aaca7a3ab3 SHA512 0bdf06efb473d38b3b2cdebef2bf9b2746df1d7fb50a34655c6cdf8b4a35bfb9a1429a73f274ad0613037132b7a8ef11742647642632fb1aed2a351826e42a7f
+EBUILD microsoft-edge-beta-103.0.1264.45.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+EBUILD microsoft-edge-beta-104.0.1293.14.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+EBUILD microsoft-edge-beta-104.0.1293.21.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.21.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.45.ebuild
index a8cc7e730ebf..a8cc7e730ebf 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.21.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.45.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.32.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.14.ebuild
index a8cc7e730ebf..a8cc7e730ebf 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.32.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.14.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.37.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.21.ebuild
index a8cc7e730ebf..a8cc7e730ebf 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-103.0.1264.37.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-104.0.1293.21.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 5d9847e746b4..0ffa1f906867 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_104.0.1278.2-1_amd64.deb 121860508 BLAKE2B a2027ef40f030e009f5792c6d20a57f9268c493a1df850392213861ab1aa38bab6cb4992ed348e603bf51dc2e136f881399a48cb6ecf4b3853fbfd458507cda0 SHA512 b3f4197cb2902029c9ddf1f83616877f2ea05639e2c017c9eccd76c7fd36a3d480795df855723f3f5201dd4219279dc8eb209cb0295a919fe5b4b4af5e6cb819
-DIST microsoft-edge-dev_104.0.1287.1-1_amd64.deb 130578752 BLAKE2B 7f7c36c63015242c541761e1e31d2281efa311a875f704e2935cc2211ae52c804acb158e2eef989396175b550b4c50a9afd096b7c8b10b1fb475579410044d7a SHA512 8835d5d040473842016bb64d49dd7b225396aa6570ada1b72fc2093f582f7c420ff398269867a82e17bc3dfd8a936286d613b675a79346e1abf8eb0219890caa
DIST microsoft-edge-dev_104.0.1293.1-1_amd64.deb 130998332 BLAKE2B 608bda834e7fdc8ee0392c709e6fe38da24ad10f785c1ea6389d9b747f990a0e937918cc821733235bcf1a281e6a17a52cc16661ea1c33a3e6b8b03a08e790ab SHA512 6d6dfc0170b8cb926c337559355b49e4b0920dd591e51d804a90885841875985ab18d9d9a676ded19d561c34d6bb716e47753834d4a3158cddd0d218c6481f45
-EBUILD microsoft-edge-dev-104.0.1278.2.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
-EBUILD microsoft-edge-dev-104.0.1287.1.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+DIST microsoft-edge-dev_104.0.1293.5-1_amd64.deb 130750276 BLAKE2B 9fb4a7d77811511369ef31ce4ea3b1fd0b1ff3857727319e02ddfd7ad77d58cafa5c725d8e3f7e1d69a5e6bcc8b74357563aa9edadceaea6ccb185567a28202a SHA512 9c51f8345a551ffba88af25ed2971753680382e76c9d260c5baca5a1312dc4b5bb0746f415dbd7c8c24e532bf22a0c0072289a35fded6956b50755e11508188c
+DIST microsoft-edge-dev_105.0.1300.1-1_amd64.deb 130784672 BLAKE2B 2f32aa8c1dd33a2115e5a6ae7cd7787caeb65ed3c001affc156412f50371466c7b59fedb0d5bbf1edb8a0cb210942e4efcd0ebe57c045b8fceb0648ccdcbb0e2 SHA512 eacd91a5f93629e255aade6d030372539f09b8cb19ead8c48e0f7aaebba58b5e1000dbc50b78aa295811c5868f433e874799b58796d6ee1566d951c313bf4d1d
EBUILD microsoft-edge-dev-104.0.1293.1.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+EBUILD microsoft-edge-dev-104.0.1293.5.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
+EBUILD microsoft-edge-dev-105.0.1300.1.ebuild 2504 BLAKE2B 7814aa517dea7ae2621aaa7a78ed8382b1df55b42089441547d17c37c7eb9d0bb0a1db6cc427ace91f2a08e340c5667893604841fb59952806f916442df0ee97 SHA512 928fd020e419bde93a3fb8493e02d4c73db393913dd9189cf08bba8071c7a8f097e7150a9aedd741d8341dff44a8e8501c3c9be6bf6b8613c18f4ac1e3425ade
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1278.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1293.5.ebuild
index a8cc7e730ebf..a8cc7e730ebf 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1278.2.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1293.5.ebuild
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1287.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-105.0.1300.1.ebuild
index a8cc7e730ebf..a8cc7e730ebf 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-104.0.1287.1.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-105.0.1300.1.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index da08e823a98e..c95d8ab812b2 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_103.0.1264.37-1_amd64.deb 120800512 BLAKE2B 03abbc5da0b9e2cb5614ac74c7cbdd078600364715e81591f9939d3e077c98b16970fa2a09df6e8d1bbca376da980e49b0923e0674befd4b80592b16c26dc5d5 SHA512 f0d2ccd3a073d3b7219b0eb1bb03d4f606eae5dc17efcbe1ef3837db634f99a0b33f9a45e8e7bb2654e13d30f086a87840a3c1cdc2dc9e40e02fc91d225d84e5
-EBUILD microsoft-edge-103.0.1264.37.ebuild 2503 BLAKE2B 6e9465b67cd5fc35097dd61a95c915a4f3b58ac44e82efc9bfa351baf6f1581f4e68c02287881d7aafa8ce7a5d1643f6d209cc38bd64f94957f60cccde175fa5 SHA512 1f95dbc80e9b207396d6a73a7ffe21d9d44af40c15aa4b7a795c893df0720bef079dc2956ad6d34718e58100e6806a1ccaebdd5f9c71f6363ee05ec69c1893f6
+DIST microsoft-edge-stable_103.0.1264.62-1_amd64.deb 120908516 BLAKE2B 015121a28800c52c7f27a3e1776610bb21c3a58769d33fc4173232bec37bde2fccc54892df9d650f456cfe0068872f67406e012a29592df84b4993ff9e57282a SHA512 8c87f9248b00a1039c31adf576ae63238497a39d7058ed1731f54a89c4babc3f7c5a77fe288d353bcd5eb511aa245421641ea1ee26009e98c9ac622bd386e581
+EBUILD microsoft-edge-103.0.1264.62.ebuild 2503 BLAKE2B 6e9465b67cd5fc35097dd61a95c915a4f3b58ac44e82efc9bfa351baf6f1581f4e68c02287881d7aafa8ce7a5d1643f6d209cc38bd64f94957f60cccde175fa5 SHA512 1f95dbc80e9b207396d6a73a7ffe21d9d44af40c15aa4b7a795c893df0720bef079dc2956ad6d34718e58100e6806a1ccaebdd5f9c71f6363ee05ec69c1893f6
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-103.0.1264.37.ebuild b/www-client/microsoft-edge/microsoft-edge-103.0.1264.62.ebuild
index 3db12034b572..3db12034b572 100644
--- a/www-client/microsoft-edge/microsoft-edge-103.0.1264.37.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-103.0.1264.62.ebuild
diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest
index f0f5abf11f24..ab382010ab21 100644
--- a/www-client/opera-beta/Manifest
+++ b/www-client/opera-beta/Manifest
@@ -1,8 +1,8 @@
-DIST opera-beta_88.0.4412.20_amd64.deb 84683044 BLAKE2B 79f5961a441008ba0e28164c7f5673565cf2ca78e96a4c0e6674414ab92c743c4178dba770dfc681dc7675028730adf5eb517a2958316a422725754dd9a5dfdd SHA512 84ec4bd4ccfcb80644b80e1722153283eccf7e67f42666021f66ad72fcb52ce53ee2805fd754b936660402fd0f9d1c0b9c4920182399eab83b46fc350cf0920c
-DIST opera-beta_89.0.4447.12_amd64.deb 86320096 BLAKE2B 993f12fc5cb5b26ea3f2351435735114fa6c28a7ec0c15c19abfe74aadf9e81df00b868bcc42a3adebe9125e98b3441d48a1428062c00f740cc7c2eec4a9ae9d SHA512 a8818f6de4397675b6995c771b3160c910e4a947f3b928d49349fc64d12d1f9a8dfb4b6f4798616d76f133e12fe0425821631a91382cadab91ef9e30a2e76f34
-DIST opera-beta_89.0.4447.20_amd64.deb 86875548 BLAKE2B 4e6376c45e5378a8b6a3c6fdad0dac34040fd79ecaef55d88a2f34bd165a282ff99c8bfc83bf2f072502340a2bbfb641e086412f0dfbba311b99bc797a7d3401 SHA512 7f6165e5106f0eb9b231889cb2ce883a09266dad8883f86810ac843faa83942be1f9f10e9c64b6489c3b88fb16d78283309bb121359a400911de9b316b754c05
+DIST opera-beta_89.0.4447.31_amd64.deb 86928968 BLAKE2B 77d728232ab3e96ce5620e753ee7457eac3e19c9f4d340fd8687c3e95d06e1e18beaeaac3ed8b0ed00dd66eeb6c805418760e93a93f9ca3895a19bc7b33cf73a SHA512 4774ed859967bfd390fbef7d2564ffcbaeafe0cd73bc4d073e9dbce5b44dc13bef5b911ca81c63979d959a10bdf4d12a71523da475a0476116d1fd527bfd6f60
+DIST opera-beta_89.0.4447.33_amd64.deb 86881152 BLAKE2B 34000f2db58eb2b989b286258a0ae0fd034e6144e9baaffbb6cc853af69d5ccd7cd0fa447a7293ac4281506654b2ea665964d39703128c18e478fc0d9e8e8896 SHA512 2af8fc44d43214ab9c716795dc4577cff2914389bb9fb74b8446c040f57978a83ea7f385fe8d4aa279ba95fcfba7803d3dc5b4dbf2637ffbbca3456272594f2c
+DIST opera-beta_89.0.4447.37_amd64.deb 86976092 BLAKE2B e6a094370fe58946b6217588ab45d135938d1540db5d51caca89c6d7dc40c5f13f19d453ad2fe57a731ec799e2996b10bc62c9efd4a99b034643288447e58e43 SHA512 d4c0622919043bcac442063323e8f46c91860b785e4d36007a88386bcbfa36bd87df8f4467a59014df1f04b94a8f5bc737b42194a132fdea5c2e6f4ca5b03f96
DIST opera-ffmpeg-codecs-102.0.5005.61.tar.xz 1429920 BLAKE2B a4cb07805650c3cd7f7e1127e475775c95d74b8cd17af5ad736a6d4f256176586b1608c2a617961cf2f3f7980879bc8f1a84cd9faa4838eafbc7b1b4e2edfe1a SHA512 af20383a0b77da89bf2ef52b412d9cce0a1f12bcfe2612ebd5110f1e8008cfff874da36e00b980609ac29346c545f2326bbe5f1b42473530f2886d67a00f52ca
-EBUILD opera-beta-88.0.4412.20-r1.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
-EBUILD opera-beta-89.0.4447.12.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
-EBUILD opera-beta-89.0.4447.20.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
+EBUILD opera-beta-89.0.4447.31.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
+EBUILD opera-beta-89.0.4447.33.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
+EBUILD opera-beta-89.0.4447.37.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
MISC metadata.xml 380 BLAKE2B 6126e5c5d5f67d1bd7d4b6659fbc9f8f62ef105e737d2cc4e6c652f4c899df1b55ef2abe077e41aa2e4eb3d553a2652e38a583b3c7baac7a20318b69f766997f SHA512 cbe76a1630f13557a0aae1703436b19b0f9f7842c5604695d49255937c8304fff07ec20f26d408527ee672e2e9625ebc748bb7d3879d5fc77c06655c4b9b1816
diff --git a/www-client/opera-beta/opera-beta-88.0.4412.20-r1.ebuild b/www-client/opera-beta/opera-beta-89.0.4447.31.ebuild
index d9356701daff..d9356701daff 100644
--- a/www-client/opera-beta/opera-beta-88.0.4412.20-r1.ebuild
+++ b/www-client/opera-beta/opera-beta-89.0.4447.31.ebuild
diff --git a/www-client/opera-beta/opera-beta-89.0.4447.12.ebuild b/www-client/opera-beta/opera-beta-89.0.4447.33.ebuild
index d9356701daff..d9356701daff 100644
--- a/www-client/opera-beta/opera-beta-89.0.4447.12.ebuild
+++ b/www-client/opera-beta/opera-beta-89.0.4447.33.ebuild
diff --git a/www-client/opera-beta/opera-beta-89.0.4447.20.ebuild b/www-client/opera-beta/opera-beta-89.0.4447.37.ebuild
index d9356701daff..d9356701daff 100644
--- a/www-client/opera-beta/opera-beta-89.0.4447.20.ebuild
+++ b/www-client/opera-beta/opera-beta-89.0.4447.37.ebuild
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest
index 5d2c70f53a72..9ac20024f5a8 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,10 +1,8 @@
-DIST opera-developer_89.0.4443.0_amd64.deb 86069040 BLAKE2B 5f21e4cf6ba78ab0f0068f3fc638a2c8cd462ad71c5ee028b3c132d7e2481018a8f7869c8748cc8eb3be5ae3cda758b999dae840094dddc8e456412c35de8f73 SHA512 442c73a732f54349f5ea30850a5e03f6d26aa56d9efb15bfbd9d2bc72874a2d2e40e6d48bb535da5975eba9b5342da71cfdf6855b6fbacc9d44d155bb465596a
-DIST opera-developer_90.0.4450.0_amd64.deb 86183352 BLAKE2B d2265610809a4f8c3b25df73bc889edf2148d9196d755cd608953f821599858c9baac8b72a8bb58a97cd04a48c49d2a8d769601321fa3ff5f95d049d39d8bc0b SHA512 238a2e0c125dd68c3c2f1f85bc39943d5b1209f8b738dd9ce07c43c4e4519edb7de3e04b8babae372de774ced1990a0d2c45c9484baaa9fa777452ab44069971
-DIST opera-developer_90.0.4457.0_amd64.deb 87075276 BLAKE2B da6bceb1bc4c447baedba7b007e1ed150d13471a638219abb6c1f1d947de5bf4d55ec2d8210dc9fd7d6e5032084513bf7af5013f1fcc22d1eb9d13990cd7751f SHA512 5e4ceca322ea006b160ae31c9a1d48e96cef88863b028cbd3cd406b5481cdd3e09fa86f19552105e858884902895f9989936d2fa97149c86f5b1e14facfef250
-DIST opera-ffmpeg-codecs-100.0.4896.20.tar.xz 1393360 BLAKE2B be608a42042b2713fff66716c171959609e06d94b6c56cd8081e05313915378eff25c7098228ff6727a430c9f02bd4e9c9dcce4e715f09e10ac62d89ccd6ae1c SHA512 7dab4a091ac3562cd9c09cf37bc70edf9000ad1b3d31f27278e2edc68b9f55fd4f821ebc90a761ae5803542195718015c859e107344b31a5f7f9ad6cf028df42
-DIST opera-ffmpeg-codecs-102.0.5005.61.tar.xz 1429920 BLAKE2B a4cb07805650c3cd7f7e1127e475775c95d74b8cd17af5ad736a6d4f256176586b1608c2a617961cf2f3f7980879bc8f1a84cd9faa4838eafbc7b1b4e2edfe1a SHA512 af20383a0b77da89bf2ef52b412d9cce0a1f12bcfe2612ebd5110f1e8008cfff874da36e00b980609ac29346c545f2326bbe5f1b42473530f2886d67a00f52ca
+DIST opera-developer_90.0.4463.0_amd64.deb 87029836 BLAKE2B 01288f6d89081c584104425ce83f0e87a8a74db82b0fca299c5804315812388f8ddf0db99375e3771972721efe4d954416f00d9723c07f8abadb4a3e4673d6ec SHA512 b14574022bdb91a20a8daf5bb7a9e622a4874dcd0219c15ebba1b4c56fc8e4fe4621d42e3a1154180aeb4478ca395cd6641ce89dda2b40cb917807b584bbfb55
+DIST opera-developer_90.0.4470.0_amd64.deb 87647176 BLAKE2B 86f8b4ae3d346a314078429aeb1070ecf31d007b46c890e5c013d697dceabe5dbf7e4e312f22e54da8215c87da6c8e2524ffdb6bec9a826514c018117c4c6b51 SHA512 9bd48def6804a6cf173e738e2297619401748339971ca031c3af1d6dc820e25777972c6691c560d506b97c3af0c1f98b4da44d52b0fe9de1c2d0982f1c0556b8
+DIST opera-developer_90.0.4477.0_amd64.deb 87534288 BLAKE2B e2670fc26d8ff72966e0dbae7f80801499f80e5a85874dda603a7617d3e2c11b6cb5f715916fd2037c280b261f41675c5401e0eeab85902a3af382c843a33f00 SHA512 20e545c9f5bd826c9529d8a2545de30e4e8123566429811b64df435b3e441ee88741a800bed889491a073b4431e45159d9893069193413ccc7116ca5f5098073
DIST opera-ffmpeg-codecs-104.0.5083.0.tar.xz 1431840 BLAKE2B 172ba55d6f390eaea644803ddae8c3cee4ee2d585de873db438d43b9e7f6d07f5b0e9b659f06c126f65148148d889948cc3287ee21da00eec08f2e665be47dbc SHA512 9ca7fe8a244b634d65a28602f9e1173694faaab6de95cd0a44aeedc29dffb75b14adf842c69d5ba5631fb40e51f021fce190dc8307148d8e9218230b7cde29b8
-EBUILD opera-developer-89.0.4443.0.ebuild 3593 BLAKE2B da8be56b4172f761c079f04351208b3c2099c4c6ddf6dcbfb43ba4eeebad092cd15f810d6349fa239e0dd9f5d417438a7ac64c5d4b52b3c49ee05a6b3aa32d87 SHA512 4db5b67971d618764db4913c48d92be6efbd858fb07127fd54f12f28e9973ae7b0cf1a0f03002f2b50dc7b15509d081e5c9115cf2c88a9765f825c6f25ce4f84
-EBUILD opera-developer-90.0.4450.0.ebuild 3584 BLAKE2B a747320ddd65e8eae0103d0f06308e66898d32f147106143b2e2269ec41f91fddb1fde363e41efbb103442ecac05a6b1611fcd59a95d3280d696ef25d68b0c2e SHA512 c72d3e2de99617299bac78478b89ce23b8f368dd3fecbc57dc0555220030b6573090659069b48021db8856cb14e2884d1f0b9380864f47fd00227abe0e274d20
-EBUILD opera-developer-90.0.4457.0-r1.ebuild 3583 BLAKE2B 9b15327b611d24210f9cfe62ff709cc70df96b97ea6203b7f6e0f15fc24b5e848aa653bb05ebaa323bde4d6084d574241d45145df7b56f32d99f9b7cb05b66a2 SHA512 20f9ee145bc5c162fddec4be280ad0bcd86dcb3a4e3dccb03d2bdde5e07361493ed6b103dd26a531e28faa534e6a5e92d4b35d9463a2a178c1dc6fc66ef55d47
+EBUILD opera-developer-90.0.4463.0.ebuild 3583 BLAKE2B 9b15327b611d24210f9cfe62ff709cc70df96b97ea6203b7f6e0f15fc24b5e848aa653bb05ebaa323bde4d6084d574241d45145df7b56f32d99f9b7cb05b66a2 SHA512 20f9ee145bc5c162fddec4be280ad0bcd86dcb3a4e3dccb03d2bdde5e07361493ed6b103dd26a531e28faa534e6a5e92d4b35d9463a2a178c1dc6fc66ef55d47
+EBUILD opera-developer-90.0.4470.0.ebuild 3583 BLAKE2B 9b15327b611d24210f9cfe62ff709cc70df96b97ea6203b7f6e0f15fc24b5e848aa653bb05ebaa323bde4d6084d574241d45145df7b56f32d99f9b7cb05b66a2 SHA512 20f9ee145bc5c162fddec4be280ad0bcd86dcb3a4e3dccb03d2bdde5e07361493ed6b103dd26a531e28faa534e6a5e92d4b35d9463a2a178c1dc6fc66ef55d47
+EBUILD opera-developer-90.0.4477.0.ebuild 3583 BLAKE2B 9b15327b611d24210f9cfe62ff709cc70df96b97ea6203b7f6e0f15fc24b5e848aa653bb05ebaa323bde4d6084d574241d45145df7b56f32d99f9b7cb05b66a2 SHA512 20f9ee145bc5c162fddec4be280ad0bcd86dcb3a4e3dccb03d2bdde5e07361493ed6b103dd26a531e28faa534e6a5e92d4b35d9463a2a178c1dc6fc66ef55d47
MISC metadata.xml 380 BLAKE2B 6126e5c5d5f67d1bd7d4b6659fbc9f8f62ef105e737d2cc4e6c652f4c899df1b55ef2abe077e41aa2e4eb3d553a2652e38a583b3c7baac7a20318b69f766997f SHA512 cbe76a1630f13557a0aae1703436b19b0f9f7842c5604695d49255937c8304fff07ec20f26d408527ee672e2e9625ebc748bb7d3879d5fc77c06655c4b9b1816
diff --git a/www-client/opera-developer/opera-developer-89.0.4443.0.ebuild b/www-client/opera-developer/opera-developer-89.0.4443.0.ebuild
deleted file mode 100644
index d1fbcd0074a1..000000000000
--- a/www-client/opera-developer/opera-developer-89.0.4443.0.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-CHROMIUM_LANGS="
- be bg bn ca cs da de el en-GB en-US es-419 es fil fi fr-CA 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/"
-LICENSE="OPERA-2018"
-SLOT="0"
-
-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
-
-KEYWORDS="-* ~amd64"
-
-FFMPEG_VERSION="100.0.4896.20"
-
-SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
- proprietary-codecs? (
- mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
- )"
-
-IUSE="+proprietary-codecs suid"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
- app-accessibility/at-spi2-atk:2
- app-accessibility/at-spi2-core:2
- dev-libs/atk
- 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
-"
-
-QA_PREBUILT="*"
-S=${WORKDIR}
-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
- mv lib_extra "${OPERA_HOME}"
- 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-developer/opera-developer-90.0.4457.0-r1.ebuild b/www-client/opera-developer/opera-developer-90.0.4463.0.ebuild
index bf2f16f337f7..bf2f16f337f7 100644
--- a/www-client/opera-developer/opera-developer-90.0.4457.0-r1.ebuild
+++ b/www-client/opera-developer/opera-developer-90.0.4463.0.ebuild
diff --git a/www-client/opera-developer/opera-developer-90.0.4450.0.ebuild b/www-client/opera-developer/opera-developer-90.0.4470.0.ebuild
index d9356701daff..bf2f16f337f7 100644
--- a/www-client/opera-developer/opera-developer-90.0.4450.0.ebuild
+++ b/www-client/opera-developer/opera-developer-90.0.4470.0.ebuild
@@ -42,7 +42,7 @@ fi
KEYWORDS="-* ~amd64"
-FFMPEG_VERSION="102.0.5005.61"
+FFMPEG_VERSION="104.0.5083.0"
SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
proprietary-codecs? (
diff --git a/www-client/opera-developer/opera-developer-90.0.4477.0.ebuild b/www-client/opera-developer/opera-developer-90.0.4477.0.ebuild
new file mode 100644
index 000000000000..bf2f16f337f7
--- /dev/null
+++ b/www-client/opera-developer/opera-developer-90.0.4477.0.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2022 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/"
+LICENSE="OPERA-2018"
+SLOT="0"
+
+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
+
+KEYWORDS="-* ~amd64"
+
+FFMPEG_VERSION="104.0.5083.0"
+
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
+ proprietary-codecs? (
+ mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
+ )"
+
+IUSE="+proprietary-codecs suid"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-atk:2
+ app-accessibility/at-spi2-core:2
+ dev-libs/atk
+ 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
+"
+
+QA_PREBUILT="*"
+S=${WORKDIR}
+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
+ mv lib_extra "${OPERA_HOME}"
+ 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 07df220e6053..989a86cda55f 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,4 +1,4 @@
DIST opera-ffmpeg-codecs-102.0.5005.61.tar.xz 1429920 BLAKE2B a4cb07805650c3cd7f7e1127e475775c95d74b8cd17af5ad736a6d4f256176586b1608c2a617961cf2f3f7980879bc8f1a84cd9faa4838eafbc7b1b4e2edfe1a SHA512 af20383a0b77da89bf2ef52b412d9cce0a1f12bcfe2612ebd5110f1e8008cfff874da36e00b980609ac29346c545f2326bbe5f1b42473530f2886d67a00f52ca
-DIST opera-stable_88.0.4412.53_amd64.deb 84464960 BLAKE2B 4766d00667807ba09326321a2a6a45c20e6ce6517316586686b520f412b0e7f078c5fde2dc6f7c4fbda85a5687fee3a29cd6bb81d2a99231fe7ce37fc7e2b59e SHA512 086254d5287d6e1d02416a66d76c6ca2778d535605218378c09a7858a4e02a70144970d2b63c72ead289fefd9e482c86b898c6958fb80f36b61125d77e9f0515
-EBUILD opera-88.0.4412.53.ebuild 3583 BLAKE2B 13854d02b15144eb83990b5e7b32de07f5c3ad7e791b7e1d44a8066402de2abae0fbb5556de088ad09f641187038c17a8c00d2050774d890d2e26c29d69a4c78 SHA512 c7089c91e81623b69d121e5badfdb5676d223b37a88c103db31faf25821e957228e2e58f66cdffb1eb85e83e85de59e3aac399723ee53ce9a689972046813d96
+DIST opera-stable_89.0.4447.48_amd64.deb 86656452 BLAKE2B c6c09e575df160e2f5415e61539f2762e558c4afb1873a330d82fe1bf6fc21acce5997f6be4997afefbba5f99e02deacbbc597077ce65b8704962f6837041b39 SHA512 ccd62fd03851e63a4ea7e5eb244c0d5d6fa8f7469049e30dff53be727e4dc8b6f69cecfd91552ab0fedefb0ca44dd3bdcdb4a159b8f5bd7f0a8d123080ee2536
+EBUILD opera-89.0.4447.48.ebuild 3583 BLAKE2B 13854d02b15144eb83990b5e7b32de07f5c3ad7e791b7e1d44a8066402de2abae0fbb5556de088ad09f641187038c17a8c00d2050774d890d2e26c29d69a4c78 SHA512 c7089c91e81623b69d121e5badfdb5676d223b37a88c103db31faf25821e957228e2e58f66cdffb1eb85e83e85de59e3aac399723ee53ce9a689972046813d96
MISC metadata.xml 380 BLAKE2B 6126e5c5d5f67d1bd7d4b6659fbc9f8f62ef105e737d2cc4e6c652f4c899df1b55ef2abe077e41aa2e4eb3d553a2652e38a583b3c7baac7a20318b69f766997f SHA512 cbe76a1630f13557a0aae1703436b19b0f9f7842c5604695d49255937c8304fff07ec20f26d408527ee672e2e9625ebc748bb7d3879d5fc77c06655c4b9b1816
diff --git a/www-client/opera/opera-88.0.4412.53.ebuild b/www-client/opera/opera-89.0.4447.48.ebuild
index fdfecdad5600..fdfecdad5600 100644
--- a/www-client/opera/opera-88.0.4412.53.ebuild
+++ b/www-client/opera/opera-89.0.4447.48.ebuild
diff --git a/www-plugins/Manifest.gz b/www-plugins/Manifest.gz
index 12c953d4dbdf..6c63795aebcf 100644
--- a/www-plugins/Manifest.gz
+++ b/www-plugins/Manifest.gz
Binary files differ
diff --git a/www-plugins/chrome-binary-plugins/Manifest b/www-plugins/chrome-binary-plugins/Manifest
index 0da6f2ba49f3..8776932734a7 100644
--- a/www-plugins/chrome-binary-plugins/Manifest
+++ b/www-plugins/chrome-binary-plugins/Manifest
@@ -1,7 +1,7 @@
-DIST google-chrome-beta_103.0.5060.53-1_amd64.deb 85782692 BLAKE2B 3d7d4980ea0e3f512c494291e9ee30ce02a90737d08c1277fb19a82d2fa290a45a412775bbf3da6a0526a6da7ef11aefb29ded594d27395ffcf10721e47d4405 SHA512 9339ad8f5e1e82a0338bd060982fb47b3fed3c8b62b2eac16d53c3e51be9d831513adb042f5ed12dbe66f04f5a0e4cf44c48e54b9f55f9cc66a3d6e6d1ac9e66
-DIST google-chrome-stable_103.0.5060.53-1_amd64.deb 85757216 BLAKE2B 91215d7b396e84acd01ceb685151a658cab3c71654bfd355c1fef695cd0830a65eb1c3b9f365b1a5847249732f1a2728c05e816b54f6c815494ed46fb01dee52 SHA512 36f4e79f46cb71c1431dccf1489f5f8e89d35204a717a4618c7f6f638123ddc2b37bd5cbd00498be8f84c7713149f2faa447cb6da3518be1cb9703e99d110e1a
-DIST google-chrome-unstable_104.0.5112.12-1_amd64.deb 89905068 BLAKE2B 14c75219113c2a1ffd710dee16bc582a42591c31d06685fad6be491f75a72daa3facfb6f72726219b3ed532f9431e35962a7c79723c6a679406d28de259f5a03 SHA512 22fabe2dd0cdb690382616a5e4a1ff9ae0951b09b1981639cefd0542f7b86f261f3c07f82e99e9a3439f8b120265078b8ad8801664154b5216fa73cbf0a743b5
-EBUILD chrome-binary-plugins-103.0.5060.53.ebuild 1178 BLAKE2B 7e2302efe34d64e47dc50e2030eca39e319040087a38f8ae74c1c6bdfb7caec7cf198c53d83b6134ada98292c79c55a3b19ab88ae74d34023310f921652fefdc SHA512 55691ac6f5b345ad9ba9b3d531f8612d9f062bb531057c95e719fca4f447cd872ad74c575251d31331b6176c3165dbf367f5a7711dd21623663093e056aa9411
-EBUILD chrome-binary-plugins-103.0.5060.53_beta.ebuild 1179 BLAKE2B 072540ca9510f112844428ac1a26502625c41147bc1bdc716d571f25a595012f0ffd439915cf819de9f2147d1908448d2e47f15aefc1a628b0414ce872edc5ca SHA512 ad9f41198bc9cd2f4e02e58176fb7a5169eff66da4a502d516b787a728cc8fa0fb7531f4c3d746f5a50b174b804f34fdf493594ba461cd76a4d6fec089b7bae9
-EBUILD chrome-binary-plugins-104.0.5112.12_alpha.ebuild 1179 BLAKE2B 072540ca9510f112844428ac1a26502625c41147bc1bdc716d571f25a595012f0ffd439915cf819de9f2147d1908448d2e47f15aefc1a628b0414ce872edc5ca SHA512 ad9f41198bc9cd2f4e02e58176fb7a5169eff66da4a502d516b787a728cc8fa0fb7531f4c3d746f5a50b174b804f34fdf493594ba461cd76a4d6fec089b7bae9
+DIST google-chrome-beta_104.0.5112.48-1_amd64.deb 89939920 BLAKE2B ac0e5bfc3291313a109e03db3f36969045a09ded667c547c742cd9a3ada1c7a42165c7f7eb8d136d9720761968a4ae61fae1573ffd689231f37c53086e5ed203 SHA512 c05ccea22b28f418354b4357ea1edb4c94fbdfb52b50c3719de770b9e66b08c4c55c6d6691c8122160bfe2c6fe35fce9965f677ce826fa34822e958fcca03812
+DIST google-chrome-stable_103.0.5060.114-1_amd64.deb 85835696 BLAKE2B df07c0d4d94dcd3e079e7899b8b104388972b9e51b6d6dbe465b627eb6d103bfe085bb8704ba9f8ad19d0b0b16233791d1a0d0877399634e8e048d9beb18dfdc SHA512 1ff404b4748736f74ac2ea291964710bcbb5d1d683a8203c555766e4f67f01a8c2c7a6b615f1947718dd6535b8561dcb256ff31f305082c60b5445073ee2bcc8
+DIST google-chrome-unstable_105.0.5176.3-1_amd64.deb 90277740 BLAKE2B 03093be18477358f18efd5c30cfbfda4176730887db720f01ef14465b19d5f245465d7f2715b0032e0ec70070b76b67142cecf473567f1f2ab40c55b905a0d9d SHA512 93f1d0140683e620eea4b079a75678e4b45cdc8ab1122368e08fa7216b7a49b062d54a704344630fff0309b6e93040fc365e027dc8501d10da93214019a8ed80
+EBUILD chrome-binary-plugins-103.0.5060.114.ebuild 1178 BLAKE2B 7e2302efe34d64e47dc50e2030eca39e319040087a38f8ae74c1c6bdfb7caec7cf198c53d83b6134ada98292c79c55a3b19ab88ae74d34023310f921652fefdc SHA512 55691ac6f5b345ad9ba9b3d531f8612d9f062bb531057c95e719fca4f447cd872ad74c575251d31331b6176c3165dbf367f5a7711dd21623663093e056aa9411
+EBUILD chrome-binary-plugins-104.0.5112.48_beta.ebuild 1179 BLAKE2B 072540ca9510f112844428ac1a26502625c41147bc1bdc716d571f25a595012f0ffd439915cf819de9f2147d1908448d2e47f15aefc1a628b0414ce872edc5ca SHA512 ad9f41198bc9cd2f4e02e58176fb7a5169eff66da4a502d516b787a728cc8fa0fb7531f4c3d746f5a50b174b804f34fdf493594ba461cd76a4d6fec089b7bae9
+EBUILD chrome-binary-plugins-105.0.5176.3_alpha.ebuild 1179 BLAKE2B 072540ca9510f112844428ac1a26502625c41147bc1bdc716d571f25a595012f0ffd439915cf819de9f2147d1908448d2e47f15aefc1a628b0414ce872edc5ca SHA512 ad9f41198bc9cd2f4e02e58176fb7a5169eff66da4a502d516b787a728cc8fa0fb7531f4c3d746f5a50b174b804f34fdf493594ba461cd76a4d6fec089b7bae9
MISC metadata.xml 263 BLAKE2B 63f20710af1b20f01824544c06058c4bef7c4b6e1b66a2bcd17c2dde8f48e6b30a074ec6c3940976d652bb8885a80495914a3ddf4de5766c04f5913780c85668 SHA512 85a03d35084d8d81e038c8065fe58a36f3dd1f5355aaf62033ba590636fa4855ee993ec5f3d10645a55754debddf0b57b4403172f3808e4575b3b2d8d7f180c0
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.114.ebuild
index a8c4f73dffbd..a8c4f73dffbd 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.114.ebuild
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53_beta.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.48_beta.ebuild
index 48788b628112..48788b628112 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-103.0.5060.53_beta.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.48_beta.ebuild
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.12_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-105.0.5176.3_alpha.ebuild
index 48788b628112..48788b628112 100644
--- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-104.0.5112.12_alpha.ebuild
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-105.0.5176.3_alpha.ebuild