summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: cd6b74f1f8d4e8b844440e3fed20aa6f84bba196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Maintainer: lks <lukas dot graetz at web dot de>
# based on extra/gtk2: Jan de Groot <jgc@archlinux.org>

pkgbase=gtk2-dfb
pkgname=('gtk2-dfb')
# uncomment this for multi-build
# multi_build = 'yes'
if [ $multi_build ]
  then pkgname=('gtk2-dfb' 'gtk2' 'gtk-update-icon-cache')
fi
pkgver=2.24.27
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
             'shared-mime-info' 'cairo-dfb' 'libcups' 'gdk-pixbuf2' 'gobject-introspection')
license=('LGPL')
source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
        gtkrc xid-collision-debug.patch)
sha256sums=('20cb10cae43999732a9af2e9aac4d1adebf2a9c2e1ba147050976abca5cd24f4'
            'b77a427df55a14182c10ad7e683b4d662df2846fcd38df2aa8918159d6be3ae2'
            'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')

prepare() {
    cd gtk+-$pkgver
    patch -Np1 -i ../xid-collision-debug.patch

    cd ..
    rm -rf gtk2-dfb-build gtk2-build
    mkdir gtk2-dfb-build
    mkdir gtk2-build
}

build_gtk2-dfb() {
    cd gtk2-dfb-build

    # build with --with-gdktarget=directfb
    CXX=/bin/false ../gtk+-$pkgver/configure --prefix=/usr \
        --sysconfdir=/etc \
        --localstatedir=/var \
        --with-xinput=yes \
        --disable-gtk-doc \
        --with-gdktarget=directfb

    # https://bugzilla.gnome.org/show_bug.cgi?id=655517
    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

    make
}

build_gtk2() {
    cd gtk2-build

    CXX=/bin/false ../gtk+-$pkgver/configure --prefix=/usr \
        --sysconfdir=/etc \
        --localstatedir=/var \
        --with-xinput=yes

    # https://bugzilla.gnome.org/show_bug.cgi?id=655517
    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

    make
}

build() {
    build_gtk2-dfb
    if [ $multi_build ]
       then build_gtk2
    fi
}

package_gtk2-dfb() {
    pkgdesc="directfb backend for GTK+"
    install=gtk2-dfb.install
    depends=("gtk2>=${pkgver}" 'cairo-dfb' 'directfb')
    cd gtk2-dfb-build

    mkdir $srcdir/gtk2-dfb-testinstall
    make DESTDIR=$srcdir/gtk2-dfb-testinstall install
    cd $srcdir/gtk2-dfb-testinstall
    mkdir -p $pkgdir/usr/{lib,lib/pkgconfig,include/gtk-2.0/gdk}
    for name in $(find . | grep directfb | grep -v gtk-doc)
        do mv $name $pkgdir/$name
    done
    rm -r $srcdir/gtk2-dfb-testinstall
}

package_gtk2() {
    pkgdesc="GTK+ is a multi-platform toolkit (v2)"
    install=gtk2.install
    depends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 
             'shared-mime-info' 'cairo' 'libcups' 'gtk-update-icon-cache')
    optdepends=('gnome-themes-standard: Default widget theme'
                'gnome-icon-theme: Default icon theme')
    replaces=('gtk2-docs')

    cd gtk2-build
    make DESTDIR="$pkgdir" install

    sed -i "s#env python#env python2#" $pkgdir/usr/bin/gtk-builder-convert

    install -Dm644 "$srcdir/gtkrc" "$pkgdir/usr/share/gtk-2.0/gtkrc"

    #split this out to use with gtk3 too
    rm $pkgdir/usr/bin/gtk-update-icon-cache
}
package_gtk-update-icon-cache() {
    pkgdesc="The GTK+ update icon cache tool"
    depends=('gdk-pixbuf2>=2.24.1-3' 'hicolor-icon-theme')
    install=gtk-update-icon-cache.install

    cd gtk2-build/gtk
    install -D -m755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
}