From patchwork Thu Nov 30 10:57:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosha X-Patchwork-Id: 57158 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 24FBF27BBE9; Thu, 30 Nov 2023 10:59:49 +0000 (GMT) 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 19CC227BBE2 for ; Thu, 30 Nov 2023 10:59:48 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r8eky-00028z-UJ; Thu, 30 Nov 2023 05:58:56 -0500 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 1r8ekx-00028E-7j for guix-patches@gnu.org; Thu, 30 Nov 2023 05:58:55 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r8ekw-00006j-W2 for guix-patches@gnu.org; Thu, 30 Nov 2023 05:58:55 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r8el4-0004eY-WE; Thu, 30 Nov 2023 05:59:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#63065] [PATCH v5 4/7] gnu: Add rust-reflink-0.1. Resent-From: Sughosha Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, guix-patches@gnu.org Resent-Date: Thu, 30 Nov 2023 10:59:02 +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 Cc: Sughosha , Efraim Flashner X-Debbugs-Original-Xcc: Efraim Flashner Received: via spool by 63065-submit@debbugs.gnu.org id=B63065.170134189117755 (code B ref 63065); Thu, 30 Nov 2023 10:59:02 +0000 Received: (at 63065) by debbugs.gnu.org; 30 Nov 2023 10:58:11 +0000 Received: from localhost ([127.0.0.1]:52443 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8ekF-0004cD-31 for submit@debbugs.gnu.org; Thu, 30 Nov 2023 05:58:11 -0500 Received: from layka.disroot.org ([178.21.23.139]:49686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8ek7-0004bP-4f for 63065@debbugs.gnu.org; Thu, 30 Nov 2023 05:58:03 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 7AA234182C; Thu, 30 Nov 2023 11:57:54 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pdWEga4HOVBT; Thu, 30 Nov 2023 11:57:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1701341873; bh=A3dTZKk9Cue75aIutICVNPF/6eop55KpQWLoG9aQqgI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ifuEwBH0GaxCm22etKOZT4pWnjd2Bk/EMO/OyyMkAFfgi1yc9Iaw2XHyhvuPl5Xpz fHHnkztG6srmvqR03VOB+Eo764d2rOam11DGv2I3bj4CxLMAlv/6JU8YJSQt+aYxSq 1bX7G/WCjMgnSC1yDAhjHi4JNc4IWQLHOwZcC5rLMK4J43ct1sy6280/xwzLr4N5Gh ejOLK7ZGXofmJqxjexB/gBk2DvJD5ooTyNblXjbu6KxVJNPBSUnPqnBXVIIi8aKOVR mhugzVK/Sx73OSA1vOq8n5xtQEzdeNaaH0IJVfjIy85Axjyi0vIK88i9jmN5mF12/7 opIp35LAxapGg== Date: Thu, 30 Nov 2023 11:57:25 +0100 Message-ID: <0dae3d385df35a5e55f64d3b7f89d8e6631671e2.1701341707.git.sughosha@disroot.org> In-Reply-To: References: 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/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 c93a7b3659..4445d563c8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1965,6 +1965,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 74332868c4..a67a5e52aa 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -57274,6 +57274,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 {