# Maintainer: Alexey Pavlov <alexpux@gmail.com>

pkgname=pax
pkgver=20240817
pkgrel=1
pkgdesc='Portable Archive Interchange - the POSIX standard archive tool for cpio and tar formats'
arch=('i686' 'x86_64')
url='https://mbsd.evolvis.org/pax.htm' # Mirror of http://www.mirbsd.org/pax.htm
msys2_references=(
  'archlinux: pax'
  'cpe: cpe:2.3:a:pax_project:pax'
  'gentoo: app-arch/pax'
)
license=('spdx:BSD-3-Clause')
makedepends=('gcc')
provides=("${pkgname}-git")
conflicts=("${pkgname}-git")
replaces=("${pkgname}-git")
source=(
  "https://mbsd.evolvis.org/MirOS/dist/mir/cpio/paxmirabilis-${pkgver}.tgz"
  '0001-Fixes-error-implicit-declaration-of-function-vasprin.patch'
)
noextract=("paxmirabilis-${pkgver}.tgz")
sha256sums=('e955d5d3af97aede0a3f463a9a59b83e8d1083aaf142eb6f388c549a7d182e6b'
            'a1ff89b87ac050600446e0d0fe85c7721e9b40ded3f62115ec59a8ca3cccfecf')

prepare() {
  mkdir -p "${pkgname}-${pkgver}/build"

  bsdtar -xf "paxmirabilis-${pkgver}.tgz" -C "${pkgname}-${pkgver}" --strip-components=1

  cd "${srcdir}/${pkgname}-${pkgver}"

  patch -Nbp1 -i "${srcdir}/0001-Fixes-error-implicit-declaration-of-function-vasprin.patch"
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}/build"

  CPPFLAGS="-DPAX_SAFE_PATH=\\\"/bin:/usr/bin:/usr/local/bin\\\"" \
  sh ../Build.sh -r -tpax

  # license
  sed -n '5,36p' ../pax.h > LICENSE # create license file
  sed -i '1,32s/^.\{,3\}//' LICENSE # erase C comments
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}/build"

  # executables
  install -Dm755 pax -t "${pkgdir}/usr/bin/"
  install -Dm755 paxcpio -t "${pkgdir}/usr/bin/"
  install -Dm755 paxtar -t "${pkgdir}/usr/bin/"

  # man pages
  install -Dm644 mans/*.1 -t "${pkgdir}/usr/share/man/man1/"

  # license
  install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
}
