# $Id$ PNAME="gtk3+" PVER="3.22.28" PBUILD="r1" SPLIT_PACKAGES="gtk-update-icon-cache gtk3+" PCAT="x11-libs" HOMEPAGE="http://www.gtk.org/" DEPEND_x86_64=">= sys-apps/multiarch-wrapper-1" SPECIAL_VARS="DEPEND_x86_64" COMMON_DEPEND="$(marchdepend) >= dev-libs/glib2-2.54 >= x11-libs/gdk-pixbuf-2.36" GTK_DEPEND=">= x11-libs/libXrender-0.9 >= x11-libs/libX11-1.6 >= x11-libs/libXi-1.7 >= x11-libs/libXt-1.1 >= x11-libs/libXext-1.3 >= x11-libs/libXcursor-1.1.10 >= x11-libs/libXrandr-1.5 >= x11-libs/libXfixes-5 >= x11-libs/libXinerama-1.1 >= x11-libs/libXcomposite-0.4 >= dev-libs/atk-2.26 >= dev-libs/at-spi2-atk-2.26 >= x11-libs/pango-1.40 >= x11-libs/cairo-1.14 >= sys-libs/libstdc++-6.3 >= app-crypt/gnutls-3.6 >= app-crypt/libgcrypt-1.8 >= app-crypt/libgpg-error-1.27 >= net-print/libcups-2.1 >= x11-misc/colord-1.4 >= media-libs/libepoxy-1.4 >= x11-themes/hicolor-icon-theme-0.17 >= x11-themes/adwaita-icon-theme-3.26" SDEPEND="${COMMON_DEPEND} ${GTK_DEPEND} >= dev-util/pkgconfig-0.25 >= sys-dev/autoconf-10 >= sys-dev/automake-9 >= dev-libs/gobject-introspection-1.54 >= media-libs/harfbuzz-1.6" SRCFILE="${PNAME/3+/+}-${PVER}.tar.xz" SRCDIR="${BUILDDIR}/${PNAME/3+/+}-${PVER}" sminclude multilib mtools mbuild msetfeature "!check" SRC_URI=( gnome://${PNAME/3+/+}/${PVER%.*}/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd_gnome ${PNAME/3/}" # gtk+-3 don't like strong CFLAGS export CFLAGS="${CFLAGS//-O3} -O2" export CXXFLAGS="${CFLAGS}" split_info_gtk-update-icon-cache() { DESCRIPTION="The GTK3+ update icon cache tool." DEPEND="${COMMON_DEPEND}" PCAT="x11-apps" } split_info_gtk3+() { DESCRIPTION="The gimp toolkit v3.x." DEPEND=">= x11-apps/gtk-update-icon-cache-${PVER} ${GTK_DEPEND}" PCAT="x11-libs" } src_compile() { local myconf [[ ${ARCH} = x86_64 ]] && myconf+=" --program-suffix=-$(mabi)" # gtk2+ compat, use gtk-update-icon-cache from gtk2 myconf+=" --enable-gtk2-dependency" # never compile schemas myconf+=" --disable-schemas-compile" mconfigure \ --enable-introspection \ --enable-x11-backend \ --enable-xkb \ --enable-xinerama \ --enable-xrandr \ --enable-xfixes \ --enable-xcomposite \ --enable-xdamage \ --enable-colord \ --enable-cups \ --disable-papi \ --disable-gtk-doc \ ${myconf} \ || die # fix issues with --as-needed enabled # see: https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool || die mmake || die } src_install_gtk-update-icon-cache() { minstalldir /usr/bin || die if [[ ${ARCH} = x86_64 ]] then all-abis minstallexec gtk/gtk-update-icon-cache /usr/bin/gtk-update-icon-cache-$(mabi) || die mlink multiarch-wrapper /usr/bin/gtk-update-icon-cache || die all-abis minstallman docs/reference/gtk/gtk-update-icon-cache.1 || die all-abis mlink gtk-update-icon-cache.1 /usr/share/man/man1/gtk-update-icon-cache-$(mabi).1 || die else all-abis minstallexec gtk/gtk-update-icon-cache || die all-abis minstallman docs/reference/gtk/gtk-update-icon-cache.1 || die fi minstalldir /usr/share/gtk-doc/html/gtk3 || die minstallfile docs/reference/gtk/html/gtk-update-icon-cache.html /usr/share/gtk-doc/html/gtk3/ || die } src_install_gtk3+() { # needed directories minstalldir /etc/gtk-3.0 || die mmake DESTDIR=${BINDIR} install || die # remove gtk-update-icon-cache files if [[ ${ARCH} = x86_64 ]] then all-abis mdelete /usr/bin/gtk-update-icon-cache-$(mabi) || die all-abis mdelete /usr/share/man/man1/gtk-update-icon-cache-$(mabi).1 || die else all-abis mdelete /usr/bin/gtk-update-icon-cache || die all-abis mdelete /usr/share/man/man1/gtk-update-icon-cache.1 || die fi mdelete /usr/share/gtk-doc/html/gtk3/gtk-update-icon-cache.html || die # we regenerate this in the mage-file [ -e ${BINDIR}/etc/gtk-3.0/gtk.immodules ] && rm ${BINDIR}/etc/gtk-3.0/gtk.immodules if [[ ${ARCH} = x86_64 ]] then mlink multiarch-wrapper /usr/bin/gtk-query-immodules-3.0 || die mlink multiarch-wrapper /usr/bin/gtk-demo || die mlink multiarch-wrapper /usr/bin/gtk-builder-convert || die fi } postinstall_gtk3+() { if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then local confdir if [[ ${ARCH} = x86_64 ]] then # generate gtk-modules for i686 confdir=/etc/gtk-3.0/i686-pc-linux-gnu install -d ${confdir} gtk-query-immodules-3.0-m32 > ${confdir}/gtk.immodules fi confdir=/etc/gtk-3.0/${CHOST} install -d ${confdir} gtk-query-immodules-3.0 > ${confdir}/gtk.immodules # compile schemas glib-compile-schemas /usr/share/glib-2.0/schemas fi }