Commit | Line | Data |
---|---|---|
c0d6758d JB |
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 | } |