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

pkgname=r2ghidra
_gitcommit=f244bfa72677d10e5bd41183e0e51255b833b499
_ghidra_native=358132818b1055cd6bbfdb8c08819a79e1e9cde8
pkgver=5.4.1
pkgrel=1
pkgdesc='Deep ghidra decompiler integration for radare2 and iaito'
url='https://github.com/radareorg/r2ghidra'
arch=('x86_64')
license=('LGPL3')
depends=('radare2' 'glibc')
makedepends=('git' 'cmake')
provides=('radare2-r2ghidra')
replaces=('r2ghidra-dec')
source=("git+https://github.com/radareorg/r2ghidra#commit=${_gitcommit}"
        "git+https://github.com/radareorg/ghidra-native.git#commit=${_ghidra_native}"
        git+https://github.com/zeux/pugixml.git)
sha512sums=('SKIP'
            'SKIP'
            'SKIP')

pkgver() {
  cd ${pkgname}
  git describe --tags --match '5*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  cd ${pkgname}
  git submodule init
  git config submodule."third-party/pugixml".url "${srcdir}/pugixml"
  git submodule update --recursive
  ln -sf "${srcdir}/ghidra-native" ghidra-native
}

build() {
  cd ${pkgname}
  make -C ghidra-native patch
  cmake \
    -B build \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=None \
    -DBUILD_SLASPECS=ON
  make -C build VERBOSE=1
}

package() {
  cd ${pkgname}
  make -C build -j1 DESTDIR="${pkgdir}" install
  # move shared library into R2_LIBR_PLUGINS
  r2version=$(r2 -version|grep radare2|sed -E 's/radare2 ([0-9\.]+) .*/\1/')
  install -d "${pkgdir}/usr/lib/radare2"
  mv "${pkgdir}/usr/lib/radare2/last" "${pkgdir}/usr/lib/radare2/${r2version}"
  ln -s /usr/lib/radare2/${r2version} "${pkgdir}/usr/lib/radare2/last"
}

# vim: ts=2 sw=2 et:
