Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/gtk+/
Date: Sun, 09 Sep 2018 00:13:25
Message-Id: 1536451910.a17c778dcd5f7b58d78c8bc35ae54142891db517.leio@gentoo
1 commit: a17c778dcd5f7b58d78c8bc35ae54142891db517
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 8 22:21:55 2018 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 9 00:11:50 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a17c778d
7
8 x11-libs/gtk+: bump to 3.24.0 for a few new features
9
10 Most notable new features for the gtk3 series with 3.24 over 3.22 are:
11 * The font chooser exposes more advanced OpenType features
12 * Emoji completion support via :emoji-name: style suggestions
13 * New GdkEventController subclasses for more fine-grained control
14 over input events.
15 * Ability to choose color from the screen with Wayland. Requires
16 running under newer gnome-shell than we have at the time of
17 commit or a newer kwin, though.
18
19 3.24.x is now really expected to be the last gtk3 series, but bug fix
20 releases are expected to happen for quite some years to come. Next big
21 thing is gtk4, expected in March 2019.
22
23 Package-Manager: Portage-2.3.49, Repoman-2.3.10
24
25 x11-libs/gtk+/Manifest | 1 +
26 x11-libs/gtk+/gtk+-3.24.0.ebuild | 227 +++++++++++++++++++++++++++++++++++++++
27 2 files changed, 228 insertions(+)
28
29 diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
30 index 000211ae691..63cfee31388 100644
31 --- a/x11-libs/gtk+/Manifest
32 +++ b/x11-libs/gtk+/Manifest
33 @@ -4,3 +4,4 @@ DIST gtk+-2.24.32.tar.xz 12620860 BLAKE2B 03f4c0a8be98473f62bc8c86859937969c4169
34 DIST gtk+-3.22.19.tar.xz 18841024 BLAKE2B dc4c27d022c6766036b16e52b53b4aa3946c41457abaabca390bdba2b720db71b9c584101990928af1bef73dc49f7b71a951ba0000bd52e11aa5306a1d877f18 SHA512 c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2
35 DIST gtk+-3.22.29.tar.xz 18964852 BLAKE2B a7551d604a1e27cba1d0580f2645bf4afff900908ce40d3d4d05cfb7348afc0620922e9b7939cf4ce2314ff489ffe38386aaf2634f3eff6591dfd0a225f19bc7 SHA512 046fa4458626e81ea7b1ddb753d53ecd91d0f2101af428cfdf77fe866bbe430cb3622203cc5e895b220a9364e35009245cdaf76e0cfa30d32d31095b5fcb42bc
36 DIST gtk+-3.22.30.tar.xz 18946084 BLAKE2B 020512f61ae9d265849bb684c55c6ad3f1e1726d73ce169cd482e781e614f22f37ac23bc721b1dc11df03f0d4e07333266cc8549633cb255ca99a85a499108d3 SHA512 31440a615cb2f406d0f904e59febb8f876106f27818ddd6951c76ab9bcb421ca480dae2bebfb1c4b1e03b833fc7c42e9feede053d9d71f19a02fe778e3197b38
37 +DIST gtk+-3.24.0.tar.xz 19273044 BLAKE2B c1ecf7f0cb5e58ce4b3b4f5422b0d479a6078f124cc101e5fabd57c32dd6d8c75c5c90da3db373ff9f71ecec64527adec432775a7ad8f87a85d8d9cdfae097eb SHA512 c82228f31a422d7f180b1157de697d941f2826f9a85a44d2a583564130626c88759a62269bb01f54969e00ff7499db4e1b026dbfb060dda1b6e62f36f3267981
38
39 diff --git a/x11-libs/gtk+/gtk+-3.24.0.ebuild b/x11-libs/gtk+/gtk+-3.24.0.ebuild
40 new file mode 100644
41 index 00000000000..ca759ea53d6
42 --- /dev/null
43 +++ b/x11-libs/gtk+/gtk+-3.24.0.ebuild
44 @@ -0,0 +1,227 @@
45 +# Copyright 1999-2018 Gentoo Foundation
46 +# Distributed under the terms of the GNU General Public License v2
47 +
48 +EAPI=6
49 +GNOME2_LA_PUNT="yes"
50 +
51 +inherit autotools flag-o-matic gnome2 multilib virtualx multilib-minimal
52 +
53 +DESCRIPTION="Gimp ToolKit +"
54 +HOMEPAGE="https://www.gtk.org/"
55 +
56 +LICENSE="LGPL-2+"
57 +SLOT="3"
58 +IUSE="aqua broadway cloudprint colord cups examples +introspection test vim-syntax wayland +X xinerama"
59 +REQUIRED_USE="
60 + || ( aqua wayland X )
61 + xinerama? ( X )
62 +"
63 +
64 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
65 +
66 +# Upstream wants us to do their job:
67 +# https://bugzilla.gnome.org/show_bug.cgi?id=768662#c1
68 +RESTRICT="test"
69 +
70 +# FIXME: introspection data is built against system installation of gtk+:3,
71 +# bug #????
72 +COMMON_DEPEND="
73 + >=dev-libs/atk-2.15[introspection?,${MULTILIB_USEDEP}]
74 + >=dev-libs/glib-2.49.4:2[${MULTILIB_USEDEP}]
75 + media-libs/fontconfig[${MULTILIB_USEDEP}]
76 + >=media-libs/libepoxy-1.4[X(+)?,${MULTILIB_USEDEP}]
77 + >=x11-libs/cairo-1.14[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
78 + >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
79 + >=x11-libs/pango-1.41.0[introspection?,${MULTILIB_USEDEP}]
80 + >=media-libs/harfbuzz-0.9:=
81 + x11-misc/shared-mime-info
82 +
83 + cloudprint? (
84 + >=net-libs/rest-0.7[${MULTILIB_USEDEP}]
85 + >=dev-libs/json-glib-1.0[${MULTILIB_USEDEP}] )
86 + colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
87 + cups? ( >=net-print/cups-1.2[${MULTILIB_USEDEP}] )
88 + introspection? ( >=dev-libs/gobject-introspection-1.39:= )
89 + wayland? (
90 + >=dev-libs/wayland-1.9.91[${MULTILIB_USEDEP}]
91 + >=dev-libs/wayland-protocols-1.12
92 + media-libs/mesa[wayland,${MULTILIB_USEDEP}]
93 + >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
94 + )
95 + X? (
96 + >=app-accessibility/at-spi2-atk-2.5.3[${MULTILIB_USEDEP}]
97 + x11-libs/libX11[${MULTILIB_USEDEP}]
98 + >=x11-libs/libXi-1.3[${MULTILIB_USEDEP}]
99 + x11-libs/libXext[${MULTILIB_USEDEP}]
100 + >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
101 + x11-libs/libXcursor[${MULTILIB_USEDEP}]
102 + x11-libs/libXfixes[${MULTILIB_USEDEP}]
103 + x11-libs/libXcomposite[${MULTILIB_USEDEP}]
104 + x11-libs/libXdamage[${MULTILIB_USEDEP}]
105 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
106 + )
107 +"
108 +DEPEND="${COMMON_DEPEND}
109 + app-text/docbook-xsl-stylesheets
110 + app-text/docbook-xml-dtd:4.1.2
111 + dev-libs/libxslt
112 + dev-libs/gobject-introspection-common
113 + >=dev-util/gdbus-codegen-2.48
114 + dev-util/glib-utils
115 + >=dev-util/gtk-doc-am-1.20
116 + >=sys-devel/gettext-0.19.7[${MULTILIB_USEDEP}]
117 + virtual/pkgconfig[${MULTILIB_USEDEP}]
118 + X? ( x11-base/xorg-proto )
119 + test? (
120 + media-fonts/font-misc-misc
121 + media-fonts/font-cursor-misc )
122 +"
123 +# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
124 +# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
125 +RDEPEND="${COMMON_DEPEND}
126 + >=dev-util/gtk-update-icon-cache-3
127 + !<gnome-base/gail-1000
128 + !<x11-libs/vte-0.31.0:2.90
129 +"
130 +# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
131 +PDEPEND="
132 + gnome-base/librsvg[${MULTILIB_USEDEP}]
133 + >=x11-themes/adwaita-icon-theme-3.14
134 + vim-syntax? ( app-vim/gtk-syntax )
135 +"
136 +
137 +MULTILIB_CHOST_TOOLS=(
138 + /usr/bin/gtk-query-immodules-3.0$(get_exeext)
139 +)
140 +
141 +strip_builddir() {
142 + local rule=$1
143 + shift
144 + local directory=$1
145 + shift
146 + sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \
147 + || die "Could not strip director ${directory} from build."
148 +}
149 +
150 +src_prepare() {
151 + if ! use test ; then
152 + # don't waste time building tests
153 + strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
154 +
155 + # the tests dir needs to be build now because since commit
156 + # 7ff3c6df80185e165e3bf6aa31bd014d1f8bf224 tests/gtkgears.o needs to be there
157 + # strip_builddir SRC_SUBDIRS tests Makefile.{am,in}
158 + fi
159 +
160 + if ! use examples; then
161 + # don't waste time building demos
162 + strip_builddir SRC_SUBDIRS demos Makefile.{am,in}
163 + strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
164 + fi
165 +
166 + # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
167 + eapply "${FILESDIR}"/${PN}-3.22.2-update-icon-cache.patch
168 +
169 + # Fix broken autotools logic
170 + eapply "${FILESDIR}"/${PN}-3.22.20-libcloudproviders-automagic.patch
171 +
172 + eautoreconf
173 + gnome2_src_prepare
174 +}
175 +
176 +multilib_src_configure() {
177 + # need libdir here to avoid a double slash in a path that libtool doesn't
178 + # grok so well during install (// between $EPREFIX and usr ...)
179 + # cloudprovider is not packaged in Gentoo
180 + ECONF_SOURCE=${S} \
181 + gnome2_src_configure \
182 + $(use_enable aqua quartz-backend) \
183 + $(use_enable broadway broadway-backend) \
184 + $(use_enable cloudprint) \
185 + $(use_enable colord) \
186 + $(use_enable cups cups auto) \
187 + $(multilib_native_use_enable introspection) \
188 + $(use_enable wayland wayland-backend) \
189 + $(use_enable X x11-backend) \
190 + $(use_enable X xcomposite) \
191 + $(use_enable X xdamage) \
192 + $(use_enable X xfixes) \
193 + $(use_enable X xkb) \
194 + $(use_enable X xrandr) \
195 + $(use_enable xinerama) \
196 + --disable-cloudproviders \
197 + --disable-mir-backend \
198 + --disable-papi \
199 + --enable-man \
200 + --with-xml-catalog="${EPREFIX}"/etc/xml/catalog \
201 + --libdir="${EPREFIX}"/usr/$(get_libdir) \
202 + CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config"
203 +
204 + # work-around gtk-doc out-of-source brokedness
205 + if multilib_is_native_abi; then
206 + local d
207 + for d in gdk gtk libgail-util; do
208 + ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
209 + done
210 + fi
211 +}
212 +
213 +multilib_src_test() {
214 + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
215 + GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx emake check
216 +}
217 +
218 +multilib_src_install() {
219 + gnome2_src_install
220 +}
221 +
222 +multilib_src_install_all() {
223 + insinto /etc/gtk-3.0
224 + doins "${FILESDIR}"/settings.ini
225 + # Skip README.{in,commits,win32} and useless ChangeLog that would get installed by default
226 + DOCS=( AUTHORS NEWS README )
227 + einstalldocs
228 +}
229 +
230 +pkg_preinst() {
231 + gnome2_pkg_preinst
232 +
233 + multilib_pkg_preinst() {
234 + # Make immodules.cache belongs to gtk+ alone
235 + local cache="usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
236 +
237 + if [[ -e ${EROOT}${cache} ]]; then
238 + cp "${EROOT}"${cache} "${ED}"/${cache} || die
239 + else
240 + touch "${ED}"/${cache} || die
241 + fi
242 + }
243 + multilib_parallel_foreach_abi multilib_pkg_preinst
244 +}
245 +
246 +pkg_postinst() {
247 + gnome2_pkg_postinst
248 +
249 + multilib_pkg_postinst() {
250 + gnome2_query_immodules_gtk3 \
251 + || die "Update immodules cache failed (for ${ABI})"
252 + }
253 + multilib_parallel_foreach_abi multilib_pkg_postinst
254 +
255 + if ! has_version "app-text/evince"; then
256 + elog "Please install app-text/evince for print preview functionality."
257 + elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
258 + elog "add it to your settings.ini file."
259 + fi
260 +}
261 +
262 +pkg_postrm() {
263 + gnome2_pkg_postrm
264 +
265 + if [[ -z ${REPLACED_BY_VERSION} ]]; then
266 + multilib_pkg_postrm() {
267 + rm -f "${EROOT}"usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache
268 + }
269 + multilib_foreach_abi multilib_pkg_postrm
270 + fi
271 +}