~ruther/guix-local

d2159ee9d19a27b06342e2d67b7f0e085e92090a — Ludovic Courtès 2 years ago 2a7f7af
gnu: guile-git: Update to 0.6.0.

* gnu/packages/guile.scm (guile-git): Update to 0.6.0.
[source]: Remove ‘patches’ field.
* gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: I49300461389bc24a9802fbda5e374a330ffc3715
3 files changed, 3 insertions(+), 84 deletions(-)

M gnu/local.mk
M gnu/packages/guile.scm
D gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1404,7 1404,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/guile-fibers-libevent-timeout.patch	\
  %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
  %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
  %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \
  %D%/packages/patches/guile-hurd-posix-spawn.patch		\
  %D%/packages/patches/guile-present-coding.patch		\
  %D%/packages/patches/guile-rsvg-pkgconfig.patch		\

M gnu/packages/guile.scm => gnu/packages/guile.scm +3 -5
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org>


@@ 830,7 830,7 @@ type system, elevating types to first-class status.")
(define-public guile-git
  (package
    (name "guile-git")
    (version "0.5.2")
    (version "0.6.0")
    (home-page "https://gitlab.com/guile-git/guile-git.git")
    (source (origin
              (method git-fetch)


@@ 840,9 840,7 @@ type system, elevating types to first-class status.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "11a51acibwi2hpaygmrpn6nwbr4lqalc87ihrgj3mhz6swbsk9n7"))
              (patches (search-patches
                        "guile-git-adjust-for-libgit2-1.2.0.patch"))))
                "0a3765chjas1dmkl0qc75y6l3hsss6n2awi82jkwzjyfslrlcrgq"))))
    (build-system gnu-build-system)
    (arguments
     `(#:make-flags '("GUILE_AUTO_COMPILE=0")       ; to prevent guild warnings

D gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch => gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch +0 -78
@@ 1,78 0,0 @@
diff --git a/configure.ac b/configure.ac
index 107e6ca..20e9019 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,6 +2,7 @@ dnl Guile-Git --- GNU Guile bindings of libgit2
 dnl Copyright © 2016-2018 Erik Edrosa <erik.edrosa@gmail.com>
 dnl Copyright © 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 dnl Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+dnl Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 dnl
 dnl This file is part of Guile-Git.
 dnl
@@ -43,15 +44,20 @@ AS_IF([test "x$LIBGIT2_LIBDIR" = "x"], [
 ])
 AC_SUBST([LIBGIT2_LIBDIR])
 
+dnl Does the 'git_remote_callbacks' struct have a 'remote_ready' field?
+dnl It was added in 1.2.0, obsoleting 'resolve_url'.
+AC_CHECK_MEMBER([git_remote_callbacks.remote_ready],
+  [HAVE_REMOTE_CALLBACKS_REMOTE_READY="#true"],
+  [HAVE_REMOTE_CALLBACKS_REMOTE_READY="#false"],
+  [[#include <git2.h>]])
+AC_SUBST([HAVE_REMOTE_CALLBACKS_REMOTE_READY])
+
 dnl Does the 'git_remote_callbacks' struct have a 'resolve_url' field?
 dnl It's missing in libgit2 0.28.5, added in 1.0.
-AC_CHECK_MEMBER([git_remote_callbacks.resolve_url], [], [],
+AC_CHECK_MEMBER([git_remote_callbacks.resolve_url],
+  [HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#true"],
+  [HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#false"],
   [[#include <git2.h>]])
-if test "x$ac_cv_member_git_remote_callbacks_resolve_url" = "xyes"; then
-  HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#true"
-else
-  HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#false"
-fi
 AC_SUBST([HAVE_REMOTE_CALLBACKS_RESOLVE_URL])
 
 dnl Those binaries are required for ssh authentication tests.
diff --git a/git/configuration.scm.in b/git/configuration.scm.in
index c45f698..64c4360 100644
--- a/git/configuration.scm.in
+++ b/git/configuration.scm.in
@@ -19,11 +19,17 @@
 
 (define-module (git configuration)
   #:export (%libgit2
+            %have-remote-callbacks-remote-ready?
             %have-remote-callbacks-resolve-url?))
 
 (define %libgit2
   "@LIBGIT2_LIBDIR@/libgit2")
 
+(define %have-remote-callbacks-remote-ready?
+  ;; True if the 'git_remote_callbacks' struct has a
+  ;; 'remote_ready' field.
+  @HAVE_REMOTE_CALLBACKS_REMOTE_READY@)
+
 (define %have-remote-callbacks-resolve-url?
   ;; True if the 'git_remote_callbacks' struct has a 'resolve_url' field.
   @HAVE_REMOTE_CALLBACKS_RESOLVE_URL@)
diff --git a/git/structs.scm b/git/structs.scm
index ca51728..be3d050 100644
--- a/git/structs.scm
+++ b/git/structs.scm
@@ -637,6 +637,12 @@ type to 'specified for this to take effect."
                (push-update-reference ,(bs:pointer uint8))
                (push-negotiation ,(bs:pointer uint8))
                (transport ,(bs:pointer uint8))
+
+               ;; Added in libgit2 1.2.0.
+               ,@(if %have-remote-callbacks-remote-ready?
+                     `((remote-ready ,(bs:pointer uint8)))
+                     '())
+
                (payload ,(bs:pointer uint8))
 
                ;; libgit2 1.0 added this field, which is missing from 0.28.5,