# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>

pkgname=file
pkgver=5.47
pkgrel=3
pkgdesc='File type identification utility'
arch=('x86_64' 'aarch64')
license=('BSD-2-Clause-Darwin')
url='https://www.darwinsys.com/file/'
depends=('glibc'
         'bzip2' 'libbz2.so'
         'libseccomp' 'libseccomp.so'
         'xz' 'liblzma.so'
         'zlib' 'libz.so'
         'zstd' 'libzstd.so')
makedepends=('git')
provides=('libmagic.so')
options=('!emptydirs')
# Warning: Upstream commits update file version and date inside each file!
#          Remove these changes from patches when cherry-picking to avoid
#          conflicts!
source=("git+https://github.com/file/file.git#tag=FILE${pkgver//./_}"
        '0000-dummy.keep'
        '0001-Revert-PR-679-matches-too-many-unix-stanza-files-lik.patch'
        '0002-PR-725-inliniac-Revert-previous-and-always-set-offse.patch')
validpgpkeys=('BE04995BA8F90ED0C0C176C471112AB16CB33B3A') # Christos Zoulas
sha256sums=('50ff3cce78907b08d1d6fb5a1af5c686c82c4224452e434a768d008e6c651546'
            'd31f32b819c769a94843fa0efa1d2bae0342c5e7975ad422502e24401636c43a'
            '376d91963745cdf9072b2151cb2a38261eee2189dd60983c578710250cacee6f'
            '7d9efb7a13ee7f5e9c0509d421401f83b2c94e756218b026b6d7d482976ae258')

prepare() {
  cd file

  # apply patch from the source array (should be a pacman feature)
  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    echo "Applying patch $src..."
    patch -Np1 < "../$src"
  done

  autoreconf -fiv
}

build() {
  cd file

  # Fix linking libmagic (vfork needs libpthread)
  CFLAGS+=" -pthread"

  ./configure \
    --prefix=/usr \
    --datadir=/usr/share/file \
    --enable-fsect-man5 \
    --enable-libseccomp
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

check() {
  cd file

  make check
}

package() {
  cd file

  make DESTDIR="$pkgdir" install
  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}

# vim:set ts=2 sw=2 et:
