stuff
authorroot <root@admin.liquid.me.uk>
Sun, 16 Jul 2023 01:26:14 +0000 (02:26 +0100)
committerroot <root@admin.liquid.me.uk>
Sun, 16 Jul 2023 01:26:14 +0000 (02:26 +0100)
21 files changed:
dev-libs/boost/boost-1.76.0-r1.ebuild [deleted file]
dev-python/networkx/Manifest [deleted file]
dev-python/networkx/networkx-2.5.ebuild [deleted file]
dev-python/networkx/networkx-2.6.2-r1.ebuild [deleted file]
games-util/simulationcraft/Manifest [new file with mode: 0644]
games-util/simulationcraft/simulationcraft-9999.ebuild [new file with mode: 0644]
media-libs/mesa/Manifest [deleted file]
media-libs/mesa/mesa-20.3.5.ebuild [deleted file]
media-libs/mesa/mesa-21.0.3.ebuild [deleted file]
media-libs/mesa/mesa-21.1.4.ebuild [deleted file]
media-libs/mesa/mesa-21.1.5.ebuild [deleted file]
media-libs/mesa/mesa-9999.ebuild [deleted file]
media-libs/mesa/metadata.xml [deleted file]
net-im/discord-bin/Manifest
net-im/discord-bin/discord-bin-0.0.22.ebuild [new file with mode: 0644]
net-im/discord-bin/discord-bin-0.0.23.ebuild [new file with mode: 0644]
net-im/discord-bin/discord-bin-0.0.24.ebuild [new file with mode: 0644]
net-im/discord/Manifest [new file with mode: 0644]
net-im/discord/discord-0.0.25.ebuild [new file with mode: 0644]
sys-libs/glibc/Manifest [new file with mode: 0644]
sys-libs/glibc/glibc-2.35-r8.ebuild [new file with mode: 0644]

diff --git a/dev-libs/boost/boost-1.76.0-r1.ebuild b/dev-libs/boost/boost-1.76.0-r1.ebuild
deleted file mode 100644 (file)
index 83a1e70..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="$(ver_rs 1- _)"
-MAJOR_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
-S="${WORKDIR}/${PN}_${MY_PV}"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
-REQUIRED_USE="
-       mpi? ( threads )
-       python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
-       !app-admin/eselect-boost
-       !dev-libs/boost-numpy
-       !<dev-libs/leatherman-1.12.0-r1
-       bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
-       icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
-       !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
-       lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
-       mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
-       python? (
-               ${PYTHON_DEPS}
-               numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
-       )
-       zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2"
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
-       "${FILESDIR}"/${PN}-1.71.0-context-x32.patch
-       "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
-       # Boost.MPI's __init__.py doesn't work on Py3
-       "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
-       "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch
-       "${FILESDIR}"/${PN}-1.76-boost-numpy.patch
-       "${FILESDIR}"/${PN}-1.76-sparc-define.patch
-)
-
-python_bindings_needed() {
-       multilib_is_native_abi && use python
-}
-
-tools_needed() {
-       multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
-       local user_config_jam="${BUILD_DIR}"/user-config.jam
-       if [[ -s ${user_config_jam} ]]; then
-               einfo "${user_config_jam} already exists, skipping configuration"
-               return
-       else
-               einfo "Creating configuration in ${user_config_jam}"
-       fi
-
-       local compiler compiler_version compiler_executable="$(tc-getCXX)"
-       if [[ ${CHOST} == *-darwin* ]]; then
-               compiler="darwin"
-               compiler_version="$(gcc-fullversion)"
-       else
-               compiler="gcc"
-               compiler_version="$(gcc-version)"
-       fi
-
-       if use mpi; then
-               local mpi_configuration="using mpi ;"
-       fi
-
-       cat > "${user_config_jam}" <<- __EOF__ || die
-               using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-               ${mpi_configuration}
-       __EOF__
-
-       if python_bindings_needed; then
-               append_to_user_config() {
-                       local py_config
-                       if tc-is-cross-compiler; then
-                               py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
-                       else
-                               py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
-                       fi
-                       echo "${py_config}" >> "${user_config_jam}" || die
-               }
-               python_foreach_impl append_to_user_config
-       fi
-
-       if python_bindings_needed && use numpy; then
-               einfo "Enabling support for NumPy extensions in Boost.Python"
-       else
-               einfo "Disabling support for NumPy extensions in Boost.Python"
-
-               # Boost.Build does not allow for disabling of numpy
-               # extensions, thereby leading to automagic numpy
-               # https://github.com/boostorg/python/issues/111#issuecomment-280447482
-               sed \
-                       -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
-                       -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
-       fi
-}
-
-pkg_setup() {
-       # Bail out on unsupported build configuration, bug #456792
-       if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
-               if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
-                       eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
-                       eerror "Boost can not be built in such configuration."
-                       eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
-                       die "Unsupported target in ${EROOT}/etc/site-config.jam"
-               fi
-       fi
-}
-
-src_prepare() {
-       default
-       multilib_copy_sources
-}
-
-ejam() {
-       create_user-config.jam
-
-       local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
-       if python_bindings_needed; then
-               append_to_b2_opts() {
-                       b2_opts+=( python="${EPYTHON#python}" )
-               }
-               python_foreach_impl append_to_b2_opts
-       else
-               b2_opts+=( --without-python )
-       fi
-       b2_opts+=( "$@" )
-
-       echo b2 "${b2_opts[@]}" >&2
-       b2 "${b2_opts[@]}"
-}
-
-src_configure() {
-       # Workaround for too many parallel processes requested, bug #506064
-       [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
-       OPTIONS=(
-               $(usex debug gentoodebug gentoorelease)
-               "-j$(makeopts_jobs)"
-               -q
-               -d+2
-               pch=off
-               $(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off')
-               $(usex mpi '' '--without-mpi')
-               $(usex nls '' '--without-locale')
-               $(usex context '' '--without-context --without-coroutine --without-fiber')
-               $(usex threads '' '--without-thread')
-               --without-stacktrace
-               --boost-build="${BROOT}"/usr/share/boost-build/src
-               --layout=system
-               # building with threading=single is currently not possible
-               # https://svn.boost.org/trac/boost/ticket/7105
-               threading=multi
-               link=$(usex static-libs shared,static shared)
-               # this seems to be the only way to disable compression algorithms
-               # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
-               -sNO_BZIP2=$(usex bzip2 0 1)
-               -sNO_LZMA=$(usex lzma 0 1)
-               -sNO_ZLIB=$(usex zlib 0 1)
-               -sNO_ZSTD=$(usex zstd 0 1)
-       )
-
-       if [[ ${CHOST} == *-darwin* ]]; then
-               # We need to add the prefix, and in two cases this exceeds, so prepare
-               # for the largest possible space allocation.
-               append-ldflags -Wl,-headerpad_max_install_names
-       fi
-
-       # Use C++14 globally as of 1.62
-       append-cxxflags -std=c++14
-}
-
-multilib_src_compile() {
-       ejam \
-               --prefix="${EPREFIX}"/usr \
-               "${OPTIONS[@]}" || die
-
-       if tools_needed; then
-               pushd tools >/dev/null || die
-               ejam \
-                       --prefix="${EPREFIX}"/usr \
-                       "${OPTIONS[@]}" \
-                       || die "Building of Boost tools failed"
-               popd >/dev/null || die
-       fi
-}
-
-multilib_src_install() {
-       ejam \
-               --prefix="${ED}"/usr \
-               --includedir="${ED}"/usr/include \
-               --libdir="${ED}"/usr/$(get_libdir) \
-               "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
-       pushd "${ED}"/usr/$(get_libdir) >/dev/null || die
-
-       local ext=$(get_libname)
-       if use threads; then
-               local f
-               for f in *${ext}; do
-                       dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
-               done
-       fi
-
-       popd >/dev/null || die
-
-       if tools_needed; then
-               dobin dist/bin/*
-
-               insinto /usr/share
-               doins -r dist/share/boostbook
-       fi
-
-       # boost's build system truely sucks for not having a destdir.  Because for
-       # this reason we are forced to build with a prefix that includes the
-       # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
-       # DESTROOT instread of the actual EPREFIX.  There is no way out of here
-       # but to do it the dirty way of manually setting the right install_names.
-       if [[ ${CHOST} == *-darwin* ]]; then
-               einfo "Working around completely broken build-system(tm)"
-               local d
-               for d in "${ED}"/usr/lib/*.dylib; do
-                       if [[ -f ${d} ]]; then
-                               # fix the "soname"
-                               ebegin "  correcting install_name of ${d#${ED}}"
-                               install_name_tool -id "/${d#${D}}" "${d}"
-                               eend $?
-                               # fix references to other libs
-                               refs=$(otool -XL "${d}" | \
-                                       sed -e '1d' -e 's/^\t//' | \
-                                       grep "^libboost_" | \
-                                       cut -f1 -d' ')
-                               local r
-                               for r in ${refs}; do
-                                       ebegin "    correcting reference to ${r}"
-                                       install_name_tool -change \
-                                               "${r}" \
-                                               "${EPREFIX}/usr/lib/${r}" \
-                                               "${d}"
-                                       eend $?
-                               done
-                       fi
-               done
-       fi
-}
-
-multilib_src_install_all() {
-       if ! use numpy; then
-               rm -r "${ED}"/usr/include/boost/python/numpy* || die
-       fi
-
-       if use python; then
-               if use mpi; then
-                       move_mpi_py_into_sitedir() {
-                               python_moduleinto boost
-                               python_domodule "${S}"/libs/mpi/build/__init__.py
-
-                               python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
-                               rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
-                               python_optimize
-                       }
-                       python_foreach_impl move_mpi_py_into_sitedir
-               else
-                       rm -r "${ED}"/usr/include/boost/mpi/python* || die
-               fi
-       else
-               rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
-       fi
-
-       if ! use nls; then
-               rm -r "${ED}"/usr/include/boost/locale || die
-       fi
-
-       if ! use context; then
-               rm -r "${ED}"/usr/include/boost/context || die
-               rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
-               rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
-       fi
-
-       if use doc; then
-               # find extraneous files that shouldn't be installed
-               # as part of the documentation and remove them.
-               find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
-               find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
-               find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
-               docinto html
-               dodoc *.{htm,html,png,css}
-               dodoc -r doc libs more tools
-
-               # To avoid broken links
-               dodoc LICENSE_1_0.txt
-
-               dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
-       fi
-}
-
-pkg_preinst() {
-       # Yay for having symlinks that are nigh-impossible to remove without
-       # resorting to dirty hacks like these. Removes lingering symlinks
-       # from the slotted versions.
-       local symlink
-       for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
-               if [[ -L ${symlink} ]]; then
-                       rm -f "${symlink}" || die
-               fi
-       done
-
-       # some ancient installs still have boost cruft lying around
-       # for unknown reasons, causing havoc for reverse dependencies
-       # Bug: 607734
-       rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
-       elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
-       elog
-       elog "  undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
-       elog "    <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
-       elog
-       elog "Then you need to recompile Boost and all its reverse dependencies"
-       elog "using the same toolchain. In general, *every* change of the C++ toolchain"
-       elog "requires a complete rebuild of the Boost-dependent ecosystem."
-       elog
-       elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-python/networkx/Manifest b/dev-python/networkx/Manifest
deleted file mode 100644 (file)
index 21a9c7d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST networkx-2.5.tar.gz 1542085 BLAKE2B a4d1d1f65a09f8e7cd830a9e670cf540c19b800dffb90aa1cc6ebda8b6116b6181969382f90339254746a3f277d786020506a3c8f10c90ff48999d3b2c3c433e SHA512 ab51198072d20bdba7c9ceb6856631a20a7e9527a7cadb41271a999f57bf60da5488269c6e4e1f3f4f33420ec6493af665386842c216ea1cfadd1792ccb6444e
-DIST networkx-2.6.2.tar.gz 1842077 BLAKE2B 8493e2d6a64d140b012ea443e9b1dc2409f8208dc1678c1d21cfd19bbdc07df6e9051aefe994d5fa6460db48320d563bb3051150782545ab5f671b7aafda4d0a SHA512 7006dcd209cce79f0f6cac4884797775422bd90fd3e8abb2eee70e6e00c9a25a785dd5856fc1657019a2b5c13a6fa5f705ea2e650c15a1f9d7d93580bc299219
-EBUILD networkx-2.5.ebuild 1330 BLAKE2B fdd9c830b9c946c415fb3054305d6e57f7901cb0792553592563f6324858c62383f85f210eb521062da27c76b2025ac8f399ce8609fb7275e0570abb9c52e715 SHA512 2c26a12b501d5a9cf2815f76b7769a45c60460095e85c4d5043f55b5663337374dfa4aef24bdde10034a46d684888f56b998e8a5534ee99909d70d4b81e148bf
-EBUILD networkx-2.6.2-r1.ebuild 1268 BLAKE2B 4091ec850f71f3a71357ba303d0b27454936be1351c656490525835ed7054e6e409035b5ab759c85e45b7c4c8c1bfbc0a6b59949e6ce582fb49de3e60d0601bc SHA512 24e11e0ed466d543c5f5acfd2c4654f58b721f54ef49fa93b9bab6ece5c1d2efcbba94085cd9eb2fb5886bd545eaf5767c67ab9a92335aae70e3b8186364d989
diff --git a/dev-python/networkx/networkx-2.5.ebuild b/dev-python/networkx/networkx-2.5.ebuild
deleted file mode 100644 (file)
index 4b84379..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="https://networkx.github.io/ https://github.com/networkx/networkx"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="examples extras pandas scipy test xml yaml"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-       >=dev-python/decorator-4.3.0[${PYTHON_USEDEP}]
-       >=dev-python/matplotlib-2.2.2[${PYTHON_USEDEP}]
-       extras? (
-               >=dev-python/pydot-1.2.4[${PYTHON_USEDEP}]
-               $(python_gen_cond_dep '
-                       >=dev-python/pygraphviz-1.5[${PYTHON_USEDEP}]
-                       >=sci-libs/gdal-1.10.0[python,${PYTHON_USEDEP}]
-               ' python3_{6,7,8})
-       )
-       pandas? (
-               >=dev-python/pandas-0.23.3[${PYTHON_USEDEP}]
-       )
-       scipy? ( >=dev-python/scipy-1.1.0[${PYTHON_USEDEP}] )
-       xml? ( >=dev-python/lxml-4.2.3[${PYTHON_USEDEP}] )
-       yaml? ( >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}] )"
-BDEPEND="
-       test? (
-               >=dev-python/scipy-1.1.0[${PYTHON_USEDEP}]
-       )"
-
-distutils_enable_tests pytest
-
-src_test() {
-       virtx distutils-r1_src_test
-}
-
-python_install_all() {
-       use examples && dodoc -r examples
-
-       distutils-r1_python_install_all
-}
diff --git a/dev-python/networkx/networkx-2.6.2-r1.ebuild b/dev-python/networkx/networkx-2.6.2-r1.ebuild
deleted file mode 100644 (file)
index 8c98792..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="https://networkx.org/ https://github.com/networkx/networkx"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="examples extras pandas scipy xml yaml"
-
-RDEPEND="
-       >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
-       >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
-       extras? (
-               >=dev-python/pydot-1.4.1[${PYTHON_USEDEP}]
-               $(python_gen_cond_dep '
-                       >=dev-python/pygraphviz-1.7[${PYTHON_USEDEP}]
-                       >=sci-libs/gdal-1.10.0[python,${PYTHON_USEDEP}]
-               ' python3_{7..9})
-       )
-       xml? ( >=dev-python/lxml-4.5[${PYTHON_USEDEP}] )
-       yaml? ( >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}] )
-    scipy? ( >=dev-python/scipy-1.6.2[${PYTHON_USEDEP}] )
-       pandas? ( >=dev-python/pandas-1.1[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-python_test() {
-       local deselect=()
-       virtx epytest -p no:django ${deselect[@]/#/--deselect }
-}
-
-python_install_all() {
-       use examples && dodoc -r examples
-
-       distutils-r1_python_install_all
-}
diff --git a/games-util/simulationcraft/Manifest b/games-util/simulationcraft/Manifest
new file mode 100644 (file)
index 0000000..99e66ec
--- /dev/null
@@ -0,0 +1 @@
+EBUILD simulationcraft-9999.ebuild 894 BLAKE2B c49a475a575e4f31e0876047196066d270a666072867a0016620678e45b53dbc0617852af4aa181564b9ae0c3b1a8091b17aca03f624db87a422869b5cdce777 SHA512 77b655e8e8253a8b016ebd20b542fb4d953746b3810a84315d42715b0edd23d7cc41901e12d0808fa0da21f91de742dbdaf024758272c5bfd59bb08efd543886
diff --git a/games-util/simulationcraft/simulationcraft-9999.ebuild b/games-util/simulationcraft/simulationcraft-9999.ebuild
new file mode 100644 (file)
index 0000000..37ddd66
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="SimulationCraft is a tool to explore combat mechanics in World of Warcraft"
+HOMEPAGE="https://simulationcraft.org"
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/simulationcraft/simc"
+       EGIT_SUBMODULES=()
+else
+       SRC_URI="https://github.com/simulationcraft/simc/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+REQUIRED_USE=""
+RESTRICT=""
+
+DEPEND="
+       dev-libs/rapidjson
+       dev-libs/libfmt
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_configure() {
+       local mycmakeargs=(
+        -DBUILD_SHARED_LIBS=OFF
+        -DCMAKE_BUILD_TYPE=Release
+        #-DSC_NO_NETWORKING=ON
+        )
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_build
+}
+
+src_install() {
+    cmake_src_install
+}
+
+
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
deleted file mode 100644 (file)
index 920f401..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-DIST mesa-20.3.5.tar.xz 14367412 BLAKE2B 7bad876ce702158e727a752eda6722e7165b497fd3a485dae4e989f22b13288a93f51bcd5e6a69b979f0bbe41599fa237c08f3bbb81cb9c6dc4c06827f8ad5f4 SHA512 481e710ed80d8f215a8d541cfe51b960862c2403c2b9e7e6932c8236b8decb5d478871d6c73559d6d795ada143803764f3a93b2329588c80f62e2e5ec98c78a9
-DIST mesa-21.0.3.tar.xz 14710004 BLAKE2B f2165da4487824931d8ff90e4f13624546a297b0d3577d69b7cfd6078a965282b4a732cb720cbb08ea83a3a987603cfe67876fb18022fa444b011fcc9b7df352 SHA512 4a8aee48a8ea7f32e8aa3bbbd91db26c6053b9a43e62ff88256929e6bc147884f0fef988726b5a3d59d7008663f017c746a0352fd3fcc1c476b8190af4a2531f
-DIST mesa-21.1.4.tar.xz 15254812 BLAKE2B 7ec6177ad4fb6f053553b634c9ff03c5d618d0212fd77c2fda8803197bef529c74ccf3c3ae75a810ba1d57862f08405c6df702e41f6cb0fd202833ce7b9efef0 SHA512 1f4e2d8ba2c3c02bad5468687752d7e87d6e79c4a0e6ec4b2741a57fb270d18ae4712aaa07a9e09a2d3348540f5a26cdbe05464cd52adb8df1e2e28a581b2b53
-DIST mesa-21.1.5.tar.xz 15286704 BLAKE2B 3cf5577e3c47e07ad52460383843e2f9147b76128301c7e993e71d0e84b39b0d968dbb4176b13c283f0e9c9f18823ec001ea39a874e0a5b077c9d573a05486bf SHA512 d9e0e1b6a1d717febee2aa67b06620c9a21e061ea7e594be5b4c382db1ed6f5acf5d13a75a9f2bba9c32621466ebc816708606e16e8b34700d987158fd8f0b7b
-EBUILD mesa-20.3.5.ebuild 14915 BLAKE2B 73f85b8bbbbbbfba3be499ba55ffa2bcdb5e6f860049819502957e803c2760edf3e45ada1f103f58752e77177065ad12d81ea72c36f96c19c6ebc87d1fe03ab9 SHA512 0b1dd3fad90392be514da0d347efe19b35fe82d13ca02d959f56e625d00a9beb917c83c678e7d6ad419dc81b6fc32e0dd8ca6f95f5fd77484872af464f9ae52b
-EBUILD mesa-21.0.3.ebuild 14826 BLAKE2B 1c9793f1dc8b7769406d49d02fcf152c2b21a446972fb754871ec5103ddab1eb93bfc52aed895bbc74b9c7a6743c360d5cbcbc0d1ede2cd28307eb243803a77b SHA512 3b5db1497b6b99412353134139bfd2abac642989d1570d4c8d2172dd82e63aeed6ef1bc1d7ce0c2653288a6c7bd8a6315494ed152deb627fc3eb304a6d5f9be7
-EBUILD mesa-21.1.4.ebuild 14936 BLAKE2B 8cd4c9305cab8084015db25061a5098f1e686e83001f75d25eb2aa9dae82f2c545d3c43d36aa769e46dbd85a555c23b103fb148b2af5957334bfea4435be45eb SHA512 e8a8255ba66aef51e74de4a2490affd4bdf75db8d0e94452d7df2e3cb47052d35f6b4f9865fe3236328a9d8679712277fb3de9ff5c0a6c7f1a895449c4da8b96
-EBUILD mesa-21.1.5.ebuild 14936 BLAKE2B 8cd4c9305cab8084015db25061a5098f1e686e83001f75d25eb2aa9dae82f2c545d3c43d36aa769e46dbd85a555c23b103fb148b2af5957334bfea4435be45eb SHA512 e8a8255ba66aef51e74de4a2490affd4bdf75db8d0e94452d7df2e3cb47052d35f6b4f9865fe3236328a9d8679712277fb3de9ff5c0a6c7f1a895449c4da8b96
-EBUILD mesa-9999.ebuild 14877 BLAKE2B 09baa10ab66a17a1c2ce4f320c2e97843d15a75e1a9e43c74a94fb9ba9bc316f5bd8188c35ccf686823f838e33c9bbcfb6183432d253281eaf1eee17f825142f SHA512 f50d925183fdb79f6494c71ca10e6d409ca7adee1b58eb7ebec50bc4d07f8d34ff4c95d311ab8e2618836342ea70bdfc5232b63b62c6819fc1e64011b5384450
-MISC metadata.xml 1895 BLAKE2B abf62dda9b9eba657e310c68fdd86aaa49c550dc34ef624e8feb038e0412f0da786e1120dc16631399cb2c83961b88e78571347c3e6d464c2cf3a343bc0f1483 SHA512 7758641386100e07c1112afe04a8613de8ae1e35a8e940f0eefcfc7daa829789c42b903320339b04b44c2400f0857c180740407abd171e9773a9f51e3dd9468a
diff --git a/media-libs/mesa/mesa-20.3.5.ebuild b/media-libs/mesa/mesa-20.3.5.ebuild
deleted file mode 100644 (file)
index db637e1..0000000
+++ /dev/null
@@ -1,554 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-OPENGL_DIR="xorg-x11"
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
-       inherit git-r3
-else
-       SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
-       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="
-       !test? ( test )
-"
-
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +llvm
-       lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan
-       vulkan-overlay wayland +X xa xvmc zink +zstd"
-
-REQUIRED_USE="
-       d3d9?   ( dri3 || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       vulkan? ( dri3
-                         video_cards_radeonsi? ( llvm ) )
-       vulkan-overlay? ( vulkan )
-       wayland? ( egl gbm )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( classic )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_iris?   ( gallium )
-       video_cards_lima?   ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_panfrost? ( gallium )
-       video_cards_radeon? ( || ( classic gallium )
-                                                 gallium? ( x86? ( llvm ) amd64? ( llvm ) ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium x86? ( llvm ) amd64? ( llvm ) )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_v3d? ( gallium )
-       video_cards_vc4? ( gallium )
-       video_cards_virgl? ( gallium )
-       video_cards_vivante? ( gallium gbm )
-       video_cards_vmware? ( gallium )
-       xa? ( X )
-       xvmc? ( X )
-       zink? ( gallium vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.100"
-RDEPEND="
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
-       >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
-       gallium? (
-               unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-               llvm? (
-                       video_cards_radeonsi? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_r600? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_radeon? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-               )
-               lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
-               opencl? (
-                                       >=virtual/opencl-3[${MULTILIB_USEDEP}]
-                                       dev-libs/libclc
-                                       virtual/libelf:0=[${MULTILIB_USEDEP}]
-                               )
-               vaapi? (
-                       >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
-               )
-               vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
-               xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       )
-       selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
-       wayland? (
-               >=dev-libs/wayland-1.15.0:=[${MULTILIB_USEDEP}]
-               >=dev-libs/wayland-protocols-1.8
-       )
-       ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
-       video_cards_intel? (
-               !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       )
-       video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] )
-       X? (
-               >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
-               x11-libs/libXfixes:=[${MULTILIB_USEDEP}]
-       )
-       zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-RDEPEND="${RDEPEND}
-       video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="11"
-LLVM_DEPSTR="
-       || (
-               sys-devel/llvm:11[${MULTILIB_USEDEP}]
-               sys-devel/llvm:10[${MULTILIB_USEDEP}]
-       )
-       <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
-       gallium? (
-               llvm? (
-                       opencl? (
-                               video_cards_r600? (
-                                       ${CLANG_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${CLANG_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${CLANG_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${CLANG_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-                       !opencl? (
-                               video_cards_r600? (
-                                       ${LLVM_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${LLVM_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${LLVM_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${LLVM_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-               )
-       )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
-       valgrind? ( dev-util/valgrind )
-       X? (
-               x11-libs/libXrandr[${MULTILIB_USEDEP}]
-               x11-base/xorg-proto
-       )
-"
-BDEPEND="
-       ${PYTHON_DEPS}
-       opencl? (
-               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       virtual/pkgconfig
-       $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
-       wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
-       usr/lib*/libglapi.so.0.0.0
-       usr/lib*/libGLESv1_CM.so.1.1.0
-       usr/lib*/libGLESv2.so.2.0.0
-       usr/lib*/libGL.so.1.2.0
-       usr/lib*/libOSMesa.so.8.0.0
-       usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
-       local flags=${MULTILIB_USEDEP}
-       if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
-       then
-               flags+=",llvm_targets_AMDGPU(-)"
-       fi
-
-       if use opencl; then
-               has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
-       fi
-       has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
-       if use vulkan; then
-               if ! use video_cards_i965 &&
-                  ! use video_cards_iris &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_v3d; then
-                       ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain i965, iris, radeonsi, or v3d"
-               fi
-       fi
-
-       if use opencl; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi; then
-                       ewarn "Ignoring USE=opencl     since VIDEO_CARDS does not contain r600 or radeonsi"
-               fi
-       fi
-
-       if use vaapi; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use vdpau; then
-               if ! use video_cards_r300 &&
-                  ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vdpau      since VIDEO_CARDS does not contain r300, r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use xa; then
-               if ! use video_cards_freedreno &&
-                  ! use video_cards_nouveau &&
-                  ! use video_cards_vmware; then
-                       ewarn "Ignoring USE=xa         since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
-               fi
-       fi
-
-       if use xvmc; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=xvmc       since VIDEO_CARDS does not contain r600 or nouveau"
-               fi
-       fi
-
-       if ! use gallium; then
-               use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium"
-               use llvm       && ewarn "Ignoring USE=llvm       since USE does not contain gallium"
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain gallium"
-               use vaapi      && ewarn "Ignoring USE=vaapi      since USE does not contain gallium"
-               use vdpau      && ewarn "Ignoring USE=vdpau      since USE does not contain gallium"
-               use unwind     && ewarn "Ignoring USE=unwind     since USE does not contain gallium"
-               use xa         && ewarn "Ignoring USE=xa         since USE does not contain gallium"
-               use xvmc       && ewarn "Ignoring USE=xvmc       since USE does not contain gallium"
-       fi
-
-       if ! use llvm; then
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
-       fi
-}
-
-python_check_deps() {
-       has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 459306."
-       fi
-
-       if use video_cards_i965 ||
-          use video_cards_iris ||
-          use video_cards_radeonsi; then
-               if kernel_is -ge 5 11 3; then
-                       CONFIG_CHECK="~KCMP"
-               elif kernel_is -ge 5 11; then
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               elif kernel_is -ge 5 10 20; then
-                       CONFIG_CHECK="~KCMP"
-               else
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               fi
-               linux-info_pkg_setup
-       fi
-
-       if use gallium && use llvm; then
-               llvm_pkg_setup
-       fi
-       python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-       local emesonargs=()
-
-       if use classic; then
-               # Intel code
-               dri_driver_enable video_cards_i915 i915
-               dri_driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       dri_driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               dri_driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               dri_driver_enable video_cards_r100 r100
-               dri_driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                       ! use video_cards_r200; then
-                       dri_driver_enable video_cards_radeon r100 r200
-               fi
-       fi
-
-       local platforms
-       use X && platforms+="x11"
-       use wayland && platforms+=",wayland"
-       emesonargs+=(-Dplatforms=${platforms#,})
-
-       if use X || use egl; then
-               emesonargs+=(-Dglvnd=true)
-       else
-               emesonargs+=(-Dglvnd=false)
-       fi
-
-       if use gallium; then
-               emesonargs+=(
-                       $(meson_feature llvm)
-                       $(meson_feature lm-sensors lmsensors)
-                       $(meson_feature unwind libunwind)
-               )
-
-               if use video_cards_iris ||
-                  use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_use d3d9 gallium-nine))
-               else
-                       emesonargs+=(-Dgallium-nine=false)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vaapi gallium-va))
-                       use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
-               else
-                       emesonargs+=(-Dgallium-va=disabled)
-               fi
-
-               if use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vdpau gallium-vdpau))
-               else
-                       emesonargs+=(-Dgallium-vdpau=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_feature xa gallium-xa))
-               else
-                       emesonargs+=(-Dgallium-xa=disabled)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature xvmc gallium-xvmc))
-               else
-                       emesonargs+=(-Dgallium-xvmc=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_lima ||
-                  use video_cards_panfrost ||
-                  use video_cards_v3d ||
-                  use video_cards_vc4 ||
-                  use video_cards_vivante; then
-                       gallium_enable -- kmsro
-               fi
-
-               gallium_enable video_cards_lima lima
-               gallium_enable video_cards_panfrost panfrost
-               gallium_enable video_cards_v3d v3d
-               gallium_enable video_cards_vc4 vc4
-               gallium_enable video_cards_vivante etnaviv
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable zink zink
-
-               # Only one i915 driver (classic vs gallium). Default to classic.
-               if ! use classic; then
-                       gallium_enable video_cards_i915 i915
-                       if ! use video_cards_i915 && \
-                               ! use video_cards_i965; then
-                               gallium_enable video_cards_intel i915
-                       fi
-               fi
-
-               gallium_enable video_cards_iris iris
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                       ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               gallium_enable video_cards_virgl virgl
-
-               # opencl stuff
-               emesonargs+=(
-                       -Dgallium-opencl="$(usex opencl icd disabled)"
-               )
-       fi
-
-       if use vulkan; then
-               vulkan_enable video_cards_i965 intel
-               vulkan_enable video_cards_iris intel
-               vulkan_enable video_cards_radeonsi amd
-               vulkan_enable video_cards_v3d broadcom
-       fi
-
-       if use gallium; then
-               gallium_enable -- swrast
-               emesonargs+=( -Dosmesa=$(usex osmesa gallium none) )
-       else
-               dri_driver_enable -- swrast
-               emesonargs+=( -Dosmesa=$(usex osmesa classic none) )
-       fi
-
-       driver_list() {
-               local drivers="$(sort -u <<< "${1// /$'\n'}")"
-               echo "${drivers//$'\n'/,}"
-       }
-
-       emesonargs+=(
-               $(meson_use test build-tests)
-               -Dglx=$(usex X dri disabled)
-               -Dshared-glapi=enabled
-               $(meson_feature dri3)
-               $(meson_feature egl)
-               $(meson_feature gbm)
-               $(meson_feature gles1)
-               $(meson_feature gles2)
-               $(meson_use selinux)
-               $(meson_feature zstd)
-               -Dvalgrind=$(usex valgrind auto false)
-               -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-               -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-               -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-               $(meson_use vulkan vulkan-device-select-layer)
-               $(meson_use vulkan-overlay vulkan-overlay-layer)
-               --buildtype $(usex debug debug plain)
-               -Db_ndebug=$(usex debug false true)
-       )
-       meson_src_configure
-}
-
-multilib_src_test() {
-       meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               DRI_DRIVERS+=("$@")
-       fi
-}
-
-gallium_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               GALLIUM_DRIVERS+=("$@")
-       fi
-}
-
-vulkan_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               VULKAN_DRIVERS+=("$@")
-       fi
-}
diff --git a/media-libs/mesa/mesa-21.0.3.ebuild b/media-libs/mesa/mesa-21.0.3.ebuild
deleted file mode 100644 (file)
index 9d8170f..0000000
+++ /dev/null
@@ -1,552 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-OPENGL_DIR="xorg-x11"
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
-       inherit git-r3
-else
-       SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
-       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="
-       !test? ( test )
-"
-
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +llvm
-       lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan
-       vulkan-overlay wayland +X xa xvmc zink +zstd"
-
-REQUIRED_USE="
-       d3d9?   ( dri3 || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       osmesa? ( gallium )
-       vulkan? ( dri3
-                         video_cards_radeonsi? ( llvm ) )
-       vulkan-overlay? ( vulkan )
-       wayland? ( egl gbm )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( classic )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_iris?   ( gallium )
-       video_cards_lima?   ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_panfrost? ( gallium )
-       video_cards_radeon? ( || ( classic gallium )
-                                                 gallium? ( x86? ( llvm ) amd64? ( llvm ) ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium x86? ( llvm ) amd64? ( llvm ) )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_v3d? ( gallium )
-       video_cards_vc4? ( gallium )
-       video_cards_virgl? ( gallium )
-       video_cards_vivante? ( gallium gbm )
-       video_cards_vmware? ( gallium )
-       xa? ( X )
-       xvmc? ( X )
-       zink? ( gallium vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.100"
-RDEPEND="
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
-       >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
-       gallium? (
-               unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-               llvm? (
-                       video_cards_radeonsi? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_r600? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_radeon? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-               )
-               lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
-               opencl? (
-                                       >=virtual/opencl-3[${MULTILIB_USEDEP}]
-                                       dev-libs/libclc
-                                       virtual/libelf:0=[${MULTILIB_USEDEP}]
-                               )
-               vaapi? (
-                       >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
-               )
-               vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
-               xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       )
-       selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
-       wayland? (
-               >=dev-libs/wayland-1.18.0:=[${MULTILIB_USEDEP}]
-               >=dev-libs/wayland-protocols-1.8
-       )
-       ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
-       video_cards_intel? (
-               !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       )
-       video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] )
-       X? (
-               >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
-               x11-libs/libXfixes:=[${MULTILIB_USEDEP}]
-       )
-       zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-RDEPEND="${RDEPEND}
-       video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="11"
-LLVM_DEPSTR="
-       || (
-               sys-devel/llvm:11[${MULTILIB_USEDEP}]
-               sys-devel/llvm:10[${MULTILIB_USEDEP}]
-       )
-       <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
-       gallium? (
-               llvm? (
-                       opencl? (
-                               video_cards_r600? (
-                                       ${CLANG_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${CLANG_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${CLANG_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${CLANG_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-                       !opencl? (
-                               video_cards_r600? (
-                                       ${LLVM_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${LLVM_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${LLVM_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${LLVM_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-               )
-       )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
-       valgrind? ( dev-util/valgrind )
-       X? (
-               x11-libs/libXrandr[${MULTILIB_USEDEP}]
-               x11-base/xorg-proto
-       )
-"
-BDEPEND="
-       ${PYTHON_DEPS}
-       opencl? (
-               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       virtual/pkgconfig
-       $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
-       wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
-       usr/lib*/libglapi.so.0.0.0
-       usr/lib*/libGLESv1_CM.so.1.1.0
-       usr/lib*/libGLESv2.so.2.0.0
-       usr/lib*/libGL.so.1.2.0
-       usr/lib*/libOSMesa.so.8.0.0
-       usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
-       local flags=${MULTILIB_USEDEP}
-       if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
-       then
-               flags+=",llvm_targets_AMDGPU(-)"
-       fi
-
-       if use opencl; then
-               has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
-       fi
-       has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
-       if use vulkan; then
-               if ! use video_cards_i965 &&
-                  ! use video_cards_iris &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_v3d; then
-                       ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain i965, iris, radeonsi, or v3d"
-               fi
-       fi
-
-       if use opencl; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi; then
-                       ewarn "Ignoring USE=opencl     since VIDEO_CARDS does not contain r600 or radeonsi"
-               fi
-       fi
-
-       if use vaapi; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use vdpau; then
-               if ! use video_cards_r300 &&
-                  ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vdpau      since VIDEO_CARDS does not contain r300, r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use xa; then
-               if ! use video_cards_freedreno &&
-                  ! use video_cards_nouveau &&
-                  ! use video_cards_vmware; then
-                       ewarn "Ignoring USE=xa         since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
-               fi
-       fi
-
-       if use xvmc; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=xvmc       since VIDEO_CARDS does not contain r600 or nouveau"
-               fi
-       fi
-
-       if ! use gallium; then
-               use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium"
-               use llvm       && ewarn "Ignoring USE=llvm       since USE does not contain gallium"
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain gallium"
-               use vaapi      && ewarn "Ignoring USE=vaapi      since USE does not contain gallium"
-               use vdpau      && ewarn "Ignoring USE=vdpau      since USE does not contain gallium"
-               use unwind     && ewarn "Ignoring USE=unwind     since USE does not contain gallium"
-               use xa         && ewarn "Ignoring USE=xa         since USE does not contain gallium"
-               use xvmc       && ewarn "Ignoring USE=xvmc       since USE does not contain gallium"
-       fi
-
-       if ! use llvm; then
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
-       fi
-
-       if use osmesa && ! use llvm; then
-               ewarn "OSMesa will be slow without enabling USE=llvm"
-       fi
-}
-
-python_check_deps() {
-       has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 459306."
-       fi
-
-       if use video_cards_i965 ||
-          use video_cards_iris ||
-          use video_cards_radeonsi; then
-               if kernel_is -ge 5 11 3; then
-                       CONFIG_CHECK="~KCMP"
-               elif kernel_is -ge 5 11; then
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               elif kernel_is -ge 5 10 20; then
-                       CONFIG_CHECK="~KCMP"
-               else
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               fi
-               linux-info_pkg_setup
-       fi
-
-       if use gallium && use llvm; then
-               llvm_pkg_setup
-       fi
-       python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-       local emesonargs=()
-
-       if use classic; then
-               # Intel code
-               dri_driver_enable video_cards_i915 i915
-               dri_driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       dri_driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               dri_driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               dri_driver_enable video_cards_r100 r100
-               dri_driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                       ! use video_cards_r200; then
-                       dri_driver_enable video_cards_radeon r100 r200
-               fi
-       fi
-
-       local platforms
-       use X && platforms+="x11"
-       use wayland && platforms+=",wayland"
-       emesonargs+=(-Dplatforms=${platforms#,})
-
-       if use X || use egl; then
-               emesonargs+=(-Dglvnd=true)
-       else
-               emesonargs+=(-Dglvnd=false)
-       fi
-
-       if use gallium; then
-               emesonargs+=(
-                       $(meson_feature llvm)
-                       $(meson_feature lm-sensors lmsensors)
-                       $(meson_feature unwind libunwind)
-               )
-
-               if use video_cards_iris ||
-                  use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_use d3d9 gallium-nine))
-               else
-                       emesonargs+=(-Dgallium-nine=false)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vaapi gallium-va))
-                       use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
-               else
-                       emesonargs+=(-Dgallium-va=disabled)
-               fi
-
-               if use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vdpau gallium-vdpau))
-               else
-                       emesonargs+=(-Dgallium-vdpau=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_feature xa gallium-xa))
-               else
-                       emesonargs+=(-Dgallium-xa=disabled)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature xvmc gallium-xvmc))
-               else
-                       emesonargs+=(-Dgallium-xvmc=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_lima ||
-                  use video_cards_panfrost ||
-                  use video_cards_v3d ||
-                  use video_cards_vc4 ||
-                  use video_cards_vivante; then
-                       gallium_enable -- kmsro
-               fi
-
-               gallium_enable -- swrast
-               gallium_enable video_cards_lima lima
-               gallium_enable video_cards_panfrost panfrost
-               gallium_enable video_cards_v3d v3d
-               gallium_enable video_cards_vc4 vc4
-               gallium_enable video_cards_vivante etnaviv
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable zink zink
-
-               # Only one i915 driver (classic vs gallium). Default to classic.
-               if ! use classic; then
-                       gallium_enable video_cards_i915 i915
-                       if ! use video_cards_i915 && \
-                               ! use video_cards_i965; then
-                               gallium_enable video_cards_intel i915
-                       fi
-               fi
-
-               gallium_enable video_cards_iris iris
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                       ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               gallium_enable video_cards_virgl virgl
-
-               # opencl stuff
-               emesonargs+=(
-                       -Dgallium-opencl="$(usex opencl icd disabled)"
-               )
-       fi
-
-       if use vulkan; then
-               vulkan_enable video_cards_i965 intel
-               vulkan_enable video_cards_iris intel
-               vulkan_enable video_cards_radeonsi amd
-               vulkan_enable video_cards_v3d broadcom
-       fi
-
-       driver_list() {
-               local drivers="$(sort -u <<< "${1// /$'\n'}")"
-               echo "${drivers//$'\n'/,}"
-       }
-
-       emesonargs+=(
-               $(meson_use test build-tests)
-               -Dglx=$(usex X dri disabled)
-               -Dshared-glapi=enabled
-               $(meson_feature dri3)
-               $(meson_feature egl)
-               $(meson_feature gbm)
-               $(meson_feature gles1)
-               $(meson_feature gles2)
-               $(meson_use osmesa)
-               $(meson_use selinux)
-               $(meson_feature zstd)
-               -Dvalgrind=$(usex valgrind auto false)
-               -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-               -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-               -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-               $(meson_use vulkan vulkan-device-select-layer)
-               $(meson_use vulkan-overlay vulkan-overlay-layer)
-               --buildtype $(usex debug debug plain)
-               -Db_ndebug=$(usex debug false true)
-       )
-       meson_src_configure
-}
-
-multilib_src_test() {
-       meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               DRI_DRIVERS+=("$@")
-       fi
-}
-
-gallium_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               GALLIUM_DRIVERS+=("$@")
-       fi
-}
-
-vulkan_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               VULKAN_DRIVERS+=("$@")
-       fi
-}
diff --git a/media-libs/mesa/mesa-21.1.4.ebuild b/media-libs/mesa/mesa-21.1.4.ebuild
deleted file mode 100644 (file)
index df605cb..0000000
+++ /dev/null
@@ -1,556 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-OPENGL_DIR="xorg-x11"
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
-       inherit git-r3
-else
-       SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
-       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="
-       !test? ( test )
-"
-
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +llvm
-       lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan
-       vulkan-overlay wayland +X xa xvmc zink +zstd"
-
-REQUIRED_USE="
-       d3d9?   ( dri3 || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       osmesa? ( gallium )
-       vulkan? ( dri3
-                         video_cards_radeonsi? ( llvm ) )
-       vulkan-overlay? ( vulkan )
-       wayland? ( egl gbm )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( classic )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_iris?   ( gallium )
-       video_cards_lima?   ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_panfrost? ( gallium )
-       video_cards_radeon? ( || ( classic gallium )
-                                                 gallium? ( x86? ( llvm ) amd64? ( llvm ) ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium x86? ( llvm ) amd64? ( llvm ) )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_v3d? ( gallium )
-       video_cards_vc4? ( gallium )
-       video_cards_virgl? ( gallium )
-       video_cards_vivante? ( gallium gbm )
-       video_cards_vmware? ( gallium )
-       xa? ( X )
-       xvmc? ( X )
-       zink? ( gallium vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.105"
-RDEPEND="
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
-       >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
-       gallium? (
-               unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-               llvm? (
-                       video_cards_radeonsi? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_r600? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_radeon? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-               )
-               lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
-               opencl? (
-                                       >=virtual/opencl-3[${MULTILIB_USEDEP}]
-                                       dev-libs/libclc
-                                       virtual/libelf:0=[${MULTILIB_USEDEP}]
-                               )
-               vaapi? (
-                       >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
-               )
-               vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
-               xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       )
-       selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
-       wayland? (
-               >=dev-libs/wayland-1.18.0:=[${MULTILIB_USEDEP}]
-               >=dev-libs/wayland-protocols-1.8
-       )
-       ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
-       video_cards_intel? (
-               !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       )
-       video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] )
-       X? (
-               >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
-               x11-libs/libXfixes:=[${MULTILIB_USEDEP}]
-       )
-       zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-RDEPEND="${RDEPEND}
-       video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="12"
-LLVM_DEPSTR="
-       || (
-               sys-devel/llvm:12[${MULTILIB_USEDEP}]
-               sys-devel/llvm:11[${MULTILIB_USEDEP}]
-               sys-devel/llvm:10[${MULTILIB_USEDEP}]
-       )
-       <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
-       gallium? (
-               llvm? (
-                       opencl? (
-                               video_cards_r600? (
-                                       ${CLANG_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${CLANG_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${CLANG_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${CLANG_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-                       !opencl? (
-                               video_cards_r600? (
-                                       ${LLVM_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${LLVM_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${LLVM_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${LLVM_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-               )
-       )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
-       valgrind? ( dev-util/valgrind )
-       X? (
-               x11-libs/libXrandr[${MULTILIB_USEDEP}]
-               x11-base/xorg-proto
-       )
-"
-BDEPEND="
-       ${PYTHON_DEPS}
-       opencl? (
-               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       virtual/pkgconfig
-       $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
-       wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
-       usr/lib*/libglapi.so.0.0.0
-       usr/lib*/libGLESv1_CM.so.1.1.0
-       usr/lib*/libGLESv2.so.2.0.0
-       usr/lib*/libGL.so.1.2.0
-       usr/lib*/libOSMesa.so.8.0.0
-       usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
-       local flags=${MULTILIB_USEDEP}
-       if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
-       then
-               flags+=",llvm_targets_AMDGPU(-)"
-       fi
-
-       if use opencl; then
-               has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
-       fi
-       has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
-       if use vulkan; then
-               if ! use video_cards_i965 &&
-                  ! use video_cards_iris &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_v3d; then
-                       ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain i965, iris, radeonsi, or v3d"
-               fi
-       fi
-
-       if use opencl; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi; then
-                       ewarn "Ignoring USE=opencl     since VIDEO_CARDS does not contain r600 or radeonsi"
-               fi
-       fi
-
-       if use vaapi; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use vdpau; then
-               if ! use video_cards_r300 &&
-                  ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vdpau      since VIDEO_CARDS does not contain r300, r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use xa; then
-               if ! use video_cards_freedreno &&
-                  ! use video_cards_nouveau &&
-                  ! use video_cards_vmware; then
-                       ewarn "Ignoring USE=xa         since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
-               fi
-       fi
-
-       if use xvmc; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=xvmc       since VIDEO_CARDS does not contain r600 or nouveau"
-               fi
-       fi
-
-       if ! use gallium; then
-               use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium"
-               use llvm       && ewarn "Ignoring USE=llvm       since USE does not contain gallium"
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain gallium"
-               use vaapi      && ewarn "Ignoring USE=vaapi      since USE does not contain gallium"
-               use vdpau      && ewarn "Ignoring USE=vdpau      since USE does not contain gallium"
-               use unwind     && ewarn "Ignoring USE=unwind     since USE does not contain gallium"
-               use xa         && ewarn "Ignoring USE=xa         since USE does not contain gallium"
-               use xvmc       && ewarn "Ignoring USE=xvmc       since USE does not contain gallium"
-       fi
-
-       if ! use llvm; then
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
-       fi
-
-       if use osmesa && ! use llvm; then
-               ewarn "OSMesa will be slow without enabling USE=llvm"
-       fi
-}
-
-python_check_deps() {
-       has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 459306."
-       fi
-
-       if use video_cards_i965 ||
-          use video_cards_iris ||
-          use video_cards_radeonsi; then
-               if kernel_is -ge 5 11 3; then
-                       CONFIG_CHECK="~KCMP"
-               elif kernel_is -ge 5 11; then
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               elif kernel_is -ge 5 10 20; then
-                       CONFIG_CHECK="~KCMP"
-               else
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               fi
-               linux-info_pkg_setup
-       fi
-
-       if use gallium && use llvm; then
-               llvm_pkg_setup
-       fi
-       python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-       local emesonargs=()
-
-       if use classic; then
-               # Intel code
-               dri_driver_enable video_cards_i915 i915
-               dri_driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       dri_driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               dri_driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               dri_driver_enable video_cards_r100 r100
-               dri_driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                       ! use video_cards_r200; then
-                       dri_driver_enable video_cards_radeon r100 r200
-               fi
-       fi
-
-       local platforms
-       use X && platforms+="x11"
-       use wayland && platforms+=",wayland"
-       emesonargs+=(-Dplatforms=${platforms#,})
-
-       if use X || use egl; then
-               emesonargs+=(-Dglvnd=true)
-       else
-               emesonargs+=(-Dglvnd=false)
-       fi
-
-       if use gallium; then
-               emesonargs+=(
-                       $(meson_feature llvm)
-                       $(meson_feature lm-sensors lmsensors)
-                       $(meson_feature unwind libunwind)
-               )
-
-               if use video_cards_iris ||
-                  use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_use d3d9 gallium-nine))
-               else
-                       emesonargs+=(-Dgallium-nine=false)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vaapi gallium-va))
-                       use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
-               else
-                       emesonargs+=(-Dgallium-va=disabled)
-               fi
-
-               if use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vdpau gallium-vdpau))
-               else
-                       emesonargs+=(-Dgallium-vdpau=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_feature xa gallium-xa))
-               else
-                       emesonargs+=(-Dgallium-xa=disabled)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature xvmc gallium-xvmc))
-               else
-                       emesonargs+=(-Dgallium-xvmc=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_lima ||
-                  use video_cards_panfrost ||
-                  use video_cards_v3d ||
-                  use video_cards_vc4 ||
-                  use video_cards_vivante; then
-                       gallium_enable -- kmsro
-               fi
-
-               gallium_enable -- swrast
-               gallium_enable video_cards_lima lima
-               gallium_enable video_cards_panfrost panfrost
-               gallium_enable video_cards_v3d v3d
-               gallium_enable video_cards_vc4 vc4
-               gallium_enable video_cards_vivante etnaviv
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable zink zink
-
-               # Only one i915 driver (classic vs gallium). Default to classic.
-               if ! use classic; then
-                       gallium_enable video_cards_i915 i915
-                       if ! use video_cards_i915 && \
-                               ! use video_cards_i965; then
-                               gallium_enable video_cards_intel i915
-                       fi
-               fi
-
-               gallium_enable video_cards_iris iris
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                       ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               gallium_enable video_cards_virgl virgl
-
-               # opencl stuff
-               emesonargs+=(
-                       -Dgallium-opencl="$(usex opencl icd disabled)"
-               )
-       fi
-
-       if use vulkan; then
-               vulkan_enable video_cards_i965 intel
-               vulkan_enable video_cards_iris intel
-               vulkan_enable video_cards_radeonsi amd
-               vulkan_enable video_cards_v3d broadcom
-       fi
-
-       driver_list() {
-               local drivers="$(sort -u <<< "${1// /$'\n'}")"
-               echo "${drivers//$'\n'/,}"
-       }
-
-       local vulkan_layers
-       use vulkan && vulkan_layers+="device-select"
-       use vulkan-overlay && vulkan_layers+=",overlay"
-       emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
-       emesonargs+=(
-               $(meson_use test build-tests)
-               -Dglx=$(usex X dri disabled)
-               -Dshared-glapi=enabled
-               $(meson_feature dri3)
-               $(meson_feature egl)
-               $(meson_feature gbm)
-               $(meson_feature gles1)
-               $(meson_feature gles2)
-               $(meson_use osmesa)
-               $(meson_use selinux)
-               $(meson_feature zstd)
-               -Dvalgrind=$(usex valgrind auto false)
-               -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-               -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-               -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-               --buildtype $(usex debug debug plain)
-               -Db_ndebug=$(usex debug false true)
-       )
-       meson_src_configure
-}
-
-multilib_src_test() {
-       meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               DRI_DRIVERS+=("$@")
-       fi
-}
-
-gallium_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               GALLIUM_DRIVERS+=("$@")
-       fi
-}
-
-vulkan_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               VULKAN_DRIVERS+=("$@")
-       fi
-}
diff --git a/media-libs/mesa/mesa-21.1.5.ebuild b/media-libs/mesa/mesa-21.1.5.ebuild
deleted file mode 100644 (file)
index df605cb..0000000
+++ /dev/null
@@ -1,556 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-OPENGL_DIR="xorg-x11"
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
-       inherit git-r3
-else
-       SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
-       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="
-       !test? ( test )
-"
-
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +llvm
-       lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan
-       vulkan-overlay wayland +X xa xvmc zink +zstd"
-
-REQUIRED_USE="
-       d3d9?   ( dri3 || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       osmesa? ( gallium )
-       vulkan? ( dri3
-                         video_cards_radeonsi? ( llvm ) )
-       vulkan-overlay? ( vulkan )
-       wayland? ( egl gbm )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( classic )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_iris?   ( gallium )
-       video_cards_lima?   ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_panfrost? ( gallium )
-       video_cards_radeon? ( || ( classic gallium )
-                                                 gallium? ( x86? ( llvm ) amd64? ( llvm ) ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium x86? ( llvm ) amd64? ( llvm ) )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_v3d? ( gallium )
-       video_cards_vc4? ( gallium )
-       video_cards_virgl? ( gallium )
-       video_cards_vivante? ( gallium gbm )
-       video_cards_vmware? ( gallium )
-       xa? ( X )
-       xvmc? ( X )
-       zink? ( gallium vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.105"
-RDEPEND="
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
-       >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
-       gallium? (
-               unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-               llvm? (
-                       video_cards_radeonsi? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_r600? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_radeon? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-               )
-               lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
-               opencl? (
-                                       >=virtual/opencl-3[${MULTILIB_USEDEP}]
-                                       dev-libs/libclc
-                                       virtual/libelf:0=[${MULTILIB_USEDEP}]
-                               )
-               vaapi? (
-                       >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
-               )
-               vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
-               xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       )
-       selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
-       wayland? (
-               >=dev-libs/wayland-1.18.0:=[${MULTILIB_USEDEP}]
-               >=dev-libs/wayland-protocols-1.8
-       )
-       ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
-       video_cards_intel? (
-               !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       )
-       video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] )
-       X? (
-               >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
-               x11-libs/libXfixes:=[${MULTILIB_USEDEP}]
-       )
-       zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-RDEPEND="${RDEPEND}
-       video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="12"
-LLVM_DEPSTR="
-       || (
-               sys-devel/llvm:12[${MULTILIB_USEDEP}]
-               sys-devel/llvm:11[${MULTILIB_USEDEP}]
-               sys-devel/llvm:10[${MULTILIB_USEDEP}]
-       )
-       <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
-       gallium? (
-               llvm? (
-                       opencl? (
-                               video_cards_r600? (
-                                       ${CLANG_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${CLANG_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${CLANG_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${CLANG_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-                       !opencl? (
-                               video_cards_r600? (
-                                       ${LLVM_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${LLVM_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${LLVM_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${LLVM_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-               )
-       )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
-       valgrind? ( dev-util/valgrind )
-       X? (
-               x11-libs/libXrandr[${MULTILIB_USEDEP}]
-               x11-base/xorg-proto
-       )
-"
-BDEPEND="
-       ${PYTHON_DEPS}
-       opencl? (
-               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       virtual/pkgconfig
-       $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
-       wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
-       usr/lib*/libglapi.so.0.0.0
-       usr/lib*/libGLESv1_CM.so.1.1.0
-       usr/lib*/libGLESv2.so.2.0.0
-       usr/lib*/libGL.so.1.2.0
-       usr/lib*/libOSMesa.so.8.0.0
-       usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
-       local flags=${MULTILIB_USEDEP}
-       if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
-       then
-               flags+=",llvm_targets_AMDGPU(-)"
-       fi
-
-       if use opencl; then
-               has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
-       fi
-       has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
-       if use vulkan; then
-               if ! use video_cards_i965 &&
-                  ! use video_cards_iris &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_v3d; then
-                       ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain i965, iris, radeonsi, or v3d"
-               fi
-       fi
-
-       if use opencl; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi; then
-                       ewarn "Ignoring USE=opencl     since VIDEO_CARDS does not contain r600 or radeonsi"
-               fi
-       fi
-
-       if use vaapi; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use vdpau; then
-               if ! use video_cards_r300 &&
-                  ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vdpau      since VIDEO_CARDS does not contain r300, r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use xa; then
-               if ! use video_cards_freedreno &&
-                  ! use video_cards_nouveau &&
-                  ! use video_cards_vmware; then
-                       ewarn "Ignoring USE=xa         since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
-               fi
-       fi
-
-       if use xvmc; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=xvmc       since VIDEO_CARDS does not contain r600 or nouveau"
-               fi
-       fi
-
-       if ! use gallium; then
-               use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium"
-               use llvm       && ewarn "Ignoring USE=llvm       since USE does not contain gallium"
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain gallium"
-               use vaapi      && ewarn "Ignoring USE=vaapi      since USE does not contain gallium"
-               use vdpau      && ewarn "Ignoring USE=vdpau      since USE does not contain gallium"
-               use unwind     && ewarn "Ignoring USE=unwind     since USE does not contain gallium"
-               use xa         && ewarn "Ignoring USE=xa         since USE does not contain gallium"
-               use xvmc       && ewarn "Ignoring USE=xvmc       since USE does not contain gallium"
-       fi
-
-       if ! use llvm; then
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
-       fi
-
-       if use osmesa && ! use llvm; then
-               ewarn "OSMesa will be slow without enabling USE=llvm"
-       fi
-}
-
-python_check_deps() {
-       has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 459306."
-       fi
-
-       if use video_cards_i965 ||
-          use video_cards_iris ||
-          use video_cards_radeonsi; then
-               if kernel_is -ge 5 11 3; then
-                       CONFIG_CHECK="~KCMP"
-               elif kernel_is -ge 5 11; then
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               elif kernel_is -ge 5 10 20; then
-                       CONFIG_CHECK="~KCMP"
-               else
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               fi
-               linux-info_pkg_setup
-       fi
-
-       if use gallium && use llvm; then
-               llvm_pkg_setup
-       fi
-       python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-       local emesonargs=()
-
-       if use classic; then
-               # Intel code
-               dri_driver_enable video_cards_i915 i915
-               dri_driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       dri_driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               dri_driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               dri_driver_enable video_cards_r100 r100
-               dri_driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                       ! use video_cards_r200; then
-                       dri_driver_enable video_cards_radeon r100 r200
-               fi
-       fi
-
-       local platforms
-       use X && platforms+="x11"
-       use wayland && platforms+=",wayland"
-       emesonargs+=(-Dplatforms=${platforms#,})
-
-       if use X || use egl; then
-               emesonargs+=(-Dglvnd=true)
-       else
-               emesonargs+=(-Dglvnd=false)
-       fi
-
-       if use gallium; then
-               emesonargs+=(
-                       $(meson_feature llvm)
-                       $(meson_feature lm-sensors lmsensors)
-                       $(meson_feature unwind libunwind)
-               )
-
-               if use video_cards_iris ||
-                  use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_use d3d9 gallium-nine))
-               else
-                       emesonargs+=(-Dgallium-nine=false)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vaapi gallium-va))
-                       use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
-               else
-                       emesonargs+=(-Dgallium-va=disabled)
-               fi
-
-               if use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vdpau gallium-vdpau))
-               else
-                       emesonargs+=(-Dgallium-vdpau=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_feature xa gallium-xa))
-               else
-                       emesonargs+=(-Dgallium-xa=disabled)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature xvmc gallium-xvmc))
-               else
-                       emesonargs+=(-Dgallium-xvmc=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_lima ||
-                  use video_cards_panfrost ||
-                  use video_cards_v3d ||
-                  use video_cards_vc4 ||
-                  use video_cards_vivante; then
-                       gallium_enable -- kmsro
-               fi
-
-               gallium_enable -- swrast
-               gallium_enable video_cards_lima lima
-               gallium_enable video_cards_panfrost panfrost
-               gallium_enable video_cards_v3d v3d
-               gallium_enable video_cards_vc4 vc4
-               gallium_enable video_cards_vivante etnaviv
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable zink zink
-
-               # Only one i915 driver (classic vs gallium). Default to classic.
-               if ! use classic; then
-                       gallium_enable video_cards_i915 i915
-                       if ! use video_cards_i915 && \
-                               ! use video_cards_i965; then
-                               gallium_enable video_cards_intel i915
-                       fi
-               fi
-
-               gallium_enable video_cards_iris iris
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                       ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               gallium_enable video_cards_virgl virgl
-
-               # opencl stuff
-               emesonargs+=(
-                       -Dgallium-opencl="$(usex opencl icd disabled)"
-               )
-       fi
-
-       if use vulkan; then
-               vulkan_enable video_cards_i965 intel
-               vulkan_enable video_cards_iris intel
-               vulkan_enable video_cards_radeonsi amd
-               vulkan_enable video_cards_v3d broadcom
-       fi
-
-       driver_list() {
-               local drivers="$(sort -u <<< "${1// /$'\n'}")"
-               echo "${drivers//$'\n'/,}"
-       }
-
-       local vulkan_layers
-       use vulkan && vulkan_layers+="device-select"
-       use vulkan-overlay && vulkan_layers+=",overlay"
-       emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
-       emesonargs+=(
-               $(meson_use test build-tests)
-               -Dglx=$(usex X dri disabled)
-               -Dshared-glapi=enabled
-               $(meson_feature dri3)
-               $(meson_feature egl)
-               $(meson_feature gbm)
-               $(meson_feature gles1)
-               $(meson_feature gles2)
-               $(meson_use osmesa)
-               $(meson_use selinux)
-               $(meson_feature zstd)
-               -Dvalgrind=$(usex valgrind auto false)
-               -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-               -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-               -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-               --buildtype $(usex debug debug plain)
-               -Db_ndebug=$(usex debug false true)
-       )
-       meson_src_configure
-}
-
-multilib_src_test() {
-       meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               DRI_DRIVERS+=("$@")
-       fi
-}
-
-gallium_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               GALLIUM_DRIVERS+=("$@")
-       fi
-}
-
-vulkan_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               VULKAN_DRIVERS+=("$@")
-       fi
-}
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
deleted file mode 100644 (file)
index b3ab8d6..0000000
+++ /dev/null
@@ -1,553 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
-       inherit git-r3
-else
-       SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="
-       !test? ( test )
-"
-
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +llvm
-       lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan
-       vulkan-overlay wayland +X xa xvmc zink +zstd"
-
-REQUIRED_USE="
-       d3d9?   ( dri3 || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       osmesa? ( gallium )
-       vulkan? ( dri3
-                         video_cards_radeonsi? ( llvm ) )
-       vulkan-overlay? ( vulkan )
-       wayland? ( egl gbm )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( classic )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_iris?   ( gallium )
-       video_cards_lima?   ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_panfrost? ( gallium )
-       video_cards_radeon? ( || ( classic gallium )
-                                                 gallium? ( x86? ( llvm ) amd64? ( llvm ) ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium x86? ( llvm ) amd64? ( llvm ) )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_v3d? ( gallium )
-       video_cards_vc4? ( gallium )
-       video_cards_virgl? ( gallium )
-       video_cards_vivante? ( gallium gbm )
-       video_cards_vmware? ( gallium )
-       xa? ( X )
-       xvmc? ( X )
-       zink? ( gallium vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.105"
-RDEPEND="
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
-       >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
-       gallium? (
-               unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-               llvm? (
-                       video_cards_radeonsi? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_r600? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-                       video_cards_radeon? (
-                               virtual/libelf:0=[${MULTILIB_USEDEP}]
-                       )
-               )
-               lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
-               opencl? (
-                                       >=virtual/opencl-3[${MULTILIB_USEDEP}]
-                                       dev-libs/libclc
-                                       virtual/libelf:0=[${MULTILIB_USEDEP}]
-                               )
-               vaapi? (
-                       >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
-               )
-               vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
-               xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       )
-       selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
-       wayland? (
-               >=dev-libs/wayland-1.18.0:=[${MULTILIB_USEDEP}]
-               >=dev-libs/wayland-protocols-1.8
-       )
-       ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
-       video_cards_intel? (
-               !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       )
-       video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] )
-       X? (
-               >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-               >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
-               x11-libs/libXfixes:=[${MULTILIB_USEDEP}]
-       )
-       zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
-       zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-RDEPEND="${RDEPEND}
-       video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="12"
-LLVM_DEPSTR="
-       || (
-               sys-devel/llvm:12[${MULTILIB_USEDEP}]
-               sys-devel/llvm:11[${MULTILIB_USEDEP}]
-       )
-       <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
-       gallium? (
-               llvm? (
-                       opencl? (
-                               video_cards_r600? (
-                                       ${CLANG_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${CLANG_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${CLANG_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${CLANG_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-                       !opencl? (
-                               video_cards_r600? (
-                                       ${LLVM_DEPSTR_AMDGPU}
-                               )
-                               !video_cards_r600? (
-                                       video_cards_radeonsi? (
-                                               ${LLVM_DEPSTR_AMDGPU}
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeonsi? (
-                                               video_cards_radeon? (
-                                                       ${LLVM_DEPSTR_AMDGPU}
-                                               )
-                                       )
-                               )
-                               !video_cards_r600? (
-                                       !video_cards_radeon? (
-                                               !video_cards_radeonsi? (
-                                                       ${LLVM_DEPSTR}
-                                               )
-                                       )
-                               )
-                       )
-               )
-       )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
-       valgrind? ( dev-util/valgrind )
-       X? (
-               x11-libs/libXrandr[${MULTILIB_USEDEP}]
-               x11-base/xorg-proto
-       )
-"
-BDEPEND="
-       ${PYTHON_DEPS}
-       opencl? (
-               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       virtual/pkgconfig
-       $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
-       wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
-       usr/lib*/libglapi.so.0.0.0
-       usr/lib*/libGLESv1_CM.so.1.1.0
-       usr/lib*/libGLESv2.so.2.0.0
-       usr/lib*/libGL.so.1.2.0
-       usr/lib*/libOSMesa.so.8.0.0
-       usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
-       local flags=${MULTILIB_USEDEP}
-       if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
-       then
-               flags+=",llvm_targets_AMDGPU(-)"
-       fi
-
-       if use opencl; then
-               has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
-       fi
-       has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
-       if use vulkan; then
-               if ! use video_cards_i965 &&
-                  ! use video_cards_iris &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_v3d; then
-                       ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain i965, iris, radeonsi, or v3d"
-               fi
-       fi
-
-       if use opencl; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi; then
-                       ewarn "Ignoring USE=opencl     since VIDEO_CARDS does not contain r600 or radeonsi"
-               fi
-       fi
-
-       if use vaapi; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use vdpau; then
-               if ! use video_cards_r300 &&
-                  ! use video_cards_r600 &&
-                  ! use video_cards_radeonsi &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=vdpau      since VIDEO_CARDS does not contain r300, r600, radeonsi, or nouveau"
-               fi
-       fi
-
-       if use xa; then
-               if ! use video_cards_freedreno &&
-                  ! use video_cards_nouveau &&
-                  ! use video_cards_vmware; then
-                       ewarn "Ignoring USE=xa         since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
-               fi
-       fi
-
-       if use xvmc; then
-               if ! use video_cards_r600 &&
-                  ! use video_cards_nouveau; then
-                       ewarn "Ignoring USE=xvmc       since VIDEO_CARDS does not contain r600 or nouveau"
-               fi
-       fi
-
-       if ! use gallium; then
-               use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium"
-               use llvm       && ewarn "Ignoring USE=llvm       since USE does not contain gallium"
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain gallium"
-               use vaapi      && ewarn "Ignoring USE=vaapi      since USE does not contain gallium"
-               use vdpau      && ewarn "Ignoring USE=vdpau      since USE does not contain gallium"
-               use unwind     && ewarn "Ignoring USE=unwind     since USE does not contain gallium"
-               use xa         && ewarn "Ignoring USE=xa         since USE does not contain gallium"
-               use xvmc       && ewarn "Ignoring USE=xvmc       since USE does not contain gallium"
-       fi
-
-       if ! use llvm; then
-               use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
-       fi
-
-       if use osmesa && ! use llvm; then
-               ewarn "OSMesa will be slow without enabling USE=llvm"
-       fi
-}
-
-python_check_deps() {
-       has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 459306."
-       fi
-
-       if use video_cards_i965 ||
-          use video_cards_iris ||
-          use video_cards_radeonsi; then
-               if kernel_is -ge 5 11 3; then
-                       CONFIG_CHECK="~KCMP"
-               elif kernel_is -ge 5 11; then
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               elif kernel_is -ge 5 10 20; then
-                       CONFIG_CHECK="~KCMP"
-               else
-                       CONFIG_CHECK="~CHECKPOINT_RESTORE"
-               fi
-               linux-info_pkg_setup
-       fi
-
-       if use gallium && use llvm; then
-               llvm_pkg_setup
-       fi
-       python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
-       local emesonargs=()
-
-       if use classic; then
-               # Intel code
-               dri_driver_enable video_cards_i915 i915
-               dri_driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       dri_driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               dri_driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               dri_driver_enable video_cards_r100 r100
-               dri_driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                       ! use video_cards_r200; then
-                       dri_driver_enable video_cards_radeon r100 r200
-               fi
-       fi
-
-       local platforms
-       use X && platforms+="x11"
-       use wayland && platforms+=",wayland"
-       emesonargs+=(-Dplatforms=${platforms#,})
-
-       if use X || use egl; then
-               emesonargs+=(-Dglvnd=true)
-       else
-               emesonargs+=(-Dglvnd=false)
-       fi
-
-       if use gallium; then
-               emesonargs+=(
-                       $(meson_feature llvm)
-                       $(meson_feature lm-sensors lmsensors)
-                       $(meson_feature unwind libunwind)
-               )
-
-               if use video_cards_iris ||
-                  use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_use d3d9 gallium-nine))
-               else
-                       emesonargs+=(-Dgallium-nine=false)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vaapi gallium-va))
-                       use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
-               else
-                       emesonargs+=(-Dgallium-va=disabled)
-               fi
-
-               if use video_cards_r300 ||
-                  use video_cards_r600 ||
-                  use video_cards_radeonsi ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature vdpau gallium-vdpau))
-               else
-                       emesonargs+=(-Dgallium-vdpau=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_nouveau ||
-                  use video_cards_vmware; then
-                       emesonargs+=($(meson_feature xa gallium-xa))
-               else
-                       emesonargs+=(-Dgallium-xa=disabled)
-               fi
-
-               if use video_cards_r600 ||
-                  use video_cards_nouveau; then
-                       emesonargs+=($(meson_feature xvmc gallium-xvmc))
-               else
-                       emesonargs+=(-Dgallium-xvmc=disabled)
-               fi
-
-               if use video_cards_freedreno ||
-                  use video_cards_lima ||
-                  use video_cards_panfrost ||
-                  use video_cards_v3d ||
-                  use video_cards_vc4 ||
-                  use video_cards_vivante; then
-                       gallium_enable -- kmsro
-               fi
-
-               gallium_enable -- swrast
-               gallium_enable video_cards_lima lima
-               gallium_enable video_cards_panfrost panfrost
-               gallium_enable video_cards_v3d v3d
-               gallium_enable video_cards_vc4 vc4
-               gallium_enable video_cards_vivante etnaviv
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable zink zink
-
-               # Only one i915 driver (classic vs gallium). Default to classic.
-               if ! use classic; then
-                       gallium_enable video_cards_i915 i915
-                       if ! use video_cards_i915 && \
-                               ! use video_cards_i965; then
-                               gallium_enable video_cards_intel i915
-                       fi
-               fi
-
-               gallium_enable video_cards_iris iris
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                       ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               gallium_enable video_cards_virgl virgl
-
-               # opencl stuff
-               emesonargs+=(
-                       -Dgallium-opencl="$(usex opencl icd disabled)"
-               )
-       fi
-
-       if use vulkan; then
-               vulkan_enable video_cards_i965 intel
-               vulkan_enable video_cards_iris intel
-               vulkan_enable video_cards_radeonsi amd
-               vulkan_enable video_cards_v3d broadcom
-       fi
-
-       driver_list() {
-               local drivers="$(sort -u <<< "${1// /$'\n'}")"
-               echo "${drivers//$'\n'/,}"
-       }
-
-       local vulkan_layers
-       use vulkan && vulkan_layers+="device-select"
-       use vulkan-overlay && vulkan_layers+=",overlay"
-       emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
-       emesonargs+=(
-               $(meson_use test build-tests)
-               -Dglx=$(usex X dri disabled)
-               -Dshared-glapi=enabled
-               $(meson_feature dri3)
-               $(meson_feature egl)
-               $(meson_feature gbm)
-               $(meson_feature gles1)
-               $(meson_feature gles2)
-               $(meson_use osmesa)
-               $(meson_use selinux)
-               $(meson_feature zstd)
-               -Dvalgrind=$(usex valgrind auto false)
-               -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")
-               -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-               -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-               --buildtype $(usex debug debug plain)
-               -Db_ndebug=$(usex debug false true)
-       )
-       meson_src_configure
-}
-
-multilib_src_test() {
-       meson_src_test -t 100
-}
-
-# $1 - VIDEO_CARDS flag (check skipped for "--")
-# other args - names of DRI drivers to enable
-dri_driver_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               DRI_DRIVERS+=("$@")
-       fi
-}
-
-gallium_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               GALLIUM_DRIVERS+=("$@")
-       fi
-}
-
-vulkan_enable() {
-       if [[ $1 == -- ]] || use $1; then
-               shift
-               VULKAN_DRIVERS+=("$@")
-       fi
-}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
deleted file mode 100644 (file)
index a2a3def..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-       <maintainer type="project">
-               <email>x11@gentoo.org</email>
-               <name>X11</name>
-       </maintainer>
-       <use>
-               <flag name="classic">Build drivers based on the classic architecture.</flag>
-               <flag name="d3d9">Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine.</flag>
-               <flag name="dri3">Enable DRI3 support.</flag>
-               <flag name="egl">Enable EGL support.</flag>
-               <flag name="gallium">Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.</flag>
-               <flag name="gbm">Enable the Graphics Buffer Manager for EGL on KMS.</flag>
-               <flag name="gles1">Enable GLESv1 support.</flag>
-               <flag name="gles2">Enable GLESv2 support.</flag>
-               <flag name="llvm">Enable LLVM backend for Gallium3D.</flag>
-               <flag name="lm-sensors">Enable Gallium HUD lm-sensors support.</flag>
-               <flag name="opencl">Enable the Clover Gallium OpenCL state tracker.</flag>
-               <flag name="osmesa">Build the Mesa library for off-screen rendering.</flag>
-               <flag name="valgrind">Compile in valgrind memory hints</flag>
-               <flag name="vdpau">Enable the VDPAU acceleration interface for the Gallium3D Video Layer.</flag>
-               <flag name="vulkan">Enable Vulkan drivers</flag>
-               <flag name="vulkan-overlay">Build vulkan-overlay-layer which displays Frames Per Second and other statistics</flag>
-               <flag name="wayland">Enable support for dev-libs/wayland</flag>
-               <flag name="xa">Enable the XA (X Acceleration) API for Gallium3D.</flag>
-               <flag name="xvmc">Enable the XvMC acceleration interface for the Gallium3D Video Layer.</flag>
-               <flag name="zink">Enable the Zink OpenGL-over-Vulkan Gallium driver</flag>
-       </use>
-       <upstream>
-               <remote-id type="cpe">cpe:/a:mesa3d:mesa</remote-id>
-               <remote-id type="sourceforge">mesa3d</remote-id>
-       </upstream>
-</pkgmetadata>
index 5d96af39036eccd4af87af31efa0b8c8fa091865..ccd67672ce241dbd57632bc5ce82fc595313a870 100644 (file)
@@ -1,3 +1,9 @@
 DIST discord-0.0.19.tar.gz 77400663 BLAKE2B 2bfbc32739d7af69f437a54fe75140451cdac68453d8554ccf76b1e12e7118b163465742c8c4e8743d4c7de4e493fcbd313c7cff316514b78e8b7288d5fe3a8c SHA512 5b73f0f968ce61f5a844940e1525da80e7b2ce3779cf2050ca3c2b0b7dbee20f16e2bf203f0673d1e275d1e55075b83eb63700731be8324587b3c58c64d3a0e8
+DIST discord-0.0.22.tar.gz 77553233 BLAKE2B c0c9a5a9b088a3f619f498c345f46f5e43712c353f723427a1ffd95a2a66817e8d5e5298a8290d88df807251cc156db0e26ec1403ed4b3cba241b624d436346b SHA512 96c8486577bee7ae165bf96aab50c0733d83a2d9435357d9a4d9a3e9f3225ae6a7bf46e1a7d8b419ecc7ab4e270755332621a4f786ddb89a842379f5da40b271
+DIST discord-0.0.23.tar.gz 82116322 BLAKE2B 5ed0d4d20d20a5bdb2e5bfc31b0a9c47baeaca976ee0f0861fdb436d89eccd4f5d50df9bd366f996cdbc767ce6d06bddf5992574329c7b5c01b47a9c154a37c4 SHA512 d03b27180c95ca74c93323090ce5c1e4351577d27184cfbf5525439052505ba198fafbd4b1489f97ce4c103bc35d1cfb4cdb1c32fc9c80bc55e2373b7a894a39
+DIST discord-0.0.24.tar.gz 77551317 BLAKE2B 2a0ff44eac145aeadeeebe21ac03a756e5e088cc130ccfcb6a6a7b8040bf7507de49b788047e04cc6c9b1fb799ada6fc0b47a1804c5c910bbf4db362e1b5cb6e SHA512 9e1aa15bc1b1d8ebd2819ba88e7c012c47966d7f150264e732c849d4f15023729f8de4e5a5eb999603fa6102a02313dbf7d178b33cfacca58018dcd214ed4e40
 EBUILD discord-bin-0.0.19.ebuild 3216 BLAKE2B 557715d894b490d4409316877c45c3b04c3e3a5b15306e83a123e5bb4a13fa01c5d67cb3f6152d21e8ebbcd13f3afdf9b0d311c66c9eb5131343e12259fa2b43 SHA512 102f70a49d60bf71add56aae6b857f72b5aec6f76ef83d715ba9bf7363cdd4a77798d549cd53b726f39de478ab9ad5be32de34e1b3b855deee17ddf8c4448951
+EBUILD discord-bin-0.0.22.ebuild 3815 BLAKE2B f80d35014beec420549387e8816846018e76c405208eca94b00321488c08e40e5d77c2023a7eef9964a2de947233be48633cebe62c134b960c347ce8e2edf005 SHA512 ea6e13c461190262108c9e2c974b1dd6da814bdb198791996d94aa821b31054c0fb42b80d0aa68e18da98b9901e82bdab5da7c219c46c1c0a9a7bb1dbdef898e
+EBUILD discord-bin-0.0.23.ebuild 3815 BLAKE2B f80d35014beec420549387e8816846018e76c405208eca94b00321488c08e40e5d77c2023a7eef9964a2de947233be48633cebe62c134b960c347ce8e2edf005 SHA512 ea6e13c461190262108c9e2c974b1dd6da814bdb198791996d94aa821b31054c0fb42b80d0aa68e18da98b9901e82bdab5da7c219c46c1c0a9a7bb1dbdef898e
+EBUILD discord-bin-0.0.24.ebuild 3815 BLAKE2B f80d35014beec420549387e8816846018e76c405208eca94b00321488c08e40e5d77c2023a7eef9964a2de947233be48633cebe62c134b960c347ce8e2edf005 SHA512 ea6e13c461190262108c9e2c974b1dd6da814bdb198791996d94aa821b31054c0fb42b80d0aa68e18da98b9901e82bdab5da7c219c46c1c0a9a7bb1dbdef898e
 MISC metadata.xml 401 BLAKE2B bfadde60f5ced8839f9268c03217b5908e6f5cf4ecf3069cbca236b1d8f7c56a3a887655a4afebc74f18cc11584079620828ebe15b9e2ee6879730d90fc603e7 SHA512 77bc1c0db6255f39790b7a9a87dabcec7352142f341b9d7a41c7e073118a7613948e63f65dad9ec672f6ed5026188cdbf1b09cb4073ff67c49ddac3fff2301dd
diff --git a/net-im/discord-bin/discord-bin-0.0.22.ebuild b/net-im/discord-bin/discord-bin-0.0.22.ebuild
new file mode 100644 (file)
index 0000000..e006e6c
--- /dev/null
@@ -0,0 +1,151 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_LANGS="
+       am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+       hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+       sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop linux-info optfeature unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discordapp.com"
+SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip test"
+IUSE="+seccomp system-ffmpeg"
+
+RDEPEND="
+               || (
+                       >=app-accessibility/at-spi2-core-2.46.0:2
+                       ( app-accessibility/at-spi2-atk dev-libs/atk )
+               )
+       app-crypt/libsecret
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/nspr
+       dev-libs/nss
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/mesa[gbm(+)]
+       net-print/cups
+       sys-apps/dbus
+       sys-apps/util-linux
+       sys-libs/glibc
+       x11-libs/cairo
+       x11-libs/libdrm
+       x11-libs/gdk-pixbuf:2
+       x11-libs/gtk+:3
+       x11-libs/libX11
+       x11-libs/libXScrnSaver
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libxcb
+       x11-libs/libxkbcommon
+       x11-libs/libxshmfence
+       x11-libs/pango
+       system-ffmpeg? ( media-video/ffmpeg[chromium] )
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="
+       ${DESTDIR#/}/${MY_PN^}
+       ${DESTDIR#/}/chrome-sandbox
+       ${DESTDIR#/}/libffmpeg.so
+       ${DESTDIR#/}/libvk_swiftshader.so
+       ${DESTDIR#/}/libvulkan.so
+       ${DESTDIR#/}/libEGL.so
+       ${DESTDIR#/}/libGLESv2.so
+       ${DESTDIR#/}/libVkICD_mock_icd.so
+       ${DESTDIR#/}/swiftshader/libEGL.so
+       ${DESTDIR#/}/swiftshader/libGLESv2.so
+       ${DESTDIR#/}/swiftshader/libvk_swiftshader.so
+"
+
+CONFIG_CHECK="~USER_NS"
+
+S="${WORKDIR}/${MY_PN^}"
+
+src_unpack() {
+       unpack ${MY_PN}-${MY_PV}.tar.gz
+}
+
+src_configure() {
+       default
+       chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+       default
+       # remove post-install script
+       rm postinst.sh || die "the removal of the unneeded post-install script failed"
+       # cleanup languages
+       pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+       chromium_remove_language_paks
+       popd >/dev/null || die "location reset for language cleanup failed"
+       # fix .desktop exec location
+       sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+               "${MY_PN}.desktop" ||
+               die "fixing of exec location on .desktop failed"
+       # USE seccomp
+       if ! use seccomp; then
+               sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+                       "${MY_PN}.desktop" ||
+                       die "sed failed for seccomp"
+       fi
+       # USE system-ffmpeg
+       if use system-ffmpeg; then
+               rm libffmpeg.so || die
+               elog "Using system ffmpeg. This is experimental and may lead to crashes."
+       fi
+}
+
+src_install() {
+       doicon -s 256 "${MY_PN}.png"
+
+       # install .desktop file
+       domenu "${MY_PN}.desktop"
+
+       exeinto "${DESTDIR}"
+
+       doexe "${MY_PN^}" chrome-sandbox libEGL.so libGLESv2.so libvk_swiftshader.so
+
+       if use system-ffmpeg; then
+               dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "${DESTDIR}/libffmpeg.so" || die
+       else
+               doexe libffmpeg.so
+       fi
+
+       insinto "${DESTDIR}"
+       doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+       insopts -m0755
+       doins -r locales resources swiftshader
+
+       # Chrome-sandbox requires the setuid bit to be specifically set.
+       # see https://github.com/electron/electron/issues/17972
+       fowners root "${DESTDIR}/chrome-sandbox"
+       fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+       dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       optfeature "sound support" \
+               media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+       optfeature "system tray support" dev-libs/libappindicator
+}
diff --git a/net-im/discord-bin/discord-bin-0.0.23.ebuild b/net-im/discord-bin/discord-bin-0.0.23.ebuild
new file mode 100644 (file)
index 0000000..e006e6c
--- /dev/null
@@ -0,0 +1,151 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_LANGS="
+       am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+       hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+       sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop linux-info optfeature unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discordapp.com"
+SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip test"
+IUSE="+seccomp system-ffmpeg"
+
+RDEPEND="
+               || (
+                       >=app-accessibility/at-spi2-core-2.46.0:2
+                       ( app-accessibility/at-spi2-atk dev-libs/atk )
+               )
+       app-crypt/libsecret
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/nspr
+       dev-libs/nss
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/mesa[gbm(+)]
+       net-print/cups
+       sys-apps/dbus
+       sys-apps/util-linux
+       sys-libs/glibc
+       x11-libs/cairo
+       x11-libs/libdrm
+       x11-libs/gdk-pixbuf:2
+       x11-libs/gtk+:3
+       x11-libs/libX11
+       x11-libs/libXScrnSaver
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libxcb
+       x11-libs/libxkbcommon
+       x11-libs/libxshmfence
+       x11-libs/pango
+       system-ffmpeg? ( media-video/ffmpeg[chromium] )
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="
+       ${DESTDIR#/}/${MY_PN^}
+       ${DESTDIR#/}/chrome-sandbox
+       ${DESTDIR#/}/libffmpeg.so
+       ${DESTDIR#/}/libvk_swiftshader.so
+       ${DESTDIR#/}/libvulkan.so
+       ${DESTDIR#/}/libEGL.so
+       ${DESTDIR#/}/libGLESv2.so
+       ${DESTDIR#/}/libVkICD_mock_icd.so
+       ${DESTDIR#/}/swiftshader/libEGL.so
+       ${DESTDIR#/}/swiftshader/libGLESv2.so
+       ${DESTDIR#/}/swiftshader/libvk_swiftshader.so
+"
+
+CONFIG_CHECK="~USER_NS"
+
+S="${WORKDIR}/${MY_PN^}"
+
+src_unpack() {
+       unpack ${MY_PN}-${MY_PV}.tar.gz
+}
+
+src_configure() {
+       default
+       chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+       default
+       # remove post-install script
+       rm postinst.sh || die "the removal of the unneeded post-install script failed"
+       # cleanup languages
+       pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+       chromium_remove_language_paks
+       popd >/dev/null || die "location reset for language cleanup failed"
+       # fix .desktop exec location
+       sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+               "${MY_PN}.desktop" ||
+               die "fixing of exec location on .desktop failed"
+       # USE seccomp
+       if ! use seccomp; then
+               sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+                       "${MY_PN}.desktop" ||
+                       die "sed failed for seccomp"
+       fi
+       # USE system-ffmpeg
+       if use system-ffmpeg; then
+               rm libffmpeg.so || die
+               elog "Using system ffmpeg. This is experimental and may lead to crashes."
+       fi
+}
+
+src_install() {
+       doicon -s 256 "${MY_PN}.png"
+
+       # install .desktop file
+       domenu "${MY_PN}.desktop"
+
+       exeinto "${DESTDIR}"
+
+       doexe "${MY_PN^}" chrome-sandbox libEGL.so libGLESv2.so libvk_swiftshader.so
+
+       if use system-ffmpeg; then
+               dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "${DESTDIR}/libffmpeg.so" || die
+       else
+               doexe libffmpeg.so
+       fi
+
+       insinto "${DESTDIR}"
+       doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+       insopts -m0755
+       doins -r locales resources swiftshader
+
+       # Chrome-sandbox requires the setuid bit to be specifically set.
+       # see https://github.com/electron/electron/issues/17972
+       fowners root "${DESTDIR}/chrome-sandbox"
+       fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+       dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       optfeature "sound support" \
+               media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+       optfeature "system tray support" dev-libs/libappindicator
+}
diff --git a/net-im/discord-bin/discord-bin-0.0.24.ebuild b/net-im/discord-bin/discord-bin-0.0.24.ebuild
new file mode 100644 (file)
index 0000000..e006e6c
--- /dev/null
@@ -0,0 +1,151 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_LANGS="
+       am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+       hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+       sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop linux-info optfeature unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discordapp.com"
+SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip test"
+IUSE="+seccomp system-ffmpeg"
+
+RDEPEND="
+               || (
+                       >=app-accessibility/at-spi2-core-2.46.0:2
+                       ( app-accessibility/at-spi2-atk dev-libs/atk )
+               )
+       app-crypt/libsecret
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/nspr
+       dev-libs/nss
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/mesa[gbm(+)]
+       net-print/cups
+       sys-apps/dbus
+       sys-apps/util-linux
+       sys-libs/glibc
+       x11-libs/cairo
+       x11-libs/libdrm
+       x11-libs/gdk-pixbuf:2
+       x11-libs/gtk+:3
+       x11-libs/libX11
+       x11-libs/libXScrnSaver
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libxcb
+       x11-libs/libxkbcommon
+       x11-libs/libxshmfence
+       x11-libs/pango
+       system-ffmpeg? ( media-video/ffmpeg[chromium] )
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="
+       ${DESTDIR#/}/${MY_PN^}
+       ${DESTDIR#/}/chrome-sandbox
+       ${DESTDIR#/}/libffmpeg.so
+       ${DESTDIR#/}/libvk_swiftshader.so
+       ${DESTDIR#/}/libvulkan.so
+       ${DESTDIR#/}/libEGL.so
+       ${DESTDIR#/}/libGLESv2.so
+       ${DESTDIR#/}/libVkICD_mock_icd.so
+       ${DESTDIR#/}/swiftshader/libEGL.so
+       ${DESTDIR#/}/swiftshader/libGLESv2.so
+       ${DESTDIR#/}/swiftshader/libvk_swiftshader.so
+"
+
+CONFIG_CHECK="~USER_NS"
+
+S="${WORKDIR}/${MY_PN^}"
+
+src_unpack() {
+       unpack ${MY_PN}-${MY_PV}.tar.gz
+}
+
+src_configure() {
+       default
+       chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+       default
+       # remove post-install script
+       rm postinst.sh || die "the removal of the unneeded post-install script failed"
+       # cleanup languages
+       pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+       chromium_remove_language_paks
+       popd >/dev/null || die "location reset for language cleanup failed"
+       # fix .desktop exec location
+       sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+               "${MY_PN}.desktop" ||
+               die "fixing of exec location on .desktop failed"
+       # USE seccomp
+       if ! use seccomp; then
+               sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+                       "${MY_PN}.desktop" ||
+                       die "sed failed for seccomp"
+       fi
+       # USE system-ffmpeg
+       if use system-ffmpeg; then
+               rm libffmpeg.so || die
+               elog "Using system ffmpeg. This is experimental and may lead to crashes."
+       fi
+}
+
+src_install() {
+       doicon -s 256 "${MY_PN}.png"
+
+       # install .desktop file
+       domenu "${MY_PN}.desktop"
+
+       exeinto "${DESTDIR}"
+
+       doexe "${MY_PN^}" chrome-sandbox libEGL.so libGLESv2.so libvk_swiftshader.so
+
+       if use system-ffmpeg; then
+               dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "${DESTDIR}/libffmpeg.so" || die
+       else
+               doexe libffmpeg.so
+       fi
+
+       insinto "${DESTDIR}"
+       doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+       insopts -m0755
+       doins -r locales resources swiftshader
+
+       # Chrome-sandbox requires the setuid bit to be specifically set.
+       # see https://github.com/electron/electron/issues/17972
+       fowners root "${DESTDIR}/chrome-sandbox"
+       fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+       dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       optfeature "sound support" \
+               media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+       optfeature "system tray support" dev-libs/libappindicator
+}
diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest
new file mode 100644 (file)
index 0000000..d2a7980
--- /dev/null
@@ -0,0 +1,2 @@
+DIST discord-0.0.25.tar.gz 77709937 BLAKE2B 48617283675866b3ec8e8e7000800897fc8532ced4329a59561826d1eb018106ff4d499b5a3620ab3d557970f066f0e973211f9eb32f2566130298bd41abff57 SHA512 21a3e6dff2fd33fe0cd5b1c9c340cbeebc6fd214d9f0be8c05ac9faad2f287d17726bd45bebb4ecebe90533da20f501ad1156ac8097318d7545f78811ebe1224
+EBUILD discord-0.0.25.ebuild 3135 BLAKE2B 3846812d50c2dd8e14be01e5ed085bc31fcfe4eefa397210ab0d392bc86ad8ed1535d4d6ea0c92ccc23c89358ae2340a74e5a2f0dd9418037cc8e5375eeb76af SHA512 d2d5936dde95bad9d3ed31b5afc987f812cd8c85429392be3cecc6ccc4d622965b6e8efa69234262add2a7a96e6014020aefb1dd3db46ea8cab634ee62239ec8
diff --git a/net-im/discord/discord-0.0.25.ebuild b/net-im/discord/discord-0.0.25.ebuild
new file mode 100644 (file)
index 0000000..65e97d3
--- /dev/null
@@ -0,0 +1,128 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_VERSION="102"
+CHROMIUM_LANGS="
+       am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+       hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+       sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop linux-info optfeature unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discordapp.com"
+SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip test"
+IUSE="+seccomp"
+
+RDEPEND="
+               || (
+                       >=app-accessibility/at-spi2-core-2.46.0:2
+                       ( app-accessibility/at-spi2-atk dev-libs/atk )
+               )
+       app-crypt/libsecret
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/nspr
+       dev-libs/nss
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/mesa[gbm(+)]
+       net-print/cups
+       sys-apps/dbus
+       sys-apps/util-linux
+       sys-libs/glibc
+       x11-libs/cairo
+       x11-libs/libdrm
+       x11-libs/gdk-pixbuf:2
+       x11-libs/gtk+:3
+       x11-libs/libX11
+       x11-libs/libXScrnSaver
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libxcb
+       x11-libs/libxkbcommon
+       x11-libs/libxshmfence
+       x11-libs/pango
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="~USER_NS"
+
+S="${WORKDIR}/${MY_PN^}"
+
+src_unpack() {
+       unpack ${MY_PN}-${MY_PV}.tar.gz
+}
+
+src_configure() {
+       default
+       chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+       default
+       # remove post-install script
+       rm postinst.sh || die "the removal of the unneeded post-install script failed"
+       # cleanup languages
+       pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+       chromium_remove_language_paks
+       popd >/dev/null || die "location reset for language cleanup failed"
+       # fix .desktop exec location
+       sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+               "${MY_PN}.desktop" ||
+               die "fixing of exec location on .desktop failed"
+       # USE seccomp
+       if ! use seccomp; then
+               sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+                       "${MY_PN}.desktop" ||
+                       die "sed failed for seccomp"
+       fi
+}
+
+src_install() {
+       doicon -s 256 "${MY_PN}.png"
+
+       # install .desktop file
+       domenu "${MY_PN}.desktop"
+
+       exeinto "${DESTDIR}"
+
+       doexe "${MY_PN^}" chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
+
+       insinto "${DESTDIR}"
+       doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+       insopts -m0755
+       doins -r locales resources swiftshader
+
+       # Chrome-sandbox requires the setuid bit to be specifically set.
+       # see https://github.com/electron/electron/issues/17972
+       fowners root "${DESTDIR}/chrome-sandbox"
+       fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+       dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       optfeature "sound support" \
+               media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+       optfeature "system tray support" dev-libs/libappindicator
+}
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
new file mode 100644 (file)
index 0000000..ecfea6c
--- /dev/null
@@ -0,0 +1,7 @@
+DIST gcc-multilib-bootstrap-20201208.tar.xz 5528452 BLAKE2B 16699a6e4df5b2f28a21776ae9e3728b26a9ea251f5580aa5349545ad7c9f6145b9cb6a12ca8f5f96b9cb2a3c70b7e66ca702e4c6f083ac00408e0a20a69e613 SHA512 a243f505e17d0a7e144e8713c077582412f61d6cf7f79baa846de4fb77f5e0f27e11c9a785e14624e04ac52287b32164e7995323aa11caef59113ac438254347
+DIST glibc-2.35-loongarch-patches-20220522.tar.xz 44728 BLAKE2B 09e7a061f3269ebd763cd700f7c23e6cd7aab738d87ee31f76a81281920c4e5e207964c79104cd75f0a2e07b77344c2a730a9063344aa1483cd3d9aeac87de40 SHA512 21f13892fb52ec753856d5559b032c2be3a76d1cf940127222f7aa878548ce7e6ea0d2ff8791ddb91aaa2b77ce17131cd2fb2ebbdaa99443bf0a6b4c81f7388d
+DIST glibc-2.35-patches-9.tar.xz 183612 BLAKE2B 921664953ed39560ab850754209dbda1f71fbcc5bcc9ec21c187385ea659b90ea055e60961eca266ab3cc81213ed04747aa925dd96a352676fa19d2e63306968 SHA512 24c9ecb6ad890c95bc0e7db3e0c1f20768c728ac0590450fad05aed578623bc33d256d2c4d14a8d8e5c5e9fed7acfab3683053d236f51886cd5a6de93f925ddc
+DIST glibc-2.35.tar.xz 18165952 BLAKE2B 623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063 SHA512 e7336ce27561be5d7c217832a1136fb327e057bd8d3f92925b35c97e3e9f9e486948b5a1e03e5e4090772ef06437a074d10b82e68f17f1ad8f22077ee39e1b66
+DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
+DIST locale-gen-2.22.tar.gz 7971 BLAKE2B 2dc66fa69bf51799d0c34459b654fba6998b80a7e322e9b670036c967e269ad921f50195e6e34c4a83c1f0bad191fd5aa3f37defb82271b73acbca07b7e49d08 SHA512 9798b10dbbc792345a7b7a121dec5f4bba9839a8aec010f01a09f3402fd5bf2376f79e03a6a19bc357010db780037a8811c381136ce19be1f1370374906dff38
+EBUILD glibc-2.35-r8.ebuild 49261 BLAKE2B b072cb1c2ec02336efcd93bb9c83fa9dc2d504d664e284b3cc57b7407fd29e6e1cc15c14a2196f94f27c52a0b32698fcd07e1a9dda0a13e873b1d60cad14d5e6 SHA512 5fcbefd1cb1db3d75103b1301ddf3ffddb241c6f526dec11640b41f3bba38c44e75d1296aca525b43faa2bd67e3e4cc4e0cb6936aa6272475793c8c5b7e02c76
diff --git a/sys-libs/glibc/glibc-2.35-r8.ebuild b/sys-libs/glibc/glibc-2.35-r8.ebuild
new file mode 100644 (file)
index 0000000..7f9f710
--- /dev/null
@@ -0,0 +1,1604 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
+# Please read & adapt the page as necessary if obsolete.
+
+PYTHON_COMPAT=( python3_{8..11} )
+TMPFILES_OPTIONAL=1
+
+inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
+       multilib systemd multiprocessing tmpfiles
+
+DESCRIPTION="GNU libc C library"
+HOMEPAGE="https://www.gnu.org/software/libc/"
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+SLOT="2.2"
+
+EMULTILIB_PKG="true"
+
+# Gentoo patchset (ignored for live ebuilds)
+PATCH_VER=9
+PATCH_DEV=dilfridge
+
+if [[ ${PV} == 9999* ]]; then
+       inherit git-r3
+else
+       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
+       SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
+       SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+       SRC_URI+=" experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/glibc-2.35-loongarch-patches-20220522.tar.xz )"
+fi
+
+RELEASE_VER=${PV}
+
+GCC_BOOTSTRAP_VER=20201208
+
+LOCALE_GEN_VER=2.22
+
+GLIBC_SYSTEMD_VER=20210729
+
+SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
+SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
+
+IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc experimental-loong gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+# Minimum pax-utils version needed (which contains any new syscall changes for
+# its seccomp filter!). Please double check this!
+MIN_PAX_UTILS_VER="1.3.3"
+
+# Here's how the cross-compile logic breaks down ...
+#  CTARGET - machine that will target the binaries
+#  CHOST   - machine that will host the binaries
+#  CBUILD  - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+#  CBUILD = CHOST = CTARGET    - native build/install
+#  CBUILD != (CHOST = CTARGET) - cross-compile a native build
+#  (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+#  CBUILD != CHOST != CTARGET  - cross-compile a libc for a cross-compiler
+# For install paths:
+#  CHOST = CTARGET  - install into /
+#  CHOST != CTARGET - install into /usr/CTARGET/
+#
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+       if [[ ${CATEGORY} == cross-* ]] ; then
+               export CTARGET=${CATEGORY#cross-}
+       fi
+fi
+
+# Note [Disable automatic stripping]
+# Disabling automatic stripping for a few reasons:
+# - portage's attempt to strip breaks non-native binaries at least on
+#   arm: bug #697428
+# - portage's attempt to strip libpthread.so.0 breaks gdb thread
+#   enumeration: bug #697910. This is quite subtle:
+#   * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
+#   * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
+#     via 'ps_pglobal_lookup' symbol defined in gdb.
+#   * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
+#     known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
+#     (unexported) is used to sanity check compatibility before enabling
+#     debugging.
+#     Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
+#   * normal 'strip' command trims '.symtab'
+#   Thus our main goal here is to prevent 'libpthread.so.0' from
+#   losing it's '.symtab' entries.
+# As Gentoo's strip does not allow us to pass less aggressive stripping
+# options and does not check the machine target we strip selectively.
+
+# We need a new-enough binutils/gcc to match upstream baseline.
+# Also we need to make sure our binutils/gcc supports TLS,
+# and that gcc already contains the hardened patches.
+# Lastly, let's avoid some openssh nastiness, bug 708224, as
+# convenience to our users.
+
+# gzip, grep, awk are needed by locale-gen, bug 740750
+
+BDEPEND="
+       ${PYTHON_DEPS}
+       >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+       sys-devel/bison
+       doc? ( sys-apps/texinfo )
+       !compile-locales? (
+               app-arch/gzip
+               sys-apps/grep
+               virtual/awk
+       )
+"
+COMMON_DEPEND="
+       gd? ( media-libs/gd:2= )
+       nscd? ( selinux? (
+               audit? ( sys-process/audit )
+               caps? ( sys-libs/libcap )
+       ) )
+       suid? ( caps? ( sys-libs/libcap ) )
+       selinux? ( sys-libs/libselinux )
+       systemtap? ( dev-util/systemtap )
+"
+DEPEND="${COMMON_DEPEND}
+       compile-locales? (
+               app-arch/gzip
+               sys-apps/grep
+               virtual/awk
+       )
+       test? ( >=net-dns/libidn2-2.3.0 )
+"
+RDEPEND="${COMMON_DEPEND}
+       app-arch/gzip
+       sys-apps/grep
+       virtual/awk
+       sys-apps/gentoo-functions
+       !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+       !<net-misc/openssh-8.1_p1-r2
+"
+
+RESTRICT="!test? ( test )"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+       BDEPEND+=" !headers-only? (
+               >=${CATEGORY}/binutils-2.27
+               >=${CATEGORY}/gcc-6.2
+       )"
+       [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+       BDEPEND+="
+               >=sys-devel/binutils-2.27
+               >=sys-devel/gcc-6.2
+       "
+       DEPEND+=" virtual/os-headers "
+       RDEPEND+="
+               >=net-dns/libidn2-2.3.0
+               vanilla? ( !sys-libs/timezone-data )
+       "
+       PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
+fi
+
+# Ignore tests whitelisted below
+GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
+
+# The following tests fail due to the Gentoo build system and are thus
+# executed but ignored:
+XFAIL_TEST_LIST=(
+       # buggy test, assumes /dev/ and /dev/null on a single filesystem
+       # 'mount --bind /dev/null /chroot/dev/null' breaks it.
+       # https://sourceware.org/PR25909
+       tst-support_descriptors
+
+       # The following tests fail only inside portage
+       # https://bugs.gentoo.org/831267
+       tst-system
+       tst-strerror
+       tst-strsignal
+)
+
+#
+# Small helper functions
+#
+
+is_crosscompile() {
+       [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+       is_crosscompile && use headers-only
+}
+
+alt_prefix() {
+       is_crosscompile && echo /usr/${CTARGET}
+}
+
+# This prefix is applicable to CHOST when building against this
+# glibc. It is baked into the library at configure time.
+host_eprefix() {
+       is_crosscompile || echo "${EPREFIX}"
+}
+
+# This prefix is applicable to CBUILD when building against this
+# glibc. It determines the destination path at install time.
+build_eprefix() {
+       is_crosscompile && echo "${EPREFIX}"
+}
+
+# We need to be able to set alternative headers for compiling for non-native
+# platform. Will also become useful for testing kernel-headers without screwing
+# up the whole system.
+alt_headers() {
+       echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
+}
+
+alt_build_headers() {
+       if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
+               ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
+               if tc-is-cross-compiler ; then
+                       ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
+                       if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
+                               local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
+                               ALT_BUILD_HEADERS=${header_path%/linux/version.h}
+                       fi
+               fi
+       fi
+       echo "${ALT_BUILD_HEADERS}"
+}
+
+alt_libdir() {
+       echo $(alt_prefix)/$(get_libdir)
+}
+alt_usrlibdir() {
+       echo $(alt_prefix)/usr/$(get_libdir)
+}
+
+builddir() {
+       echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
+}
+
+do_compile_test() {
+       local ret save_cflags=${CFLAGS}
+       CFLAGS+=" $1"
+       shift
+
+       pushd "${T}" >/dev/null
+
+       rm -f glibc-test*
+       printf '%b' "$*" > glibc-test.c
+
+       # We assume CC is already set up.
+       nonfatal emake glibc-test
+       ret=$?
+
+       popd >/dev/null
+
+       CFLAGS=${save_cflags}
+       return ${ret}
+}
+
+do_run_test() {
+       local ret
+
+       if [[ ${MERGE_TYPE} == "binary" ]] ; then
+               # ignore build failures when installing a binary package #324685
+               do_compile_test "" "$@" 2>/dev/null || return 0
+       else
+               if ! do_compile_test "" "$@" ; then
+                       ewarn "Simple build failed ... assuming this is desired #324685"
+                       return 0
+               fi
+       fi
+
+       pushd "${T}" >/dev/null
+
+       ./glibc-test
+       ret=$?
+       rm -f glibc-test*
+
+       popd >/dev/null
+
+       return ${ret}
+}
+
+setup_target_flags() {
+       # This largely mucks with compiler flags.  None of which should matter
+       # when building up just the headers.
+       just_headers && return 0
+
+       case $(tc-arch) in
+               x86)
+                       # -march needed for #185404 #199334
+                       # TODO: When creating the first glibc cross-compile, this test will
+                       # always fail as it does a full link which in turn requires glibc.
+                       # Probably also applies when changing multilib profile settings (e.g.
+                       # enabling x86 when the profile was amd64-only previously).
+                       # We could change main to _start and pass -nostdlib here so that we
+                       # only test the gcc code compilation.  Or we could do a compile and
+                       # then look for the symbol via scanelf.
+                       if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
+                               local t=${CTARGET_OPT:-${CTARGET}}
+                               t=${t%%-*}
+                               filter-flags '-march=*'
+                               export CFLAGS="-march=${t} ${CFLAGS}"
+                               einfo "Auto adding -march=${t} to CFLAGS #185404"
+                       fi
+                       # For compatibility with older binaries at slight performance cost.
+                       use stack-realign && export CFLAGS+=" -mstackrealign"
+               ;;
+               amd64)
+                       # -march needed for #185404 #199334
+                       # TODO: See cross-compile issues listed above for x86.
+                       if [[ ${ABI} == x86 ]]; then
+                               if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
+                                       local t=${CTARGET_OPT:-${CTARGET}}
+                                       t=${t%%-*}
+                                       # Normally the target is x86_64-xxx, so turn that into the -march that
+                                       # gcc actually accepts. #528708
+                                       [[ ${t} == "x86_64" ]] && t="x86-64"
+                                       filter-flags '-march=*'
+                                       # ugly, ugly, ugly.  ugly.
+                                       CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
+                                       export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
+                                       einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
+                               fi
+                               # For compatibility with older binaries at slight performance cost.
+                               use stack-realign && export CFLAGS_x86+=" -mstackrealign"
+                       fi
+               ;;
+               mips)
+                       # The mips abi cannot support the GNU style hashes. #233233
+                       filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
+               ;;
+               ppc|ppc64)
+                       # Many arch-specific implementations do not work on ppc with
+                       # cache-block not equal to 128 bytes. This breaks memset:
+                       #   https://sourceware.org/PR26522
+                       #   https://bugs.gentoo.org/737996
+                       # Use default -mcpu=. For ppc it means non-multiarch setup.
+                       filter-flags '-mcpu=*'
+               ;;
+               sparc)
+                       # Both sparc and sparc64 can use -fcall-used-g6.  -g7 is bad, though.
+                       filter-flags "-fcall-used-g7"
+                       append-flags "-fcall-used-g6"
+
+                       local cpu
+                       case ${CTARGET} in
+                       sparc64-*)
+                               cpu="sparc64"
+                               case $(get-flag mcpu) in
+                               v9)
+                                       # We need to force at least v9a because the base build doesn't
+                                       # work with just v9.
+                                       # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
+                                       append-flags "-Wa,-xarch=v9a"
+                                       ;;
+                               esac
+                               ;;
+                       sparc-*)
+                               case $(get-flag mcpu) in
+                               v8|supersparc|hypersparc|leon|leon3)
+                                       cpu="sparcv8"
+                                       ;;
+                               *)
+                                       cpu="sparcv9"
+                                       ;;
+                               esac
+                       ;;
+                       esac
+                       [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
+               ;;
+       esac
+}
+
+setup_flags() {
+       # Make sure host make.conf doesn't pollute us
+       if is_crosscompile || tc-is-cross-compiler ; then
+               CHOST=${CTARGET} strip-unsupported-flags
+       fi
+
+       # Store our CFLAGS because it's changed depending on which CTARGET
+       # we are building when pulling glibc on a multilib profile
+       CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
+       CFLAGS=${CFLAGS_BASE}
+       CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
+       CXXFLAGS=${CXXFLAGS_BASE}
+       ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
+       ASFLAGS=${ASFLAGS_BASE}
+
+       # Allow users to explicitly avoid flag sanitization via
+       # USE=custom-cflags.
+       if ! use custom-cflags; then
+               # Over-zealous CFLAGS can often cause problems.  What may work for one
+               # person may not work for another.  To avoid a large influx of bugs
+               # relating to failed builds, we strip most CFLAGS out to ensure as few
+               # problems as possible.
+               strip-flags
+               # Lock glibc at -O2; we want to be conservative here.
+               filter-flags '-O?'
+               append-flags -O2
+       fi
+
+       strip-unsupported-flags
+       filter-flags -m32 -m64 '-mabi=*'
+
+       # glibc aborts if rpath is set by LDFLAGS
+       filter-ldflags '-Wl,-rpath=*'
+
+       # ld can't use -r & --relax at the same time, bug #788901
+       # https://sourceware.org/PR27837
+       filter-ldflags '-Wl,--relax'
+
+       # #492892
+       filter-flags -frecord-gcc-switches
+
+       # #829583
+       filter-lfs-flags
+
+       unset CBUILD_OPT CTARGET_OPT
+       if use multilib ; then
+               CTARGET_OPT=$(get_abi_CTARGET)
+               [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
+       fi
+
+       setup_target_flags
+
+       if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
+               CBUILD_OPT=${CTARGET_OPT}
+       fi
+
+       # glibc's headers disallow -O0 and fail at build time:
+       #  include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
+       replace-flags -O0 -O1
+
+       filter-flags '-fstack-protector*'
+
+       # See end of bug #830454; we handle this via USE=cet
+       filter-flags '-fcf-protection='
+}
+
+use_multiarch() {
+       # Allow user to disable runtime arch detection in multilib.
+       use multiarch || return 1
+       # Make sure binutils is new enough to support indirect functions,
+       # #336792. This funky sed supports gold and bfd linkers.
+       local bver nver
+       bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
+       case $(tc-arch ${CTARGET}) in
+       amd64|x86) nver="2.20" ;;
+       arm)       nver="2.22" ;;
+       hppa)      nver="2.23" ;;
+       ppc|ppc64) nver="2.20" ;;
+       # ifunc support was added in 2.23, but glibc also needs
+       # machinemode which is in 2.24.
+       s390)      nver="2.24" ;;
+       sparc)     nver="2.21" ;;
+       *)         return 1 ;;
+       esac
+       ver_test ${bver} -ge ${nver}
+}
+
+# Setup toolchain variables that had historically been defined in the
+# profiles for these archs.
+setup_env() {
+       # silly users
+       unset LD_RUN_PATH
+       unset LD_ASSUME_KERNEL
+
+       if is_crosscompile || tc-is-cross-compiler ; then
+               multilib_env ${CTARGET_OPT:-${CTARGET}}
+
+               if ! use multilib ; then
+                       MULTILIB_ABIS=${DEFAULT_ABI}
+               else
+                       MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
+               fi
+
+               # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
+               # and fall back on CFLAGS.
+               local VAR=CFLAGS_${CTARGET//[-.]/_}
+               CFLAGS=${!VAR-${CFLAGS}}
+               einfo " $(printf '%15s' 'Manual CFLAGS:')   ${CFLAGS}"
+       fi
+
+       setup_flags
+
+       export ABI=${ABI:-${DEFAULT_ABI:-default}}
+
+       if just_headers ; then
+               # Avoid mixing host's CC and target's CFLAGS_${ABI}:
+               # At this bootstrap stage we have only binutils for
+               # target but not compiler yet.
+               einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
+               return 0
+       fi
+
+       # Glibc does not work with gold (for various reasons) #269274.
+       tc-ld-disable-gold
+
+       if use doc ; then
+               export MAKEINFO=makeinfo
+       else
+               export MAKEINFO=/dev/null
+       fi
+
+       # Reset CC and CXX to the value at start of emerge
+       export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
+       export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
+
+       # and make sure __ORIC_CC and __ORIG_CXX is defined now.
+       export __ORIG_CC=${CC}
+       export __ORIG_CXX=${CXX}
+
+       if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
+
+               # If we are running in an otherwise clang/llvm environment, we need to
+               # recover the proper gcc and binutils settings here, at least until glibc
+               # is finally building with clang. So let's override everything that is
+               # set in the clang profiles.
+               # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
+               # a good start into that direction.
+               # Also, if you're crosscompiling, let's assume you know what you are doing.
+               # Hopefully.
+               # Last, we need the settings of the *build* environment, not of the
+               # target environment...
+
+               local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
+               local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
+               einfo "Overriding clang configuration, since it won't work here"
+
+               export CC="${current_gcc_path}/gcc"
+               export CXX="${current_gcc_path}/g++"
+               export LD="${current_binutils_path}/ld.bfd"
+               export AR="${current_binutils_path}/ar"
+               export AS="${current_binutils_path}/as"
+               export NM="${current_binutils_path}/nm"
+               export STRIP="${current_binutils_path}/strip"
+               export RANLIB="${current_binutils_path}/ranlib"
+               export OBJCOPY="${current_binutils_path}/objcopy"
+               export STRINGS="${current_binutils_path}/strings"
+               export OBJDUMP="${current_binutils_path}/objdump"
+               export READELF="${current_binutils_path}/readelf"
+               export ADDR2LINE="${current_binutils_path}/addr2line"
+
+               # do we need to also do flags munging here? yes! at least...
+               filter-flags '-fuse-ld=*'
+               filter-flags '-D_FORTIFY_SOURCE=*'
+
+       else
+
+               # this is the "normal" case
+
+               export CC="$(tc-getCC ${CTARGET})"
+               export CXX="$(tc-getCXX ${CTARGET})"
+
+               # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
+               # can't detect them automatically due to ${CHOST} mismatch and fallbacks
+               # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
+               export NM="$(tc-getNM ${CTARGET})"
+               export READELF="$(tc-getREADELF ${CTARGET})"
+
+       fi
+
+       # We need to export CFLAGS with abi information in them because glibc's
+       # configure script checks CFLAGS for some targets (like mips).  Keep
+       # around the original clean value to avoid appending multiple ABIs on
+       # top of each other. (Why does the comment talk about CFLAGS if the code
+       # acts on CC?)
+       export __GLIBC_CC=${CC}
+       export __GLIBC_CXX=${CXX}
+
+       export __abi_CFLAGS="$(get_abi_CFLAGS)"
+
+       # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
+       # To build .S (assembly) files with the same ABI-specific flags
+       # upstream currently recommends adding CFLAGS to CC/CXX:
+       #    https://sourceware.org/PR23273
+       # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
+       # and breaks multiarch support. See 659030#c3 for an example.
+       # The glibc configure script doesn't properly use LDFLAGS all the time.
+       export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
+
+       # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+       export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}"
+
+       if is_crosscompile; then
+               # Assume worst-case bootstrap: glibc is buil first time
+               # when ${CTARGET}-g++ is not available yet. We avoid
+               # building auxiliary programs that require C++: bug #683074
+               # It should not affect final result.
+               export libc_cv_cxx_link_ok=no
+               # The line above has the same effect. We set CXX explicitly
+               # to make build logs less confusing.
+               export CXX=
+       fi
+}
+
+foreach_abi() {
+       setup_env
+
+       local ret=0
+       local abilist=""
+       if use multilib ; then
+               abilist=$(get_install_abis)
+       else
+               abilist=${DEFAULT_ABI}
+       fi
+       local -x ABI
+       for ABI in ${abilist:-default} ; do
+               setup_env
+               einfo "Running $1 for ABI ${ABI}"
+               $1
+               : $(( ret |= $? ))
+       done
+       return ${ret}
+}
+
+glibc_banner() {
+       local b="Gentoo ${PVR}"
+       [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
+       echo "${b}"
+}
+
+# The following Kernel version handling functions are mostly copied from portage
+# source. It's better not to use linux-info.eclass here since a) it adds too
+# much magic, see bug 326693 for some of the arguments, and b) some of the
+# functions are just not provided.
+
+g_get_running_KV() {
+       uname -r
+       return $?
+}
+
+g_KV_major() {
+       [[ -z $1 ]] && return 1
+       local KV=$@
+       echo "${KV%%.*}"
+}
+
+g_KV_minor() {
+       [[ -z $1 ]] && return 1
+       local KV=$@
+       KV=${KV#*.}
+       echo "${KV%%.*}"
+}
+
+g_KV_micro() {
+       [[ -z $1 ]] && return 1
+       local KV=$@
+       KV=${KV#*.*.}
+       echo "${KV%%[^[:digit:]]*}"
+}
+
+g_KV_to_int() {
+       [[ -z $1 ]] && return 1
+       local KV_MAJOR=$(g_KV_major "$1")
+       local KV_MINOR=$(g_KV_minor "$1")
+       local KV_MICRO=$(g_KV_micro "$1")
+       local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
+
+       # We make version 2.2.0 the minimum version we will handle as
+       # a sanity check ... if its less, we fail ...
+       if [[ ${KV_int} -ge 131584 ]] ; then
+               echo "${KV_int}"
+               return 0
+       fi
+       return 1
+}
+
+g_int_to_KV() {
+       local version=$1 major minor micro
+       major=$((version / 65536))
+       minor=$(((version % 65536) / 256))
+       micro=$((version % 256))
+       echo ${major}.${minor}.${micro}
+}
+
+eend_KV() {
+       [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
+       eend $?
+}
+
+get_kheader_version() {
+       printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
+       $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
+       tail -n 1
+}
+
+# We collect all sanity checks here. Consistency is not guranteed between
+# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
+# src_unpack.
+sanity_prechecks() {
+       # Prevent native builds from downgrading
+       if [[ ${MERGE_TYPE} != "buildonly" ]] && \
+          [[ -z ${ROOT} ]] && \
+          [[ ${CBUILD} == ${CHOST} ]] && \
+          [[ ${CHOST} == ${CTARGET} ]] ; then
+
+               # The high rev # is to allow people to downgrade between -r#
+               # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
+               # should be fine. Hopefully we never actually use a r# this
+               # high.
+               if has_version ">${CATEGORY}/${P}-r10000" ; then
+                       eerror "Sanity check to keep you from breaking your system:"
+                       eerror " Downgrading glibc is not supported and a sure way to destruction."
+                       [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
+               fi
+
+               if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
+                       eerror "Your old kernel is broken. You need to update it to a newer"
+                       eerror "version as syscall(<bignum>) will break. See bug 279260."
+                       die "Old and broken kernel."
+               fi
+       fi
+
+       # Users have had a chance to phase themselves, time to give em the boot
+       if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
+               eerror "You still haven't deleted ${EROOT}/etc/locales.build."
+               eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
+               die "Lazy upgrader detected"
+       fi
+
+       if [[ ${CTARGET} == i386-* ]] ; then
+               eerror "i386 CHOSTs are no longer supported."
+               eerror "Chances are you don't actually want/need i386."
+               eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
+               die "Please fix your CHOST"
+       fi
+
+       if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
+               ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
+               ewarn "This will result in a 50% performance penalty when running with a 32bit"
+               ewarn "hypervisor, which is probably not what you want."
+       fi
+
+       # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
+       # we test for...
+       if ! is_crosscompile ; then
+               if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
+                       ebegin "Checking that IA32 emulation is enabled in the running kernel"
+                       echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
+                       local STAT
+                       if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
+                               "${T}/check-ia32-emulation.elf32"
+                               STAT=$?
+                       else
+                               # Don't fail here to allow single->multi ABI switch
+                               # or recover from breakage like bug #646424
+                               ewarn "Failed to compile the ABI test. Broken host glibc?"
+                               STAT=0
+                       fi
+                       rm -f "${T}/check-ia32-emulation.elf32"
+                       eend $STAT
+                       [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
+               fi
+
+       fi
+
+       # When we actually have to compile something...
+       if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
+               if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
+                       # bug #833620, bug #643302
+                       eerror "Found ${ESYSROOT}/usr/lib/include directory!"
+                       eerror "This is known to break glibc's build."
+                       eerror "Please backup its contents then remove the directory."
+                       die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
+               fi
+
+               if [[ ${CTARGET} == *-linux* ]] ; then
+                       local run_kv build_kv want_kv
+
+                       run_kv=$(g_get_running_KV)
+                       build_kv=$(g_int_to_KV $(get_kheader_version))
+                       want_kv=${MIN_KERN_VER}
+
+                       if ! is_crosscompile && ! tc-is-cross-compiler ; then
+                               # Building fails on an non-supporting kernel
+                               ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
+                               if ! eend_KV ${run_kv} ${want_kv} ; then
+                                       echo
+                                       eerror "You need a kernel of at least ${want_kv}!"
+                                       die "Kernel version too low!"
+                               fi
+                       fi
+
+                       ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
+                       if ! eend_KV ${build_kv} ${want_kv} ; then
+                               echo
+                               eerror "You need linux-headers of at least ${want_kv}!"
+                               die "linux-headers version too low!"
+                       fi
+               fi
+       fi
+}
+
+upgrade_warning() {
+       if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
+               local oldv newv=$(ver_cut 1-2 ${PV})
+               for oldv in ${REPLACING_VERSIONS}; do
+                       if ver_test ${oldv} -lt ${newv}; then
+                               ewarn "After upgrading glibc, please restart all running processes."
+                               ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
+                               ewarn "Alternatively, reboot your system."
+                               ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
+                               break
+                       fi
+               done
+       fi
+}
+
+#
+# the phases
+#
+
+# pkg_pretend
+
+pkg_pretend() {
+       upgrade_warning
+}
+
+pkg_setup() {
+       # see bug 682570
+       [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
+}
+
+# src_unpack
+
+src_unpack() {
+       setup_env
+
+       einfo "Checking general environment sanity."
+       sanity_prechecks
+
+       use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+       if [[ ${PV} == 9999* ]] ; then
+               EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
+               EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+               git-r3_src_unpack
+               mv patches-git/9999 patches || die
+
+               EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
+               EGIT_CHECKOUT_DIR=${S}
+               git-r3_src_unpack
+       else
+               unpack ${P}.tar.xz
+
+               cd "${WORKDIR}" || die
+               unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
+               use experimental-loong && unpack glibc-2.35-loongarch-patches-20220522.tar.xz
+       fi
+
+       cd "${WORKDIR}" || die
+       unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
+       use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
+}
+
+src_prepare() {
+       local patchsetname
+       if ! use vanilla ; then
+               if [[ ${PV} == 9999* ]] ; then
+                       patchsetname="from git master"
+               else
+                       patchsetname="${RELEASE_VER}-${PATCH_VER}"
+               fi
+               einfo "Applying Gentoo Glibc Patchset ${patchsetname}"
+               eapply "${WORKDIR}"/patches
+               einfo "Done."
+
+               if use experimental-loong ; then
+                       einfo "Applying experimental LoongArch patchset"
+                       eapply "${WORKDIR}"/loongarch-2.35
+                       einfo "Done."
+               fi
+       fi
+
+       if use clone3 ; then
+               append-cppflags -DGENTOO_USE_CLONE3
+       else
+               # See e.g. bug #827386, bug #819045.
+               elog "Disabling the clone3 syscall for compatibility with older Electron apps."
+               elog "Please re-enable this flag before filing bugs!"
+       fi
+
+       default
+
+       gnuconfig_update
+
+       cd "${WORKDIR}"
+       find . -name configure -exec touch {} +
+
+       # move the external locale-gen to its old place
+       mkdir extra || die
+       mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
+
+       eprefixify extra/locale/locale-gen
+
+       # Fix permissions on some of the scripts.
+       chmod u+x "${S}"/scripts/*.sh
+
+       cd "${S}"
+}
+
+glibc_do_configure() {
+
+       local v
+       for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
+               einfo " $(printf '%15s' ${v}:)   ${!v}"
+       done
+
+       echo
+       local myconf=()
+
+       # Use '=strong' instead of '=all' to protect only functions
+       # worth protecting from stack smashes.
+       myconf+=( --enable-stack-protector=$(usex ssp strong no) )
+
+       # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
+       # is not robust enough to detect proper support:
+       #    https://bugs.gentoo.org/641216
+       #    https://sourceware.org/PR22634#c0
+       case $(tc-arch ${CTARGET}) in
+               # Keep whitelist of targets where autodetection mostly works.
+               amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;;
+               # Blacklist everywhere else
+               *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
+       esac
+
+       # Enable Intel Control-flow Enforcement Technology on amd64 if requested
+       case ${CTARGET} in
+               x86_64-*) myconf+=( $(use_enable cet) ) ;;
+               *) ;;
+       esac
+
+       [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
+
+       myconf+=( --enable-kernel=${MIN_KERN_VER} )
+
+       # Since SELinux support is only required for nscd, only enable it if:
+       # 1. USE selinux
+       # 2. only for the primary ABI on multilib systems
+       # 3. Not a crosscompile
+       if ! is_crosscompile && use selinux ; then
+               if use multilib ; then
+                       if is_final_abi ; then
+                               myconf+=( --with-selinux )
+                       else
+                               myconf+=( --without-selinux )
+                       fi
+               else
+                       myconf+=( --with-selinux )
+               fi
+       else
+               myconf+=( --without-selinux )
+       fi
+
+       # Force a few tests where we always know the answer but
+       # configure is incapable of finding it.
+       if is_crosscompile ; then
+               export \
+                       libc_cv_c_cleanup=yes \
+                       libc_cv_forced_unwind=yes
+       fi
+
+       myconf+=(
+               --disable-werror
+               --enable-bind-now
+               --build=${CBUILD_OPT:-${CBUILD}}
+               --host=${CTARGET_OPT:-${CTARGET}}
+               $(use_enable profile)
+               $(use_with gd)
+               --with-headers=$(build_eprefix)$(alt_build_headers)
+               --prefix="$(host_eprefix)/usr"
+               --sysconfdir="$(host_eprefix)/etc"
+               --localstatedir="$(host_eprefix)/var"
+               --libdir='$(prefix)'/$(get_libdir)
+               --mandir='$(prefix)'/share/man
+               --infodir='$(prefix)'/share/info
+               --libexecdir='$(libdir)'/misc/glibc
+               --with-bugurl=https://bugs.gentoo.org/
+               --with-pkgversion="$(glibc_banner)"
+               $(use_enable crypt)
+               $(use_multiarch || echo --disable-multi-arch)
+               $(use_enable systemtap)
+               $(use_enable nscd)
+
+               # locale data is arch-independent
+               # https://bugs.gentoo.org/753740
+               libc_cv_complocaledir='${exec_prefix}/lib/locale'
+
+               # -march= option tricks build system to infer too
+               # high ISA level: https://sourceware.org/PR27318
+               libc_cv_include_x86_isa_level=no
+               # Explicit override of https://sourceware.org/PR27991
+               # exposes a bug in glibc's configure:
+               # https://sourceware.org/PR27991
+               libc_cv_have_x86_lahf_sahf=no
+               libc_cv_have_x86_movbe=no
+
+               ${EXTRA_ECONF}
+       )
+
+       # We rely on sys-libs/timezone-data for timezone tools normally.
+       myconf+=( $(use_enable vanilla timezone-tools) )
+
+       # These libs don't have configure flags.
+       ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
+       ac_cv_lib_cap_cap_init=$(usex caps || echo no)
+
+       # There is no configure option for this and we need to export it
+       # since the glibc build will re-run configure on itself
+       export libc_cv_rootsbindir="$(host_eprefix)/sbin"
+       export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
+
+       local builddir=$(builddir nptl)
+       mkdir -p "${builddir}"
+       cd "${builddir}"
+       set -- "${S}"/configure "${myconf[@]}"
+       echo "$@"
+       "$@" || die "failed to configure glibc"
+
+       # ia64 static cross-compilers are a pita in so much that they
+       # can't produce static ELFs (as the libgcc.a is broken).  so
+       # disable building of the programs for those targets if it
+       # doesn't work.
+       # XXX: We could turn this into a compiler test, but ia64 is
+       # the only one that matters, so this should be fine for now.
+       if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
+               sed -i '1i+link-static = touch $@' config.make
+       fi
+
+       # If we're trying to migrate between ABI sets, we need
+       # to lie and use a local copy of gcc.  Like if the system
+       # is built with MULTILIB_ABIS="amd64 x86" but we want to
+       # add x32 to it, gcc/glibc don't yet support x32.
+       #
+       if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
+               echo 'main(){}' > "${T}"/test.c
+               if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
+                       sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
+               fi
+       fi
+}
+
+glibc_headers_configure() {
+       export ABI=default
+
+       local builddir=$(builddir "headers")
+       mkdir -p "${builddir}"
+       cd "${builddir}"
+
+       # if we don't have a compiler yet, we can't really test it now ...
+       # hopefully they don't affect header generation, so let's hope for
+       # the best here ...
+       local v vars=(
+               ac_cv_header_cpuid_h=yes
+               libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
+               libc_cv_asm_cfi_directives=yes
+               libc_cv_broken_visibility_attribute=no
+               libc_cv_c_cleanup=yes
+               libc_cv_compiler_powerpc64le_binary128_ok=yes
+               libc_cv_forced_unwind=yes
+               libc_cv_gcc___thread=yes
+               libc_cv_mlong_double_128=yes
+               libc_cv_mlong_double_128ibm=yes
+               libc_cv_ppc_machine=yes
+               libc_cv_ppc_rel16=yes
+               libc_cv_predef_fortify_source=no
+               libc_cv_target_power8_ok=yes
+               libc_cv_visibility_attribute=yes
+               libc_cv_z_combreloc=yes
+               libc_cv_z_execstack=yes
+               libc_cv_z_initfirst=yes
+               libc_cv_z_nodelete=yes
+               libc_cv_z_nodlopen=yes
+               libc_cv_z_relro=yes
+               libc_mips_abi=${ABI}
+               libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
+               # These libs don't have configure flags.
+               ac_cv_lib_audit_audit_log_user_avc_message=no
+               ac_cv_lib_cap_cap_init=no
+       )
+
+       einfo "Forcing cached settings:"
+       for v in "${vars[@]}" ; do
+               einfo " ${v}"
+               export ${v}
+       done
+
+       local headers_only_arch_CPPFLAGS=()
+
+       # Blow away some random CC settings that screw things up. #550192
+       if [[ -d ${S}/sysdeps/mips ]]; then
+               pushd "${S}"/sysdeps/mips >/dev/null
+               sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
+               sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
+
+               # Force the mips ABI to the default.  This is OK because the set of
+               # installed headers in this phase is the same between the 3 ABIs.
+               # If this ever changes, this hack will break, but that's unlikely
+               # as glibc discourages that behavior.
+               # https://crbug.com/647033
+               sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
+
+               popd >/dev/null
+       fi
+
+       case ${CTARGET} in
+       riscv*)
+               # RISC-V interrogates the compiler to determine which target to
+               # build.  If building the headers then we don't strictly need a
+               # RISC-V compiler, so the built-in definitions that are provided
+               # along with all RISC-V compiler might not exist.  This causes
+               # glibc's RISC-V preconfigure script to blow up.  Since we're just
+               # building the headers any value will actually work here, so just
+               # pick the standard one (rv64g/lp64d) to make the build scripts
+               # happy for now -- the headers are all the same anyway so it
+               # doesn't matter.
+               headers_only_arch_CPPFLAGS+=(
+                       -D__riscv_xlen=64
+                       -D__riscv_flen=64
+                       -D__riscv_float_abi_double=1
+                       -D__riscv_atomic=1
+               ) ;;
+       esac
+
+       local myconf=()
+       myconf+=(
+               --disable-sanity-checks
+               --enable-hacker-mode
+               --disable-werror
+               --enable-bind-now
+               --build=${CBUILD_OPT:-${CBUILD}}
+               --host=${CTARGET_OPT:-${CTARGET}}
+               --with-headers=$(build_eprefix)$(alt_build_headers)
+               --prefix="$(host_eprefix)/usr"
+               ${EXTRA_ECONF}
+       )
+
+       # Nothing is compiled here which would affect the headers for the target.
+       # So forcing CC/CFLAGS is sane.
+       local headers_only_CC=$(tc-getBUILD_CC)
+       local headers_only_CFLAGS="-O1 -pipe"
+       local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
+       local headers_only_LDFLAGS=""
+       set -- "${S}"/configure "${myconf[@]}"
+       echo \
+               "CC=${headers_only_CC}" \
+               "CFLAGS=${headers_only_CFLAGS}" \
+               "CPPFLAGS=${headers_only_CPPFLAGS}" \
+               "LDFLAGS=${headers_only_LDFLAGS}" \
+               "$@"
+       CC=${headers_only_CC} \
+       CFLAGS=${headers_only_CFLAGS} \
+       CPPFLAGS=${headers_only_CPPFLAGS} \
+       LDFLAGS="" \
+       "$@" || die "failed to configure glibc"
+}
+
+do_src_configure() {
+       if just_headers ; then
+               glibc_headers_configure
+       else
+               glibc_do_configure nptl
+       fi
+}
+
+src_configure() {
+       foreach_abi do_src_configure
+}
+
+do_src_compile() {
+       emake -C "$(builddir nptl)"
+}
+
+src_compile() {
+       if just_headers ; then
+               return
+       fi
+
+       foreach_abi do_src_compile
+}
+
+glibc_src_test() {
+       cd "$(builddir nptl)"
+
+       local myxfailparams=""
+       if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
+               for myt in ${XFAIL_TEST_LIST[@]} ; do
+                       myxfailparams+="test-xfail-${myt}=yes "
+               done
+       fi
+
+       # sandbox does not understand unshare() and prevents
+       # writes to /proc/, which makes many tests fail
+
+       # we give the tests a bit more time to avoid spurious
+       # bug reports on slow arches
+
+       SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
+}
+
+do_src_test() {
+       local ret=0
+
+       glibc_src_test
+       : $(( ret |= $? ))
+
+       return ${ret}
+}
+
+src_test() {
+       if just_headers ; then
+               return
+       fi
+
+       # Give tests more time to complete.
+       export TIMEOUTFACTOR=5
+
+       foreach_abi do_src_test || die "tests failed"
+}
+
+run_locale_gen() {
+       # if the host locales.gen contains no entries, we'll install everything
+       local root="$1"
+       local inplace=""
+
+       if [[ "${root}" == "--inplace-glibc" ]] ; then
+               inplace="--inplace-glibc"
+               root="$2"
+       fi
+
+       local locale_list="${root%/}/etc/locale.gen"
+
+       pushd "${ED}"/$(get_libdir) >/dev/null
+
+       if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
+               [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
+               locale_list="${root%/}/usr/share/i18n/SUPPORTED"
+       fi
+
+       set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
+               --destdir "${root}"
+       echo "$@"
+       "$@"
+
+       popd >/dev/null
+}
+
+glibc_do_src_install() {
+       local builddir=$(builddir nptl)
+       cd "${builddir}"
+
+       emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
+
+       # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
+       # which come without headers etc. Only needed for binary packages since the
+       # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
+       find "${D}" -name "libnsl.a" -delete
+       find "${D}" -name "libnsl.so" -delete
+
+       # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
+       # to infer upstream version:
+       # '#define VERSION "2.26.90"' -> '2.26.90'
+       local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
+
+       # Avoid stripping binaries not targeted by ${CHOST}. Or else
+       # ${CHOST}-strip would break binaries build for ${CTARGET}.
+       is_crosscompile && dostrip -x /
+       # gdb thread introspection relies on local libpthreas symbols. stripping breaks it
+       # See Note [Disable automatic stripping]
+       dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
+
+       if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
+               # Move versioned .a file out of libdir to evade portage QA checks
+               # instead of using gen_usr_ldscript(). We fix ldscript as:
+               # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
+               sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
+               dodir $(alt_usrlibdir)/${P}
+               mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
+       fi
+
+       # We'll take care of the cache ourselves
+       rm -f "${ED}"/etc/ld.so.cache
+
+       # Everything past this point just needs to be done once ...
+       is_final_abi || return 0
+
+       # Make sure the non-native interp can be found on multilib systems even
+       # if the main library set isn't installed into the right place.  Maybe
+       # we should query the active gcc for info instead of hardcoding it ?
+       local i ldso_abi ldso_name
+       local ldso_abi_list=(
+               # x86
+               amd64   /lib64/ld-linux-x86-64.so.2
+               x32     /libx32/ld-linux-x32.so.2
+               x86     /lib/ld-linux.so.2
+               # mips
+               o32     /lib/ld.so.1
+               n32     /lib32/ld.so.1
+               n64     /lib64/ld.so.1
+               # powerpc
+               ppc     /lib/ld.so.1
+               # riscv
+               ilp32d  /lib/ld-linux-riscv32-ilp32d.so.1
+               ilp32   /lib/ld-linux-riscv32-ilp32.so.1
+               lp64d   /lib/ld-linux-riscv64-lp64d.so.1
+               lp64    /lib/ld-linux-riscv64-lp64.so.1
+               # s390
+               s390    /lib/ld.so.1
+               s390x   /lib/ld64.so.1
+               # sparc
+               sparc32 /lib/ld-linux.so.2
+               sparc64 /lib64/ld-linux.so.2
+       )
+       case $(tc-endian) in
+       little)
+               ldso_abi_list+=(
+                       # arm
+                       arm64   /lib/ld-linux-aarch64.so.1
+                       # ELFv2 (glibc does not support ELFv1 on LE)
+                       ppc64   /lib64/ld64.so.2
+               )
+               ;;
+       big)
+               ldso_abi_list+=(
+                       # arm
+                       arm64   /lib/ld-linux-aarch64_be.so.1
+                       # ELFv1 (glibc does not support ELFv2 on BE)
+                       ppc64   /lib64/ld64.so.1
+               )
+               ;;
+       esac
+       if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
+               dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
+       fi
+       for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
+               ldso_abi=${ldso_abi_list[i]}
+               has ${ldso_abi} $(get_install_abis) || continue
+
+               ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
+               if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
+                       dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
+               fi
+       done
+
+       # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
+       # the runtime loader name, see also https://xkcd.com/927/
+       # Normally, in Gentoo one should never come across executables that require this.
+       # However, binary commercial packages are known to adhere to weird practices.
+       # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
+       local lsb_ldso_name native_ldso_name lsb_ldso_abi
+       local lsb_ldso_abi_list=(
+               # x86
+               amd64   ld-linux-x86-64.so.2    ld-lsb-x86-64.so.3
+       )
+       for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
+               lsb_ldso_abi=${lsb_ldso_abi_list[i]}
+               native_ldso_name=${lsb_ldso_abi_list[i+1]}
+               lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
+               has ${lsb_ldso_abi} $(get_install_abis) || continue
+
+               if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
+                       dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
+               fi
+       done
+
+       # With devpts under Linux mounted properly, we do not need the pt_chown
+       # binary to be setuid.  This is because the default owners/perms will be
+       # exactly what we want.
+       if ! use suid ; then
+               find "${ED}" -name pt_chown -exec chmod -s {} +
+       fi
+
+       #################################################################
+       # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
+       # Make sure we install some symlink hacks so that when we build
+       # a 2nd stage cross-compiler, gcc finds the target system
+       # headers correctly.  See gcc/doc/gccinstall.info
+       if is_crosscompile ; then
+               # We need to make sure that /lib and /usr/lib always exists.
+               # gcc likes to use relative paths to get to its multilibs like
+               # /usr/lib/../lib64/.  So while we don't install any files into
+               # /usr/lib/, we do need it to exist.
+               keepdir $(alt_prefix)/lib
+               keepdir $(alt_prefix)/usr/lib
+
+               dosym usr/include $(alt_prefix)/sys-include
+               return 0
+       fi
+
+       # Files for Debian-style locale updating
+       dodir /usr/share/i18n
+       sed \
+               -e "/^#/d" \
+               -e "/SUPPORTED-LOCALES=/d" \
+               -e "s: \\\\::g" -e "s:/: :g" \
+               "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
+               || die "generating /usr/share/i18n/SUPPORTED failed"
+       cd "${WORKDIR}"/extra/locale
+       dosbin locale-gen
+       doman *.[0-8]
+       insinto /etc
+       doins locale.gen
+
+       keepdir /usr/lib/locale
+
+       cd "${S}"
+
+       # Install misc network config files
+       insinto /etc
+       doins posix/gai.conf
+
+       if use systemd ; then
+               doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
+       else
+               doins nss/nsswitch.conf
+       fi
+
+       # Gentoo-specific
+       newins "${FILESDIR}"/host.conf-1 host.conf
+
+       if use nscd ; then
+               doins nscd/nscd.conf
+
+               newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
+
+               local nscd_args=(
+                       -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
+               )
+
+               sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
+
+               use systemd && systemd_dounit nscd/nscd.service
+               newtmpfiles nscd/nscd.tmpfiles nscd.conf
+       fi
+
+       echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
+       doenvd "${T}"/00glibc
+
+       for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
+               [[ -s ${d} ]] && dodoc ${d}
+       done
+       dodoc -r ChangeLog.old
+
+       # Prevent overwriting of the /etc/localtime symlink.  We'll handle the
+       # creation of the "factory" symlink in pkg_postinst().
+       rm -f "${ED}"/etc/localtime
+
+       # Generate all locales if this is a native build as locale generation
+       if use compile-locales && ! is_crosscompile ; then
+               run_locale_gen --inplace-glibc "${ED}/"
+               sed -e 's:COMPILED_LOCALES="":COMPILED_LOCALES="1":' -i "${ED}"/usr/sbin/locale-gen || die
+       fi
+}
+
+glibc_headers_install() {
+       local builddir=$(builddir "headers")
+       cd "${builddir}"
+       emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
+
+       insinto $(alt_headers)/gnu
+       doins "${S}"/include/gnu/stubs.h
+
+       # Make sure we install the sys-include symlink so that when
+       # we build a 2nd stage cross-compiler, gcc finds the target
+       # system headers correctly.  See gcc/doc/gccinstall.info
+       dosym usr/include $(alt_prefix)/sys-include
+}
+
+src_install() {
+       if just_headers ; then
+               export ABI=default
+               glibc_headers_install
+               return
+       fi
+
+       foreach_abi glibc_do_src_install
+
+       if ! use static-libs ; then
+               einfo "Not installing static glibc libraries"
+               find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
+       fi
+}
+
+# Simple test to make sure our new glibc isn't completely broken.
+# Make sure we don't test with statically built binaries since
+# they will fail.  Also, skip if this glibc is a cross compiler.
+#
+# If coreutils is built with USE=multicall, some of these files
+# will just be wrapper scripts, not actual ELFs we can test.
+glibc_sanity_check() {
+       cd / #228809
+
+       # We enter ${ED} so to avoid trouble if the path contains
+       # special characters; for instance if the path contains the
+       # colon character (:), then the linker will try to split it
+       # and look for the libraries in an unexpected place. This can
+       # lead to unsafe code execution if the generated prefix is
+       # within a world-writable directory.
+       # (e.g. /var/tmp/portage:${HOSTNAME})
+       pushd "${ED}"/$(get_libdir) >/dev/null
+
+       # first let's find the actual dynamic linker here
+       # symlinks may point to the wrong abi
+       local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
+
+       einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
+
+       local x striptest
+       for x in cal date env free ls true uname uptime ; do
+               x=$(type -p ${x})
+               [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
+               striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
+               case ${striptest} in
+               *"statically linked"*) continue;;
+               *"ASCII text"*) continue;;
+               esac
+               # We need to clear the locale settings as the upgrade might want
+               # incompatible locale data.  This test is not for verifying that.
+               LC_ALL=C \
+               ${newldso} --library-path . ${x} > /dev/null \
+                       || die "simple run test (${x}) failed"
+       done
+
+       popd >/dev/null
+}
+
+pkg_preinst() {
+       # nothing to do if just installing headers
+       just_headers && return
+
+       # prepare /etc/ld.so.conf.d/ for files
+       mkdir -p "${EROOT}"/etc/ld.so.conf.d
+
+       # Default /etc/hosts.conf:multi to on for systems with small dbs.
+       if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
+               sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
+               einfo "Defaulting /etc/host.conf:multi to on"
+       fi
+
+       [[ -n ${ROOT} ]] && return 0
+       [[ -d ${ED}/$(get_libdir) ]] || return 0
+       [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
+
+       if [[ -L ${EROOT}/usr/lib/locale ]]; then
+               # Help portage migrate this to a directory
+               # https://bugs.gentoo.org/753740
+               rm "${EROOT}"/usr/lib/locale || die
+       fi
+
+       # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
+       # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
+       # bug #802207
+       if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
+               PRESERVED_OLD_LIBCRYPT=1
+               cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
+       else
+               PRESERVED_OLD_LIBCRYPT=0
+       fi
+}
+
+pkg_postinst() {
+       # nothing to do if just installing headers
+       just_headers && return
+
+       if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
+               # Generate fastloading iconv module configuration file.
+               "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
+       fi
+
+       if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
+               use compile-locales || run_locale_gen "${EROOT}/"
+       fi
+
+       upgrade_warning
+
+       # Check for sanity of /etc/nsswitch.conf, take 2
+       if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
+               local entry
+               for entry in passwd group shadow; do
+                       if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
+                               ewarn ""
+                               ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
+                               ewarn "removed from glibc and is now provided by the package"
+                               ewarn "  sys-auth/libnss-nis"
+                               ewarn "Install it now to keep your NIS setup working."
+                               ewarn ""
+                       fi
+               done
+       fi
+
+       if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+               cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
+               preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+
+               elog "Please ignore a possible later error message about a file collision involving"
+               elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
+               elog "the upgrade working, but it also needs to be overwritten when"
+               elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
+       fi
+}