Gtk2

From CBLFS
Revision as of 17:22, 16 December 2008 by Animeloe (talk | contribs) (Dependencies)
Jump to navigationJump to search
Download Source: http://ftp.gnome.org/pub/gnome/sources/gtk+/2.23/gtk+-2.23.2.tar.bz2
Required Patch (For Multilib): http://svn.cross-lfs.org/svn/repos/patches/gtk+/gtk+-2.23.2-multilib-1.patch

Introduction to Gtk2

The Gtk2 package contains version 2 of the GTK+ libraries. GTK+ is a multi-platform toolkit for creating graphical user interfaces. It is the GUI toolkit that Gnome uses. The current version of Gnome - Gnome 2 - is based on Gtk2.

Project Homepage: http://www.gtk.org/

Dependencies

Required

Recommended

Optional

Configuration Information

--enable-gtk-doc use Gtk-Doc to build documentation.
--with-xinput=yes support XInput, useful for graphic tablets that make use of it. Without it, tools like GIMP will not be able to use the advanced features of the tablet, i.e. pressure, tilt, rotation.

Non-Multilib

The following command prevents a bug with the flash plugin, in Konqueror:

sed -i '/g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);/'\
'i\  g_return_val_if_fail (display != NULL, NULL);' gtk/gtkclipboard.c

Compile the package:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Install the package

make install &&
install -v -m755 -d /usr/share/doc/gtk+-2.23.2/{faq,tutorial} &&
cp -v -R docs/faq/html/* /usr/share/doc/gtk+-2.23.2/faq &&
cp -v -R docs/tutorial/html/* /usr/share/doc/gtk+-2.23.2/tutorial

Multilib

32Bit

The following commands make Gtk put it's configuration information in /etc/gtk-2.0-32:

patch -Np1 -i ../gtk+-2.23.2-multilib-1.patch &&
sed -i "s/BUILDENV/32/" gdk-pixbuf/gdk-pixbuf-io.c \
    gdk-pixbuf/Makefile.am gdk-pixbuf/Makefile.in \
    modules/input/Makefile.am modules/input/Makefile.in \
    gtk/gtkrc.c

The following command prevents a bug with the flash plugin, in Konqueror:

sed -i '/g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);/'\
'i\  g_return_val_if_fail (display != NULL, NULL);' gtk/gtkclipboard.c

Compile the package:

CC="gcc ${BUILD32}" USE_ARCH=32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure --prefix=/usr --sysconfdir=/etc &&
make

Install the package

make install &&
mv -v /usr/bin/gdk-pixbuf-query-loaders{,-32} &&
mv -v /usr/bin/gtk-query-immodules-2.0{,-32}

N32

The following commands make Gtk put it's configuration information in /etc/gtk-2.0-n32:

patch -Np1 -i ../gtk+-2.23.2-multilib-1.patch &&
sed -i "s/BUILDENV/n32/" gdk-pixbuf/gdk-pixbuf-io.c \
    gdk-pixbuf/Makefile.am gdk-pixbuf/Makefile.in \
    modules/input/Makefile.am modules/input/Makefile.in \
    gtk/gtkrc.c

The following command prevents a bug with the flash plugin, in Konqueror:

sed -i '/g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);/'\
'i\  g_return_val_if_fail (display != NULL, NULL);' gtk/gtkclipboard.c

Compile the package:

CC="gcc ${BUILDN32}" USE_ARCH=n32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
./configure --prefix=/usr --libdir=/usr/lib32 \
    --sysconfdir=/etc &&
make

Install the package

make install &&
mv -v /usr/bin/gdk-pixbuf-query-loaders{,-n32} &&
mv -v /usr/bin/gtk-query-immodules-2.0{,-n32}

64Bit

The following commands make Gtk put it's configuration information in /etc/gtk-2.0-64:

patch -Np1 -i ../gtk+-2.23.2-multilib-1.patch &&
sed -i "s/BUILDENV/64/" gdk-pixbuf/gdk-pixbuf-io.c \
    gdk-pixbuf/Makefile.am gdk-pixbuf/Makefile.in \
    modules/input/Makefile.am modules/input/Makefile.in \
    gtk/gtkrc.c

The following command prevents a bug with the flash plugin, in Konqueror:

sed -i '/g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);/'\
'i\  g_return_val_if_fail (display != NULL, NULL);' gtk/gtkclipboard.c

Compile the package:

CC="gcc ${BUILD64}" USE_ARCH=64 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure --prefix=/usr --libdir=/usr/lib64 \
    --sysconfdir=/etc &&
make

Install the package

make install &&
mv -v /usr/bin/gdk-pixbuf-query-loaders{,-64} &&
mv -v /usr/bin/gtk-query-immodules-2.0{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/gdk-pixbuf-query-loaders &&
ln -sfv multiarch_wrapper /usr/bin/gtk-query-immodules-2.0 &&
install -v -m755 -d /usr/share/doc/gtk+-2.23.2/{faq,tutorial} &&
cp -v -R docs/faq/html/* /usr/share/doc/gtk+-2.23.2/faq &&
cp -v -R docs/tutorial/html/* /usr/share/doc/gtk+-2.23.2/tutorial

Contents

Installed Directories: /usr/lib/gtk-2.0/2.23.0/loaders, /usr/lib/gtk-2.0/2.23.0/immodules, /usr/lib64/gtk-2.0/2.23.0/printbackends, /usr/include/gtk-2.0/{gdk-pixbuf,gdk,gtk}, /usr/include/gtk-unix-print-2.0, /usr/include/gtk-unix-print-2.0/gtk, /usr/include/gtk-2.0/gdk-pixbuf-xlib, /usr/share/themes/Raleigh/gtk-2.0, /usr/share/themes/Default/gtk-2.0-key, /usr/share/themes/Emacs/gtk-2.0-key, /usr/share/gtk-2.0/demo
Installed Programs: gdk-pixbuf-csource, gdk-pixbuf-query-loaders, gtk-query-immodules-2.0, gtk-update-icon-cache, gtk-demo
Installed Libraries: libgdk_pixbuf-2.0.{so,la}, libpixbufloader-{png,jpeg,gif,ico,ani,ras,xpm,tiff,pnm,bmp,wbmp,xbm,tga,pcx}.{so,la}, libgdk-x11-2.0.{so,la}, libgtk-x11-2.0.{so,la}, im-xim.{so,la}, im-am-et.{so,la}, im-cedilla.{so,la}, im-cyrillic-translit.{so,la}, im-inuktitut.{so,la}, im-ipa.{so,la}, im-thai-broken.{so,la}, im-ti-er.{so,la}, im-ti-et.{so,la}, im-viqr.{so,la}, libpixmap.{so,la}, libprintbackend-file.{so,la}, libprintbackend-lpr.{so,la}, libgdk_pixbuf_xlib-2.0.{so,la}