# Description: A multi-platform toolkit for creating graphical user interfaces # URL: http://www.gtk.org/ # Maintainer: Tilman Sauerbeck, tilman at crux dot nu # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu # Depends on: atk hicolor-icon-theme libtiff pango xorg-libsm xorg-libxcursor xorg-libxrandr name=gtk version=2.20.1 release=1 source=(http://download.gnome.org/sources/gtk+/2.20/${name}+-2.20.0.tar.bz2 \ http://download.gnome.org/sources/gtk+/2.20/${name}+-2.20.0-$version.diff.gz \ gdk-pixbuf.loaders \ gtk.immodules \ gtk-register.sh \ ${name}+-$version-cross_compile.patch) build () { cd $SRC/${name}+-2.20.0 zcat $SRC/${name}+-2.20.0-$version.diff.gz | patch -p1 # first we need to build some native tools cp -vr $SRC/${name}+-2.20.0{,.host} cd $SRC/${name}+-2.20.0.host SAVED_CFLAGS="$CFLAGS" SAVED_CXXFLAGS="$CXXFLAGS" SAVED_AR="$AR" SAVED_RANLIB="$RANLIB" SAVED_LD="$LD" unset CC CFLAGS CXX CXXFLAGS AR RANLIB LD # avoid errors due to non-installed dependencies sed -e 's|as_fn_error|_fake_as_fn_error|g' configure > configure.host sed -e 's|_fake_as_fn_error ()|as_fn_error ()|' -i configure.host cat >> configure.host << __EOF__ _fake_as_fn_error() { echo $@ >/dev/null } __EOF__ sh configure.host --prefix=/usr --without-libjasper # gdk-pixbuf-csource.host cd $SRC/${name}+-2.20.0.host/gdk-pixbuf make mv gdk-pixbuf-csource{,.host} # gtk-update-icon-cache.host cd $SRC/${name}+-2.20.0.host/gtk make gtk-update-icon-cache \ CFLAGS="-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0" \ LIBS="-lgio-2.0 -lm" mv gtk-update-icon-cache{,.host} # continue with crosscompilation cd $SRC/${name}+-2.20.0 patch -p1 -i $SRC/gtk+-2.20.1-cross_compile.patch sed -i Makefile.in -e '/SRC_SUBDIRS =/ s/demos //' echo "gio_can_sniff=no" > config.cache echo "ac_cv_path_GDK_PIXBUF_CSOURCE=$SRC/gtk+-2.20.0.host/gdk-pixbuf/gdk-pixbuf-csource.host" >> config.cache echo "ac_cv_path_GTK_UPDATE_ICON_CACHE=$SRC/gtk+-2.20.0.host/gtk/gtk-update-icon-cache.host" >> config.cache export DEFAULT_LIBS="-L$CLFS/usr/lib" export DEFAULT_CFLAGS="-I$CLFS/usr/include" export FONTCONFIG_LIBS="$DEFAULT_LIBS -lfontconfig" export FONTCONFIG_CFLAGS="$DEFAULT_CFLAGS" export GLIB_LIBS="-pthread -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0" export GLIB_CFLAGS="-pthread -I$CLFS/usr/include/glib-2.0 -I$CLFS/usr/lib/glib-2.0/include -I$CLFS/usr/include/gio-unix-2.0" export ATK_LIBS="$GLIB_LIBS -latk-1.0" export ATK_CFLAGS="$GLIB_CFLAGS -I$CLFS/usr/include/atk-1.0" export CAIRO_BACKEND_LIBS="$GLIB_LIBS -lcairo" export CAIRO_BACKEND_CFLAGS="$GLIB_CFLAGS -I$CLFS/usr/include/cairo -I$CLFS/usr/include/pixman-1 -I$CLFS/usr/include/freetype2 -I$CLFS/usr/include/libpng12" export PANGO_LIBS="$GLIB_LIBS -lpangocairo-1.0 -lpango-1.0 $CAIRO_BACKEND_LIBS" export PANGO_CFLAGS="$GLIB_CFLAGS -I$CLFS/usr/include/pango-1.0 $CAIRO_BACKEND_CFLAGS" export BASE_DEPENDENCIES_LIBS="$ATK_LIBS $PANGO_LIBS $FONTCONFIG_LIBS" export BASE_DEPENDENCIES_CFLAGS="$ATK_CFLAGS $PANGO_CFLAGS $FONTCONFIG_CFLAGS" export GTK_DEP_LIBS="$BASE_DEPENDENCIES_LIBS -lX11 -lXfixes" export GTK_DEP_CFLAGS="$BASE_DEPENDENCIES_CFLAGS" export GDK_DEP_LIBS="$GTK_DEP_LIBS -lXext -lXrender -lXrandr -lXcursor -lm" export GDK_DEP_CFLAGS="$GTK_DEP_CFLAGS" export GDK_PIXBUF_DEP_LIBS="$GLIB_LIBS -lgio-2.0 -lm" export GDK_PIXBUF_DEP_CFLAGS="$GLIB_CFLAGS" export GDK_PIXBUF_XLIB_DEP_LIBS="$GDK_PIXBUF_DEP_LIBS -lX11" export GDK_PIXBUF_XLIB_DEP_CFLAGS="$GLIB_CFLAGS" export X_LIBS="$DEFAULT_LIBS -lX11 -lXext -lXrender" export X_CFLAGS="$DEFAULT_CFLAGS" export ATK_PREFIX="$CLFS/usr" export GLIB_PREFIX="$CLFS/usr" export CAIRO_PREFIX="$CLFS/usr" export PANGO_PREFIX="$CLFS/usr" export CC="$CTARGET-gcc" CXX="$CTARGET-g++" export CFLAGS="$SAVED_CFLAGS" CXXFLAGS="$SAVED_CFLAGS" export AR="$SAVED_AR" RANLIB="$SAVED_RANLIB" LD="$SAVED_LD" ./configure --build=$CHOST \ --host=$CTARGET \ --prefix=/usr \ --mandir=/usr/man \ --enable-xkb \ --disable-xinerama \ --disable-glibtest \ --disable-cups \ --with-gdktarget=x11 \ --with-libpng \ --with-libjpeg \ --with-libtiff \ --without-libjasper \ --with-x \ --cache-file=config.cache make make DESTDIR=$PKG install install -d $PKG/usr/etc/gtk-2.0 install -m 644 $SRC/{gtk.immodules,gdk-pixbuf.loaders} $PKG/usr/etc/gtk-2.0/ rm -r $PKG/usr/share/{locale,gtk-doc} install -m 0755 $SRC/gtk-register.sh $PKG/usr/bin/gtk-register }