mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: guile-git: Patch to support latest libgit2.
* gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/guile.scm (guile-git)[source]: Use it.
This commit is contained in:
parent
28c2e9642c
commit
f42bc60454
3 changed files with 82 additions and 1 deletions
|
@ -1204,6 +1204,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
|
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
|
||||||
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
|
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
|
||||||
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.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-present-coding.patch \
|
%D%/packages/patches/guile-present-coding.patch \
|
||||||
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
|
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||||
%D%/packages/patches/guile-emacs-fix-configure.patch \
|
%D%/packages/patches/guile-emacs-fix-configure.patch \
|
||||||
|
|
|
@ -792,7 +792,9 @@ (define-public guile-git
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"11a51acibwi2hpaygmrpn6nwbr4lqalc87ihrgj3mhz6swbsk9n7"))))
|
"11a51acibwi2hpaygmrpn6nwbr4lqalc87ihrgj3mhz6swbsk9n7"))
|
||||||
|
(patches (search-patches
|
||||||
|
"guile-git-adjust-for-libgit2-1.2.0.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
|
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
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,
|
Loading…
Reference in a new issue