diff --git a/Manifest.files.gz b/Manifest.files.gz
index bea5ed2d9984..db1b967cc1b6 100644
Binary files a/Manifest.files.gz and b/Manifest.files.gz differ
diff --git a/app-accessibility/Manifest.gz b/app-accessibility/Manifest.gz
index e5dae061608f..5df15ec2a4e1 100644
Binary files a/app-accessibility/Manifest.gz and b/app-accessibility/Manifest.gz differ
diff --git a/app-accessibility/accerciser/accerciser-3.40.0.ebuild b/app-accessibility/accerciser/accerciser-3.40.0.ebuild
index 687347c02c7b..803f1ccca367 100644
--- a/app-accessibility/accerciser/accerciser-3.40.0.ebuild
+++ b/app-accessibility/accerciser/accerciser-3.40.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="xml(+)"
inherit gnome2 python-single-r1
diff --git a/app-accessibility/accerciser/metadata.xml b/app-accessibility/accerciser/metadata.xml
index fe0297f348e9..3d77751efc4b 100644
--- a/app-accessibility/accerciser/metadata.xml
+++ b/app-accessibility/accerciser/metadata.xml
@@ -10,4 +10,7 @@
In essence, Accerciser is a next generation at-poke tool.
+
+ GNOME/accerciser
+
diff --git a/app-accessibility/at-spi2-atk/metadata.xml b/app-accessibility/at-spi2-atk/metadata.xml
index f7da9e6ff556..2df23ac8ea0d 100644
--- a/app-accessibility/at-spi2-atk/metadata.xml
+++ b/app-accessibility/at-spi2-atk/metadata.xml
@@ -1,13 +1,17 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-at-spi2-atk is the library used to bridge ATK to AT-SPI, allowing applications
-exposing information via ATK to interface with clients that use AT-SPI. This
-module provides the necessary inter-process communication to allow
-accessibility-oriented software to operate.
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ at-spi2-atk is the library used to bridge ATK to AT-SPI, allowing applications
+ exposing information via ATK to interface with clients that use AT-SPI. This
+ module provides the necessary inter-process communication to allow
+ accessibility-oriented software to operate.
+
+
+ GNOME/at-spi2-atk
+
diff --git a/app-accessibility/at-spi2-core/metadata.xml b/app-accessibility/at-spi2-core/metadata.xml
index 7b343b06be8a..32089b0df716 100644
--- a/app-accessibility/at-spi2-core/metadata.xml
+++ b/app-accessibility/at-spi2-core/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/at-spi2-core
+
diff --git a/app-accessibility/orca/metadata.xml b/app-accessibility/orca/metadata.xml
index 6697d5324869..576805b0538e 100644
--- a/app-accessibility/orca/metadata.xml
+++ b/app-accessibility/orca/metadata.xml
@@ -1,18 +1,21 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
-
- Orca is a flexible, extensible, and powerful assistive technology
- for people with visual impairments. Using various combinations of
- speech synthesis, braille, and magnification, Orca helps provide
- access to applications and toolkits that support the AT-SPI (e.g.,
- the GNOME desktop).
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ Orca is a flexible, extensible, and powerful assistive technology
+ for people with visual impairments. Using various combinations of
+ speech synthesis, braille, and magnification, Orca helps provide
+ access to applications and toolkits that support the AT-SPI (e.g.,
+ the GNOME desktop).
+
+
+ GNOME/orca
+
diff --git a/app-accessibility/speech-dispatcher/files/speech-dispatcher-0.11.3-fix-dlopen.patch b/app-accessibility/speech-dispatcher/files/speech-dispatcher-0.11.3-fix-dlopen.patch
new file mode 100644
index 000000000000..f520fdc6adfb
--- /dev/null
+++ b/app-accessibility/speech-dispatcher/files/speech-dispatcher-0.11.3-fix-dlopen.patch
@@ -0,0 +1,93 @@
+https://github.com/brailcom/speechd/commit/db21e5fe4b3155734f60a67c8ab5da6b53174e1b
+https://github.com/brailcom/speechd/pull/783
+https://bugs.gentoo.org/877339
+
+From db21e5fe4b3155734f60a67c8ab5da6b53174e1b Mon Sep 17 00:00:00 2001
+From: Bernard Cafarelli
+Date: Mon, 17 Oct 2022 15:28:37 +0200
+Subject: [PATCH] Fix audio plugin loading with dlopen
+
+dlopen needs the full name including .so extension
+Set SPD_AUDIO_PLUGIN_ENTRY to correct name (ltdl adds a prefix)
+--- a/src/audio/alsa.c
++++ b/src/audio/alsa.c
+@@ -37,7 +37,11 @@
+ #include
+ #include
+
++#ifdef USE_DLOPEN
++#define SPD_AUDIO_PLUGIN_ENTRY spd_audio_plugin_get
++#else
+ #define SPD_AUDIO_PLUGIN_ENTRY spd_alsa_LTX_spd_audio_plugin_get
++#endif
+ #include
+
+ typedef struct {
+--- a/src/audio/libao.c
++++ b/src/audio/libao.c
+@@ -32,7 +32,11 @@
+ #include
+ #include
+
++#ifdef USE_DLOPEN
++#define SPD_AUDIO_PLUGIN_ENTRY spd_audio_plugin_get
++#else
+ #define SPD_AUDIO_PLUGIN_ENTRY spd_libao_LTX_spd_audio_plugin_get
++#endif
+ #include
+
+ /* send a packet of XXX bytes to the sound device */
+--- a/src/audio/nas.c
++++ b/src/audio/nas.c
+@@ -32,7 +32,11 @@
+
+ #include
+
++#ifdef USE_DLOPEN
++#define SPD_AUDIO_PLUGIN_ENTRY spd_audio_plugin_get
++#else
+ #define SPD_AUDIO_PLUGIN_ENTRY spd_nas_LTX_spd_audio_plugin_get
++#endif
+ #include
+
+ typedef struct {
+--- a/src/audio/oss.c
++++ b/src/audio/oss.c
+@@ -39,7 +39,11 @@
+
+ #include
+
++#ifdef USE_DLOPEN
++#define SPD_AUDIO_PLUGIN_ENTRY spd_audio_plugin_get
++#else
+ #define SPD_AUDIO_PLUGIN_ENTRY spd_oss_LTX_spd_audio_plugin_get
++#endif
+ #include
+
+ typedef struct {
+--- a/src/audio/pulse.c
++++ b/src/audio/pulse.c
+@@ -51,7 +51,11 @@
+ #include
+ #include
+
++#ifdef USE_DLOPEN
++#define SPD_AUDIO_PLUGIN_ENTRY spd_audio_plugin_get
++#else
+ #define SPD_AUDIO_PLUGIN_ENTRY spd_pulse_LTX_spd_audio_plugin_get
++#endif
+ #include
+
+ typedef struct {
+--- a/src/common/spd_audio.c
++++ b/src/common/spd_audio.c
+@@ -120,7 +120,7 @@ AudioID *spd_audio_open(const char *name, void **pars, char **error)
+ plugin_dir = PLUGIN_DIR;
+
+ #ifdef USE_DLOPEN
+- libname = g_strdup_printf("%s/" SPD_AUDIO_LIB_PREFIX "%s", plugin_dir, name);
++ libname = g_strdup_printf("%s/" SPD_AUDIO_LIB_PREFIX "%s.so", plugin_dir, name);
+ dlhandle = dlopen(libname, RTLD_NOW | RTLD_GLOBAL);
+
+ g_free(libname);
+
diff --git a/app-accessibility/speech-dispatcher/speech-dispatcher-0.11.3-r1.ebuild b/app-accessibility/speech-dispatcher/speech-dispatcher-0.11.3-r1.ebuild
new file mode 100644
index 000000000000..93309e5e9e06
--- /dev/null
+++ b/app-accessibility/speech-dispatcher/speech-dispatcher-0.11.3-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit python-r1 systemd
+
+DESCRIPTION="Speech synthesis interface"
+HOMEPAGE="https://freebsoft.org/speechd"
+SRC_URI="https://github.com/brailcom/speechd/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="alsa ao espeak +espeak-ng flite nas pulseaudio python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="python? ( ${PYTHON_DEPS} )
+ >=dev-libs/dotconf-1.3
+ >=dev-libs/glib-2.36:2
+ >=media-libs/libsndfile-1.0.2
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ espeak? ( app-accessibility/espeak )
+ espeak-ng? ( app-accessibility/espeak-ng )
+ flite? ( app-accessibility/flite )
+ nas? ( media-libs/nas )
+ pulseaudio? ( media-sound/pulseaudio )"
+RDEPEND="${DEPEND}
+ python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )"
+BDEPEND="
+ sys-apps/help2man
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.11.1-include-pthread_h.patch
+ "${FILESDIR}"/${P}-fix-dlopen.patch
+)
+
+src_configure() {
+ # bug 573732
+ export GIT_CEILING_DIRECTORIES="${WORKDIR}"
+
+ local myeconfargs=(
+ --disable-ltdl
+ --disable-python
+ --disable-static
+ --with-baratinoo=no
+ --with-ibmtts=no
+ --with-kali=no
+ --with-pico=no
+ --with-voxin=no
+ $(use_with alsa)
+ $(use_with ao libao)
+ $(use_with espeak)
+ $(use_with espeak-ng)
+ $(use_with flite)
+ $(use_with nas)
+ $(use_with pulseaudio pulse)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ use python && python_copy_sources
+
+ emake
+
+ if use python; then
+ building() {
+ cd src/api/python || die
+ emake \
+ pyexecdir="$(python_get_sitedir)" \
+ pythondir="$(python_get_sitedir)"
+ }
+ python_foreach_impl run_in_build_dir building
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ installation() {
+ cd src/api/python || die
+ emake \
+ DESTDIR="${D}" \
+ pyexecdir="$(python_get_sitedir)" \
+ pythondir="$(python_get_sitedir)" \
+ install
+ }
+ python_foreach_impl run_in_build_dir installation
+ python_replicate_script "${ED}"/usr/bin/spd-conf
+ python_foreach_impl python_optimize
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ local editconfig="n"
+ if ! use espeak-ng; then
+ ewarn "You have disabled espeak-ng, which is speech-dispatcher's"
+ ewarn "default speech synthesizer."
+ ewarn
+ editconfig="y"
+ fi
+ if ! use pulseaudio; then
+ ewarn "You have disabled pulseaudio support."
+ ewarn "pulseaudio is speech-dispatcher's default audio subsystem."
+ ewarn
+ editconfig="y"
+ fi
+ if [[ "${editconfig}" == "y" ]]; then
+ ewarn "You must edit ${EROOT}/etc/speech-dispatcher/speechd.conf"
+ ewarn "and make sure the settings there match your system."
+ ewarn
+ fi
+}
diff --git a/app-admin/Manifest.gz b/app-admin/Manifest.gz
index dca41697a2bb..8d5ad6642c45 100644
Binary files a/app-admin/Manifest.gz and b/app-admin/Manifest.gz differ
diff --git a/app-admin/ansible-molecule/ansible-molecule-4.0.1.ebuild b/app-admin/ansible-molecule/ansible-molecule-4.0.1.ebuild
index 3e827f95a347..603414d23bdf 100644
--- a/app-admin/ansible-molecule/ansible-molecule-4.0.1.ebuild
+++ b/app-admin/ansible-molecule/ansible-molecule-4.0.1.ebuild
@@ -48,7 +48,6 @@ BDEPEND="$(python_gen_cond_dep '
>=dev-python/ansi2html-1.6.0[${PYTHON_USEDEP}]
dev-python/filelock[${PYTHON_USEDEP}]
=dev-python/pytest-html-3.0.0[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-3.3.1[${PYTHON_USEDEP}]
>=dev-python/pytest-plus-0.2[${PYTHON_USEDEP}]
>=dev-python/pytest-testinfra-6.1.0[${PYTHON_USEDEP}]
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index 09a227b70329..885e21fc335b 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -3,3 +3,5 @@ DIST aws-cli-1.25.97.gh.tar.gz 2290672 BLAKE2B 4fbff8d9747b615f7b8633ce2a1c7a688
DIST aws-cli-1.26.0.gh.tar.gz 2291209 BLAKE2B ad2b9380d45d986b2cc4219a93ee30fdc1e86e35e66dc095c76f29e6062601d0e443a96fa93edbc65562580eb9815a8d3f31a59a0c850513793df3870e809be8 SHA512 5b7e87b4fe02d7fbca0482cb93616b8f78f0bb074ed779ca553532be54f914c827a30b8458e209e6fbd23d22b5e734dfe14fb79e8833c3055c771a1766153d2d
DIST aws-cli-1.26.1.gh.tar.gz 2291902 BLAKE2B 04df153b4b7608ab3c2e86c230065f7b935a911e88e1a5b788dee545d328d9839ba9aba44b334522f2afafef8fa613aea6e749a2a7f9089f40993544f3cec9e9 SHA512 418257a8e4c92a6d21c89f7725cd70f463f4dd53c798783b29c4166daac644501e4a03a180257dfe356bf30228dedcf7a672ad46ff6f36afd40a8efd9ad786f9
DIST aws-cli-1.26.2.gh.tar.gz 2292384 BLAKE2B 72a24a647ba73ce492f2c7c43984af2c7185da8415c3124c4d55acd81bb8bb8895d5d01232bf2267166094ba0ca24fa690c81838f28ef5b40fbcdaaa6fd93c5a SHA512 fc3569a9c81481fa2b1b04c74b89073724cea0c0f035f60ceb5a8f47f848a2a6c8e104ef1e1ed883c1d330c4b5c240c2b79e86d6eaf28c7a120d1c3cae826e92
+DIST aws-cli-1.26.3.gh.tar.gz 2292758 BLAKE2B b872cf8412628e1b8409fa96f2e1954cbb055bef0bb09485e42d458bbe43cc525fa4fd09bbe6060a6391f2f73952527e2b7aca59bb68bbb1d680884b0fd339c0 SHA512 9a74439c4a4ea43a32df1ab3022dab213ebd62401540bdebba6d263305582f538ce3dba128ac7723972c921c90e3f05fb86a1b5d533a3d36436f057799a9b506
+DIST aws-cli-1.26.4.gh.tar.gz 2293891 BLAKE2B 5565375f74d88b5e0ddc1a96ab461c63bad04ee7a624a7b77e71a3bfee44f75175e892d2a91a1d8e32f7d9cce9888f87109db0bc4aa5b032947d94cbf713b910 SHA512 74df7c09d4edad09745ee9d0412d288ef34230d8fced1b4c8471fb278032b4141c077fc5c3f458c6d76bd593d672c59f650f1372cf324a15e3b12afcabecec42
diff --git a/app-admin/awscli/awscli-1.26.3.ebuild b/app-admin/awscli/awscli-1.26.3.ebuild
new file mode 100644
index 000000000000..7bff39ee809a
--- /dev/null
+++ b/app-admin/awscli/awscli-1.26.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+MY_P=aws-cli-${PV}
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="
+ https://github.com/aws/aws-cli/
+ https://pypi.org/project/awscli/
+"
+SRC_URI="
+ https://github.com/aws/aws-cli/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+# botocore is x.(y+2).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/app-admin/awscli/awscli-1.26.4.ebuild b/app-admin/awscli/awscli-1.26.4.ebuild
new file mode 100644
index 000000000000..7bff39ee809a
--- /dev/null
+++ b/app-admin/awscli/awscli-1.26.4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+MY_P=aws-cli-${PV}
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="
+ https://github.com/aws/aws-cli/
+ https://pypi.org/project/awscli/
+"
+SRC_URI="
+ https://github.com/aws/aws-cli/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+# botocore is x.(y+2).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/app-admin/conky/conky-1.15.0.ebuild b/app-admin/conky/conky-1.15.0.ebuild
index 8803596b5d27..ec41cde86063 100644
--- a/app-admin/conky/conky-1.15.0.ebuild
+++ b/app-admin/conky/conky-1.15.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-3 BSD LGPL-2.1 MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm64 ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="apcupsd bundled-toluapp cmus curl doc extras hddtemp ical iconv imlib
intel-backlight iostats irc lua-cairo lua-imlib lua-rsvg math moc mpd
mysql ncurses nvidia +portmon pulseaudio rss systemd thinkpad truetype
diff --git a/app-admin/doas/doas-6.8.2.ebuild b/app-admin/doas/doas-6.8.2.ebuild
index 25d4f3a7608d..8d775443d9b9 100644
--- a/app-admin/doas/doas-6.8.2.ebuild
+++ b/app-admin/doas/doas-6.8.2.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="pam persist"
BDEPEND="virtual/yacc"
diff --git a/app-admin/eclean-kernel/eclean-kernel-0.4.3.ebuild b/app-admin/eclean-kernel/eclean-kernel-0.4.3.ebuild
index 0c366b25ea8b..7c8bf73a2541 100644
--- a/app-admin/eclean-kernel/eclean-kernel-0.4.3.ebuild
+++ b/app-admin/eclean-kernel/eclean-kernel-0.4.3.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{7,8} )
+PYTHON_COMPAT=( python3_8 )
inherit distutils-r1
DESCRIPTION="Remove outdated built kernels"
-HOMEPAGE="https://github.com/mgorny/eclean-kernel/"
-SRC_URI="https://github.com/mgorny/eclean-kernel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/projg2/eclean-kernel/"
+SRC_URI="https://github.com/projg2/eclean-kernel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/app-admin/eclean-kernel/eclean-kernel-1.99.4.ebuild b/app-admin/eclean-kernel/eclean-kernel-1.99.4.ebuild
index ae41700c874d..575548e459c4 100644
--- a/app-admin/eclean-kernel/eclean-kernel-1.99.4.ebuild
+++ b/app-admin/eclean-kernel/eclean-kernel-1.99.4.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Clean up old and stale kernel files"
-HOMEPAGE="https://github.com/mgorny/eclean-kernel2"
-SRC_URI="https://github.com/mgorny/eclean-kernel2/releases/download/v${PV}/${P}.tar.bz2"
+HOMEPAGE="https://github.com/projg2/eclean-kernel2"
+SRC_URI="https://github.com/projg2/eclean-kernel2/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
diff --git a/app-admin/eclean-kernel/eclean-kernel-2.99.3.ebuild b/app-admin/eclean-kernel/eclean-kernel-2.99.3.ebuild
index 27c2c00785a0..1ddf5d99f8da 100644
--- a/app-admin/eclean-kernel/eclean-kernel-2.99.3.ebuild
+++ b/app-admin/eclean-kernel/eclean-kernel-2.99.3.ebuild
@@ -9,8 +9,8 @@ PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Remove outdated built kernels"
-HOMEPAGE="https://github.com/mgorny/eclean-kernel/"
-SRC_URI="https://github.com/mgorny/eclean-kernel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/projg2/eclean-kernel/"
+SRC_URI="https://github.com/projg2/eclean-kernel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
@@ -21,7 +21,7 @@ RDEPEND="
kernel_linux? ( dev-python/pymountboot[${PYTHON_USEDEP}] )
lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
lzo? ( dev-python/python-lzo[${PYTHON_USEDEP}] )
- zstd? ( dev-python/zstandard[${PYTHON_USEDEP}] )
+ zstd? ( dev-python/python-zstandard[${PYTHON_USEDEP}] )
"
distutils_enable_tests pytest
diff --git a/app-admin/eclean-kernel/eclean-kernel-9999.ebuild b/app-admin/eclean-kernel/eclean-kernel-9999.ebuild
index c4682a7d1918..879888b0e4be 100644
--- a/app-admin/eclean-kernel/eclean-kernel-9999.ebuild
+++ b/app-admin/eclean-kernel/eclean-kernel-9999.ebuild
@@ -9,8 +9,8 @@ PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1 git-r3
DESCRIPTION="Remove outdated built kernels"
-HOMEPAGE="https://github.com/mgorny/eclean-kernel/"
-EGIT_REPO_URI="https://github.com/mgorny/eclean-kernel.git"
+HOMEPAGE="https://github.com/projg2/eclean-kernel/"
+EGIT_REPO_URI="https://github.com/projg2/eclean-kernel.git"
LICENSE="BSD"
SLOT="0"
@@ -21,7 +21,7 @@ RDEPEND="
kernel_linux? ( dev-python/pymountboot[${PYTHON_USEDEP}] )
lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
lzo? ( dev-python/python-lzo[${PYTHON_USEDEP}] )
- zstd? ( dev-python/zstandard[${PYTHON_USEDEP}] )
+ zstd? ( dev-python/python-zstandard[${PYTHON_USEDEP}] )
"
distutils_enable_tests pytest
diff --git a/app-admin/eclean-kernel/metadata.xml b/app-admin/eclean-kernel/metadata.xml
index 6c3f7b45181f..11fd9db9c6da 100644
--- a/app-admin/eclean-kernel/metadata.xml
+++ b/app-admin/eclean-kernel/metadata.xml
@@ -11,7 +11,7 @@
mgorny@gentoo.org
Michał Górny
- https://github.com/mgorny/eclean-kernel2/issues/
- mgorny/eclean-kernel2
+ https://github.com/projg2/eclean-kernel2/issues/
+ projg2/eclean-kernel2
diff --git a/app-admin/hddtemp/metadata.xml b/app-admin/hddtemp/metadata.xml
index f057c474627f..c3e338c7db9a 100644
--- a/app-admin/hddtemp/metadata.xml
+++ b/app-admin/hddtemp/metadata.xml
@@ -3,8 +3,9 @@
+
+ hddtemp
+
diff --git a/app-admin/keepassxc/Manifest b/app-admin/keepassxc/Manifest
index b05501f8dc26..40e3c23e67d0 100644
--- a/app-admin/keepassxc/Manifest
+++ b/app-admin/keepassxc/Manifest
@@ -1,2 +1,3 @@
DIST keepassxc-2.7.1.tar.gz 11168642 BLAKE2B 4708821c596e8fc736e086a700d5526be6d9c4cfcb270e3a0a8b73395e9ca3544cbb5973494b15d66e0b98264f4e79d9fa122961407211d346275a9aa1bd5cae SHA512 c2f780ba1f464b32f741d1c6e83734ff220de56dce382f3c38d940abf255d689559c13bff6ad565c38c18cfdb1d883aca52650dba0486e3e28bb4ef872253cc9
DIST keepassxc-2.7.3-src.tar.xz 8963496 BLAKE2B 7f467960eb618d771e24980caa41ee15ecbb2bbfc6c0d37ddf1c8209e06b81a30b157c9ce00b3fd6c91c39ebaad60cec3513f7c1a64c8b7e0e2f0a116246f080 SHA512 29bf067308915d5ac7843eff3bcfb6c4c53a2108e9e2f5349ed03a0b8893f143dcc743cfc175c0831709bafef566d66baa31c5fe3e6fa5fc9c621bf87362e842
+DIST keepassxc-2.7.4-src.tar.xz 8957372 BLAKE2B 5b8ea105c35956f85779187df624f373f9e6937e1edc454b2a5cbc851ddd2ef0dd556ec74242e3a67c314c1e4b0750987a498d245c3463a5e92254ad0c394ab4 SHA512 76b6ba0891d9ba92a5794ba6f25dc8a28f7c1c0f010c31dd49d52ac4c5f186d9c4b51e6f054102b6dfe2d8e766607455829c1994c7ea238efc8f172bbe29b8eb
diff --git a/app-admin/keepassxc/files/keepassxc-2.7.4-tests.patch b/app-admin/keepassxc/files/keepassxc-2.7.4-tests.patch
new file mode 100644
index 000000000000..ccee26cb5ba9
--- /dev/null
+++ b/app-admin/keepassxc/files/keepassxc-2.7.4-tests.patch
@@ -0,0 +1,13 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -231,10 +231,6 @@ if(WITH_XC_BROWSER)
+ LIBS ${TEST_LIBRARIES})
+ endif()
+
+-add_unit_test(NAME testcli SOURCES TestCli.cpp
+- LIBS testsupport cli ${TEST_LIBRARIES})
+-target_compile_definitions(testcli PRIVATE KEEPASSX_CLI_PATH="$")
+-
+ if(WITH_GUI_TESTS)
+ add_subdirectory(gui)
+ endif(WITH_GUI_TESTS)
diff --git a/app-admin/keepassxc/keepassxc-2.7.4.ebuild b/app-admin/keepassxc/keepassxc-2.7.4.ebuild
new file mode 100644
index 000000000000..eced3151172f
--- /dev/null
+++ b/app-admin/keepassxc/keepassxc-2.7.4.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
+HOMEPAGE="https://keepassxc.org/
+ https://github.com/keepassxreboot/keepassxc/"
+
+if [[ "${PV}" != *9999 ]] ; then
+ if [[ "${PV}" == *_beta* ]] ; then
+ SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+ else
+ #SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+ fi
+else
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
+ [[ "${PV}" != 9999 ]] && EGIT_BRANCH="master"
+fi
+
+LICENSE="LGPL-2.1 GPL-2 GPL-3"
+SLOT="0"
+IUSE="X autotype browser doc keeshare +network test yubikey"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="autotype? ( X )"
+
+RDEPEND="
+ app-crypt/argon2:=
+ dev-libs/botan:2=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-gfx/qrencode:=
+ sys-libs/readline:0=
+ sys-libs/zlib:=
+ X? ( dev-qt/qtx11extras:5 )
+ autotype? (
+ x11-libs/libX11
+ x11-libs/libXtst
+ )
+ keeshare? ( sys-libs/zlib:=[minizip] )
+ yubikey? (
+ dev-libs/libusb:1
+ sys-apps/pcsc-lite
+ )
+"
+DEPEND="${RDEPEND}
+ dev-qt/qttest:5
+"
+BDEPEND="
+ dev-qt/linguist-tools:5
+ doc? ( dev-ruby/asciidoctor )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+
+src_prepare() {
+ if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *9999 ]] && [[ ! -f .version ]] ; then
+ printf '%s' "${PV}" > .version || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # https://github.com/keepassxreboot/keepassxc/issues/5801
+ filter-flags -flto*
+
+ local mycmakeargs=(
+ # Gentoo users enable ccache via e.g. FEATURES=ccache or
+ # other means. We don't want the build system to enable it for us.
+ -DWITH_CCACHE=OFF
+ -DWITH_GUI_TESTS=OFF
+ -DWITH_TESTS="$(usex test)"
+ -DWITH_XC_AUTOTYPE="$(usex autotype)"
+ -DWITH_XC_DOCS="$(usex doc)"
+ -DWITH_XC_BROWSER="$(usex browser)"
+ -DWITH_XC_FDOSECRETS=ON
+ -DWITH_XC_KEESHARE="$(usex keeshare)"
+ -DWITH_XC_NETWORKING="$(usex network)"
+ -DWITH_XC_SSHAGENT=ON
+ -DWITH_XC_UPDATECHECK=OFF
+ -DWITH_XC_YUBIKEY="$(usex yubikey)"
+ -DWITH_XC_X11="$(usex X)"
+ )
+ if [[ "${PV}" == *_beta* ]] ; then
+ mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
+ fi
+ cmake_src_configure
+}
diff --git a/app-admin/metalog/metadata.xml b/app-admin/metalog/metadata.xml
index acdb1bbf3594..61646ab7d054 100644
--- a/app-admin/metalog/metadata.xml
+++ b/app-admin/metalog/metadata.xml
@@ -7,5 +7,6 @@
metalog
+ hvisage/metalog
diff --git a/app-admin/openrc-settingsd/metadata.xml b/app-admin/openrc-settingsd/metadata.xml
index e9500dd5af81..c24b007e3b95 100644
--- a/app-admin/openrc-settingsd/metadata.xml
+++ b/app-admin/openrc-settingsd/metadata.xml
@@ -1,12 +1,14 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ postmarketOS/openrc-settingsd
+
diff --git a/app-admin/ryzen_smu/ryzen_smu-0.1.2_p20211205.ebuild b/app-admin/ryzen_smu/ryzen_smu-0.1.2_p20211205.ebuild
index aa763072c39c..96e15892d055 100644
--- a/app-admin/ryzen_smu/ryzen_smu-0.1.2_p20211205.ebuild
+++ b/app-admin/ryzen_smu/ryzen_smu-0.1.2_p20211205.ebuild
@@ -26,7 +26,17 @@ pkg_setup() {
linux-mod_pkg_setup
BUILD_TARGETS="modules"
- BUILD_PARAMS="CC=$(tc-getCC) KERNEL_BUILD=${KERNEL_DIR}"
+ BUILD_PARAMS="KERNEL_BUILD=${KERNEL_DIR}"
+ if linux_chkconfig_present CC_IS_CLANG; then
+ BUILD_PARAMS+=" CC=${CHOST}-clang"
+ if linux_chkconfig_present LD_IS_LLD; then
+ BUILD_PARAMS+=' LD=ld.lld'
+ if linux_chkconfig_present LTO_CLANG_THIN; then
+ # kernel enables cache by default leading to sandbox violations
+ BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
+ fi
+ fi
+ fi
}
src_install() {
diff --git a/app-admin/sudo/files/sudo-1.9.12-mips-build.patch b/app-admin/sudo/files/sudo-1.9.12-mips-build.patch
new file mode 100644
index 000000000000..d45393dba443
--- /dev/null
+++ b/app-admin/sudo/files/sudo-1.9.12-mips-build.patch
@@ -0,0 +1,33 @@
+https://github.com/sudo-project/sudo/commit/7944494196d4a9b33e0ae64a7e20f86e19c336d3
+https://bugs.gentoo.org/878401
+
+From 7944494196d4a9b33e0ae64a7e20f86e19c336d3 Mon Sep 17 00:00:00 2001
+From: "Todd C. Miller"
+Date: Wed, 26 Oct 2022 16:35:30 -0600
+Subject: [PATCH] Fix compilation error on Linux/mips.
+
+--- a/src/exec_ptrace.c
++++ b/src/exec_ptrace.c
+@@ -282,16 +282,17 @@ set_sc_arg4(struct sudo_ptrace_regs *regs, unsigned long addr)
+ static bool
+ ptrace_getregs(int pid, struct sudo_ptrace_regs *regs, int compat)
+ {
++ struct iovec iov;
+ debug_decl(ptrace_getregs, SUDO_DEBUG_EXEC);
+
++ iov.iov_base = ®s->u;
++ iov.iov_len = sizeof(regs->u);
++
+ # ifdef __mips__
+ /* PTRACE_GETREGSET has bugs with the MIPS o32 ABI at least. */
+- if (ptrace(PTRACE_GETREGS, pid, NULL, ®s->u) == -1)
++ if (ptrace(PTRACE_GETREGS, pid, NULL, iov.iov_base) == -1)
+ debug_return_bool(false);
+ # else
+- struct iovec iov;
+- iov.iov_base = ®s->u;
+- iov.iov_len = sizeof(regs->u);
+ if (ptrace(PTRACE_GETREGSET, pid, (void *)NT_PRSTATUS, &iov) == -1)
+ debug_return_bool(false);
+ # endif /* __mips__ */
+
diff --git a/app-admin/sudo/sudo-1.9.12.ebuild b/app-admin/sudo/sudo-1.9.12.ebuild
index 046d001b4139..d3e78ea71235 100644
--- a/app-admin/sudo/sudo-1.9.12.ebuild
+++ b/app-admin/sudo/sudo-1.9.12.ebuild
@@ -82,6 +82,10 @@ REQUIRED_USE="
MAKEOPTS+=" SAMPLES="
+PATCHES=(
+ "${FILESDIR}"/${P}-mips-build.patch
+)
+
src_prepare() {
default
diff --git a/app-admin/sysklogd/metadata.xml b/app-admin/sysklogd/metadata.xml
index 820601cdf92a..deb7717010d8 100644
--- a/app-admin/sysklogd/metadata.xml
+++ b/app-admin/sysklogd/metadata.xml
@@ -9,4 +9,7 @@
Build the logger program
use app-admin/logrotate for rotating logs rather than custom cron scripts
+
+ troglobit/sysklogd
+
diff --git a/app-admin/syslog-ng/Manifest b/app-admin/syslog-ng/Manifest
index bcde98348628..c5fe49971311 100644
--- a/app-admin/syslog-ng/Manifest
+++ b/app-admin/syslog-ng/Manifest
@@ -2,3 +2,4 @@ DIST syslog-ng-3.34.1.tar.gz 5903489 BLAKE2B ae94dacb324f2db68fdaad6d41d1974e450
DIST syslog-ng-3.35.1.tar.gz 5901321 BLAKE2B 9ee93c22358703bc95c951f6fc9207da0291b3d5a6dedf0222302ca16576f49734d31891265c8c1d218a0308a76074301babbaa39b37e1564107e2ab6adf8a92 SHA512 7a0aa149d3e01b256e0f3168ceabebcbeadb0d8bbee6838d646cb425571b26330cccbcdd3a221f7b57a4605e875f48e48cd367825623299dc43d5ba77f94c50d
DIST syslog-ng-3.36.1.tar.gz 5968598 BLAKE2B b74536e20ae2a2eac056fe278f2e7973b3c97657cd80962ee551812633045dbdeb65fe34b66448d565a6f1b9edb2f1066fc1934d3f7ffbd43b9527a73a181e58 SHA512 b74c10e708616f7f5f5d529de5c1a3ce8ac888c05aa4b0fcf390d70082e9bc3432f3752998a5a258663fd47b8e4d0c2735240a3e4eda28178579b18308ebb376
DIST syslog-ng-3.37.1.tar.gz 6033219 BLAKE2B fe3787daec137d5eb61c6bf55d6066b642e7944738ec0655fcc7ddf8d0c841a734ec423b0710f424576fa78bbecfb1121475921e6f8bf896c10470c89dbf98c8 SHA512 beebd89c54a415469dc58630ac1900d632ef351f6a13fad4a95ce7bb1760b16d6cfdcede02225a35e97ebce7dae151c6aa228f3d378463e8b873c4f71ed86ab7
+DIST syslog-ng-3.38.1.tar.gz 5405048 BLAKE2B 7819cbe0caab7f580ca9f71181c84d64da838a238a6f8b8b79c8816e37e5691e72e1284de57d5066d3c681d8751950e5a32d65a1b1af4e064dd82f2c59899fe3 SHA512 3a3ef5c72d8c211ed2914791380061dcd48ea1ea95f636a1a8649dc5dee731a11e9ae000a37cbeeba624f4053b623b697e6c7f945a81153106c2365f4f09a847
diff --git a/app-admin/syslog-ng/metadata.xml b/app-admin/syslog-ng/metadata.xml
index ba670d623e06..d14d65a0a573 100644
--- a/app-admin/syslog-ng/metadata.xml
+++ b/app-admin/syslog-ng/metadata.xml
@@ -22,6 +22,6 @@
Enable support for spoofed source addresses
- balabit/syslog-ng
+ syslog-ng/syslog-ng
diff --git a/app-admin/syslog-ng/syslog-ng-3.34.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.34.1.ebuild
index 1f9d4085ac77..d6092f450695 100644
--- a/app-admin/syslog-ng/syslog-ng-3.34.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-3.34.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=7
@@ -8,7 +8,7 @@ inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
diff --git a/app-admin/syslog-ng/syslog-ng-3.35.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.35.1.ebuild
index e90b2ae809a2..370e085506e5 100644
--- a/app-admin/syslog-ng/syslog-ng-3.35.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-3.35.1.ebuild
@@ -8,7 +8,7 @@ inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
diff --git a/app-admin/syslog-ng/syslog-ng-3.36.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.36.1.ebuild
index 18cd7826fd7b..bc68263f9a85 100644
--- a/app-admin/syslog-ng/syslog-ng-3.36.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-3.36.1.ebuild
@@ -8,7 +8,7 @@ inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
diff --git a/app-admin/syslog-ng/syslog-ng-3.37.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.37.1.ebuild
index 6914d08d03e8..29cc2377063b 100644
--- a/app-admin/syslog-ng/syslog-ng-3.37.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-3.37.1.ebuild
@@ -8,7 +8,7 @@ inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
diff --git a/app-admin/syslog-ng/syslog-ng-3.38.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.38.1.ebuild
new file mode 100644
index 000000000000..29cc2377063b
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-3.38.1.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit autotools python-single-r1 systemd
+
+MY_PV_MM=$(ver_cut 1-2)
+DESCRIPTION="syslog replacement with advanced filtering features"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
+SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.10.1:2
+ >=dev-libs/ivykis-0.42.4
+ >=dev-libs/libpcre-6.1:=
+ !dev-libs/eventlog
+ amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
+ caps? ( sys-libs/libcap )
+ dbi? ( >=dev-db/libdbi-0.9.0 )
+ geoip2? ( dev-libs/libmaxminddb:= )
+ http? ( net-misc/curl )
+ json? ( >=dev-libs/json-c-0.9:= )
+ kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+ python? ( ${PYTHON_DEPS} )
+ redis? ( >=dev-libs/hiredis-0.11.0:= )
+ smtp? ( net-libs/libesmtp:= )
+ snmp? ( net-analyzer/net-snmp:0= )
+ spoof-source? ( net-libs/libnet:1.1= )
+ systemd? ( sys-apps/systemd:= )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ dev-libs/openssl:0="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/criterion )"
+BDEPEND="
+ >=sys-devel/bison-3.7.6
+ sys-devel/flex
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
+ contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
+ "${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ local f
+
+ use python && python_fix_shebang .
+
+ # remove bundled libs
+ rm -r lib/ivykis || die
+
+ # drop scl modules requiring json
+ if use !json; then
+ sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
+ fi
+
+ # drop scl modules requiring http
+ if use !http; then
+ sed -i -r '/slack|telegram/d' scl/Makefile.am || die
+ fi
+
+ # use gentoo default path
+ if use systemd; then
+ sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
+ -i contrib/systemd/syslog-ng@default || die
+ fi
+
+ for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
+ sed \
+ -e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
+ "/etc/init.d/syslog-ng reload")#g" \
+ "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+ done
+
+ for f in syslog-ng.conf.gentoo.hardened.in \
+ syslog-ng.conf.gentoo.in; do
+ sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --enable-manpages
+ --localstatedir=/var/lib/syslog-ng
+ --sysconfdir=/etc/syslog-ng
+ --with-embedded-crypto
+ --with-ivykis=system
+ --with-module-dir=/usr/$(get_libdir)/syslog-ng
+ --with-pidfile-dir=/var/run
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ $(use_enable amqp)
+ $(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
+ $(use_enable caps linux-caps)
+ $(use_enable dbi sql)
+ $(use_enable geoip2)
+ $(use_enable http)
+ $(use_enable ipv6)
+ $(use_enable json)
+ $(use_enable kafka)
+ $(use_enable mongodb)
+ $(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
+ $(use_enable pacct)
+ $(use_enable python)
+ $(use_enable redis)
+ $(use_enable smtp)
+ $(use_enable snmp afsnmp)
+ $(use_enable spoof-source)
+ $(use_enable systemd)
+ $(use_enable tcpd tcp-wrapper)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ # Install default configuration
+ insinto /etc/default
+ doins contrib/systemd/syslog-ng@default
+
+ insinto /etc/syslog-ng
+ newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
+
+ insinto /etc/logrotate.d
+ newins "${T}/syslog-ng.logrotate" syslog-ng
+
+ newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
+ newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
+ keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
+ find "${D}" -name '*.la' -delete || die
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ # bug #355257
+ if ! has_version app-admin/logrotate ; then
+ elog "It is highly recommended that app-admin/logrotate be emerged to"
+ elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
+ elog "for logrotate to use."
+ fi
+
+ if use systemd; then
+ ewarn "The service file for systemd has changed to support multiple instances."
+ ewarn "To start the default instance issue:"
+ ewarn "# systemctl start syslog-ng@default"
+ fi
+}
diff --git a/app-admin/system-config-printer/metadata.xml b/app-admin/system-config-printer/metadata.xml
index b1e4e8c877ae..e34a1cb28469 100644
--- a/app-admin/system-config-printer/metadata.xml
+++ b/app-admin/system-config-printer/metadata.xml
@@ -1,16 +1,19 @@
-
- reavertm@gentoo.org
- Maciej Mrozowski
-
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- kde@gentoo.org
- Gentoo KDE Project
-
+
+ reavertm@gentoo.org
+ Maciej Mrozowski
+
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ kde@gentoo.org
+ Gentoo KDE Project
+
+
+ OpenPrinting/system-config-printer
+
diff --git a/app-admin/xtail/xtail-2.1-r1.ebuild b/app-admin/xtail/xtail-2.1-r1.ebuild
deleted file mode 100644
index 9f010062d31f..000000000000
--- a/app-admin/xtail/xtail-2.1-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="Tail multiple logfiles at once, even if rotated"
-HOMEPAGE="http://www.unicom.com/sw/xtail/"
-SRC_URI="
- http://www.unicom.com/sw/xtail/${P}.tar.gz
- http://www.unicom.com/files/20120219-patch-aalto.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-
-PATCHES=(
- "${WORKDIR}"/0001-Use-ISO8601-Fix-Gcc-header-Use-C-c.patch
- "${WORKDIR}"/0001-xtail.1-remove-SIGQUIT.patch
- "${WORKDIR}"/xtail_2.1-5-debian-local-changes.patch
-)
-
-src_configure() {
- tc-export CC
- default
-}
-
-src_install() {
- dobin xtail
- doman xtail.1
- dodoc README
- newdoc ../README README.patches
-}
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index 21088578b95c..0e682a5b087b 100644
Binary files a/app-arch/Manifest.gz and b/app-arch/Manifest.gz differ
diff --git a/app-arch/bzip2/metadata.xml b/app-arch/bzip2/metadata.xml
index 87e613c2ed69..e3880e673f7f 100644
--- a/app-arch/bzip2/metadata.xml
+++ b/app-arch/bzip2/metadata.xml
@@ -7,5 +7,6 @@
cpe:/a:bzip:bzip2
+ bzip2/bzip2
diff --git a/app-arch/cpio/cpio-2.13-r2.ebuild b/app-arch/cpio/cpio-2.13-r3.ebuild
similarity index 68%
rename from app-arch/cpio/cpio-2.13-r2.ebuild
rename to app-arch/cpio/cpio-2.13-r3.ebuild
index c3924649236b..a09ffc983c4c 100644
--- a/app-arch/cpio/cpio-2.13-r2.ebuild
+++ b/app-arch/cpio/cpio-2.13-r3.ebuild
@@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-CVE-2021
LICENSE="GPL-3+"
SLOT="0"
-#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"
+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="nls"
PATCHES=(
@@ -34,7 +34,17 @@ src_configure() {
$(use_enable nls)
--bindir="${EPREFIX}"/bin
--with-rmt="${EPREFIX}"/usr/sbin/rmt
+ # install as gcpio for better compatibility with non-GNU userland
+ --program-prefix=g
)
econf "${myeconfargs[@]}"
}
+
+src_install() {
+ default
+
+ # make cpio a symlink
+ dosym gcpio /bin/cpio
+ dosym gcpio.1 /usr/share/man/man1/cpio.1
+}
diff --git a/app-arch/cpio/cpio-2.13.ebuild b/app-arch/cpio/cpio-2.13.ebuild
deleted file mode 100644
index e2628b6b7e94..000000000000
--- a/app-arch/cpio/cpio-2.13.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A file archival tool which can also read and write tar files"
-HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
-SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
-
-LICENSE="GPL-3+"
-SLOT="0"
-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="nls"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
- "${FILESDIR}"/${PN}-2.12-gcc-10.patch #705900
-)
-
-src_configure() {
- local myeconfargs=(
- $(use_enable nls)
- --bindir="${EPREFIX}"/bin
- --with-rmt="${EPREFIX}"/usr/sbin/rmt
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/app-arch/createrepo_c/metadata.xml b/app-arch/createrepo_c/metadata.xml
index a8e77b1ab467..142bf59db6a8 100644
--- a/app-arch/createrepo_c/metadata.xml
+++ b/app-arch/createrepo_c/metadata.xml
@@ -9,4 +9,7 @@
sam@gentoo.org
Sam James
+
+ rpm-software-management/createrepo_c
+
diff --git a/app-arch/file-roller/metadata.xml b/app-arch/file-roller/metadata.xml
index 9f23dc396c05..95e520228548 100644
--- a/app-arch/file-roller/metadata.xml
+++ b/app-arch/file-roller/metadata.xml
@@ -1,16 +1,15 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
-
- fileroller
- cpe:/a:paolo_bacchilega:file_roller
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ cpe:/a:paolo_bacchilega:file_roller
+ GNOME/file-roller
+
diff --git a/app-arch/gcab/metadata.xml b/app-arch/gcab/metadata.xml
index 7b343b06be8a..ca769f6cf4a9 100644
--- a/app-arch/gcab/metadata.xml
+++ b/app-arch/gcab/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gcab
+
diff --git a/app-arch/gnome-autoar/metadata.xml b/app-arch/gnome-autoar/metadata.xml
index 98b32ae2f3a4..28848d12a0dd 100644
--- a/app-arch/gnome-autoar/metadata.xml
+++ b/app-arch/gnome-autoar/metadata.xml
@@ -1,11 +1,14 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- gnome-autoar provides functions, widgets, and gschemas for GNOME applications which want to use archives as a method to transfer directories over the Internet.
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ gnome-autoar provides functions, widgets, and gschemas for GNOME applications which want to use archives as a method to transfer directories over the Internet.
+
+
+ GNOME/gnome-autoar
+
diff --git a/app-arch/tar/tar-1.34-r1.ebuild b/app-arch/tar/tar-1.34-r1.ebuild
new file mode 100644
index 000000000000..35df40e4465b
--- /dev/null
+++ b/app-arch/tar/tar-1.34-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/tar.asc
+inherit verify-sig
+
+DESCRIPTION="Use this to make tarballs :)"
+HOMEPAGE="https://www.gnu.org/software/tar/"
+SRC_URI="mirror://gnu/tar/${P}.tar.xz
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz"
+SRC_URI+=" verify-sig? (
+ mirror://gnu/tar/${P}.tar.xz.sig
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
+ )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+if [[ -z "$(ver_cut 3)" ]] || [[ "$(ver_cut 3)" -lt 90 ]] ; then
+ 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"
+fi
+IUSE="acl minimal nls selinux xattr"
+
+RDEPEND="
+ acl? ( virtual/acl )
+ selinux? ( sys-libs/libselinux )
+"
+DEPEND="${RDEPEND}
+ xattr? ( elibc_glibc? ( sys-apps/attr ) )
+"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-tar )
+"
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/bin
+ --enable-backup-scripts
+ --libexecdir="${EPREFIX}"/usr/sbin
+ $(use_with acl posix-acls)
+ $(use_enable nls)
+ $(use_with selinux)
+ $(use_with xattr xattrs)
+
+ # autoconf looks for gtar before tar (in configure scripts), hence
+ # in Prefix it is important that it is there, otherwise, a gtar from
+ # the host system (FreeBSD, Solaris, Darwin) will be found instead
+ # of the Prefix provided (GNU) tar
+ --program-prefix=g
+ )
+
+ FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # a nasty yet required piece of baggage
+ exeinto /etc
+ doexe "${FILESDIR}"/rmt
+
+ mv "${ED}"/usr/sbin/{gbackup,backup-tar} || die
+ mv "${ED}"/usr/sbin/{grestore,restore-tar} || die
+ mv "${ED}"/usr/sbin/{g,}backup.sh || die
+ mv "${ED}"/usr/sbin/{g,}dump-remind || die
+
+ if use minimal ; then
+ find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
+ -type f -a '!' -name gtar \
+ -delete || die
+ fi
+
+ # make tar a symlink
+ dosym gtar /bin/tar
+
+ if ! use minimal; then
+ dosym grmt /usr/sbin/rmt
+ fi
+
+ dosym gtar.1 /usr/share/man/man1/tar.1
+ dosym grmt.8 /usr/share/man/man8/rmt.8
+}
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest
index 57102074750a..1ae4de9fbcd9 100644
--- a/app-arch/xz-utils/Manifest
+++ b/app-arch/xz-utils/Manifest
@@ -1,5 +1,3 @@
-DIST xz-5.2.6.tar.gz 2069602 BLAKE2B 3cc160dc76944ad2a181fbfb23ce386dbbd04e75bbeb0b159aaaf82e2e8157ea8b2bb80b216d79a7c25339bfbd13bd9d8c261789829cc7c3cb86fc893a7b4b94 SHA512 090958dd6c202c989746686094c86707ad4ae835026640080fc0a9d0fad699821b7d5cb3a67e6700661a0938818ba153662366f89ab8ec47e0bae4a3fe9b1961
-DIST xz-5.2.6.tar.gz.sig 566 BLAKE2B 7c6114d93b4e3c8553108da3985029fc4585bfea5d72fc5028024221e91cc43c3b6cd3b7d169e4c8afed445a6beef7c255ef8420c5266a22ee9449a57cacec5d SHA512 50a1ac0f8f87f8c04c25c69870ba054094abf20b668bdecd42ed247a2eff24b8e52178b6442da84c125a9401a6f98d40ca76b27453833a30807c83128ab70eee
DIST xz-5.2.7.tar.gz 2105803 BLAKE2B 5363c5d0403e041c6d2e35b5d3321feeb8e63b8556496373c820975850b50e28e0da903446a49ba516fd9f40e0101dd39cfa9a9b8dd143c9849c84a715bb5d7b SHA512 06329fdbd1d897aa99dc96900c6246457288c586d02bb4869a92dd2f97973f95acb3a2fa9598a20613ea029f816836a8e3b65e36fec2b807b5e7553141429ab9
DIST xz-5.2.7.tar.gz.sig 566 BLAKE2B 00702dff24d655ebf30f2bf8bee94406e002164408b9eabb4f461a789482584c2b9c90675b8d1d5e030913e674946aa7392b73fcedf6ac62e3b1e3bc05bf92e6 SHA512 556e05107437fae2c75cc1a93465fce04426707e979403f41c6ee5b748fe7c3f985812a4e3b07785a84f68ef9d9f362ded470af1cceb9f4e8c80620a2699163f
DIST xz-5.3.3alpha.tar.gz 2119150 BLAKE2B 031e1a1556cbbd49565c2b72676e46a22c00e0e25bca2938c21d56f2d7f585c294d2a3a5712a3ae5d62fe8fef6e7b2f411fcc3c0ccac4714786209599b599d25 SHA512 c780c6854cb7599ed97629dbf923f5c6802b48e12aa25638c863e2403e56557abffb2b501823d4d53c852b7d09360b9ede355989756fef1daa1fa8cd9395da8d
diff --git a/app-arch/xz-utils/xz-utils-5.2.6.ebuild b/app-arch/xz-utils/xz-utils-5.2.6.ebuild
deleted file mode 100644
index e2fc3bcfe2f8..000000000000
--- a/app-arch/xz-utils/xz-utils-5.2.6.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Remember: we cannot leverage autotools in this ebuild in order
-# to avoid circular deps with autotools
-
-EAPI=7
-
-inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.tukaani.org/xz.git"
- inherit git-r3 autotools
-
- # bug #272880 and bug #286068
- BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/lassecollin.asc
- inherit verify-sig
-
- MY_P="${PN/-utils}-${PV/_}"
- SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
-
- if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
- 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"
- fi
-
- S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="Utils for managing LZMA compressed files"
-HOMEPAGE="https://tukaani.org/xz/"
-
-# See top-level COPYING file as it outlines the various pieces and their licenses.
-LICENSE="public-domain LGPL-2.1+ GPL-2+"
-SLOT="0"
-IUSE="+extra-filters nls static-libs"
-
-RDEPEND="! ${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="lz4 static-libs +threads"
-
-RDEPEND="app-arch/xz-utils
- lz4? ( app-arch/lz4 )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-mymake() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- V=1 \
- "${@}"
-}
-
-multilib_src_compile() {
- local libzstd_targets=( libzstd{,.a}$(usex threads '-mt' '') )
-
- mymake -C lib ${libzstd_targets[@]} libzstd.pc
-
- if multilib_is_native_abi ; then
- mymake HAVE_LZ4="$(usex lz4 1 0)" zstd
-
- mymake -C contrib/pzstd
- fi
-}
-
-multilib_src_install() {
- mymake -C lib DESTDIR="${D}" install
-
- if multilib_is_native_abi ; then
- mymake -C programs DESTDIR="${D}" install
-
- mymake -C contrib/pzstd DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/app-cdr/Manifest.gz b/app-cdr/Manifest.gz
index d46ff66c9d66..75a916686c4c 100644
Binary files a/app-cdr/Manifest.gz and b/app-cdr/Manifest.gz differ
diff --git a/app-cdr/brasero/metadata.xml b/app-cdr/brasero/metadata.xml
index 25591ecd5ced..670cc5b16e45 100644
--- a/app-cdr/brasero/metadata.xml
+++ b/app-cdr/brasero/metadata.xml
@@ -1,17 +1,17 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ GNOME/brasero
+
diff --git a/app-crypt/Manifest.gz b/app-crypt/Manifest.gz
index 2525c6b8f961..41bfd382845f 100644
Binary files a/app-crypt/Manifest.gz and b/app-crypt/Manifest.gz differ
diff --git a/app-crypt/argon2/metadata.xml b/app-crypt/argon2/metadata.xml
index 950b7c84aecd..e1a7b6edc5a5 100644
--- a/app-crypt/argon2/metadata.xml
+++ b/app-crypt/argon2/metadata.xml
@@ -17,6 +17,7 @@
Reflect ABI of libargon2.so.
+ cpe:/a:argon2_project:argon2
P-H-C/phc-winner-argon2
diff --git a/app-crypt/gcr/metadata.xml b/app-crypt/gcr/metadata.xml
index 7b343b06be8a..11816fc8230a 100644
--- a/app-crypt/gcr/metadata.xml
+++ b/app-crypt/gcr/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gcr
+
diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest
index 889592c85d9c..08e0bcdd792b 100644
--- a/app-crypt/gnupg/Manifest
+++ b/app-crypt/gnupg/Manifest
@@ -2,7 +2,5 @@ DIST gnupg-2.2.39.tar.bz2 7290098 BLAKE2B a9e31830f3ef9ec6d8d461a85fcbe4b91bcac9
DIST gnupg-2.2.39.tar.bz2.sig 119 BLAKE2B 584d7d36671670ac507948257e9c6be556ed2a2d3c0100bb2746edfe96df5ee1d4c6172fe0cae39d85fc290097bc5f6e1b351debc8ec2f5cc78047354fbed016 SHA512 6f7d7c2d1fae706b03c735cf453976c3aebef3f23659426f39a88c63d979f4d873ae09280d75dee9000805468d2a7f49d348609061939000f7cedf34ec5c6019
DIST gnupg-2.2.40.tar.bz2 7301631 BLAKE2B c9a077e28b22888573bdd12029205eb5f79a463a297e400a623bc86a39eeb6454cd884d05bd96734998613c695f2c9dcc68963c7275b89938ac38ddc7ba1e229 SHA512 4c2f5fbf37ba6fbad0045aad23129186963010c673ea0b81801adc4f98efe14d6c7228e22815b6b26307c1fe5bb51cd088aa6a0f06a9325d3c021849ef81c594
DIST gnupg-2.2.40.tar.bz2.sig 119 BLAKE2B baaffad8203169fca54be031b3c77f818ecf973c73b9389cb3cbcd8217ae8a6018f0d3d4d2d5b6f0611f7643b78467f91902add3107e9538273607c6ba3a49bf SHA512 fccc06c709450d58e64716c505cd79556edac440462613c47c6ec78714355425c045418946b4b4b2a5c79e33e0e75b20f0699ae6de9921add4877fd6c8cc2d64
-DIST gnupg-2.3.7.tar.bz2 7599853 BLAKE2B 3e9e33c8357222f42cc0e2af538e9f1f1f0453f35d790aaadf47ce9df24229efa91457b6014b34f19084448a3a6603c82e7d07714b89a68c6a84a08af6fa0e02 SHA512 c7fe169050ef17051cdaac9ad476e7ea792483baad1208fc359d568fa9e138d920ecaa2cd9cae73b20f5472a7d8ca6540a62062ff7a06055cc656b0eb4b917b9
-DIST gnupg-2.3.7.tar.bz2.sig 119 BLAKE2B c2652adf203bc828ed0aaf778542e990028156c16b435cd35aa6fe57ca0a5b798087c98e16589685c8ab9b8b92e16c3f7d4da56a4b1209b9adf2c24ea548ae6e SHA512 0257034b3e7ac390dadb151c656ff59822dacedaddca4ad6b5980b3e03a468ada47553e6a1fcff6a12c64ae2f9c15b245df855cd424b010041df8daaaab9a1b8
DIST gnupg-2.3.8.tar.bz2 7644926 BLAKE2B afb960adb877398363d92585d54bccc82c816f87b4489835950c19fc330edbf5302f7f958fdc6333b80d2e34730c9518e6abffea721891fd76c1b2ff2aa704be SHA512 6df8b1c53f0112c358f9f9eac732dd4ca13bcec24fc55a7d4a606587da988c5b7bb4c61be52b8b7769f1536dd2043087e6eb5cf224991cb0b2ed38ad00717ee2
DIST gnupg-2.3.8.tar.bz2.sig 119 BLAKE2B 29a133605d72dc4c102ec9a82d654cb980a72463fdc6e255d595e0559bb08860dcb1b014681e1d177eb29c0d32f4ce4ef6caefa6558f1cb97c87c42fb426ea63 SHA512 d97a92c245df997dbff800b25872e9f0769b20e9336b12682b4539fd4fe0e9c2dada7af397b8afeeeba316100b8f4dd86ba96e1dc62cee70158927229b0a015d
diff --git a/app-crypt/gnupg/files/gnupg-2.3.7-yubikey-workaround-fix.patch b/app-crypt/gnupg/files/gnupg-2.3.7-yubikey-workaround-fix.patch
deleted file mode 100644
index 94062c885b5b..000000000000
--- a/app-crypt/gnupg/files/gnupg-2.3.7-yubikey-workaround-fix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=f34b9147eb3070bce80d53febaa564164cd6c977
-
-From f34b9147eb3070bce80d53febaa564164cd6c977 Mon Sep 17 00:00:00 2001
-From: NIIBE Yutaka
-Date: Wed, 13 Jul 2022 10:40:55 +0900
-Subject: [PATCH] scd:openpgp: Fix workaround for Yubikey heuristics.
-
-* scd/app-openpgp.c (parse_algorithm_attribute): Handle the case
-of firmware 5.4, too.
-
---
-
-GnuPG-bug-id: 6070
-Signed-off-by: NIIBE Yutaka
---- a/scd/app-openpgp.c
-+++ b/scd/app-openpgp.c
-@@ -6259,15 +6259,28 @@ parse_algorithm_attribute (app_t app, int keyno)
- app->app_local->keyattr[keyno].ecc.algo = *buffer;
- app->app_local->keyattr[keyno].ecc.flags = 0;
-
-- if (APP_CARD(app)->cardtype == CARDTYPE_YUBIKEY
-- || buffer[buflen-1] == 0x00 || buffer[buflen-1] == 0xff)
-- { /* Found "pubkey required"-byte for private key template. */
-- oidlen--;
-- if (buffer[buflen-1] == 0xff)
-- app->app_local->keyattr[keyno].ecc.flags |= ECC_FLAG_PUBKEY;
-+ if (APP_CARD(app)->cardtype == CARDTYPE_YUBIKEY)
-+ {
-+ /* Yubikey implementations vary.
-+ * Firmware version 5.2 returns "pubkey required"-byte with
-+ * 0x00, but after removal and second time insertion, it
-+ * returns bogus value there.
-+ * Firmware version 5.4 returns none.
-+ */
-+ curve = ecc_curve (buffer + 1, oidlen);
-+ if (!curve)
-+ curve = ecc_curve (buffer + 1, oidlen - 1);
-+ }
-+ else
-+ {
-+ if (buffer[buflen-1] == 0x00 || buffer[buflen-1] == 0xff)
-+ { /* Found "pubkey required"-byte for private key template. */
-+ oidlen--;
-+ if (buffer[buflen-1] == 0xff)
-+ app->app_local->keyattr[keyno].ecc.flags |= ECC_FLAG_PUBKEY;
-+ }
-+ curve = ecc_curve (buffer + 1, oidlen);
- }
--
-- curve = ecc_curve (buffer + 1, oidlen);
-
- if (!curve)
- {
diff --git a/app-crypt/gnupg/gnupg-2.3.7-r1.ebuild b/app-crypt/gnupg/gnupg-2.3.7-r1.ebuild
deleted file mode 100644
index 15ad16f6e513..000000000000
--- a/app-crypt/gnupg/gnupg-2.3.7-r1.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gnupg.asc
-inherit flag-o-matic systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-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="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration.
-# Note: On each bump, update dep bounds on each version from configure.ac!
-DEPEND=">=dev-libs/libassuan-2.5.0
- >=dev-libs/libgcrypt-1.9.1:=
- >=dev-libs/libgpg-error-1.41
- >=dev-libs/libksba-1.3.4
- >=dev-libs/npth-1.2
- >=net-misc/curl-7.10
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.0:0= )
-"
-
-RDEPEND="${DEPEND}
- app-crypt/pinentry
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )"
-
-BDEPEND="virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
- "${FILESDIR}"/${P}-yubikey-workaround-fix.patch
-)
-
-src_prepare() {
- default
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i doc/examples/systemd-user/gpg-agent-ssh.socket || die
-}
-
-src_configure() {
- local myconf=(
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
- --with-mailprog=/usr/libexec/sendmail
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
- LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
- LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
- NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-src_test() {
- # bug #638574
- use tofu && export TESTFLAGS=--parallel
-
- default
-}
-
-src_install() {
- default
-
- use tools &&
- dobin \
- tools/{convert-from-106,gpg-check-pattern} \
- tools/{gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
- tools/make-dns-cert
-
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
-
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
-
- use doc && dodoc doc/gnupg.html/* doc/*.png
-
- systemd_douserunit doc/examples/systemd-user/*.{service,socket}
-}
diff --git a/app-crypt/libsecret/libsecret-0.20.5-r3.ebuild b/app-crypt/libsecret/libsecret-0.20.5-r3.ebuild
index bddb8f0cc181..3315eccf0ea2 100644
--- a/app-crypt/libsecret/libsecret-0.20.5-r3.ebuild
+++ b/app-crypt/libsecret/libsecret-0.20.5-r3.ebuild
@@ -2,8 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-VALA_USE_DEPEND=vapigen
+PYTHON_COMPAT=( python3_{8..11} )
inherit bash-completion-r1 gnome2 meson-multilib python-any-r1 vala virtualx
diff --git a/app-crypt/libsecret/metadata.xml b/app-crypt/libsecret/metadata.xml
index 7318f81748ab..3d7258d053bc 100644
--- a/app-crypt/libsecret/metadata.xml
+++ b/app-crypt/libsecret/metadata.xml
@@ -1,11 +1,14 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ GNOME/libsecret
+
diff --git a/app-crypt/seahorse/metadata.xml b/app-crypt/seahorse/metadata.xml
index 10379b458c7f..e641ba504704 100644
--- a/app-crypt/seahorse/metadata.xml
+++ b/app-crypt/seahorse/metadata.xml
@@ -1,18 +1,22 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
-Seahorse is a GNOME application for managing encryption keys.
-It also integrates with nautilus, gedit and other places for encryption operations.
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ Seahorse is a GNOME application for managing encryption keys.
+ It also integrates with nautilus, gedit and other places for encryption operations.
-With seahorse you can create and manage PGP keys, create and manage SSH keys,
-publish and retrieve keys from key servers, cache your passphrase so you
-don't have to keep typing it and backup your keys and keyring.
-
+ With seahorse you can create and manage PGP keys, create and manage SSH keys,
+ publish and retrieve keys from key servers, cache your passphrase so you
+ don't have to keep typing it and backup your keys and keyring.
+
+
+ GNOME/seahorse
+
diff --git a/app-dicts/Manifest.gz b/app-dicts/Manifest.gz
index 7dde41cf76df..f0125ca8091a 100644
Binary files a/app-dicts/Manifest.gz and b/app-dicts/Manifest.gz differ
diff --git a/app-dicts/gnome-dictionary/metadata.xml b/app-dicts/gnome-dictionary/metadata.xml
index f74c6767f432..38142274dd23 100644
--- a/app-dicts/gnome-dictionary/metadata.xml
+++ b/app-dicts/gnome-dictionary/metadata.xml
@@ -1,11 +1,14 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- libgdict-1.0 soname version
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ libgdict-1.0 soname version
+
+
+ GNOME/gnome-dictionary
+
diff --git a/app-doc/Manifest.gz b/app-doc/Manifest.gz
index 668f7d5540fc..bae7586d12ad 100644
Binary files a/app-doc/Manifest.gz and b/app-doc/Manifest.gz differ
diff --git a/app-doc/xmltoman/Manifest b/app-doc/xmltoman/Manifest
index 539f8b184342..cc8d650c97d7 100644
--- a/app-doc/xmltoman/Manifest
+++ b/app-doc/xmltoman/Manifest
@@ -1 +1,2 @@
DIST xmltoman-0.4.tar.gz 15250 BLAKE2B d8641a19742d845fdab0e11703a60c16656c63529a4d86931a8038cbdb87e0fbf241b7ff38ed05ddab62daab608407bd5d7778c060fe3cbef1750976fa588dee SHA512 347722731e2101ecd0619f88f4efdbca534810c96977a1281af685e8a61f4c1a826a71a9f0e3af43cc899936640787366a78077f36d23a9efcfeb789dbcfae22
+DIST xmltoman-0.6.tar.gz 15862 BLAKE2B f33ebfb1dfdd0f055f18e68f923e96c07495740e361cec2ba7a10a63889b6b6c4c851f3df6b74947b24811403d2745dbdc7e5d2d67d3566ec65b7be6fae616c8 SHA512 f2b0689ca37212253eaa127c3a2c299facac7c3909991b8872da0adf0fbb34aa02c32144c485135c06c17b1ac5e5753d627969e97ae4938e6dcee9ddbd79582d
diff --git a/app-doc/xmltoman/files/xmltoman-0.6-generate-man-pages.patch b/app-doc/xmltoman/files/xmltoman-0.6-generate-man-pages.patch
new file mode 100644
index 000000000000..a902ddd07b84
--- /dev/null
+++ b/app-doc/xmltoman/files/xmltoman-0.6-generate-man-pages.patch
@@ -0,0 +1,55 @@
+From 39553c816cb8a18d798a6f947d2901f7a3228439 Mon Sep 17 00:00:00 2001
+From: Sam James
+Date: Sat, 29 Oct 2022 18:02:25 +0100
+Subject: [PATCH] Generate man pages
+
+Generate the man pages so that the tool doesn't have to run itself
+during installation. It's a hack to workaround Perl upgrade problems.
+--- /dev/null
++++ b/xmlmantohtml.1
+@@ -0,0 +1,18 @@
++.TH xmlmantohtml 1 User Manuals
++.SH NAME
++xmlmantohtml \- xml to html converter
++.SH SYNOPSIS
++\fBxmlmantohtml \fIfile.1.xml\fB > file.1.html
++\f1
++.SH DESCRIPTION
++xmlmantohtml is a small script to convert XML/MAN(GROFF) to HTML.
++
++You will find the DTD in \fI/usr/share/xmltoman/\f1 on a Debian GNU/Linux system. There is also an XSL file to generate HTML using \fBxsltproc(1)\f1.
++.SH AUTHOR
++xmltoman was written by Oliver Kurth
++.SH MAINTAINER
++xmltoman is currently maintained by Adam Bilbrough
++.SH SEE ALSO
++\fBxmlmantohtml(1)\f1
++.SH COMMENTS
++This man page was written using \fBxmltoman(1)\f1 by the same author and / or maintainer.
+--- /dev/null
++++ b/xmltoman.1
+@@ -0,0 +1,24 @@
++.TH xmltoman 1 User Manuals
++.SH NAME
++xmltoman \- xml to man converter
++.SH SYNOPSIS
++\fBxmltoman \fIfile.1.xml\fB > file.1
++\f1
++.SH DESCRIPTION
++xmltoman is a small script to convert XML to a MAN page in GROFF format. It features the usual man page items such a description, options, see also etc. The XML format also supports converting to HTML pages.
++
++You will find the DTD in \fI/usr/share/xmltoman/\f1 on a Debian GNU/Linux system. There is also an XSL file to generate html using \fBxsltproc(1)\f1.
++.SH FILES
++\fI/usr/share/xmltoman/xmltoman.dtd\f1 the DTD file.
++
++\fI/usr/share/xmltoman/xmltoman.xsl\f1 XSLT stylesheet to generate HTML.
++
++\fI/usr/share/xmltoman/xmltoman.css\f1 stylesheet to be used for HTML.
++.SH AUTHOR
++xmltoman was written by Oliver Kurth
++.SH MAINTAINER
++xmltoman is currently maintained by Adam Bilbrough
++.SH SEE ALSO
++\fBxmlmantohtml(1)\f1
++.SH COMMENTS
++This man page was written using \fBxmltoman(1)\f1 by the same author and / or maintainer.
diff --git a/app-doc/xmltoman/metadata.xml b/app-doc/xmltoman/metadata.xml
index 379211a297a0..cdc9d054966e 100644
--- a/app-doc/xmltoman/metadata.xml
+++ b/app-doc/xmltoman/metadata.xml
@@ -4,5 +4,6 @@
xmltoman
+ atsb/xmltoman
diff --git a/app-doc/xmltoman/xmltoman-0.6.ebuild b/app-doc/xmltoman/xmltoman-0.6.ebuild
new file mode 100644
index 000000000000..5faec34d22f1
--- /dev/null
+++ b/app-doc/xmltoman/xmltoman-0.6.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Simple scripts for converting xml to groff or html"
+HOMEPAGE="https://sourceforge.net/projects/xmltoman/"
+SRC_URI="https://github.com/atsb/xmltoman/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-generate-man-pages.patch
+)
+
+src_install() {
+ # 'make install' requires GNU install, upstream is dead and carrying
+ # a patch is more space than redoing it here
+ dobin xmltoman xmlmantohtml
+
+ insinto /usr/share/xmltoman
+ doins xmltoman.{css,dtd,xsl}
+
+ dodoc README
+ doman xmltoman.1 xmlmantohtml.1
+}
diff --git a/app-editors/Manifest.gz b/app-editors/Manifest.gz
index b38aafde84c3..1acc9706dcb0 100644
Binary files a/app-editors/Manifest.gz and b/app-editors/Manifest.gz differ
diff --git a/app-editors/gedit-plugins/gedit-plugins-42.1.ebuild b/app-editors/gedit-plugins/gedit-plugins-42.1.ebuild
index 2c43fcc16023..32801b416540 100644
--- a/app-editors/gedit-plugins/gedit-plugins-42.1.ebuild
+++ b/app-editors/gedit-plugins/gedit-plugins-42.1.ebuild
@@ -2,9 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="xml(+)"
-VALA_MIN_API_VERSION="0.28"
inherit gnome.org gnome2-utils meson python-single-r1 vala xdg
diff --git a/app-editors/gedit-plugins/metadata.xml b/app-editors/gedit-plugins/metadata.xml
index eb35a3df50f2..2695ac239950 100644
--- a/app-editors/gedit-plugins/metadata.xml
+++ b/app-editors/gedit-plugins/metadata.xml
@@ -1,14 +1,16 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ GNOME/gedit-plugins
+
diff --git a/app-editors/gedit/metadata.xml b/app-editors/gedit/metadata.xml
index 7b343b06be8a..25826770e3dd 100644
--- a/app-editors/gedit/metadata.xml
+++ b/app-editors/gedit/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gedit
+
diff --git a/app-editors/ghex/metadata.xml b/app-editors/ghex/metadata.xml
index 7b343b06be8a..ffc72ffa12d6 100644
--- a/app-editors/ghex/metadata.xml
+++ b/app-editors/ghex/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/ghex
+
diff --git a/app-editors/gnome-latex/metadata.xml b/app-editors/gnome-latex/metadata.xml
index 6c684e071d5f..eb53c84a44e7 100644
--- a/app-editors/gnome-latex/metadata.xml
+++ b/app-editors/gnome-latex/metadata.xml
@@ -1,14 +1,15 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ swilmet/gnome-latex
+
diff --git a/app-editors/gnome-text-editor/metadata.xml b/app-editors/gnome-text-editor/metadata.xml
index 7b343b06be8a..b96389a37794 100644
--- a/app-editors/gnome-text-editor/metadata.xml
+++ b/app-editors/gnome-text-editor/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gnome-text-editor
+
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
index 9df8f4a66755..62c4c5d9b825 100644
--- a/app-editors/nano/Manifest
+++ b/app-editors/nano/Manifest
@@ -1,2 +1 @@
-DIST nano-6.3.tar.xz 1581772 BLAKE2B 92ef2acac0dacebc0bf8364bfee928a8394d8e4323e622ad6ba9d35bebd18d3976ab0ca747f7c9b5597874775b44ba4b5560e7392606aa68736158c2bda62b92 SHA512 42279bee54f4d83a0dc06e93c2f385798c304a41e995461b018f5724010213761455563cb53e2411e12bc43c7245e289f4254c359717ca1b89a34d5af8b8c3f3
DIST nano-6.4.tar.xz 1593804 BLAKE2B b59ff7a741ce4c8b31afdbbfaf1d704cccbceddcd7f1421f30a6dd40495ec456ca891aeb9777c070c6cce4e9c594f83798ff0cdacdfe06e81b0aa0b700033da3 SHA512 cff2d9d90f1a23ab8905320e651f8bbc9d38046153a4f64bbc21927687d9628135915468b00b28f88a0eb7d395d1bcb0b9b7abcf367e5a46a5f3da01d8d6e72b
diff --git a/app-editors/nano/files/gentoo.nanorc b/app-editors/nano/files/gentoo.nanorc
deleted file mode 100644
index edf4ae109b1e..000000000000
--- a/app-editors/nano/files/gentoo.nanorc
+++ /dev/null
@@ -1,74 +0,0 @@
-## Syntax highlighting for Gentoo ebuilds/eclasses,
-## and (further down) for Portage control files.
-
-syntax ebuild "\.e(build|class)$"
-comment "#"
-
-## All the standard portage functions:
-color brightgreen "(^|\"
-color brightgreen "^pkg_(config|nofetch|info|pretend|setup|(pre|post)(inst|rm))\>"
-color brightgreen "\"
-## Bash-related syntax:
-color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
-color green "\<(declare|eval|exec|export|let|local)\>"
-color green "[][{}():;|`$<>!=&\]"
-color green "-[defhnrsuwxzL]\>"
-color green "-(eq|ne|gt|lt|ge|le)\>"
-## Variables... official portage ones in red, all others in bright red:
-color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
-color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
-color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|[BIPR]?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>"
-color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|(B|E|E?SYS)?ROOT|WORKDIR)\>"
-color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\" "\<(MERGE_TYPE|REPLACING_VERSIONS|REPLACED_BY_VERSION)\>"
-color red "\"
-color red "\"
-color red "\<(PATCHES|(HTML_)?DOCS)\>" "\" "\"
-## Portage commands:
-color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse) [!a-zA-Z0-9_+ -]*" "inherit.*"
-color brightblue "\"
-color brightblue "\" "\"
-color brightblue "\" "\" "\" "\"
-color brightblue "\" "\"
-color brightblue "\<(die|hasv?|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>"
-color brightblue "\<(do|new)(ins|s?bin|doc|header|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
-color brightblue "\" "\"
-color brightblue "\" "\"
-color brightblue "\<(doc|ins|exe)?into\>" "\" "\<(exe|ins|dir)opts\>"
-color brightblue "\"
-color brightblue "\"
-## Common commands used in ebuilds:
-color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>"
-## Comments (doesn't work that well):
-color yellow "(^|[[:space:]])#.*"
-## Strings (doesn't work that well):
-color brightyellow ""([^"\]|\\.)*"|'([^'\]|\\.)*'"
-## Trailing space is bad!
-color ,green "[[:space:]]+$"
-## Mixed whitespace is also bad.
-color ,green " "
-
-
-syntax /etc/portage "\.(accept_keywords|env|keywords|mask|unmask|use)(/.+)?$"
-comment "#"
-
-## Base text:
-color green ".+"
-## Likely version and slot numbers:
-color magenta "-[[:digit:].]+(_(alpha|beta|pre|rc|p)[[:digit:]]*)*(-r[[:digit:]]+)?([:[:space:]]|$)"
-color magenta ":[^[:space:]]+([[:space:]]|$)"
-## Use flags (must come after version/slot):
-color brightred "[[:space:]]+\+?[A-Za-z0-9+_@-]+"
-color brightblue "[[:space:]]+-[A-Za-z0-9+_@-]+"
-## Accepted arches:
-color white "[~-]?\<(alpha|amd64|arm(64)?|hppa|ia64|loong|m68k|mips|ppc(64)?|riscv|s390|sparc|x86)(-(cygwin|linux|macos|solaris|winnt))?\>"
-color white "[[:space:]][*~-]?\*"
-## Categories:
-color cyan "^[[:space:]]*[^/]*/"
-## Masking regulators:
-color brightmagenta "^[[:space:]]*(=|~|<|<=|>|>=)"
-## Comments:
-color yellow "#.*"
-## Trailing space is bad!
-color ,green "[[:space:]]+$"
-## Mixed whitespace is also bad.
-color ,green " "
diff --git a/app-editors/nano/nano-6.3.ebuild b/app-editors/nano/nano-6.3.ebuild
deleted file mode 100644
index 2c97dc70df95..000000000000
--- a/app-editors/nano/nano-6.3.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
- inherit git-r3 autotools
-else
- MY_P="${PN}-${PV/_}"
- SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-DESCRIPTION="GNU GPL'd Pico clone with more functionality"
-HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="debug justify magic minimal ncurses nls +spell +split-usr static unicode"
-
-LIB_DEPEND="
- >=sys-libs/ncurses-5.9-r1:=[unicode(+)?]
- sys-libs/ncurses:=[static-libs(+)]
- magic? ( sys-apps/file[static-libs(+)] )
- nls? ( virtual/libintl )"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )"
-BDEPEND="
- nls? ( sys-devel/gettext )
- virtual/pkgconfig
-"
-
-REQUIRED_USE="
- magic? ( !minimal )
-"
-
-src_prepare() {
- default
- if [[ ${PV} == "9999" ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- use static && append-ldflags -static
- local myconf=(
- --bindir="${EPREFIX}"/bin
- --htmldir=/trash
- $(use_enable !minimal color)
- $(use_enable !minimal multibuffer)
- $(use_enable !minimal nanorc)
- $(use_enable magic libmagic)
- $(use_enable spell speller)
- $(use_enable justify)
- $(use_enable debug)
- $(use_enable nls)
- $(use_enable unicode utf8)
- $(use_enable minimal tiny)
- )
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- # don't use "${ED}" here or things break (#654534)
- rm -r "${D}"/trash || die
-
- dodoc doc/sample.nanorc
- docinto html
- dodoc doc/faq.html
- insinto /etc
- newins doc/sample.nanorc nanorc
- if ! use minimal ; then
- # Enable colorization by default.
- sed -i \
- -e '/^# include /s:# *::' \
- "${ED}"/etc/nanorc || die
-
- # Since nano-5.0 these are no longer being "enabled" by default
- # (bug #736848)
- local rcdir="/usr/share/nano"
- mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
- rmdir "${ED}"${rcdir}/extra || die
-
- insinto "${rcdir}"
- doins "${FILESDIR}/gentoo.nanorc"
- fi
-
- use split-usr && dosym ../../bin/nano /usr/bin/nano
-}
-
-pkg_postrm() {
- local e
- [[ -n ${REPLACED_BY_VERSION} ]] && return
- e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}")
- if [[ ${e##*/} == nano ]]; then
- ewarn "The EDITOR variable is still set to ${e}."
- ewarn "You can update it with \"eselect editor\"."
- fi
-}
diff --git a/app-editors/qemacs/metadata.xml b/app-editors/qemacs/metadata.xml
index fd4cdb06be09..579725de06cb 100644
--- a/app-editors/qemacs/metadata.xml
+++ b/app-editors/qemacs/metadata.xml
@@ -35,4 +35,7 @@
* Small! Full version is about 150KB. Smaller custom versions can be built
by removing modules.
+
+ qemacs
+
diff --git a/app-emacs/Manifest.gz b/app-emacs/Manifest.gz
index a4eb41230af8..d000f9e6c115 100644
Binary files a/app-emacs/Manifest.gz and b/app-emacs/Manifest.gz differ
diff --git a/app-emacs/bbdb/metadata.xml b/app-emacs/bbdb/metadata.xml
index aaffcca93625..66ad8f6e5c9c 100644
--- a/app-emacs/bbdb/metadata.xml
+++ b/app-emacs/bbdb/metadata.xml
@@ -18,5 +18,6 @@
bbdb
+ bbdb
diff --git a/app-emacs/boogie-friends/Manifest b/app-emacs/boogie-friends/Manifest
index e33124f47ef9..87f2628d03e9 100644
--- a/app-emacs/boogie-friends/Manifest
+++ b/app-emacs/boogie-friends/Manifest
@@ -1 +1,2 @@
-DIST boogie-friends-20210703.tar.gz 410267 BLAKE2B dd00a175e1a5f11916b35f852e90b4cbb6f5f59947075efd1b12b5bea341731a0cba3ba7f42d515d2b8600a96d52d1f2b51ee4fe68274df5e00993443ebc4ecd SHA512 23488a452bd1baa1bc562efe3f7b53b94d58e4bc542a6c3d7c1baa255d379dd056c0cb4168e1d79caaaf746426f612aa5dea1e545931c549dcd0fa3f50751324
+DIST boogie-friends-0.1_p20210703.tar.gz 410267 BLAKE2B dd00a175e1a5f11916b35f852e90b4cbb6f5f59947075efd1b12b5bea341731a0cba3ba7f42d515d2b8600a96d52d1f2b51ee4fe68274df5e00993443ebc4ecd SHA512 23488a452bd1baa1bc562efe3f7b53b94d58e4bc542a6c3d7c1baa255d379dd056c0cb4168e1d79caaaf746426f612aa5dea1e545931c549dcd0fa3f50751324
+DIST boogie-friends-0.1_p20220922.tar.gz 411351 BLAKE2B ca5b500f009254ee07199c538c0372756599b1ba89e735ee19a007233a181b6cad148eda13a8c1e7ebd604e882808e2daa8743b3cdcb0f5f71d46f3f2a91cb5f SHA512 4d76a31335dd795617106421dbc9c4833e93831fb9235d34a371aac7c1f68920798b43d9034ff3ca99e8bb20d645c5b7134d60cd46fc111ff2f92984613f8b4a
diff --git a/app-emacs/boogie-friends/boogie-friends-20210703.ebuild b/app-emacs/boogie-friends/boogie-friends-0.1_p20210703.ebuild
similarity index 100%
rename from app-emacs/boogie-friends/boogie-friends-20210703.ebuild
rename to app-emacs/boogie-friends/boogie-friends-0.1_p20210703.ebuild
diff --git a/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild b/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild
new file mode 100644
index 000000000000..df8519fe6a52
--- /dev/null
+++ b/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=8d1bafab5dffc3c63324b5306503943e67497ddc
+
+inherit elisp
+
+DESCRIPTION="Emacs tools for interacting with Boogie, Dafny and Z3 (SMT2)"
+HOMEPAGE="https://github.com/boogie-org/boogie-friends/"
+SRC_URI="https://github.com/boogie-org/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${H}/emacs"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # broken tests - no "tests.dfy" file
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/dash
+ app-emacs/flycheck
+ app-emacs/yasnippet
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-flycheck-dfy-exe.patch
+ "${FILESDIR}"/${PN}-paths.patch
+)
+
+ELISP_REMOVE="boogie-friends-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=( ../README.md pictures )
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" ./boogie-friends.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r etc
+}
diff --git a/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch b/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch
new file mode 100644
index 000000000000..4f297a247244
--- /dev/null
+++ b/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch
@@ -0,0 +1,11 @@
+--- a/dafny-mode.el
++++ b/dafny-mode.el
+@@ -553,7 +553,7 @@ open Dafny buffers."
+
+ (flycheck-define-command-checker 'dafny
+ "Flycheck checker for the Dafny programming language."
+- :command '("Dafny" (eval (boogie-friends-compute-prover-args)) source-inplace)
++ :command '("dafny" (eval (boogie-friends-compute-prover-args)) source-inplace)
+ :error-patterns boogie-friends-error-patterns
+ :error-filter #'dafny-error-filter
+ :predicate #'dafny-predicate
diff --git a/app-emacs/nxml-libvirt-schemas/Manifest b/app-emacs/nxml-libvirt-schemas/Manifest
index d6eda6823e6d..f0b6d9751ef4 100644
--- a/app-emacs/nxml-libvirt-schemas/Manifest
+++ b/app-emacs/nxml-libvirt-schemas/Manifest
@@ -1,3 +1 @@
-DIST libvirt-7.10.0.tar.xz 8798000 BLAKE2B 6cb2ab5913d382b11d24b46154dc3250355050cd3038f64ba571b35f33ae5bd0a322d4b96469bd6c78fd848c87f2e6fc7213c33e5bdb9d375a9b81d2a40899bb SHA512 c7eecc9538b68852a8cc67565566d64ec7b087b6f009858b2eb524bc3ef0f6ca3c0da67edf801e6a3ae3fcc0364e65e108fa92bcb01ee810c85fa5f37785aa32
-DIST libvirt-8.7.0.tar.xz 8937316 BLAKE2B 131d46206662627e952b6daa3ceeab187321ff5fb1984980bc2816dfedf730c6ccd4b5a1cbfb46f33cc9e84508621e2625fa661f06b9e35561e8de52906824e5 SHA512 35d33d0e0dab525e8f0a8a592d286e9d17fc5c5d1ff2fab5af5c40b85248481dd17b5c3daf64e8c6e1b8a93328eebee6ece3e95edacff208a81d8b78dc102d7a
DIST libvirt-8.8.0.tar.xz 8941928 BLAKE2B f3b8cb4fe30a156884a03e5c873f3fcef0c8d13315c79b865f387ea053635ae2435a3b4d6e81c988cfcd087d55223450e7b874e24e4503479d152b417c398250 SHA512 868e49b369afe200c5af6e2cd0606de2eeebfa92523b5ad3c653203c8838d304bd0cdc5acfb3c4d4c33c0a87ab8e769b84cc62e3f06e055936c43573a23d7190
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-7.10.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-7.10.0.ebuild
deleted file mode 100644
index c3597d40e521..000000000000
--- a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-7.10.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-MY_P="libvirt-${PV}"
-DESCRIPTION="Extension for nxml-mode with libvirt schemas"
-HOMEPAGE="https://www.libvirt.org/"
-SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P%-rc*}/docs/schemas"
-
-# This is the license of the package, but the schema files are
-# provided without license, maybe it's bad.
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Yes this requires Java, but I'd rather not repackage this, if you
-# know something better in C, I'll be glad to use that.
-BDEPEND="app-text/trang"
-
-SITEFILE="60${PN}-gentoo.el"
-
-src_compile() {
- emake -f "${FILESDIR}"/Makefile-trang
-}
-
-src_install() {
- insinto "${SITEETC}/${PN}"
- doins "${FILESDIR}"/schemas.xml *.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-8.7.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-8.7.0.ebuild
deleted file mode 100644
index 1c0188f9655a..000000000000
--- a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-8.7.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-inherit elisp
-
-MY_P="libvirt-${PV}"
-DESCRIPTION="Extension for nxml-mode with libvirt schemas"
-HOMEPAGE="https://www.libvirt.org/"
-SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
-
-# This is the license of the package, but the schema files are
-# provided without license, maybe it's bad.
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Yes this requires Java, but I'd rather not repackage this, if you
-# know something better in C, I'll be glad to use that.
-BDEPEND="app-text/trang"
-
-SITEFILE="60${PN}-gentoo.el"
-
-src_compile() {
- emake -f "${FILESDIR}"/Makefile-trang
-}
-
-src_install() {
- insinto "${SITEETC}/${PN}"
- doins "${FILESDIR}"/schemas.xml *.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/quilt-el/metadata.xml b/app-emacs/quilt-el/metadata.xml
index 48e768fb5660..1adcbf2c04d4 100644
--- a/app-emacs/quilt-el/metadata.xml
+++ b/app-emacs/quilt-el/metadata.xml
@@ -14,4 +14,7 @@
* Some handy shortcut keys of quilt commands.
+
+ quilt
+
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 94748ea10a88..3a0b5ab146a4 100644
Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index bd2d88c6903d..01ad73945261 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,7 +1,3 @@
-DIST libvirt-7.7.0.tar.xz 8670212 BLAKE2B 93c72117941b0a74484c7510c8437054e66fc3ad20c02cead3ce917a38868da2acff9b1e70bbb823122ba647763a3682aaa0da04d82fa75e1acc67449301ae8c SHA512 a0d585c9ac46be08d2865d66456d681b7233291d17f6e0ed2564d0f29dc38ea7afc846ab382f58a193d3cd9acaf25fcc526feb3c98e12a6b4b8ae5aa4aec2f3e
-DIST libvirt-7.7.0.tar.xz.asc 833 BLAKE2B 86a77bf461e353776d79f31f1d0c82fa13e28348bd9c6ae7cb653b98886c7e070d67ed0db55f5e1f3b5e5bd2a3861a5cb08dbf95799b14df1037139f8001b030 SHA512 d5f8cd6accd3bfaebfb7c8761e321aaa9a090c7705256785c5507aa88d985f78a788047dc881f37ea6f64a4634c65c9718d8b1ee0a24744acc3ad5ed6e517bdf
-DIST libvirt-8.2.0.tar.xz 8871236 BLAKE2B 85c4fd7323f4ea0564e6fcb37dffe643d0ff54f228a695476c1b24c78022402a86cf967503e40fad003d82528f24a02bef79466e38c133c5ad37cbcd5783f01d SHA512 fbdc2953e86117643aafb3198a3d9327188d94abfd155eae4439ee0e722737a57ee44dbb2929746c0a28e10e275c35f4a8190e99668e4cba4025555358591544
-DIST libvirt-8.2.0.tar.xz.asc 833 BLAKE2B 3dba2fe7dc76052307ab8b1d7f2a61445759ed15e130615ca2a6325e981ae5c1a7143e7d78ee67f2bf9001cdf82126dff89f4f1eb3b39b77620721a5b75f4cfa SHA512 33ecc465da1b7e4b53733611255d01414f8c1081c96fdcb0a9f1a0e194823872b7f9f9032938527f6d1d8bbebc3b61f2dc393875b8d11fdd47bec40e9408475b
DIST libvirt-8.7.0.tar.xz 8937316 BLAKE2B 131d46206662627e952b6daa3ceeab187321ff5fb1984980bc2816dfedf730c6ccd4b5a1cbfb46f33cc9e84508621e2625fa661f06b9e35561e8de52906824e5 SHA512 35d33d0e0dab525e8f0a8a592d286e9d17fc5c5d1ff2fab5af5c40b85248481dd17b5c3daf64e8c6e1b8a93328eebee6ece3e95edacff208a81d8b78dc102d7a
DIST libvirt-8.7.0.tar.xz.asc 833 BLAKE2B ebea1430670bcb44e9ffb4460388b2ab41e8b409d1513d09ac56b12f379621f5ad39af0dba9691b36220bbed5634ad24b2efda8315b41bb2e7f3f6a65e9b028c SHA512 5ac09b10de74283c474fb80cfe600a171d6b49039df73113702cda565889f6c6919e99aff6ce60538ee7fda52287ef035ee15e8f47e5f724384c6ec474e6bed8
DIST libvirt-8.8.0.tar.xz 8941928 BLAKE2B f3b8cb4fe30a156884a03e5c873f3fcef0c8d13315c79b865f387ea053635ae2435a3b4d6e81c988cfcd087d55223450e7b874e24e4503479d152b417c398250 SHA512 868e49b369afe200c5af6e2cd0606de2eeebfa92523b5ad3c653203c8838d304bd0cdc5acfb3c4d4c33c0a87ab8e769b84cc62e3f06e055936c43573a23d7190
diff --git a/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch
deleted file mode 100644
index f3d2e3c39162..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch
+++ /dev/null
@@ -1,169 +0,0 @@
---- a/src/interface/virtinterfaced.service.in
-+++ b/src/interface/virtinterfaced.service.in
-@@ -13,7 +13,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtinterfaced
- ExecStart=@sbindir@/virtinterfaced $VIRTINTERFACED_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/libxl/virtxend.service.in
-+++ b/src/libxl/virtxend.service.in
-@@ -17,7 +17,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtxend
- ExecStart=@sbindir@/virtxend $VIRTXEND_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/locking/virtlockd.service.in
-+++ b/src/locking/virtlockd.service.in
-@@ -7,8 +7,7 @@
- Documentation=https://libvirt.org
-
- [Service]
--EnvironmentFile=-@sysconfdir@/sysconfig/virtlockd
--ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
-+ExecStart=@sbindir@/virtlockd
- ExecReload=/bin/kill -USR1 $MAINPID
- # Loosing the locks is a really bad thing that will
- # cause the machine to be fenced (rebooted), so make
---- a/src/logging/virtlogd.service.in
-+++ b/src/logging/virtlogd.service.in
-@@ -7,8 +7,7 @@
- Documentation=https://libvirt.org
-
- [Service]
--EnvironmentFile=-@sysconfdir@/sysconfig/virtlogd
--ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS
-+ExecStart=@sbindir@/virtlogd
- ExecReload=/bin/kill -USR1 $MAINPID
- # Loosing the logs is a really bad thing that will
- # cause the machine to be fenced (rebooted), so make
---- a/src/lxc/virtlxcd.service.in
-+++ b/src/lxc/virtlxcd.service.in
-@@ -18,7 +18,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtlxcd
- ExecStart=@sbindir@/virtlxcd $VIRTLXCD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- KillMode=process
---- a/src/network/virtnetworkd.service.in
-+++ b/src/network/virtnetworkd.service.in
-@@ -16,7 +16,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtnetworkd
- ExecStart=@sbindir@/virtnetworkd $VIRTNETWORKD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/node_device/virtnodedevd.service.in
-+++ b/src/node_device/virtnodedevd.service.in
-@@ -13,7 +13,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtnodedevd
- ExecStart=@sbindir@/virtnodedevd $VIRTNODEDEVD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/nwfilter/virtnwfilterd.service.in
-+++ b/src/nwfilter/virtnwfilterd.service.in
-@@ -13,7 +13,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtnwfilterd
- ExecStart=@sbindir@/virtnwfilterd $VIRTNWFILTERD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/qemu/virtqemud.service.in
-+++ b/src/qemu/virtqemud.service.in
-@@ -18,7 +18,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtqemud
- ExecStart=@sbindir@/virtqemud $VIRTQEMUD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- KillMode=process
---- a/src/remote/libvirtd.service.in
-+++ b/src/remote/libvirtd.service.in
-@@ -28,8 +28,7 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/libvirtd
--ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
-+ExecStart=@sbindir@/libvirtd
- ExecReload=/bin/kill -HUP $MAINPID
- KillMode=process
- Restart=on-failure
---- a/src/remote/virtproxyd.service.in
-+++ b/src/remote/virtproxyd.service.in
-@@ -13,7 +13,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtproxyd
- ExecStart=@sbindir@/virtproxyd $VIRTPROXYD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/secret/virtsecretd.service.in
-+++ b/src/secret/virtsecretd.service.in
-@@ -13,7 +13,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtsecretd
- ExecStart=@sbindir@/virtsecretd $VIRTSECRETD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/storage/virtstoraged.service.in
-+++ b/src/storage/virtstoraged.service.in
-@@ -15,7 +15,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtstoraged
- ExecStart=@sbindir@/virtstoraged $VIRTSTORAGED_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/src/vbox/virtvboxd.service.in
-+++ b/src/vbox/virtvboxd.service.in
-@@ -14,7 +14,6 @@
-
- [Service]
- Type=notify
--EnvironmentFile=-@sysconfdir@/sysconfig/virtvboxd
- ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
---- a/tools/libvirt-guests.service.in
-+++ b/tools/libvirt-guests.service.in
-@@ -10,7 +10,7 @@
- Documentation=https://libvirt.org
-
- [Service]
--EnvironmentFile=-@sysconfdir@/sysconfig/libvirt-guests
-+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf
- # Hack just call traditional service until we factor
- # out the code
- ExecStart=@libexecdir@/libvirt-guests.sh start
---- a/tools/libvirt-guests.sysconf
-+++ b/tools/libvirt-guests.sysconf
-@@ -1,3 +1,9 @@
-+#
-+# Warning: This configuration file is only sourced by the systemd
-+# libvirt-guests.service unit. The coresponding openrc facility is in
-+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd
-+#
-+
- # Customizations for the libvirt-guests.service systemd unit
-
- # URIs to check for running guests
diff --git a/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch
deleted file mode 100644
index 18e7ef2daa0b..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
-index 80986ae..d550d8c 100644
---- a/src/security/apparmor/libvirt-qemu
-+++ b/src/security/apparmor/libvirt-qemu
-@@ -88,6 +88,7 @@
- /usr/share/sgabios/** r,
- /usr/share/slof/** r,
- /usr/share/vgabios/** r,
-+ /usr/share/seavgabios/** r,
-
- # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
- /etc/pki/CA/ r,
-
---- a/src/security/apparmor/meson.build 2020-10-06 17:45:18.590000000 +0100
-+++ b/src/security/apparmor/meson.build 2020-10-06 17:45:07.044000000 +0100
-@@ -1,5 +1,5 @@
- apparmor_gen_profiles = [
-- 'usr.lib.libvirt.virt-aa-helper',
-+ 'usr.libexec.libvirt.virt-aa-helper',
- 'usr.sbin.libvirtd',
- ]
-
-@@ -32,7 +32,7 @@ install_data(
- )
-
- install_data(
-- 'usr.lib.libvirt.virt-aa-helper.local',
-+ 'usr.libexec.libvirt.virt-aa-helper.local',
- install_dir: apparmor_dir / 'local',
-- rename: 'usr.lib.libvirt.virt-aa-helper',
-+ rename: 'usr.libexec.libvirt.virt-aa-helper',
- )
-
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-similarity index 97%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-index dd18c8a..d06f9cb 100644
---- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-@@ -69,5 +69,5 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
- /**.[iI][sS][oO] r,
- /**/disk{,.*} r,
-
-- #include
-+ #include
- }
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
-similarity index 100%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
diff --git a/app-emulation/libvirt/files/libvirt-8.1.0-docs-Fix-template-matching-in-page.xsl.patch b/app-emulation/libvirt/files/libvirt-8.1.0-docs-Fix-template-matching-in-page.xsl.patch
deleted file mode 100644
index 5207c6d81ec7..000000000000
--- a/app-emulation/libvirt/files/libvirt-8.1.0-docs-Fix-template-matching-in-page.xsl.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 54814c87f3706cc8eb894634ebef0f9cf7dabae6 Mon Sep 17 00:00:00 2001
-Message-Id: <54814c87f3706cc8eb894634ebef0f9cf7dabae6.1645458252.git.mprivozn@redhat.com>
-From: Martin Kletzander
-Date: Mon, 21 Feb 2022 09:26:13 +0100
-Subject: [PATCH] docs: Fix template matching in page.xsl
-
-Our last default template had a match of "node()" which incidentally matched
-everything, including text nodes. Since this has the same priority according to
-the XSLT spec, section 5.5:
-
- https://www.w3.org/TR/1999/REC-xslt-19991116#conflict
-
-this is an error. Also according to the same spec section, the XSLT processor
-may signal the error or pick the last rule.
-
-This was uncovered with libxslt 1.1.35 which contains the following commit:
-
- https://gitlab.gnome.org/GNOME/libxslt/-/commit/b0074eeca3c6b21b4da14fdf712b853900c51635
-
-which makes the build fail with:
-
- runtime error: file ../docs/page.xsl line 223 element element
- xsl:element: The effective name '' is not a valid QName.
-
-because our last rule also matches text nodes and we are trying to extract the
-node name out of them.
-
-To fix this we change the match to "*" which only matches elements and not all
-the nodes, and to avoid any possible errors with different XSLT processors we
-also bump the priority of the match="text()" rule a little higher, just in case
-someone needs to use an XSLT processor that chooses signalling the error instead
-of the optional recovery.
-
-https://bugs.gentoo.org/833586
-
-Signed-off-by: Martin Kletzander
-Signed-off-by: Michal Privoznik
----
- docs/page.xsl | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/docs/page.xsl b/docs/page.xsl
-index fd67918d3b..72a6fa0842 100644
---- a/docs/page.xsl
-+++ b/docs/page.xsl
-@@ -215,11 +215,11 @@
-
-
-
--
-+
-
-
-
--
-+
-
-
-
---
-2.34.1
-
diff --git a/app-emulation/libvirt/libvirt-7.7.0-r2.ebuild b/app-emulation/libvirt/libvirt-7.7.0-r2.ebuild
deleted file mode 100644
index d796c4c01e60..000000000000
--- a/app-emulation/libvirt/libvirt-7.7.0-r2.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- EGIT_BRANCH="master"
- SRC_URI=""
- SLOT="0"
-else
- SRC_URI="https://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
- KEYWORDS="amd64 arm64 ~ppc64 x86"
- SLOT="0/${PV}"
-fi
-
-DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
-LICENSE="LGPL-2.1"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
-IUSE="
- apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
- iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
- virtualbox +virt-network wireshark-plugins xen zfs
-"
-
-REQUIRED_USE="
- firewalld? ( virt-network )
- libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
- lxc? ( caps libvirtd )
- openvz? ( libvirtd )
- qemu? ( libvirtd )
- virt-network? ( libvirtd )
- virtualbox? ( libvirtd )
- xen? ( libvirtd )"
-
-BDEPEND="
- app-text/xhtml1
- dev-lang/perl
- dev-libs/libxslt
- dev-perl/XML-XPath
- dev-python/docutils
- virtual/pkgconfig
- net-libs/rpcsvc-proto
- bash-completion? ( >=app-shells/bash-completion-2.0 )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )"
-
-# gettext.sh command is used by the libvirt command wrappers, and it's
-# non-optional, so put it into RDEPEND.
-# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
-# package will use 3 by default. Since we don't have slot pinning in an API,
-# we must go with the most recent
-RDEPEND="
- acct-user/qemu
- app-misc/scrub
- >=dev-libs/glib-2.48.0
- dev-libs/libgcrypt:0
- dev-libs/libnl:3
- >=dev-libs/libxml2-2.7.6
- >=net-analyzer/openbsd-netcat-1.105-r1
- >=net-libs/gnutls-1.0.25:0=
- net-libs/libssh2
- net-libs/libtirpc
- >=net-misc/curl-7.18.0
- sys-apps/dbus
- sys-apps/dmidecode
- sys-devel/gettext
- sys-libs/readline:=
- virtual/acl
- apparmor? ( sys-libs/libapparmor )
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
- firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:0= )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( sys-block/open-iscsi )
- iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( net-libs/libssh )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
- lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
- nfs? ( net-fs/nfs-utils )
- numa? (
- >sys-process/numactl-2.0.2
- sys-process/numad
- )
- parted? (
- >=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
- )
- pcap? ( >=net-libs/libpcap-1.0.0 )
- policykit? (
- acct-group/libvirt
- >=sys-auth/polkit-0.9
- )
- qemu? (
- >=app-emulation/qemu-2.11
- dev-libs/yajl
- )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
- selinux? ( >=sys-libs/libselinux-2.0.85 )
- virt-network? (
- net-dns/dnsmasq[dhcp,ipv6(+),script]
- net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
- net-misc/radvd
- sys-apps/iproute2[-minimal]
- )
- wireshark-plugins? ( =app-emulation/xen-4.9.0
- app-emulation/xen-tools:=
- )
- udev? (
- virtual/libudev
- >=x11-libs/libpciaccess-0.10.9
- )
- zfs? ( sys-fs/zfs )"
-
-DEPEND="${BDEPEND}
- ${RDEPEND}
- ${PYTHON_DEPS}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
- "${FILESDIR}"/${PN}-8.1.0-docs-Fix-template-matching-in-page.xsl.patch
-)
-
-pkg_setup() {
- # Check kernel configuration:
- CONFIG_CHECK=""
- use fuse && CONFIG_CHECK+="
- ~FUSE_FS"
-
- use lvm && CONFIG_CHECK+="
- ~BLK_DEV_DM
- ~DM_MULTIPATH
- ~DM_SNAPSHOT"
-
- use lxc && CONFIG_CHECK+="
- ~BLK_CGROUP
- ~CGROUP_CPUACCT
- ~CGROUP_DEVICE
- ~CGROUP_FREEZER
- ~CGROUP_NET_PRIO
- ~CGROUP_PERF
- ~CGROUPS
- ~CGROUP_SCHED
- ~CPUSETS
- ~IPC_NS
- ~MACVLAN
- ~NAMESPACES
- ~NET_CLS_CGROUP
- ~NET_NS
- ~PID_NS
- ~POSIX_MQUEUE
- ~SECURITYFS
- ~USER_NS
- ~UTS_NS
- ~VETH
- ~!GRKERNSEC_CHROOT_MOUNT
- ~!GRKERNSEC_CHROOT_DOUBLE
- ~!GRKERNSEC_CHROOT_PIVOT
- ~!GRKERNSEC_CHROOT_CHMOD
- ~!GRKERNSEC_CHROOT_CAPS"
-
- kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
- ~DEVPTS_MULTIPLE_INSTANCES"
-
- use virt-network && CONFIG_CHECK+="
- ~BRIDGE_EBT_MARK_T
- ~BRIDGE_NF_EBTABLES
- ~NETFILTER_ADVANCED
- ~NETFILTER_XT_CONNMARK
- ~NETFILTER_XT_MARK
- ~NETFILTER_XT_TARGET_CHECKSUM
- ~IP_NF_FILTER
- ~IP_NF_MANGLE
- ~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
- ~IP6_NF_FILTER
- ~IP6_NF_MANGLE
- ~IP6_NF_NAT"
- # Bandwidth Limiting Support
- use virt-network && CONFIG_CHECK+="
- ~BRIDGE_EBT_T_NAT
- ~IP_NF_TARGET_REJECT
- ~NET_ACT_POLICE
- ~NET_CLS_FW
- ~NET_CLS_U32
- ~NET_SCH_HTB
- ~NET_SCH_INGRESS
- ~NET_SCH_SFQ"
-
- ERROR_USER_NS="Optional depending on LXC configuration."
-
- if [[ -n ${CONFIG_CHECK} ]]; then
- linux-info_pkg_setup
- fi
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- touch "${S}/.mailmap" || die
-
- default
- python_fix_shebang .
-
- # Skip fragile tests which relies on pristine environment
- # (Breaks because of sandbox environment variables)
- # bug #802876
- sed -i -e "/commandtest/d" tests/meson.build || die
-
- # Tweak the init script:
- cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
- sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
- -i "${S}/libvirtd.init" || die "sed failed"
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature apparmor)
- $(meson_feature apparmor apparmor_profiles)
- $(meson_feature audit)
- $(meson_feature caps capng)
- $(meson_feature dtrace)
- $(meson_feature firewalld)
- $(meson_feature fuse)
- $(meson_feature glusterfs)
- $(meson_feature glusterfs storage_gluster)
- $(meson_feature iscsi storage_iscsi)
- $(meson_feature iscsi-direct storage_iscsi_direct)
- $(meson_feature libvirtd driver_libvirtd)
- $(meson_feature libssh)
- $(meson_feature lvm storage_lvm)
- $(meson_feature lvm storage_mpath)
- $(meson_feature lxc driver_lxc)
- $(meson_feature nls)
- $(meson_feature numa numactl)
- $(meson_feature numa numad)
- $(meson_feature openvz driver_openvz)
- $(meson_feature parted storage_disk)
- $(meson_feature pcap libpcap)
- $(meson_feature policykit polkit)
- $(meson_feature qemu driver_qemu)
- $(meson_feature qemu yajl)
- $(meson_feature rbd storage_rbd)
- $(meson_feature sasl)
- $(meson_feature selinux)
- $(meson_feature udev)
- $(meson_feature virt-network driver_network)
- $(meson_feature virtualbox driver_vbox)
- $(meson_feature wireshark-plugins wireshark_dissector)
- $(meson_feature xen driver_libxl)
- $(meson_feature zfs storage_zfs)
-
- -Dnetcf=disabled
- -Dsanlock=disabled
-
- -Ddriver_esx=enabled
- -Dinit_script=systemd
- -Dqemu_user=$(usex caps qemu root)
- -Dqemu_group=$(usex caps qemu root)
- -Ddriver_remote=enabled
- -Dstorage_fs=enabled
- -Ddriver_vmware=enabled
-
- --localstatedir="${EPREFIX}/var"
- -Drunstatedir="${EPREFIX}/run"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- )
-
- meson_src_configure
-}
-
-src_test() {
- export VIR_TEST_DEBUG=1
- # Don't run the syntax check tests, they're fragile and not relevant
- # to us downstream anyway.
- # We also crank up the timeout (as Fedora does) just to preempt failures
- # on slower arches.
- meson_src_test --no-suite syntax-check --timeout-multiplier 10
-}
-
-src_install() {
- meson_src_install
-
- # Depending on configuration option, libvirt will create some bogus
- # directoreis. They are either not used, or libvirtd is able to create
- # them on demand, so let's remove them.
- #
- # Note, we are using -f here so that rm does not fail or warn if the
- # directory is nonexistent.
- rm -rf "${D}"/etc/sysconfig
- rm -rf "${D}"/var
- rm -rf "${D}"/run
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
-
- newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
-
- newinitd "${S}/libvirtd.init" libvirtd
- newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
- newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
- newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
-
- newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
- newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
-
- DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
- touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
- fi
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
- tmpfiles_process libvirtd.conf
- readme.gentoo_print_elog
-}
diff --git a/app-emulation/libvirt/libvirt-8.2.0.ebuild b/app-emulation/libvirt/libvirt-8.2.0.ebuild
deleted file mode 100644
index 6011891826fc..000000000000
--- a/app-emulation/libvirt/libvirt-8.2.0.ebuild
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please bump with dev-python/libvirt-python!
-
-PYTHON_COMPAT=( python3_{8..10} )
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://libvirt.org/sources/${P}.tar.xz
- verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
- KEYWORDS="amd64 arm64 ~ppc64 x86"
-fi
-
-DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-IUSE="
- apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
- iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
- virtualbox +virt-network wireshark-plugins xen zfs
-"
-
-REQUIRED_USE="
- firewalld? ( virt-network )
- libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
- lxc? ( caps libvirtd )
- openvz? ( libvirtd )
- qemu? ( libvirtd )
- virt-network? ( libvirtd )
- virtualbox? ( libvirtd )
- xen? ( libvirtd )"
-
-BDEPEND="
- app-text/xhtml1
- dev-lang/perl
- dev-libs/libxslt
- dev-perl/XML-XPath
- dev-python/docutils
- virtual/pkgconfig
- net-libs/rpcsvc-proto
- bash-completion? ( >=app-shells/bash-completion-2.0 )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )"
-
-# gettext.sh command is used by the libvirt command wrappers, and it's
-# non-optional, so put it into RDEPEND.
-# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
-# package will use 3 by default. Since we don't have slot pinning in an API,
-# we must go with the most recent
-RDEPEND="
- acct-user/qemu
- app-misc/scrub
- >=dev-libs/glib-2.56.0
- dev-libs/libgcrypt
- dev-libs/libnl:3
- >=dev-libs/libxml2-2.9.1
- >=net-analyzer/openbsd-netcat-1.105-r1
- >=net-libs/gnutls-3.2.0:=
- net-libs/libtirpc:=
- >=net-misc/curl-7.18.0
- sys-apps/dbus
- sys-apps/dmidecode
- sys-devel/gettext
- >=sys-libs/readline-7.0:=
- virtual/acl
- apparmor? ( sys-libs/libapparmor )
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
- firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:= )
- glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( >=sys-block/open-iscsi-1.18.0 )
- iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( >=net-libs/libssh-0.7:= )
- libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
- lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
- nfs? ( net-fs/nfs-utils )
- numa? (
- >sys-process/numactl-2.0.2
- sys-process/numad
- )
- parted? (
- >=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
- )
- pcap? ( >=net-libs/libpcap-1.8.0 )
- policykit? (
- acct-group/libvirt
- >=sys-auth/polkit-0.9
- )
- qemu? (
- >=app-emulation/qemu-2.11
- >=dev-libs/yajl-2.0.3:=
- )
- rbd? ( sys-cluster/ceph )
- sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
- selinux? ( >=sys-libs/libselinux-2.0.85 )
- virt-network? (
- net-dns/dnsmasq[dhcp,ipv6(+),script]
- net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6(+)]
- net-misc/radvd
- sys-apps/iproute2[-minimal]
- )
- wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
- xen? (
- >=app-emulation/xen-4.9.0
- app-emulation/xen-tools:=
- )
- udev? (
- virtual/libudev:=
- >=x11-libs/libpciaccess-0.10.9
- )
- zfs? ( sys-fs/zfs )
- kernel_linux? ( sys-apps/util-linux )"
-DEPEND="${BDEPEND}
- ${RDEPEND}
- ${PYTHON_DEPS}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch
-)
-
-pkg_setup() {
- # Check kernel configuration:
- CONFIG_CHECK=""
- use fuse && CONFIG_CHECK+="
- ~FUSE_FS"
-
- use lvm && CONFIG_CHECK+="
- ~BLK_DEV_DM
- ~DM_MULTIPATH
- ~DM_SNAPSHOT"
-
- use lxc && CONFIG_CHECK+="
- ~BLK_CGROUP
- ~CGROUP_CPUACCT
- ~CGROUP_DEVICE
- ~CGROUP_FREEZER
- ~CGROUP_NET_PRIO
- ~CGROUP_PERF
- ~CGROUPS
- ~CGROUP_SCHED
- ~CPUSETS
- ~IPC_NS
- ~MACVLAN
- ~NAMESPACES
- ~NET_CLS_CGROUP
- ~NET_NS
- ~PID_NS
- ~POSIX_MQUEUE
- ~SECURITYFS
- ~USER_NS
- ~UTS_NS
- ~VETH
- ~!GRKERNSEC_CHROOT_MOUNT
- ~!GRKERNSEC_CHROOT_DOUBLE
- ~!GRKERNSEC_CHROOT_PIVOT
- ~!GRKERNSEC_CHROOT_CHMOD
- ~!GRKERNSEC_CHROOT_CAPS"
-
- kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
- ~DEVPTS_MULTIPLE_INSTANCES"
-
- use virt-network && CONFIG_CHECK+="
- ~BRIDGE_EBT_MARK_T
- ~BRIDGE_NF_EBTABLES
- ~NETFILTER_ADVANCED
- ~NETFILTER_XT_CONNMARK
- ~NETFILTER_XT_MARK
- ~NETFILTER_XT_TARGET_CHECKSUM
- ~IP_NF_FILTER
- ~IP_NF_MANGLE
- ~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
- ~IP6_NF_FILTER
- ~IP6_NF_MANGLE
- ~IP6_NF_NAT"
- # Bandwidth Limiting Support
- use virt-network && CONFIG_CHECK+="
- ~BRIDGE_EBT_T_NAT
- ~IP_NF_TARGET_REJECT
- ~NET_ACT_POLICE
- ~NET_CLS_FW
- ~NET_CLS_U32
- ~NET_SCH_HTB
- ~NET_SCH_INGRESS
- ~NET_SCH_SFQ"
-
- ERROR_USER_NS="Optional depending on LXC configuration."
-
- if [[ -n ${CONFIG_CHECK} ]]; then
- linux-info_pkg_setup
- fi
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- touch "${S}/.mailmap" || die
-
- default
- python_fix_shebang .
-
- # Skip fragile tests which relies on pristine environment
- # (Breaks because of sandbox environment variables)
- # bug #802876
- sed -i -e "/commandtest/d" tests/meson.build || die
-
- # Tweak the init script:
- cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
- sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
- -i "${S}/libvirtd.init" || die "sed failed"
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature apparmor)
- $(meson_feature apparmor apparmor_profiles)
- $(meson_feature audit)
- $(meson_feature caps capng)
- $(meson_feature dtrace)
- $(meson_feature firewalld)
- $(meson_feature fuse)
- $(meson_feature glusterfs)
- $(meson_feature glusterfs storage_gluster)
- $(meson_feature iscsi storage_iscsi)
- $(meson_feature iscsi-direct storage_iscsi_direct)
- $(meson_feature libvirtd driver_libvirtd)
- $(meson_feature libssh)
- $(meson_feature libssh2)
- $(meson_feature lvm storage_lvm)
- $(meson_feature lvm storage_mpath)
- $(meson_feature lxc driver_lxc)
- $(meson_feature nls)
- $(meson_feature numa numactl)
- $(meson_feature numa numad)
- $(meson_feature openvz driver_openvz)
- $(meson_feature parted storage_disk)
- $(meson_feature pcap libpcap)
- $(meson_feature policykit polkit)
- $(meson_feature qemu driver_qemu)
- $(meson_feature qemu yajl)
- $(meson_feature rbd storage_rbd)
- $(meson_feature sasl)
- $(meson_feature selinux)
- $(meson_feature udev)
- $(meson_feature virt-network driver_network)
- $(meson_feature virtualbox driver_vbox)
- $(meson_feature wireshark-plugins wireshark_dissector)
- $(meson_feature xen driver_libxl)
- $(meson_feature zfs storage_zfs)
-
- -Dnetcf=disabled
- -Dsanlock=disabled
-
- -Ddriver_esx=enabled
- -Dinit_script=systemd
- -Dqemu_user=$(usex caps qemu root)
- -Dqemu_group=$(usex caps qemu root)
- -Ddriver_remote=enabled
- -Dstorage_fs=enabled
- -Ddriver_vmware=enabled
-
- --localstatedir="${EPREFIX}/var"
- -Drunstatedir="${EPREFIX}/run"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- )
-
- meson_src_configure
-}
-
-src_test() {
- export VIR_TEST_DEBUG=1
- # Don't run the syntax check tests, they're fragile and not relevant
- # to us downstream anyway.
- # We also crank up the timeout (as Fedora does) just to preempt failures
- # on slower arches.
- meson_src_test --no-suite syntax-check --timeout-multiplier 10
-}
-
-src_install() {
- meson_src_install
-
- # Depending on configuration option, libvirt will create some bogus
- # directoreis. They are either not used, or libvirtd is able to create
- # them on demand, so let's remove them.
- #
- # Note, we are using -f here so that rm does not fail or warn if the
- # directory is nonexistent.
- rm -rf "${D}"/etc/sysconfig
- rm -rf "${D}"/var
- rm -rf "${D}"/run
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
-
- newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
-
- newinitd "${S}/libvirtd.init" libvirtd
- newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
- newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
- newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
-
- newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
- newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
-
- DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
- touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
- fi
-
- use libvirtd || return 0
- # From here, only libvirtd-related instructions, be warned!
- tmpfiles_process libvirtd.conf
- readme.gentoo_print_elog
-}
diff --git a/app-emulation/libvirt/libvirt-8.7.0.ebuild b/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild
similarity index 98%
rename from app-emulation/libvirt/libvirt-8.7.0.ebuild
rename to app-emulation/libvirt/libvirt-8.7.0-r1.ebuild
index 972e3dbc1d25..947a2eab6796 100644
--- a/app-emulation/libvirt/libvirt-8.7.0.ebuild
+++ b/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild
@@ -88,7 +88,7 @@ RDEPEND="
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
libssh? ( >=net-libs/libssh-0.7:= )
libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
nfs? ( net-fs/nfs-utils )
numa? (
@@ -97,7 +97,7 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
diff --git a/app-emulation/libvirt/libvirt-8.8.0.ebuild b/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild
similarity index 98%
rename from app-emulation/libvirt/libvirt-8.8.0.ebuild
rename to app-emulation/libvirt/libvirt-8.8.0-r1.ebuild
index 92cd83c672f7..bc8725e909ff 100644
--- a/app-emulation/libvirt/libvirt-8.8.0.ebuild
+++ b/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild
@@ -88,7 +88,7 @@ RDEPEND="
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
libssh? ( >=net-libs/libssh-0.8.1:= )
libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
nfs? ( net-fs/nfs-utils )
numa? (
@@ -97,7 +97,7 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index ceff67f6442c..41862ff36a59 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -88,7 +88,7 @@ RDEPEND="
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
libssh? ( >=net-libs/libssh-0.8.1:= )
libssh2? ( >=net-libs/libssh2-1.3 )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
nfs? ( net-fs/nfs-utils )
numa? (
@@ -97,7 +97,7 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
diff --git a/app-emulation/vice/vice-3.6.1-r2.ebuild b/app-emulation/vice/vice-3.6.1-r2.ebuild
index 2374e9497e2d..a6f84bd6d1b2 100644
--- a/app-emulation/vice/vice-3.6.1-r2.ebuild
+++ b/app-emulation/vice/vice-3.6.1-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="
alsa cpuhistory debug doc ethernet ffmpeg flac gif +gtk headless jpeg
lame mpg123 ogg openmp oss parport pci png portaudio pulseaudio sdl zlib"
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild
index e65627f19d6c..7cc456fe3207 100644
--- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild
@@ -17,7 +17,6 @@ SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="amd64"
IUSE=""
-RESTRICT="mirror"
S="${WORKDIR}"
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild
index e65627f19d6c..7cc456fe3207 100644
--- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild
@@ -17,7 +17,6 @@ SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="amd64"
IUSE=""
-RESTRICT="mirror"
S="${WORKDIR}"
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.40.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.40.ebuild
index e65627f19d6c..48dd1cb5ae28 100644
--- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.40.ebuild
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.40.ebuild
@@ -14,10 +14,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0/$(ver_cut 1-2)"
-[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="amd64"
-IUSE=""
-RESTRICT="mirror"
S="${WORKDIR}"
diff --git a/app-eselect/Manifest.gz b/app-eselect/Manifest.gz
index c08a65a6b609..1533e6fe992f 100644
Binary files a/app-eselect/Manifest.gz and b/app-eselect/Manifest.gz differ
diff --git a/app-eselect/eselect-postgresql/eselect-postgresql-2.4.ebuild b/app-eselect/eselect-postgresql/eselect-postgresql-2.4-r1.ebuild
similarity index 99%
rename from app-eselect/eselect-postgresql/eselect-postgresql-2.4.ebuild
rename to app-eselect/eselect-postgresql/eselect-postgresql-2.4-r1.ebuild
index 8062c5d32747..b61be76cac38 100644
--- a/app-eselect/eselect-postgresql/eselect-postgresql-2.4.ebuild
+++ b/app-eselect/eselect-postgresql/eselect-postgresql-2.4-r1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Utility to select the default PostgreSQL slot"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
diff --git a/app-i18n/Manifest.gz b/app-i18n/Manifest.gz
index e334230ec064..9427f3e76f9f 100644
Binary files a/app-i18n/Manifest.gz and b/app-i18n/Manifest.gz differ
diff --git a/app-i18n/fcitx-qt5/files/fcitx-qt5-1.2.5-QFcitxPlatformInputContext_recursion.patch b/app-i18n/fcitx-qt5/files/fcitx-qt5-1.2.5-QFcitxPlatformInputContext_recursion.patch
index f3e31991b53d..385abd8495ad 100644
--- a/app-i18n/fcitx-qt5/files/fcitx-qt5-1.2.5-QFcitxPlatformInputContext_recursion.patch
+++ b/app-i18n/fcitx-qt5/files/fcitx-qt5-1.2.5-QFcitxPlatformInputContext_recursion.patch
@@ -1,7 +1,7 @@
https://github.com/fcitx/fcitx-qt5/commit/6f2033c497fe0da1fd197bc3be35695b11eafd93
---- /platforminputcontext/qfcitxplatforminputcontext.cpp
-+++ /platforminputcontext/qfcitxplatforminputcontext.cpp
+--- a/platforminputcontext/qfcitxplatforminputcontext.cpp
++++ b/platforminputcontext/qfcitxplatforminputcontext.cpp
@@ -291,8 +291,21 @@
return;
}
diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.8-enchant.patch b/app-i18n/fcitx/files/fcitx-4.2.9.8-enchant.patch
index f152f1dc6e5a..25b4fc1d12ac 100644
--- a/app-i18n/fcitx/files/fcitx-4.2.9.8-enchant.patch
+++ b/app-i18n/fcitx/files/fcitx-4.2.9.8-enchant.patch
@@ -1,7 +1,7 @@
https://github.com/fcitx/fcitx/issues/475
---- /cmake/FindEnchant.cmake
-+++ /cmake/FindEnchant.cmake
+--- a/cmake/FindEnchant.cmake
++++ b/cmake/FindEnchant.cmake
@@ -16,15 +16,15 @@
endif(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
diff --git a/app-i18n/fcitx/files/fcitx-4.2.9.8-xkb.patch b/app-i18n/fcitx/files/fcitx-4.2.9.8-xkb.patch
index e21c3a1db7e8..dbb82afa7443 100644
--- a/app-i18n/fcitx/files/fcitx-4.2.9.8-xkb.patch
+++ b/app-i18n/fcitx/files/fcitx-4.2.9.8-xkb.patch
@@ -1,7 +1,7 @@
https://github.com/fcitx/fcitx/issues/250
---- /CMakeLists.txt
-+++ /CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
@@ -96,12 +96,15 @@
endif()
endif()
diff --git a/app-i18n/ibus-sunpinyin/files/ibus-sunpinyin-2.0.4_pre20200306162733-python-3.patch b/app-i18n/ibus-sunpinyin/files/ibus-sunpinyin-2.0.4_pre20200306162733-python-3.patch
index 25b11f0a8009..09bc30d44cfb 100644
--- a/app-i18n/ibus-sunpinyin/files/ibus-sunpinyin-2.0.4_pre20200306162733-python-3.patch
+++ b/app-i18n/ibus-sunpinyin/files/ibus-sunpinyin-2.0.4_pre20200306162733-python-3.patch
@@ -1,7 +1,7 @@
https://github.com/sunpinyin/sunpinyin/issues/111
---- /wrapper/ibus/setup/main.py
-+++ /wrapper/ibus/setup/main.py
+--- a/wrapper/ibus/setup/main.py
++++ b/wrapper/ibus/setup/main.py
@@ -63,7 +63,7 @@
class Logger:
@staticmethod
diff --git a/app-i18n/librime/files/librime-1.6.0-boost-1.76.patch b/app-i18n/librime/files/librime-1.6.0-boost-1.76.patch
index 5ed1447359d6..31eff9268bfc 100644
--- a/app-i18n/librime/files/librime-1.6.0-boost-1.76.patch
+++ b/app-i18n/librime/files/librime-1.6.0-boost-1.76.patch
@@ -2,8 +2,8 @@ https://github.com/rime/librime/issues/462
https://github.com/rime/librime/pull/463
https://github.com/rime/librime/commit/57cffcd02ac70148e21ce982be834876b3df87db
---- /src/rime/gear/script_translator.cc
-+++ /src/rime/gear/script_translator.cc
+--- a/src/rime/gear/script_translator.cc
++++ b/src/rime/gear/script_translator.cc
@@ -8,6 +8,7 @@
//
#include
@@ -12,8 +12,8 @@ https://github.com/rime/librime/commit/57cffcd02ac70148e21ce982be834876b3df87db
#include
#include
#include
---- /src/rime/gear/table_translator.cc
-+++ /src/rime/gear/table_translator.cc
+--- a/src/rime/gear/table_translator.cc
++++ b/src/rime/gear/table_translator.cc
@@ -6,6 +6,7 @@
//
#include
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch b/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch
index dccdff76f15d..44a60ed4fc9f 100644
--- a/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch
+++ b/app-i18n/mozc/files/mozc-2.26.4220-environmental_variables.patch
@@ -1,7 +1,7 @@
https://github.com/google/mozc/issues/470
---- /src/base/system_util.cc
-+++ /src/base/system_util.cc
+--- a/src/base/system_util.cc
++++ b/src/base/system_util.cc
@@ -226,6 +226,11 @@
std::string UserProfileDirectoryImpl::GetUserProfileDirectory() const {
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch b/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch
index 8dbabeac0038..b12c3d370e37 100644
--- a/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch
+++ b/app-i18n/mozc/files/mozc-2.26.4220-server_path_check.patch
@@ -1,7 +1,7 @@
https://github.com/google/mozc/issues/471
---- /src/ipc/ipc_path_manager.cc
-+++ /src/ipc/ipc_path_manager.cc
+--- a/src/ipc/ipc_path_manager.cc
++++ b/src/ipc/ipc_path_manager.cc
@@ -340,9 +340,21 @@
return false;
}
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch
index 33f72b8f7a63..da6b40265804 100644
--- a/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_abseil-cpp.patch
@@ -1,7 +1,7 @@
https://github.com/google/mozc/issues/490
---- /src/base/absl.gyp
-+++ /src/base/absl.gyp
+--- a/src/base/absl.gyp
++++ b/src/base/absl.gyp
@@ -28,119 +28,209 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -301,8 +301,8 @@ https://github.com/google/mozc/issues/490
],
},
],
---- /src/config/config_test.gyp
-+++ /src/config/config_test.gyp
+--- a/src/config/config_test.gyp
++++ b/src/config/config_test.gyp
@@ -36,6 +36,7 @@
'config_handler_test.cc',
],
@@ -319,8 +319,8 @@ https://github.com/google/mozc/issues/490
'../testing/testing.gyp:gtest_main',
'config.gyp:character_form_manager',
],
---- /src/gyp/common.gypi
-+++ /src/gyp/common.gypi
+--- a/src/gyp/common.gypi
++++ b/src/gyp/common.gypi
@@ -194,7 +194,13 @@
'include_dirs': [
'<(abs_depth)',
@@ -336,8 +336,8 @@ https://github.com/google/mozc/issues/490
],
'mac_framework_headers': [],
'target_conditions': [
---- /src/gyp/common_win.gypi
-+++ /src/gyp/common_win.gypi
+--- a/src/gyp/common_win.gypi
++++ b/src/gyp/common_win.gypi
@@ -307,10 +307,16 @@
'include_dirs': [
'<(abs_depth)',
@@ -356,8 +356,8 @@ https://github.com/google/mozc/issues/490
'msvs_configuration_attributes': {
'CharacterSet': '<(win_char_set_unicode)',
},
---- /src/gyp/defines.gypi
-+++ /src/gyp/defines.gypi
+--- a/src/gyp/defines.gypi
++++ b/src/gyp/defines.gypi
@@ -63,6 +63,10 @@
# use_libibus represents if ibus library is used or not.
# This option is only for Linux.
@@ -369,8 +369,8 @@ https://github.com/google/mozc/issues/490
},
'target_defaults': {
'defines': [
---- /src/gyp/directories.gypi
-+++ /src/gyp/directories.gypi
+--- a/src/gyp/directories.gypi
++++ b/src/gyp/directories.gypi
@@ -31,7 +31,12 @@
'variables': {
# Top directory of third party libraries.
@@ -385,8 +385,8 @@ https://github.com/google/mozc/issues/490
# Top directory of additional third party libraries.
'ext_third_party_dir%': '<(abs_depth)/third_party',
---- /src/session/session_test.gyp
-+++ /src/session/session_test.gyp
+--- a/src/session/session_test.gyp
++++ b/src/session/session_test.gyp
@@ -221,6 +221,7 @@
'internal/key_event_transformer_test.cc',
],
@@ -395,8 +395,8 @@ https://github.com/google/mozc/issues/490
'../base/base.gyp:base',
'../converter/converter_base.gyp:converter_mock',
'../engine/engine.gyp:mock_converter_engine',
---- /src/storage/storage_test.gyp
-+++ /src/storage/storage_test.gyp
+--- a/src/storage/storage_test.gyp
++++ b/src/storage/storage_test.gyp
@@ -41,6 +41,7 @@
'tiny_storage_test.cc',
],
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch
index 47891fab9b47..0d52bcab9e10 100644
--- a/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_gtest.patch
@@ -1,7 +1,7 @@
https://github.com/google/mozc/issues/490
---- /src/gyp/defines.gypi
-+++ /src/gyp/defines.gypi
+--- a/src/gyp/defines.gypi
++++ b/src/gyp/defines.gypi
@@ -67,6 +67,10 @@
# use_system_abseil_cpp represents if system version or bundled version
# of abseil-cpp library is used.
@@ -13,8 +13,8 @@ https://github.com/google/mozc/issues/490
},
'target_defaults': {
'defines': [
---- /src/testing/testing.gyp
-+++ /src/testing/testing.gyp
+--- a/src/testing/testing.gyp
++++ b/src/testing/testing.gyp
@@ -59,54 +59,76 @@
'targets': [
{
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
index 7ff132eaa591..479759ba6e40 100644
--- a/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
@@ -1,7 +1,7 @@
https://github.com/google/mozc/issues/490
---- /src/gyp/defines.gypi
-+++ /src/gyp/defines.gypi
+--- a/src/gyp/defines.gypi
++++ b/src/gyp/defines.gypi
@@ -71,6 +71,10 @@
# use_system_gtest represents if system version or bundled version
# of gtest library is used.
@@ -13,8 +13,8 @@ https://github.com/google/mozc/issues/490
},
'target_defaults': {
'defines': [
---- /src/net/jsoncpp.gyp
-+++ /src/net/jsoncpp.gyp
+--- a/src/net/jsoncpp.gyp
++++ b/src/net/jsoncpp.gyp
@@ -31,32 +31,60 @@
'targets': [
{
@@ -101,8 +101,8 @@ https://github.com/google/mozc/issues/490
},
],
}
---- /src/net/jsoncpp.h
-+++ /src/net/jsoncpp.h
+--- a/src/net/jsoncpp.h
++++ b/src/net/jsoncpp.h
@@ -35,7 +35,11 @@
// Mozc basically disables C++ exception.
#define JSON_USE_EXCEPTION 0
diff --git a/app-i18n/transifex-client/Manifest b/app-i18n/transifex-client/Manifest
index 9c352452785f..3cca75cfcff6 100644
--- a/app-i18n/transifex-client/Manifest
+++ b/app-i18n/transifex-client/Manifest
@@ -1,4 +1,4 @@
DIST transifex-client-1.3.0-deps.tar.bz 241930614 BLAKE2B 7855172504f3fe1208556e0030bcaec7dac4b21ed948926368b0b91c1984cb73e6d0bda0110bdd592cf3be7835f847fe54009f2c5c41fd14899b7b5d37932937 SHA512 5eb88614b354aeac0acd02cfe416c884adb8070614946dd71de512030e410a20ca7eb6b426876c218ef9b6ec1d4faf9eb557e2daf84cf9895cce04c33a937655
DIST transifex-client-1.3.0.tar.gz 87395 BLAKE2B 90da67d49e1b2e09d509b0ff373f0403eddc5c29a63ca64f747006ed3cb95c51add58e442a139e7e17d28b44e700aed249d0e5ca563f6af832578640f8f7164d SHA512 6e81d94e95157322d0fc74386d7e6f218f589bb81ce36b0967c09ca9199d641b13953f491373d9e7ec9f6ddc50c243801a24da985a2e577b733bf364623e3d75
-DIST transifex-client-1.3.1-deps.tar.bz 241386467 BLAKE2B fb0e2c6c3f722afee5b6ce0eb8536b53139ec816411eba9bfa6fdf17d850c3cce0bce5f662e770da582001b7f34709d362d2ac3cfc8149f4affa5878a9f475f9 SHA512 f2d77065a31c2aa8c6518b5ce382ed82ee6eb34d03c2981daf9563ab09367d8f2a8b0be37947a23dfca56d59c987e555b89b6728fffba190b56b54871b161895
-DIST transifex-client-1.3.1.tar.gz 87320 BLAKE2B 5fa402f8b9dbcde3030335b544ff5b7982f3477d7f3484d324709467dd694e2d4368e2e78c8ac7203eff92c079814594d7251372cc023bc22c21d966a5ef6a7a SHA512 8692c8d98511240672e1252e309c714eda89c83e34b53826cc8fb0d24059a3fc46ad3f5159c57ce974d63f26c35281cf7100207d3d5932f26c87692f80dac7d2
+DIST transifex-client-1.4.1-deps.tar.bz 241665608 BLAKE2B 88fcdf188c0086c3a8438cee0408e1df8ea17fa7c5724347d8af9b3f94fd843e8a3d68e988c33ceb55f6f8723d6a97fb189027d36fe9f443cbfd39d6f6ddf257 SHA512 a7f6a8e04211756761b2b1295c3cc1ae0c2a3b6486607f0514c38f9314678f48d2f743f681bf1f990310ef89345f02cc06f15908db3df5c4a1c0c7d0fa7601a3
+DIST transifex-client-1.4.1.tar.gz 91054 BLAKE2B 55bde1faf526a633923691cd3dc14d9d481cd4eec040e95eae385c63593545dc2158e0d3518c53a08db70661abf4fb864157d5e7e1fdab403ef02e47d83665fe SHA512 66ad08c9a22e09dbb5690c4da830924e0bd76c9ecf73dbeadc849c7b1911b4439a456c478a5688883278e90903015b0968220f36f7cd951650f364857ac0e08e
diff --git a/app-i18n/transifex-client/transifex-client-1.3.1.ebuild b/app-i18n/transifex-client/transifex-client-1.4.1.ebuild
similarity index 100%
rename from app-i18n/transifex-client/transifex-client-1.3.1.ebuild
rename to app-i18n/transifex-client/transifex-client-1.4.1.ebuild
diff --git a/app-laptop/Manifest.gz b/app-laptop/Manifest.gz
index 086bfdace25b..244c3e7e5ae3 100644
Binary files a/app-laptop/Manifest.gz and b/app-laptop/Manifest.gz differ
diff --git a/app-laptop/ibam/files/ibam-0.5.2-build.patch b/app-laptop/ibam/files/ibam-0.5.2-build.patch
index 57459f544e5b..3c2207133fad 100644
--- a/app-laptop/ibam/files/ibam-0.5.2-build.patch
+++ b/app-laptop/ibam/files/ibam-0.5.2-build.patch
@@ -1,5 +1,5 @@
---- /Makefile
-+++ /Makefile
+--- a/Makefile
++++ b/Makefile
@@ -17,8 +17,8 @@
#
IBAM_VERSION=0.5.2
diff --git a/app-laptop/tpb/metadata.xml b/app-laptop/tpb/metadata.xml
index 85e4ed814fa2..38f2737a0212 100644
--- a/app-laptop/tpb/metadata.xml
+++ b/app-laptop/tpb/metadata.xml
@@ -1,5 +1,8 @@
-
+
+
+ tpb
+
diff --git a/app-misc/Manifest.gz b/app-misc/Manifest.gz
index d1584b864db7..7e2e42393d90 100644
Binary files a/app-misc/Manifest.gz and b/app-misc/Manifest.gz differ
diff --git a/app-misc/bijiben/bijiben-40.1.ebuild b/app-misc/bijiben/bijiben-40.1.ebuild
index 53f12fc62f75..0756c1deabdc 100644
--- a/app-misc/bijiben/bijiben-40.1.ebuild
+++ b/app-misc/bijiben/bijiben-40.1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit gnome.org gnome2-utils meson python-any-r1 xdg
DESCRIPTION="Note editor designed to remain simple to use"
diff --git a/app-misc/bijiben/metadata.xml b/app-misc/bijiben/metadata.xml
index 7b343b06be8a..4de392269fc0 100644
--- a/app-misc/bijiben/metadata.xml
+++ b/app-misc/bijiben/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gnome-notes
+
diff --git a/app-misc/broot/Manifest b/app-misc/broot/Manifest
index 02e52db1aae7..c2d8bcb54aa6 100644
--- a/app-misc/broot/Manifest
+++ b/app-misc/broot/Manifest
@@ -15,11 +15,13 @@ DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST base64-0.13.0.crate 62070 BLAKE2B b957f65cdb1e28baeca0cefc92fa98be797409b7dabd15e0e88db6cdfb89779b662cba9f2270fbf3b7b66948fdc46c118b8040a78ab72049c48a928fa802bee0 SHA512 991a72999839daa232f508c5b24e7d3225e8a26db8d1d0e747881b115af9e408b92374e163b31e0b0d324c1c2e57e8e38d66861b61eb0a1dba87bb5871940151
DIST bet-1.0.1.crate 7163 BLAKE2B 173f38b378ec7a3bfbe6c180d0988af381cbec39d7637406c1d9a70ede2ba097dffcffe79161be9fbe82816c9b02e6d950eeec035882974232bf160db29459e5 SHA512 15309942fd6d8365d7dd31dd0051fc795236c08b098edb605465375d2132a40bc898bdefbac71f5717b248cea6d7b70b8cc72b9046daf684db76458d99288b48
+DIST bet-1.0.2.crate 7388 BLAKE2B 12f4177fe03ba6aabc8f09834c52f68d00d55331d27881afd0f1bde4d19284d3202e11dfecc8b4b5ce4874e0c18ecf70d66c9b01b725d80288e0df2e4181c890 SHA512 f674a4aec85da8aea93d07babed4f18700137332538eaf8dde5ce7a2eacac049b913758026af32987b1931b0047751a855409ce2c88108840677fb120320585e
DIST bincode-1.3.3.crate 28958 BLAKE2B ea01d2efd8149ecba5e240ed989268b683d542a5f369902d316a4fd1ae4b8edd94e2d4a8cbff0e96646eb29facb04a84b249d74f0781dc3d29c8797ac975aa9f SHA512 49e39d71214dbb623a18e3852f6f2f2a5c3f951b64107d66c8adaa95a442a3283fba978bca41b126c9879b12833b945f478d2c77d35482b3577fc1a894e8e5f3
DIST bit_field-0.10.1.crate 10576 BLAKE2B 3a906092be85cce6af9e2ac48632d8545864c5fd1610e7e28731bd5cc44c9513f2c7eb52fa1be0b4eed65bffe130ddc98c95dfeba2f9de28ada4091396e5695d SHA512 4848d7ec592642913c7bd06cd3a0da49d3bb14291866cd22ead8e9a6b2939a787035d5cded87be3d2d3491283e31ea2cfb105885df4114720da98beb82990ee6
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST broot-1.14.2.tar.gz 10043403 BLAKE2B eabedf5eb0830b78563f8cdf146f86d972efacbc490db73937a1a3dcd2108e798b90cb4e24c53d5a62172c5f053ec25f006ea995ae233b200640e6a6090c87ef SHA512 ae48ca96a4c99a50bcb1ad752b3a83b6831c337ddfab6b7c4618f5b57f6262bab7ac677f5dea351d57eb708364be6213eab0f74aef9b18a800b38fdf91f991d5
DIST broot-1.15.0.tar.gz 10107762 BLAKE2B 753cb852483316ecb0a7ce74042fe53550f344eef2576951271d0290b9f6001c0c84a85b13f481698c6054ae06aa085e6c80e3e4cc5bb735a38fa8c1f256d853 SHA512 0a0e4c800ed43ed317c81202a5d18a8b6a4df4362d2e1c9383955dfc4a30b6b28e0bfb07e89a66ec10edc37250a65c0206a816e07bec6f810df32a2c48f4cc65
+DIST broot-1.16.1.tar.gz 10131628 BLAKE2B 645dc29aa994badd0f6ca8f2f52374edaad089618d0255a8ab61bc12a4207e7ea8c77af7e351908190ccd77bdd49bd824d14c9a188ddf867da54fff4c31e35b0 SHA512 4f71d4a1b46d346b7281fe7ae6d6f649bc8bd6ca0f8a0b138c36d13e2febdfa29d4a117253408b1834312c68702ceb4496ed768846dd5e3b1ea9f820b526adbf
DIST bstr-0.2.17.crate 330350 BLAKE2B 90c3a48d78b73d7e36a3da9fda0beae6e91ce534d17198ea8ceee0b613d03297f9dd8bca30e1ec5da01d1da359a1da72b2c2771b77c82bebab5006cafd665192 SHA512 883eac8210d14f89517b4dd5e25d02c97cf31602ec74498b5e186112ba0f154d47de8d1c41a8f4e5503f3b53c064e2c976b60bbfd63fc28b186bc006e00f20c2
DIST bumpalo-3.10.0.crate 78915 BLAKE2B 94515190837765b47feaf94946c7e4da5b84e6faf7975bd5452bd9388d34e51c84315b80bc15b37c7f4ea8b4aaa0112707cdfc82d0651eeb8b63d2e7bd247660 SHA512 60c686534588524250ea7cb43510dba69d24999769b719127ee07f6015530ac2c5778d9b93477ab075bfc15c13e3ef9adc29ac24059067ac32e109347cd509f8
DIST bumpalo-3.11.0.crate 80945 BLAKE2B a740a674d0922794cc71b87a8bd686f677f8d0b38d88cc43467b7f8f6d1368ef5cff99bf10867d3c8af9b79b71deca7e5bfe78670b7890b04e468359780d8c76 SHA512 f747b5743bd2825c62c363ec49f1eccc492d7cf8cca8101aa9733f32489685c1777344dc6183f83c772f1067f9648b953d3ae1034976a14295f252f1ee7788fa
@@ -149,6 +151,7 @@ DIST memmap-0.7.0.crate 15214 BLAKE2B 44a5bde9b85b2c378fd4c6ebfaa322ef8d0076472d
DIST memmap2-0.5.7.crate 26229 BLAKE2B 4e7751946a870dc3a3978daa51e524a7bb993f100debb778fe1fabe64f61dbe9c01042f02242d8b8be583a35672696454355e79981accc29fdb78989f8e0f12f SHA512 467e55a193497749f3dc7ed228f85622d072e07929a0c76904f0aa7a605f7689188e2b980ab17737301656edfcf86d851a482088c2f73f2132421612bbf08375
DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
DIST minimad-0.9.0.crate 19223 BLAKE2B 2d54da14a5eccb00e34b475d394f58a4fd24924ffc83fd8693659c0c5983806af41f9d17acfe50cc58e5e3f764074ed53fba15917b81cec0eafbddd4913d001b SHA512 e4deb76ea2f9e1cb0ca05406108ffa1d9a9ecf8af3752f6d3272e0fa595c4b659357084dc12f769ac843e13f7a9216fb7b470801788d9b0476001251bb950845
+DIST minimad-0.9.1.crate 19494 BLAKE2B e2380d676d1635409d013dda401289f52c0db05e6e0318c8c73ef109c7d5c4f99ebc731d2164a22d19ef63af020887faa792c552c4f5e116abf9043c47b6a197 SHA512 6b98b28322db8bcac5e1b6a095baf335e8049eff8430fdf5ec50c78589e971b32abe5821dc2151d39c3ae64a1f47c16f677c78b53393f9eaf321a59a32a1ccf8
DIST miniz_oxide-0.5.3.crate 53452 BLAKE2B ae99baa01c493b5eb779595be0d77a064c4624397676d3a023cc2a54941b0b3e7c80492ac47c8a28d78ec36e2f04aebe5af79f0e714380061c5e0139b9dfd9fb SHA512 cc2971ee2a2e891cdb05c1942f533b11a557199421910266ec2e4848a16dfe6882f1c08843035443935d695882720402356b4df4a50ed131a8f5fcc0591a72c5
DIST miniz_oxide-0.5.4.crate 53485 BLAKE2B 8836697bdc3707f89fa869e6b09a36ee4d83ce2ae0a53bc7b06bbad70ed7ac25f8f67d841f3f611f6756d891f0eddb0abf7fcaf87570f8ab32220f113583ea6d SHA512 589dac16ca9c2f94e6fa92b68bcf51d140f46562cbb3a1b791b75c59feae51da5ec16042604bbd6bcb7d7f0c7f75e98ea1af8cf42d177133a5eaa86429cf3114
DIST mio-0.8.4.crate 93013 BLAKE2B bc9722d2211195dcfaf574d83b2967d299eb02ff40b4fb4df2eb6b08d78e018ae1a9e198f43268ab2d38733feaa8298e9736dec9fb9add66c401d57406fd1292 SHA512 b44675c90daa37336a25e7eef53cdc664e6f52590ed4955bac82641baf8099d3d94850da79d985255eb74b61a499b1ea4a9d7309f6ea4c41454b3dbb090b70ee
@@ -248,8 +251,10 @@ DIST syntect-no-panic-4.6.1.crate 732925 BLAKE2B c93d1a0c3ad61c4c091968b5c033022
DIST tempfile-3.3.0.crate 27578 BLAKE2B e98c5ed4c59b6ff411e89ad4eb529bbe15264d6744edca8675c89bfb4397fbbb8da60bbc582da24bf9953afd9bb17cdb22654d933468697e9fa9e9903e6a7c77 SHA512 ba6faafb2dd56d694efe424752099a2efb50316afc0a4db9fdb7620ae3f1a31dfbb2a7b41724878cb977fa11f7568a406bd3b6a4f7cfc0b88b86b2cc616b953e
DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
DIST termimad-0.20.2.crate 353272 BLAKE2B f5b79041f015c4891772184764e6f8fbdf96b5fe1b8a9e5df5212f24ee4c065d6aa65352f1cc45eade14ee499a97f547f12f73003fdcbf575aab43b2888715cb SHA512 424a54b7368ba9aba244f857f5600c0719e6be28dd968d6542080ae1ea646ad24de934ffe3abd27f6edbb42e0c103c7baffa3be691d3015fb36d319528323f60
+DIST termimad-0.20.3.crate 354190 BLAKE2B e405b20d67f5d54805d2906569e7a817a040693b1e2c15b7b9a3603701a9d4cc30ea64b69cbc1419e43590b0367d5ca24951774eee6177214c1d15c3453ab307 SHA512 7d83d49c0ce02ae91872c92f4d9a4c6ecc52d59afa4d948ee32bb7bfea01527b4af61557bca1b8bee1378fc72d22ed68b43e959dc96eee4f18c47ed6b35c51c7
DIST terminal-clipboard-0.3.1.crate 5597 BLAKE2B a05f67c1ebce2129a2b8130cd84fbed579c67ae4d46bc4f233e6ae647a2693e5c1257ce3882a21345b596c487cbf5b339ef907f417aafea4bb6f980113aa31eb SHA512 b29a81d2737271cc4e60115e473ea3af80ce45f078c99fee573cbd35da8e27c939ff1aa86dd86a3e2ea9352a28f2fd3492e28be63c3eb0dad53974d06b43c346
DIST terminal-light-1.0.0.crate 38533 BLAKE2B b4b42796d84d18414955eabac8798ca26479e1189ecd0ba037c89ad4ec6fd3f9291cc2d6f87bdb3e9e4bf671006c8b0555b9e18d95f195ee4e82d4611109b6c9 SHA512 2414c6cd98ae293556552ad0a5fb198f148be05dc1336bee65b31d864aaecf4f85442ed9f1c34bd1a5968e10e6d015307e32173e75c2a80fca9f3df3374db598
+DIST terminal-light-1.0.1.crate 39115 BLAKE2B b4a8ec843c84a22b7de0f607ed4ad212f503142ff3e0085903c7faa2a9c0058f7de019501dd04becb7913f7ab6f988d79d07efdd6d42cfe233f0ba3468367edb SHA512 0547e006add17b0a363bbe792a1cab67832af3fe148e85b5a00a70651a01e8d8fd8a7cc1e720093d4223e50fe10277389d72acd5b3b738bfa6027be35e7fbb80
DIST termux-clipboard-0.1.0.crate 2033 BLAKE2B 33003b25e6236370b2423472e87deaac8ee282c375e02faa3575aaec7ef547674f0218a50f0a2d42ff75dcf088ef31d94f44c4b05c0f526dddbaef2e06a8c722 SHA512 acd972d9c9eaa20dfadf1ec01274ed27fb33d16d97b504d8f41fea9c6598557a32d939d0a8a8585d919ee9d1b411d714851d662b5bc7d1a5f3b97d8cd423a434
DIST textwrap-0.15.0.crate 52998 BLAKE2B f6c3057ea6ffde88dd9824cd3159d398316d9d21f327d2af59239ff84d79f893a9d0e96dfbd883aab6c64b631dc99457018e38baf14d40789f02d633425ded86 SHA512 f44271c542c22f17a4e3a459255f95e6c02d999f7d6bc8414d3973fd4ac9353aa4ef436932a45340738126905463d776902715feaa9329371f8a14f14b5a7bfd
DIST thiserror-1.0.31.crate 18013 BLAKE2B 5a46332efc602f8ce864024a538379b23b4586c04b18bf01b32b3cafae3ad90ae0c1ae5639cad555c01767c20f0109f87384918cb15a7ce51437094e70a2e544 SHA512 0e11aba54d38fc164c65b9357d1738ca96af2bc7bc2bcacfc4efc6f5c26a594effbb5e47aef46772ccafbe88871825a517920030572b79fae3d305550bfa6431
diff --git a/app-misc/broot/broot-1.16.1.ebuild b/app-misc/broot/broot-1.16.1.ebuild
new file mode 100644
index 000000000000..9eb76229ba4c
--- /dev/null
+++ b/app-misc/broot/broot-1.16.1.ebuild
@@ -0,0 +1,301 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+adler-1.0.2
+ahash-0.4.7
+ahash-0.7.6
+aho-corasick-0.7.19
+android_system_properties-0.1.5
+ansi_colours-1.1.1
+anyhow-1.0.64
+argh-0.1.8
+argh_derive-0.1.8
+argh_shared-0.1.8
+atty-0.2.14
+autocfg-1.1.0
+base64-0.13.0
+bet-1.0.2
+bincode-1.3.3
+bit_field-0.10.1
+bitflags-1.3.2
+bstr-0.2.17
+bumpalo-3.11.0
+bytemuck-1.12.1
+byteorder-1.4.3
+cc-1.0.73
+cfg-if-1.0.0
+char_reader-0.1.1
+chrono-0.4.22
+clap-3.2.20
+clap_complete-3.2.4
+clap_derive-3.2.18
+clap_lex-0.2.4
+cli-log-2.0.0
+clipboard-win-4.4.2
+color_quant-1.1.0
+coolor-0.5.0
+core-foundation-sys-0.8.3
+crc32fast-1.3.2
+crokey-0.4.3
+crokey-proc_macros-0.4.0
+crossbeam-0.8.2
+crossbeam-channel-0.5.6
+crossbeam-deque-0.8.2
+crossbeam-epoch-0.9.10
+crossbeam-queue-0.3.6
+crossbeam-utils-0.8.11
+crossterm-0.23.2
+crossterm_winapi-0.9.0
+csv-1.1.6
+csv-core-0.1.10
+csv2svg-0.1.8
+custom_error-1.9.2
+deser-hjson-1.0.2
+directories-4.0.1
+directories-next-2.0.0
+dirs-sys-0.3.7
+dirs-sys-next-0.1.2
+doc-comment-0.3.3
+either-1.8.0
+error-code-2.3.1
+exr-1.5.0
+fallible-iterator-0.2.0
+fallible-streaming-iterator-0.1.9
+fastrand-1.8.0
+file-size-1.0.3
+flate2-1.0.24
+flume-0.10.14
+fnv-1.0.7
+form_urlencoded-1.1.0
+futures-core-0.3.24
+futures-sink-0.3.24
+getrandom-0.2.7
+gif-0.11.4
+git2-0.14.4
+glassbench-0.3.3
+glob-0.3.0
+half-1.8.2
+hashbrown-0.12.3
+hashbrown-0.9.1
+hashlink-0.6.0
+heck-0.3.3
+heck-0.4.0
+hermit-abi-0.1.19
+iana-time-zone-0.1.47
+id-arena-2.2.1
+idna-0.3.0
+image-0.24.3
+include_dir-0.7.2
+include_dir_macros-0.7.2
+indexmap-1.9.1
+instant-0.1.12
+is_executable-1.0.1
+itoa-0.4.8
+itoa-1.0.3
+jobserver-0.1.24
+jpeg-decoder-0.2.6
+js-sys-0.3.60
+lazy-regex-2.3.0
+lazy-regex-proc_macros-2.3.0
+lazy_static-1.4.0
+lebe-0.5.2
+lfs-core-0.11.0
+libc-0.2.132
+libgit2-sys-0.13.4+1.4.2
+libsqlite3-sys-0.20.1
+libz-sys-1.1.8
+line-wrap-0.1.1
+linked-hash-map-0.5.6
+lock_api-0.4.8
+log-0.4.17
+memchr-2.5.0
+memmap2-0.5.7
+memoffset-0.6.5
+minimad-0.9.1
+miniz_oxide-0.5.4
+mio-0.8.4
+nanorand-0.7.0
+nix-0.22.3
+num-integer-0.1.45
+num-rational-0.4.1
+num-traits-0.2.15
+num_cpus-1.13.1
+num_threads-0.1.6
+once_cell-1.14.0
+onig-6.4.0
+onig_sys-69.8.1
+open-1.7.1
+opener-0.5.0
+os_str_bytes-6.3.0
+parking_lot-0.12.1
+parking_lot_core-0.9.3
+pathdiff-0.2.1
+percent-encoding-2.2.0
+phf-0.10.1
+phf_generator-0.10.0
+phf_macros-0.10.0
+phf_shared-0.10.0
+pin-project-1.0.12
+pin-project-internal-1.0.12
+pkg-config-0.3.25
+plist-1.3.1
+png-0.17.6
+ppv-lite86-0.2.16
+proc-macro-error-1.0.4
+proc-macro-error-attr-1.0.4
+proc-macro-hack-0.5.19
+proc-macro2-1.0.43
+proc-status-0.1.1
+quick-xml-0.22.0
+quote-1.0.21
+rand-0.8.5
+rand_chacha-0.3.1
+rand_core-0.6.3
+rayon-1.5.3
+rayon-core-1.9.3
+redox_syscall-0.2.16
+redox_users-0.4.3
+regex-1.6.0
+regex-automata-0.1.10
+regex-syntax-0.6.27
+remove_dir_all-0.5.3
+rgb-0.8.33
+rusqlite-0.24.2
+ryu-1.0.11
+safemem-0.3.3
+same-file-1.0.6
+scoped_threadpool-0.1.9
+scopeguard-1.1.0
+secular-1.0.1
+serde-1.0.144
+serde_derive-1.0.144
+serde_json-1.0.85
+signal-hook-0.3.14
+signal-hook-mio-0.2.3
+signal-hook-registry-1.4.0
+siphasher-0.3.10
+smallvec-1.9.0
+snafu-0.7.1
+snafu-derive-0.7.1
+spin-0.9.4
+splitty-1.0.0
+str-buf-1.0.6
+strict-0.1.4
+strsim-0.10.0
+svg-0.8.2
+svg-0.10.0
+syn-1.0.99
+syntect-no-panic-4.6.1
+tempfile-3.3.0
+termcolor-1.1.3
+termimad-0.20.3
+terminal-clipboard-0.3.1
+terminal-light-1.0.1
+termux-clipboard-0.1.0
+textwrap-0.15.0
+thiserror-1.0.34
+thiserror-impl-1.0.34
+threadpool-1.8.1
+tiff-0.7.3
+time-0.1.44
+time-0.3.14
+tinyvec-1.6.0
+tinyvec_macros-0.1.0
+toml-0.5.9
+umask-2.0.0
+unicode-bidi-0.3.8
+unicode-ident-1.0.3
+unicode-normalization-0.1.21
+unicode-segmentation-1.9.0
+unicode-width-0.1.9
+url-2.3.1
+users-0.11.0
+vcpkg-0.2.15
+version_check-0.9.4
+walkdir-2.3.2
+wasi-0.10.0+wasi-snapshot-preview1
+wasi-0.11.0+wasi-snapshot-preview1
+wasm-bindgen-0.2.83
+wasm-bindgen-backend-0.2.83
+wasm-bindgen-macro-0.2.83
+wasm-bindgen-macro-support-0.2.83
+wasm-bindgen-shared-0.2.83
+weezl-0.1.7
+winapi-0.3.9
+winapi-i686-pc-windows-gnu-0.4.0
+winapi-util-0.1.5
+winapi-x86_64-pc-windows-gnu-0.4.0
+windows-sys-0.36.1
+windows_aarch64_msvc-0.36.1
+windows_i686_gnu-0.36.1
+windows_i686_msvc-0.36.1
+windows_x86_64_gnu-0.36.1
+windows_x86_64_msvc-0.36.1
+x11-clipboard-0.5.3
+xcb-0.10.1
+xml-rs-0.8.4
+xterm-query-0.1.0
+xterm-query-0.2.0
+yaml-rust-0.4.5
+"
+
+inherit bash-completion-r1 cargo
+
+DESCRIPTION="A new way to see and navigate directory trees"
+HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot"
+SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris)"
+
+LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="X"
+
+RDEPEND="
+ dev-libs/libgit2:=
+ sys-libs/zlib
+ X? ( x11-libs/libxcb:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND=">=virtual/rust-1.60"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+src_configure() {
+ export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400
+ local myfeatures=( $(usev X clipboard) )
+
+ cargo_src_configure --no-default-features
+}
+
+src_prepare() {
+ default
+
+ local mandate=$(date -r man/page +'%Y/%m/%d' || die)
+ sed -e "s|#version|${PV}|" \
+ -e "s|#date|${mandate}|" \
+ man/page > "${T}"/${PN}.1 || die
+}
+
+src_install() {
+ cargo_src_install
+
+ doman "${T}"/${PN}.1
+
+ local build_dir=( target/$(usex debug{,} release)/build/${PN}-*/out )
+ cd ${build_dir[0]} || die
+
+ newbashcomp ${PN}.bash ${PN}
+ newbashcomp br.bash br
+
+ insinto /usr/share/zsh/site-functions
+ doins _${PN}
+ doins _br
+
+ insinto /usr/share/fish/vendor_completions.d
+ doins ${PN}.fish
+ doins br.fish
+}
diff --git a/app-misc/cw/files/cw-1.0.16-replace-isastream-with-fcntl.patch b/app-misc/cw/files/cw-1.0.16-replace-isastream-with-fcntl.patch
index 18f2dba953d2..978c23bb9b71 100644
--- a/app-misc/cw/files/cw-1.0.16-replace-isastream-with-fcntl.patch
+++ b/app-misc/cw/files/cw-1.0.16-replace-isastream-with-fcntl.patch
@@ -1,5 +1,5 @@
---- /var/tmp/portage/app-misc/cw-1.0.16-r3/work/cw-1.0.16/src/cw.c
-+++ cw-1.0.16/src/cw.c
+--- a/src/cw.c
++++ b/src/cw.c
@@ -1173,7 +1173,7 @@
close(master);
return(0);
diff --git a/app-misc/geoclue/geoclue-2.6.0.ebuild b/app-misc/geoclue/geoclue-2.6.0.ebuild
index 7f5425d4334e..78cc6ffc358a 100644
--- a/app-misc/geoclue/geoclue-2.6.0.ebuild
+++ b/app-misc/geoclue/geoclue-2.6.0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="xml(+)"
inherit meson python-any-r1 systemd vala xdg
diff --git a/app-misc/geoclue/metadata.xml b/app-misc/geoclue/metadata.xml
index 668d225821c3..e64fa36fc587 100644
--- a/app-misc/geoclue/metadata.xml
+++ b/app-misc/geoclue/metadata.xml
@@ -1,12 +1,15 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ geoclue/geoclue
+
diff --git a/app-misc/gnote/metadata.xml b/app-misc/gnote/metadata.xml
index 9eb47218781f..5a6a7a8f19f2 100644
--- a/app-misc/gnote/metadata.xml
+++ b/app-misc/gnote/metadata.xml
@@ -6,6 +6,6 @@
Gentoo GNOME Desktop
- tsuna/boost.m4
+ GNOME/gnote
diff --git a/app-misc/rox-filer/files/rox-filer-2.11-in-source-build.patch b/app-misc/rox-filer/files/rox-filer-2.11-in-source-build.patch
index d5400ec5f63f..d793a4e97fb9 100644
--- a/app-misc/rox-filer/files/rox-filer-2.11-in-source-build.patch
+++ b/app-misc/rox-filer/files/rox-filer-2.11-in-source-build.patch
@@ -1,5 +1,5 @@
---- /root/configure 2015-03-09 16:39:03.921516152 +0800
-+++ src/configure 2015-03-09 16:39:08.455516081 +0800
+--- a/configure
++++ b/configure
@@ -2133,12 +2133,6 @@
ac_config_headers="$ac_config_headers config.h"
diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest
index 04ceba0e9594..1c0c16c70b39 100644
--- a/app-misc/tracker-miners/Manifest
+++ b/app-misc/tracker-miners/Manifest
@@ -1,2 +1,3 @@
DIST tracker-miners-3.3.1.tar.xz 7244032 BLAKE2B 0233ba74ed6c697055c12fb758fefc0f71dba7e17db0e92950491cf51e228896e46d27485e2cedd16a5a3a8e4d46eca66baf57824e6340bad9f177b206908e2e SHA512 bc0cb53a7296a2836f05d5d5413418af936ef7f0a4794705e5970699d69c27f513812d0daa182f5359d665a3b6111de06cd9fc671ad769472e0cde2550f66dcb
DIST tracker-miners-3.4.0.tar.xz 7250524 BLAKE2B 9112c078899a7ab1aaab06d1c3ca0244410f21e13b724f1815e5334733bb851cf50c05ed424c80e62b2cfc5d7f16a1a065eeb6cb6a4befdb2d776cb7808e1cbc SHA512 0abafd3692c24683282f52e33a6b4d063a9d938b2f1b6dcb636409102890f6ebd9f33a8e406a482c1d16d26ebcf58874651d04f0c488b9d83e188feb6e5b1f91
+DIST tracker-miners-3.4.1.tar.xz 7244576 BLAKE2B a9f00a0f57b1af1a53b2552d4a1570a4c5576537c48eee9ebe2428e06170ff099e8876ec933bfe9f47adc69e7c61552e886aa2c3149bd3e02f37be8df844083d SHA512 2bd0b8450e1df40b4fa35b17f4209eba4f0d91a603b2d2f7b5bd6da07bcb60755b36d72b3b567ae6bf2d97c3a4294c8f14b1115825886c3f61528a092aa268bb
diff --git a/app-misc/tracker-miners/metadata.xml b/app-misc/tracker-miners/metadata.xml
index ef8b20013172..fd19944d2284 100644
--- a/app-misc/tracker-miners/metadata.xml
+++ b/app-misc/tracker-miners/metadata.xml
@@ -14,4 +14,7 @@
Add support for playlists
Add support for XPS file format through app-text/libgxps.
+
+ GNOME/tracker-miners
+
diff --git a/app-misc/tracker-miners/tracker-miners-3.4.1.ebuild b/app-misc/tracker-miners/tracker-miners-3.4.1.ebuild
new file mode 100644
index 000000000000..de587e96a954
--- /dev/null
+++ b/app-misc/tracker-miners/tracker-miners-3.4.1.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 systemd xdg
+
+DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3"
+IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg networkmanager +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
+
+REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# tracker-2.1.7 currently always depends on ICU (theoretically could be libunistring instead); so choose ICU over enca always here for the time being (ICU is preferred)
+RDEPEND="
+ >=dev-libs/glib-2.70:2
+ >=app-misc/tracker-3.4.0:3
+ gstreamer? (
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+ >=media-plugins/gst-plugins-meta-1.20:1.0 )
+ !gstreamer? (
+ ffmpeg? ( media-video/ffmpeg:0= ) )
+
+ >=sys-apps/dbus-1.3.1
+ xmp? ( >=media-libs/exempi-2.1.0:= )
+ raw? ( media-libs/gexiv2 )
+ >=dev-libs/icu-4.8.1.2:=
+ cue? ( media-libs/libcue:= )
+ exif? ( >=media-libs/libexif-0.6 )
+ gsf? ( >=gnome-extra/libgsf-1.14.24:= )
+ xps? ( app-text/libgxps )
+ iptc? ( media-libs/libiptcdata )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ iso? ( >=sys-libs/libosinfo-1.10.0-r1 )
+ >=media-libs/libpng-1.2:0=
+ seccomp? ( >=sys-libs/libseccomp-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xml? ( >=dev-libs/libxml2-2.6 )
+ pdf? ( >=app-text/poppler-0.16.0:=[cairo] )
+ playlist? ( >=dev-libs/totem-pl-parser-3:= )
+ upower? ( >=sys-power/upower-0.9.0 )
+ sys-libs/zlib:0
+ gif? ( media-libs/giflib:= )
+
+ networkmanager? ( net-misc/networkmanager )
+
+ rss? ( >=net-libs/libgrss-0.7:0 )
+ app-arch/gzip
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/asciidoc
+ dev-libs/libxslt
+ dev-util/glib-utils
+ dev-util/gdbus-codegen
+
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/tappy[${PYTHON_USEDEP}]')
+ gstreamer? (
+ media-libs/gstreamer:1.0[introspection]
+ || (
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-openh264:1.0
+ )
+ )
+ )
+"
+
+python_check_deps() {
+ python_has_version -b \
+ "dev-python/pygobject[${PYTHON_USEDEP}]" \
+ "dev-python/tappy[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that
+ if use gstreamer; then
+ sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
+ else
+ sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
+ fi
+ gnome2_environment_reset # sets gstreamer safety variables
+}
+
+src_configure() {
+ append-cflags -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS
+
+ local media_extractor="none"
+ if use gstreamer ; then
+ media_extractor="gstreamer"
+ elif use ffmpeg ; then
+ media_extractor="libav"
+ fi
+
+ local emesonargs=(
+ -Dtracker_core=system
+
+ -Dman=true
+ -Dextract=true
+ $(meson_use test functional_tests)
+ $(meson_use test tests_tap_protocol)
+ -Dminer_fs=true
+ $(meson_use rss miner_rss)
+ -Dwriteback=true
+ -Dabiword=true
+ -Dicon=true
+ -Dmp3=true
+ -Dps=true
+ -Dtext=true
+ -Dunzip_ps_gz_files=true # spawns gunzip
+
+ $(meson_feature networkmanager network_manager)
+ $(meson_feature cue)
+ $(meson_feature exif)
+ $(meson_feature gif)
+ $(meson_feature gsf)
+ $(meson_feature iptc)
+ $(meson_feature iso)
+ $(meson_feature jpeg)
+ $(meson_feature pdf)
+ $(meson_feature playlist)
+ -Dpng=enabled
+ $(meson_feature raw)
+ $(meson_feature tiff)
+ $(meson_feature xml)
+ $(meson_feature xmp)
+ $(meson_feature xps)
+
+ -Dbattery_detection=$(usex upower upower none)
+ -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
+ -Dgeneric_media_extractor=${media_extractor}
+ # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
+ -Dsystemd_user_services_dir="$(systemd_get_userunitdir)"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ export GSETTINGS_BACKEND="dconf" # Tests require dconf and explicitly check for it (env_reset set it to "memory")
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-misc/tracker/Manifest b/app-misc/tracker/Manifest
index 66fe7a1bd096..e4bd0cc03f7f 100644
--- a/app-misc/tracker/Manifest
+++ b/app-misc/tracker/Manifest
@@ -1,2 +1,3 @@
DIST tracker-3.3.3.tar.xz 1976160 BLAKE2B aa61b83ac499736b1cc6273813ef0bf44dae9c4a30d49f28d97205b31ead7e55021312297973cf37be67edc76bf66ca19edd746ae2269e59da406d23bcc018c7 SHA512 0f8ad998a5de6914d1e24da1b2021967339a2e637996b3e672fe4991177e69b750cdd9eb894e5e6f5f394d991b680d40afc05b95f69171ec38278e30c9729a15
DIST tracker-3.4.0.tar.xz 1876476 BLAKE2B 9745a496df30ebcd2f7e4a525bcd047d48ec4f68e12ef9775958e01939b538832e4d2622498a8ffd358d1a404c67365c70437e083497e8c12e1cbbb0c07713f7 SHA512 0a765d93cbe737a9cf902d1dc1ca00463065c1e7b3f93a7a8132919dfed97acdf80d99cf8f49b61e1a2bfc77a115f74e88731b3b0739651d2f727215c83f077f
+DIST tracker-3.4.1.tar.xz 1865584 BLAKE2B 78a1c461e628095ca134241d7f8580806f8de018608c991644422503a3af6bab2c317859624cb811dd2907f2965af3ab2cfb1a58fa35017ed6a71b24e68f3c97 SHA512 102d61abd98feb6e39575c3df25cd4604e89106ed928b8edb1a3adc1bccd41f4ab92fc8bfd33d96b48c3b2cf5a3d901130ac6bf6f657faebe7339fffb95eed26
diff --git a/app-misc/tracker/metadata.xml b/app-misc/tracker/metadata.xml
index 71d97616a56b..bd542fc2ff01 100644
--- a/app-misc/tracker/metadata.xml
+++ b/app-misc/tracker/metadata.xml
@@ -9,4 +9,7 @@
Install the app-misc/tracker-miners package for actual data mining support for tracker
Add word stemming via dev-libs/snowball-stemmer.
+
+ GNOME/tracker
+
diff --git a/app-misc/tracker/tracker-3.4.1.ebuild b/app-misc/tracker/tracker-3.4.1.ebuild
new file mode 100644
index 000000000000..35fbb815057c
--- /dev/null
+++ b/app-misc/tracker/tracker-3.4.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit bash-completion-r1 flag-o-matic gnome.org gnome2-utils linux-info meson python-any-r1 systemd vala xdg
+
+DESCRIPTION="A tagging metadata database, search tool and indexer"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker https://gitlab.gnome.org/GNOME/tracker"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3/0" # libtracker-sparql-3.0 soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gtk-doc +miners stemmer test"
+RESTRICT="!test? ( test )"
+
+PV_SERIES=$(ver_cut 1-2)
+
+RDEPEND="
+ >=dev-libs/glib-2.52:2
+ >=sys-apps/dbus-1.3.2
+ >=dev-libs/gobject-introspection-1.54:=
+ >=dev-libs/icu-4.8.1.2:=
+ >=dev-libs/json-glib-1.4
+ >=net-libs/libsoup-2.99.2:3.0
+ >=dev-libs/libxml2-2.7
+ >=dev-db/sqlite-3.29.0:3
+ stemmer? ( dev-libs/snowball-stemmer:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ app-text/asciidoc
+ dev-libs/libxslt
+ $(vala_depend)
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.8
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xml-dtd:4.5
+ )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/tappy[${PYTHON_USEDEP}]')
+ )
+ ${PYTHON_DEPS}
+"
+PDEPEND="miners? ( >=app-misc/tracker-miners-${PV_SERIES} )"
+
+function inotify_enabled() {
+ if linux_config_exists; then
+ if ! linux_chkconfig_present INOTIFY_USER; then
+ ewarn "You should enable the INOTIFY support in your kernel."
+ ewarn "Check the 'Inotify support for userland' under the 'File systems'"
+ ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config"
+ die 'missing CONFIG_INOTIFY'
+ fi
+ else
+ einfo "Could not check for INOTIFY support in your kernel."
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b \
+ "dev-python/pygobject[${PYTHON_USEDEP}]" \
+ "dev-python/tappy[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ linux-info_pkg_setup
+ inotify_enabled
+
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ append-cflags -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS
+
+ local emesonargs=(
+ $(meson_use gtk-doc docs)
+ -Dman=true
+ $(meson_feature stemmer)
+ -Dunicode_support=icu
+ -Dbash_completion_dir="$(get_bashcompdir)"
+ -Dsystemd_user_services_dir="$(systemd_get_userunitdir)"
+ $(meson_use test tests)
+ -Dintrospection=enabled
+ -Dsoup=soup3
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-office/Manifest.gz b/app-office/Manifest.gz
index 8e094bc1cd9f..712d2f37b4c8 100644
Binary files a/app-office/Manifest.gz and b/app-office/Manifest.gz differ
diff --git a/app-office/abiword/metadata.xml b/app-office/abiword/metadata.xml
index 4cbe5fcc9127..61f8e29b6277 100644
--- a/app-office/abiword/metadata.xml
+++ b/app-office/abiword/metadata.xml
@@ -1,24 +1,27 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- soap@gentoo.org
- David Seifert
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ soap@gentoo.org
+ David Seifert
+
+
+
+ World/abiword
+
diff --git a/app-office/dia/metadata.xml b/app-office/dia/metadata.xml
index 174329ca7d6a..595bd9c2d63f 100644
--- a/app-office/dia/metadata.xml
+++ b/app-office/dia/metadata.xml
@@ -1,16 +1,19 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- Dia is a gtk+ based diagram creation program. It can be used to
- draw many different kinds of diagrams. It currently has special
- objects to help draw entity relationship diagrams, UML diagrams,
- flowcharts, network diagrams, and simple circuits. It is also
- possible to add support for new shapes by writing simple XML
- files, using a subset of SVG to draw the shape.
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ Dia is a gtk+ based diagram creation program. It can be used to
+ draw many different kinds of diagrams. It currently has special
+ objects to help draw entity relationship diagrams, UML diagrams,
+ flowcharts, network diagrams, and simple circuits. It is also
+ possible to add support for new shapes by writing simple XML
+ files, using a subset of SVG to draw the shape.
+
+
+ GNOME/dia
+
diff --git a/app-office/endeavour/metadata.xml b/app-office/endeavour/metadata.xml
index 7b343b06be8a..407b55270f12 100644
--- a/app-office/endeavour/metadata.xml
+++ b/app-office/endeavour/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ World/endeavour
+
diff --git a/app-office/gnumeric/metadata.xml b/app-office/gnumeric/metadata.xml
index e5d956a2d746..8ae5ed87e43c 100644
--- a/app-office/gnumeric/metadata.xml
+++ b/app-office/gnumeric/metadata.xml
@@ -1,16 +1,19 @@
-
- soap@gentoo.org
- David Seifert
-
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ soap@gentoo.org
+ David Seifert
+
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ GNOME/gnumeric
+
diff --git a/app-office/grisbi/metadata.xml b/app-office/grisbi/metadata.xml
index 85867855f80b..6584f4e3eb98 100644
--- a/app-office/grisbi/metadata.xml
+++ b/app-office/grisbi/metadata.xml
@@ -1,22 +1,23 @@
-
- casta@xwing.info
- Guillaume Castagnino
-
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- proxy-maint@gentoo.org
- Proxy Maintainers
-
-
- grisbi
-
-
+
+ casta@xwing.info
+ Guillaume Castagnino
+
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
+ grisbi
+ grisbi/grisbi
+
+
diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
index a6c65e1b179b..7790922bd5eb 100644
--- a/app-office/libreoffice/Manifest
+++ b/app-office/libreoffice/Manifest
@@ -21,8 +21,10 @@ DIST libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz 5005888 BLAKE2B 8
DIST libreoffice-7.3.4.2.tar.xz 256373724 BLAKE2B 98a3a450e8b16caafdbe914b542c32e3e251ac6f2fe528e593640397d50b533f146b1cfd262c633bfee9766a5ef659f7ce606453952978c71c08f249da7d7125 SHA512 10ea93d380b8c59ec15aefc4c4f6f5cbc76b03cf444e2f172fdb8cdde637e8d3de4aa2b7adbd55ec04ba8ad5db73a1bd80e8b692ca328c416d229526f01bd4a0
DIST libreoffice-7.3.5.2-patchset-01.tar.xz 12700 BLAKE2B 353f6552d31616dfeb32287173bbd70366045ec437c8735e701bff357032f5ef2358920c5d8495142551116999b034db6611a72536edf14fe13ea9cace3a931c SHA512 dbd8b4b494159845efbe9ad76d5822188b9868aff8ef488793f4e2b0f2f0290942322651e8b53dd71db81cba559e3510732801d0c643cb2af9526cb1e1837891
DIST libreoffice-7.3.6.2.tar.xz 256616324 BLAKE2B 52456e529ae2898101824882f124a5b039a1dfb98fd77dfceef39a41a3af871123c56b83a73d0aaf92e1cea57f35af442ca0a17814a1374538a9495ac601cee0 SHA512 8f61e9c09b344cf120bc6f9463344b28644e52738360ddeb1a29d9d2294d24132b070902a089531869e11487f5a7153fc4752e6636af7ef57269d23c8187ec86
+DIST libreoffice-7.3.7.2.tar.xz 256653492 BLAKE2B aa3e096ba46d6e23b0e6439a435a6d75fdc9da309885a28d96dc5a4fc05d854a8e4f633d9f4d623af18f6a80ca036409fb26b9a9843fb9a18144468b58ef5ad4 SHA512 f7b6279f5ef9f5ad8290d2bdf4fd54f8df7775a21094ba762dbd9299effab31d4f2c6dff9f4b3d9c5673596931df1d16b195474b547007bfc9a396c47e5e181c
DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f
DIST libreoffice-help-7.3.4.2.tar.xz 112208564 BLAKE2B a47b428d69c62ba38d74ee5eca1dfeba66389ea0c7ef103f97292180d43ddc92a5e6ca4f9377f802318b89fca7aab6278c23171d9480e3961e521c161ec42fd3 SHA512 68af32f017b46f7d3e664bc8cfc69de6939c33f26248273372cc7ba5a29299c79795cc13b92a921b8e2508045e0447319ad0c0cd3678929355db6ef8a79a8614
DIST libreoffice-help-7.3.6.2.tar.xz 112209384 BLAKE2B 629a9dae6464adb33ed4494df8cbf59305a686b0bab21d55e3c139b87c5e3eee3e77ef1f22be84973d6e51a1ffb74aa74fd7f91b82223b2e3cc6d3bc900e7305 SHA512 7a98e8d3b146638bdb608d86b617bb45ff2649957ad9391aadfbb32fb18a4c8d15675bd24076dbb2b635569bfdab988f7cac461cfe04e53b3febfb2aa35d6189
+DIST libreoffice-help-7.3.7.2.tar.xz 112210852 BLAKE2B 3a3148d6ff9c743c97c0371290b3264f8e9eb8eb5aba3176b2e88f296abc2856f364866ba6ebb9f6364b5c98255c8593d23e3d54db6bcc27eecde53ac9a1b393 SHA512 c223ee49626e36b11a86c077001efc27ca2df9aa10ddb068e04c8ab8a0ea1942ca71b97c2f7379bf856ba7d12a5ca94f2fd8d8058703e2276af3595b75049030
DIST skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz 11079112 BLAKE2B d3eb44a64187ddd3097bc7473eaa6b631b4043b9679861426ae83956de7907a03b51cc472cbb9169c52e92cbc4ebe681181c675ae938324c6d3a10eff9a7084a SHA512 1234ff6e787947fb6442b7279c7ef07d48d7036b15591782ea197c827c60fba77bbe83029bf7d8dfa7dc126535a9a780f6b927fbf7339f0825061616a9c53436
DIST skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz 11826600 BLAKE2B 2985ba0318fd72ac216fda33c6961eaa8ee649d2a850eb736accbd91fbc9cee7dc4e5752b2696a35204770a188412e2ecd0cc128cec324c682f9bc35e68358b3 SHA512 fbf5cfef66991565dbad928091a4e795a5b5b79a1e062a98ab9135b9972827de703c449507957294e7471c422c2e2ed239d6df61ffb9b9581a9ca3d848687a76
diff --git a/app-office/libreoffice/libreoffice-7.3.7.2.ebuild b/app-office/libreoffice/libreoffice-7.3.7.2.ebuild
new file mode 100644
index 000000000000..e2c4656f8321
--- /dev/null
+++ b/app-office/libreoffice/libreoffice-7.3.7.2.ebuild
@@ -0,0 +1,655 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="threads(+),xml(+)"
+
+MY_PV="${PV/_alpha/.alpha}"
+MY_PV="${MY_PV/_beta/.beta}"
+# experimental ; release ; old
+# Usually the tarballs are moved a lot so this should make everyone happy.
+DEV_URI="
+ https://dev-builds.libreoffice.org/pre-releases/src
+ https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
+ https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
+"
+ADDONS_URI="https://dev-www.libreoffice.org/src/"
+
+BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
+PATCHSET="${PN}-7.3.5.2-patchset-01.tar.xz"
+
+[[ ${MY_PV} == *9999* ]] && inherit git-r3
+inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
+
+DESCRIPTION="A full office productivity suite"
+HOMEPAGE="https://www.libreoffice.org"
+SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
+[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~xen0n/distfiles/app-office/libreoffice/${PATCHSET}"
+
+# Split modules following git/tarballs; Core MUST be first!
+# Help is used for the image generator
+# Only release has the tarballs
+if [[ ${MY_PV} != *9999* ]]; then
+ for i in ${DEV_URI}; do
+ SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
+ SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
+ done
+ unset i
+fi
+unset DEV_URI
+
+# Really required addons
+# These are bundles that can't be removed for now due to huge patchsets.
+# If you want them gone, patches are welcome.
+ADDONS_SRC=(
+ # broken against latest upstream release, too many patches on top:
+ # https://github.com/tdf/libcmis/pull/43
+ "${ADDONS_URI}/libcmis-0.5.2.tar.xz"
+ # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
+ "${ADDONS_URI}/dtoa-20180411.tgz"
+ # not packaged in Gentoo, https://skia.org/
+ "${ADDONS_URI}/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"
+ "base? (
+ ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
+ ${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
+ ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
+ ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
+ ${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
+ ${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
+ ${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
+ ${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
+ ${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
+ ${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
+ ${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
+ ${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
+ )"
+ "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
+ # no release for 8 years, should we package it?
+ "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
+ # Does not build with 1.6 rhino at all
+ "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
+ # requirement of rhino
+ "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
+ # not packageable
+ "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
+)
+SRC_URI+=" ${ADDONS_SRC[*]}"
+
+unset ADDONS_URI
+unset ADDONS_SRC
+
+# Extensions that need extra work:
+LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
+
+IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
+googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
+$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ base? ( firebird java )
+ bluetooth? ( dbus )
+ gtk? ( dbus )
+ libreoffice_extensions_nlpsolver? ( java )
+ libreoffice_extensions_scripting-beanshell? ( java )
+ libreoffice_extensions_scripting-javascript? ( java )
+ libreoffice_extensions_wiki-publisher? ( java )
+"
+
+RESTRICT="!test? ( test )"
+
+LICENSE="|| ( LGPL-3 MPL-1.1 )"
+SLOT="0"
+
+# [[ ${MY_PV} == *9999* ]] || \
+# KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~x86 ~amd64-linux"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ app-crypt/gpgme:=[cxx]
+ app-text/hunspell:=
+ >=app-text/libabw-0.1.0
+ >=app-text/libebook-0.1
+ app-text/libepubgen
+ >=app-text/libetonyek-0.1
+ app-text/libexttextcat
+ app-text/liblangtag
+ >=app-text/libmspub-0.1.0
+ >=app-text/libmwaw-0.3.1
+ >=app-text/libnumbertext-1.0.6
+ >=app-text/libodfgen-0.1.0
+ app-text/libqxp
+ app-text/libstaroffice
+ app-text/libwpd:0.10[tools]
+ app-text/libwpg:0.3
+ >=app-text/libwps-0.4
+ app-text/mythes
+ dev-cpp/abseil-cpp:=
+ >=dev-cpp/clucene-2.3.3.4-r2
+ >=dev-cpp/libcmis-0.5.2
+ dev-db/unixODBC
+ dev-lang/perl
+ dev-libs/boost:=[nls]
+ dev-libs/expat
+ dev-libs/hyphen
+ dev-libs/icu:=
+ dev-libs/libassuan
+ dev-libs/libgpg-error
+ >=dev-libs/liborcus-0.17.2:0/0.17
+ dev-libs/librevenge
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/nspr
+ dev-libs/nss
+ >=dev-libs/redland-1.0.16
+ >=dev-libs/xmlsec-1.2.28[nss]
+ >=games-engines/box2d-2.4.1:0
+ media-gfx/fontforge
+ media-gfx/graphite2
+ media-libs/fontconfig
+ >=media-libs/freetype-2.11.0-r1:2
+ >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
+ media-libs/lcms:2
+ >=media-libs/libcdr-0.1.0
+ >=media-libs/libepoxy-1.3.1[X]
+ >=media-libs/libfreehand-0.1.0
+ media-libs/libjpeg-turbo:=
+ media-libs/libpagemaker
+ >=media-libs/libpng-1.4:0=
+ >=media-libs/libvisio-0.1.0
+ media-libs/libzmf
+ media-libs/openjpeg:=
+ media-libs/zxing-cpp:=
+ >=net-libs/neon-0.31.1:=
+ net-misc/curl
+ sci-mathematics/lpsolve
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ accessibility? (
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+ )
+ bluetooth? (
+ dev-libs/glib:2
+ net-wireless/bluez
+ )
+ coinmp? ( sci-libs/coinor-mp )
+ cups? ( net-print/cups )
+ dbus? ( sys-apps/dbus[X] )
+ eds? (
+ dev-libs/glib:2
+ gnome-base/dconf
+ gnome-extra/evolution-data-server
+ )
+ firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ gtk? (
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ gnome-base/dconf
+ media-libs/mesa[egl(+)]
+ x11-libs/gtk+:3[X]
+ x11-libs/pango
+ )
+ kde? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ kde-frameworks/kconfig:5
+ kde-frameworks/kcoreaddons:5
+ kde-frameworks/ki18n:5
+ kde-frameworks/kio:5
+ kde-frameworks/kwindowsystem:5
+ )
+ ldap? ( net-nds/openldap:= )
+ libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
+ libreoffice_extensions_scripting-javascript? ( >=dev-java/rhino-1.7.14:1.6 )
+ mariadb? ( dev-db/mariadb-connector-c:= )
+ !mariadb? ( dev-db/mysql-connector-c:= )
+ pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
+ postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
+"
+# FIXME: cppunit should be moved to test conditional
+# after everything upstream is under gbuild
+# as dmake execute tests right away
+# tests apparently also need google-carlito-fonts (not packaged)
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/libatomic_ops-7.2d
+ dev-perl/Archive-Zip
+ >=dev-util/cppunit-1.14.0
+ >=dev-util/gperf-3.1
+ dev-util/mdds:1/2.0
+ media-libs/glm
+ sys-devel/ucpp
+ x11-base/xorg-proto
+ x11-libs/libXt
+ x11-libs/libXtst
+ java? (
+ dev-java/ant-core
+ >=virtual/jdk-11
+ )
+ test? (
+ app-crypt/gnupg
+ dev-util/cppunit
+ media-fonts/dejavu
+ media-fonts/liberation-fonts
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ acct-group/libreoffice
+ acct-user/libreoffice
+ !app-office/libreoffice-bin
+ !app-office/libreoffice-bin-debug
+ media-fonts/liberation-fonts
+ || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
+ java? ( >=virtual/jre-11 )
+ kde? ( kde-frameworks/breeze-icons:* )
+"
+BDEPEND="
+ dev-util/intltool
+ sys-apps/which
+ sys-devel/bison
+ sys-devel/flex
+ sys-devel/gettext
+ virtual/pkgconfig
+ clang? (
+ || (
+ ( sys-devel/clang:15
+ sys-devel/llvm:15
+ =sys-devel/lld-15* )
+ ( sys-devel/clang:14
+ sys-devel/llvm:14
+ =sys-devel/lld-14* )
+ ( sys-devel/clang:13
+ sys-devel/llvm:13
+ =sys-devel/lld-13* )
+ )
+ )
+ odk? ( >=app-doc/doxygen-1.8.4 )
+"
+if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
+ PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
+else
+ # Translations are not reliable on live ebuilds
+ # rather force people to use english only.
+ PDEPEND="!app-office/libreoffice-l10n"
+fi
+
+PATCHES=(
+ "${WORKDIR}"/${PATCHSET/.tar.xz/}
+
+ # not upstreamable stuff
+ "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
+ "${FILESDIR}/${PN}-6.1-nomancompress.patch"
+ "${FILESDIR}/${PN}-7.2.0.4-qt5detect.patch"
+
+ # 7.4 branch
+ "${FILESDIR}/${PN}-7.3.5.2-gpgme-1.18.0.patch"
+)
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+_check_reqs() {
+ CHECKREQS_MEMORY="512M"
+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+ CHECKREQS_DISK_BUILD="22G"
+ else
+ CHECKREQS_DISK_BUILD="6G"
+ fi
+ check-reqs_$1
+}
+
+pkg_pretend() {
+ use base ||
+ ewarn "If you plan to use Base application you must enable USE base."
+ use java ||
+ ewarn "Without USE java, several wizards are not going to be available."
+
+ [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+ xdg_environment_reset
+
+ [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if [[ ${MY_PV} = *9999* ]]; then
+ local base_uri branch mypv
+ base_uri="https://anongit.freedesktop.org/git"
+ branch="master"
+ mypv=${MY_PV/.9999}
+ [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
+ git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
+ git-r3_checkout "${base_uri}/${PN}/core"
+ LOCOREGIT_VERSION=${EGIT_VERSION}
+
+ git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
+ git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
+ fi
+}
+
+src_prepare() {
+ default
+
+ # sandbox violations on many systems, we don't need it. Bug #646406
+ sed -i \
+ -e "/KF5_CONFIG/s/kf5-config/no/" \
+ configure.ac || die "Failed to disable kf5-config"
+
+ AT_M4DIR="m4" eautoreconf
+ # hack in the autogen.sh
+ touch autogen.lastrun
+
+ # sed in the tests
+ sed -i \
+ -e "s#all : build unitcheck#all : build#g" \
+ solenv/gbuild/Module.mk || die
+ sed -i \
+ -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
+ -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
+ Makefile.in || die
+
+ sed -i \
+ -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
+ -e "s,\$INSTALLDIRNAME.sh,${PN}," \
+ bin/distro-install-desktop-integration || die
+
+ if use branding; then
+ # hack...
+ mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
+ fi
+
+ # Don't list pdfimport support in desktop when built with none, bug # 605464
+ if ! use pdfimport; then
+ sed -i \
+ -e ":MimeType: s:application/pdf;::" \
+ -e ":Keywords: s:pdf;::" \
+ sysui/desktop/menus/draw.desktop || die
+ fi
+}
+
+src_configure() {
+ # Set up Google API keys, see https://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.
+ local google_default_client_id="329227923882.apps.googleusercontent.com"
+ local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
+
+ # Show flags set at the beginning
+ einfo "Preset CFLAGS: ${CFLAGS}"
+ einfo "Preset LDFLAGS: ${LDFLAGS}"
+
+ if use clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ LDFLAGS+=" -fuse-ld=lld"
+ else
+ # Force gcc
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+
+ # Apparently the Clang flags get used even for GCC builds sometimes.
+ # bug #838115
+ sed -i -e "s/-flto=thin/-flto/" solenv/gbuild/platform/com_GCC_defs.mk || die
+ fi
+
+ if use custom-cflags ; then
+ elog "USE=custom-cflags has been selected. You are on your own to make sure that"
+ elog "the build succeeds. Good luck!"
+ else
+ strip-flags
+ fi
+
+ export LO_CLANG_CC=${CC}
+ export LO_CLANG_CXX=${CXX}
+
+ # Show flags set at the end
+ einfo " Used CFLAGS: ${CFLAGS}"
+ einfo " Used LDFLAGS: ${LDFLAGS}"
+
+ # Ensure we use correct toolchain
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ if use vulkan && ! use clang ; then
+ ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
+ fi
+
+ # optimization flags
+ export GMAKE_OPTIONS="${MAKEOPTS}"
+ # System python enablement:
+ export PYTHON_CFLAGS=$(python_get_CFLAGS)
+ export PYTHON_LIBS=$(python_get_LIBS)
+
+ use kde && export QT5DIR="$(qt5_get_bindir)/.."
+
+ local gentoo_buildid="Gentoo official package"
+ if [[ -n ${LOCOREGIT_VERSION} ]]; then
+ gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
+ fi
+
+ # system headers/libs/...: enforce using system packages
+ # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
+ # --enable-cairo: ensure that cairo is always required
+ # --enable-*-link: link to the library rather than just dlopen on runtime
+ # --enable-release-build: build the libreoffice as release
+ # --disable-fetch-external: prevent dowloading during compile phase
+ # --enable-extension-integration: enable any extension integration support
+ # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
+ # --disable-report-builder: too much java packages pulled in without pkgs
+ # --without-system-sane: just sane.h header that is used for scan in writer,
+ # not linked or anything else, worthless to depend on
+ # --disable-pdfium: not yet packaged
+ local myeconfargs=(
+ --with-system-dicts
+ --with-system-epoxy
+ --with-system-headers
+ --with-system-jars
+ --with-system-libs
+ --enable-build-opensymbol
+ --enable-cairo-canvas
+ --enable-largefile
+ --enable-mergelibs
+ --enable-python=system
+ --enable-randr
+ --enable-release-build
+ --disable-breakpad
+ --disable-bundle-mariadb
+ --disable-ccache
+ --disable-epm
+ --disable-fetch-external
+ --disable-gtk3-kde5
+ --disable-online-update
+ --disable-openssl
+ --disable-pdfium
+ --disable-qt6
+ --with-extra-buildid="${gentoo_buildid}"
+ --enable-extension-integration
+ --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
+ --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
+ --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
+ --with-external-tar="${DISTDIR}"
+ --with-lang=""
+ --with-parallelism=$(makeopts_jobs)
+ --with-system-abseil
+ --with-system-openjpeg
+ --with-system-ucpp
+ --with-tls=nss
+ --with-vendor="Gentoo Foundation"
+ --with-webdav="neon"
+ --with-x
+ --without-fonts
+ --without-myspell-dicts
+ --with-help="html"
+ --without-helppack-integration
+ --with-system-gpgmepp
+ --without-system-jfreereport
+ --without-system-libcmis
+ --without-system-sane
+ $(use_enable base report-builder)
+ $(use_enable bluetooth sdremote-bluetooth)
+ $(use_enable coinmp)
+ $(use_enable cups)
+ $(use_enable dbus)
+ $(use_enable debug)
+ $(use_enable eds evolution2)
+ $(use_enable firebird firebird-sdbc)
+ $(use_enable gstreamer gstreamer-1-0)
+ $(use_enable gtk gtk3)
+ $(use_enable kde kf5)
+ $(use_enable kde qt5)
+ $(use_enable ldap)
+ $(use_enable odk)
+ $(use_enable pdfimport)
+ $(use_enable postgres postgresql-sdbc)
+ $(use_enable vulkan skia)
+ $(use_with accessibility lxml)
+ $(use_with coinmp system-coinmp)
+ $(use_with googledrive gdrive-client-id ${google_default_client_id})
+ $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
+ $(use_with java)
+ $(use_with odk doxygen)
+ )
+
+ if use eds || use gtk; then
+ myeconfargs+=( --enable-dconf --enable-gio )
+ else
+ myeconfargs+=( --disable-dconf --disable-gio )
+ fi
+
+ # libreoffice extensions handling
+ for lo_xt in ${LO_EXTS}; do
+ if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
+ myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
+ else
+ myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
+ fi
+ done
+
+ if use java; then
+ # hsqldb: system one is too new
+ myeconfargs+=(
+ --without-junit
+ --without-system-hsqldb
+ --with-ant-home="${ANT_HOME}"
+ --with-jdk-home="${JAVA_HOME}"
+ )
+
+ use libreoffice_extensions_scripting-beanshell && \
+ myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
+
+ use libreoffice_extensions_scripting-javascript && \
+ myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 rhino.jar) )
+ fi
+
+ is-flagq "-flto*" && myeconfargs+=( --enable-lto )
+
+ MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # more and more LO stuff tries to use OpenGL, including tests during build
+ # bug 501508, bug 540624, bug 545974 and probably more
+ addpredict /dev/dri
+ addpredict /dev/ati
+ addpredict /dev/nvidiactl
+
+ default
+}
+
+src_test() {
+ emake unitcheck
+ emake slowcheck
+}
+
+src_install() {
+ emake DESTDIR="${D}" distro-pack-install -o build -o check
+
+ # bug 593514
+ if use gtk; then
+ dosym libreoffice/program/liblibreofficekitgtk.so \
+ /usr/$(get_libdir)/liblibreofficekitgtk.so
+ fi
+
+ # bash completion aliases
+ bashcomp_alias \
+ libreoffice \
+ unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
+
+ if use branding; then
+ insinto /usr/$(get_libdir)/${PN}/program
+ newins "${WORKDIR}/branding-sofficerc" sofficerc
+ dodir /etc/env.d
+ echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
+ fi
+
+ # bug 703474
+ insinto /usr/include
+ doins -r include/LibreOfficeKit
+
+ local lodir=/usr/$(get_libdir)/libreoffice
+ # patching this would break tests
+ cat <<-EOF > "${T}"/uno.py
+import sys, os
+sys.path.append('${EPREFIX}${lodir}/program')
+os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
+EOF
+ sed -e "/^import sys/d" -e "/^import os/d" \
+ -i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
+ cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
+ cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
+
+ # more system pyuno mess
+ sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
+ -i "${D}"${lodir}/program/officehelper.py || die
+
+ python_optimize "${D}"${lodir}/program
+ # link python bridge in site-packages, bug 667802
+ local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
+ for py in uno.py unohelper.py officehelper.py; do
+ dosym -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
+ while IFS="" read -d $'\0' -r pyc; do
+ pyc=${pyc//*\/}
+ dosym -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
+ done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
+ done
+
+ newinitd "${FILESDIR}/libreoffice.initd" libreoffice
+ newconfd "${FILESDIR}/libreoffice.confd" libreoffice
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-office/libreoffice/libreoffice-7.3.9999.ebuild b/app-office/libreoffice/libreoffice-7.3.9999.ebuild
index 956e03914be1..7890edc7daa9 100644
--- a/app-office/libreoffice/libreoffice-7.3.9999.ebuild
+++ b/app-office/libreoffice/libreoffice-7.3.9999.ebuild
@@ -294,9 +294,6 @@ PATCHES=(
# 7.4 branch
"${FILESDIR}/${PN}-7.3.5.2-gpgme-1.18.0.patch"
-
- # pending upstream
- "${FILESDIR}/${PN}-7.3.5.2-poppler-22.09.0.patch"
)
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/app-office/planner/metadata.xml b/app-office/planner/metadata.xml
index c6e394b17a27..2f8642fe363a 100644
--- a/app-office/planner/metadata.xml
+++ b/app-office/planner/metadata.xml
@@ -5,4 +5,10 @@
gnome@gentoo.org
Gentoo GNOME Desktop
+
+
+ World/planner
+
diff --git a/app-office/planner/planner-0.14.6_p20130520-r3.ebuild b/app-office/planner/planner-0.14.6_p20130520-r3.ebuild
new file mode 100644
index 000000000000..2604b71025a6
--- /dev/null
+++ b/app-office/planner/planner-0.14.6_p20130520-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2
+
+DESCRIPTION="Project manager for Gnome"
+HOMEPAGE="https://wiki.gnome.org/Apps/Planner"
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/World/planner.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="https://dev.gentoo.org/~eva/distfiles/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+fi
+
+SLOT="0"
+LICENSE="GPL-2"
+
+IUSE="examples"
+
+RDEPEND="
+ >=dev-libs/glib-2.6:2
+ >=x11-libs/gtk+-2.24:2
+ >=gnome-base/gconf-2.10:2
+ >=gnome-base/libgnomecanvas-2.10
+ >=gnome-base/libglade-2.4:2.0
+ >=dev-libs/libxml2-2.6.27:2
+ >=dev-libs/libxslt-1.1.23
+"
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/gtk-doc-am
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-util/intltool-0.35.5
+ gnome-base/gnome-common
+ virtual/pkgconfig
+ app-text/rarian
+"
+
+S="${WORKDIR}/${PN}-0.14.6"
+src_configure() {
+ # FIXME: disable eds backend for now, it fails, upstream bug #654005
+ # FIXME: disable eds for now, bug #784086
+ # We need to set compile-warnings to a different value as it doesn't use
+ # standard macro: https://bugzilla.gnome.org/703067
+ gnome2_src_configure \
+ --disable-python \
+ --disable-python-plugin \
+ --disable-eds \
+ --disable-eds-backend \
+ --with-database=no \
+ --disable-update-mimedb \
+ --enable-compile-warnings=yes
+}
+
+src_install() {
+ MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_install
+ mv "${ED}"/usr/share/doc/planner "${ED}"/usr/share/doc/${PF} || die
+ if ! use examples; then
+ rm -rf "${D}/usr/share/doc/${PF}/examples"
+ fi
+}
diff --git a/app-office/planner/planner-9999.ebuild b/app-office/planner/planner-9999.ebuild
new file mode 100644
index 000000000000..b3239ac6b40b
--- /dev/null
+++ b/app-office/planner/planner-9999.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson xdg
+
+DESCRIPTION="Project manager for Gnome"
+HOMEPAGE="https://wiki.gnome.org/Apps/Planner"
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/World/planner.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+fi
+
+SLOT="0"
+LICENSE="GPL-2+"
+IUSE="examples gtk-doc libgda" # eds
+
+RDEPEND="
+ >=dev-libs/glib-2.50:2
+ >=x11-libs/gtk+-3.22:3
+ >=dev-libs/libxml2-2.6.27:2
+ >=dev-libs/libxslt-1.1.23
+ libgda? ( >=gnome-extra/libgda-1.0:5 )
+"
+ # eds support is broken for now
+ # eds? (
+ # >=gnome-extra/evolution-data-server-3.6:=
+ # )
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ gtk-doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.1.2
+ )
+ virtual/pkgconfig
+ sys-devel/gettext
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature libgda database-gda)
+ # $(meson_feature eds)
+ -Deds=disabled # upstream says it's broken
+ $(meson_use examples)
+ $(meson_use gtk-doc gtk_doc)
+ -Dsimple-priority-scheduling=false # upstream says it's experimental
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ if use examples; then
+ mv "${ED}"/usr/share/doc/planner "${ED}"/usr/share/doc/${PF} || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-office/wps-office/Manifest b/app-office/wps-office/Manifest
index 911871a73923..e139f31e868d 100644
--- a/app-office/wps-office/Manifest
+++ b/app-office/wps-office/Manifest
@@ -1,2 +1,2 @@
-DIST wps-office_11.1.0.10976.XA_amd64.deb 276985802 BLAKE2B f886577e0446d012de8f28866410a6aefad6ba0ba4c0388402bda40de81859f86f4d342055363ee96123af0be4a78c1867fce7b4118fc8447807e01ecec3cac5 SHA512 744a054b78c0b5742b5af86a1d058af982b5d673205d690bd393c29a35558f2fb45081c109a406dd87078a50a09b8f6242cb469e8b93824a6b9d93af84c6f128
DIST wps-office_11.1.0.11664.XA_amd64.deb 319591396 BLAKE2B 35e94cca54b964731edd4d7bc33d9dbd97f6f9f4502896edcb0cbc0ff21e49953c825c46dbc5b6230443c45d4914a5bf75027c1b98f56307c98ec9ad3d65f955 SHA512 0ea03b27246b796b80187bb252dce0446ae497fd1a9a18da3fd3c0e13531d56fca22157cf1d0e7542b77d3bce8cbdaa407ccebfbf1d7d1d9732e51369608ac36
+DIST wps-office_11.1.0.11664_amd64.deb 413652340 BLAKE2B 5bca47eef4c0c6a418ff5d79cef46ddd8841400333e72d3ac6fb5337d81fc7265503226da7d78b9a1df0cccf8d021852c69d2f65ed88ed74fc531638ef557f08 SHA512 6dbe7df259d989389df9d3c5730966693538ab1ef95c18a66cd50609894c83b028190f7381e1c998b0470d389c8c6969d8528ef88bc6428fdb0123586880de08
diff --git a/app-office/wps-office/wps-office-11.1.0.10976-r1.ebuild b/app-office/wps-office/wps-office-11.1.0.11664-r2.ebuild
similarity index 78%
rename from app-office/wps-office/wps-office-11.1.0.10976-r1.ebuild
rename to app-office/wps-office/wps-office-11.1.0.11664-r2.ebuild
index 67b0072d6049..51854735aea4 100644
--- a/app-office/wps-office/wps-office-11.1.0.10976-r1.ebuild
+++ b/app-office/wps-office/wps-office-11.1.0.11664-r2.ebuild
@@ -11,13 +11,14 @@ HOMEPAGE="https://www.wps.com/office/linux/"
KEYWORDS="~amd64"
-SRC_URI="https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${MY_PV}/${PN}_${PV}.XA_amd64.deb"
+#SRC_URI="https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${MY_PV}/${PN}_${PV}.XA_amd64.deb"
+SRC_URI="https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${MY_PV}/${PN}_${PV}_amd64.deb"
SLOT="0"
RESTRICT="bindist strip mirror" # mirror as explained at bug #547372
QA_PREBUILT="*"
LICENSE="WPS-EULA"
-IUSE=""
+IUSE="systemd"
# Deps got from this (listed in order):
# rpm -qpR wps-office-10.1.0.5707-1.a21.x86_64.rpm
@@ -39,7 +40,7 @@ RDEPEND="
dev-libs/nss
media-libs/fontconfig:1.0
media-libs/freetype:2
- || ( media-libs/flac:0/0 media-libs/flac-compat:8.3.0 )
+ || ( media-libs/flac:0/0 media-libs/flac-compat:8.3.0 )
media-libs/libogg
media-libs/libsndfile
media-libs/libvorbis
@@ -72,6 +73,7 @@ RDEPEND="
dev-libs/libxslt
x11-libs/pango
virtual/glu
+ systemd? ( sys-apps/systemd )
"
DEPEND=""
BDEPEND=""
@@ -90,5 +92,11 @@ src_install() {
insinto /opt/kingsoft/wps-office
doins -r "${S}"/opt/kingsoft/wps-office/{office6,templates}
+ # https://bugs.gentoo.org/878451
+ rm "${S}"/opt/kingsoft/wps-office/office6/libstdc++.so* || die
+
+ # https://bugs.gentoo.org/813138
+ use systemd || { rm "${S}"/opt/kingsoft/wps-office/office6/libdbus-1.so* || die ; }
+
fperms 0755 /opt/kingsoft/wps-office/office6/{et,wpp,wps,wpspdf}
}
diff --git a/app-portage/Manifest.gz b/app-portage/Manifest.gz
index b17cfac329fd..540845e02c68 100644
Binary files a/app-portage/Manifest.gz and b/app-portage/Manifest.gz differ
diff --git a/app-portage/porticron/porticron-0.7.1.ebuild b/app-portage/porticron/porticron-0.7.1-r1.ebuild
similarity index 84%
rename from app-portage/porticron/porticron-0.7.1.ebuild
rename to app-portage/porticron/porticron-0.7.1-r1.ebuild
index 68254d6cc552..01786328001d 100644
--- a/app-portage/porticron/porticron-0.7.1.ebuild
+++ b/app-portage/porticron/porticron-0.7.1-r1.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-
-inherit vcs-snapshot
+EAPI=8
DESCRIPTION="cron script to sync portage and send update mails to root"
HOMEPAGE="https://github.com/gentoo/porticron"
@@ -12,13 +10,11 @@ SRC_URI="https://github.com/gentoo/porticron/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~hppa ppc ~ppc64 x86"
-IUSE=""
RDEPEND="
app-portage/gentoolkit
net-dns/bind-tools
"
-DEPEND=""
src_install() {
dosbin bin/porticron
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz
index a12a240cb581..0c0fe4ea8758 100644
Binary files a/app-shells/Manifest.gz and b/app-shells/Manifest.gz differ
diff --git a/app-shells/autojump/autojump-22.5.3-r1.ebuild b/app-shells/autojump/autojump-22.5.3-r1.ebuild
index 6c1430f5a0b7..470039c09d20 100644
--- a/app-shells/autojump/autojump-22.5.3-r1.ebuild
+++ b/app-shells/autojump/autojump-22.5.3-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_SETUPTOOLS=no
diff --git a/app-shells/bash/bash-5.1_p16-r2.ebuild b/app-shells/bash/bash-5.1_p16-r2.ebuild
index 27cc205c5d91..54d56596e605 100644
--- a/app-shells/bash/bash-5.1_p16-r2.ebuild
+++ b/app-shells/bash/bash-5.1_p16-r2.ebuild
@@ -73,7 +73,7 @@ fi
LICENSE="GPL-3"
SLOT="0"
[[ "${PV}" == *_rc* ]] || \
-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"
+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="afs bashlogger examples mem-scramble +net nls plugins +readline"
DEPEND="
diff --git a/app-shells/bash/bash-5.2_p2.ebuild b/app-shells/bash/bash-5.2_p2.ebuild
deleted file mode 100644
index f679e4cd77dc..000000000000
--- a/app-shells/bash/bash-5.2_p2.ebuild
+++ /dev/null
@@ -1,344 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/chetramey.asc
-inherit flag-o-matic toolchain-funcs prefix verify-sig
-
-# Uncomment if we have a patchset
-#GENTOO_PATCH_DEV="sam"
-#GENTOO_PATCH_VER="${PV}"
-
-# Official patchlevel
-# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
-PLEVEL="${PV##*_p}"
-MY_PV="${PV/_p*}"
-MY_PV="${MY_PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-MY_PATCHES=()
-
-is_release() {
- case ${PV} in
- 9999|*_alpha*|*_beta*|*_rc*)
- return 1
- ;;
- *)
- return 0
- ;;
- esac
-}
-
-[[ ${PV} != *_p* ]] && PLEVEL=0
-
-# The version of readline this bash normally ships with.
-# Note: right now, we don't use the system copy of readline for bash for non-releases.
-READLINE_VER="8.2"
-
-DESCRIPTION="The standard GNU Bourne again shell"
-HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
- EGIT_BRANCH=devel
- inherit git-r3
-elif is_release ; then
- SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz"
- SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )"
-
- if [[ ${PLEVEL} -gt 0 ]] ; then
- # bash-5.1 -> bash51
- my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
-
- patch_url=
- my_patch_index=
-
- for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
- for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do
- patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index})
- SRC_URI+=" ${patch_url}"
- SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
- done
-
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) )
- done
-
- unset my_pn patch_url my_patch_index
- fi
-else
- SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
- SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )"
-fi
-
-if [[ -n ${GENTOO_PATCH_VER} ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
-fi
-
-LICENSE="GPL-3+"
-SLOT="0"
-if is_release ; then
- 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"
-fi
-IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
-
-DEPEND="
- >=sys-libs/ncurses-5.2-r2:=
- nls? ( virtual/libintl )
-"
-if is_release ; then
- DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
-fi
-RDEPEND="
- ${DEPEND}
-"
-# We only need yacc when the .y files get patched (bash42-005, bash51-011)
-#BDEPEND="virtual/yacc"
-BDEPEND="
- pgo? ( dev-util/gperf )
- verify-sig? ( sec-keys/openpgp-keys-chetramey )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-# EAPI 8 tries to append it but it doesn't exist here
-QA_CONFIGURE_OPTIONS="--disable-static"
-
-PATCHES=(
- #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
-
- # Patches from Chet sent to bashbug ml
- "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
-)
-
-pkg_setup() {
- # bug #7332
- if is-flag -malign-double ; then
- eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
- eerror "as it breaks LFS (struct stat64) on x86."
- die "remove -malign-double from your CFLAGS mr ricer"
- fi
-
- if use bashlogger ; then
- ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
- ewarn "This will log ALL output you enter into the shell, you have been warned."
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- else
- if use verify-sig ; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig}
- fi
-
- unpack ${MY_P}.tar.gz
-
- if [[ -n ${GENTOO_PATCH_VER} ]] ; then
- unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
- fi
- fi
-}
-
-src_prepare() {
- # Include official patches
- [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
-
- # Clean out local libs so we know we use system ones w/releases.
- if is_release ; then
- rm -rf lib/{readline,termcap}/* || die
- touch lib/{readline,termcap}/Makefile.in || die # for config.status
- sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die
- fi
-
- # Prefixify hardcoded path names. No-op for non-prefix.
- hprefixify pathnames.h.in
-
- # Avoid regenerating docs after patches, bug #407985
- sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
- touch -r . doc/* || die
-
- eapply -p0 "${PATCHES[@]}"
- eapply_user
-}
-
-src_configure() {
- local myconf=(
- --disable-profiling
-
- # Force linking with system curses ... the bundled termcap lib
- # sucks bad compared to ncurses. For the most part, ncurses
- # is here because readline needs it. But bash itself calls
- # ncurses in one or two small places :(.
- --with-curses
-
- $(use_enable mem-scramble)
- $(use_enable net net-redirections)
- $(use_enable readline)
- $(use_enable readline bang-history)
- $(use_enable readline history)
- $(use_with afs)
- $(use_with mem-scramble bash-malloc)
- )
-
- # For descriptions of these, see config-top.h
- # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
- append-cppflags \
- -DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin\"\' \
- -DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin\"\' \
- -DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
- -DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
- -DNON_INTERACTIVE_LOGIN_SHELLS \
- -DSSH_SOURCE_BASHRC \
- $(use bashlogger && echo -DSYSLOG_HISTORY)
-
- # Don't even think about building this statically without
- # reading bug #7714 first. If you still build it statically,
- # don't come crying to us with bugs ;).
- #use static && export LDFLAGS="${LDFLAGS} -static"
- use nls || myconf+=( --disable-nls )
-
- if is_release ; then
- # Historically, we always used the builtin readline, but since
- # our handling of SONAME upgrades has gotten much more stable
- # in the PM (and the readline ebuild itself preserves the old
- # libs during upgrades), linking against the system copy should
- # be safe.
- # Exact cached version here doesn't really matter as long as it
- # is at least what's in the DEPEND up above.
- export ac_cv_rl_version=${READLINE_VER%%_*}
-
- # Use system readline only with released versions.
- myconf+=( --with-installed-readline=. )
- fi
-
- if use plugins ; then
- append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/bash
- else
- # Disable the plugins logic by hand since bash doesn't
- # provide a way of doing it.
- export ac_cv_func_dl{close,open,sym}=no \
- ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
-
- sed -i \
- -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
- configure || die
- fi
-
- # bug #444070
- tc-export AR
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if use pgo ; then
- # Build Bash and run its tests to generate profiles.
- emake CFLAGS="${CFLAGS} -fprofile-generate=${T}/pgo -fprofile-dir=${T}/pgo"
-
- # Used in test suite.
- unset A
-
- emake CFLAGS="${CFLAGS} -fprofile-generate=${T}/pgo -fprofile-dir=${T}/pgo" -k check
-
- # Rebuild Bash using the profiling data we just generated.
- emake clean
- emake CFLAGS="${CFLAGS} -fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo"
-
- use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} -fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo" all others
- else
- emake
-
- use plugins && emake -C examples/loadables all others
- fi
-}
-
-src_test() {
- # Used in test suite.
- unset A
-
- default
-}
-
-src_install() {
- local d f
-
- default
-
- dodir /bin
- mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
- dosym bash /bin/rbash
-
- insinto /etc/bash
- doins "${FILESDIR}"/bash_logout
- doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
-
- keepdir /etc/bash/bashrc.d
-
- insinto /etc/skel
- for f in bash{_logout,_profile,rc} ; do
- newins "${FILESDIR}"/dot-${f} .${f}
- done
-
- local sed_args=(
- -e "s:#${USERLAND}#@::"
- -e '/#@/d'
- )
-
- if ! use readline ; then
- # bug #432338
- sed_args+=(
- -e '/^shopt -s histappend/s:^:#:'
- -e 's:use_color=true:use_color=false:'
- )
- fi
-
- sed -i \
- "${sed_args[@]}" \
- "${ED}"/etc/skel/.bashrc \
- "${ED}"/etc/bash/bashrc || die
-
- if use plugins ; then
- exeinto /usr/$(get_libdir)/bash
- doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
-
- insinto /usr/include/bash-plugins
- doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
- fi
-
- if use examples ; then
- for d in examples/{functions,misc,scripts,startup-files} ; do
- exeinto /usr/share/doc/${PF}/${d}
- docinto ${d}
- for f in ${d}/* ; do
- if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
- doexe ${f}
- else
- dodoc ${f}
- fi
- done
- done
- fi
-
- # Install bash_builtins.1 and rbash.1
- emake -C doc DESTDIR="${D}" install_builtins
- sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
- doman "${T}"/rbash.1
-
- newdoc CWRU/changelog ChangeLog
- dosym bash.info /usr/share/info/bashref.info
-}
-
-pkg_preinst() {
- if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
- mkdir -p "${EROOT}"/etc/bash
- mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
- fi
-}
-
-pkg_postinst() {
- # If /bin/sh does not exist, provide it
- if [[ ! -e ${EROOT}/bin/sh ]] ; then
- ln -sf bash "${EROOT}"/bin/sh
- fi
-}
diff --git a/app-text/Manifest.gz b/app-text/Manifest.gz
index 437470720b10..f9fff0bb9486 100644
Binary files a/app-text/Manifest.gz and b/app-text/Manifest.gz differ
diff --git a/app-text/enchant/metadata.xml b/app-text/enchant/metadata.xml
index 3d5f422a24ed..4b8be47deda0 100644
--- a/app-text/enchant/metadata.xml
+++ b/app-text/enchant/metadata.xml
@@ -1,14 +1,17 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ AbiWord/enchant
+
diff --git a/app-text/evince/Manifest b/app-text/evince/Manifest
index 60881c518262..b857c05e0f0d 100644
--- a/app-text/evince/Manifest
+++ b/app-text/evince/Manifest
@@ -1,2 +1,3 @@
DIST evince-42.3.tar.xz 2856080 BLAKE2B 55711dd1869e9cce783845683093bb621b416de66f1d53f901353f6f66ff97ec80ce45e0d32e346b2b37d18285568d01ee96cfe851b09f893565d277651d837c SHA512 4ec212e90c3fd259a2afe191592c135938766b11c6891297a10dc34152f69bba9350a467c394ec6cacde5bd16ced02d0c38b7a112dd7d676f53b12fd1b29a62e
DIST evince-43.0.tar.xz 2908508 BLAKE2B 5f1a9a697693a64c2b54ae5d5499ae8993b02f2df0b1706d0335770037285bb13e2af5254d7ff65ae4abb5a0c8ed6e338c61306f47e121de8c6546407c8968d5 SHA512 dd50ba45c4eb56f8af1df38f7a12c3c13747a1053bb97c8600d85cbc398e340d7bc5db73f441b68cfb8294ab985be361e48605cdc5e3dccb051d917869a12ba9
+DIST evince-43.1.tar.xz 2909512 BLAKE2B 1695320814aca28df17e5bbe6f4000b0191b9b600895c529d4ccd5628335fc4dd4fa788ddfe54c06fe37da12705add93f7df99a8c0dfb1060b8fd497aabae596 SHA512 c12d7b6e961a74c8e31b604f232483576289ba9e5a37faa766f4e5aaa95bdcbf37cf98c1d28de45ad1728452b0a2408fe4fe245dc76289a21e7664c96237d09f
diff --git a/app-text/evince/evince-43.1.ebuild b/app-text/evince/evince-43.1.ebuild
new file mode 100644
index 000000000000..ca49f79daed2
--- /dev/null
+++ b/app-text/evince/evince-43.1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson systemd xdg
+
+DESCRIPTION="Simple document viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Evince"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+# subslot = evd3.(suffix of libevdocument3)-evv3.(suffix of libevview3)
+SLOT="0/evd3.4-evv3.3"
+IUSE="cups djvu dvi gstreamer gnome gnome-keyring gtk-doc +introspection nautilus postscript spell tiff xps"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+# atk used in libview
+# bundles unarr
+DEPEND="
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0
+ dev-libs/atk
+ )
+ >=dev-libs/glib-2.44.0:2
+ >=gui-libs/libhandy-1.5.0:1=
+ >=dev-libs/libxml2-2.5:2
+ sys-libs/zlib:=
+ >=x11-libs/gdk-pixbuf-2.40:2
+ >=x11-libs/gtk+-3.22.0:3[cups?,introspection?]
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/cairo-1.10:=
+ >=app-text/poppler-22.02.0[cairo]
+ >=app-arch/libarchive-3.6.0
+ djvu? ( >=app-text/djvu-3.5.22:= )
+ dvi? (
+ >=app-text/libspectre-0.2:=
+ dev-libs/kpathsea:=
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-good:1.0 )
+ gnome? ( gnome-base/gnome-desktop:3= )
+ gnome-keyring? ( >=app-crypt/libsecret-0.5 )
+ introspection? ( >=dev-libs/gobject-introspection-1:= )
+ nautilus? ( >=gnome-base/nautilus-3.28.0 =app-text/libspectre-0.2:= )
+ spell? ( >=app-text/gspell-1.6.0:= )
+ tiff? ( >=media-libs/tiff-4.0:0= )
+ xps? ( >=app-text/libgxps-0.2.1:= )
+"
+RDEPEND="${DEPEND}
+ gnome-base/gvfs
+ gnome-base/librsvg
+ || (
+ >=x11-themes/adwaita-icon-theme-2.17.1
+ >=x11-themes/hicolor-icon-theme-0.10
+ )
+"
+BDEPEND="
+ gtk-doc? (
+ >=dev-util/gi-docgen-2021.1
+ app-text/docbook-xml-dtd:4.3
+ )
+ dev-libs/appstream-glib
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+ xdg_environment_reset
+
+ # Do not depend on adwaita-icon-theme, bug #326855, #391859
+ # https://gitlab.freedesktop.org/xdg/default-icon-theme/issues/7
+ sed -i '/adwaita_icon_theme_dep/d' meson.build shell/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddevelopment=false
+ -Dplatform=gnome
+
+ -Dviewer=true
+ -Dpreviewer=true
+ -Dthumbnailer=true
+ $(meson_use nautilus)
+
+ -Dcomics=enabled
+ $(meson_feature djvu)
+ $(meson_feature dvi)
+ -Dpdf=enabled
+ $(meson_feature postscript ps)
+ $(meson_feature tiff)
+ $(meson_feature xps)
+
+ $(meson_use gtk-doc gtk_doc)
+ -Duser_doc=true
+ $(meson_use introspection)
+ -Ddbus=true
+ $(meson_feature gnome-keyring keyring)
+ $(meson_feature cups gtk_unix_print)
+ $(meson_feature gnome thumbnail_cache)
+ $(meson_feature gstreamer multimedia)
+ $(meson_feature spell gspell)
+
+ -Dinternal_synctex=true
+
+ -Dsystemduserunitdir="$(systemd_get_userunitdir)"
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-text/evince/metadata.xml b/app-text/evince/metadata.xml
index 87c11128663d..afa0e10cc24f 100644
--- a/app-text/evince/metadata.xml
+++ b/app-text/evince/metadata.xml
@@ -1,15 +1,18 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+
+ GNOME/evince
+
diff --git a/app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r2.ebuild b/app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r3.ebuild
similarity index 86%
rename from app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r2.ebuild
rename to app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r3.ebuild
index 748e7a382e70..3c536ca4e4ca 100644
--- a/app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r2.ebuild
+++ b/app-text/gnome-doc-utils/gnome-doc-utils-0.20.10-r3.ebuild
@@ -1,20 +1,19 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-PYTHON_COMPAT=( python3_{7..10} )
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
-inherit gnome2 multibuild python-r1
+inherit gnome2 python-r1
DESCRIPTION="A collection of documentation utilities for the Gnome project"
HOMEPAGE="https://wiki.gnome.org/Projects/GnomeDocUtils"
-SRC_URI+=" https://dev.gentoo.org/~juippis/distfiles/tmp/gnome-doc-utils-0.20.10-python3.patch"
+SRC_URI+=" https://dev.gentoo.org/~juippis/distfiles/tmp/${P}-python3.patch"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
@@ -24,6 +23,8 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
app-text/docbook-xml-dtd:4.4
app-text/scrollkeeper-dtd
+"
+BDEPEND="
>=dev-util/intltool-0.35
sys-devel/gettext
virtual/awk
@@ -39,6 +40,10 @@ src_prepare() {
eapply "${FILESDIR}"/${P}-fix-out-of-tree-build.patch
eapply "${DISTDIR}"/${P}-python3.patch
+ # Empty py-compile, so it doesn't write its own pyo/pyc files
+ echo > "${S}"/py-compile
+ chmod a+x "${S}"/py-compile || die
+
gnome2_src_prepare
# Leave shebang alone
diff --git a/app-text/gnome-doc-utils/metadata.xml b/app-text/gnome-doc-utils/metadata.xml
index c6e394b17a27..b176e403791e 100644
--- a/app-text/gnome-doc-utils/metadata.xml
+++ b/app-text/gnome-doc-utils/metadata.xml
@@ -5,4 +5,7 @@
gnome@gentoo.org
Gentoo GNOME Desktop
+
+ Archive/gnome-doc-utils
+
diff --git a/app-text/gspell/metadata.xml b/app-text/gspell/metadata.xml
index 7b343b06be8a..b05cd3f331a8 100644
--- a/app-text/gspell/metadata.xml
+++ b/app-text/gspell/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gspell
+
diff --git a/app-text/gtranslator/metadata.xml b/app-text/gtranslator/metadata.xml
index 64f3ff5e69dd..b5c704d5c64a 100644
--- a/app-text/gtranslator/metadata.xml
+++ b/app-text/gtranslator/metadata.xml
@@ -1,20 +1,20 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- Gtranslator is an enhanced gettext po file editor for the GNOME desktop
- environment.
- It handles all forms of gettext po files and includes very useful features
- like find/replace, translation memory, different translator profiles,
- messages table (for having an overview of the translations/messages in the
- po file), easy navigation and editing of translation messages and comments
- of the translation where accurate.
-
-
- gtranslator
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ Gtranslator is an enhanced gettext po file editor for the GNOME desktop
+ environment.
+ It handles all forms of gettext po files and includes very useful features
+ like find/replace, translation memory, different translator profiles,
+ messages table (for having an overview of the translations/messages in the
+ po file), easy navigation and editing of translation messages and comments
+ of the translation where accurate.
+
+
+ GNOME/gtranslator
+
diff --git a/app-text/idnits/Manifest b/app-text/idnits/Manifest
new file mode 100644
index 000000000000..44069ce0add6
--- /dev/null
+++ b/app-text/idnits/Manifest
@@ -0,0 +1 @@
+DIST idnits-2.17.1.tar.gz 60480 BLAKE2B b2248236590bf025f9e06a4d804ac9d0cd207406809f17a2393dfbce2d0712c60aef58c8a4d7388c61495956ce0d2b0c5c491e290b178b7c46dcbc711615a847 SHA512 deed0c73e95e292443ec3e2ca447d2e6ceb9cbafd0775163e247185c158e74b7a4cd1e906474ca45ab40d92eac6e881e417df4c6e84a15277c71c711c590f55a
diff --git a/app-text/idnits/idnits-2.17.1.ebuild b/app-text/idnits/idnits-2.17.1.ebuild
new file mode 100644
index 000000000000..5a0345d2fdc0
--- /dev/null
+++ b/app-text/idnits/idnits-2.17.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="A tool to check internet-drafts (IDs) for submission nits"
+HOMEPAGE="https://www.ietf.org/tools/idnits/"
+SRC_URI="https://github.com/ietf-tools/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2+"
+
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ app-shells/bash
+ sys-apps/coreutils
+ virtual/awk
+"
+
+src_install() {
+ dobin idnits
+ dodoc about changelog todo
+}
diff --git a/app-text/idnits/metadata.xml b/app-text/idnits/metadata.xml
new file mode 100644
index 000000000000..2b0b24ef145c
--- /dev/null
+++ b/app-text/idnits/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ Florian Schmaus
+ flow@gentoo.org
+
+
+ ietf-tools/idnits
+
+
diff --git a/app-text/lesspipe/Manifest b/app-text/lesspipe/Manifest
index 8cfe33b34fa5..73ca44bdc545 100644
--- a/app-text/lesspipe/Manifest
+++ b/app-text/lesspipe/Manifest
@@ -1,2 +1 @@
-DIST lesspipe-2.05.tar.gz 167135 BLAKE2B 6f54a68a3857fcafa19148ba798d6ac49b2693e547e88a4a4fb6a178768d75ba8ae08e808a9e08aabfe903538bd401e3bd25e22ec240bf3a52365df729d87b9e SHA512 b4220b28fb609060735663067f5a738cae32d12e90efc397db3749e4dcfa7bfc063a4458c1f39b8a43be3b04effdc00a25c4feebd6e9a3b23f0064b879bbb698
DIST lesspipe-2.06.tar.gz 168100 BLAKE2B a7447efa85cd422343f9dbb06001e85fa7b33c92db752f8248e4b4a0d9ecce4ef0241240d6993c5a71157c44da2f4ffc3efd41ac5e0a31e89ed5b80ac99f71fe SHA512 b2411c5e6b287fb67e1ea9b6d10377fe19b58e8c0f54587f825d1ee4c1a85f9a8ed3244a7cf339bcba960094e95821d9a56929951d862eb697f1d12fe55ef20d
diff --git a/app-text/lesspipe/lesspipe-2.05-r1.ebuild b/app-text/lesspipe/lesspipe-2.05-r1.ebuild
deleted file mode 100644
index a795a3880db9..000000000000
--- a/app-text/lesspipe/lesspipe-2.05-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1
-
-DESCRIPTION="A preprocessor for less"
-HOMEPAGE="https://github.com/wofr06/lesspipe"
-SRC_URI="https://github.com/wofr06/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Please check again on bumps!
-# bug #734896
-RESTRICT="test"
-
-BDEPEND="dev-lang/perl"
-RDEPEND="${BDEPEND}"
-
-src_configure() {
- # Not an autoconf script.
- ./configure --fixed || die
-}
-
-src_compile() {
- # Nothing to build (avoids the "all" target)
- :
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
- einstalldocs
-
- rm -r "${ED}"/etc/bash_completion.d || die
- newbashcomp less_completion less
-}
-
-pkg_preinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- elog "This package installs 'lesspipe.sh' which is distinct from 'lesspipe'."
- elog "The latter is the Gentoo-specific version. Make sure to update your"
- elog "LESSOPEN environment variable if you wish to use this copy."
- fi
-}
diff --git a/app-text/libgepub/metadata.xml b/app-text/libgepub/metadata.xml
index 8d4a44e6f8dd..e45303093deb 100644
--- a/app-text/libgepub/metadata.xml
+++ b/app-text/libgepub/metadata.xml
@@ -8,4 +8,7 @@
+
+ GNOME/libgepub
+
diff --git a/app-text/libgxps/metadata.xml b/app-text/libgxps/metadata.xml
index 7b343b06be8a..d3a4eae54712 100644
--- a/app-text/libgxps/metadata.xml
+++ b/app-text/libgxps/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/libgxps
+
diff --git a/app-text/pdftk/Manifest b/app-text/pdftk/Manifest
index e07f57a81e4a..099c1f3a4b14 100644
--- a/app-text/pdftk/Manifest
+++ b/app-text/pdftk/Manifest
@@ -1,2 +1 @@
-DIST pdftk-v3.3.2.tar.gz 2343475 BLAKE2B cfa3cac4b78695d757e9cd3ba02f2a3e304343c481a44b0b6165e239d90e5ef72be3385faa1a72cd36194844f441fd1e93194e8d815807d2d0b364d0421553d2 SHA512 44056737e3b9b3cb988f46e96a0f3ec13193cfc662946f6def93add0ed56608fc026181254165440f1172e9fdda00771c3c018c20bf20ce87dad322fc1394893
DIST pdftk-v3.3.3.tar.gz 2380289 BLAKE2B b370777f5b87706ed811e424214db23b5622ef4e2420fe00c7e5e7d03fb51314589e7a1588d911c0734c075612adab9af17a1ad4ddcaac7a5dfc407c1aa28392 SHA512 2fd8dce8787856955984d6396ccb9a57d4e7a255cd74f10b31a7d87c84fac80143c0067d76bf6d8c0ec1a55dfb7d1e90f4898706e8ae26ccdf657b38d88e6cd6
diff --git a/app-text/pdftk/pdftk-3.3.2-r1.ebuild b/app-text/pdftk/pdftk-3.3.2-r1.ebuild
deleted file mode 100644
index 5f977f542e10..000000000000
--- a/app-text/pdftk/pdftk-3.3.2-r1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.gitlab.pdftk-java:pdftk-java:3.3.2"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A port of pdftk into java"
-HOMEPAGE="https://gitlab.com/pdftk-java/pdftk"
-SRC_URI="https://gitlab.com/pdftk-java/pdftk/-/archive/v${PV}/pdftk-v${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-CP_DEPEND="
- dev-java/bcprov:0
- dev-java/commons-lang:3.6
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? com.github.stefanbirkner:system-rules:1.19.0 -> !!!groupId-not-found!!!
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- app-text/poppler[cairo]
- dev-java/system-rules:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/${PN}-v${PV}"
-
-JAVA_LAUNCHER_FILENAME="${PN}"
-JAVA_MAIN_CLASS="com.gitlab.pdftk_java.pdftk"
-JAVA_SRC_DIR="java"
-JAVA_RESOURCE_DIRS="resources/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,system-rules"
-JAVA_TEST_SRC_DIR="test"
-
-src_prepare() {
- default
- mkdir resources || die
- cp -r {,resources/}java || die
- rm -r resources/java/com/gitlab/pdftk_java/com/lowagie/text/pdf/codec || die
- find resources/java -type f \( -name '*.java' -o -name '*.sh' \) -exec rm -rf {} + || die
-}
-
-src_test() {
- # some tests seem to need special treatment
- einfo "Runnig first test"
- JAVA_TEST_RUN_ONLY=(
- com.gitlab.pdftk_java.CatTest
- com.gitlab.pdftk_java.DataTest
- com.gitlab.pdftk_java.FormTest
- com.gitlab.pdftk_java.MultipleTest
- )
- java-pkg-simple_src_test
- einfo "Running second test"
- JAVA_TEST_RUN_ONLY=()
- JAVA_TEST_EXCLUDES=(
- com.gitlab.pdftk_java.CatTest
- com.gitlab.pdftk_java.DataTest
- com.gitlab.pdftk_java.FormTest
- com.gitlab.pdftk_java.MultipleTest
- )
- java-pkg-simple_src_test
-}
diff --git a/app-text/sdcv/Manifest b/app-text/sdcv/Manifest
index a57a7f83880a..6bd392c99eb6 100644
--- a/app-text/sdcv/Manifest
+++ b/app-text/sdcv/Manifest
@@ -1 +1,2 @@
DIST sdcv-0.5.3.tar.gz 62105 BLAKE2B 1424510cff2fa355d17884a31f8136f4c8a7bde071f387dd8a69b1d2d6b9c8e52869cd602b27b9966725370cf128fb62b8628e735f1faa92b78f75215462804f SHA512 73a305baad74d0584912e115d3de7395c8e88745fb69b4e5f1a345061629b0d4e05898bd589e96ce07948d52ba7c508ec4ab77862c8fadca5a2f19c5244e1442
+DIST sdcv-0.5.4.tar.gz 66706 BLAKE2B 9cb481f497483b502bec18765b9cbc31e8dd278e30ebd29005158a724669e171181a82c837b63016b9e88a84973831587d2b137bbbdb2290a89a73d3f0917f81 SHA512 6bae3a2c0f37ed9380f54715626efeea0df75d2525baa583c0915bba4d082d9ece40ee799a1e1bb5d36b7ccebace853653b6fab57d472a432b910f690235ee21
diff --git a/app-text/sdcv/sdcv-0.5.4.ebuild b/app-text/sdcv/sdcv-0.5.4.ebuild
new file mode 100644
index 000000000000..e345ee7b990d
--- /dev/null
+++ b/app-text/sdcv/sdcv-0.5.4.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PLOCALES="cs fr ru sk uk zh_CN zh_TW"
+inherit cmake plocale
+
+DESCRIPTION="Console version of Stardict program"
+HOMEPAGE="https://dushistov.github.io/sdcv/"
+SRC_URI="https://github.com/Dushistov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="darkterm nls readline test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.36
+ sys-libs/zlib
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( >=sys-devel/gettext-0.14.1 )
+ test? ( app-misc/jq )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.5.3-t_list.patch"
+ "${FILESDIR}/${PN}-t_interactive.patch"
+)
+
+src_prepare() {
+ if use darkterm; then
+ sed -i 's/;34m/;36m/' src/libwrapper.cpp || die
+ fi
+
+ rm_loc() {
+ rm "po/${1}.po" || die
+ }
+ plocale_for_each_disabled_locale rm_loc
+
+ # do not install locale-specific man pages unless asked to
+ if ! has uk ${LINGUAS-uk}; then
+ sed -ni '/share\/man\/uk/!p' CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_NLS="$(usex nls)"
+ -DWITH_READLINE="$(usex readline)"
+ -DBUILD_TESTS="$(usex test ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use nls && cmake_src_compile lang
+}
+
+src_install() {
+ # with USE=nls, but empty intersection of LINGUAS and list of
+ # supported translations, this directory is required, see bug 583386
+ mkdir -p "${BUILD_DIR}/locale"
+ cmake_src_install
+ dodoc doc/DICTFILE_FORMAT
+}
diff --git a/app-text/xapian-omega/Manifest b/app-text/xapian-omega/Manifest
index b8778a8c7620..892fdc707206 100644
--- a/app-text/xapian-omega/Manifest
+++ b/app-text/xapian-omega/Manifest
@@ -1,5 +1,2 @@
-DIST xapian-omega-1.4.17.tar.xz 547372 BLAKE2B d164ee2f96d395e2a45919aea821d1bae9b028b64389b4a6e6f1179c0e1c2a92983a3fe7a71f68fe11e04eb61e9f011c21f2edf5660f9feedccd41de8ed2f445 SHA512 0388714ae307044b486e92eacac2d8c09c334e1b77be6cc2c36f8c0c679b4fee660c9b12074e9a278e2981b4a5b4a607d068a5d16c852bef719245bb70b7ce7c
-DIST xapian-omega-1.4.18.tar.xz 549892 BLAKE2B 440f7ac93acca5803c80d905a90db854f36a5fb1e486d5178c25db0490bc01812f2173feb8abb97a2e399449950524db7b557b303c671d1e9a50f062f332008a SHA512 35da36bdaa6997353554604db5ced3f3a05d0862ce5cf357fae639ca88a65ea83bf0be039629e6aedd67f8cb369a7eaeba7f279980c9e2f585083c737c61ea43
DIST xapian-omega-1.4.19.tar.xz 553680 BLAKE2B 1008376d2ba6d72d3cc267ee3bda78a1d37491d706417010e0f4ca7dddf78ddd3d9ad07108874eabfffd0280016ce1fad49c86ee89eed9b37ae571586f838c9b SHA512 82b682bc9d244256afffc2ab1b12b0f577184296a979dc42b2865b689c6d46eca6b838b95a5d040dc228de0c2e2261e81279e0a748eaff2d018732ce4bc07fae
-DIST xapian-omega-1.4.20.tar.xz 563324 BLAKE2B 3836cc1f219f228edbd910dd92eb5bf7f91c6e0e5a1be2fad271dc9246ef0e5dd68d99d48f15c8ac9c449112d492e3becd501413a8c190d0b611d2506f8d82cb SHA512 026ca234d072da39a29d47b5b53033ec7677d51f93a6fedffb2a57ff5b788cc08d94d1dc43ff8c0062639470b8fe3150781008e4b50abd3ec5526b2b98a3a676
DIST xapian-omega-1.4.21.tar.xz 568440 BLAKE2B 445152c23f58471402d8017906083123c0a0e55eb8feed8908dae46680148471a65c51ef146c693cbbb807ce7a70d6589c0a77c2508c39417b95f292d5e8b9f1 SHA512 a313725084c3c336655a3beaa2c1e6c9186027bf6c90f0c5261f748a08e1e8d1ef9d43b0c6bad5bbd5a5af9d1f3db49b915435e5e815f9e97d452590522e85ec
diff --git a/app-text/xapian-omega/xapian-omega-1.4.17.ebuild b/app-text/xapian-omega/xapian-omega-1.4.17.ebuild
deleted file mode 100644
index 51e7f7c7a19d..000000000000
--- a/app-text/xapian-omega/xapian-omega-1.4.17.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="An application built on Xapian, consisting of indexers and a CGI search frontend"
-SRC_URI="http://www.oligarchy.co.uk/xapian/${PV}/xapian-omega-${PV}.tar.xz"
-HOMEPAGE="https://xapian.org/"
-S="${WORKDIR}/xapian-omega-${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE=""
-
-DEPEND="dev-libs/xapian:0/30
- dev-lang/perl
- dev-libs/libpcre
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-src_install() {
- emake DESTDIR="${D}" install
-
- # Protect /etc/omega.conf
- echo "CONFIG_PROTECT=\"/etc/omega.conf\"" > "${T}"/20xapian-omega
- doenvd "${T}"/20xapian-omega
- dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
-
- # Directory containing Xapian databases:
- keepdir /var/lib/omega/data
-
- # Directory containing OmegaScript templates:
- keepdir /var/lib/omega/templates
- mv "${S}"/templates/* "${D}"/var/lib/omega/templates || die
-
- # Directory to write Omega logs to:
- keepdir /var/log/omega
-
- # Directory containing any cdb files for the $lookup OmegaScript command:
- keepdir /var/lib/omega/cdb
-}
diff --git a/app-text/xapian-omega/xapian-omega-1.4.18.ebuild b/app-text/xapian-omega/xapian-omega-1.4.18.ebuild
deleted file mode 100644
index 83d47defb376..000000000000
--- a/app-text/xapian-omega/xapian-omega-1.4.18.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="An application built on Xapian, consisting of indexers and a CGI search frontend"
-SRC_URI="http://www.oligarchy.co.uk/xapian/${PV}/xapian-omega-${PV}.tar.xz"
-HOMEPAGE="https://xapian.org/"
-S="${WORKDIR}/xapian-omega-${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE=""
-
-DEPEND="~dev-libs/xapian-1.4.18:0/30
- dev-lang/perl
- dev-libs/libpcre
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-src_install() {
- emake DESTDIR="${D}" install
-
- # Protect /etc/omega.conf
- echo "CONFIG_PROTECT=\"/etc/omega.conf\"" > "${T}"/20xapian-omega
- doenvd "${T}"/20xapian-omega
- dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
-
- # Directory containing Xapian databases:
- keepdir /var/lib/omega/data
-
- # Directory containing OmegaScript templates:
- keepdir /var/lib/omega/templates
- mv "${S}"/templates/* "${D}"/var/lib/omega/templates || die
-
- # Directory to write Omega logs to:
- keepdir /var/log/omega
-
- # Directory containing any cdb files for the $lookup OmegaScript command:
- keepdir /var/lib/omega/cdb
-}
diff --git a/app-text/xapian-omega/xapian-omega-1.4.19.ebuild b/app-text/xapian-omega/xapian-omega-1.4.19.ebuild
index a4f6177030f8..4ab0cfef4675 100644
--- a/app-text/xapian-omega/xapian-omega-1.4.19.ebuild
+++ b/app-text/xapian-omega/xapian-omega-1.4.19.ebuild
@@ -10,7 +10,7 @@ S="${WORKDIR}/xapian-omega-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
IUSE=""
DEPEND="~dev-libs/xapian-${PV}:0/30
diff --git a/app-text/xapian-omega/xapian-omega-1.4.20.ebuild b/app-text/xapian-omega/xapian-omega-1.4.20.ebuild
deleted file mode 100644
index 91ff25791e25..000000000000
--- a/app-text/xapian-omega/xapian-omega-1.4.20.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-DESCRIPTION="An application built on Xapian, consisting of indexers and a CGI search frontend"
-SRC_URI="http://www.oligarchy.co.uk/xapian/${PV}/xapian-omega-${PV}.tar.xz"
-HOMEPAGE="https://xapian.org/"
-S="${WORKDIR}/xapian-omega-${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE=""
-
-DEPEND="~dev-libs/xapian-${PV}:0/30
- dev-lang/perl
- dev-libs/libpcre
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}" install
-
- # Protect /etc/omega.conf
- echo "CONFIG_PROTECT=\"/etc/omega.conf\"" > "${T}"/20xapian-omega
- doenvd "${T}"/20xapian-omega
- dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
-
- # Directory containing Xapian databases:
- keepdir /var/lib/omega/data
-
- # Directory containing OmegaScript templates:
- keepdir /var/lib/omega/templates
- mv "${S}"/templates/* "${ED}"/var/lib/omega/templates || die
-
- # Directory to write Omega logs to:
- keepdir /var/log/omega
-
- # Directory containing any cdb files for the $lookup OmegaScript command:
- keepdir /var/lib/omega/cdb
-}
diff --git a/app-text/xapian-omega/xapian-omega-1.4.21.ebuild b/app-text/xapian-omega/xapian-omega-1.4.21.ebuild
index 91ff25791e25..e56c0e7e5905 100644
--- a/app-text/xapian-omega/xapian-omega-1.4.21.ebuild
+++ b/app-text/xapian-omega/xapian-omega-1.4.21.ebuild
@@ -10,7 +10,7 @@ S="${WORKDIR}/xapian-omega-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc ~x86"
IUSE=""
DEPEND="~dev-libs/xapian-${PV}:0/30
diff --git a/app-text/xml2rfc/Manifest b/app-text/xml2rfc/Manifest
new file mode 100644
index 000000000000..2d450428dc8f
--- /dev/null
+++ b/app-text/xml2rfc/Manifest
@@ -0,0 +1 @@
+DIST xml2rfc-3.15.2.gh.tar.gz 2849091 BLAKE2B e792d07a2c8123dc32f4c2cfe794420f98db13da1812a4a7e82a4f2a2e2e70fa0e6b7385e189e70eba47c9be7e0ac281d3858437103b828ea8dbaaf8cef73b87 SHA512 5953ae40ad479b0aa6ab90f08f235ceddfa9c7e1edd868ee43bfd261f4c4d0fdfbbe052ff8a3274c39d283efc1105a0be3b4578fa372269f3274a72acdc950e8
diff --git a/app-text/xml2rfc/files/xml2rfc-Remove-broken-test.patch b/app-text/xml2rfc/files/xml2rfc-Remove-broken-test.patch
new file mode 100644
index 000000000000..d7d027962c24
--- /dev/null
+++ b/app-text/xml2rfc/files/xml2rfc-Remove-broken-test.patch
@@ -0,0 +1,79 @@
+From ed27e2983c27065bd88ac82cd26a5b9128544b45 Mon Sep 17 00:00:00 2001
+From: Florian Schmaus
+Date: Fri, 28 Oct 2022 20:18:10 +0200
+Subject: [PATCH] Remove broken test
+
+--- a/test.py
++++ b/test.py
+@@ -466,71 +466,6 @@ class WriterRfcTest(WriterRootTest):
+ return self.status_test()
+
+
+-class PdfWriterTests(unittest.TestCase):
+- elements_root = None
+- elements_pdfxml = None
+-
+- @classmethod
+- def setUpClass(cls) -> None:
+- # Putting this in setUpClass() allows this module to be imported even if this
+- # procedure will fail. This improves some error messages and makes debugging
+- # a little bit easier. The setUpClass() method is run by unittest during init.
+- # This happens only once, avoiding repeated execution of slow operations.
+- def _pdfwriter(path):
+- """ Parse a minimal RFC tree and instantiate a writer """
+- parser = xml2rfc.XmlRfcParser(path, quiet=True, **options_for_xmlrfcparser)
+- xmlrfc = parser.parse()
+- writer = xml2rfc.writers.pdf.PdfWriter(xmlrfc, quiet=True, )
+- return writer
+-
+- elements_writer = _pdfwriter('tests/input/elements.xml')
+- try:
+- elements_pdfdoc = elements_writer.pdf() # has side effects on .root
+- except Exception as e:
+- print(e)
+- raise
+- cls.pdf_writer = elements_writer
+- cls.elements_root = elements_writer.root
+- cls.elements_pdfxml = xmldoc(None, bytes=elements_pdfdoc)
+-
+- def setUp(self):
+- xml2rfc.log.quiet = True
+- self.pdfxml = copy.deepcopy(self.elements_pdfxml)
+- self.root = copy.deepcopy(self.elements_root)
+-
+- def test_text_content(self):
+- def norm(t):
+- return re.sub(r'\s+', ' ', t).strip()
+- #
+- text = norm('\n'.join( p.text for p in self.pdfxml.xpath('.//Page/text') ))
+- for e in self.root.xpath('./middle//*'):
+- if e.text and e.text.strip() and e.tag not in xml2rfc.util.unicode.unicode_content_tags and not xml2rfc.util.unicode.is_svg(e):
+- t = norm(e.text.split(None, 1)[0])
+- self.assertIn(t, text)
+-
+- def test_included_fonts(self):
+- if xml2rfc.HAVE_WEASYPRINT and xml2rfc.HAVE_PANGO:
+- font_families = set([ f.text for f in self.pdfxml.xpath('.//FontFamily') ])
+- for script in self.root.get('scripts').split(','):
+- family = xml2rfc.util.fonts.get_noto_serif_family_for_script(script)
+- self.assertIn(family, font_families, 'Missing font match for %s' % script)
+-
+- def test_flatten_unicode_spans(self):
+- input_html = 'foobar
'
+- output_html = self.pdf_writer.flatten_unicode_spans(input_html)
+- self.assertEqual(output_html, 'foobar
')
+-
+- def test_get_serif_fonts(self):
+- fonts = self.pdf_writer.get_serif_fonts()
+- for font in ['Noto Serif', 'Noto Sans Cherokee', 'Noto Serif CJK SC', 'Noto Serif Hebrew']:
+- self.assertIn(font, fonts)
+-
+- def test_get_mono_fonts(self):
+- fonts = self.pdf_writer.get_mono_fonts()
+- for font in ['Roboto Mono', 'Noto Sans Cherokee', 'Noto Serif CJK SC', 'Noto Serif Hebrew']:
+- self.assertIn(font, fonts)
+-
+-
+ class HtmlWriterTest(unittest.TestCase):
+ '''HtmlWriter tests'''
+
diff --git a/app-text/xml2rfc/metadata.xml b/app-text/xml2rfc/metadata.xml
new file mode 100644
index 000000000000..53c1b948fa53
--- /dev/null
+++ b/app-text/xml2rfc/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ Florian Schmaus
+ flow@gentoo.org
+
+
+ xml2rfc
+ ietf-tools/xml2rfc
+
+
diff --git a/app-text/xml2rfc/xml2rfc-3.15.2.ebuild b/app-text/xml2rfc/xml2rfc-3.15.2.ebuild
new file mode 100644
index 000000000000..fb60768a8577
--- /dev/null
+++ b/app-text/xml2rfc/xml2rfc-3.15.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-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="Generates RFCs and IETF drafts from document source in XML"
+HOMEPAGE="https://ietf-tools.github.io/xml2rfc/ https://github.com/ietf-tools/xml2rfc"
+SRC_URI="https://github.com/ietf-tools/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+RESTRICT="!test? ( test )"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/PyPDF2[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/dict2xml[${PYTHON_USEDEP}]
+ dev-python/weasyprint[${PYTHON_USEDEP}]
+ media-fonts/noto[cjk]
+ )
+"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/ConfigArgParse[${PYTHON_USEDEP}]
+ dev-python/intervaltree[${PYTHON_USEDEP}]
+ dev-python/google-i18n-address[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/xml2rfc-Remove-broken-test.patch"
+)
+
+distutils_enable_tests setup.py
+
+#src_test() {
+ # https://github.com/ietf-tools/xml2rfc/issues/561
+# emake tests-no-network
+#}
diff --git a/app-text/xmlto/xmlto-0.0.28-r8.ebuild b/app-text/xmlto/xmlto-0.0.28-r8.ebuild
deleted file mode 100644
index dd8d9b968fc9..000000000000
--- a/app-text/xmlto/xmlto-0.0.28-r8.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Script for converting XML and DocBook documents to a variety of output formats"
-HOMEPAGE="https://pagure.io/xmlto"
-SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.bz2"
-
-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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="latex text"
-
-RDEPEND="
- app-text/docbook-xsl-stylesheets
- app-text/docbook-xml-dtd:4.2
- dev-libs/libxslt
- || ( sys-apps/util-linux app-misc/getopt )
- text? ( || ( virtual/w3m www-client/elinks www-client/links www-client/lynx ) )
- latex? ( dev-texlive/texlive-formatsextra )
-"
-# We only depend on flex when we patch the input lexer.
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS ChangeLog FAQ NEWS README THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.0.22-format_fo_passivetex_check.patch
- "${FILESDIR}"/${PN}-0.0.28-allow-links.patch
- "${FILESDIR}"/${PN}-0.0.28-dont-hardcode-paths.patch
-)
-
-src_prepare() {
- default
-
- # fix symbol clash on Solaris
- if [[ ${CHOST} == *-solaris* ]] ; then
- sed -i -e 's/\(attrib\|val\)/XMLTO\1/g' xmlif/xmlif.l || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- # We don't want the script to detect /bin/sh if it is bash.
- export ac_cv_path_BASH="${BASH}"
- has_version sys-apps/util-linux || export GETOPT=getopt-long
-
- econf
-}
diff --git a/app-text/yelp-tools/metadata.xml b/app-text/yelp-tools/metadata.xml
index 7b343b06be8a..ff91c5812f07 100644
--- a/app-text/yelp-tools/metadata.xml
+++ b/app-text/yelp-tools/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/yelp-tools
+
diff --git a/app-text/yelp-tools/yelp-tools-42.0.ebuild b/app-text/yelp-tools/yelp-tools-42.0.ebuild
index 7ef91ca39aa5..e39e783c10fe 100644
--- a/app-text/yelp-tools/yelp-tools-42.0.ebuild
+++ b/app-text/yelp-tools/yelp-tools-42.0.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit gnome2 meson python-single-r1
DESCRIPTION="Collection of tools for building and converting documentation"
diff --git a/app-text/zathura-pdf-mupdf/zathura-pdf-mupdf-0.3.9.ebuild b/app-text/zathura-pdf-mupdf/zathura-pdf-mupdf-0.3.9.ebuild
index 5ca8fe3fc822..22828fa1fcc3 100644
--- a/app-text/zathura-pdf-mupdf/zathura-pdf-mupdf-0.3.9.ebuild
+++ b/app-text/zathura-pdf-mupdf/zathura-pdf-mupdf-0.3.9.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"
EGIT_BRANCH="develop"
else
- KEYWORDS="~amd64 ~arm ~x86"
+ KEYWORDS="amd64 arm x86"
SRC_URI="https://git.pwmt.org/pwmt/${PN}/-/archive/${PV}/${P}.tar.gz"
fi
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index 0783fc53288a..8503ef37224b 100644
Binary files a/dev-cpp/Manifest.gz and b/dev-cpp/Manifest.gz differ
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
index 762476a10184..d9e9963f5bae 100644
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_crypto.patch
@@ -5,8 +5,8 @@ extensions (by passing -DABSL_ARCH_ARM_NO_CRYPTO). This could
be done by the build system instead in future.
https://bugs.gentoo.org/778926
---- /absl/random/internal/randen_hwaes.cc
-+++ /absl/random/internal/randen_hwaes.cc
+--- a/absl/random/internal/randen_hwaes.cc
++++ b/absl/random/internal/randen_hwaes.cc
@@ -50,8 +50,11 @@
(defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO))
#define ABSL_RANDEN_HWAES_IMPL 1
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
index 45a9fc5406e8..0933c62660a6 100644
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-fix-cuda-nvcc-build.patch
@@ -25,13 +25,6 @@ Our Linux CI does this, but for some reason was never enabled on macOS
PiperOrigin-RevId: 425668638
GitOrigin-RevId: 121db1a08321eaa3006726cc32b459cf17880e35
Change-Id: Id51645df90b6a0808dd5b18eb636a10f798e24ea
----
- absl/container/internal/inlined_vector.h | 8 ++++----
- ci/macos_xcode_bazel.sh | 10 +++++++++-
- 2 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/absl/container/internal/inlined_vector.h b/absl/container/internal/inlined_vector.h
-index cd34a413a..2baf26f3e 100644
--- a/absl/container/internal/inlined_vector.h
+++ b/absl/container/internal/inlined_vector.h
@@ -925,8 +925,8 @@ auto Storage::Swap(Storage* other_storage_ptr) -> void {
diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch
index 59efc0f321e3..28347d489c17 100644
--- a/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch
+++ b/dev-cpp/abseil-cpp/files/abseil-cpp-20211102.0-r2-cuda11.6-compile-fix.patch
@@ -1,5 +1,3 @@
-diff --git a/absl/strings/internal/string_constant.h b/absl/strings/internal/string_constant.h
-index a11336b..e1596b1 100644
--- a/absl/strings/internal/string_constant.h
+++ b/absl/strings/internal/string_constant.h
@@ -35,12 +35,18 @@ namespace strings_internal {
diff --git a/dev-cpp/atkmm/metadata.xml b/dev-cpp/atkmm/metadata.xml
index 7b343b06be8a..73dadc014fdd 100644
--- a/dev-cpp/atkmm/metadata.xml
+++ b/dev-cpp/atkmm/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/atkmm
+
diff --git a/dev-cpp/cairomm/metadata.xml b/dev-cpp/cairomm/metadata.xml
index 7b343b06be8a..04715ff9071f 100644
--- a/dev-cpp/cairomm/metadata.xml
+++ b/dev-cpp/cairomm/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ cairo/cairomm
+
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
index f743fa8c4480..f81f812c4978 100644
--- a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-clang.patch
@@ -1,5 +1,5 @@
---- /src/core/CLucene/queryParser/QueryParser.cpp.original 2018-08-02 15:11:33.157174224 +0200
-+++ /src/core/CLucene/queryParser/QueryParser.cpp 2018-08-02 15:12:33.189175705 +0200
+--- a/src/core/CLucene/queryParser/QueryParser.cpp
++++ b/src/core/CLucene/queryParser/QueryParser.cpp
@@ -79,7 +79,7 @@
_T("")
};
@@ -9,8 +9,8 @@
const int32_t QueryParser::jj_la1_1[] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0};
struct QueryParser::JJCalls {
---- /src/core/CLucene/queryParser/QueryParserTokenManager.cpp.original 2018-08-02 15:14:27.104178515 +0200
-+++ /src/core/CLucene/queryParser/QueryParserTokenManager.cpp 2018-08-02 15:15:10.399179583 +0200
+--- a/src/core/CLucene/queryParser/QueryParserTokenManager.cpp
++++ b/src/core/CLucene/queryParser/QueryParserTokenManager.cpp
@@ -15,9 +15,9 @@
CL_NS_DEF(queryParser)
@@ -23,8 +23,8 @@
};
const int32_t QueryParserTokenManager::jjnextStates[]={
15, 17, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
---- /src/core/CLucene/document/DateTools.cpp.original 2018-08-02 15:20:28.903187441 +0200
-+++ /src/core/CLucene/document/DateTools.cpp 2018-08-02 15:20:35.441187602 +0200
+--- a/src/core/CLucene/document/DateTools.cpp
++++ b/src/core/CLucene/document/DateTools.cpp
@@ -8,6 +8,7 @@
#include "DateTools.h"
diff --git a/dev-cpp/glibmm/metadata.xml b/dev-cpp/glibmm/metadata.xml
index 7b343b06be8a..ec700d09051c 100644
--- a/dev-cpp/glibmm/metadata.xml
+++ b/dev-cpp/glibmm/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/glibmm
+
diff --git a/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
index a19ebdcf0fac..d08e4b17882f 100644
--- a/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
+++ b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch
@@ -2,8 +2,8 @@ https://github.com/google/glog/issues/125
https://github.com/google/glog/pull/651
https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
---- /src/glog/logging.h.in
-+++ /src/glog/logging.h.in
+--- a/src/glog/logging.h.in
++++ b/src/glog/logging.h.in
@@ -594,6 +594,9 @@
void* prefix_callback_data = NULL);
#endif
@@ -14,8 +14,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
// Shutdown google's logging library.
GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging();
---- /src/logging_custom_prefix_unittest.cc
-+++ /src/logging_custom_prefix_unittest.cc
+--- a/src/logging_custom_prefix_unittest.cc
++++ b/src/logging_custom_prefix_unittest.cc
@@ -221,11 +221,15 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@@ -43,8 +43,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
---- /src/logging_unittest.cc
-+++ /src/logging_unittest.cc
+--- a/src/logging_unittest.cc
++++ b/src/logging_unittest.cc
@@ -197,8 +197,12 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@@ -69,8 +69,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
---- /src/utilities.cc
-+++ /src/utilities.cc
+--- a/src/utilities.cc
++++ b/src/utilities.cc
@@ -62,6 +62,10 @@
static const char* g_program_invocation_short_name = NULL;
@@ -93,8 +93,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
#ifdef OS_WINDOWS
struct timeval {
long tv_sec, tv_usec;
---- /src/utilities.h
-+++ /src/utilities.h
+--- a/src/utilities.h
++++ b/src/utilities.h
@@ -163,8 +163,6 @@
const char* ProgramInvocationShortName();
diff --git a/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
index f9b90c1521aa..ed1f6a17d8df 100644
--- a/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
+++ b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch
@@ -2,8 +2,8 @@ https://github.com/google/glog/issues/649
https://github.com/google/glog/pull/650
https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
---- /src/glog/vlog_is_on.h.in
-+++ /src/glog/vlog_is_on.h.in
+--- a/src/glog/vlog_is_on.h.in
++++ b/src/glog/vlog_is_on.h.in
@@ -81,10 +81,10 @@
// parsing of --vmodule flag and/or SetVLOGLevel calls.
#define VLOG_IS_ON(verboselevel) \
@@ -41,8 +41,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
@ac_google_namespace@::int32* site_default,
const char* fname,
@ac_google_namespace@::int32 verbose_level);
---- /src/logging_unittest.cc
-+++ /src/logging_unittest.cc
+--- a/src/logging_unittest.cc
++++ b/src/logging_unittest.cc
@@ -98,6 +98,7 @@
static void TestRawLogging();
static void LogWithLevels(int v, int severity, bool err, bool alsoerr);
@@ -84,8 +84,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
TEST(DeathRawCHECK, logging) {
ASSERT_DEATH(RAW_CHECK(false, "failure 1"),
"RAW: Check false failed: failure 1");
---- /src/vlog_is_on.cc
-+++ /src/vlog_is_on.cc
+--- a/src/vlog_is_on.cc
++++ b/src/vlog_is_on.cc
@@ -125,6 +125,8 @@
// Pointer to head of the VModuleInfo list.
// It's a map from module pattern to logging level for those module(s).
diff --git a/dev-cpp/gstreamermm/metadata.xml b/dev-cpp/gstreamermm/metadata.xml
index c6e394b17a27..79ee74f2fa98 100644
--- a/dev-cpp/gstreamermm/metadata.xml
+++ b/dev-cpp/gstreamermm/metadata.xml
@@ -5,4 +5,7 @@
gnome@gentoo.org
Gentoo GNOME Desktop
+
+ GNOME/gstreamermm
+
diff --git a/dev-cpp/gtkmm/metadata.xml b/dev-cpp/gtkmm/metadata.xml
index 7b343b06be8a..0cb7765fe8c2 100644
--- a/dev-cpp/gtkmm/metadata.xml
+++ b/dev-cpp/gtkmm/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/gtkmm
+
diff --git a/dev-cpp/gtksourceviewmm/metadata.xml b/dev-cpp/gtksourceviewmm/metadata.xml
index c6e394b17a27..df689d1fb575 100644
--- a/dev-cpp/gtksourceviewmm/metadata.xml
+++ b/dev-cpp/gtksourceviewmm/metadata.xml
@@ -5,4 +5,7 @@
gnome@gentoo.org
Gentoo GNOME Desktop
+
+ GNOME/gtksourceviewmm
+
diff --git a/dev-cpp/libxmlpp/metadata.xml b/dev-cpp/libxmlpp/metadata.xml
index b5c22b75a1f7..7b0dcfdb7c39 100644
--- a/dev-cpp/libxmlpp/metadata.xml
+++ b/dev-cpp/libxmlpp/metadata.xml
@@ -1,11 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
-
- libxmlplusplus
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ libxmlplusplus/libxmlplusplus
+
diff --git a/dev-cpp/mm-common/metadata.xml b/dev-cpp/mm-common/metadata.xml
index 7b343b06be8a..2c285e4de70a 100644
--- a/dev-cpp/mm-common/metadata.xml
+++ b/dev-cpp/mm-common/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/mm-common
+
diff --git a/dev-cpp/mm-common/mm-common-1.0.4.ebuild b/dev-cpp/mm-common/mm-common-1.0.4.ebuild
index 8f3b8c291bea..cae8372119fb 100644
--- a/dev-cpp/mm-common/mm-common-1.0.4.ebuild
+++ b/dev-cpp/mm-common/mm-common-1.0.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit gnome.org python-any-r1 meson
DESCRIPTION="Build infrastructure and utilities for GNOME C++ bindings"
diff --git a/dev-cpp/pangomm/metadata.xml b/dev-cpp/pangomm/metadata.xml
index 7b343b06be8a..897bd48f1fa3 100644
--- a/dev-cpp/pangomm/metadata.xml
+++ b/dev-cpp/pangomm/metadata.xml
@@ -1,8 +1,11 @@
-
- gnome@gentoo.org
- Gentoo GNOME Desktop
-
+
+ gnome@gentoo.org
+ Gentoo GNOME Desktop
+
+
+ GNOME/pangomm
+
diff --git a/dev-cpp/rapidfuzz-cpp/Manifest b/dev-cpp/rapidfuzz-cpp/Manifest
index 4e7aaa9035db..f8eaf0948ac1 100644
--- a/dev-cpp/rapidfuzz-cpp/Manifest
+++ b/dev-cpp/rapidfuzz-cpp/Manifest
@@ -1,3 +1,2 @@
-DIST rapidfuzz-cpp-1.7.0.gh.tar.gz 252646 BLAKE2B 5d79c07e26b6bb8e84d3280c3401bad60a3ca9846977a5bf9b13787ed7951c3805c71b7e6e2e03b14e2b988381484d969e1cc885c316bcb805b403e53332b31b SHA512 ed8af678a40161aa738bd3606b41fd54c1dba603c47fbdb1182527abd5667736e50f458af252e7bde954f263040cdbd662ad1c6be0a5caa5289f0a351dfd6d9e
-DIST rapidfuzz-cpp-1.8.0.gh.tar.gz 280419 BLAKE2B ae6b7694df3f8ba97b369608bb02783bdd48572e80a9d4f0ee51585975aaee1c0ee058862b94a7a8e46f835b03c04d134143ed07fb5c6d412b4b5cff8686c6d3 SHA512 35729c90494b419fefd9c6bbd03e42cc485d421defcd65bf5dee776d4d0756318a90456980914ccebc100b1bb388474db54638a8628efd496764c604d6221688
+DIST rapidfuzz-cpp-1.10.0.gh.tar.gz 283171 BLAKE2B d126134f3250b5c5320d5776bb913b6458f5bcc61629c1ffd5957b3ddf79e5ff1ccc1c67a9c33271942e7f59846c73d2fdc672a99141964dae716c4ac8057193 SHA512 5d9b184e2b7975b0ba3f29e2698b80906afffa7c561f8b7c49988f99c92ff480bf0a471cb48f7e8024f3e048fb2b01ebbbf1bc28afacee78890f6a595cf10517
DIST rapidfuzz-cpp-1.9.0.gh.tar.gz 281385 BLAKE2B 4afc48edd9c8270200645eb77065bf212b9579b90b3916e261bbe69fd60f67c1e510c3ae4ef9877a26c3313063717b362e01c6cf799a0f9fc3429799d9b2dca6 SHA512 d95c90f9118811d650d859a20f847c71427acbc8c4f907f49d23b069cd6d1a848749d32f8fbff7326828b7a030c3f488acacba5845a72a0057ccf4c3088badf4
diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.8.0.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.10.0.ebuild
similarity index 96%
rename from dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.8.0.ebuild
rename to dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.10.0.ebuild
index 6fb280d52d37..32f8979b752f 100644
--- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.8.0.ebuild
+++ b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.10.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="~amd64 ~arm ~riscv"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.7.0.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.7.0.ebuild
deleted file mode 100644
index 99e66055cc0f..000000000000
--- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.7.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Rapid fuzzy string matching in C++"
-HOMEPAGE="https://github.com/maxbachmann/rapidfuzz-cpp/"
-SRC_URI="
- https://github.com/maxbachmann/rapidfuzz-cpp/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- >=dev-cpp/catch-3
- )
-"
-
-src_prepare() {
- # apparently "C++ best practices" don't mind fetching random stuff
- # at build time
- sed -i -e '/aminya/,/^)/d' test/CMakeLists.txt || die
- find -name 'CMakeLists.txt' -exec \
- sed -i -e 's:project_warnings::' {} + || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DRAPIDFUZZ_BUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.9.0.ebuild b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.9.0.ebuild
index 6fb280d52d37..32f8979b752f 100644
--- a/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.9.0.ebuild
+++ b/dev-cpp/rapidfuzz-cpp/rapidfuzz-cpp-1.9.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="~amd64 ~arm ~riscv"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/taskflow/taskflow-3.3.0.ebuild b/dev-cpp/taskflow/taskflow-3.3.0.ebuild
index 2082d0df3f00..90c7c0a78d6d 100644
--- a/dev-cpp/taskflow/taskflow-3.3.0.ebuild
+++ b/dev-cpp/taskflow/taskflow-3.3.0.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/taskflow-${PV}"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~riscv ~x86"
S="${WORKDIR}/taskflow-${PV}"
fi
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 30eca8c75f22..40d511593ff1 100644
Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index fdadaaf776eb..62b641b08107 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -1,4 +1,3 @@
DIST citus-10.2.7.tar.gz 5549985 BLAKE2B cb562437757624cc34f80219e8039fdcaf27ebc4a63b30714beafe5555a85769f44a92d74173fb94085f48d09bedaffc019463ec6db67217f8554154a91e2e74 SHA512 32441e964d97d3a69eed309c8d52f65ae31a3a7b79c6e765e967025c7f6a041420925dfb5fb0835cec1ae66549f59fe256994f4120514ec2e781169b771c85e6
DIST citus-11.0.6.tar.gz 6021221 BLAKE2B 7b19328890b79ce639599cf2f99ee15f6dc7e87a062fbd538b288895a3ec6e4af36eabad0a7111de8b53029670be8d6a66ba692a66101c43120640f4fffc37d4 SHA512 4b5667fcfdc89a171ae8e15095d5e688a1d8b4707d13cd4742f5695f9e57e76190e11c4fe933044a64ac00b0982da91d6a253cd272af6ba58131b787ad4b13ef
-DIST citus-11.1.1.tar.gz 6354348 BLAKE2B 2cd4da30af0e0deee3a1dc05ef636b850bc9e244aa81920f9a7692cc3ddecd7802d41ebc76070072453001bd1ea620c6863ead538df4d9cca281979132fde917 SHA512 295702b9ff33bb89487fd2bfe46382391fcad457922847575babae78e1866ec5a55f51e9899b42c8a1193fdbac5df2386a60977ecf3b41631472cd7de97abbe8
-DIST citus-11.1.2.tar.gz 6361264 BLAKE2B 836d381cf3186e690fd4cdb23315964c83dd7de0efa9c8461170a8d0b6e262dfde9da65b6396ce240daf8c115e05cdccc64681fe9a06d0abc8a66fab267b9f30 SHA512 a20cd6d1f42a5b8b00b80ef65dd766251ea9b392fd9e0e62c07c3233ec2c5614723ebe69d684c15e499fb995fc86ca90811b76b595f6d5b414e42de6e7050bc7
+DIST citus-11.1.4.tar.gz 6369400 BLAKE2B aca772fbb7fb632c73d92b1f3841e7772d797373891a40c007a147ab9f44ef42eec325553915d7fd11b56f0f60f302b286061ea4ce55351ce9f9d8cd0d9d084b SHA512 f0c4cbbaa0e8ed173d3ba68b24815272ce7c04186bf628c561119833ddd648928ac31adc1784e25f268d45e8d5c02792088f695ad8dbf2ab425093dc1f241f99
diff --git a/dev-db/citus/citus-11.1.2.ebuild b/dev-db/citus/citus-11.1.2.ebuild
deleted file mode 100644
index a1add589578c..000000000000
--- a/dev-db/citus/citus-11.1.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 13 14 )
-
-inherit postgres-multi
-
-DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
-HOMEPAGE="https://www.citusdata.com/"
-
-MY_PV="${PV/beta0/beta}"
-SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-IUSE=""
-LICENSE="POSTGRESQL AGPL-3"
-
-KEYWORDS="~amd64"
-
-SLOT=0
-
-RESTRICT="test"
-
-DEPEND="${POSTGRES_DEP}
- app-arch/lz4
- app-arch/zstd
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- postgres-multi_foreach econf
-}
diff --git a/dev-db/citus/citus-11.1.1.ebuild b/dev-db/citus/citus-11.1.4.ebuild
similarity index 95%
rename from dev-db/citus/citus-11.1.1.ebuild
rename to dev-db/citus/citus-11.1.4.ebuild
index a1add589578c..7282c5e932b4 100644
--- a/dev-db/citus/citus-11.1.1.ebuild
+++ b/dev-db/citus/citus-11.1.4.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-POSTGRES_COMPAT=( 13 14 )
+POSTGRES_COMPAT=( 13 14 15 )
inherit postgres-multi
diff --git a/dev-db/m17n-db/metadata.xml b/dev-db/m17n-db/metadata.xml
index a94766977fa6..739c3bd44f1a 100644
--- a/dev-db/m17n-db/metadata.xml
+++ b/dev-db/m17n-db/metadata.xml
@@ -5,4 +5,7 @@
cjk@gentoo.org
Cjk
+
+ m17n
+
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 4f1c8bbb0468..56d88e3b5282 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -2,9 +2,17 @@ DIST mariadb-10.2.43-patches-01.tar.xz 5940 BLAKE2B f8658b799485942c4415b3966743
DIST mariadb-10.2.44.tar.gz 74425890 BLAKE2B 1a5d41ebf209dec54aa68a935ad4c6bac528aa7f8def64efea2bd146011daea0a701276ea037282b927b41b063f86f2cf4667c5d3309cd03a5489074ed351505 SHA512 29b17abfe82667053c3137e4e70e12854dab1312376fe8bdcfc76bf105aa3cddae49bcb07cc607a9c8f0a336bd8e537c6f57e2cdbbd06e48a45d125e3bb006a6
DIST mariadb-10.3.34-patches-01.tar.xz 4696 BLAKE2B 36643b83f773a10180d5f94b4318c19abd441550701ca9e98ff8b7adf037648032023bb93c03efd58e25a650df5650e9b76ee8237cd3b61523f69521e505e643 SHA512 d33c52ad39e249daaae52fde09334f49285212aeb691f3caa7bf8776f95e82eff54bd6a942f24276aa7d945bd030d73e3b1f0ba15f9217236115bd448697d62c
DIST mariadb-10.3.35.tar.gz 73496487 BLAKE2B 3ab05276fc22098be11ce8e2f5c9323c05c28b7617b31655506fe97131cccebe70a525dda0856b05c8196fabf50243865adf91ed6914ca750bbdf27c915767e8 SHA512 9355de944eccef4e0bc01b19ffc3c0c72cf88befae7385c6f0ee1ea47dbd98d23f6bb46af9c140acc48d9d9613552870684bc0b7ca1f3cff1dc09c1a2c801573
+DIST mariadb-10.3.36-patches-01.tar.xz 4548 BLAKE2B 24ae803afe38f406a37380e4d49d7e8434b7b549c9633fdd24bd35a23bf8b5d72fa6e8174c4ddc8dda9a994bd2fd2feecddcb5650029067dcbc578ea525e48cb SHA512 8fd0c6ed0fe6c99ff2219c1f4a6abe24050f91bcf808e1bcc0be3e194244440d5fe5717a0dc4c4c3ef12642b9d722197b780f9fb999ed8770a748d2c0e40ea4b
+DIST mariadb-10.3.36.tar.gz 73944352 BLAKE2B 75090969802783de59ed73338a9a77c70f4dafa14b03334edd5f48593c89b39e752548f34c81875e93263c0b7f2648e83962ef568b07ea11160faf880a9800ed SHA512 321b4c48fcea4413eb239c4904c806306de660f2844edfa1d2a2a15213db287070d0f923db976588dfe329559d565bd98bddef3aaf8f14502f8c3db2ee27757a
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.4.26-patches-01.tar.xz 4528 BLAKE2B 0e1683ca254fa4beb06239c377f241e6db2306b386d125491ea39dddbe82c9471f1dc7c26001f2c5ba105913f1ec707ce43482e9581b807723a8690c26fc6e6e SHA512 7b54419ea7a974bc275c72770e63d37e116a2724ed5ce404a04acb622a95ae652f9a81c2ece0dd3d1ea41401dd5428627af19f7689fd01eb68471309ef4400f7
+DIST mariadb-10.4.26.tar.gz 96095606 BLAKE2B 313e3e9561bf2805327141bf1d1e0834e6e3997bb1cd523452555b23ecfc1dddcb91e53478113dff56486bb77d172211c16c9e375d7e451f6af2346de338d3db SHA512 4dadd786f902eb4fec702a863b790215b284eb5d6ecce2cb550e97e055ec4d21ef383f08938020ebbdf3a9150e1d4412817c2fa24f36e907deb0fe5b4ce96cb0
DIST mariadb-10.5.15-patches-01.tar.xz 5116 BLAKE2B 57759c61e672668be8ed991ca023007a4e0c10b2352cc621e88b825097cfde3eb83078804af7afaaa0c6f47900c34046773141a9e3dc3c220b33ecc16435784d SHA512 e3d21b3499ec9f6b5fd32978a6a779ecaca671cccadf241700207a1a3822a6b05ba2e13e1a6cb20e4d5fe4e6db6e5f46e9af650c736bdc3e3de9a4d8bad7ce19
DIST mariadb-10.5.16.tar.gz 105798374 BLAKE2B fc8ba002a876cd9d357c9762e531082f22380480f8713d3f3882c29ad31c6b14065079b6cdde2e698382d2be668e9e7af2d900b93cd976e8fa27e876f33acff4 SHA512 28cea63cc3c5e1b236fb13593285e5d4b9aac5eaf259784e760def42bca8b09954510d39014a7a7c9e8656d61f5995a356df2f2ebb0df2696dd739ff3de5865d
+DIST mariadb-10.5.17-patches-01.tar.xz 5124 BLAKE2B 74976beee48142294d1dcab73e9cdad40392619115184ab5da5553d28b9a10e415711fac84c4290affe301abe0047c99c5a31ce9dfd58c923cfa15346b9c5acc SHA512 b3ffc4a227fcb4a85575fd093b399810c433686a97518cb0d2b47d61c623bbb760b40c5c9d7752fdbb24e3e41740e8a85c3096f6269c80f6ecc2ffc73d5ee94b
+DIST mariadb-10.5.17.tar.gz 113314849 BLAKE2B 6b2efabc620f38d3b0d35930aa4c9b2e63f01d106de57056b5e4b8d629c5669ac1e64d120ce9cd77d3ddd857eeee9630af3dcb52fe6db9c7f7413248b748d4ef SHA512 5a68126aac7072bed549404c89f7215bc47dede8f72559076988469372b96523a800fd6bbf11ff3003a277ee30788ca99a21507b7d7e2b7e98437ca70b5ca0fc
+DIST mariadb-10.6.10-patches-01.tar.xz 5240 BLAKE2B 4c41bbb5a81ecca3e9ccbdfb0861189575e5b3edfb1019465c8dbceee641a8bbeb3e54f061ff3ec44fb5ff3bca960419893429897db4a919177c390b44ef7e49 SHA512 aee039f5e771c840e2a5bb6f6f5fcbec06c0bbd7fd5ce155f0e6f3694595d5d2a0e38f25972c328fc9f69dd68354434e40c5e9a7b2d509d7ea795e097a57864d
+DIST mariadb-10.6.10.tar.gz 96453293 BLAKE2B 889d141ab9e0e9a0cd3fc9b191a15192170029a5fddcff8ebfe482cc3cfdfec6307c014fe09719c7c254a3941034f53ee7ff6187f3d502e3f3edb4d586dff8f3 SHA512 912219878e2201280f5927ee8a34dafe83ac2c3ce8c6fa3d90731d10fd693c369872aff840edc8329b82c53e9908fbdb1ba731ba140e2b99048edb5eb21f22c4
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
diff --git a/dev-db/mariadb/mariadb-10.3.36.ebuild b/dev-db/mariadb/mariadb-10.3.36.ebuild
new file mode 100644
index 000000000000..efe73d65e955
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.3.36.ebuild
@@ -0,0 +1,1287 @@
+# 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 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.36-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:=
+ 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/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.26.ebuild b/dev-db/mariadb/mariadb-10.4.26.ebuild
new file mode 100644
index 000000000000..42db40bc5f57
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.4.26.ebuild
@@ -0,0 +1,1308 @@
+# 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 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.4.26-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:=
+ 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/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 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.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 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/mariadb/mariadb-10.5.17.ebuild b/dev-db/mariadb/mariadb-10.5.17.ebuild
new file mode 100644
index 000000000000..605403717fad
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.5.17.ebuild
@@ -0,0 +1,1315 @@
+# 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 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.17-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:=
+ 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:=
+ 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/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 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/mariadb/mariadb-10.6.10.ebuild b/dev-db/mariadb/mariadb-10.6.10.ebuild
new file mode 100644
index 000000000000..afb1b69d821c
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.10.ebuild
@@ -0,0 +1,1319 @@
+# 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 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.10-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:=
+ 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:=
+ 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/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 a8d017b5d7ce..11aa4a26f930 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,6 +1,2 @@
-DIST sqlite-doc-3390200.zip 10683207 BLAKE2B 745aedf0c71da6c0d802aed2b64b6e10ef57f4a72210b12276a3019ccc5408bef537ad93c64eb972a7f24117df5780e35f75246d2ba9cd74c4537588eb6cba3c SHA512 54b9e632244b95ebf35fcaa5ce9c02381601eb442eec2ec2a809a7fe24d2cfed751581bb82fd243aaede2c935864da39fd1f1685e762826dd76fc754c7f79c0b
-DIST sqlite-doc-3390300.zip 10312031 BLAKE2B 53e4490a0b2fdc8a8ee76615cef3c9e3006e79d91c7b21d92fcaecb7bb07190b761c506cb6af6cafb9e876974ece6647f33a663959d4ff83bb65310402e74709 SHA512 edab798f777bec097a20798a71c8ea01e4c59034da1f696ce1574a57719edd252a0004a268866e338803dd4c46980754ed1b5ddd05a5fc01b59397b6fda172ae
DIST sqlite-doc-3390400.zip 10853153 BLAKE2B 617927351809e5ec7489011f963337e92b539a83b135daa7ccd48f840d35716d08e8adc08a67e17d674a6bc64ca24fa92b56573c0065105386fc9c75f1f7f9ef SHA512 75d97b0f2f0d530b2e0ad505574af3bf657d82f0859bb5de7ee45c40a80351e933944845cedca56b579925a3d07505c6f4721f756f27862ffafdfc2caff539fb
-DIST sqlite-src-3390200.zip 13403722 BLAKE2B 24ab8cfe5fda267c7a90939875e87bc9f9914f2690f195c21ff2b774ba83a7d6914f57648cf618fd79b37e54ad85121f86310a733a87e6c76bf729716a937d02 SHA512 a838386a48654391590ea0e1cb355d29f6f93033c3e582df7c63139adaf5119dd5a1550e913dbad0d3eafb0bfa03c4fc6dc48a334d9c45ffb8a7205a528b38f1
-DIST sqlite-src-3390300.zip 13404886 BLAKE2B 46c0a39aa1da33b3ab2f3353d641f2e93073531d9db8c7088ce2578eca5c742a4b9d2ac10f1c6488248e103f421cef214596eb692fdf54ef54c113b55961ab89 SHA512 19827a3dc0b57046b3d50e9538dfcf2e0453a04b2d8ccfee94effa3eee1b1a56837740ecef0e6ee4ec0a94d7185fae9f4a5e158291468acbbcead5335196e776
DIST sqlite-src-3390400.zip 13405169 BLAKE2B aa0e0abbdcafced086a604ec910dbfd1e4df28e83e0edb6056019391e96367050e59478ee8847d930191a65b21cf0bf9957c35ef056abd9be4947a3838d78eb2 SHA512 0acb8afc87f911c91ec555cc97af5b77b6b0e80cc8672711ddd87c651d9e11b697c9669ff9ba2b58da12b972bb46acdf8b8fe35993950f10735b4036501b73bb
diff --git a/dev-db/sqlite/sqlite-3.39.2.ebuild b/dev-db/sqlite/sqlite-3.39.2.ebuild
deleted file mode 100644
index a2eb7c1e987f..000000000000
--- a/dev-db/sqlite/sqlite-3.39.2.ebuild
+++ /dev/null
@@ -1,436 +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-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/sqlite/sqlite-3.39.3.ebuild b/dev-db/sqlite/sqlite-3.39.3.ebuild
deleted file mode 100644
index c69a893b551d..000000000000
--- a/dev-db/sqlite/sqlite-3.39.3.ebuild
+++ /dev/null
@@ -1,436 +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-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-embedded/Manifest.gz b/dev-embedded/Manifest.gz
index 7066302849f9..6d9dffde0bf1 100644
Binary files a/dev-embedded/Manifest.gz and b/dev-embedded/Manifest.gz differ
diff --git a/dev-embedded/libjaylink/Manifest b/dev-embedded/libjaylink/Manifest
index bb5b029dcc4a..dc1bd8e5b022 100644
--- a/dev-embedded/libjaylink/Manifest
+++ b/dev-embedded/libjaylink/Manifest
@@ -1,2 +1 @@
-DIST libjaylink-0.2.0.tar.bz2 59078 BLAKE2B 7928875248972bc00ec46511861e160491f7a53f729e0fbfe3a6d08335532fffc9e285e8a354a390037bebe696b6740bdc422164238947baf5e0fcf8f55c0dd5 SHA512 5a8c458982fdea2025aa3ce774d41cc58a283824dcd90a94531ee5e6ca50d9961b0ebb40a6dd3a97fdfcb44625437d685151560185449c3161fe399e0651da44
DIST libjaylink-0.3.1.tar.bz2 61062 BLAKE2B 7a220b7e1ae1818b9d65d6bb92b282516ce6e4144ce77ee8b77088ebc92f9a091ae04a78c043afaa90ee9f737baa7c2fcd0a9237b60662af0d858fb24cef1c5e SHA512 4964e522cb59f59db444ca350529dd3695e2ccb451f7607e2c14074bafe47688f35b2e8b3304170a611db2d21040f3f98c95def179cf4f95733287986811fd78
diff --git a/dev-embedded/libjaylink/libjaylink-0.2.0.ebuild b/dev-embedded/libjaylink/libjaylink-0.2.0.ebuild
deleted file mode 100644
index 81f3e444b538..000000000000
--- a/dev-embedded/libjaylink/libjaylink-0.2.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Library to access J-Link devices"
-HOMEPAGE="https://gitlab.zapb.de/libjaylink/libjaylink"
-
-SRC_URI="https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm ~riscv x86"
-IUSE="static-libs"
-
-DEPEND="virtual/libusb:1[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- sed -i -e "/^JAYLINK_CFLAGS=/ s/ -Werror / /" configure.ac || die
- eapply_user
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- use static-libs || find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild b/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild
index 8601f4cec5f0..acb1508d8178 100644
--- a/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild
+++ b/dev-embedded/libjaylink/libjaylink-0.3.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${PV}/${P}.tar.b
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
+KEYWORDS="amd64 arm ~riscv x86"
DEPEND="virtual/libusb:1"
RDEPEND="${DEPEND}"
diff --git a/dev-embedded/uisp/metadata.xml b/dev-embedded/uisp/metadata.xml
index 98ae10b3c34a..e7bfe1daed8f 100644
--- a/dev-embedded/uisp/metadata.xml
+++ b/dev-embedded/uisp/metadata.xml
@@ -1,8 +1,11 @@
-
- embedded@gentoo.org
- Embedded Gentoo
-
+
+ embedded@gentoo.org
+ Embedded Gentoo
+
+
+ uisp
+
diff --git a/dev-embedded/xa/xa-2.3.13.ebuild b/dev-embedded/xa/xa-2.3.13.ebuild
index 8ae78aaa630a..ddaef3e9cb4a 100644
--- a/dev-embedded/xa/xa-2.3.13.ebuild
+++ b/dev-embedded/xa/xa-2.3.13.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.floodgap.com/retrotech/xa/dists/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
PATCHES=(
"${FILESDIR}"/${PN}-2.3.10-Makefile.patch
diff --git a/dev-erlang/Manifest.gz b/dev-erlang/Manifest.gz
index b538ab30bbbc..54c4008f4099 100644
Binary files a/dev-erlang/Manifest.gz and b/dev-erlang/Manifest.gz differ
diff --git a/dev-erlang/esip/Manifest b/dev-erlang/esip/Manifest
index e0d6a1c78e1b..6f383e80a337 100644
--- a/dev-erlang/esip/Manifest
+++ b/dev-erlang/esip/Manifest
@@ -1 +1,2 @@
DIST esip-1.0.47.tar.gz 91238 BLAKE2B 041a04009d4687187699bfb78381dd6baefb503bdbdd4b31efeb81786e3e0a4e47085336888fd481ecf28c4e32c296adef05eba7ff17eb084da14e645773cb31 SHA512 68be1c8cf507180e73f3a16dfd8ca44ffad825c40df0d1874888afa41f3cb89b445b033036d041af29ec3fdbdab7acc68f770124171ba4af73abd0775a03c0ba
+DIST esip-1.0.48.tar.gz 91251 BLAKE2B ff78a01dd46c73a550b123c87542aebbe988a5e3c19efd83ad82251399287faf8cd97ad39debe52a28a2ddd5bd025cbeec6132658663989470509906111dcb93 SHA512 9acc47fee89ee99f3de892c568052ad614305dbecfb9742269672772393d95c60440f7c676c62b0b8fc69854332924c3d3f661a5972df4f27f58358e591373aa
diff --git a/dev-erlang/esip/esip-1.0.48.ebuild b/dev-erlang/esip/esip-1.0.48.ebuild
new file mode 100644
index 000000000000..77f33750e708
--- /dev/null
+++ b/dev-erlang/esip/esip-1.0.48.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="ProcessOne SIP server component"
+HOMEPAGE="https://github.com/processone/esip"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-erlang/fast_tls-1.1.16
+ >=dev-erlang/stun-1.2.6
+ >=dev-erlang/p1_utils-1.0.25
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
+
+src_prepare() {
+ rebar_src_prepare
+ rebar_fix_include_path stun
+}
diff --git a/dev-erlang/fast_tls/Manifest b/dev-erlang/fast_tls/Manifest
index 89487595f370..8f3f8ee8c3a8 100644
--- a/dev-erlang/fast_tls/Manifest
+++ b/dev-erlang/fast_tls/Manifest
@@ -1 +1,2 @@
DIST fast_tls-1.1.15.tar.gz 83705 BLAKE2B 234c2e10a0661a46482a3db9da21831b0c3c370daff502d3275efcb69337f70977b6509a3b4c1306bf3687eb611b5efe46927c9702fcbe96e6f92f1b378b8293 SHA512 fcbdb9ffbb61c07fb3706bdae9d6d10f425968e722bcd03e2c86a99ca62d3ff0cb1298bf625adb679c627f38953fd3ef0b4263ae34ea100e9134488d9c55e192
+DIST fast_tls-1.1.16.tar.gz 83971 BLAKE2B 979435e067c0365d933c784501e95501cadfbc83a2fd743b694bb365eb2eab3818d743eb0c0586f216858045f2e4fb8bc7dc4e2d7ad4e1bb1e969670bd26d4b8 SHA512 c143eacf3b36b21c51cbf3c6fbb9327bc9a987ac88ef72f85981352efc3361a703caab970ae3f08bbcb1b99ded89160f9ccf798f718935d6c1950a51231abfbf
diff --git a/dev-erlang/fast_tls/fast_tls-1.1.16.ebuild b/dev-erlang/fast_tls/fast_tls-1.1.16.ebuild
new file mode 100644
index 000000000000..c386b4c39dc5
--- /dev/null
+++ b/dev-erlang/fast_tls/fast_tls-1.1.16.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="TLS/SSL native driver for Erlang and Elixir"
+HOMEPAGE="https://github.com/processone/fast_tls"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-erlang/p1_utils-1.0.25
+ dev-libs/openssl:0=
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/fast_yaml/Manifest b/dev-erlang/fast_yaml/Manifest
index 925bdf3069fc..82c97a1a488d 100644
--- a/dev-erlang/fast_yaml/Manifest
+++ b/dev-erlang/fast_yaml/Manifest
@@ -1,2 +1,3 @@
DIST fast_yaml-1.0.32.tar.gz 59969 BLAKE2B 690b9f463fde3fdde4a0b0b72b4f2d88e24e3bc2f79a650c3f2f2d0d627efec32a0d604e3575860c52c7238642da7e80b71cefbea3379c46b2809073b2dfd639 SHA512 8ae75b68417513e72eff61311c5cc989866ac9b885e4e2d80844d3eb20b7c688f77daf41415d24fb9cac7a7dc08df870efc9c3edcac61a2bd1fc68e7d8937702
DIST fast_yaml-1.0.33.tar.gz 60314 BLAKE2B 3a4e807ef88d460d7e1f98f8f5567efe18ea153e8fb038bf6baaa4e1951491bd7504fd6d5013f77a3ddafa3c1ab14d54f7b64652fc002897de266de7297c97e6 SHA512 ace64e8818604031180955c2527cbd4eb73246f60d9d23e2fcde54d25451c3e2b0625e97df817a48cb23593f10555063aa894dd84fa64e5a2d68884a8d75a4f5
+DIST fast_yaml-1.0.34.tar.gz 60367 BLAKE2B 076b90e575b36ba3d3f920351ec749d6f7cd25d246cc1d80b826a463e91a62f8dd9a36d54ea2a3fa7a753a5e1bc137b3ab03ec6636b3844f13b987986979fb8d SHA512 d1f0081075fe0009658d83eb23da046f4e12a25eda293cb061ff33825324445059cafeec95c3e53f3eca94085188c63b436d2057b6266b32076c33b9ecd1e347
diff --git a/dev-erlang/fast_yaml/fast_yaml-1.0.34.ebuild b/dev-erlang/fast_yaml/fast_yaml-1.0.34.ebuild
new file mode 100644
index 000000000000..4b1ade0bbc2f
--- /dev/null
+++ b/dev-erlang/fast_yaml/fast_yaml-1.0.34.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="Fast Yaml native library for Erlang and Elixir"
+HOMEPAGE="https://github.com/processone/fast_yaml"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-erlang/p1_utils-1.0.25
+ dev-libs/libyaml
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/p1_acme/Manifest b/dev-erlang/p1_acme/Manifest
index d83530c8eb81..083877ca3cd2 100644
--- a/dev-erlang/p1_acme/Manifest
+++ b/dev-erlang/p1_acme/Manifest
@@ -1 +1,2 @@
DIST p1_acme-1.0.19.tar.gz 223303 BLAKE2B 48027739d46582c7acc72ea22fe08376dd67295b2f9161782abbb786a421fb976a2447e86cdcbfd30663fb02ac5fec58dc1285096e57c474d93dbc4e9624aa87 SHA512 d0896ca53fd48798f0e3f502a09e9df6ea88e4248968b5273b1a6e0f6735c39d680de251e0f2c49d04271018a5664252771be1746cf9d18ddd9d42e2ddf90b24
+DIST p1_acme-1.0.20.tar.gz 223319 BLAKE2B a12213a84b473659c7b639cdf766d189312f7a09377c909e131d4e0e6412444db519eb30160741ff5d722fd2747085024b16eff4d42d6f428501eb126e498a74 SHA512 5bb82183e361d795ae59dc620b0677a9daeb52d9587f19d1c2e2b39ef45f50eb229244dd148cf99a740ac7c2e9d7571ebc9b1a271b4bca7263c3e898e36c2a7c
diff --git a/dev-erlang/p1_acme/p1_acme-1.0.20.ebuild b/dev-erlang/p1_acme/p1_acme-1.0.20.ebuild
new file mode 100644
index 000000000000..ca684d0853fc
--- /dev/null
+++ b/dev-erlang/p1_acme/p1_acme-1.0.20.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit rebar
+
+DESCRIPTION="ACME client library for Erlang"
+HOMEPAGE="https://github.com/processone/p1_acme"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-lang/erlang-17.1
+ >=dev-erlang/jiffy-1.1.1
+ >=dev-erlang/yconf-1.0.14
+ >=dev-erlang/idna-6.0.0-r1
+ >=dev-erlang/jose-1.11.1
+ >=dev-erlang/base64url-1.0.1
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/p1_mysql/Manifest b/dev-erlang/p1_mysql/Manifest
index 4f9ed9736a98..78c02e2580f3 100644
--- a/dev-erlang/p1_mysql/Manifest
+++ b/dev-erlang/p1_mysql/Manifest
@@ -1 +1,2 @@
DIST p1_mysql-1.0.19.tar.gz 27476 BLAKE2B 14acb400c08c6b49fc2f3569dbb8891b52dd27c42fade7ad79858728a4c12bbc5cbd5aedc86432d61fbbdcc8df1277227b39343288d200cb056ab511ab0d0ae1 SHA512 eee2402661cc7d58228641057c571c383c09261a0022287ca19ab56a51530ea575478971fea944919aeb910e37cd9dedfea629bdd949b8dae7892aa5590ac675
+DIST p1_mysql-1.0.20.tar.gz 26257 BLAKE2B cdd6ac6c497f2fff7b2854a7e6b8533109c5929994d4565d844866495b72857ad94a6c146d3bcc0bd58e0e6de69b8b0a74039b1597b2c9a5eb10261eeb75617a SHA512 b23aa5227a9a8a505448c3eb36caeba769ae8142c2aefb2125263d0dbabeac7507229d654e4bc08133175f2cd13a7742e28dfec064d75b8af112d81485c6b38b
diff --git a/dev-erlang/p1_mysql/p1_mysql-1.0.20.ebuild b/dev-erlang/p1_mysql/p1_mysql-1.0.20.ebuild
new file mode 100644
index 000000000000..584abcc6bc91
--- /dev/null
+++ b/dev-erlang/p1_mysql/p1_mysql-1.0.20.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="Pure Erlang MySQL driver"
+HOMEPAGE="https://github.com/processone/p1_mysql"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND=">=dev-lang/erlang-17.1"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/p1_pgsql/Manifest b/dev-erlang/p1_pgsql/Manifest
index 081f0c9f373a..a0bc43acd35f 100644
--- a/dev-erlang/p1_pgsql/Manifest
+++ b/dev-erlang/p1_pgsql/Manifest
@@ -1 +1,2 @@
DIST p1_pgsql-1.1.18.tar.gz 27186 BLAKE2B 114e407630f61d4f9b7aed116f5b7f604c2ea2c18a963c6d74ddb65001f7f98556b5bb7f208afbb604b217c145ce3361e242034e6b382fcea9d86f2c44aa8eb0 SHA512 b075475a8729ca4d24d8cf05dc82b17a5c1e05c38d22586fe490c39194640e36145b0732126bb023881d6b258411a87046ab81a25fd85a1d3505d28da0d50122
+DIST p1_pgsql-1.1.19.tar.gz 27194 BLAKE2B 94335b49d9515bd07fe8598906679d466497852c0a3c9a7d5cb76befe98217743839aa0e2a3cc180f632b2932865b6cbaf4d2059e0884bbc42bc1362427921e9 SHA512 d789cadaf504f13a7533447f1f1ec56a7d95608da0fe90d4ff5c8f93157928439603dba8f19863704736cefe21c5c288a96c81ac17f9a428e0a0be535564b9fc
diff --git a/dev-erlang/p1_pgsql/p1_pgsql-1.1.19.ebuild b/dev-erlang/p1_pgsql/p1_pgsql-1.1.19.ebuild
new file mode 100644
index 000000000000..330c443d7513
--- /dev/null
+++ b/dev-erlang/p1_pgsql/p1_pgsql-1.1.19.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="Pure Erlang PostgreSQL driver"
+HOMEPAGE="https://github.com/processone/p1_pgsql"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="ErlPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-erlang/xmpp-1.6.0
+ >=dev-lang/erlang-17.1
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/stringprep/Manifest b/dev-erlang/stringprep/Manifest
index f60dcf564d69..dbfeeae69c62 100644
--- a/dev-erlang/stringprep/Manifest
+++ b/dev-erlang/stringprep/Manifest
@@ -1 +1,2 @@
DIST stringprep-1.0.28.tar.gz 100057 BLAKE2B f9bb2b326bfe8f59771929dc087f019445edcfaf455f530b390ab79ab98df76d2d154329e70eee584ce6851c54cafb1a92c15a1ebf7af3210e5285518f239744 SHA512 1bedef40b38494ff42f551fedb83e47a2938eb29871b8649a76521035f16a7a2575d6524e12dfdfc45379c3cbe50af2988daa9ae9ab82632156514c86e06df7e
+DIST stringprep-1.0.29.tar.gz 100076 BLAKE2B 8dee25a1c65de617ae682bca061d747c56e694d1f6eb41d4ffbe18dbd955cddf6b4437b22b6492677235577e624dce381825869a5619714d7c2e67779b805222 SHA512 53b24c166d9328efab8e01b3e7ee7df3d66d240a6ac95f5338d0237ae4e6db20a4f53b487d632cbe6ae46c5f2c62001f7afb77172b27840a824944e51e08ef56
diff --git a/dev-erlang/stringprep/stringprep-1.0.29.ebuild b/dev-erlang/stringprep/stringprep-1.0.29.ebuild
new file mode 100644
index 000000000000..5a4e0c05a3cf
--- /dev/null
+++ b/dev-erlang/stringprep/stringprep-1.0.29.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit rebar
+
+DESCRIPTION="Fast Stringprep implementation for Erlang and Elixir"
+HOMEPAGE="https://github.com/processone/stringprep"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 tcltk"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-lang/erlang-17.1
+ >=dev-erlang/p1_utils-1.0.25
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/stun/Manifest b/dev-erlang/stun/Manifest
index 830c1806963b..3ed2b5176cba 100644
--- a/dev-erlang/stun/Manifest
+++ b/dev-erlang/stun/Manifest
@@ -1,2 +1,3 @@
DIST stun-1.0.47.tar.gz 41277 BLAKE2B c40e326688dbddc37c82a0850cd2f8c4676898f208789960c0af346e0e27cc5aca199605e431ce7eb012dd2469b8938be39e02c59daea8d039d73c043f449ffd SHA512 921064bdaa6838d30c8fdd161f525ab11f91011700cfee222a9bac0c56a01efa63ad104bdf29068a32338387c3be5df1265612ebddd979e408b0c07825607d66
DIST stun-1.2.2.tar.gz 41090 BLAKE2B fbcebb9a30dc547ab4fcf75cd78f57d141368c726629f4958f019d670de1d2b4c1f98594cd99befaa08ea4fffbabb28822484f8684adf7b9624b1d2eda976e74 SHA512 ddbb13300c1cc2ac09d7049fbd97fcd67e7f2e0dbb56569279ea1b1e4fe5e106712178e683757a4c205ddc54d1b2a0291369affc42a23325d7ad6ad61b648fd9
+DIST stun-1.2.6.tar.gz 42153 BLAKE2B 26d36d5ed878117f45105d3f8f65787026b8544e1e8568c249dc85bc7d7d14349450cb841c64e43ca4dcb27367dad5a0351ee5813edceb20da310371cb43da05 SHA512 6d6d0468c0272662326286a31402f748abce174c04edfcc9f49f08bf78019f6d34c62f706c8b3cf7e1d556ded72c227f55037926e2f4724f05cde9fac67cbe64
diff --git a/dev-erlang/stun/stun-1.2.6.ebuild b/dev-erlang/stun/stun-1.2.6.ebuild
new file mode 100644
index 000000000000..02adc6445dbe
--- /dev/null
+++ b/dev-erlang/stun/stun-1.2.6.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="STUN and TURN library for Erlang and Elixir"
+HOMEPAGE="https://github.com/processone/stun"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-erlang/fast_tls-1.1.15
+ >=dev-erlang/p1_utils-1.0.25
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-erlang/xmpp/Manifest b/dev-erlang/xmpp/Manifest
index fc1d718c862a..fe77cbc0ba2b 100644
--- a/dev-erlang/xmpp/Manifest
+++ b/dev-erlang/xmpp/Manifest
@@ -1 +1,2 @@
DIST xmpp-1.5.8.tar.gz 557974 BLAKE2B 63a0a0481ab5f527417aed68e798f46f0562b0e882bb3c91d6dde43b4190901dec49fb0838db3466928a2db9088a1f09b87f8a1a56f4de98682fe304f8fa891e SHA512 0ef76dd65741072276ef3590e4c82456c832dda530f857a30072acc6444532865b716c82e60e972320ddab191ac1fb0a72be2bc71b01a72e16892015381086e3
+DIST xmpp-1.6.0.tar.gz 561026 BLAKE2B 52797606d0aa88d5e72f8855da108c6c0f0b8e43c8fd131a65fa5ac863d51b8fe0be5582965bd65f2c5ea001dd0ee343cf70447fd669f951efbf57b87ea37eef SHA512 296a2f6c06e1a82e74e5484ae082124ad9ba05830aee2ecfea49ccf01a4fc4d46d94b8960ac5309911db66f0e8f2d06f48a0571f31cd5873c6e003b394f34300
diff --git a/dev-erlang/xmpp/xmpp-1.6.0.ebuild b/dev-erlang/xmpp/xmpp-1.6.0.ebuild
new file mode 100644
index 000000000000..f797d4db1469
--- /dev/null
+++ b/dev-erlang/xmpp/xmpp-1.6.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="XMPP parsing and serialization library on top of Fast XML"
+HOMEPAGE="https://github.com/processone/xmpp"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+RDEPEND="
+ >=dev-erlang/ezlib-1.0.12
+ >=dev-erlang/fast_tls-1.1.16
+ >=dev-erlang/fast_xml-1.1.49
+ >=dev-erlang/p1_utils-1.0.25
+ >=dev-erlang/stringprep-1.0.29
+ >=dev-erlang/idna-6.0.0-r1
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
+
+src_prepare() {
+ rebar_src_prepare
+ rebar_fix_include_path fast_xml
+}
diff --git a/dev-erlang/yconf/Manifest b/dev-erlang/yconf/Manifest
index 423d4108664b..9bf0f45df316 100644
--- a/dev-erlang/yconf/Manifest
+++ b/dev-erlang/yconf/Manifest
@@ -1 +1,2 @@
DIST yconf-1.0.13.tar.gz 223970 BLAKE2B 877094613a89afa3c819b8b8254b83091b3ff302534366ef9e0b321e1b65eb8cb52e03a7074f4836359bb8af566caf6f23ba2b04bfd7fc3a22fc27415b752778 SHA512 1e5df69421a82e8c442e17ed74738a4717e84521570f48a885de3e4fda2cbbc6d7567736d87255050d21e85edf976532ba6659b8a51d3150d1ac5e2c19d89a61
+DIST yconf-1.0.14.tar.gz 223966 BLAKE2B 1f910a47f55822d2e5d71ee53f26e40a1967245ca5959011c3062d2c69107aa9f63ef5ae0adb3f2557677cbc8f0e7155345c9510600de1d7a7bdeee19997a87b SHA512 5b495f6975a7d844f28af9295423b90d3e003122ef9b15a5734caf2bc46ad78c982a2fd36b4c1890ec0325ca0c72b029e470fd3e89ce52d9616047353a296e82
diff --git a/dev-erlang/yconf/yconf-1.0.14.ebuild b/dev-erlang/yconf/yconf-1.0.14.ebuild
new file mode 100644
index 000000000000..82bd486fcf94
--- /dev/null
+++ b/dev-erlang/yconf/yconf-1.0.14.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rebar
+
+DESCRIPTION="YAML configuration processor"
+HOMEPAGE="https://github.com/processone/yconf"
+SRC_URI="https://github.com/processone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+
+DEPEND="
+ >=dev-lang/erlang-17.1
+ >=dev-erlang/fast_yaml-1.0.34
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-games/Manifest.gz b/dev-games/Manifest.gz
index 020ac00907c9..81c8b1bfd1a1 100644
Binary files a/dev-games/Manifest.gz and b/dev-games/Manifest.gz differ
diff --git a/dev-games/clanlib/clanlib-2.3.7-r3.ebuild b/dev-games/clanlib/clanlib-2.3.7-r3.ebuild
new file mode 100644
index 000000000000..d5d41ff83ea1
--- /dev/null
+++ b/dev-games/clanlib/clanlib-2.3.7-r3.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+MY_P=ClanLib-${PV}
+DESCRIPTION="Multi-platform game development library"
+HOMEPAGE="http://www.clanlib.org/"
+SRC_URI="http://clanlib.org/download/releases-2.0/${MY_P}.tgz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="ZLIB"
+SLOT="2.3"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc ipv6 mikmod opengl sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
+REQUIRED_USE="opengl? ( X )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-lang/perl
+ media-gfx/graphviz
+ )
+"
+RDEPEND="
+ sys-libs/zlib
+ X? (
+ app-arch/bzip2
+ media-libs/libpng:0
+ media-libs/freetype
+ media-libs/fontconfig
+ media-libs/libjpeg-turbo:0=
+ x11-libs/libX11
+ opengl? ( virtual/opengl )
+ )
+ mikmod? (
+ media-libs/alsa-lib
+ media-libs/libmikmod
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ sound? ( media-libs/alsa-lib )
+ vorbis? (
+ media-libs/alsa-lib
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-doc.patch
+ "${FILESDIR}"/${P}-freetype_pkgconfig.patch #764902
+ "${FILESDIR}"/${P}-glibc2.34.patch
+ "${FILESDIR}"/${P}-32bit-opengl.patch
+ # From Fedora
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+ "${FILESDIR}"/${P}-non-x86.patch
+ "${FILESDIR}"/${P}-no-ldflags-for-conftest.patch
+ "${FILESDIR}"/${P}-no-wm_type-in-fs.patch
+)
+
+DOCS=( CODING_STYLE CREDITS PATCHES README )
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib || die
+}
+
+src_configure() {
+ # Add -DPACKAGE_BUGREPORT?
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable opengl clanGL)
+ $(use_enable opengl clanGL1)
+ $(use_enable opengl clanGUI)
+ $(use_enable X clanDisplay)
+ $(use_enable vorbis clanVorbis)
+ $(use_enable mikmod clanMikMod)
+ $(use_enable sqlite clanSqlite)
+ $(use_enable ipv6 getaddr)
+ )
+
+ use sound \
+ || use vorbis \
+ || use mikmod \
+ || myeconfargs+=( --disable-clanSound )
+
+ tc-export PKG_CONFIG
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+
+ use doc && emake html
+}
+
+# html files are keeped in a directory that is dependent on the SLOT
+# so to keep eventual bookmarks to the doc from version to version
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use doc ; then
+ emake DESTDIR="${D}" install-html
+ dodoc -r Examples Resources
+ fi
+}
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
new file mode 100644
index 000000000000..58b55ccf0291
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
@@ -0,0 +1,107 @@
+diff -up ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ 2011-07-22 10:03:21.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp 2012-01-12 22:16:39.779011207 +0100
+@@ -34,6 +34,7 @@
+ #include "API/Core/System/exception.h"
+
+ #ifndef WIN32
++#include
+ #include
+ #endif
+
+diff -up ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ 2011-08-03 10:13:57.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp 2012-01-12 22:18:30.754009662 +0100
+@@ -43,6 +43,7 @@
+
+ #ifndef WIN32
+ #include
++#include
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ 2011-01-27 10:03:39.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp 2012-01-12 22:24:55.536004557 +0100
+@@ -33,6 +33,7 @@
+ #include "API/Core/Text/string_help.h"
+ #include "API/Core/Text/string_format.h"
+ #ifndef WIN32
++#include
+ #include
+ #include
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp 2012-01-12 22:25:17.359004259 +0100
+@@ -36,6 +36,7 @@
+ #include "API/Core/Text/string_help.h"
+ #ifndef WIN32
+ #include "Network/Socket/event_provider_unixsocket.h"
++#include
+ #include
+ #include
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp 2012-01-12 22:26:06.047003649 +0100
+@@ -31,6 +31,9 @@
+ #include "API/Core/System/exception.h"
+ #ifdef WIN32
+ #include
++#else
++#include
++#include
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ 2011-11-25 09:16:46.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp 2012-01-12 22:26:37.583003215 +0100
+@@ -38,6 +38,10 @@
+ #include "API/Core/System/weakptr.h"
+ #include "API/Core/Text/string_help.h"
+
++#ifndef WIN32
++#include
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_VirtualDirectory_Impl Class:
+
+diff -up ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp
+--- ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp 2012-01-12 22:29:12.478001042 +0100
+@@ -35,6 +35,7 @@
+ #include "service_unix.h"
+ #include
+ #include
++#include
+
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_Service_Unix Construction:
+diff -up ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp
+--- ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp 2012-01-12 22:27:54.446002158 +0100
+@@ -33,6 +33,10 @@
+ #include "API/Core/Text/string_format.h"
+ #include "API/Core/System/datetime.h"
+
++#ifndef WIN32
++#include
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_ConsoleLogger Construction:
+
+diff -up ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ 2012-01-12 22:18:49.000000000 +0100
++++ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp 2012-01-12 22:30:46.492999847 +0100
+@@ -50,6 +50,7 @@
+ #include "display_message_queue_x11.h"
+ #include
+ #include
++#include
+ #include "../Window/input_context_impl.h"
+ #include
+ #include
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
new file mode 100644
index 000000000000..22cce76debfb
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
@@ -0,0 +1,20 @@
+diff -up ClanLib-2.3.7/configure.ac~ ClanLib-2.3.7/configure.ac
+--- ClanLib-2.3.7/configure.ac~ 2012-04-11 08:55:49.000000000 +0200
++++ ClanLib-2.3.7/configure.ac 2017-02-21 11:57:23.482504683 +0100
+@@ -119,7 +119,6 @@ case $target in
+ *)
+ X11="yes"
+ WIN32="no"
+- CXXFLAGS="$CXXFLAGS -std=c++0x"
+ ;;
+ esac
+
+@@ -259,7 +258,7 @@ if test "$use_sse2" != "no"; then
+ fi
+
+ if test "$WIN32" = "no"; then
+- extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread -std=c++0x"
++ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread"
+ else
+ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -mthreads -std=c++0x"
+ fi
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
new file mode 100644
index 000000000000..c22e58106485
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
@@ -0,0 +1,19 @@
+diff -up ClanLib-2.3.7/acinclude.m4~ ClanLib-2.3.7/acinclude.m4
+--- ClanLib-2.3.7/acinclude.m4~ 2011-11-24 11:57:30.000000000 +0100
++++ ClanLib-2.3.7/acinclude.m4 2015-04-02 15:22:52.060631122 +0200
+@@ -5,6 +5,7 @@ dnl CLANLIB_CHECK_LIB(lib, testprog, mod
+ define([CLANLIB_CHECK_LIB],[if test "$enable_$3" != "no"; then
+ OLDLIBS="$LIBS"; LIBS="$5"; AC_MSG_CHECKING(for $1)
+ OLD_CXXFLAGS="$CXXFLAGS"; CXXFLAGS="$6";
++ OLD_LDFLAGS="$LDFLAGS"; LDFLAGS=;
+ AC_RUN_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT=yes], [CL_RESULT=no], [AC_LINK_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT="yes, linked"],[CL_RESULT=no])])
+ AC_MSG_RESULT([$CL_RESULT])
+ if test "$CL_RESULT" = "no"; then
+@@ -14,6 +15,7 @@ define([CLANLIB_CHECK_LIB],[if test "$en
+ extra_LIBS_$3=" $extra_LIBS_$3 $LIBS "
+ fi
+ CXXFLAGS="$OLD_CXXFLAGS"
++ LDFLAGS="$OLD_LDFLAGS"
+ LIBS="$OLDLIBS"
+ fi])
+
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
new file mode 100644
index 000000000000..48799baa42c2
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
@@ -0,0 +1,12 @@
+diff -up ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ 2013-08-01 16:32:37.866001296 +0200
++++ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp 2013-08-01 16:33:26.267001811 +0200
+@@ -289,7 +289,7 @@ void CL_X11Window::create(XVisualInfo *v
+ // Retrieve the frame size (emulating microsoft windows)
+ bool window_is_frameless = false;
+ bool window_has_thin_frame = false;
+- if ((!desc.has_caption()) || (!desc.get_decorations()))
++ if (!desc.is_fullscreen() && (!desc.has_caption() || !desc.get_decorations()))
+ {
+ if (desc.is_tool_window())
+ {
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
new file mode 100644
index 000000000000..acaa8520b645
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
@@ -0,0 +1,38 @@
+diff -up ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp
+--- ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 2011-11-15 13:15:42.000000000 +0100
++++ ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp 2013-01-08 13:33:20.000000000 +0100
+@@ -30,7 +30,7 @@
+ #include "Core/precomp.h"
+ #include "API/Core/System/system.h"
+
+-#ifdef CL_ARM_PLATFORM
++#if ! (defined(__i386__) || defined(__x86_64__) || defined(__amd64__))
+ bool CL_System::detect_cpu_extension(CL_CPU_ExtensionPPC ext)
+ {
+ throw ("Congratulations, you've just been selected to code this feature!");
+@@ -48,11 +48,12 @@ bool CL_System::detect_cpu_extension(CL_
+ #ifdef __GNUC__
+
+
+-#ifdef __amd64__
++#if defined(__amd64__) || defined(__x86_64__)
+
+ #define __cpuid(out, infoType)\
+ asm("cpuid": "=a" ((out)[0]), "=b" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+-#else
++
++#elif defined(__i386__)
+
+ #define __cpuid(out, infoType) \
+ asm volatile( "pushl %%ebx \n" \
+@@ -61,6 +62,10 @@ bool CL_System::detect_cpu_extension(CL_
+ "popl %%ebx" \
+ : "=a" ((out)[0]), "=r" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+
++#else
++
++#define __cpuid(out, infoType) {}
++
+ #endif
+
+ #endif
diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz
index a4e7c6a9c5b0..cefc7adfe4a1 100644
Binary files a/dev-java/Manifest.gz and b/dev-java/Manifest.gz differ
diff --git a/dev-java/bcel/Manifest b/dev-java/bcel/Manifest
index 48f6029868a2..63c300025dd1 100644
--- a/dev-java/bcel/Manifest
+++ b/dev-java/bcel/Manifest
@@ -1,2 +1,4 @@
DIST bcel-6.5.0-sources.tar.gz 1009051 BLAKE2B fd07d8a5144112efe38e30a8d10c3b6a189a4ec70defa96c402fa88027acf84b07c15138d235354baac18bdb798d407c11ccfada7bbe7339532f829e814e2d2c SHA512 c6da4b4d4cbad3ad2b3a4c0208063e3858170356fc4f6670c95ce819f0aea69f103914875a12bf2715a869c2b19a3e79fcb55a695eb269d9937520db25da1e3d
DIST bcel-6.5.0-src.tar.gz 1009051 BLAKE2B fd07d8a5144112efe38e30a8d10c3b6a189a4ec70defa96c402fa88027acf84b07c15138d235354baac18bdb798d407c11ccfada7bbe7339532f829e814e2d2c SHA512 c6da4b4d4cbad3ad2b3a4c0208063e3858170356fc4f6670c95ce819f0aea69f103914875a12bf2715a869c2b19a3e79fcb55a695eb269d9937520db25da1e3d
+DIST bcel-6.6.0-src.tar.gz 1009654 BLAKE2B 9043cc077773383aebf9b56e8c67de9ffb9e278db1737eefb5966b32cbe36131bd6ec14454361daaf424a8114de21e804dadaebfbee6d11493026b8a98135668 SHA512 13f361be498625c3276860ae14c225c49135687f4ba69de4afaac2d135df4e5c6b51277e3cd4c05bac27156e4fab5316c102a25a67d8abb6c640499917d01917
+DIST bcel-6.6.0-src.tar.gz.asc 488 BLAKE2B b3d07f9d6f8f2b92215173d390281cab03b98dea2e926f5fe7f3ced74610c56dfa2915c5bfeeca360cd3904773cb66f8d9042062e6b3821f707853ef5c82fc73 SHA512 65830fcd5f5adb1deb92edd0b9181b9aeaf3d5357858a348606416dcfb416f58420ceb6c8ea58a550d5d7b4d1909dcff125b31496c00a9107ae211936c1d6e1d
diff --git a/dev-java/bcel/bcel-6.6.0.ebuild b/dev-java/bcel/bcel-6.6.0.ebuild
new file mode 100644
index 000000000000..894881257b80
--- /dev/null
+++ b/dev-java/bcel/bcel-6.6.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/commons/bcel/source/bcel-6.6.0-src.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" --ebuild bcel-6.6.0.ebuild
+
+EAPI=8
+
+# No tests, junit-jupiter is not packaged
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.bcel:bcel:6.6.0"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Commons Bytecode Engineering Library"
+HOMEPAGE="https://commons.apache.org/proper/commons-bcel/"
+SRC_URI="mirror://apache/commons/${PN}/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/bcel/source/bcel-${PV}-src.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Common dependencies
+# POM: pom.xml
+# org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
+
+CP_DEPEND="
+ dev-java/commons-lang:3.6
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? javax:javaee-api:6.0 -> !!!groupId-not-found!!!
+# test? net.java.dev.jna:jna:5.12.1 -> !!!suitable-mavenVersion-not-found!!!
+# test? net.java.dev.jna:jna-platform:5.12.1 -> !!!artifactId-not-found!!!
+# test? org.apache.commons:commons-exec:1.3 -> !!!artifactId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter:5.9.1 -> !!!groupId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-apache-commons )
+"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/commons.apache.org.asc"
+
+DOCS=( NOTICE.txt RELEASE-NOTES.txt )
+
+S="${WORKDIR}/${P}-src"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.bcel"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/bcel/metadata.xml b/dev-java/bcel/metadata.xml
index fedca9bbcd0c..5b5f89c96e8e 100644
--- a/dev-java/bcel/metadata.xml
+++ b/dev-java/bcel/metadata.xml
@@ -1,19 +1,20 @@
-
- java@gentoo.org
- Java
-
-
- This is the main Reference implementation of the BCEL JavaClass API.
- The Byte Code Engineering Library (formerly known as JavaClass) is intended
- to give users a convenient possibility to analyze, create, and manipulate
- (binary) Java class files (those ending with .class). Classes are represented
- by objects which contain all the symbolic information of the given class:
- methods, fields and byte code instructions, in particular.
-
-
- apache/commons-bcel
-
+
+ java@gentoo.org
+ Java
+
+
+ This is the main Reference implementation of the BCEL JavaClass API.
+ The Byte Code Engineering Library (formerly known as JavaClass) is intended
+ to give users a convenient possibility to analyze, create, and manipulate
+ (binary) Java class files (those ending with .class). Classes are represented
+ by objects which contain all the symbolic information of the given class:
+ methods, fields and byte code instructions, in particular.
+
+
+ https://downloads.apache.org/commons/bcel/RELEASE-NOTES.txt
+ apache/commons-bcel
+
diff --git a/dev-java/logback-core/logback-core-1.2.11.ebuild b/dev-java/logback-core/logback-core-1.2.11.ebuild
deleted file mode 100644
index 954b29679ba8..000000000000
--- a/dev-java/logback-core/logback-core-1.2.11.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/qos-ch/logback/archive/v_1.2.11.tar.gz --slot 0 --keywords "~amd64" --ebuild logback-core-1.2.11.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="ch.qos.logback:logback-core:1.2.11"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="logback-core module"
-HOMEPAGE="https://logback.qos.ch"
-SRC_URI="https://github.com/qos-ch/logback/archive/v_${PV}.tar.gz -> logback-${PV}.tar.gz"
-
-LICENSE="EPL-1.0 LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# javax.mail:mail:1.4 -> !!!groupId-not-found!!!
-# javax.servlet:javax.servlet-api:3.1.0 -> !!!groupId-not-found!!!
-# org.codehaus.janino:janino:3.0.6 -> >=dev-java/janino-3.1.6:0
-# org.fusesource.jansi:jansi:1.9 -> >=dev-java/jansi-1.13:0
-
-CP_DEPEND="
- dev-java/javax-mail:0
- dev-java/janino:0
- dev-java/jansi:0
- java-virtuals/servlet-api:3.1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? joda-time:joda-time:2.9.2 -> >=dev-java/joda-time-2.10.10:0
-# test? junit:junit:4.10 -> >=dev-java/junit-4.13.2:4
-# test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2
-# test? org.mockito:mockito-core:2.7.9 -> >=dev-java/mockito-4.4.0:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/assertj-core:2
- dev-java/joda-time:0
- dev-java/mockito:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( ../README.md )
-
-S="${WORKDIR}/logback-v_${PV}/logback-core"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="joda-time,junit-4,assertj-core-2,mockito-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- sed \
- -e 's:org.mockito.Matchers:org.mockito.ArgumentMatchers:' \
- -i 'src/test/java/ch/qos/logback/core/net/AbstractSocketAppenderIntegrationTest.java' || die
-
- # Ignore test failing under Java 16
- # See https://github.com/qos-ch/logback/commit/d6a8200cea6d960bf6832b9b95aed64e87474afb
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- eapply "${FILESDIR}/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch"
- fi
-}
-
-src_test() {
- # 67,73 logback-core/pom.xml
- #
- # **/All*Test.java
- # **/PackageTest.java
- #
- # **/ConsoleAppenderTest.java
- #
- #
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * \
- -name "*Test.java" \
- ! -wholename "**/All*Test.java" \
- ! -wholename "**/PackageTest.java" \
- ! -name "AbstractAppenderTest.java" \
- ! -name "AbstractPatternLayoutBaseTest.java" \
- ! -name "AbstractSocketAppenderIntegrationTest.java" \
- )
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- popd
-
- # accessible: module java.base does not "opens java.lang" to unnamed module @42bb2aee
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
- fi
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/protobuf-java/protobuf-java-3.21.9.ebuild b/dev-java/protobuf-java/protobuf-java-3.21.9.ebuild
index 96fc4a9564e1..c393a3769bea 100644
--- a/dev-java/protobuf-java/protobuf-java-3.21.9.ebuild
+++ b/dev-java/protobuf-java/protobuf-java-3.21.9.ebuild
@@ -9,7 +9,7 @@ MAVEN_ID="com.google.protobuf:protobuf-java:3.21.9"
# https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/pom.xml#L35-L39"
# JAVA_TESTING_FRAMEWORKS="junit-4"
-inherit java-pkg-2 java-pkg-simple
+inherit edo java-pkg-2 java-pkg-simple
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="https://developers.google.com/protocol-buffers/"
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> pr
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
DEPEND="
>=virtual/jdk-1.8:*
@@ -44,17 +44,25 @@ JAVA_TEST_SRC_DIR="core/src/test/java"
src_prepare() {
default
java-pkg-2_src_prepare
+
+ # There is also compiler/plugin, but not in this list because in a subdirectory
+ core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers )
+
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/pom.xml#L45-L61
- mkdir -p core/src/main/resources/google/protobuf/compiler || die
- cp {../src,core/src/main/resources}/google/protobuf/compiler/plugin.proto || die
- cp ../src/google/protobuf/{any,api,descriptor,duration,empty,field_mask,source_context,struct,timestamp,type,wrappers}.proto \
- "${JAVA_RESOURCE_DIRS}/google/protobuf" || die
+ mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die
+ local core_proto
+ for core_proto in "${core_protos[@]}"; do
+ cp "../src/google/protobuf/${core_proto}.proto" \
+ "${JAVA_RESOURCE_DIRS}/google/protobuf" \
+ || die
+ done
+ cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die
# Generate 146 .java files according to
- # https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/generate-sources-build.xml
- for proto in any api compiler/plugin descriptor duration empty field_mask source_context struct timestamp type wrappers; do
- "${BROOT}/usr/bin/protoc" \
- --java_out=core/src/main/java -I../src ../src/google/protobuf/$proto.proto || die
+ # https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/generate-sources-build.xml
+ for core_proto in "${core_protos[@]}" compiler/plugin; do
+ edo "${BROOT}/usr/bin/protoc" \
+ --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${core_proto}".proto
done
}
diff --git a/dev-java/protobuf-java/protobuf-java-9999.ebuild b/dev-java/protobuf-java/protobuf-java-9999.ebuild
index ab4856250e05..f269a7bc8533 100644
--- a/dev-java/protobuf-java/protobuf-java-9999.ebuild
+++ b/dev-java/protobuf-java/protobuf-java-9999.ebuild
@@ -12,7 +12,7 @@ MAVEN_ID="com.google.protobuf:${PN}:3.21.7"
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L35-L40
# JAVA_TESTING_FRAMEWORKS="junit-4"
-inherit java-pkg-2 java-pkg-simple
+inherit edo java-pkg-2 java-pkg-simple
PARENT_PN="${PN/-java/}"
PARENT_PV="${PV}"
@@ -92,14 +92,18 @@ src_prepare() {
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L45-L61
mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die
- cp "../src/google/protobuf/${core_protos[@]}.proto" \
- "${JAVA_RESOURCE_DIRS}/google/protobuf" || die
+ local core_proto
+ for core_proto in "${core_protos[@]}"; do
+ cp "../src/google/protobuf/${core_proto}.proto" \
+ "${JAVA_RESOURCE_DIRS}/google/protobuf" \
+ || die
+ done
cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die
# Generate 146 .java files according to
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/generate-sources-build.xml
- for proto in "${core_protos[@]}" compiler/plugin; do
- "${BROOT}/usr/bin/protoc" \
- --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die
+ for core_proto in "${core_protos[@]}" compiler/plugin; do
+ edo "${BROOT}/usr/bin/protoc" \
+ --java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${core_proto}".proto
done
}
diff --git a/dev-java/tomcat-servlet-api/Manifest b/dev-java/tomcat-servlet-api/Manifest
index 46448b6655c3..11c59f08ba94 100644
--- a/dev-java/tomcat-servlet-api/Manifest
+++ b/dev-java/tomcat-servlet-api/Manifest
@@ -1,4 +1,3 @@
-DIST apache-tomcat-10.0.23-src.tar.gz 6136614 BLAKE2B 4eaf963187b9a754ed459d7f85e6f7d329927b949bb4a390a602cdc6651aa037aeec559c511ddb9880b6ec4d7cd97b96d82da341509370e412e1b21b799d8c2e SHA512 19ec026bae75318e9ffbe2e619ad2e12ec116382ea88a1064696275afb3fd13e6f08efe497dde79689bfc828f76e27d114ad3a9284b79c8d956a6a85bdac6360
DIST apache-tomcat-10.0.26-src.tar.gz 6153701 BLAKE2B fb16f83cf71dc97f21739c3714d2d3d201aa6b6b4242c351fabfc04ee767e59b6e376c7c8984dcda12d6942835221c55d4451b2d0a1245a2dbb73636c93da47c SHA512 f66387a3ca67b6b3df8504c4ae089e8f30e389811a8d0b7d2241e115b8cf712a38f3d0fea938cef7fa9745f412aa70ad47840e40e2385fbd1435b636e93b45b4
DIST apache-tomcat-10.0.27-src.tar.gz 6154411 BLAKE2B 87a66acacf5443189620af3c8f306e1ae7d8572f9d6ba657379f8a9691c01530e2f1cb17bb1daef5504459480395f4eabdbb626b6da3a879c5a11910029e002b SHA512 ab7c2ae4134ec9652dc0d19343be7d3bf298b1c7a367b51bcceb88f1aaf70ecb45b3a7b9682e2deac70a1e9b00aca974b77110d3363bc5d1c88dc3ae95015e15
DIST apache-tomcat-10.1.0-src.tar.gz 6060833 BLAKE2B 49f36131c1e809b298ac915e671b9f4df55b55c2ba34d21ee3fdeb8759ddaf53a6780b177e8049446079d91186c52669969f30762ddf776d9f8615e527d5a975 SHA512 08323eec0403473fa97f419d7911980c3dfe7b1607a64741bbe972a737dfa70ea04ea80ca9ab28bf72bdde9d24cf8f7161eeb8b194204c777d1628d00c78611c
@@ -9,6 +8,5 @@ DIST apache-tomcat-6.0.53-src.tar.gz 3522914 BLAKE2B 054b097c16861abaa8bdbeba713
DIST apache-tomcat-7.0.109-src.tar.gz 5314401 BLAKE2B 56583caea6879bf8ca5cc02a886de3d7af413032f88d367653e709dc1c8f590e78620c788317bbff4b6e65dd3e242cc26863164ac8e7c87334a22636f3ed0703 SHA512 ecf9c0bee0e3e1aa24f299fe633705c5a2f6aa264d9e4968cfc96aa5d0a425c2b0ff07765a8b6c67221766733bdfaed6e6c6377a8d0870d889e7063ce90a46ce
DIST apache-tomcat-8.5.82-src.tar.gz 6011553 BLAKE2B ea34c0485877ace8c84144f0e75f370c0ac461b5b725d97a07e27014b7a14b1ab88fad4230d4fae60190d7bff3836f691615b57b9f085797477acc69560a57ce SHA512 3e0a0a808fb78493930ce8832731eba4ab3cc440387c3b5226ff6e4ac2faf5fd70eff1560d840d34f14a8acfd7e60fc8b7f638f3dbe0c0ed4569dc4271a9c3f2
DIST apache-tomcat-8.5.83-src.tar.gz 6025934 BLAKE2B 29df8c53819d90abf1b1bda3f5c3e6013c354ee847760849d83a5e7ec4a39688f25cc5f8226fe37c235e717761de123e4e480ae834e8f9f37a5c6b5819b9823d SHA512 26dcb71025ab714a4fc78379aeb026e88d1de1b5c268a4a3f753a122127aa738a9b40b2d743799db70c0364d8eb786f0fe3ec9733e8ccf1f22f88ea34d68318f
-DIST apache-tomcat-9.0.65-src.tar.gz 6195265 BLAKE2B 13ca956b58e9f1831700f67d1fa8883f6471ab6b700b2af169bf284552658a4e9ad4130451b36976af4dd366cc987e228e0b0f98e688cccf577c626dfc78aae7 SHA512 3ff344370cc36f5bed389ed198054783a4f5bc86476a751cda280618457a06bae38c1e764b0c110c2f68efe2d34243a4e24596e8b90e8fbd171bf584a22fd3bc
DIST apache-tomcat-9.0.67-src.tar.gz 6211392 BLAKE2B 273b921ce580be6fb76d8567e5b0aec01b936518875f8470c1cee4b159519f723e606680d9986f61fbbab79cea2d027195f3debe9af59dfac786b0d0566d7c02 SHA512 33319d70c50fde71d163f66dc388ed2d5855aa4f087f7e2259adc27cc7ed30ace079d81e52def43a904c88ac670bb0c71667938b931a214470d77679108914cc
DIST apache-tomcat-9.0.68-src.tar.gz 6212265 BLAKE2B 21a7772c0473c016486b4b90c005b65613e79739cf68eaa0c0a0e83c30016f49921816893f8babe42b462538c47bc776630812526c330e7c6360f02a719574cd SHA512 63bb2c42f683c4c5e362b19bda046de172382714e80298106c61cc728feea9681b568450f04cb95d6cae08e5a71933c7755b9b81b706c46d63f4683c2a3a96be
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild
deleted file mode 100644
index 0d28b0e15cd3..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 5.0/JSP API 3.0/EL API 4.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="5.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild
index acb0d6c5fcea..0d28b0e15cd3 100644
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild
+++ b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="5.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild
deleted file mode 100644
index f1c865a27bec..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 4.0/JSP API 2.3/EL API 3.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="4.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
-
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 5793c086a868..238fde9013d2 100644
Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ
diff --git a/dev-lang/jsonnet/Manifest b/dev-lang/jsonnet/Manifest
index 292efe2ddbd2..930a1961cc27 100644
--- a/dev-lang/jsonnet/Manifest
+++ b/dev-lang/jsonnet/Manifest
@@ -1,2 +1,3 @@
DIST jsonnet-0.18.0.tar.gz 22472162 BLAKE2B 4f931a44b0cbeea0dc7705c28ca49817e2b3abe19ba4fdcd550d5df1ce9ad6b06b1b740a9306d36caa3970c88df9d31700373e4997dd52c6c2219cdd9bf125c1 SHA512 08a64a4b132df1519292378cef93deb3c60d21636b2a71bce6c13e29cfd93cab465cad77e11f000fb984c5c75a4ca1c92504654fd2e5201343df767ea0e610d1
DIST jsonnet-0.19.0.tar.gz 22478380 BLAKE2B 0a1612ca0525342763099e70921181578fcf7ab25c2a3811ffede944953e4ce114f1949642038d6147c96d52193cf701473fab8581d50c3e74036139fbd5c19a SHA512 f4e30d977df7840a4f13c7ba75614badd964a5c4484fb264d7b05d6de04aa2a2d3c4c5161523d6fa6559460ea94b94562b07ea6590a34876545c529474c4b9fa
+DIST jsonnet-0.19.1.tar.gz 22480685 BLAKE2B 7d86bc963f5ced622e91adf015c250b8cae2e817b6af5d60820d8731e04caecc1b2b8142d320414d253ef1fa3558d61aeb1b59480eab0823915d2b15c5d87aab SHA512 21312de71f63f4a74005f563290d67fcc2d220f043291a123af2fc834f4118f8bbc311ea8acc5dd52b13eff8c32f026a5ce6bfe3d88b4c6c770e585dd1f0b688
diff --git a/dev-lang/jsonnet/files/jsonnet-0.14.0-makefile.patch b/dev-lang/jsonnet/files/jsonnet-0.14.0-makefile.patch
deleted file mode 100644
index a6107a4e10cd..000000000000
--- a/dev-lang/jsonnet/files/jsonnet-0.14.0-makefile.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 474655c..89c396c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -31,9 +31,9 @@ OPT ?= -O3
-
- PREFIX ?= /usr/local
-
--CXXFLAGS ?= -g $(OPT) -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC
-+CXXFLAGS += -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC
- CXXFLAGS += -Iinclude -Ithird_party/md5 -Ithird_party/json
--CFLAGS ?= -g $(OPT) -Wall -Wextra -pedantic -std=c99 -fPIC
-+CFLAGS += -Wall -Wextra -pedantic -std=c99 -fPIC
- CFLAGS += -Iinclude
- MAKEDEPENDFLAGS += -Iinclude -Ithird_party/md5 -Ithird_party/json
- EMCXXFLAGS = $(CXXFLAGS) -g0 -Os --memory-init-file 0 -s DISABLE_EXCEPTION_CATCHING=0 -s OUTLINING_LIMIT=10000 -s RESERVED_FUNCTION_POINTERS=20 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1
diff --git a/dev-lang/jsonnet/files/jsonnet-0.18.0-gcc-13.patch b/dev-lang/jsonnet/files/jsonnet-0.18.0-gcc-13.patch
new file mode 100644
index 000000000000..b2adca81a351
--- /dev/null
+++ b/dev-lang/jsonnet/files/jsonnet-0.18.0-gcc-13.patch
@@ -0,0 +1,18 @@
+https://github.com/google/jsonnet/pull/1020
+From: WANG Xuerui
+Date: Thu, 6 Oct 2022 15:04:47 +0800
+Subject: [PATCH] Add #include for gcc-13 builds
+
+See https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes.
+
+This fixes Gentoo bug https://bugs.gentoo.org/875569.
+--- a/include/libjsonnet++.h
++++ b/include/libjsonnet++.h
+@@ -17,6 +17,7 @@ limitations under the License.
+ #ifndef CPP_JSONNET_H_
+ #define CPP_JSONNET_H_
+
++#include
+ #include
+ #include
+ #include