96 lines
2.8 KiB
Bash
96 lines
2.8 KiB
Bash
# 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
|
||
|
|
}
|
||
|
|
|