# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>

pkgname=diffoscope
pkgver=185
pkgrel=1
pkgdesc='Tool for in-depth comparison of files, archives, and directories'
url='https://diffoscope.org/'
arch=('x86_64')
license=('GPL3')
depends=('python-magic' 'python-libarchive-c' 'python-distro' 'python-defusedxml'
         'python-tlsh')
optdepends=(
  'acl: access control list utilities support'
  'binutils: binary utilities support'
  'binwalk: binwalk support'
  'bzip2: bzip2 utilities support'
  'cdrtools: ISO utilities support'
  'colord: ICC profiles support'
  'cpio: cpio archive support'
  'diffutils: diff utilities support'
  'docx2txt: docx comparing support'
  'dtc: device tree comparing support'
  'e2fsprogs: Ext2/3/4 filesystem utilities support'
  'enjarify: Android dex file support'
  'hdf5: Hierarchical Data Format support'
  'imagemagick: ImageMagick identify support'
  'fpc: Free Pascal utilities support'
  'java-environment: java utilities support'
  'libcaca: image compare support'
  'llvm: LLVM bitcode files support'
  'lz4: lz4 compression support'
  'odt2txt: odt comparing support'
  'fontforge: bitmap font utilities support'
  'gettext: GNU internationalization utilities support'
  'ghc: haskell utilities support'
  'giflib: gifbuild utilities support'
  'gnupg: GNU privacy guard support'
  'gnumeric: GNOME Spreadsheet support'
  'mono: mono support'
  'openssh: OpenSSH key comparing support'
  'openssl: .p7c and .p7b certificates. support'
  'pgpdump: PGP files support'
  'poppler: PDF utilities support'
  'r: R language support'
  'radare2: decompiler for executables'
  'sqlite: SQLite support'
  'squashfs-tools: squashfs filesystem support'
  'python-guestfs: guestfs filesystem support'
  'python-argcomplete: completion support'
  'python-jsbeautifier: javascript beautifier support'
  'python-progressbar: show progressbar support'
  'tcpdump: pcap matching support'
  'uboot-tools: FIT image support'
  'unzip: zip utilities support'
  'gzip: gzip utilities support'
  'tar: tar utilities support'
# 'wabt: webassembly support' unittest fails
  'xxd: xxd utilities support'
  'xz: XZ and LZMA utilities support'
  'zstd: zst compression'
)
makedepends=('help2man' 'python-docutils' 'git')
checkdepends=(
  'python-pytest' 'python-jsbeautifier' 'python-h5py' 'acl' 'binutils' 'bzip2' 'cdrtools' 'cpio' 'diffutils' 'e2fsprogs' 'enjarify'
  'hdf5' 'imagemagick' 'java-environment=11' 'fontforge' 'gettext' 'ghc' 'gnupg' 'mono' 'pgpdump' 'poppler' 'sqlite' 'squashfs-tools'
  'lz4' 'unzip' 'gzip' 'tar' 'tcpdump' 'vim' 'xz' 'llvm' 'colord' 'fpc' 'openssh' 'openssl' 'odt2txt' 'docx2txt' 'r' 'dtc' 'giflib'
  'gnumeric' 'python-progressbar' 'binwalk' 'python-argcomplete' 'zstd' 'uboot-tools')
source=(https://diffoscope.org/archive/diffoscope-${pkgver}.tar.bz2{,.asc})
sha512sums=('7d8bdd509bb2d7be7779531d08b3a19a49935083d4d602ea3c42b5605d55bf1c18c5f841cb49377f8f80251ae1ca0ba24bda1f53d4d818811b80d43e2b786381'
            'SKIP')
b2sums=('8fcac58d6dcdf9487766d1ac4a9b6f9a6a4b85657b2f017781790a4d3a95c9f08ac8816bba397c5adf2ec795a4851bad0411e07730b5e3a8e8eee9fe3b9c08ae'
        'SKIP')
validpgpkeys=("C2FE4BD271C139B86C533E461E953E27D4311E58") # "Chris Lamb <chris@chris-lamb.co.uk>"


prepare() {
  cd ${pkgname}-${pkgver}
  sed '/python-magic/d' -i setup.py
}

build() {
  cd ${pkgname}-${pkgver}
  python setup.py build
  make -C doc
}

check() {
  cd ${pkgname}-${pkgver}
  PYTHONPATH=".:${PYTHONPATH}" PYTHONDONTWRITEBYTECODE=1 py.test \
    -k 'not test_ppu and not test_superblock and not test_wasm and not test_text_proper_indentation and not test_different and not test_equal'
    # file upstream bug, see 2cd654b450ce82fb86f55223cc01ba1abdac58a8 in diffoscope.git
    # bug introduced by revert in https://bugs.archlinux.org/task/70261
    # unsquashfs output differs from fixture.
    # ppu bug https://salsa.debian.org/reproducible-builds/diffoscope/issues/9
}

package() {
  cd ${pkgname}-${pkgver}
  python setup.py install --skip-build -O1 --root="${pkgdir}"
  install -Dm 644 README.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
  install -Dm 644 doc/diffoscope.1 -t "${pkgdir}/usr/share/man/man1"
}

# vim: ts=2 sw=2 et:
