# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: Sebastian Sareyko <public@nooms.de>

pkgname=gnustep-base
pkgver=1.29.0
pkgrel=3
pkgdesc="The GNUstep base package"
arch=('x86_64' 'aarch64')
url="http://www.gnustep.org/"
license=("GPL" "LGPL")
depends=(libxslt avahi gmp gcc-libs openssl libffi gnutls icu)
makedepends=(gcc-objc gnustep-make)
groups=('gnustep-core')
options=('!emptydirs' '!makeflags')
source=(https://github.com/gnustep/libs-base/releases/download/base-${pkgver//./_}/gnustep-base-${pkgver}.tar.gz{,.sig}
        icu68.patch
        https://github.com/gnustep/libs-base/commit/37913d00.patch)
sha256sums=('fa58eda665c3e0b9c420dc32bb3d51247a407c944d82e5eed1afe8a2b943ef37'
            'SKIP'
            '0b38c3df1a150bc64fb4f37cd92cfc63fa7c0741a77eca940fb992942858d7d0'
            'a7a3bad7bda7e63599677294f0ee0b2273b680168b6fd9b4b4c5618ba8a184d5')
validpgpkeys=('83AAE47CE829A4146EF83420CA868D4C99149679')

prepare() {
  cd $pkgname-$pkgver
  patch -Np0 -i ../icu68.patch
  patch -p1 -i ../37913d00.patch # Fix build with libxml2 2.12
}

build() {
  # this uses malloc_usable_size, which is incompatible with fortification level 3
  export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
  export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"

  cd $pkgname-$pkgver
  source /usr/share/GNUstep/Makefiles/GNUstep.sh
  ./configure --prefix=/usr --sysconfdir=/etc/GNUstep \
	--with-ffi-include=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/
  # fix file ownership
  sed -i 's/tar -xf $(TIMEZONE_ARCHIVE);/tar -xf $(TIMEZONE_ARCHIVE);chown -R root:root * ;/' NSTimeZones/Makefile.postamble
  sed -i 's|.*gnutls_transport_set_lowat.*||' Source/GSSocketStream.m
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  chown -R root.root "$pkgdir/"
}
