summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorColin Gillespie <colin@cgillespie.xyz>2023-08-14 18:50:35 +1000
committerSam James <sam@gentoo.org>2023-08-28 07:17:06 +0100
commitfe8b129b2d225bcaf3d9d5c585ba9b3e0f6c02d7 (patch)
tree182d485c9b9d87d21c753eb2b14dca859f2ea68a /sys-fs
parentsys-fs/bcachefs-tools: move binaries to /sbin (diff)
downloadgentoo-fe8b129b2d225bcaf3d9d5c585ba9b3e0f6c02d7.tar.gz
gentoo-fe8b129b2d225bcaf3d9d5c585ba9b3e0f6c02d7.tar.bz2
gentoo-fe8b129b2d225bcaf3d9d5c585ba9b3e0f6c02d7.zip
sys-fs/bcachefs-tools: add 1.2_p20230813
Signed-off-by: Colin Gillespie <colin@cgillespie.xyz> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/bcachefs-tools/Manifest1
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-1.2_p20230813.ebuild256
2 files changed, 257 insertions, 0 deletions
diff --git a/sys-fs/bcachefs-tools/Manifest b/sys-fs/bcachefs-tools/Manifest
index 7837ad2f2f91..feecd9d1f002 100644
--- a/sys-fs/bcachefs-tools/Manifest
+++ b/sys-fs/bcachefs-tools/Manifest
@@ -4,6 +4,7 @@ DIST anyhow-1.0.68.crate 43882 BLAKE2B 0ccd8fcb746344dfa85674fa7c95aa648aed8d401
DIST anyhow-1.0.69.crate 43576 BLAKE2B deb44b3110aee1314dd599b730df8c2f03b7d13c0d945d4ef00a0e30ca74257269e43107be19868adfea331a8c730e0aec2dff3abea704e56bc6a35b9581fe14 SHA512 d65e5c9404a70b1e0af90dd66af157f8c31ad0858f703765d5fc6c828f1fc8db690b17451c4108e3a52a7da2d6c2366e745d7b4bd7d19e6dba3485f7c3a43071
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bcachefs-tools-1.2_p20230813.tar.gz 1014471 BLAKE2B 2daf56f8155dd7a8847501a34ab11e40bf92f9eb7eca28ea835ad6837731147d19ed00edbfca14f4f037cf9492aae4666d50137d16df86fd6823c9cea11d6ccd SHA512 6895fc55c69df5cbb418e3827ced8ad7e6227073111c3320ac9228373025c5501e871a50e2a3daef9ea0fd7b94ce1d0448dd7498a62445dd272d940f5c28d654
DIST bcachefs-tools-24_p20230603.tar.gz 997704 BLAKE2B 147d7460fc06decac72ddbc6425bfdf687daf3f721f649fbc9855ab5924d5214e82938c70cd31f0f98810a57ab851ffe1252ab3b68ceb7ef272102251a1da146 SHA512 e2088f2658fdcfe3bf1e3346e9c037c65da614b4abe7dfc4f957490eba44716e08eb62f745d21f638c1b0a41ba48d33b14cb16e9455eba6a46696fe29365793f
DIST bitfield-0.14.0.crate 16776 BLAKE2B abca546581d912133e7344f049d93b8d793de323eba7780fab162c53a244b845582ec2bd14b529b9491c363c2da6228b7de58407afc554cc718a9df8370f5535 SHA512 703d534f0684b19af68a18048ecff37367ccbe5a52a3e8d987f2420b980e4a20da9640019ca610b1a73841cbe45dbf4d6a1cfb10cf0e7d09f53199b1fcd141fe
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.2_p20230813.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.2_p20230813.ebuild
new file mode 100644
index 000000000000..35de8ac80ee3
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.2_p20230813.ebuild
@@ -0,0 +1,256 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.7.20
+ android_system_properties@0.1.5
+ anyhow@1.0.68
+ atty@0.2.14
+ autocfg@1.1.0
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bumpalo@3.12.0
+ byteorder@1.4.3
+ cc@1.0.79
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ chrono@0.4.23
+ clang-sys@1.6.0
+ clap@4.1.4
+ clap_derive@4.1.0
+ clap_lex@0.3.1
+ codespan-reporting@0.11.1
+ colored@2.0.0
+ core-foundation-sys@0.8.3
+ cxx@1.0.89
+ cxx-build@1.0.89
+ cxxbridge-flags@1.0.89
+ cxxbridge-macro@1.0.89
+ either@1.8.1
+ errno@0.2.8
+ errno-dragonfly@0.1.2
+ fastrand@1.8.0
+ filedescriptor@0.8.2
+ gag@1.0.0
+ getset@0.1.2
+ glob@0.3.1
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.2.6
+ iana-time-zone@0.1.53
+ iana-time-zone-haiku@0.1.1
+ instant@0.1.12
+ io-lifetimes@1.0.4
+ is-terminal@0.4.2
+ itertools@0.9.0
+ js-sys@0.3.61
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.139
+ libudev-sys@0.1.4
+ link-cplusplus@1.0.8
+ linux-raw-sys@0.1.4
+ log@0.4.17
+ memchr@2.5.0
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ num-integer@0.1.45
+ num-traits@0.2.15
+ once_cell@1.17.0
+ os_str_bytes@6.4.1
+ parse-display@0.1.2
+ parse-display-derive@0.1.2
+ paste@1.0.11
+ peeking_take_while@0.1.2
+ pkg-config@0.3.26
+ proc-macro-error@1.0.4
+ proc-macro-error-attr@1.0.4
+ proc-macro2@1.0.50
+ quote@1.0.23
+ redox_syscall@0.2.16
+ regex@1.7.1
+ regex-syntax@0.6.28
+ remove_dir_all@0.5.3
+ rpassword@4.0.5
+ rustc-hash@1.1.0
+ rustix@0.36.7
+ scratch@1.0.3
+ shlex@1.1.0
+ strsim@0.10.0
+ syn@1.0.107
+ tempfile@3.3.0
+ termcolor@1.2.0
+ terminal_size@0.2.3
+ thiserror@1.0.38
+ thiserror-impl@1.0.38
+ time@0.1.45
+ udev@0.7.0
+ unicode-ident@1.0.6
+ unicode-width@0.1.10
+ uuid@1.3.0
+ version_check@0.9.4
+ wasi@0.10.0+wasi-snapshot-preview1
+ wasm-bindgen@0.2.84
+ wasm-bindgen-backend@0.2.84
+ wasm-bindgen-macro@0.2.84
+ wasm-bindgen-macro-support@0.2.84
+ wasm-bindgen-shared@0.2.84
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows-sys@0.42.0
+ windows_aarch64_gnullvm@0.42.1
+ windows_aarch64_msvc@0.42.1
+ windows_i686_gnu@0.42.1
+ windows_i686_msvc@0.42.1
+ windows_x86_64_gnu@0.42.1
+ windows_x86_64_gnullvm@0.42.1
+ windows_x86_64_msvc@0.42.1
+"
+
+# Upstream have a fork of bindgen and use cgit
+declare -A GIT_CRATES=(
+ [bindgen]="https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs;f773267b090bf16b9e8375fcbdcd8ba5e88806a8;rust-bindgen-bcachefs-%commit%/bindgen"
+)
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic multiprocessing python-any-r1 toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ MY_COMMIT=4d04fe42623a2f2b91a75cfa3d3503ab88e48acc
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${PN}-${MY_COMMIT}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/lz4
+ dev-libs/libaio
+ dev-libs/libsodium
+ dev-libs/userspace-rcu
+ sys-apps/keyutils
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+"
+
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ sys-devel/clang
+ virtual/rust
+"
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ default
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ # Patch our cargo-ebuild patch definition to pretend that our GIT_CRATE is upstream's URI.
+ if ! [[ ${PV} == "9999" ]]; then
+ sed -e 's https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs https://evilpiepirate.org/git/rust-bindgen.git ' \
+ -i "${WORKDIR}/cargo_home/config" || die
+ fi
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs fsck.bcachefs mkfs.bcachefs mount.bcachefs
+
+ if use fuse; then
+ dosbin mount.fuse.bcachefs
+ newsbin fsck.bcachefs fsck.fuse.bcachefs
+ newsbin mkfs.bcachefs mkfs.fuse.bcachefs
+ fi
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}