summaryrefslogtreecommitdiff
path: root/libre/glib2-static/PKGBUILD
blob: 4220009f2eeb2980388cea6757371b22816bb7bd (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
# Maintainer (Arch:glib2) Jan de Groot <jgc@archlinux.org>
# Maintainer: Luke Shumaker <lukeshu@parabola.nu>
# Contributor: Márcio Silva <coadde@hyperbola.info>

pkgname=glib2-static
pkgver=2.56.1
pkgrel=1.static1
pkgdesc="Low level core library"
url="https://wiki.gnome.org/Projects/GLib"
license=(LGPL2.1)
arch=(x86_64)
arch+=(i686 armv7h)
depends=(pcre libffi libutil-linux zlib)
_depends=(pcre-static libffi-static libutil-linux-static zlib)
makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux dbus)
makedepends+=("${_depends[@]}")
checkdepends=(desktop-file-utils)
optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
            'libelf: gresource inspection tool')
options=(!emptydirs)
_commit=d0364b443805dcb832c200fcf8bf58a64fdf3e7d  # tags/2.56.1^0
source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
        noisy-glib-compile-schemas.diff
        glib-compile-schemas.hook gio-querymodules.hook)
sha256sums=('SKIP'
            '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
            'e1123a5d85d2445faac33f6dae1085fdd620d83279a4e130a83fe38db52b62b3'
            '5ba204a2686304b1454d401a39a9d27d09dd25e4529664e3fd565be3d439f8b6')

pkgver() {
  cd glib
  git describe --tags | sed 's/-/+/g'
}

prepare() {
  cd glib

  # Suppress noise from glib-compile-schemas.hook
  patch -Np1 -i ../noisy-glib-compile-schemas.diff

  NOCONFIGURE=1 ./autogen.sh
}

build() {
  local debug=minimum
  check_option debug y && debug=yes

  if [[ $CARCH = i686 ]]; then
    # GTimer has trouble with x87 math, force SSE2 (which is implied
    # on x86_64).
    CFLAGS+=' -msse2 -mfpmath=sse'
  fi

  cd glib
  ./configure \
    --prefix=/usr \
    --libdir=/usr/lib \
    --sysconfdir=/etc \
    --with-pcre=system \
    --enable-debug=$debug \
    --disable-gtk-doc \
    --disable-fam \
    --enable-static
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

check() {
  cd glib
  rm -rf "$srcdir/test-home"
  mkdir "$srcdir/test-home"
  HOME="$srcdir/test-home" make -j1 check
}

package() {
  pkgdesc+=" (static libraries)"
  depends=("glib2=$pkgver")
  optdepends=()
  options=(staticlibs)

  cd glib
  make DESTDIR="$pkgdir" install

  rm -v -- "$pkgdir"/usr/lib/lib*.so*
  rm -vr -- \
     "$pkgdir"/usr/bin/ \
     "$pkgdir"/usr/include/ \
     "$pkgdir"/usr/lib/glib-*/ \
     "$pkgdir"/usr/lib/pkgconfig/ \
     "$pkgdir"/usr/share/
}

package_glib2-docs() {
  pkgdesc="Documentation for GLib"
  depends=()
  optdepends=()
  license+=(custom)

  mkdir -p "$pkgdir/usr/share"
  mv gtk-doc "$pkgdir/usr/share"

  install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING
}