diff options
author | Mart Raudsepp <leio@gentoo.org> | 2017-05-12 14:45:04 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2017-05-12 14:46:16 +0300 |
commit | d9be384f7c51b2a03689668ecbe965141559f79d (patch) | |
tree | 2ea2483df2101c20dc7b9e3cb1cde9b0713bc739 /x11-libs | |
parent | 0455c4b0acbea17a3d20ada84ff1fea04479b9b4 (diff) | |
download | gentoo-d9be384f7c51b2a03689668ecbe965141559f79d.tar.gz gentoo-d9be384f7c51b2a03689668ecbe965141559f79d.tar.xz |
x11-libs/gtk+: bump to 3.22.15 for a listbox behavior ABI stability
3.22.13 changed GtkListBox foreach to return placeholder child widgets
as well as part of another fix, which some existing code doesn't like
and might crash due to another widget type getting returned. This
3.22.15 release reverts this and fixes the old fix in another way that
retains the behavior in this LTS release.
Also contains a default theme style improvement for tagged entries.
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/gtk+/Manifest | 1 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-3.22.15.ebuild | 229 |
2 files changed, 230 insertions, 0 deletions
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest index 9dcccf5c1e0..e9778a81396 100644 --- a/x11-libs/gtk+/Manifest +++ b/x11-libs/gtk+/Manifest @@ -3,3 +3,4 @@ DIST gtk+-3.20.9.tar.xz 17174872 SHA256 83a609ba2f3424b5509e73967c49c67833af466d DIST gtk+-3.22.11.tar.xz 18250068 SHA256 db440670cb6f3c098b076df3735fbc4e69359bd605385e87c90ee48344a804ca SHA512 0dd8c0b8cf01a687bd7b9548308a8719fda4a30e0b47139db049906333d23c1eee3867af130dc3ecd0fb4a1381c8065e9929ccd9cb4def376bbb0b136ec05a7e WHIRLPOOL 4ab9e69f3d7987cfdc67555657e402ac181817d0a91ba61f8a238ee4190150766c36fff67765a6af56941a02383db0737812a39dae81ab432269586f4d711165 DIST gtk+-3.22.12.tar.xz 18236348 SHA256 84fae0cefb6a11ee2b4e86b8ac42fe46a3d30b4ad16661d5fc51e8ae03e2a98c SHA512 a37121dd4737c68f72f3172830ac3f26faeb09b4040f2a341b04a87cab26876b437777d512ed416a968d68d6a52e0401c045b78c2eac0f87b3b0bf8ef34e3ba9 WHIRLPOOL 075e48efa2a83d4bedef8b4f0ed5dd96fe41298e4b6c0cd9809d319ddc06e6522a667e72ca9a1218c7427449dd897f878e3bd575f527ded813e04b315e999b13 DIST gtk+-3.22.14.tar.xz 18624808 SHA256 d6120e4fd64e432b74a61e8abd972b1948cf54e4dc4f0e081c05ab625f087131 SHA512 f7b2cfc63f8c849c45dc4f80c8115dcf20d0da63718eedbe133f8ac86c17488a91fecb8a0e47bb6b48f81b06ce6897540d900ab8bfbe673426dacf4f7ef74e8b WHIRLPOOL d971780e6117bc4c7b66dd1ff1842f00fb677d3c1e12b45954b55c0c0978098a452c736ba8107584b3302926270a8483200814d9e76e07945483f5d978d97155 +DIST gtk+-3.22.15.tar.xz 18662944 SHA256 c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb SHA512 c99c4a52bc447a21be20546bdc7808081abde076af9603424c1de20af031ac3f9bd121709d4c18705db8ba2f66ace0aae9b32741347788a8d81afa358d67e758 WHIRLPOOL f0eae97db9ef7e1a3ecedc0d98fb35c4a671774f473c1b6f5a17424e2f6ca3d25e98efd74312bb481addfacbc44b6d2d6a549658d202ed6a7215743678de1d00 diff --git a/x11-libs/gtk+/gtk+-3.22.15.ebuild b/x11-libs/gtk+/gtk+-3.22.15.ebuild new file mode 100644 index 00000000000..b48690742f5 --- /dev/null +++ b/x11-libs/gtk+/gtk+-3.22.15.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 +} |