# Maintainer: xiretza # Contributor: Richard Petri # Contributor: Graham Edgecombe _ARCHS=('generic' 'ice40' 'ecp5' 'nexus' 'gowin' 'himbaechel') pkgname=nextpnr-git pkgver=0.7.r29.gf0859503 pkgrel=1 pkgdesc='Portable FPGA place and route tool' arch=('i686' 'x86_64') url='https://github.com/YosysHQ/nextpnr' license=('custom:ISC') depends=('boost-libs' 'python' 'qt5-base') makedepends=('boost' 'cmake' 'eigen' 'git') provides=("nextpnr=$pkgver") conflicts=('nextpnr') source=('nextpnr::git+https://github.com/YosysHQ/nextpnr.git') sha256sums=('SKIP') _CONFIG=() for _arch in ${_ARCHS[@]}; do case $_arch in ice40) makedepends+=('icestorm') _CONFIG+=('-DICESTORM_INSTALL_PREFIX=/usr') ;; ecp5) # FIXME once prjtrellis-db-git has versioned provides= makedepends+=('prjtrellis' 'prjtrellis-db-git>=r269.566c78d') _CONFIG+=('-DTRELLIS_INSTALL_PREFIX=/usr') ;; nexus) makedepends+=('prjoxide') _CONFIG+=('-DOXIDE_INSTALL_PREFIX=/usr') ;; gowin) makedepends+=('prjapicula') _CONFIG+=('-DGOWIN_BBA_EXECUTABLE=/usr/bin/gowin_bba') ;; himbaechel) makedepends+=('prjapicula') _CONFIG+=('-DHIMBAECHEL_GOWIN_DEVICES=all') ;; generic) ;; *) echo "Unhandled architecture: $_arch" >&2 exit 1 ;; esac done pkgver() { cd "$srcdir/nextpnr" git describe --long --tags | sed 's/^nextpnr-//;s/\([^-]*-g\)/r\1/;s/-/./g' } build() { cd "$srcdir/nextpnr" mkdir -p build cd build cmake \ -DARCH=$(IFS=\;; echo "${_ARCHS[*]}") \ "${_CONFIG[@]}" \ -DBUILD_TESTS=ON \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DUSE_OPENMP=ON \ -DUSE_IPO=OFF \ -DBUILD_GUI=ON \ .. make } check() { cd "$srcdir/nextpnr/build" make test } package() { cd "$srcdir/nextpnr/build" make DESTDIR="$pkgdir" install install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } # vim: set et ts=2: