From 49c8e204e6fee59296ae0e0ddf2db1b9d21d19bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Thu, 13 Jul 2023 11:51:34 -0400
Subject: [PATCH] contrib: bump libgit2

Change-Id: I5bf72d8dcb8c53ee0298fc6cfd4625e7461f8210
---
 CMakeLists.txt                                |  2 +-
 contrib/src/libgit2/0001-fix-getentropy.patch | 25 +++++++++++++++++
 contrib/src/libgit2/SHA512SUMS                |  2 +-
 contrib/src/libgit2/package.json              | 28 +++++++++----------
 contrib/src/libgit2/rules.mak                 |  7 +++--
 5 files changed, 44 insertions(+), 20 deletions(-)
 create mode 100644 contrib/src/libgit2/0001-fix-getentropy.patch

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e30c2f1c75..ba361f15a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -486,7 +486,7 @@ if(MSVC)
         ${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/speexdsp/lib/libspeexdsp.lib
         ${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/webrtc-audio-processing/build/Release/webrtc-audio-processing.lib
         ${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/portaudio/build/Release/portaudio_static_x64.lib
-        ${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/libgit2/msvc/Release/git2.lib
+        ${CMAKE_CURRENT_SOURCE_DIR}/contrib/build/libgit2/build/Release/git2.lib
         /ignore:4006"
    )
 
diff --git a/contrib/src/libgit2/0001-fix-getentropy.patch b/contrib/src/libgit2/0001-fix-getentropy.patch
new file mode 100644
index 0000000000..2df8d3b142
--- /dev/null
+++ b/contrib/src/libgit2/0001-fix-getentropy.patch
@@ -0,0 +1,25 @@
+ src/util/rand.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/util/rand.c b/src/util/rand.c
+index 940faf947..7b3f20774 100644
+--- a/src/util/rand.c
++++ b/src/util/rand.c
+@@ -10,7 +10,7 @@ See <http://creativecommons.org/publicdomain/zero/1.0/>. */
+ #include "rand.h"
+ #include "runtime.h"
+
+-#if defined(GIT_RAND_GETENTROPY)
++#if defined(GIT_RAND_GETENTROPY) && defined(HAVE_SYS_RANDOM_H)
+ # include <sys/random.h>
+ #endif
+
+@@ -85,7 +85,7 @@ GIT_INLINE(int) getseed(uint64_t *seed)
+ 	bits convert;
+ 	int fd;
+
+-# if defined(GIT_RAND_GETENTROPY)
++# if defined(GIT_RAND_GETENTROPY) && defined(HAVE_SYS_RANDOM_H)
+ 	GIT_UNUSED((fd = 0));
+
+ 	if (getentropy(seed, sizeof(uint64_t)) == 0)
diff --git a/contrib/src/libgit2/SHA512SUMS b/contrib/src/libgit2/SHA512SUMS
index 2f9c72fb09..a6f1eac31a 100644
--- a/contrib/src/libgit2/SHA512SUMS
+++ b/contrib/src/libgit2/SHA512SUMS
@@ -1 +1 @@
-347bb68900181b44fa58a0417506c91383adb965607fce049a5b4c57ac9cc286e0a140d164c339b50fb6cd6951f47757c2917a2df44ba004bfaa4fb643946bb8  libgit2-v1.1.0.tar.gz
\ No newline at end of file
+fd73df91710f19b0d6c3765c37c7f529233196da91cf4d58028a8d3840244f11df44abafabd74a8ed1cbe4826d1afd6ff9f01316d183ace0924c65e7cf0eb8d5  libgit2-v1.6.4.tar.gz
\ No newline at end of file
diff --git a/contrib/src/libgit2/package.json b/contrib/src/libgit2/package.json
index 0b5cc65338..0152347245 100644
--- a/contrib/src/libgit2/package.json
+++ b/contrib/src/libgit2/package.json
@@ -1,19 +1,17 @@
 {
     "name": "libgit2",
-    "version": "v1.1.0",
+    "version": "v1.6.4",
     "url": "https://github.com/libgit2/libgit2/archive/__VERSION__.tar.gz",
-    "deps": ["zlib"],
-    "patches": [],
-    "win_patches": [],
-    "project_paths": [
-        "msvc/src/git2.vcxproj"
-    ],
-    "with_env" : "",
-    "custom_scripts": {
-        "pre_build": [
-            "mkdir msvc & cd msvc & cmake .. -G %CMAKE_GENERATOR% -DUSE_HTTPS=OFF -DCURL=OFF -DBUILD_CLAR=OFF -DBUILD_SHARED_LIBS=OFF -DUSE_SSH=OFF -DWINHTTP=OFF"
-        ],
-        "build": [],
-        "post_build": []
-    }
+    "use_cmake" : true,
+    "defines": [
+        "USE_HTTPS=OFF",
+        "CURL=OFF",
+        "BUILD_CLAR=OFF",
+        "BUILD_SHARED_LIBS=OFF",
+        "USE_SSH=OFF",
+        "WINHTTP=OFF",
+        "BUILD_TESTS=OFF",
+        "BUILD_CLI=OFF",
+        "USE_SSH=OFF"
+    ]
 }
\ No newline at end of file
diff --git a/contrib/src/libgit2/rules.mak b/contrib/src/libgit2/rules.mak
index 7d83a33627..fc2323eece 100644
--- a/contrib/src/libgit2/rules.mak
+++ b/contrib/src/libgit2/rules.mak
@@ -1,9 +1,9 @@
 # LIBGIT2
-LIBGIT2_VERSION := 1.1.0
+LIBGIT2_VERSION := 1.6.4
 LIBGIT2_URL := https://github.com/libgit2/libgit2/archive/v${LIBGIT2_VERSION}.tar.gz
 
 PKGS += libgit2
-ifeq ($(call need_pkg,"libgit2 >= 1.1.0"),)
+ifeq ($(call need_pkg,"libgit2 >= 1.6.0"),)
 PKGS_FOUND += libgit2
 endif
 
@@ -17,12 +17,13 @@ $(TARBALLS)/libgit2-v$(LIBGIT2_VERSION).tar.gz:
 libgit2: libgit2-v$(LIBGIT2_VERSION).tar.gz .sum-libgit2
 	$(UNPACK)
 	mv libgit2-$(LIBGIT2_VERSION) libgit2-v$(LIBGIT2_VERSION)
+	$(APPLY) $(SRC)/libgit2/0001-fix-getentropy.patch
 	$(UPDATE_AUTOCONFIG)
 	$(MOVE)
 
 # TODO windows pcre?
 .libgit2: libgit2
 	cd $< && mkdir -p build && cd build \
-    && $(CMAKE) -DCMAKE_C_FLAGS=-fPIC -DUSE_HTTPS=OFF -DCURL=OFF -DUSE_HTTP_PARSER=system -DBUILD_CLAR=OFF -DBUILD_SHARED_LIBS=OFF -DUSE_SSH=OFF -DREGEX_BACKEND=regcomp .. \
+    && $(CMAKE) -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-std=gnu89 -fPIC" -DBUILD_TESTS=OFF -DUSE_HTTPS=OFF -DCURL=OFF -DUSE_HTTP_PARSER=system -DBUILD_CLAR=OFF -DBUILD_SHARED_LIBS=OFF -DUSE_SSH=OFF -DREGEX_BACKEND=regcomp .. \
     && $(MAKE) install
 	touch $@
-- 
GitLab