diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | guile-git-lib-merge-32-libgit2-1.2.0.patch | 100 |
3 files changed, 109 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = guile-git-lib pkgdesc = Guile bindings for libgit2 pkgver = 0.5.2 - pkgrel = 1 + pkgrel = 2 url = https://gitlab.com/guile-git/guile-git arch = x86_64 arch = i686 @@ -13,7 +13,9 @@ pkgbase = guile-git-lib depends = libgit2>=0.28.0 source = guile-git-lib-0.5.2.tar.gz::https://gitlab.com/guile-git/guile-git/uploads/6450f3991aa524484038cdcea3fb248d/guile-git-0.5.2.tar.gz source = guile-git-lib-merge-31-fix-clone-tests.patch + source = guile-git-lib-merge-32-libgit2-1.2.0.patch sha256sums = 949755a211ad6e905ecdebe66ca35bfaab638d985b9fadc928ad2538d8f5cc95 sha256sums = 15633944c4177fe5f79b97124d3b2c35739ecbe4246305fc2f8271be95b6e3c9 + sha256sums = f353c23e2dae27a715d9dae04bfd269c9262e221082b959e0721e2c4471a7eeb pkgname = guile-git-lib @@ -3,7 +3,7 @@ pkgname=guile-git-lib _pkgname=guile-git pkgver=0.5.2 -pkgrel=1 +pkgrel=2 pkgdesc='Guile bindings for libgit2' arch=('x86_64' 'i686' 'armv7h') url="https://gitlab.com/guile-git/guile-git" @@ -12,10 +12,12 @@ depends=('guile' 'guile-bytestructures' 'libgit2>=0.28.0') makedepends=('git') source=( "${pkgname}-${pkgver}.tar.gz::https://gitlab.com/${_pkgname}/${_pkgname}/uploads/6450f3991aa524484038cdcea3fb248d/${_pkgname}-${pkgver}.tar.gz" - "${pkgname}-merge-31-fix-clone-tests.patch") + "${pkgname}-merge-31-fix-clone-tests.patch" + "${pkgname}-merge-32-libgit2-1.2.0.patch") sha256sums=( '949755a211ad6e905ecdebe66ca35bfaab638d985b9fadc928ad2538d8f5cc95' - '15633944c4177fe5f79b97124d3b2c35739ecbe4246305fc2f8271be95b6e3c9') + '15633944c4177fe5f79b97124d3b2c35739ecbe4246305fc2f8271be95b6e3c9' + 'f353c23e2dae27a715d9dae04bfd269c9262e221082b959e0721e2c4471a7eeb') prepare() { cd "${srcdir}/${_pkgname}-${pkgver}" @@ -31,6 +33,7 @@ prepare() { build() { cd "${srcdir}/${_pkgname}-${pkgver}" + autoreconf -fi ./configure --prefix=/usr make } diff --git a/guile-git-lib-merge-32-libgit2-1.2.0.patch b/guile-git-lib-merge-32-libgit2-1.2.0.patch new file mode 100644 index 000000000000..d1ec23281435 --- /dev/null +++ b/guile-git-lib-merge-32-libgit2-1.2.0.patch @@ -0,0 +1,100 @@ +From 278d23a18df6913bfe87c214d0e6dbeee6996f1d Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Mon, 22 Nov 2021 22:08:31 -0500 +Subject: [PATCH 1/3] structs: Adjust %remote-callbacks for libgit2 v1.2.0. + +Fixes <https://gitlab.com/guile-git/guile-git/-/issues/23>. + +* configure.ac (AC_CHECK_MEMBER) +<git_remote_callbacks.remote_ready>: New member check. +<git_remote_callbacks.resolve_url>: Streamline. +* git/config.scm.in (%have-remote-callbacks-remote-ready?): New variable. +* git/structs.scm (%remote-callbacks): Conditionally add the new +callback 'remote_ready' callback field. +--- + configure.ac | 18 ++++++++++++------ + git/configuration.scm.in | 6 ++++++ + git/structs.scm | 6 ++++++ + 3 files changed, 24 insertions(+), 6 deletions(-) + +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, +-- +GitLab + |