| 1 | # Description: A multi-platform toolkit for creating graphical user interfaces |
| 2 | # URL: http://www.gtk.org/ |
| 3 | # Maintainer: Tilman Sauerbeck, tilman at crux dot nu |
| 4 | # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu |
| 5 | # Depends on: atk hicolor-icon-theme libtiff pango xorg-libsm xorg-libxcursor xorg-libxrandr |
| 6 | |
| 7 | name=gtk |
| 8 | version=2.20.1 |
| 9 | release=1 |
| 10 | source=(http://download.gnome.org/sources/gtk+/2.20/${name}+-2.20.0.tar.bz2 \ |
| 11 | http://download.gnome.org/sources/gtk+/2.20/${name}+-2.20.0-$version.diff.gz \ |
| 12 | gdk-pixbuf.loaders \ |
| 13 | gtk.immodules \ |
| 14 | gtk-register.sh \ |
| 15 | ${name}+-$version-cross_compile.patch) |
| 16 | |
| 17 | build () { |
| 18 | cd $SRC/${name}+-2.20.0 |
| 19 | |
| 20 | zcat $SRC/${name}+-2.20.0-$version.diff.gz | patch -p1 |
| 21 | |
| 22 | # first we need to build some native tools |
| 23 | cp -vr $SRC/${name}+-2.20.0{,.host} |
| 24 | cd $SRC/${name}+-2.20.0.host |
| 25 | |
| 26 | SAVED_CFLAGS="$CFLAGS" SAVED_CXXFLAGS="$CXXFLAGS" |
| 27 | SAVED_AR="$AR" SAVED_RANLIB="$RANLIB" SAVED_LD="$LD" |
| 28 | unset CC CFLAGS CXX CXXFLAGS AR RANLIB LD |
| 29 | |
| 30 | # avoid errors due to non-installed dependencies |
| 31 | sed -e 's|as_fn_error|_fake_as_fn_error|g' configure > configure.host |
| 32 | sed -e 's|_fake_as_fn_error ()|as_fn_error ()|' -i configure.host |
| 33 | |
| 34 | cat >> configure.host << __EOF__ |
| 35 | _fake_as_fn_error() { |
| 36 | echo $@ >/dev/null |
| 37 | } |
| 38 | __EOF__ |
| 39 | |
| 40 | sh configure.host --prefix=/usr --without-libjasper |
| 41 | |
| 42 | # gdk-pixbuf-csource.host |
| 43 | cd $SRC/${name}+-2.20.0.host/gdk-pixbuf |
| 44 | make |
| 45 | mv gdk-pixbuf-csource{,.host} |
| 46 | # gtk-update-icon-cache.host |
| 47 | cd $SRC/${name}+-2.20.0.host/gtk |
| 48 | make gtk-update-icon-cache \ |
| 49 | CFLAGS="-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0" \ |
| 50 | LIBS="-lgio-2.0 -lm" |
| 51 | mv gtk-update-icon-cache{,.host} |
| 52 | |
| 53 | # continue with crosscompilation |
| 54 | cd $SRC/${name}+-2.20.0 |
| 55 | patch -p1 -i $SRC/gtk+-2.20.1-cross_compile.patch |
| 56 | |
| 57 | sed -i Makefile.in -e '/SRC_SUBDIRS =/ s/demos //' |
| 58 | |
| 59 | echo "gio_can_sniff=no" > config.cache |
| 60 | echo "ac_cv_path_GDK_PIXBUF_CSOURCE=$SRC/gtk+-2.20.0.host/gdk-pixbuf/gdk-pixbuf-csource.host" >> config.cache |
| 61 | echo "ac_cv_path_GTK_UPDATE_ICON_CACHE=$SRC/gtk+-2.20.0.host/gtk/gtk-update-icon-cache.host" >> config.cache |
| 62 | |
| 63 | export DEFAULT_LIBS="-L$CLFS/usr/lib" |
| 64 | export DEFAULT_CFLAGS="-I$CLFS/usr/include" |
| 65 | |
| 66 | export FONTCONFIG_LIBS="$DEFAULT_LIBS -lfontconfig" |
| 67 | export FONTCONFIG_CFLAGS="$DEFAULT_CFLAGS" |
| 68 | |
| 69 | export GLIB_LIBS="-pthread -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0" |
| 70 | 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" |
| 71 | |
| 72 | export ATK_LIBS="$GLIB_LIBS -latk-1.0" |
| 73 | export ATK_CFLAGS="$GLIB_CFLAGS -I$CLFS/usr/include/atk-1.0" |
| 74 | |
| 75 | export CAIRO_BACKEND_LIBS="$GLIB_LIBS -lcairo" |
| 76 | 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" |
| 77 | |
| 78 | export PANGO_LIBS="$GLIB_LIBS -lpangocairo-1.0 -lpango-1.0 $CAIRO_BACKEND_LIBS" |
| 79 | export PANGO_CFLAGS="$GLIB_CFLAGS -I$CLFS/usr/include/pango-1.0 $CAIRO_BACKEND_CFLAGS" |
| 80 | |
| 81 | export BASE_DEPENDENCIES_LIBS="$ATK_LIBS $PANGO_LIBS $FONTCONFIG_LIBS" |
| 82 | export BASE_DEPENDENCIES_CFLAGS="$ATK_CFLAGS $PANGO_CFLAGS $FONTCONFIG_CFLAGS" |
| 83 | |
| 84 | export GTK_DEP_LIBS="$BASE_DEPENDENCIES_LIBS -lX11 -lXfixes" |
| 85 | export GTK_DEP_CFLAGS="$BASE_DEPENDENCIES_CFLAGS" |
| 86 | |
| 87 | export GDK_DEP_LIBS="$GTK_DEP_LIBS -lXext -lXrender -lXrandr -lXcursor -lm" |
| 88 | export GDK_DEP_CFLAGS="$GTK_DEP_CFLAGS" |
| 89 | |
| 90 | export GDK_PIXBUF_DEP_LIBS="$GLIB_LIBS -lgio-2.0 -lm" |
| 91 | export GDK_PIXBUF_DEP_CFLAGS="$GLIB_CFLAGS" |
| 92 | |
| 93 | export GDK_PIXBUF_XLIB_DEP_LIBS="$GDK_PIXBUF_DEP_LIBS -lX11" |
| 94 | export GDK_PIXBUF_XLIB_DEP_CFLAGS="$GLIB_CFLAGS" |
| 95 | |
| 96 | export X_LIBS="$DEFAULT_LIBS -lX11 -lXext -lXrender" |
| 97 | export X_CFLAGS="$DEFAULT_CFLAGS" |
| 98 | |
| 99 | export ATK_PREFIX="$CLFS/usr" |
| 100 | export GLIB_PREFIX="$CLFS/usr" |
| 101 | export CAIRO_PREFIX="$CLFS/usr" |
| 102 | export PANGO_PREFIX="$CLFS/usr" |
| 103 | |
| 104 | export CC="$CTARGET-gcc" CXX="$CTARGET-g++" |
| 105 | export CFLAGS="$SAVED_CFLAGS" CXXFLAGS="$SAVED_CFLAGS" |
| 106 | export AR="$SAVED_AR" RANLIB="$SAVED_RANLIB" LD="$SAVED_LD" |
| 107 | |
| 108 | ./configure --build=$CHOST \ |
| 109 | --host=$CTARGET \ |
| 110 | --prefix=/usr \ |
| 111 | --mandir=/usr/man \ |
| 112 | --enable-xkb \ |
| 113 | --disable-xinerama \ |
| 114 | --disable-glibtest \ |
| 115 | --disable-cups \ |
| 116 | --with-gdktarget=x11 \ |
| 117 | --with-libpng \ |
| 118 | --with-libjpeg \ |
| 119 | --with-libtiff \ |
| 120 | --without-libjasper \ |
| 121 | --with-x \ |
| 122 | --cache-file=config.cache |
| 123 | |
| 124 | make |
| 125 | make DESTDIR=$PKG install |
| 126 | |
| 127 | install -d $PKG/usr/etc/gtk-2.0 |
| 128 | install -m 644 $SRC/{gtk.immodules,gdk-pixbuf.loaders} $PKG/usr/etc/gtk-2.0/ |
| 129 | rm -r $PKG/usr/share/{locale,gtk-doc} |
| 130 | install -m 0755 $SRC/gtk-register.sh $PKG/usr/bin/gtk-register |
| 131 | } |