pkgname=mingw-w64-clang-aarch64-gettext
pkgver=0.24
pkgrel=2
arch=('any')
pkgdesc='GNU internationalization library (mingw-w64-clang-aarch64)'
depends=('mingw-w64-clang-aarch64-termcap' 'mingw-w64-clang-aarch64-libunistring')
makedepends=('gettext' 'mingw-w64-clang-aarch64-configure')
options=(!strip !buildflags staticlibs)
license=('GPL-2.0-only' 'LGPL-2.0-only' 'GFDL-1.2-only' 'GPL-2.0-or-later')
url="http://www.gnu.org/software/gettext/"
source=(http://ftp.gnu.org/pub/gnu/gettext/gettext-${pkgver}.tar.gz{,.sig}
        intl.pc
        0001-restore-DllMain-symbol.patch
        0024-disable-gnu-format.patch)
sha256sums=('c918503d593d70daf4844d175a13d816afacb667c06fba1ec9dcd5002c1518b7'
            'SKIP'
            '0dc8a3e2c95d79aacaeaacd3c90e41c0f5d6ba9cfbc949a0ca55f4b0fd389d9c'
            'bfd38442d899bee75dc5d919f2bfe4a8fd827eff3fdcf45966f9de5bb5d6f283'
            'ce7ccf6dd3a492cab322253cd67310899b546eccc25821c25cbc047a1a984633')
validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871'  # Daiki Ueno
              '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2'
              '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D'  # Bruno Haible
              'E0FFBD975397F77A32AB76ECB6301D9E1BBEAC08') # Bruno Haible (Open Source Development)

_architectures='aarch64-w64-mingw32'

prepare() {
  cd gettext-$pkgver
  patch -p1 -i ../0001-restore-DllMain-symbol.patch
  patch -p1 -i ../0024-disable-gnu-format.patch
}

build() {
  export USE_COMPILER_WRAPPERS=1
  cd gettext-${pkgver}
  for _arch in ${_architectures}; do
    source mingw-clang-env $_arch
    mkdir -p build-${_arch} && pushd build-${_arch}
    export CFLAGS=-fpermissive CXXFLAGS=-fpermissive
    export MINGW_LDFLAGS="-Wl,--enable-auto-import"
    LIBS="-lssp" ${_arch}-configure \
      --disable-java \
      --disable-native-java \
      --disable-csharp \
      --enable-threads=win32 \
      --without-emacs ..
    [[ $pkgname =~ .*-clang-.* ]] && \
      find . -name libtool -exec sed -i -e 's|-nostdlib||g' {} \+
    make
    popd
  done
}

package() {
  export USE_COMPILER_WRAPPERS=1
  for _arch in ${_architectures}; do
    source mingw-clang-env $_arch
    cd "${srcdir}/${pkgname#mingw-w64-clang-aarch64-}-$pkgver/build-${_arch}"
    make DESTDIR="$pkgdir" install
    rm "$pkgdir/usr/${_arch}/bin/"{autopoint,gettext.sh,gettextize}
    rm -r "$pkgdir/usr/${_arch}/lib/gettext"
    rm -r "$pkgdir/usr/${_arch}/share"
    rm "$pkgdir"/usr/${_arch}/bin/*.exe
    $STRIP --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
    $STRIP -g "$pkgdir"/usr/${_arch}/lib/*.a
    # provide pkgconfig file for iconv library
    install -dm755 "$pkgdir/usr/${_arch}/lib/pkgconfig"
    install -m644 "$srcdir/intl.pc" "$pkgdir/usr/${_arch}/lib/pkgconfig"
    sed -i "$pkgdir/usr/${_arch}/lib/pkgconfig/intl.pc" \
      -e "s|@PREFIX[@]|/usr/${_arch}|g" \
      -e "s|@VERSION[@]|$pkgver|g"
  done
}
