# Maintainer: Kira <[@kira](https://dev.kira-linux.org/kira)> pkgname=bcachefs-tools pkgver=1.39.6 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=('102a17a6e163e210a1adca44977481ff6ec537d932556f598f8f72c2cd187163') b2sums=('6052a721ef9a7aa5887704f23657eab1794f8eb02781b4ddeeb0b7392e3bc1812f958a34d21b724073b5c29e2ed8d81726bb4e63f7fbb420c811e01c161c5296') 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 }