blob: ce347d45604ac6087179af86fb392a87c09ae4ac (
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# $Id$
_target=aarch64-linux-gnu
_pkgbase=glib2
pkgbase=${_target}-glib2
pkgname=(${_target}-glib2
#${_target}-glib2-docs
)
pkgver=2.62.0+52c68388
pkgrel=1
pkgdesc="Low level core library"
url="https://wiki.gnome.org/Projects/GLib"
license=(LGPL2.1)
arch=('any')
depends=(${_target}-pcre
#libffi
${_target}-libutil-linux
zlib-aarch64
)
makedepends=(gettext gtk-doc shared-mime-info python libelf git dbus
${_target}-util-linux # for pkgconfig/*.pc
${_target}-pkg-config
)
optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
'libelf: gresource inspection tool')
options=(!emptydirs)
_commit=52c68388f53f1fbc0d25d3a437937cbc25a7f796 # glib-2-62
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 n && debug=yes
cd glib
if [ n != "$RUN_PREPARE" ]; then
if [ 1 = "$ccache" ]; then
export CC=${CC:-ccache ${_target}-gcc}
export CXX=${CXX:-ccache ${_target}-g++}
fi
unset CFLAGS CXXFLAGS
glib_cv_stack_grows=no \
glib_cv_uscore=no \
glib_cv_compliant_posix_memalign=1 \
./configure \
--host=${_target} \
--prefix=/usr/${_target} \
--libdir=/usr/${_target}/lib \
--sysconfdir=/etc \
--with-pcre=system \
--enable-debug=$debug \
--disable-fam
# --enable-gtk-doc \
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
fi
make
}
strip() {
${_target}-strip "$@"
}
objcopy() {
${_target}-objcopy "$@"
}
check() {
local s readelfarch
readelfarch='AArch64'
cd glib
s=$(find . -type f "(" -name "*.so*" -o -name "*.a" ")" -print0 | \
2>/dev/null LC_ALL=C xargs -0 readelf -h | \
sed -n -e '/File:/h;/Machine:/{/'"$readelfarch"'/!{H;x;p}}' | head -10)
if [ -n "$s" ]; then
>&2 echo "some binaries have wrong architecture:"
>&2 echo "$s"
return 1
fi
}
package_glib2() {
cd glib
make DESTDIR="$pkgdir" install
#mv "$pkgdir/usr/share/gtk-doc" "$srcdir"
install -Dt "$pkgdir/usr/${_target}/share/libalpm/hooks" -m644 ../*.hook
# delete all executables
rm -rf "$pkgdir/usr/${_target}/bin"
}
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
}
for p in "${pkgname[@]}"; do
eval "package_${p}() { package_${p/${_target}-/} "'"$@"'"; }"
done
|