From 1dca2772f81df7d9a66f7a97668c3f9acca141a8 Mon Sep 17 00:00:00 2001 Message-ID: <1dca2772f81df7d9a66f7a97668c3f9acca141a8.1702565894.git.efraim@flashner.co.il> In-Reply-To: References: From: Efraim Flashner Date: Thu, 14 Dec 2023 16:54:11 +0200 Subject: [PATCH 2/2] guix: profiles: Add cargo-registry profile hook. * guix/profiles.scm (cargo-registry): New profile-hook. (%default-profile-hooks): Add cargo-registry. Change-Id: I8642e116e7ff7df2ae2dde77c98d5cfeed85f99d --- guix/profiles.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/guix/profiles.scm b/guix/profiles.scm index ce2f8337bf..129448b2b1 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2014 David Thompson ;;; Copyright © 2022 Arun Isaac +;;; Copyright © 2023 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -1193,6 +1194,29 @@ (define* (ca-certificate-bundle manifest #:optional system) `((type . profile-hook) (hook . ca-certificate-bundle)))) +(define* (cargo-registry manifest #:optional system) + (define build + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let ((registry (string-append #$output "/share/cargo/registry"))) + (mkdir-p registry) + ;; https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration + (with-output-to-file (string-append registry "/config.json") + (lambda _ + (format #t "{~@ + \"dl\": \"~a/{crate}-{version}.crate\",~@ + }~%" + registry))))))) + + (gexp->derivation "cargo-registry" build + #:system system + #:local-build? #t + #:substitutable? #f + #:properties + `((type . profile-hook) + (hook . cargo-registry)))) + (define* (emacs-subdirs manifest #:optional system) (define build (with-imported-modules (source-module-closure @@ -1932,6 +1956,7 @@ (define %default-profile-hooks fonts-dir-file ghc-package-cache-file ca-certificate-bundle + cargo-registry emacs-subdirs gdk-pixbuf-loaders-cache-file glib-schemas -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted