move the dragora-mouse tool to archive/dragora-tools/ directory
[dragora.git] / recipes / libs / glib2 / recipe
blob276612a13f97600e752244bdc20ad1310d398975
1 # Build recipe for glib (release 2).
3 # Copyright (c) 2017-2019 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 #    http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 program=glib
18 version=2.58.3
19 short_version=2.58
20 release=1
22 # Set 'outdir' for a nice and well-organized output directory
23 outdir="${outdir}/${arch}/libs"
25 pkgname=glib2
27 tarname=${program}-${version}.tar.xz
29 # Remote source(s)
30 fetch=http://download.gnome.org/sources/glib/${short_version}/$tarname
32 description="
33 General purpose library of C routines.
35 GLib is the low-level core library that forms the basis for projects
36 such as GTK+ and GNOME.  It provides data structure handling for C,
37 portability wrappers, and interfaces for such runtime functionality
38 as an event loop, threads, dynamic loading, and an object system.
41 homepage=http://wiki.gnome.org/Projects/GLib
42 license=LGPLv2.1
44 # Source documentation
45 docs="AUTHORS COPYING HACKING NEWS README"
46 docsdir="${docdir}/${program}-${version}"
48 build()
50     set -e
52     unpack "${tardir}/$tarname"
54     cd "$srcdir"
56     # Set sane permissions
57     chmod -R u+w,go-w,a+rX-s .
59     mkdir -p build
60     cd build
62     CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
63     meson setup $configure_args \
64      --libdir /usr/lib${libSuffix} \
65      --buildtype=release \
66      --strip \
67      -Diconv=libc \
68      -Dxattr=true \
69      -Dlibmount=true \
70      -Dforce_posix_threads=true \
71      -Dinternal_pcre=false \
72      -Dman=false \
73      -Dgtk_doc=false \
74      -Dfam=false \
75      -Dselinux=false \
76      ..
78     ninja
79     DESTDIR="$destdir" ninja install
81     cd ..
83     # Delete generated charset.alias
84     rm -f "${destdir}/usr/lib${libSuffix}/charset.alias"
86     # Compress and link man pages (if needed)
87     if test -d "${destdir}/$mandir"
88     then
89         (
90             cd "${destdir}/$mandir"
91             find . -type f -exec lzip -9 '{}' +
92             find . -type l | while read -r file
93             do
94                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
95                 rm -- "$file"
96             done
97         )
98     fi
100     # Copy documentation
101     mkdir -p "${destdir}${docsdir}"
102     cp -p $docs "${destdir}${docsdir}"