A dev-lang/tcl/files/tcl-8.5.13-multilib.patch => dev-lang/tcl/files/tcl-8.5.13-multilib.patch +11 -0
@@ 0,0 1,11 @@
+--- a/unix/configure.in
++++ b/unix/configure.in
+@@ -645,7 +645,7 @@
+
+ eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
+
+-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
++TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+
A dev-lang/tcl/files/tcl-8.5.14-conf.patch => dev-lang/tcl/files/tcl-8.5.14-conf.patch +11 -0
@@ 0,0 1,11 @@
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1427,7 +1427,7 @@ dnl AC_CHECK_TOOL(AR, ar)
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
A dev-lang/tcl/files/tcl-8.6.10-multilib.patch => dev-lang/tcl/files/tcl-8.6.10-multilib.patch +11 -0
@@ 0,0 1,11 @@
+--- a/unix/configure.in 2020-12-26 10:39:12.107965844 +0100
++++ b/unix/configure.in 2020-12-26 10:39:44.821378776 +0100
+@@ -773,7 +773,7 @@
+
+ eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
+
+-test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
++test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+
A dev-lang/tcl/files/tcl-8.6.8-conf.patch => dev-lang/tcl/files/tcl-8.6.8-conf.patch +11 -0
@@ 0,0 1,11 @@
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1402,7 +1402,7 @@
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
++ SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared -fPIC -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
A dev-lang/tcl/files/tcl-8.6.8-libieee.patch => dev-lang/tcl/files/tcl-8.6.8-libieee.patch +15 -0
@@ 0,0 1,15 @@
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -2470,12 +2470,9 @@
+ #--------------------------------------------------------------------
+ # On a few very rare systems, all of the libm.a stuff is
+ # already in libc.a. Set compiler flags accordingly.
+- # Also, Linux requires the "ieee" library for math to work
+- # right (and it must appear before "-lm").
+ #--------------------------------------------------------------------
+
+ AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm")
+- AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"])
+
+ #--------------------------------------------------------------------
+ # Interactive UNIX requires -linet instead of -lsocket, plus it
A dev-lang/tcl/files/tcl-8.6.9-include-spec.patch => dev-lang/tcl/files/tcl-8.6.9-include-spec.patch +12 -0
@@ 0,0 1,12 @@
+This resolves https://bugs.gentoo.org/731120
+--- a/unix/configure.in
++++ b/unix/configure.in
+@@ -895,7 +895,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
+ TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
+
+ # Install time header dir can be set via --includedir
+-eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
++eval "TCL_INCLUDE_SPEC=\"\""
+
+ #------------------------------------------------------------------------
+ # tclConfig.sh refers to this by a different name
A dev-lang/tcl/metadata.xml => dev-lang/tcl/metadata.xml +11 -0
@@ 0,0 1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>tcltk@gentoo.org</email>
+ <name>TCL/TK Herd.</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">tcl</remote-id>
+ </upstream>
+</pkgmetadata>
A dev-lang/tcl/tcl-8.6.8.ebuild => dev-lang/tcl/tcl-8.6.8.ebuild +131 -0
@@ 0,0 1,131 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
+
+MY_P="${PN}${PV}"
+
+DESCRIPTION="Tool Command Language"
+HOMEPAGE="http://www.tcl.tk/"
+SRC_URI="mirror://sourceforge/tcl/${PN}-core${PV}-src.tar.gz"
+
+LICENSE="tcltk"
+SLOT="0/8.6"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug +threads"
+
+RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+SPARENT="${WORKDIR}/${MY_P}"
+S="${SPARENT}"/unix
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.5.13-multilib.patch
+ "${FILESDIR}"/${PN}-8.6.8-conf.patch # Bug 125971
+ "${FILESDIR}"/${PN}-8.6.8-libieee.patch
+)
+
+src_prepare() {
+ find \
+ "${SPARENT}"/compat/* \
+ "${SPARENT}"/doc/try.n \
+ -delete || die
+
+ pushd "${SPARENT}" &>/dev/null || die
+ default
+ popd &>/dev/null || die
+
+ # workaround stack check issues, bug #280934
+ use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1"
+
+ tc-export CC
+
+ sed \
+ -e '/chmod/s:555:755:g' \
+ -i Makefile.in || die
+
+ sed \
+ -e 's:-O[2s]\?::g' \
+ -i tcl.m4 || die
+
+ mv configure.{in,ac} || die
+
+ eautoconf
+
+ eapply_user
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # We went ahead and deleted the whole compat/ subdir which means
+ # the configure tests to detect broken versions need to pass (else
+ # we'll fail to build). This comes up when cross-compiling, but
+ # might as well get a minor configure speed up normally.
+ export ac_cv_func_memcmp_working="yes"
+ export tcl_cv_str{str,toul,tod}_unbroken="ok"
+ export tcl_cv_strtod_buggy="no"
+
+ econf \
+ $(use_enable threads) \
+ $(use_enable debug symbols)
+}
+
+multilib_src_install() {
+ #short version number
+ local v1=$(get_version_component_range 1-2)
+ local mylibdir=$(get_libdir)
+
+ S= default
+ # fix the tclConfig.sh to eliminate refs to the build directory
+ # and drop unnecessary -L inclusion to default system libdir
+
+ sed \
+ -e "/^TCL_BUILD_LIB_SPEC=/s:-L$(pwd) *::g" \
+ -e "/^TCL_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TCL_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tcl${v1}/include:g" \
+ -e "/^TCL_BUILD_STUB_LIB_SPEC=/s:-L$(pwd) *::g" \
+ -e "/^TCL_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \
+ -e "/^TCL_LIB_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \
+ -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die
+ if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ sed \
+ -e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
+ -e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
+ -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die
+ fi
+
+ # install private headers
+ insinto /usr/${mylibdir}/tcl${v1}/include/unix
+ doins *.h
+ insinto /usr/${mylibdir}/tcl${v1}/include/generic
+ doins "${SPARENT}"/generic/*.h
+ rm -f "${ED}"/usr/${mylibdir}/tcl${v1}/include/generic/{tcl,tclDecls,tclPlatDecls}.h || die
+
+ # install symlink for libraries
+ dosym libtcl${v1}$(get_libname) /usr/${mylibdir}/libtcl$(get_libname)
+ dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a
+
+ if multilib_is_native_abi; then
+ dosym tclsh${v1} /usr/bin/tclsh
+ dodoc "${SPARENT}"/{ChangeLog*,README,changes}
+ fi
+}
+
+pkg_postinst() {
+ for version in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 8.6 ${version}; then
+ echo
+ ewarn "You're upgrading from <${P}, you must recompile the other"
+ ewarn "packages on your system that link with tcl after the upgrade"
+ ewarn "completes. To perform this action, please run revdep-rebuild"
+ ewarn "in package app-portage/gentoolkit."
+ ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should"
+ ewarn "upgrade them before this recompilation, too,"
+ echo
+ fi
+ done
+}
A games-fps/gzdoom/files/gzdoom-4.7.1-Introduce-the-BUILD_NONFREE-option.patch => games-fps/gzdoom/files/gzdoom-4.7.1-Introduce-the-BUILD_NONFREE-option.patch +36 -0
@@ 0,0 1,36 @@
+From d164cfcde29980c23ece15f0be1b09dac5853843 Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@gmail.com>
+Date: Sat, 31 Aug 2019 21:23:23 +0900
+Subject: [PATCH] Introduce the BUILD_NONFREE option
+
+This allow users to disable building nonfree components (brightmaps.pk3,
+game_support.pk3, and game_widescreen_gfx.pk3) if they so desire.
+---
+ CMakeLists.txt | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9013d8921..77bd703b1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -411,11 +411,14 @@ add_subdirectory( libraries/lzma )
+ add_subdirectory( tools )
+ add_subdirectory( libraries/gdtoa )
+ add_subdirectory( wadsrc )
+-add_subdirectory( wadsrc_bm )
+ add_subdirectory( wadsrc_lights )
+-add_subdirectory( wadsrc_extra )
+-add_subdirectory( wadsrc_widepix )
+ add_subdirectory( src )
++option (BUILD_NONFREE "Build nonfree components" ON)
++if( BUILD_NONFREE )
++ add_subdirectory( wadsrc_bm )
++ add_subdirectory( wadsrc_extra )
++ add_subdirectory( wadsrc_widepix )
++endif()
+
+ if( NOT CMAKE_CROSSCOMPILING )
+ export(TARGETS ${CROSS_EXPORTS} FILE "${CMAKE_BINARY_DIR}/ImportExecutables.cmake" )
+--
+2.33.1
+
A games-fps/gzdoom/gzdoom-4.7.1.ebuild => games-fps/gzdoom/gzdoom-4.7.1.ebuild +83 -0
@@ 0,0 1,83 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg flag-o-matic
+
+DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine"
+HOMEPAGE="https://zdoom.org"
+SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT
+ non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug gles2 gtk +non-free openmp telemetry vulkan"
+
+DEPEND="
+ app-arch/bzip2
+ media-libs/libsdl2[gles2?,opengl,vulkan?]
+ media-libs/openal
+ media-libs/zmusic
+ sys-libs/zlib
+ virtual/jpeg:0
+ gtk? ( x11-libs/gtk+:3 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-g${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-Introduce-the-BUILD_NONFREE-option.patch"
+)
+
+src_prepare() {
+ rm -rf docs/licenses || die
+ rm -rf libraries/{bzip2,jpeg,zlib} || die
+ if ! use non-free ; then
+ rm -rf wadsrc_bm wadsrc_extra wadsrc_widepix || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE="$(usex debug Debug Release)"
+ -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
+ -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
+ -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
+ -DDYN_OPENAL=OFF
+ -DNO_GTK="$(usex !gtk)"
+ -DNO_OPENAL=OFF
+ -DHAVE_VULKAN="$(usex vulkan)"
+ -DHAVE_GLES2="$(usex gles2)"
+ -DNO_OPENMP="$(usex !openmp)"
+ -DBUILD_NONFREE="$(usex non-free)"
+ )
+
+ # use debug || append-cppflags -DNDEBUG
+ use telemetry || append-cppflags -DNO_SEND_STATS
+
+ cmake_src_configure
+}
+
+src_install() {
+ newicon src/posix/zdoom.xpm "${PN}.xpm"
+ make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame"
+ cmake_src_install
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use non-free ; then
+ ewarn
+ ewarn "GZDoom installed without non-free components."
+ ewarn "Note: The non-free game_support.pk3 file is needed to play"
+ ewarn " games natively supported by GZDoom."
+ ewarn "A list of games natively supported by GZDoom is available"
+ ewarn "on the ZDoom wiki: https://zdoom.org/wiki/IWAD"
+ ewarn
+ fi
+}
A games-fps/gzdoom/metadata.xml => games-fps/gzdoom/metadata.xml +26 -0
@@ 0,0 1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>vilhelm.gray@gmail.com</email>
+ <name>William Breathitt Gray</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="gles2">Enable GLES2 backend</flag>
+ <flag name="non-free">Enable non-free components</flag>
+ <flag name="vulkan">Enable Vulkan support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to>
+ <doc lang="en">https://zdoom.org</doc>
+ <remote-id type="github">coelckers/gzdoom</remote-id>
+ </upstream>
+</pkgmetadata>
A games-fps/raze/metadata.xml => games-fps/raze/metadata.xml +26 -0
@@ 0,0 1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>vilhelm.gray@gmail.com</email>
+ <name>William Breathitt Gray</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="gles2">Enable GLES2 backend</flag>
+ <flag name="non-free">Enable non-free components</flag>
+ <flag name="vulkan">Enable Vulkan support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to>
+ <doc lang="en">https://zdoom.org</doc>
+ <remote-id type="github">coelckers/gzdoom</remote-id>
+ </upstream>
+</pkgmetadata>
A games-fps/raze/raze-1.2.1.ebuild => games-fps/raze/raze-1.2.1.ebuild +58 -0
@@ 0,0 1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg flag-o-matic
+
+DESCRIPTION="Build engine port backed by GZDoom tech"
+HOMEPAGE="https://raze.zdoom.org/about"
+SRC_URI="https://github.com/coelckers/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD BZIP2 GPL-2 LGPL-2.1+ LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug gles2 gtk openal +openmp vulkan"
+
+DEPEND="
+ app-arch/bzip2
+ media-libs/libsdl2[gles2?,opengl,vulkan?]
+ media-libs/libvpx
+ openal? ( media-libs/openal )
+ media-libs/zmusic
+ sys-libs/zlib
+ virtual/jpeg:0
+ gtk? ( x11-libs/gtk+:3 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/Raze-${PV}"
+
+src_prepare() {
+ rm -rf libraries/{bzip2,jpeg,zlib} || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE="$(usex debug Debug Release)"
+ -DDYN_GTK=OFF
+ -DDYN_OPENAL=OFF
+ -DHAVE_GLES2="$(usex gles2)"
+ -DHAVE_VULKAN="$(usex vulkan)"
+ -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/raze"
+ -DNO_GTK="$(usex !gtk)"
+ -DNO_OPENAL="$(usex !openal)"
+ -DNO_OPENMP="$(usex !openmp)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ newicon source/platform/posix/game.xpm "${PN}.xpm"
+ make_desktop_entry "${PN}" "Raze" "${PN}" "Game;ActionGame"
+ cmake_src_install
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+}
A games-roguelike/stone-soup/files/make.patch => games-roguelike/stone-soup/files/make.patch +94 -0
@@ 0,0 1,94 @@
+--- a/Makefile 2021-08-02 13:54:26.603900984 -0500
++++ b/Makefile 2021-08-02 13:57:26.018910565 -0500
+@@ -186,7 +186,7 @@
+ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+ uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
+
+-HOST := $(shell sh -c 'cc -dumpmachine || echo unknown')
++HOST :=
+ ARCH := $(HOST)
+
+ ifdef CROSSHOST
+@@ -457,15 +457,7 @@
+ GCC_VER_SUFFIX:=-$(GCC_VER)
+ endif
+
+-# Attempt to use a full compiler name, to make
+-# distcc builds work nicely.
+-LMACH := $(shell gcc -dumpmachine)-
+-ifeq ($(LMACH),-)
+ LMACH :=
+-endif
+-ifeq ($(shell which $(LMACH)gcc$(GCC_VER_SUFFIX) > /dev/null 2> /dev/null && echo "Yes"),)
+-LMACH :=
+-endif
+
+ ifneq ($(FORCE_CC),)
+ GCC := $(FORCE_CC)
+@@ -765,7 +757,6 @@
+ FULLDEBUG=YesPlease
+ DEBUG=YesPlease
+ NO_OPTIMIZE=YesPlease
+- COVERAGE=YesPlease
+ endif
+
+ # Debug-Lite
+@@ -773,7 +764,6 @@
+ ifneq (,$(filter debug-lite,$(MAKECMDGOALS)))
+ DEBUG=YesPlease
+ NO_OPTIMIZE=YesPlease
+- COVERAGE=YesPlease
+ endif
+
+ # Profile
+@@ -781,12 +771,10 @@
+ ifneq (,$(filter profile,$(MAKECMDGOALS)))
+ FULLDEBUG=YesPlease
+ DEBUG=YesPlease
+- COVERAGE=YesPlease
+ endif
+
+ # Unit tests
+ ifneq (,$(filter catch2-tests,$(MAKECMDGOALS)))
+- COVERAGE=YesPlease
+ endif
+
+ ifdef HURRY
+@@ -938,7 +926,7 @@
+ INSTALL_FONTS += "$(PROPORTIONAL_FONT)"
+ endif
+ else
+- SYS_PROPORTIONAL_FONT = $(shell util/find_font "$(OUR_PROPORTIONAL_FONT)")
++ SYS_PROPORTIONAL_FONT = /usr/share/fonts/dejavu/DejaVuSans.ttf
+ ifneq (,$(SYS_PROPORTIONAL_FONT))
+ ifeq (,$(COPY_FONTS))
+ DEFINES += -DPROPORTIONAL_FONT=\"$(SYS_PROPORTIONAL_FONT)\"
+@@ -958,7 +946,7 @@
+ INSTALL_FONTS += "$(MONOSPACED_FONT)"
+ endif
+ else
+- SYS_MONOSPACED_FONT = $(shell util/find_font "$(OUR_MONOSPACED_FONT)")
++ SYS_MONOSPACED_FONT = /usr/share/fonts/dejavu/DejaVuSansMono.ttf
+ ifneq (,$(SYS_MONOSPACED_FONT))
+ ifeq (,$(COPY_FONTS))
+ DEFINES += -DMONOSPACED_FONT=\"$(SYS_MONOSPACED_FONT)\"
+@@ -1187,9 +1175,8 @@
+
+ LANGUAGES = $(filter-out en, $(notdir $(wildcard dat/descript/??)))
+ SRC_PKG_BASE := stone_soup
+-SRC_VERSION := $(shell git describe --tags $(MERGE_BASE) 2>/dev/null || cat util/release_ver)
++SRC_VERSION := $(shell cat util/release_ver)
+ MAJOR_VERSION = $(shell echo "$(SRC_VERSION)"|$(SED) -r 's/-.*//;s/^([^.]+\.[^.]+).*/\1/')
+-RECENT_TAG := $(shell git describe --abbrev=0 --tags $(MERGE_BASE))
+ WINARCH := $(shell $(GXX) -dumpmachine | grep -q x64_64 && echo win64 || echo win32)
+
+ export SRC_VERSION
+@@ -1523,7 +1510,7 @@
+ endif
+ endif
+
+-install: all install-data
++install: install-data
+ [ -d $(prefix_fp)/$(bin_prefix) ] || mkdir -p $(prefix_fp)/$(bin_prefix)
+ $(COPY) $(GAME) $(prefix_fp)/$(bin_prefix)/
+ $(STRIP) $(prefix_fp)/$(bin_prefix)/$(GAME)
A games-roguelike/stone-soup/files/rltiles-make.patch => games-roguelike/stone-soup/files/rltiles-make.patch +58 -0
@@ 0,0 1,58 @@
+--- a/rltiles/Makefile 2021-08-02 14:03:40.106930544 -0500
++++ b/rltiles/Makefile 2021-08-02 14:03:51.145931133 -0500
+@@ -1,7 +1,7 @@
+ uname_S := $(shell uname -s)
+
+ ifneq (,$(findstring MINGW,$(uname_S)))
+-LDFLAGS += -lmingw32
++LIBS += -lmingw32
+ endif
+
+ # Note: since generation of tiles is done on the host, we don't care about
+@@ -29,7 +29,7 @@
+ endif
+
+ CFLAGS += $(PNG_INCLUDE)
+- LDFLAGS += $(PNG_LIB)
++ LIBS += $(PNG_LIB)
+
+ CFLAGS += -DUSE_TILE
+ endif
+@@ -39,26 +39,15 @@
+ endif
+
+ ifneq (,$(findstring MINGW,$(uname_S)))
+-LDFLAGS += -lgdi32 -lwinmm -lole32 -loleaut32 -limm32 -lshell32 -lversion -luuid
++LIBS += -lgdi32 -lwinmm -lole32 -loleaut32 -limm32 -lshell32 -lversion -luuid
+ endif
+ ifeq ($(uname_S),Darwin)
+-LDFLAGS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL
++LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL
+ endif
+ ifeq ($(uname_S),Linux)
+-LDFLAGS += -ldl -lpthread
++LIBS += -ldl -lpthread
+ endif
+
+-# Attempt to use a full compiler name, to make
+-# distcc builds work nicely.
+-LMACH := $(shell gcc -dumpmachine)-
+-ifeq ($(LMACH),-)
+-LMACH :=
+-endif
+-ifeq ($(shell which $(LMACH)gcc > /dev/null 2> /dev/null && echo "Yes"),)
+-LMACH :=
+-endif
+-HOSTCXX ?= $(LMACH)g++
+-
+ DELETE = rm -f
+
+ TOOLDIR := tool
+@@ -134,6 +123,6 @@
+ $(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@
+
+ $(TILEGEN): $(OBJECTS)
+- $(QUIET_HOSTLINK)$(HOSTCXX) $(CFLAGS) $(OBJECTS) -o $@ $(LDFLAGS)
++ $(QUIET_HOSTLINK)$(HOSTCXX) $(CFLAGS) $(OBJECTS) -o $@ $(LDFLAGS) $(LIBS)
+
+ .PHONY: all clean distclean
A games-roguelike/stone-soup/metadata.xml => games-roguelike/stone-soup/metadata.xml +43 -0
@@ 0,0 1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>stasibear@gentoo.org</email>
+ <name>Erik Mackdanz</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <doc lang="en">https://crawl.develz.org</doc>
+ <bugs-to>https://crawl.develz.org/mantis</bugs-to>
+ <remote-id type="sourceforge">crawl-ref</remote-id>
+ </upstream>
+ <use>
+ <flag name="tiles">Enable for graphical (tiled) build.
+ (can be enabled on top of ncurses)
+ </flag>
+ <flag name="ncurses">Enable for console (uses ncurses) based build.
+ (can be enabled on top of tiles)
+ </flag>
+ </use>
+ <longdescription lang="en">
+ Dungeon Crawl Stone Soup is a free roguelike game of exploration
+ and treasure-hunting in dungeons filled with dangerous and
+ unfriendly monsters in a quest for the mystifyingly fabulous Orb
+ of Zot.
+
+ Dungeon Crawl Stone Soup has diverse species and many different
+ character backgrounds to choose from, deep tactical game-play,
+ sophisticated magic, religion and skill systems, and a grand
+ variety of monsters to fight and run from, making each game
+ unique and challenging.
+
+ Dungeon Crawl Stone Soup can be played offline, or online on a
+ public telnet/ssh server thanks to the good folks at
+ crawl.akrasiac.org (CAO) and crawl.develz.org (CDO). These public
+ servers allow you to meet other players’ ghosts, watch other people
+ playing, and, in general, have a blast!
+ </longdescription>
+</pkgmetadata>
A games-roguelike/stone-soup/stone-soup-0.28.0_pre20211108.ebuild => games-roguelike/stone-soup/stone-soup-0.28.0_pre20211108.ebuild +201 -0
@@ 0,0 1,201 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..3} )
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+VIRTUALX_REQUIRED="manual"
+inherit desktop python-any-r1 lua-single xdg-utils toolchain-funcs
+
+DESCRIPTION="Role-playing roguelike game of exploration and treasure-hunting in dungeons"
+HOMEPAGE="https://crawl.develz.org"
+SLOT="0.28"
+
+# Leave empty string if not a _pre release
+COMMITSHA="68644deec8371908d73084fa2f88e42fd3867a3b"
+if [ -z "${COMMITSHA}" ]; then
+ # This is a proper release
+ SRC_URI="
+ https://github.com/crawl/crawl/releases/download/${PV}/${PN/-/_}-${PV}.zip
+ https://dev.gentoo.org/~stasibear/distfiles/${PN}.png -> ${PN}-${SLOT}.png
+ https://dev.gentoo.org/~stasibear/distfiles/${PN}.svg -> ${PN}-${SLOT}.svg
+ "
+ MY_P="stone_soup-${PV}"
+else
+ # This is a _pre release
+ SRC_URI="
+ https://github.com/crawl/crawl/archive/${COMMITSHA}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~stasibear/distfiles/${PN}.png -> ${PN}-${SLOT}.png
+ https://dev.gentoo.org/~stasibear/distfiles/${PN}.svg -> ${PN}-${SLOT}.svg
+ "
+ MY_P="crawl-${COMMITSHA}/crawl-ref"
+fi
+
+# 3-clause BSD: mt19937ar.cc, MSVC/stdint.h
+# 2-clause BSD: all contributions by Steve Noonan and Jesse Luehrs
+# Public Domain|CC0: most of tiles
+# MIT: json.cc/json.h, some .js files in webserver/static/scripts/contrib/
+LICENSE="GPL-2 BSD BSD-2 public-domain CC0-1.0 MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug ncurses sound +tiles"
+
+S=${WORKDIR}/${MY_P}/source
+RDEPEND="
+ ${LUA_DEPS}
+ dev-db/sqlite:3
+ sys-libs/zlib
+ !ncurses? ( !tiles? ( sys-libs/ncurses:0 ) )
+ ncurses? ( sys-libs/ncurses:0 )
+ tiles? (
+ media-fonts/dejavu
+ media-libs/freetype:2
+ media-libs/libpng:0
+ sound? (
+ media-libs/libsdl2[X,opengl,sound,video]
+ media-libs/sdl2-mixer
+ )
+ !sound? ( media-libs/libsdl2[X,opengl,video] )
+ media-libs/sdl2-image[png]
+ virtual/glu
+ virtual/opengl
+ )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-lang/perl
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ sys-devel/flex
+ tiles? (
+ media-gfx/pngcrush
+ sys-libs/ncurses:0
+ )
+ virtual/pkgconfig
+ virtual/yacc
+ "
+
+PATCHES=(
+ "${FILESDIR}"/make.patch
+ "${FILESDIR}"/rltiles-make.patch
+)
+
+python_check_deps() {
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+
+ python-any-r1_pkg_setup
+
+ if use !ncurses && use !tiles ; then
+ ewarn "Neither ncurses nor tiles frontend"
+ ewarn "selected, choosing ncurses only."
+ ewarn "Note that you can also enable both."
+ fi
+
+ if use sound && use !tiles ; then
+ ewarn "Sound support is only available with tiles."
+ fi
+}
+
+src_prepare() {
+ default
+ python_fix_shebang "${S}/util/species-gen.py"
+
+ sed -i -e "s/GAME = crawl$/GAME = crawl-${SLOT}/" "${S}/Makefile" \
+ || die "Couldn't append slot to executable name"
+
+ # File required for a _pre build
+ if ! [ -f "${S}/util/release_ver" ]; then
+ echo "${SLOT}" >"${S}/util/release_ver" || die "Couldn't write release_ver"
+ fi
+}
+
+src_compile() {
+
+ # Insurance that we're not using bundled lib sources
+ rm -rf contrib || die "Couldn't delete contrib directory"
+
+ myemakeargs=(
+ $(usex debug "FULLDEBUG=y DEBUG=y" "")
+ BUILD_LUA=
+ AR="$(tc-getAR)"
+ CFOPTIMIZE=''
+ CFOTHERS="${CXXFLAGS}"
+ CONTRIBS=
+ DATADIR="/usr/share/${PN}-${SLOT}"
+ FORCE_CC="$(tc-getCC)"
+ FORCE_CXX="$(tc-getCXX)"
+ LDFLAGS="${LDFLAGS}"
+ MAKEOPTS="${MAKEOPTS}"
+ PKGCONFIG="$(tc-getPKG_CONFIG)"
+ RANLIB="$(tc-getRANLIB)"
+ SAVEDIR="~/.crawl-${SLOT}"
+ SOUND=$(usex sound "y" "")
+ STRIP=touch
+ USE_LUAJIT=
+ V=1
+ prefix="/usr"
+ )
+
+ if use ncurses || (use !ncurses && use !tiles) ; then
+ emake "${myemakeargs[@]}"
+ # move it in case we build both variants
+ use tiles && { mv "crawl-${SLOT}" "${WORKDIR}"/crawl-ncurses-${SLOT} || die ;}
+ fi
+
+ if use tiles ; then
+ emake "${myemakeargs[@]}" clean
+ emake "${myemakeargs[@]}" "TILES=y"
+ fi
+}
+
+src_test() {
+ emake "${myemakeargs[@]}" \
+ $(usex tiles "TILES=y" "") \
+ catch2-tests
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" \
+ $(usex tiles "TILES=y" "") \
+ DESTDIR="${D}" \
+ prefix_fp="" \
+ bin_prefix="${D}/usr/bin" \
+ install
+
+ [[ -e "${WORKDIR}/crawl-ncurses-${SLOT}" ]] && dobin "${WORKDIR}/crawl-ncurses-${SLOT}"
+
+ # don't relocate docs, needed at runtime
+ rm -rf "${D}/usr/share/${PN}-${SLOT}"/docs/license
+
+ mv "${WORKDIR}/${MY_P}"/docs/crawl.6 "${WORKDIR}/${MY_P}/docs/crawl-${SLOT}.6" \
+ || die "Couldn't append slot to man page name"
+ doman "${WORKDIR}/${MY_P}/docs/crawl-${SLOT}.6"
+
+ # icons and menu for graphical build
+ if use tiles ; then
+ doicon -s 48 "${DISTDIR}"/${PN}-${SLOT}.png
+ doicon -s scalable "${DISTDIR}"/${PN}-${SLOT}.svg
+ make_desktop_entry "crawl-${SLOT}" "crawl-${SLOT}" "crawl-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+
+ elog "crawl is a slotted install that supports having"
+ elog "multiple versions installed. The binary has the"
+ elog "slot appended, e.g. 'crawl-"${SLOT}"'."
+
+ if use tiles && use ncurses ; then
+ elog
+ elog "Since you have enabled both tiles and ncurses frontends"
+ elog "the ncurses binary is called 'crawl-ncurses-"${SLOT}"' and the"
+ elog "tiles binary is called 'crawl-"${SLOT}"'."
+ fi
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
A media-gfx/darktable/darktable-3.4.1.ebuild => media-gfx/darktable/darktable-3.4.1.ebuild +176 -0
@@ 0,0 1,176 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-3 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+
+DESCRIPTION="A virtual lighttable and darkroom for photographers"
+HOMEPAGE="https://www.darktable.org/"
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
+
+ LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW"
+else
+ DOC_PV="3.4.0"
+ MY_PV="${PV/_/}"
+ MY_P="${P/_/.}"
+
+ SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
+ doc? ( https://github.com/darktable-org/${PN}/releases/download/release-${DOC_PV}/${PN}-usermanual.pdf -> ${PN}-usermanual-${DOC_PV}.pdf )"
+
+ KEYWORDS="amd64 ~arm64"
+ LANGS=" af cs de es fi fr he hu it pl pt-BR ru sk sl"
+fi
+
+IUSE="avif colord cups cpu_flags_x86_sse3 doc flickr geolocation gmic gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet
+ lto lua nls opencl openmp openexr test tools webp
+ ${LANGS// / l10n_}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-util/intltool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? ( >=dev-python/jsonschema-3.2.0 )
+"
+COMMON_DEPEND="
+ dev-db/sqlite:3
+ dev-libs/json-glib
+ dev-libs/libxml2:2
+ >=dev-libs/pugixml-1.8:0=
+ gnome-base/librsvg:2
+ >=media-gfx/exiv2-0.25-r2:0=[xmp]
+ media-libs/lcms:2
+ >=media-libs/lensfun-0.2.3:0=
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ net-misc/curl
+ sys-libs/zlib:=
+ virtual/jpeg:0
+ x11-libs/cairo
+ >=x11-libs/gtk+-3.22:3
+ x11-libs/pango
+ avif? ( >=media-libs/libavif-0.8.2 )
+ colord? ( x11-libs/colord-gtk:0= )
+ cups? ( net-print/cups )
+ flickr? ( media-libs/flickcurl )
+ geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 net-libs/libsoup:2.4 )
+ gmic? ( media-gfx/gmic )
+ gnome-keyring? ( >=app-crypt/libsecret-0.18 )
+ gphoto2? ( media-libs/libgphoto2:= )
+ graphicsmagick? ( media-gfx/graphicsmagick )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lua? ( ${LUA_DEPS} )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:0= )
+ webp? ( media-libs/libwebp:0= )
+"
+DEPEND="${COMMON_DEPEND}
+ opencl? (
+ >=sys-devel/clang-4
+ >=sys-devel/llvm-4
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-find-opencl-header.patch
+ "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
+ "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
+)
+
+S="${WORKDIR}/${P/_/~}"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # Bug #695658
+ if tc-is-gcc; then
+ test-flags-CC -floop-block &> /dev/null || \
+ die "Please switch to a gcc version built with USE=graphite"
+ fi
+
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ fi
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ use cpu_flags_x86_sse3 && append-flags -msse3
+
+ sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CURVE_TOOLS=$(usex tools)
+ -DBUILD_NOISE_TOOLS=$(usex tools)
+ -DBUILD_PRINT=$(usex cups)
+ -DCUSTOM_CFLAGS=ON
+ -DDONT_USE_INTERNAL_LUA=ON
+ -DRAWSPEED_ENABLE_LTO=$(usex lto)
+ -DUSE_AVIF=$(usex avif)
+ -DUSE_CAMERA_SUPPORT=$(usex gphoto2)
+ -DUSE_COLORD=$(usex colord)
+ -DUSE_FLICKR=$(usex flickr)
+ -DUSE_GMIC=$(usex gmic)
+ -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_KWALLET=$(usex kwallet)
+ -DUSE_LIBSECRET=$(usex gnome-keyring)
+ -DUSE_LUA=$(usex lua)
+ -DUSE_MAP=$(usex geolocation)
+ -DUSE_NLS=$(usex nls)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENEXR=$(usex openexr)
+ -DUSE_OPENJPEG=$(usex jpeg2k)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_WEBP=$(usex webp)
+ -DWANT_JSON_VALIDATION=$(usex test)
+ )
+ CMAKE_BUILD_TYPE="RELWITHDEBINFO"
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # This USE flag is masked for -9999
+ use doc && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.pdf
+
+ if use nls; then
+ for lang in ${LANGS} ; do
+ if ! use l10n_${lang}; then
+ rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog
+ elog "When updating a major version,"
+ elog "please bear in mind that your edits will be preserved during this process,"
+ elog "but it will not be possible to downgrade any more."
+ elog
+ ewarn "It will not be possible to downgrade!"
+ ewarn
+}
A media-gfx/darktable/files/darktable-3.4.0-xmmintrin-sse-only.patch => media-gfx/darktable/files/darktable-3.4.0-xmmintrin-sse-only.patch +30 -0
@@ 0,0 1,30 @@
+From d10c290fb3b47bbc8fd90d6d1d7935b900c1caf6 Mon Sep 17 00:00:00 2001
+From: Pascal Obry <pascal@obry.net>
+Date: Thu, 24 Dec 2020 16:17:19 +0100
+Subject: [PATCH] guided_filter: include xmmintrin.h only if SSE defined.
+
+Fixes #7428.
+---
+ src/common/guided_filter.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/common/guided_filter.h b/src/common/guided_filter.h
+index 36be0de04b9..59c8b2af999 100644
+--- a/src/common/guided_filter.h
++++ b/src/common/guided_filter.h
+@@ -18,6 +18,7 @@
+
+ #pragma once
+
++#if defined(__SSE__)
+ #ifdef __PPC64__
+ #ifdef NO_WARN_X86_INTRINSICS
+ #include <xmmintrin.h>
+@@ -29,6 +30,7 @@
+ #else
+ #include <xmmintrin.h>
+ #endif // __PPC64__
++#endif
+
+ #include "common/darktable.h"
+ #include "common/opencl.h"
A media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch => media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch +25 -0
@@ 0,0 1,25 @@
+jsonschema is only used at install time to validate a file that release
+tarballs already include, treat running it as a late part of tests.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -350,6 +350,9 @@
+ endif()
+
+ # we need jsonschema to check noiseprofiles.json
++# In case of Git clones this file is generated at build time, for releases
++# it is included in the tarball.
++if (WANT_JSON_VALIDATION)
+ find_program(jsonschema_BIN jsonschema)
+ if(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
+ message(STATUS "Missing jsonschema, problems in noiseprofiles.json might go unnoticed")
+@@ -358,6 +361,9 @@
+ message(STATUS "Found jsonschema")
+ set(VALIDATE_JSON 1)
+ endif(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
++else()
++ set(VALIDATE_JSON 0)
++endif()
+
+ # we need an XSLT interpreter to generate preferences_gen.h and darktablerc
+ find_program(Xsltproc_BIN xsltproc)
A media-gfx/gimp/files/gimp-2.99.2_fix_autoconf-2.70.patch => media-gfx/gimp/files/gimp-2.99.2_fix_autoconf-2.70.patch +58 -0
@@ 0,0 1,58 @@
+From cebeb90a87105cd6e35bcb357d53cc04c828ca21 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun, 25 Oct 2020 18:09:21 +0000
+Subject: [PATCH] configure.ac: fix `--with-linux-input` handling with upcoming
+ autoconf-2.70
+
+Upcoming autoconf-2.70 exposes deficiency in configure.ac:
+
+```
+$ autoconf-2.70_beta2 && ./configure --host=x86_64-pc-linux-gnu
+./configure: line 1430: 5: Bad file descriptor
+checking whether is declared... ./configure: line 1432: ${+y}: bad
+```
+
+It happens because macros are called with parameters using insufficient quoting.
+
+More details at https://lists.gnu.org/archive/html/bug-autoconf/2020-10/msg00027.html
+
+The fix only amends `--with-linux-input`. Other cases of underquoting
+will need to be handled separately.
+
+Fix-by: Zack Weinberg
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ configure.ac | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 96312f706e..63b85be07a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2135,15 +2135,14 @@ fi
+ AC_ARG_WITH(linux-input, [ --without-linux-input don't build linux input event controller module])
+
+ have_linux_input="no (linux input support disabled)"
+-if test "x$with_linux_input" != "xno"; then
+- AC_CHECK_HEADER(linux/input.h,
+- AC_CHECK_DECL(KEY_OK,
+- have_linux_input=yes,
+- have_linux_input="no (needs Linux 2.6)",
+- [#include <linux/input.h>]))
+-fi
+-
+-AM_CONDITIONAL(HAVE_LINUX_INPUT, test "x$have_linux_input" = xyes)
++AS_IF([test "x$with_linux_input" != "xno"],
++ [AC_CHECK_HEADER([linux/input.h],
++ [AC_CHECK_DECL([KEY_OK],
++ [have_linux_input=yes],
++ [have_linux_input="no (needs Linux 2.6)"],
++ [#include <linux/input.h>])])])
++
++AM_CONDITIONAL([HAVE_LINUX_INPUT], [test "x$have_linux_input" = xyes])
+
+
+ ###############################
+--
+GitLab
+
A media-gfx/gimp/gimp-2.10.22-r3.ebuild => media-gfx/gimp/gimp-2.10.22-r3.ebuild +211 -0
@@ 0,0 1,211 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GNOME2_EAUTORECONF=yes
+WANT_AUTOMAKE=
+
+inherit autotools gnome2 toolchain-funcs virtualx
+
+DESCRIPTION="GNU Image Manipulation Program"
+HOMEPAGE="https://www.gimp.org/"
+SRC_URI="mirror://gimp/v2.10/${P}.tar.bz2"
+LICENSE="GPL-3 LGPL-3"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 x86"
+
+IUSE="aalib alsa aqua debug doc gnome heif jpeg2k mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ >=app-text/poppler-0.50[cairo]
+ >=app-text/poppler-data-0.4.7
+ >=dev-libs/atk-2.2.0
+ >=dev-libs/glib-2.56.2:2
+ >=dev-libs/json-glib-1.2.6
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ >=gnome-base/librsvg-2.40.6:2
+ >=media-gfx/mypaint-brushes-2.0.2:=
+ >=media-libs/babl-0.1.78
+ >=media-libs/fontconfig-2.12.4
+ >=media-libs/freetype-2.1.7
+ >=media-libs/gegl-0.4.26:0.4[cairo]
+ <media-libs/gegl-0.4.28:0.4
+ >=media-libs/gexiv2-0.10.6
+ >=media-libs/harfbuzz-0.9.19:=
+ >=media-libs/lcms-2.8:2
+ >=media-libs/libmypaint-1.6.1:=
+ >=media-libs/libpng-1.6.25:0=
+ >=media-libs/tiff-3.5.7:0
+ net-libs/glib-networking[ssl]
+ sys-libs/zlib
+ virtual/jpeg
+ >=x11-libs/cairo-1.12.2
+ >=x11-libs/gdk-pixbuf-2.31:2
+ >=x11-libs/gtk+-2.24.32:2
+ x11-libs/libXcursor
+ >=x11-libs/pango-1.29.4
+ aalib? ( media-libs/aalib )
+ alsa? ( >=media-libs/alsa-lib-1.0.0 )
+ aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
+ heif? ( >=media-libs/libheif-1.3.2:= )
+ jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
+ mng? ( media-libs/libmng:= )
+ openexr? ( >=media-libs/openexr-1.6.1:= )
+ postscript? ( app-text/ghostscript-gpl )
+ udev? ( dev-libs/libgudev:= )
+ unwind? ( >=sys-libs/libunwind-1.1.0:= )
+ webp? ( >=media-libs/libwebp-0.6.0:= )
+ wmf? ( >=media-libs/libwmf-0.2.8 )
+ xpm? ( x11-libs/libXpm )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ x11-themes/hicolor-icon-theme
+ gnome? ( gnome-base/gvfs )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-lang/perl-5.10.0
+ dev-util/gtk-update-icon-cache
+ >=dev-util/intltool-0.40.1
+ sys-apps/findutils
+ >=sys-devel/gettext-0.19
+ >=sys-devel/libtool-2.2
+ virtual/pkgconfig
+"
+
+DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
+
+# Bugs 685210 (and duplicate 691070)
+PATCHES=(
+ "${FILESDIR}/${PN}-2.99.2_fix_autoconf-2.70.patch"
+)
+
+src_prepare() {
+ sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
+
+ sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
+ sed 's:-DGIMP_DISABLE_DEPRECATED:-DGIMP_protect_DISABLE_DEPRECATED:g' -i configure.ac || die #615144
+
+ gnome2_src_prepare # calls eautoreconf
+
+ sed 's:-DGIMP_protect_DISABLE_DEPRECATED:-DGIMP_DISABLE_DEPRECATED:g' -i configure || die #615144
+ fgrep -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
+
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+_adjust_sandbox() {
+ # Bugs #569738 and #591214
+ local nv
+ for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
+ # We do not check for existence as they may show up later
+ # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
+ addwrite "${nv}"
+ done
+
+ addwrite /dev/dri/ # bugs #574038 and #684886
+ addwrite /dev/ati/ # bug #589198
+ addwrite /proc/mtrr # bug #589198
+}
+
+src_configure() {
+ _adjust_sandbox
+
+ local myconf=(
+ GEGL="${EPREFIX}"/usr/bin/gegl-0.4
+ GDBUS_CODEGEN="${EPREFIX}"/bin/false
+
+ --enable-default-binary
+
+ --disable-check-update
+ --disable-python
+ --enable-mp
+ --without-appdata-test
+ --with-bug-report-url=https://bugs.gentoo.org/
+ --with-xmc
+ --without-libbacktrace
+ --without-webkit
+ --without-xvfb-run
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable cpu_flags_x86_mmx mmx)
+ $(use_enable cpu_flags_x86_sse sse)
+ $(use_enable vector-icons)
+ $(use_with aalib aa)
+ $(use_with alsa)
+ $(use_with !aqua x)
+ $(use_with heif libheif)
+ $(use_with jpeg2k jpeg2000)
+ $(use_with mng libmng)
+ $(use_with openexr)
+ $(use_with postscript gs)
+ $(use_with udev gudev)
+ $(use_with unwind libunwind)
+ $(use_with webp)
+ $(use_with wmf)
+ $(use_with xpm libxpm)
+ )
+
+ gnome2_src_configure "${myconf[@]}"
+}
+
+src_compile() {
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
+ gnome2_src_compile
+}
+
+# for https://bugs.gentoo.org/664938
+_rename_plugins() {
+ einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
+ local prepend=gimp-org-
+ (
+ cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
+ for plugin_slash in $(ls -d1 */); do
+ plugin=${plugin_slash%/}
+ if [[ -f ${plugin}/${plugin} ]]; then
+ # NOTE: Folder and file name need to match for Gimp to load that plug-in
+ # so "file-svg/file-svg" becomes "${prepend}file-svg/${prepend}file-svg"
+ mv ${plugin}/{,${prepend}}${plugin} || die
+ mv {,${prepend}}${plugin} || die
+ fi
+ done
+ )
+}
+
+src_test() {
+ virtx emake check
+}
+
+src_install() {
+ gnome2_src_install
+
+ # Workaround for bug #321111 to give GIMP the least
+ # precedence on PDF documents by default
+ mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
+
+ find "${D}" -name '*.la' -type f -delete || die
+
+ # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
+ local gimp_app_version=$(ver_cut 1-2)
+ mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
+
+ # Remove gimp devel-docs html files if user doesn't need it
+ if ! use doc; then
+ rm -r "${ED}"/usr/share/gtk-doc || die
+ fi
+
+ _rename_plugins || die
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+}
A media-libs/libaom/libaom-3.1.1.ebuild => media-libs/libaom/libaom-3.1.1.ebuild +105 -0
@@ 0,0 1,105 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://aomedia.googlesource.com/aom"
+else
+ SRC_URI="https://storage.googleapis.com/aom-releases/${P}.tar.gz"
+ S="${WORKDIR}"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
+HOMEPAGE="https://aomedia.org"
+
+LICENSE="BSD-2"
+SLOT="0/3"
+IUSE="doc examples"
+IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3"
+IUSE="${IUSE} cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2"
+IUSE="${IUSE} cpu_flags_arm_neon"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+BDEPEND="abi_x86_32? ( dev-lang/yasm )
+ abi_x86_64? ( dev-lang/yasm )
+ abi_x86_x32? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ amd64-fbsd? ( dev-lang/yasm )
+ doc? ( app-doc/doxygen )
+"
+
+# the PATENTS file is required to be distributed with this package bug #682214
+DOCS=( PATENTS )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DOCS=$(multilib_native_usex doc ON OFF)
+ -DENABLE_EXAMPLES=$(multilib_native_usex examples ON OFF)
+ -DENABLE_NASM=OFF
+ -DENABLE_TESTS=OFF
+ -DENABLE_TOOLS=ON
+ -DENABLE_WERROR=OFF
+
+ # neon support is assumed to be always enabled on arm64
+ -DENABLE_NEON=$(usex cpu_flags_arm_neon ON $(usex arm64 ON OFF))
+ # ENABLE_DSPR2 / ENABLE_MSA for mips
+ -DENABLE_MMX=$(usex cpu_flags_x86_mmx ON OFF)
+ -DENABLE_SSE=$(usex cpu_flags_x86_sse ON OFF)
+ -DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)
+ -DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)
+ -DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)
+ -DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1 ON OFF)
+ -DENABLE_SSE4_2=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DENABLE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DENABLE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ )
+ cmake_src_configure
+}
+
+EXAMPLE_BIN='aom_cx_set_ref
+decode_to_md5
+decode_with_drops
+lightfield_bitstream_parsing
+lightfield_decoder
+lightfield_encoder
+lightfield_tile_list_decoder
+lossless_encoder
+noise_model
+scalable_decoder
+scalable_encoder
+set_maps
+simple_decoder
+simple_encoder
+svc_encoder_rtc
+twopass_encoder'
+TOOL_BIN='dump_obu'
+
+multilib_src_install() {
+ if multilib_is_native_abi && use doc ; then
+ local HTML_DOCS=( "${BUILD_DIR}"/docs/html/. )
+ fi
+ cmake_src_install
+ # Install tools and examples
+ local oldIFS=$IFS
+ IFS=$'\n'
+ for src in $TOOL_BIN $(use examples && echo "$EXAMPLE_BIN"); do
+ dst=$src
+ ! [[ "$dst" =~ ^aom_* ]] && dst=aom_$dst
+ newbin "$src" "$dst"
+ done
+ IFS=$oldIFS
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+}
A media-libs/libaom/libaom-9999.ebuild => media-libs/libaom/libaom-9999.ebuild +77 -0
@@ 0,0 1,77 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://aomedia.googlesource.com/aom"
+else
+ SRC_URI="https://dev.gentoo.org/~whissi/dist/libaom/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
+HOMEPAGE="https://aomedia.org"
+
+LICENSE="BSD-2"
+SLOT="0/3"
+IUSE="doc examples"
+IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3"
+IUSE="${IUSE} cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2"
+IUSE="${IUSE} cpu_flags_arm_neon"
+
+REQUIRED_USE="
+ cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
+"
+
+BDEPEND="abi_x86_32? ( dev-lang/yasm )
+ abi_x86_64? ( dev-lang/yasm )
+ abi_x86_x32? ( dev-lang/yasm )
+ x86-fbsd? ( dev-lang/yasm )
+ amd64-fbsd? ( dev-lang/yasm )
+ doc? ( app-doc/doxygen )
+"
+
+# the PATENTS file is required to be distributed with this package bug #682214
+DOCS=( PATENTS )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DOCS=$(multilib_native_usex doc ON OFF)
+ -DENABLE_EXAMPLES=$(multilib_native_usex examples ON OFF)
+ -DENABLE_NASM=OFF
+ -DENABLE_TESTS=OFF
+ -DENABLE_TOOLS=ON
+ -DENABLE_WERROR=OFF
+
+ # neon support is assumed to be always enabled on arm64
+ -DENABLE_NEON=$(usex cpu_flags_arm_neon ON $(usex arm64 ON OFF))
+ # ENABLE_DSPR2 / ENABLE_MSA for mips
+ -DENABLE_MMX=$(usex cpu_flags_x86_mmx ON OFF)
+ -DENABLE_SSE=$(usex cpu_flags_x86_sse ON OFF)
+ -DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)
+ -DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)
+ -DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)
+ -DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1 ON OFF)
+ -DENABLE_SSE4_2=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DENABLE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DENABLE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ )
+ cmake_src_configure
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use doc ; then
+ local HTML_DOCS=( "${BUILD_DIR}"/docs/html/. )
+ fi
+ cmake_src_install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+}
A media-libs/libaom/metadata.xml => media-libs/libaom/metadata.xml +7 -0
@@ 0,0 1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
A media-video/mpv/mpv-9999.ebuild => media-video/mpv/mpv-9999.ebuild +360 -0
@@ 0,0 1,360 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..2} luajit )
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE='threads(+)'
+
+WAF_PV=2.0.9
+
+inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
+
+DESCRIPTION="Media player based on MPlayer and mplayer2"
+HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
+
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux"
+ DOCS=( RELEASE_NOTES )
+else
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+ inherit git-r3
+ DOCS=(); SRC_URI=""
+fi
+SRC_URI+=" https://waf.io/waf-${WAF_PV}"
+DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
+
+# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
+SLOT="0"
+IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda debug
+ doc drm dvb dvd +egl gamepad gbm +iconv jack javascript jpeg lcms
+ libcaca libmpv +lua openal +opengl pulseaudio raspberry-pi
+ rubberband sdl selinux test tools +uchardet vaapi vapoursynth
+ vdpau vulkan wayland +X +xv zlib zimg"
+
+REQUIRED_USE="
+ || ( cli libmpv )
+ aqua? ( opengl )
+ cuda? ( opengl )
+ egl? ( || ( gbm X wayland ) )
+ gamepad? ( sdl )
+ gbm? ( drm egl opengl )
+ lcms? ( opengl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ opengl? ( || ( aqua egl X raspberry-pi !cli ) )
+ raspberry-pi? ( opengl )
+ test? ( opengl )
+ tools? ( cli )
+ uchardet? ( iconv )
+ vaapi? ( || ( gbm X wayland ) )
+ vdpau? ( X )
+ vulkan? ( || ( X wayland ) )
+ wayland? ( egl )
+ X? ( egl? ( opengl ) )
+ xv? ( X )
+ ${PYTHON_REQUIRED_USE}
+"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
+ alsa? ( >=media-libs/alsa-lib-1.0.18 )
+ archive? ( >=app-arch/libarchive-3.4.0:= )
+ bluray? ( >=media-libs/libbluray-0.3.0:= )
+ cdda? ( dev-libs/libcdio-paranoia
+ dev-libs/libcdio:= )
+ drm? ( x11-libs/libdrm )
+ dvd? (
+ >=media-libs/libdvdnav-4.2.0:=
+ >=media-libs/libdvdread-4.1.0:=
+ )
+ egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] )
+ gamepad? ( media-libs/libsdl2 )
+ iconv? (
+ virtual/libiconv
+ uchardet? ( app-i18n/uchardet )
+ )
+ jack? ( virtual/jack )
+ javascript? ( >=dev-lang/mujs-1.0.0 )
+ jpeg? ( virtual/jpeg:0 )
+ lcms? ( >=media-libs/lcms-2.6:2 )
+ >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
+ virtual/ttf-fonts
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 )
+ lua? ( ${LUA_DEPS} )
+ openal? ( >=media-libs/openal-1.13 )
+ pulseaudio? ( media-sound/pulseaudio )
+ raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
+ rubberband? ( >=media-libs/rubberband-1.8.0 )
+ sdl? ( media-libs/libsdl2[sound,threads,video] )
+ vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] )
+ vapoursynth? ( media-libs/vapoursynth )
+ vdpau? ( x11-libs/libvdpau )
+ vulkan? (
+ >=media-libs/libplacebo-3.104.0:=[vulkan]
+ media-libs/shaderc
+ )
+ wayland? (
+ >=dev-libs/wayland-1.6.0
+ >=dev-libs/wayland-protocols-1.14
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ opengl? (
+ x11-libs/libXdamage
+ virtual/opengl
+ )
+ xv? ( x11-libs/libXv )
+ )
+ zlib? ( sys-libs/zlib )
+ zimg? ( >=media-libs/zimg-2.9.2 )
+"
+DEPEND="${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ cuda? ( >=media-libs/nv-codec-headers-8.2.15.7 )
+ dvb? ( virtual/linuxtv-dvb-headers )
+"
+RDEPEND="${COMMON_DEPEND}
+ cuda? ( x11-drivers/nvidia-drivers[X] )
+ selinux? ( sec-policy/selinux-mplayer )
+ tools? ( ${PYTHON_DEPS} )
+"
+BDEPEND="dev-python/docutils
+ virtual/pkgconfig
+ test? ( >=dev-util/cmocka-1.0.0 )
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
+ chmod +x "${S}"/waf || die
+ default
+}
+
+src_configure() {
+ python_setup
+ tc-export CC PKG_CONFIG AR
+
+ if use raspberry-pi; then
+ append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include"
+ append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib"
+ fi
+
+ local mywafargs=(
+ --confdir="${EPREFIX}/etc/${PN}"
+
+ $(usex cli '' '--disable-cplayer')
+ $(use_enable libmpv libmpv-shared)
+
+ --disable-libmpv-static
+ --disable-static-build
+ # See deep down below for build-date.
+ --disable-optimize # Don't add '-O2' to CFLAGS.
+ $(usex debug '' '--disable-debug-build')
+
+ $(use_enable doc html-build)
+ --disable-pdf-build
+ --enable-manpage-build
+ $(use_enable cplugins)
+ $(use_enable test)
+
+ $(use_enable iconv)
+ $(use_enable lua)
+ $(use_enable javascript)
+ $(use_enable zlib)
+ $(use_enable bluray libbluray)
+ $(use_enable dvd dvdnav)
+ $(use_enable cdda)
+ $(use_enable uchardet)
+ $(use_enable rubberband)
+ $(use_enable lcms lcms2)
+ $(use_enable vapoursynth)
+ $(use_enable archive libarchive)
+
+ --enable-libavdevice
+
+ # Audio outputs:
+ $(use_enable sdl sdl2) # Listed under audio, but also includes video.
+ $(use_enable pulseaudio pulse)
+ $(use_enable jack)
+ $(use_enable openal)
+ --disable-opensles
+ $(use_enable alsa)
+ $(use_enable coreaudio)
+
+ # Video outputs:
+ $(use_enable aqua cocoa)
+ $(use_enable drm)
+ $(use_enable gbm)
+ $(use_enable wayland wayland-scanner)
+ $(use_enable wayland wayland-protocols)
+ $(use_enable wayland)
+ $(use_enable X x11)
+ $(use_enable xv)
+ $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
+ $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
+ $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
+ $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
+ $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
+ $(use_enable vdpau)
+ $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
+ $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
+ $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
+ $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
+ $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
+ $(use_enable libcaca caca)
+ $(use_enable jpeg)
+ $(use_enable vulkan shaderc)
+ $(use_enable vulkan libplacebo)
+ $(use_enable raspberry-pi rpi)
+ $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
+ $(usex opengl '' '--disable-gl')
+ $(use_enable vulkan)
+ $(use_enable gamepad sdl2-gamepad)
+
+ # HWaccels:
+ # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
+ $(use_enable cuda cuda-hwaccel)
+ $(use_enable cuda cuda-interop)
+
+ # TV features:
+ $(use_enable dvb dvbin)
+
+ # Miscellaneous features:
+ $(use_enable zimg)
+ )
+ if use lua; then
+ if use lua_single_target_luajit; then
+ mywafargs+=( --lua="luajit" )
+ else
+ # Because it would be too simple to just let the user directly
+ # specify the package name to check, wouldn't it.
+ mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
+ fi
+ fi
+
+ if use vaapi && use X; then
+ mywafargs+=(
+ $(use_enable egl vaapi-x-egl)
+ )
+ fi
+
+ # Not for us
+ mywafargs+=(
+ --disable-android
+ --disable-egl-android
+ --disable-uwp
+ --disable-audiounit
+ --disable-macos-media-player
+ --disable-wasapi
+ --disable-ios-gl
+ --disable-macos-touchbar
+ --disable-macos-cocoa-cb
+ --disable-tvos
+ --disable-egl-angle-win32
+ )
+
+ mywafargs+=(
+ --bashdir="$(get_bashcompdir)"
+ --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
+)
+
+ # Create reproducible non-live builds.
+ [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
+
+ waf-utils_src_configure "${mywafargs[@]}"
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use lua; then
+ insinto /usr/share/${PN}
+ doins -r TOOLS/lua
+ fi
+
+ if use cli && use lua_single_target_luajit; then
+ pax-mark -m "${ED}"/usr/bin/${PN}
+ fi
+
+ if use tools; then
+ dobin TOOLS/{mpv_identify.sh,umpv}
+ newbin TOOLS/idet.sh mpv_idet.sh
+ python_replicate_script "${ED}"/usr/bin/umpv
+ fi
+}
+
+pkg_postinst() {
+ local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
+
+ for rv in ${REPLACING_VERSIONS}; do
+ ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
+ ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
+ ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
+ ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
+ done
+
+ if [[ ${softvol_0_18_1} -eq 1 ]]; then
+ elog "Since version 0.18.1 the software volume control is always enabled."
+ elog "This means that volume controls don't change the system volume,"
+ elog "e.g. per-application volume with PulseAudio."
+ elog "If you want to restore the previous behaviour, please refer to"
+ elog
+ elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
+ elog
+ fi
+
+ if [[ ${osc_0_21_0} -eq 1 ]]; then
+ elog "In version 0.21.0 the default OSC layout was changed."
+ elog "If you want to restore the previous layout, please refer to"
+ elog
+ elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
+ elog
+ fi
+
+ if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
+ elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
+ elog "If you want to restore the previous behaviour, please refer to"
+ elog
+ elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
+ elog
+ fi
+
+ if [[ ${opengl_0_25_0} -eq 1 ]]; then
+ elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
+ elog "the 'opengl' video output and no longer explicitly requires"
+ elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
+ fi
+
+ optfeature "URL support" net-misc/youtube-dl
+
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+src_test() {
+ cd "${S}"/build/test || die
+ local test
+ for test in *; do
+ if [[ -x ${test} ]]; then
+ ./"${test}" || die "Test suite failed"
+ fi
+ done
+}
A net-misc/yt-dlp/metadata.xml => net-misc/yt-dlp/metadata.xml +11 -0
@@ 0,0 1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slashbeast@gentoo.org</email>
+ <name>Piotr Karbowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">yt-dlp/yt-dlp</remote-id>
+ </upstream>
+</pkgmetadata>
A net-misc/yt-dlp/yt-dlp-2021.10.22.ebuild => net-misc/yt-dlp/yt-dlp-2021.10.22.ebuild +50 -0
@@ 0,0 1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 distutils-r1 readme.gentoo-r1
+
+DESCRIPTION="A youtube-dl fork with additional features and fixes"
+HOMEPAGE="https://github.com/yt-dlp/yt-dlp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~riscv ~x86"
+LICENSE="public-domain"
+SLOT="0"
+IUSE="+minimal"
+
+RDEPEND="
+ !minimal? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ media-libs/mutagen[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ )
+ media-video/ffmpeg
+
+"
+
+distutils_enable_tests nose
+
+python_test() {
+ # make_lazy_extractors.py tries to rename it out, so fails if it does not exists.
+ mkdir ytdlp_plugins
+ epytest -k 'not download'
+}
+
+python_install_all() {
+ doman yt-dlp.1
+
+ newbashcomp completions/bash/yt-dlp yt-dlp
+
+ insinto /usr/share/zsh/site-functions
+ newins completions/zsh/_yt-dlp _yt-dlp
+
+ insinto /usr/share/fish/vendor_completions.d
+ doins completions/fish/yt-dlp.fish
+
+ distutils-r1_python_install_all
+
+ rm -rf "${ED}"/usr/share/doc/yt_dlp || die
+}
A net-p2p/nicotine+/metadata.xml => net-p2p/nicotine+/metadata.xml +11 -0
@@ 0,0 1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slashbeast@gentoo.org</email>
+ <name>Piotr Karbowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Nicotine-Plus/nicotine-plus</remote-id>
+ </upstream>
+</pkgmetadata>
A net-p2p/nicotine+/nicotine+-3.1.1.ebuild => net-p2p/nicotine+/nicotine+-3.1.1.ebuild +41 -0
@@ 0,0 1,41 @@
+# 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 distutils-r1 xdg-utils
+
+DESCRIPTION="A fork of nicotine, a Soulseek client in Python"
+HOMEPAGE="https://github.com/Nicotine-Plus/nicotine-plus"
+SRC_URI="https://github.com/Nicotine-Plus/nicotine-plus/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ ${DEPEND}
+"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/nicotine-plus-${PV}"
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}/usr/share/doc/nicotine" "${ED}/usr/share/doc/${PF}" || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
R sys-apps/busybox/busybox-1.33.0.ebuild => sys-apps/busybox/busybox-1.34.1.ebuild +40 -28
@@ 1,4 1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# See `man savedconfig.eclass` for info on how to use USE=savedconfig.
@@ 10,11 10,11 @@ inherit flag-o-matic savedconfig toolchain-funcs
DESCRIPTION="Utilities for rescue and embedded systems"
HOMEPAGE="https://www.busybox.net/"
if [[ ${PV} == "9999" ]] ; then
- MY_P=${P}
+ MY_P="${P}"
EGIT_REPO_URI="https://git.busybox.net/busybox"
inherit git-r3
else
- MY_P=${PN}-${PV/_/-}
+ MY_P="${PN}-${PV/_/-}"
SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
@@ 25,17 25,19 @@ IUSE="debug ipv6 livecd make-symlinks math mdev pam selinux sep-usr static syslo
REQUIRED_USE="pam? ( !static )"
RESTRICT="test"
-COMMON_DEPEND="!static? ( selinux? ( sys-libs/libselinux ) )
+# TODO: Could make pkgconfig conditional on selinux? bug #782829
+RDEPEND="
+ virtual/libcrypt:=
+ !static? ( selinux? ( sys-libs/libselinux ) )
pam? ( sys-libs/pam )
- virtual/libcrypt:="
-DEPEND="${COMMON_DEPEND}
+"
+DEPEND="${RDEPEND}
static? (
virtual/libcrypt[static-libs]
selinux? ( sys-libs/libselinux[static-libs(+)] )
)
- >=sys-kernel/linux-headers-2.6.39"
-RDEPEND="${COMMON_DEPEND}
- mdev? ( !<sys-apps/openrc-0.13 )"
+ sys-kernel/linux-headers"
+BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
@@ 139,6 141,14 @@ src_configure() {
busybox_config_option n FEATURE_VI_REGEX_SEARCH
fi
+ # Disable standalone shell mode when using make-symlinks, else Busybox calls its
+ # applets by default without looking up in PATH.
+ # This also enables users to disable a builtin by deleting the corresponding symlink.
+ if use make-symlinks; then
+ busybox_config_option n FEATURE_PREFER_APPLETS
+ busybox_config_option n FEATURE_SH_STANDALONE
+ fi
+
# If these are not set and we are using a uclibc/busybox setup
# all calls to system() will fail.
busybox_config_option y ASH
@@ 217,6 227,8 @@ src_compile() {
export SKIP_STRIP=y
emake V=1 busybox
+
+ # bug #701512
emake V=1 doc
}
@@ 251,29 263,29 @@ src_install() {
fi
# add busybox daemon's, bug #444718
- if busybox_config_enabled FEATURE_NTPD_SERVER; then
- newconfd "${FILESDIR}/ntpd.confd" "busybox-ntpd"
- newinitd "${FILESDIR}/ntpd.initd" "busybox-ntpd"
- fi
if busybox_config_enabled HTTPD; then
- newconfd "${FILESDIR}/httpd.confd" "busybox-httpd"
- newinitd "${FILESDIR}/httpd.initd" "busybox-httpd"
+ newconfd "${FILESDIR}/httpd.confd" busybox-httpd
+ newinitd "${FILESDIR}/httpd.initd" busybox-httpd
docinto txt
sed -En '/httpd implementation for busybox/,/\*\//s#^ \*( |$)##p' \
networking/httpd.c >httpd.txt
dodoc httpd.txt
fi
+ if busybox_config_enabled FEATURE_NTPD_SERVER; then
+ newconfd "${FILESDIR}"/ntpd.confd busybox-ntpd
+ newinitd "${FILESDIR}"/ntpd.initd busybox-ntpd
+ fi
if busybox_config_enabled SYSLOGD; then
- newconfd "${FILESDIR}/syslogd.confd" "busybox-syslogd"
- newinitd "${FILESDIR}/syslogd.initd" "busybox-syslogd"
+ newconfd "${FILESDIR}"/syslogd.confd busybox-syslogd
+ newinitd "${FILESDIR}"/syslogd.initd busybox-syslogd
fi
if busybox_config_enabled KLOGD; then
- newconfd "${FILESDIR}/klogd.confd" "busybox-klogd"
- newinitd "${FILESDIR}/klogd.initd" "busybox-klogd"
+ newconfd "${FILESDIR}"/klogd.confd busybox-klogd
+ newinitd "${FILESDIR}"/klogd.initd busybox-klogd
fi
if busybox_config_enabled WATCHDOG; then
- newconfd "${FILESDIR}/watchdog.confd" "busybox-watchdog"
- newinitd "${FILESDIR}/watchdog.initd" "busybox-watchdog"
+ newconfd "${FILESDIR}"/watchdog.confd busybox-watchdog
+ newinitd "${FILESDIR}"/watchdog.initd busybox-watchdog
fi
if busybox_config_enabled UDHCPC; then
local path=$(busybox_config_enabled UDHCPC_DEFAULT_SCRIPT)
@@ 287,17 299,17 @@ src_install() {
# bundle up the symlink files for use later
emake DESTDIR="${ED}" install
- rm _install/bin/busybox
+ rm _install/bin/busybox || die
# for compatibility, provide /usr/bin/env
- mkdir -p _install/usr/bin
- ln -s /bin/env _install/usr/bin/env
+ mkdir -p _install/usr/bin || die
+ ln -s /bin/env _install/usr/bin/env || die
tar cf busybox-links.tar -C _install . || : #;die
insinto /usr/share/${PN}
use make-symlinks && doins busybox-links.tar
dodoc AUTHORS README TODO
- cd docs
+ cd docs || die
doman busybox.1
docinto txt
dodoc *.txt
@@ 306,13 318,13 @@ src_install() {
docinto html
dodoc *.html
- cd ../examples
+ cd ../examples || die
docinto examples
dodoc inittab depmod.pl *.conf *.script undeb unrpm
}
pkg_preinst() {
- if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ ${ROOT} == "/" ]] ; then
+ if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ -z "${ROOT}" ]] ; then
ewarn "setting USE=make-symlinks and emerging to / is very dangerous."
ewarn "it WILL overwrite lots of system programs like: ls bash awk grep (bug 60805 for full list)."
ewarn "If you are creating a binary only and not merging this is probably ok."
@@ 332,7 344,7 @@ pkg_postinst() {
cd "${T}" || die
mkdir _install
tar xf busybox-links.tar -C _install || die
- cp -vpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed"
+ echo n | cp -ivpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed"
fi
if use sep-usr ; then
A x11-libs/gtk+/files/gtk+-3.24.25-update-icon-cache.patch => x11-libs/gtk+/files/gtk+-3.24.25-update-icon-cache.patch +121 -0
@@ 0,0 1,121 @@
+From ce23725d2b25b61a4eec8db0899d49d5a9dbcc6d Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 1 Nov 2016 15:24:22 +0100
+Subject: [PATCH] Always use external gtk-update-icon-cache
+
+Check for gtk-update-icon-cache to install demos, otherwise it is not
+used when building.
+---
+ configure.ac | 2 ++
+ demos/gtk-demo/Makefile.am | 2 +-
+ demos/widget-factory/Makefile.am | 2 +-
+ docs/reference/gtk/Makefile.am | 1 -
+ gtk/Makefile.am | 27 ---------------------------
+ 5 files changed, 4 insertions(+), 30 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 36dda2ebaf..df9d9b0e9b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -974,6 +974,8 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
+
+ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
++AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, [gtk-update-icon-cache], [no])
++
+ ########################################
+ # Windowing system checks
+ ########################################
+diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am
+index 4a2f827469..369ba5d3cc 100644
+--- a/demos/gtk-demo/Makefile.am
++++ b/demos/gtk-demo/Makefile.am
+@@ -174,7 +174,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-demo.png data/32x32/gtk3-demo-symbolic.sy
+ dist_appsicon48_DATA = data/48x48/gtk3-demo.png data/48x48/gtk3-demo-symbolic.symbolic.png
+ dist_appsicon256_DATA = data/256x256/gtk3-demo.png data/256x256/gtk3-demo-symbolic.symbolic.png
+
+-update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
++update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
+
+ install-data-hook: install-update-icon-cache
+ uninstall-hook: uninstall-update-icon-cache
+diff --git a/demos/widget-factory/Makefile.am b/demos/widget-factory/Makefile.am
+index c33a6d0a95..291f389f53 100644
+--- a/demos/widget-factory/Makefile.am
++++ b/demos/widget-factory/Makefile.am
+@@ -47,7 +47,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-widget-factory.png data/32x32/gtk3-widget
+ dist_appsicon48_DATA = data/48x48/gtk3-widget-factory.png data/48x48/gtk3-widget-factory-symbolic.symbolic.png
+ dist_appsicon256_DATA = data/256x256/gtk3-widget-factory.png data/256x256/gtk3-widget-factory-symbolic.symbolic.png
+
+-update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
++update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
+
+ install-data-hook: install-update-icon-cache
+ uninstall-hook: uninstall-update-icon-cache
+diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
+index dc9b80c6c5..bcaa4032c9 100644
+--- a/docs/reference/gtk/Makefile.am
++++ b/docs/reference/gtk/Makefile.am
+@@ -502,7 +502,6 @@ EXTRA_DIST += version.xml.in gtk3.types.in getting_started.xml.in
+
+ man_MANS = \
+ gtk-query-immodules-3.0.1 \
+- gtk-update-icon-cache.1 \
+ gtk-encode-symbolic-svg.1 \
+ gtk-launch.1 \
+ gtk3-demo.1 \
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index 9608ab3355..74792a4b40 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -1658,7 +1658,6 @@ endif
+ #
+ bin_PROGRAMS = \
+ gtk-query-immodules-3.0 \
+- gtk-update-icon-cache \
+ gtk-encode-symbolic-svg \
+ gtk-builder-tool \
+ gtk-query-settings \
+@@ -1671,9 +1670,6 @@ gtk_query_immodules_3_0_LDADD = \
+ $(GMODULE_LIBS) \
+ $(GTK_DEP_LIBS)
+
+-gtk_update_icon_cache_SOURCES = updateiconcache.c
+-gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS)
+-
+ gtk_encode_symbolic_svg_SOURCES = encodesymbolic.c
+ gtk_encode_symbolic_svg_LDADD = \
+ $(GDK_PIXBUF_LIBS) \
+@@ -1698,29 +1694,6 @@ gtk_launch_LDADD = \
+ $(top_builddir)/gdk/libgdk-3.la \
+ $(GTK_DEP_LIBS)
+
+-if OS_WIN32
+-
+-# Workaround for UAC silliness: programs with "update" in their name
+-# are believed to be installers and require elevated privileges to be
+-# used... Embed a manifest file into executable to tell Windows that
+-# gtk-update-icon-cache.exe doesn't require any special privileges.
+-
+-GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
+-GTK_UPDATE_ICON_CACHE_RC = gtk-update-icon-cache.rc
+-GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT = gtk-update-icon-cache_manifest.o
+-
+-$(GTK_UPDATE_ICON_CACHE_MANIFEST): Makefile generate-uac-manifest.py
+- $(PYTHON) $(srcdir)/generate-uac-manifest.py -p=gtk3 -n=gtk-update-icon-cache --pkg-version=$(GTK_VERSION) --output-dir=$(builddir)
+-
+-$(GTK_UPDATE_ICON_CACHE_RC): $(GTK_UPDATE_ICON_CACHE_MANIFEST)
+-
+-$(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT): $(GTK_UPDATE_ICON_CACHE_RC) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
+- $(WINDRES) --input $< --output $@ --output-format=coff
+-
+-gtk_update_icon_cache_LDADD += $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
+-
+-endif
+-
+ .PHONY: files
+
+ files:
+--
+2.30.0
+
A x11-libs/gtk+/gtk+-3.24.24-r1.ebuild => x11-libs/gtk+/gtk+-3.24.24-r1.ebuild +256 -0
@@ 0,0 1,256 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2 multilib multilib-minimal virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2+"
+SLOT="3"
+IUSE="aqua atk-bridge broadway cloudprint colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )
+"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Upstream wants us to do their job:
+# https://bugzilla.gnome.org/show_bug.cgi?id=768662#c1
+RESTRICT="test"
+
+# FIXME: introspection data is built against system installation of gtk+:3,
+# bug #????
+COMMON_DEPEND="
+ >=dev-libs/atk-2.32.0[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/harfbuzz-0.9:=
+ >=media-libs/libepoxy-1.4[X(+)?,${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.14[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.41.0[introspection?,${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+
+ cloudprint? (
+ >=dev-libs/json-glib-1.0[${MULTILIB_USEDEP}]
+ >=net-libs/rest-0.7[${MULTILIB_USEDEP}]
+ )
+ colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
+ cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.39:= )
+ sysprof? ( >=dev-util/sysprof-capture-3.33.2:3[${MULTILIB_USEDEP}] )
+ wayland? (
+ >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.17
+ media-libs/mesa[wayland,${MULTILIB_USEDEP}]
+ >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ atk-bridge? ( >=app-accessibility/at-spi2-atk-2.15.1[${MULTILIB_USEDEP}] )
+ media-libs/mesa[X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )
+ X? ( x11-base/xorg-proto )
+"
+# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
+# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
+RDEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-update-icon-cache-3
+ !<gnome-base/gail-1000
+ !<x11-libs/vte-0.31.0:2.90
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+ gnome-base/librsvg[${MULTILIB_USEDEP}]
+ >=x11-themes/adwaita-icon-theme-3.14
+ vim-syntax? ( app-vim/gtk-syntax )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/gobject-introspection-common
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.48
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.20
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.3
+ >=dev-util/gtk-doc-1.20
+ )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gtk-query-immodules-3.0$(get_exeext)
+)
+
+PATCHES=(
+ # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
+ "${FILESDIR}"/${PN}-3.24.8-update-icon-cache.patch
+
+ # Fix broken autotools logic
+ "${FILESDIR}"/${PN}-3.22.20-libcloudproviders-automagic.patch
+
+ "${FILESDIR}"/${PN}-3.22.30.atk-bridge.patch
+)
+
+strip_builddir() {
+ local rule=$1
+ shift
+ local directory=$1
+ shift
+ sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \
+ || die "Could not strip director ${directory} from build."
+}
+
+src_prepare() {
+ if ! use test ; then
+ # don't waste time building tests
+ strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
+
+ # the tests dir needs to be build now because since commit
+ # 7ff3c6df80185e165e3bf6aa31bd014d1f8bf224 tests/gtkgears.o needs to be there
+ # strip_builddir SRC_SUBDIRS tests Makefile.{am,in}
+ fi
+
+ if ! use examples; then
+ # don't waste time building demos
+ strip_builddir SRC_SUBDIRS demos Makefile.{am,in}
+ strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable aqua quartz-backend)
+ $(use_with atk-bridge)
+ $(use_enable broadway broadway-backend)
+ $(use_enable cloudprint)
+ $(use_enable colord)
+ $(use_enable cups cups auto)
+ $(multilib_native_use_enable gtk-doc)
+ $(multilib_native_use_enable introspection)
+ $(use_enable sysprof profiler)
+ $(use_enable wayland wayland-backend)
+ $(use_enable X x11-backend)
+ $(use_enable X xcomposite)
+ $(use_enable X xdamage)
+ $(use_enable X xfixes)
+ $(use_enable X xkb)
+ $(use_enable X xrandr)
+ $(use_enable xinerama)
+ # cloudprovider is not packaged in Gentoo yet
+ --disable-cloudproviders
+ --disable-papi
+ --enable-man
+ --with-xml-catalog="${EPREFIX}"/etc/xml/catalog
+ # need libdir here to avoid a double slash in a path that libtool doesn't
+ # grok so well during install (// between $EPREFIX and usr ...)
+ # TODO: Is this still the case?
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config"
+ )
+
+ if use wayland; then
+ myconf+=(
+ # Include wayland immodule into gtk itself, to avoid problems like
+ # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a
+ # user overridden GTK_IM_MODULE envvar
+ --with-included-immodules=wayland
+ )
+ fi;
+
+ ECONF_SOURCE=${S} gnome2_src_configure "${myconf[@]}"
+
+ # work-around gtk-doc out-of-source brokedness
+ if multilib_is_native_abi; then
+ local d
+ for d in gdk gtk libgail-util; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx emake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+ # Skip README.{in,commits,win32} that would get installed by default
+ DOCS=( AUTHORS ChangeLog NEWS README )
+ einstalldocs
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ multilib_pkg_preinst() {
+ # Make immodules.cache belongs to gtk+ alone
+ local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}${cache}" "${ED}${cache}" || die
+ else
+ touch "${ED}${cache}" || die
+ fi
+ }
+ multilib_parallel_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ multilib_pkg_postinst() {
+ gnome2_query_immodules_gtk3 \
+ || die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ if ! has_version "app-text/evince"; then
+ elog "Please install app-text/evince for print preview functionality."
+ elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+ elog "add it to your settings.ini file."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ fi
+}
A x11-libs/gtk+/gtk+-3.24.29.ebuild => x11-libs/gtk+/gtk+-3.24.29.ebuild +256 -0
@@ 0,0 1,256 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2 multilib multilib-minimal virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2+"
+SLOT="3"
+IUSE="aqua atk-bridge broadway cloudprint colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )
+"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Upstream wants us to do their job:
+# https://bugzilla.gnome.org/show_bug.cgi?id=768662#c1
+RESTRICT="test"
+
+# FIXME: introspection data is built against system installation of gtk+:3,
+# bug #????
+COMMON_DEPEND="
+ >=dev-libs/atk-2.32.0[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/harfbuzz-0.9:=
+ >=media-libs/libepoxy-1.4[X(+)?,${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.14[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.41.0[introspection?,${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+
+ cloudprint? (
+ >=dev-libs/json-glib-1.0[${MULTILIB_USEDEP}]
+ >=net-libs/rest-0.7[${MULTILIB_USEDEP}]
+ )
+ colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
+ cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.39:= )
+ sysprof? ( >=dev-util/sysprof-capture-3.33.2:3[${MULTILIB_USEDEP}] )
+ wayland? (
+ >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.17
+ media-libs/mesa[wayland,${MULTILIB_USEDEP}]
+ >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ atk-bridge? ( >=app-accessibility/at-spi2-atk-2.15.1[${MULTILIB_USEDEP}] )
+ media-libs/mesa[X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )
+ X? ( x11-base/xorg-proto )
+"
+# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
+# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
+RDEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-update-icon-cache-3
+ !<x11-libs/vte-0.31.0:2.90
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+ gnome-base/librsvg[${MULTILIB_USEDEP}]
+ >=x11-themes/adwaita-icon-theme-3.14
+ vim-syntax? ( app-vim/gtk-syntax )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/gobject-introspection-common
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.48
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.20
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+ x11-libs/gdk-pixbuf:2
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.3
+ >=dev-util/gtk-doc-1.20
+ )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gtk-query-immodules-3.0$(get_exeext)
+)
+
+PATCHES=(
+ # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
+ "${FILESDIR}"/${PN}-3.24.25-update-icon-cache.patch
+
+ # Fix broken autotools logic
+ "${FILESDIR}"/${PN}-3.22.20-libcloudproviders-automagic.patch
+
+ "${FILESDIR}"/${PN}-3.22.30.atk-bridge.patch
+)
+
+strip_builddir() {
+ local rule=$1
+ shift
+ local directory=$1
+ shift
+ sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \
+ || die "Could not strip director ${directory} from build."
+}
+
+src_prepare() {
+ if ! use test ; then
+ # don't waste time building tests
+ strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
+
+ # the tests dir needs to be build now because since commit
+ # 7ff3c6df80185e165e3bf6aa31bd014d1f8bf224 tests/gtkgears.o needs to be there
+ # strip_builddir SRC_SUBDIRS tests Makefile.{am,in}
+ fi
+
+ if ! use examples; then
+ # don't waste time building demos
+ strip_builddir SRC_SUBDIRS demos Makefile.{am,in}
+ strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable aqua quartz-backend)
+ $(use_with atk-bridge)
+ $(use_enable broadway broadway-backend)
+ $(use_enable cloudprint)
+ $(use_enable colord)
+ $(use_enable cups cups auto)
+ $(multilib_native_use_enable gtk-doc)
+ $(multilib_native_use_enable introspection)
+ $(use_enable sysprof profiler)
+ $(use_enable wayland wayland-backend)
+ $(use_enable X x11-backend)
+ $(use_enable X xcomposite)
+ $(use_enable X xdamage)
+ $(use_enable X xfixes)
+ $(use_enable X xkb)
+ $(use_enable X xrandr)
+ $(use_enable xinerama)
+ # cloudprovider is not packaged in Gentoo yet
+ --disable-cloudproviders
+ --disable-papi
+ --enable-man
+ --with-xml-catalog="${EPREFIX}"/etc/xml/catalog
+ # need libdir here to avoid a double slash in a path that libtool doesn't
+ # grok so well during install (// between $EPREFIX and usr ...)
+ # TODO: Is this still the case?
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config"
+ )
+
+ if use wayland; then
+ myconf+=(
+ # Include wayland immodule into gtk itself, to avoid problems like
+ # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a
+ # user overridden GTK_IM_MODULE envvar
+ --with-included-immodules=wayland
+ )
+ fi;
+
+ ECONF_SOURCE=${S} gnome2_src_configure "${myconf[@]}"
+
+ # work-around gtk-doc out-of-source brokedness
+ if multilib_is_native_abi; then
+ local d
+ for d in gdk gtk libgail-util; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx emake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+ # Skip README.{in,commits,win32} that would get installed by default
+ DOCS=( AUTHORS ChangeLog NEWS README )
+ einstalldocs
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ multilib_pkg_preinst() {
+ # Make immodules.cache belongs to gtk+ alone
+ local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}${cache}" "${ED}${cache}" || die
+ else
+ touch "${ED}${cache}" || die
+ fi
+ }
+ multilib_parallel_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ multilib_pkg_postinst() {
+ gnome2_query_immodules_gtk3 \
+ || die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ if ! has_version "app-text/evince"; then
+ elog "Please install app-text/evince for print preview functionality."
+ elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+ elog "add it to your settings.ini file."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ fi
+}