From 94dc69122acf0c3342293b88d24a7f15d9749a78 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 30 May 2023 20:53:31 +0100 Subject: guix.scm: Work around libgit2 repository ownership validation bug. * guix.scm: Import guile-git from (gnu packages guile) and libgit2-1.3 from (gnu packages version-control) with the guix: prefix. (libgit2, guile-git): New variables. (tissue)[inputs]: Use guile-git. --- guix.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'guix.scm') diff --git a/guix.scm b/guix.scm index 953eb3c..08847da 100644 --- a/guix.scm +++ b/guix.scm @@ -17,18 +17,50 @@ ;;; along with tissue. If not, see . (use-modules ((gnu packages fonts) #:select (font-ibm-plex)) + ((gnu packages guile) #:select (guile-git) #:prefix guix:) + ((gnu packages version-control) #:select (libgit2-1.3) #:prefix guix:) ((gnu packages web) #:select (tissue) #:prefix guix:) (guix gexp) (guix git-download) - (guix packages)) + (guix packages) + (guix utils)) (define %source-dir (dirname (current-filename))) +;; Run this version of libgit2 for guile-git until guile-git is +;; updated upstream and https://github.com/libgit2/libgit2/issues/6536 +;; is fixed. +(define-public libgit2 + (package + (inherit guix:libgit2-1.3) + (name "libgit2") + (arguments + (substitute-keyword-arguments (package-arguments guix:libgit2-1.3) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + ;; Disable ownership validation until + ;; https://github.com/libgit2/libgit2/issues/6536 is fixed. + (add-after 'unpack 'disable-ownership-validation + (lambda _ + (substitute* "src/repository.c" + (("git_repository__validate_ownership = true") + "git_repository__validate_ownership = false")))))))))) + +(define-public guile-git + (package + (inherit guix:guile-git) + (inputs + (modify-inputs (package-inputs guix:guile-git) + (replace "libgit2" libgit2))))) + (package (inherit guix:tissue) (source (local-file %source-dir #:recursive? #t #:select? (git-predicate %source-dir))) + (inputs + (modify-inputs (package-inputs guix:tissue) + (replace "guile-git" guile-git))) (native-inputs (modify-inputs (package-native-inputs guix:tissue) (prepend font-ibm-plex)))) -- cgit v1.2.3