git » cbindgen.git » main » tree

[main] / PKGBUILD

# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>

pkgname=cbindgen
pkgver=0.26.0
pkgrel=1
pkgdesc="A tool for generating C bindings to Rust code"
url="https://github.com/eqrion/cbindgen"
arch=(armv7h 'aarch64')
license=(MPL-2.0)
depends=(
  gcc-libs
  glibc
)
makedepends=(
  cargo
  git
)
checkdepends=(
  cmake
  cython0
  python
)
source=("git+$url#tag=v$pkgver"
"dotcargo.tar.gz")
b2sums=('36ca6db054b7aae73696b7dec2690be047e1dfb1d1fcea14ccbed5de6fd6f4761265c129c7cbea304e3a3b64234545c8e16ea4b9fec3f291a1a47de71824795e' 'SKIP')

prepare() {
  cp -a cargo ~/.cargo
  cd cbindgen
  cargo fetch --locked --target armv7-unknown-linux-gnueabihf
}

build() {
  cd cbindgen

  # Use debug
  export CARGO_PROFILE_RELEASE_DEBUG=2

  # Use LTO
  export CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1

  cargo build --release --frozen --all-targets
}

#check() {
#  cd cbindgen
#  # Tests need nightly features
#  RUSTC_BOOTSTRAP=1 cargo test --frozen
#}

package() {
  cd cbindgen
  install -Dt "$pkgdir/usr/bin" target/release/cbindgen
  install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 CHANGES \
    {README,docs,internals}.md
}

# vim:set sw=2 sts=-1 et