Subject: Re: [bug#54611] [WIP PATCH] gnu: Update libgit2 to 1.4.2

From: Maxime Devos <[email-masked]>
Date: Thu, 31 Mar 2022 19:11:08 +0200

Maxime Devos schreef op di 29-03-2022 om 22:30 [+0200]:
> Maxime Devos schreef op ma 28-03-2022 om 15:12 [+0200]:
> > Patch is not yet ready (I'm looking at the source code diff for
> > anything ‘suspicious’), just reserving a bug number and avoiding
> > double
> > work.  Will send an actual patch later.
> 
> Looks like it cannot find libssh2:

With the attached patch, libgit2 actually finds libssh2.
Next steps:

* [ ] verify it builds on a 32-bit arch (maybe i686-linux)
* [ ] verify it cross-compiles
* [ ] verify that dependents still build.

If someone has a x86_64 and is interested in a reproducibility check:

# store item returned by "./pre-inst-env guix build libgit2 --no-
grafts"
$ ./pre-inst-env guix hash -r /gnu/store/5sm6dz6jjn7bgnqlakhlw72ncfxdyh2n-libgit2-1.4.2
1g3qbpca5j5s7iklx5ln6pi4aw0ycx69djiajgzqmw7k64b935qb

Greetings,
Maxime.
From a7df2fe70f38cfb53084e1bea14e90836fa8caa5 Mon Sep 17 00:00:00 2001
From: Maxime Devos <[email-masked]>
Date: Thu, 31 Mar 2022 16:34:47 +0000
Subject: [PATCH] gnu: libgit2: Update to 1.4.2.

* gnu/packages/version-control.scm (libgit2)
  [version]: Update to 1.4.2.
  [arguments]<#:configure-flags>: Explicitly enable SSH support.
  [arguments]<#:phases>{check}: Adjust to new test runner name.
  [arguments]<#:phases>{fix-hardcoded-paths}: Remove obsolete phase.
---
 gnu/packages/version-control.scm | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9489cf9980..f48c5d2b53 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -44,6 +44,7 @@
 ;;; Copyright © 2021 jgart <[email-masked]>
 ;;; Copyright © 2021 Foo Chuan Wei <[email-masked]>
 ;;; Copyright © 2022 Jai Vetrivelan <[email-masked]>
+;;; Copyright © 2022 Maxime Devos <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -789,7 +790,7 @@ to GitHub contributions calendar.")
 (define-public libgit2
   (package
     (name "libgit2")
-    (version "1.3.0")
+    (version "1.4.2")
     (source (origin
               ;; Since v1.1.1, release artifacts are no longer offered (see:
               ;; https://github.com/libgit2/libgit2/discussions/5932#discussioncomment-1682729).
@@ -800,7 +801,7 @@ to GitHub contributions calendar.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd"))
+                "0xd5w2kzdafipf10sdjmrzzsi12q8rkpcafajwlnmwvrbg6ldvs5"))
               (modules '((guix build utils)))
               (snippet '(delete-file-recursively "deps"))))
     (build-system cmake-build-system)
@@ -810,6 +811,7 @@ to GitHub contributions calendar.")
        (list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this
              "-DREGEX_BACKEND=pcre2"
              "-DUSE_HTTP_PARSER=system"
+             "-DUSE_SSH=ON" ; cmake fails to find libssh if this is missing
              ,@(if (%current-target-system)
                    `((string-append
                       "-DPKG_CONFIG_EXECUTABLE="
@@ -820,18 +822,11 @@ to GitHub contributions calendar.")
                    '()))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-hardcoded-paths
-           (lambda _
-             (substitute* "tests/repo/init.c"
-               (("#!/bin/sh") (string-append "#!" (which "sh"))))
-             (substitute* "tests/clar/fs.h"
-               (("/bin/cp") (which "cp"))
-               (("/bin/rm") (which "rm")))))
          ;; Run checks more verbosely, unless we are cross-compiling.
          (replace 'check
            (lambda* (#:key (tests? #t) #:allow-other-keys)
              (if tests?
-                 (invoke "./libgit2_clar" "-v" "-Q")
+                 (invoke "./libgit2_tests" "-v" "-Q")
                  ;; Tests may be disabled if cross-compiling.
                  (format #t "Test suite not run.~%")))))))
     (inputs

base-commit: 9a31942cabb5c73174aee96ecd873fcf89955a9d
-- 
2.30.2