# Maintainer: Kira <[@kira](https://dev.kira-linux.org/kira)> pkgname=bcachefs-tools pkgver=1.38.8 pkgrel=1 pkgdesc='BCacheFS filesystem utilities' arch=('x86_64') url='https://bcachefs.org/' license=('GPL-2.0-only') _tools_depends=( glibc keyutils libkeyutils.so libaio libaio.so libgcc libsodium libsodium.so libunwind libunwind.so liburcu lz4 libudev.so udev util-linux-libs libblkid.so libuuid.so zlib libz.so zstd libzstd.so ) makedepends=( ${_tools_depends[@]} rust rust-bindgen clang git jq llvm pkgconf ) options=(!lto) source=( https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${pkgver}.tar.gz ) sha256sums=('b1c516bd0da3c4f879748d4cd0cdbd1eb5e7734d54421fb743d16e63a2e015bb') b2sums=('3dd8bbe1b3306e5f20d9c04d7e8f775e9be73e36b4b81868d1336969a24d143219db6b6d6580786761c2e7c5b129bfedb9dd3a9025d648acc35727cb3dba4695') build() { cd ${pkgname}-${pkgver} # this uses malloc_usable_size, which is incompatible with fortification level 3 # https://github.com/koverstreet/bcachefs-tools/issues/237 export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" make \ LIBEXECDIR=/usr/lib \ DESTDIR="${pkgdir}" \ ROOT_SBINDIR="/usr/bin" \ INITRAMFS_DIR=/usr/lib/initcpio } package() { depends=( ${_tools_depends[@]} ) cd ${pkgname}-${pkgver} # this uses malloc_usable_size, which is incompatible with fortification level 3 # https://github.com/koverstreet/bcachefs-tools/issues/237 export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" make \ PREFIX="/usr" \ LIBEXECDIR=/usr/lib \ DESTDIR="${pkgdir}" \ ROOT_SBINDIR="/usr/bin" \ INITRAMFS_DIR=/usr/lib/initcpio \ install # replace incompatible initcpio hooks # rm -rf "${pkgdir}"/usr/lib/initcpio/* # install -dm755 "${pkgdir}"/usr/lib/initcpio/{hooks,install} # install -Dm644 arch/etc/initcpio/hooks/bcachefs "${pkgdir}"/usr/lib/initcpio/hooks/ # install -Dm644 arch/etc/initcpio/install/bcachefs "${pkgdir}"/usr/lib/initcpio/install/ # we do not have initcpio hookers on Kira Linux rm -rf "${pkgdir}"/usr/lib/initcpio # remove dkms module from the main package rm -rf "${pkgdir}"/usr/src # package completions install -dm755 "${pkgdir}"/usr/share/{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} "${pkgdir}"/usr/bin/bcachefs completions bash > "${pkgdir}"/usr/share/bash-completion/completions/bcachefs "${pkgdir}"/usr/bin/bcachefs completions fish > "${pkgdir}"/usr/share/fish/vendor_completions.d/bcachefs.fish "${pkgdir}"/usr/bin/bcachefs completions zsh > "${pkgdir}"/usr/share/zsh/site-functions/_bcachefs }