From patchwork Thu Jun 29 10:25:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosha X-Patchwork-Id: 51426 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7E09227BBEA; Thu, 29 Jun 2023 11:27:17 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 06DC827BBE9 for ; Thu, 29 Jun 2023 11:27:16 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qEorq-0007RT-Lc; Thu, 29 Jun 2023 06:27:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qEore-0007Mc-BK for guix-patches@gnu.org; Thu, 29 Jun 2023 06:27:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qEore-0007Vz-2X for guix-patches@gnu.org; Thu, 29 Jun 2023 06:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qEord-00040B-UN for guix-patches@gnu.org; Thu, 29 Jun 2023 06:27:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63065] [PATCH v2 13/16] gnu: Add rust-reflink-0.1. References: In-Reply-To: Resent-From: Sughosha Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Jun 2023 10:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63065 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "63065@debbugs.gnu.org" <63065@debbugs.gnu.org> Received: via spool by 63065-submit@debbugs.gnu.org id=B63065.168803436315250 (code B ref 63065); Thu, 29 Jun 2023 10:27:01 +0000 Received: (at 63065) by debbugs.gnu.org; 29 Jun 2023 10:26:03 +0000 Received: from localhost ([127.0.0.1]:52384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEoqg-0003xt-Ff for submit@debbugs.gnu.org; Thu, 29 Jun 2023 06:26:03 -0400 Received: from mail-4318.protonmail.ch ([185.70.43.18]:42001) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEoqd-0003xO-GL for 63065@debbugs.gnu.org; Thu, 29 Jun 2023 06:26:00 -0400 Date: Thu, 29 Jun 2023 10:25:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1688034353; x=1688293553; bh=sRwF85N5S5iDWnV8C0Ek7loERL5HSDjRw/GFgG+og2Y=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=SQQJLzPVNfIpO0639WRmsfz+eWmeHYlXV44PvMrmS0h0p+D9it0VyAkU0OEr/hANt LzJ2fhWEiW8M77p0MxcY+3B+RDyH5wm6IYYSXfF9qfdfjL6uyjyh6VE2V/W1nVmmW1 Z9jwJIcwOoHk97NyvrJsX4vfnNTcFRmlHZefbyygelwrylE0EdkaJv2EwVdhg9EAQF 4V3y6f4bHpb8aIaRS459rF3vWVjDKZ/q5y3lwVBS5Qk1bS3aZyxclxapEgQYyTRa3Z ZMd6/h53pZQArhwpGlTV7xp8xSAkGZrbg4gp/m40G0EnDOFl6iifLIGSOUbUnmHEOD bNag7FnklVJsA== Message-ID: Feedback-ID: 45211691:user:proton MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Sughosha X-ACL-Warn: , Sughosha via Guix-patches X-Patchwork-Original-From: Sughosha via Guix-patches via From: Sughosha Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/crates-io.scm (rust-reflink-0.1): New variable. * gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch: New patch file. * gnu/local.mk: Register it. --- 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 e05602c4e5..dbb2143906 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1895,6 +1895,7 @@ dist_patch_DATA = \ %D%/packages/patches/rust-nettle-disable-vendor.patch \ %D%/packages/patches/rust-nettle-sys-disable-vendor.patch \ %D%/packages/patches/rust-openssl-sys-no-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 315b1e8656..3874fddd09 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49691,6 +49691,31 @@ (define-public rust-ref-cast-impl-0.2 (base32 "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck")))))) +(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 {