# $Id$ PNAME="gtk2+" PVER="2.24.32" PBUILD="r2" SPLIT_PACKAGES="gtk-update-icon-cache gtk2+ gtk2+-dev" 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.56 >= 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.4 >= x11-libs/libXfixes-5 >= x11-libs/libXinerama-1.1 >= x11-libs/libXcomposite-0.4 >= dev-libs/atk-2.28 >= x11-libs/pango-1.40 >= x11-libs/cairo-1.14 >= sys-libs/libstdc++-6.3" # gtk2+-dev runtime deps GTK_DEV_DEPEND=">= dev-libs/glib2-dev-2.56 >= x11-libs/gdk-pixbuf-dev-2.36 >= x11-libs/libXrender-dev-0.9 >= x11-libs/libX11-dev-1.6 >= x11-libs/libXi-dev-1.7 >= x11-libs/libXt-dev-1.1 >= x11-libs/libXext-dev-1.3 >= x11-libs/libXcursor-dev-1.1.10 >= x11-libs/libXrandr-dev-1.4 >= x11-libs/libXfixes-dev-5 >= x11-libs/libXinerama-dev-1.1 >= x11-libs/libXcomposite-dev-0.4 >= dev-libs/atk-dev-2.28 >= x11-libs/pango-dev-1.40 >= x11-libs/cairo-dev-1.14 >= sys-libs/libstdc++-dev-6.3" SDEPEND="${COMMON_DEPEND} ${GTK_DEPEND} >= dev-util/pkgconfig-0.25 >= sys-dev/autoconf-10 >= sys-dev/automake-9 ${GTK_DEV_DEPEND}" SRCFILE="${PNAME/2+/+}-${PVER}.tar.xz" SRCDIR="${BUILDDIR}/${PNAME/2+/+}-${PVER}" # simul linux32 to get config things right EMUL_LINUX_32=true sminclude multilib mbuild mtools cleanutils msetfeature "!check" SRC_URI=( gnome://${PNAME/2+/+}/${PVER%.*}/${SRCFILE} #ftp://ftp.gtk.org/pub/gtk/v${PVER%.*}/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) #UP2DATE="updatecmd_gnome ${PNAME/2/}" # hardcode 2.24 version UP2DATE="updatecmd http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/ | highesttarball xz" # gtk+-2 don't like strong CFLAGS export CFLAGS="${CFLAGS//-O3} -O2" export CXXFLAGS="${CFLAGS}" split_info_gtk-update-icon-cache() { DESCRIPTION="The GTK2+ update icon cache tool." DEPEND="${COMMON_DEPEND}" PCAT="x11-apps" } split_info_gtk2+() { DESCRIPTION="The gimp toolkit v2.x." DEPEND=">= x11-apps/gtk-update-icon-cache-${PVER} ${GTK_DEPEND}" PCAT="x11-libs" } split_info_gtk2+-dev() { DESCRIPTION="Development files for gtk2+." DEPEND="== x11-libs/gtk2+-${PVER} ${GTK_DEV_DEPEND}" PCAT="x11-libs" } src_compile() { local myconf [[ ${ARCH} = x86_64 ]] && myconf=--program-suffix=-$(mabi) mconfigure \ --with-gdktarget=x11 \ --with-xinput \ --disable-gtk-doc \ --disable-introspection \ ${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 else all-abis minstallexec gtk/gtk-update-icon-cache || die fi } src_install_gtk2+() { # needed directories minstalldir /etc/gtk-2.0 || die minstalldir /etc/env.d || die mmake DESTDIR=${BINDIR} install || die # enable xft in environment echo "GDK_USE_XFT=1" > ${BINDIR}/etc/env.d/50gtk2 || die # we regenerate this in the mage-file [ -e ${BINDIR}/etc/gtk-2.0/gtk.immodules ] && rm ${BINDIR}/etc/gtk-2.0/gtk.immodules if [[ ${ARCH} = x86_64 ]] then mlink multiarch-wrapper /usr/bin/gtk-query-immodules-2.0 || die mlink multiarch-wrapper /usr/bin/gtk-demo || die mlink multiarch-wrapper /usr/bin/gtk-builder-convert || die fi zapmost ${BINDIR} \ etc \ usr/bin/gtk-update-icon-cache \ usr/bin/gtk-query-immodules-2.0 \ usr/$(mlibdir)/\*.so.\* \ usr/$(mlibdir)/gtk-2.0/2.10.0/engines/\*.so \ usr/$(mlibdir)/gtk-2.0/2.10.0/immodules/\*.so \ usr/$(mlibdir)/gtk-2.0/2.10.0/printbackends/\*.so \ usr/$(mlibdir)/gtk-2.0/modules/\*.so \ usr/share/themes \ || die } src_install_gtk2+-dev() { mmake DESTDIR=${BINDIR} install || die mdelete -r /etc || die mdelete /usr/bin/gtk-update-icon-cache || die mdelete /usr/bin/gtk-query-immodules-2.0 || die rm ${BINDIR}/usr/$(mlibdir)/*.so.* || die rm ${BINDIR}/usr/$(mlibdir)/gtk-2.0/2.10.0/engines/*.so || die rm ${BINDIR}/usr/$(mlibdir)/gtk-2.0/2.10.0/immodules/*.so || die rm ${BINDIR}/usr/$(mlibdir)/gtk-2.0/2.10.0/printbackends/*.so || die rm ${BINDIR}/usr/$(mlibdir)/gtk-2.0/modules/*.so || die mdelete -r /usr/share/themes || die } preinstall_gtk2+() { add_conf_prot_mask /etc/gtk-2.0 /etc/env.d } postinstall_gtk2+() { if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then local confdir if [[ ${ARCH} = x86_64 ]] then # generate gtk-modules for i686 confdir=/etc/gtk-2.0/i686-pc-linux-gnu install -d ${confdir} gtk-query-immodules-2.0-m32 > ${confdir}/gtk.immodules # remove old pixbuf loaders, now in an extra package if [[ -f ${confdir}/gdk-pixbuf.loaders ]] then rm ${confdir}/gdk-pixbuf.loaders fi fi confdir=/etc/gtk-2.0/${CHOST} install -d ${confdir} gtk-query-immodules-2.0 > ${confdir}/gtk.immodules # remove old pixbuf loaders, now in an extra package if [[ -f ${confdir}/gdk-pixbuf.loaders ]] then rm ${confdir}/gdk-pixbuf.loaders fi fi }