mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-11 10:22:54 +08:00
[25.05] guile-git: 0.9.0 -> 0.10.0 (#441744)
This commit is contained in:
@@ -1,80 +0,0 @@
|
||||
From cc70ed70b19a712babd834806d6fc700b20c020a Mon Sep 17 00:00:00 2001
|
||||
From: Emily <hello@emily.moe>
|
||||
Date: Wed, 22 Jan 2025 23:25:51 +0000
|
||||
Subject: [PATCH 1/2] =?UTF-8?q?structs:=20Omit=20=E2=80=98free=E2=80=99=20?=
|
||||
=?UTF-8?q?field=20from=20=E2=80=98%config-entry=E2=80=99=20on=20libgit2?=
|
||||
=?UTF-8?q?=201.9+.?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
* configure.ac: Check for the ‘free’ field of ‘git_config_entry’.
|
||||
* git/configuration.scm.in (%have-config-entry-free?): New variable.
|
||||
* git/structs.scm (%config-entry): Omit ‘free’ field conditionally.
|
||||
---
|
||||
configure.ac | 10 ++++++++++
|
||||
git/configuration.scm.in | 4 ++++
|
||||
git/structs.scm | 4 +++-
|
||||
3 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b04ca6b..7f8f0b9 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -87,6 +87,16 @@ else
|
||||
fi
|
||||
AC_SUBST([HAVE_CONFIG_ENTRY_BACKEND_TYPE])
|
||||
|
||||
+dnl Does 'git_config_entry' have 'free'? Removed in 1.9.
|
||||
+AC_CHECK_MEMBER([git_config_entry.free], [], [],
|
||||
+ [[#include <git2.h>]])
|
||||
+if test "x$ac_cv_member_git_config_entry_free" = "xyes"; then
|
||||
+ HAVE_CONFIG_ENTRY_FREE="#true"
|
||||
+else
|
||||
+ HAVE_CONFIG_ENTRY_FREE="#false"
|
||||
+fi
|
||||
+AC_SUBST([HAVE_CONFIG_ENTRY_FREE])
|
||||
+
|
||||
dnl Does 'git_diff_options' have 'oid_type'? It's new in 1.7.
|
||||
AC_CHECK_MEMBER([git_diff_options.oid_type], [], [],
|
||||
[[#include <git2.h>]])
|
||||
diff --git a/git/configuration.scm.in b/git/configuration.scm.in
|
||||
index e10b195..864b9ff 100644
|
||||
--- a/git/configuration.scm.in
|
||||
+++ b/git/configuration.scm.in
|
||||
@@ -24,6 +24,7 @@
|
||||
%have-fetch-options-depth?
|
||||
%have-diff-options-oid-type?
|
||||
%have-config-entry-backend-type?
|
||||
+ %have-config-entry-free?
|
||||
%have-GIT_OPT_SET_SERVER_CONNECT_TIMEOUT?
|
||||
%have-GIT_OPT_SET_HOMEDIR?
|
||||
%have-GIT_OPT_SET_USER_AGENT_PRODUCT?))
|
||||
@@ -48,6 +49,9 @@
|
||||
(define %have-config-entry-backend-type?
|
||||
@HAVE_CONFIG_ENTRY_BACKEND_TYPE@)
|
||||
|
||||
+(define %have-config-entry-free?
|
||||
+ @HAVE_CONFIG_ENTRY_FREE@)
|
||||
+
|
||||
(define %have-GIT_OPT_SET_SERVER_CONNECT_TIMEOUT?
|
||||
@HAVE_GIT_OPT_SET_SERVER_CONNECT_TIMEOUT@)
|
||||
|
||||
diff --git a/git/structs.scm b/git/structs.scm
|
||||
index beebd11..b35ae6d 100644
|
||||
--- a/git/structs.scm
|
||||
+++ b/git/structs.scm
|
||||
@@ -505,7 +505,9 @@
|
||||
'())
|
||||
(include-depth ,unsigned-int)
|
||||
(level ,int) ;git_config_level_t
|
||||
- (free ,(bs:pointer int))
|
||||
+ ,@(if %have-config-entry-free?
|
||||
+ `(free ,(bs:pointer int))
|
||||
+ '())
|
||||
,@(if %have-config-entry-backend-type?
|
||||
'()
|
||||
`((payload ,(bs:pointer int))))))) ;removed in 1.8
|
||||
--
|
||||
2.47.0
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
From 595b850c85f55592b94d2218a12084fd7050b508 Mon Sep 17 00:00:00 2001
|
||||
From: Emily <hello@emily.moe>
|
||||
Date: Wed, 22 Jan 2025 23:55:45 +0000
|
||||
Subject: [PATCH 2/2] =?UTF-8?q?structs:=20Add=20=E2=80=98update-refs?=
|
||||
=?UTF-8?q?=E2=80=99=20field=20to=20=E2=80=98%remote-callbacks=E2=80=99=20?=
|
||||
=?UTF-8?q?on=20libgit2=201.9+.?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
* configure.ac: Check for the ‘update_refs’ field of
|
||||
‘git_remote_callbacks’.
|
||||
* git/configuration.scm.in (%have-remote-callbacks-update-refs?): New
|
||||
variable.
|
||||
* git/structs.scm (%remote-callbacks): Add ‘update-refs’ field
|
||||
conditionally.
|
||||
---
|
||||
configure.ac | 10 ++++++++++
|
||||
git/configuration.scm.in | 4 ++++
|
||||
git/structs.scm | 5 ++++-
|
||||
3 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7f8f0b9..a2575f4 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -107,6 +107,16 @@ else
|
||||
fi
|
||||
AC_SUBST([HAVE_DIFF_OPTIONS_OID_TYPE])
|
||||
|
||||
+dnl Does 'git_remote_callbacks' have 'update_refs'? New in 1.9.
|
||||
+AC_CHECK_MEMBER([git_remote_callbacks.update_refs], [], [],
|
||||
+ [[#include <git2.h>]])
|
||||
+if test "x$ac_cv_member_git_remote_callbacks_update_refs" = "xyes"; then
|
||||
+ HAVE_REMOTE_CALLBACKS_UPDATE_REFS="#true"
|
||||
+else
|
||||
+ HAVE_REMOTE_CALLBACKS_UPDATE_REFS="#false"
|
||||
+fi
|
||||
+AC_SUBST([HAVE_REMOTE_CALLBACKS_UPDATE_REFS])
|
||||
+
|
||||
dnl 'GIT_OPT_SET_SERVER_CONNECT_TIMEOUT' & co. are new in 1.7.
|
||||
GUILE_GIT_CHECK_DECLARATION([GIT_OPT_SET_SERVER_CONNECT_TIMEOUT])
|
||||
|
||||
diff --git a/git/configuration.scm.in b/git/configuration.scm.in
|
||||
index 864b9ff..1e82c24 100644
|
||||
--- a/git/configuration.scm.in
|
||||
+++ b/git/configuration.scm.in
|
||||
@@ -25,6 +25,7 @@
|
||||
%have-diff-options-oid-type?
|
||||
%have-config-entry-backend-type?
|
||||
%have-config-entry-free?
|
||||
+ %have-remote-callbacks-update-refs?
|
||||
%have-GIT_OPT_SET_SERVER_CONNECT_TIMEOUT?
|
||||
%have-GIT_OPT_SET_HOMEDIR?
|
||||
%have-GIT_OPT_SET_USER_AGENT_PRODUCT?))
|
||||
@@ -52,6 +53,9 @@
|
||||
(define %have-config-entry-free?
|
||||
@HAVE_CONFIG_ENTRY_FREE@)
|
||||
|
||||
+(define %have-remote-callbacks-update-refs?
|
||||
+ @HAVE_REMOTE_CALLBACKS_UPDATE_REFS@)
|
||||
+
|
||||
(define %have-GIT_OPT_SET_SERVER_CONNECT_TIMEOUT?
|
||||
@HAVE_GIT_OPT_SET_SERVER_CONNECT_TIMEOUT@)
|
||||
|
||||
diff --git a/git/structs.scm b/git/structs.scm
|
||||
index b35ae6d..664a7c1 100644
|
||||
--- a/git/structs.scm
|
||||
+++ b/git/structs.scm
|
||||
@@ -670,7 +670,10 @@ type to 'specified for this to take effect."
|
||||
(transport ,(bs:pointer uint8))
|
||||
(remote-ready ,(bs:pointer void))
|
||||
(payload ,(bs:pointer uint8))
|
||||
- (resolve-url ,(bs:pointer uint8)))))
|
||||
+ (resolve-url ,(bs:pointer uint8))
|
||||
+ ,@(if %have-remote-callbacks-update-refs?
|
||||
+ `((update-refs ,(bs:pointer uint8)))
|
||||
+ '()))))
|
||||
|
||||
(define-record-type <remote-callbacks>
|
||||
(%make-remote-callbacks bytestructure)
|
||||
--
|
||||
2.47.0
|
||||
|
||||
@@ -10,22 +10,17 @@
|
||||
texinfo,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "guile-git";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "guile-git";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lFBoA1VBJRHcZkP3h2gnlXQrMjDFWS4jl9RlF8VVf/Q=";
|
||||
repo = "guile-git";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ihKpEnng6Uemrguecbd25vElEhIu2Efb86aM8679TAc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-structs-Omit-free-field-from-config-entry-on-libgit2.patch
|
||||
./0002-structs-Add-update-refs-field-to-remote-callbacks-on.patch
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
@@ -52,11 +47,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Bindings to Libgit2 for GNU Guile";
|
||||
homepage = "https://gitlab.com/guile-git/guile-git";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ethancedwards8 ];
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ ethancedwards8 ];
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user