[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1.
From: |
Sughosha |
Subject: |
[bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1. |
Date: |
Wed, 1 Nov 2023 10:19:55 +0100 |
* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
---
gnu/local.mk | 1 +
gnu/packages/crates-io.scm | 25 +++++++++++++++++++
...k-0.1-fix-64bit-toolchain-assumption.patch | 24 ++++++++++++++++++
3 files changed, 50 insertions(+)
create mode 100644
gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index d0867724e1..4718ad49a5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1960,6 +1960,7 @@ dist_patch_DATA =
\
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \
%D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
+ %D%/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
\
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \
%D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a29e676541..4c63f838db 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -57259,6 +57259,31 @@ (define-public rust-ref-cast-test-suite-0.0.0
(description "Test suite of the ref-cast crate.")
(license (list license:expat license:asl2.0))))
+(define-public rust-reflink-0.1
+ (package
+ (name "rust-reflink")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "reflink" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))
+ (patches
+ (search-patches
+ "rust-reflink-0.1-fix-64bit-toolchain-assumption.patch"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.3))))
+ (home-page "https://github.com/nicokoch/reflink")
+ (synopsis "Copy-on-write mechanism on supported file systems")
+ (description "This package provides copy-on-write mechanism on supported
+file systems.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-refpool-0.4
(package
(name "rust-refpool")
diff --git
a/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
new file mode 100644
index 0000000000..c16e1f720c
--- /dev/null
+++ b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
@@ -0,0 +1,24 @@
+This patch fixes assuming a 64-bit toolchain.
+https://github.com/nicokoch/reflink/pull/5
+
+
+--- reflink-0.1.3/src/sys/unix.rs 2019-04-02 16:13:06.000000000 +0200
++++ "reflink-0.1.3 (Kopie)/src/sys/unix.rs" 2023-06-29 09:47:26.867681403
+0200
+@@ -7,7 +7,7 @@
+ use std::os::unix::io::AsRawFd;
+
+ // TODO is this equal on all archs? Just tested on x86_64 and x86.
+- const IOCTL_FICLONE: u64 = 0x40049409;
++ macro_rules! IOCTL_FICLONE { () => (0x40049409) };
+
+ let src = fs::File::open(&from)?;
+
+@@ -18,7 +18,7 @@
+ .open(&to)?;
+ let ret = unsafe {
+ // http://man7.org/linux/man-pages/man2/ioctl_ficlonerange.2.html
+- libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE, src.as_raw_fd())
++ libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE!(), src.as_raw_fd())
+ };
+
+ if ret == -1 {
--
2.41.0
- [bug#63065] [PATCH v4 0/7] gnu: Add yabridgectl, Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6., Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2., Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 3/7] gnu: Add rust-promptly., Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1.,
Sughosha <=
- [bug#63065] [PATCH v4 5/7] gnu: Add rust-ryu-0.2., Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1., Sughosha, 2023/11/01
- [bug#63065] [PATCH v4 7/7] gnu: Add yabridgectl., Sughosha, 2023/11/01