diff options
author | Mart Raudsepp <leio@gentoo.org> | 2017-03-05 17:33:51 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2017-03-05 17:36:08 +0200 |
commit | 8f5fa722ae8c53074fa4b2c210febca68b4fb429 (patch) | |
tree | af37d230bcfebbb1ae118a380a9bedbd7285fa5c /x11-libs | |
parent | www-client/fetch: clean up old. (diff) | |
download | gentoo-8f5fa722ae8c53074fa4b2c210febca68b4fb429.tar.gz gentoo-8f5fa722ae8c53074fa4b2c210febca68b4fb429.tar.bz2 gentoo-8f5fa722ae8c53074fa4b2c210febca68b4fb429.zip |
x11-libs/gtk+: bump to 3.22.9 and apply various fixes
* Stop inheriting eutils - epatch isn't used with EAPI-6 and einstalldocs
comes from EAPI-6 itself as well
* Remove cairo[svg] comment as it is a required dep since long ago after
the bug was filed upstream - it is needed by file print backend (print to
file), which is not optional
* Adapt to libepoxy changes that made epoxy/glx.h and related source code
optional and put it behind a USE flag, bug #611710
* Remove unnecessary libXrender dependency (though cairo[X] will still
pull it in), bug #611032
* Remove -O3 to -O2 replacement and strip-flags; apparently people have
been doing that with success, so lets give it a chance after issues that
happened with -O3 over 10 years ago
* Install select docs instead of the default ones, which include an
uninteresting README.win32, README.in source file that for some reason
is shipped in tarball, README.commits that is interesting for git usage
instructions only, and a useless ChangeLog that isn't properly generated
anymore. The DOCS array is declared locally in multilib_src_install_all,
because gnome2_src_install calls "default" which calls einstalldocs too,
which would fail if the DOCS is given in global scope and it sees it, as
the docs won't be found in multilib WORKDIR.
Gentoo-bug: 611032
Gentoo-bug: 611710
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/gtk+/Manifest | 1 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-3.22.9.ebuild | 229 |
2 files changed, 230 insertions, 0 deletions
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest index 86a1ca2b70a7..ee67764f7dc0 100644 --- a/x11-libs/gtk+/Manifest +++ b/x11-libs/gtk+/Manifest @@ -1,3 +1,4 @@ DIST gtk+-2.24.31.tar.xz 12805344 SHA256 68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658 SHA512 75b846661308d94b5236e7e1c367deabf57753792ca87e92f9769822dd5ec90e00cd8d5574adcc12162e3702e1ae6dc152278a1d218f9bd9e4d1c8dc1dd520c1 WHIRLPOOL 6f59d444b28910b0f4cd7d0d0bf04f8e442acd945205679c19e5adf7ca3f8e7406d4095e9ff9ca597882eb937a7551e19af63b6597e7b57c0babe5b061f9110e DIST gtk+-3.20.9.tar.xz 17174872 SHA256 83a609ba2f3424b5509e73967c49c67833af466d6f91081b24ee5c64fce6ac17 SHA512 5848403959f76633511009231c80a814cfe24a7ba07c9429704f432191e51b54d3e6621ce5b578f79999f21993920af3a45c8d03dad6ba03af5f9a342b32626e WHIRLPOOL 7964b82dabf72b5d45a34565874ba02e0dda09b0f358f640ca0c602c3c7aa4618432829d047794f5f202424c34c837bbdc31ccb3c5457768e252f048afd30107 DIST gtk+-3.22.5.tar.xz 18250876 SHA256 693fa0ac643c59ccd51db99cabe476b4e0a41fd4f0c3c8b3e3ef38f94b2e7334 SHA512 f1969612a89c67fb0414843f3cc51ce91894c9fdfdf6b6e00472d761848b5b1be529d35f2da43c26d345e4b39e81980d2de53d16f194d96775ba21f3c6d0926c WHIRLPOOL 6012dce8f5b55005124a2a51149505b368cf0e8d40dfa267dfe0f696227853d6b9e29f4e21d670449bdd850f4fda79242d60d95644e803143df29675439f6be1 +DIST gtk+-3.22.9.tar.xz 18239708 SHA256 e414542c96dc9966d40774451331bd8f73f77b6670226a5bbd057973a0c6a3e1 SHA512 cfed67a6263172cdef5a8d5f1548017f2e241667779d810ed84aa14ecdd18b917b213b3e71ac97f8d7099ba97a6829b45322ab15c8540ff406247d1519a08550 WHIRLPOOL 23969c152a34ab0f63de6b059e1a54d7ee8a382f3e79dfde310a6c71601bb0afe6f8ae241fab7e978fafbef40ae7e1d065131fa9964968070b2fc844a3969e79 diff --git a/x11-libs/gtk+/gtk+-3.22.9.ebuild b/x11-libs/gtk+/gtk+-3.22.9.ebuild new file mode 100644 index 000000000000..da233eac383e --- /dev/null +++ b/x11-libs/gtk+/gtk+-3.22.9.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_LA_PUNT="yes" + +inherit autotools flag-o-matic gnome2 multilib virtualx multilib-minimal + +DESCRIPTION="Gimp ToolKit +" +HOMEPAGE="http://www.gtk.org/" + +LICENSE="LGPL-2+" +SLOT="3" +IUSE="aqua broadway cloudprint colord cups examples +introspection test vim-syntax wayland X xinerama" +REQUIRED_USE=" + || ( aqua wayland X ) + xinerama? ( X ) +" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-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.15[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/glib-2.49.4:2[${MULTILIB_USEDEP}] + media-libs/fontconfig[${MULTILIB_USEDEP}] + >=media-libs/libepoxy-1.0[X(+)?,${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.37.3[introspection?,${MULTILIB_USEDEP}] + x11-misc/shared-mime-info + + cloudprint? ( + >=net-libs/rest-0.7[${MULTILIB_USEDEP}] + >=dev-libs/json-glib-1.0[${MULTILIB_USEDEP}] ) + colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) + cups? ( >=net-print/cups-1.2[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.39:= ) + wayland? ( + >=dev-libs/wayland-1.9.91[${MULTILIB_USEDEP}] + >=dev-libs/wayland-protocols-1.7 + media-libs/mesa[wayland,${MULTILIB_USEDEP}] + >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] + ) + X? ( + >=app-accessibility/at-spi2-atk-2.5.3[${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + >=x11-libs/libXi-1.3[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXcomposite[${MULTILIB_USEDEP}] + x11-libs/libXdamage[${MULTILIB_USEDEP}] + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.1.2 + dev-libs/libxslt + dev-libs/gobject-introspection-common + >=dev-util/gdbus-codegen-2.48 + >=dev-util/gtk-doc-am-1.20 + >=sys-devel/gettext-0.19.7[${MULTILIB_USEDEP}] + virtual/pkgconfig[${MULTILIB_USEDEP}] + X? ( + x11-proto/xextproto[${MULTILIB_USEDEP}] + x11-proto/xproto[${MULTILIB_USEDEP}] + x11-proto/inputproto[${MULTILIB_USEDEP}] + x11-proto/damageproto[${MULTILIB_USEDEP}] + xinerama? ( x11-proto/xineramaproto[${MULTILIB_USEDEP}] ) + ) + test? ( + media-fonts/font-misc-misc + media-fonts/font-cursor-misc ) +" +# 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 +# >=xorg-server-1.11.4 needed for +# https://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html +RDEPEND="${COMMON_DEPEND} + >=dev-util/gtk-update-icon-cache-3 + !<gnome-base/gail-1000 + !<x11-libs/vte-0.31.0:2.90 + >=x11-themes/adwaita-icon-theme-3.14 + X? ( !<x11-base/xorg-server-1.11.4 ) +" +# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 +PDEPEND=" + gnome-base/librsvg[${MULTILIB_USEDEP}] + vim-syntax? ( app-vim/gtk-syntax ) +" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gtk-query-immodules-3.0$(get_exeext) +) + +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 + + # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache + eapply "${FILESDIR}"/${PN}-3.22.2-update-icon-cache.patch + + eautoreconf + gnome2_src_prepare +} + +multilib_src_configure() { + # need libdir here to avoid a double slash in a path that libtool doesn't + # grok so well during install (// between $EPREFIX and usr ...) + ECONF_SOURCE=${S} \ + gnome2_src_configure \ + $(use_enable aqua quartz-backend) \ + $(use_enable broadway broadway-backend) \ + $(use_enable cloudprint) \ + $(use_enable colord) \ + $(use_enable cups cups auto) \ + $(multilib_native_use_enable introspection) \ + $(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) \ + --disable-papi \ + --disable-mir-backend \ + --enable-man \ + --with-xml-catalog="${EPREFIX}"/etc/xml/catalog \ + --libdir="${EPREFIX}"/usr/$(get_libdir) \ + CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config" + + # 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} and useless ChangeLog that would get installed by default + DOCS=( AUTHORS 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 +} |