Christoph Reiter e40c90814f Makedepend on gcc/make where needed
This means we no longer need msys2-devel
2021-12-13 22:19:56 +01:00

137 lines
4.3 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
pkgbase=glib2
pkgname=(glib2 glib2-devel glib2-docs)
pkgver=2.68.4
pkgrel=1
pkgdesc="Common C routines used by GTK+ and other libs"
license=(LGPL2)
url="https://www.gtk.org/"
arch=('i686' 'x86_64')
makedepends=('docbook-xsl'
'gamin-devel'
'gcc'
'gtk-doc'
'libffi-devel'
'libiconv-devel'
'libxslt-devel'
'pcre-devel'
'pkg-config'
'python3'
'meson'
'ninja'
'zlib-devel')
source=(https://download.gnome.org/sources/glib/${pkgver%.*}/glib-$pkgver.tar.xz
2.38.2-gconvert-cygwin.patch
2.64-gmodule-cygwin-rebased.patch)
sha256sums=('62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b'
'9054ae2ba34a12bcafa7659f9f21badbfa7aa6114657ed993818cd867ba698f4'
'dc7a6691f1a19c1b5c6765446d39838331126b29cad45594c100c73da737710c')
prepare() {
cd glib-${pkgver}
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/756
patch -p2 -i ${srcdir}/2.38.2-gconvert-cygwin.patch
# Unclear what this is about and why it's not upstream..
# Rebased from cygwin 2.50-gmodule-cygwin.patch
patch -p1 -i ${srcdir}/2.64-gmodule-cygwin-rebased.patch
}
build() {
mkdir "${srcdir}"/build && cd "${srcdir}"/build
meson \
--buildtype=plain \
--prefix=/usr \
-Dfam=true \
-Dgtk_doc=true \
"../glib-${pkgver}"
meson compile
DESTDIR="${srcdir}/dest" meson install
pushd ${srcdir}/dest/usr/share/gdb/auto-load/usr/lib > /dev/null
mv libglib* msys-glib-2.0-0.dll-gdb.py
mv libgobject* msys-gobject-2.0-0.dll-gdb.py
popd > /dev/null
}
check() {
cd "${srcdir}"/build
meson test
}
package_glib2() {
depends=('libxslt' 'libpcre' 'libffi' 'libiconv' 'zlib')
optdepends=('gamin: for gio fam module'
'python3: for gdbus-codegen and gtester-report')
options=('!docs' '!emptydirs')
license=('LGPL')
mkdir -p ${pkgdir}/usr/{bin,lib,share}
cp -f ${srcdir}/dest/usr/bin/*.dll ${pkgdir}/usr/bin/
for file in gapplication gdbus gio-querymodules glib-compile-schemas gobject-query gsettings; do
cp -f ${srcdir}/dest/usr/bin/${file}.exe ${pkgdir}/usr/bin/
done
cp -rf ${srcdir}/dest/usr/lib/gio ${pkgdir}/usr/lib/
cp -rf ${srcdir}/dest/usr/share/gdb ${pkgdir}/usr/share/
mkdir -p ${pkgdir}/usr/share/{man,glib-2.0}
cp -rf ${srcdir}/dest/usr/share/glib-2.0/gdb ${pkgdir}/usr/share/glib-2.0/
cp -rf ${srcdir}/dest/usr/share/glib-2.0/schemas ${pkgdir}/usr/share/glib-2.0/
cp -rf ${srcdir}/dest/usr/share/locale ${pkgdir}/usr/share/
cp -rf ${srcdir}/dest/usr/share/bash-completion ${pkgdir}/usr/share/
for _i in "${pkgdir}/usr/share/bash-completion/completions/"*; do
chmod -x "$_i"
done
}
package_glib2-devel() {
pkgdesc="glib2 headers and libraries"
groups=('development')
depends=("glib2=${pkgver}" 'gettext-devel' 'libffi-devel' 'libiconv-devel' 'pcre-devel' 'zlib-devel')
options=('emptydirs')
mkdir -p ${pkgdir}/usr/{bin,lib,share}
cp -f ${srcdir}/dest/usr/bin/gdbus-codegen ${pkgdir}/usr/bin/
cp -f ${srcdir}/dest/usr/bin/glib-* ${pkgdir}/usr/bin/
rm -f ${pkgdir}/usr/bin/glib-compile-schemas*
cp -f ${srcdir}/dest/usr/bin/gresource* ${pkgdir}/usr/bin/
cp -f ${srcdir}/dest/usr/bin/gtester* ${pkgdir}/usr/bin/
cp -rf ${srcdir}/dest/usr/lib/pkgconfig ${pkgdir}/usr/lib/
cp -f ${srcdir}/dest/usr/lib/*.a ${pkgdir}/usr/lib/
cp -rf ${srcdir}/dest/usr/lib/glib* ${pkgdir}/usr/lib/
cp -rf ${srcdir}/dest/usr/include ${pkgdir}/usr/
cp -rf ${srcdir}/dest/usr/share/aclocal ${pkgdir}/usr/share/
cp -rf ${srcdir}/dest/usr/share/glib-2.0 ${pkgdir}/usr/share/
rm -rf ${pkgdir}/usr/share/glib-2.0/gdb
rm -rf ${pkgdir}/usr/share/glib-2.0/schemas
python3 -m compileall -d "/usr/share/glib-2.0/codegen" "${pkgdir}/usr/share/glib-2.0/codegen"
python3 -O -m compileall -d "/usr/share/glib-2.0/codegen" "${pkgdir}/usr/share/glib-2.0/codegen"
}
package_glib2-docs() {
pkgdesc="Documentation for glib2"
conflicts=('gobject2-docs')
replaces=('gobject2-docs')
license=('custom')
options=('docs' '!emptydirs')
mkdir -p ${pkgdir}/usr/share
cp -rf ${srcdir}/dest/usr/share/gtk-doc ${pkgdir}/usr/share
cd glib-$pkgver/docs
install -m755 -d "${pkgdir}/usr/share/licenses/glib2-docs"
install -m644 reference/COPYING "${pkgdir}/usr/share/licenses/glib2-docs/"
}