Skip to content
Snippets Groups Projects
Commit 2c68245e authored by Matthias Fechner's avatar Matthias Fechner
Browse files

devel/libgit2: update to 1.7.1

Including direct dependencies.
Changelog:
https://github.com/libgit2/libgit2/releases
parent 1868ea4b
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
PORTNAME= libgit2
DISTVERSIONPREFIX= v
DISTVERSION= 1.6.4
DISTVERSION= 1.7.1
CATEGORIES= devel
MAINTAINER= mfechner@FreeBSD.org
......
TIMESTAMP = 1692804472
SHA256 (libgit2-libgit2-v1.6.4_GH0.tar.gz) = d25866a4ee275a64f65be2d9a663680a5cf1ed87b7ee4c534997562c828e500d
SIZE (libgit2-libgit2-v1.6.4_GH0.tar.gz) = 6666964
TIMESTAMP = 1699806099
SHA256 (libgit2-libgit2-v1.7.1_GH0.tar.gz) = 17d2b292f21be3892b704dddff29327b3564f96099a1c53b00edc23160c71327
SIZE (libgit2-libgit2-v1.7.1_GH0.tar.gz) = 7548081
--- CMakeLists.txt.orig 2023-02-15 10:03:30 UTC
+++ CMakeLists.txt
@@ -96,7 +96,7 @@ include(CheckStructHasMember)
include(CheckFunctionExists)
include(CheckSymbolExists)
include(CheckStructHasMember)
-include(CheckPrototypeDefinition)
+include(CheckPrototypeDefinitionSafe)
include(AddCFlagIfSupported)
include(FindPkgLibraries)
include(FindThreads)
--- cmake/CheckPrototypeDefinitionSafe.cmake.orig 2023-05-14 12:22:20 UTC
+++ cmake/CheckPrototypeDefinitionSafe.cmake
@@ -0,0 +1,16 @@
+include(CheckPrototypeDefinition)
+
+function(check_prototype_definition_safe function prototype return header variable)
+ # temporarily save CMAKE_C_FLAGS and disable warnings about unused
+ # unused functions and parameters, otherwise they will always fail
+ # if ENABLE_WERROR is on
+ set(SAVED_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+
+ disable_warnings(unused-function)
+ disable_warnings(unused-parameter)
+
+ check_prototype_definition("${function}" "${prototype}" "${return}" "${header}" "${variable}")
+
+ # restore CMAKE_C_FLAGS
+ set(CMAKE_C_FLAGS "${SAVED_CMAKE_C_FLAGS}")
+endfunction()
--- src/CMakeLists.txt.orig 2023-02-15 10:03:30 UTC
+++ src/CMakeLists.txt
@@ -58,15 +58,29 @@ add_feature_info(futimens GIT_USE_FUTIMENS "futimens s
# qsort
-check_prototype_definition(qsort_r
- "void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *))"
- "" "stdlib.h" GIT_QSORT_R_BSD)
+# old-style FreeBSD qsort_r() has the 'context' parameter as the first argument
+# of the comparison function:
+check_prototype_definition_safe(qsort_r
+ "void (qsort_r)(void *base, size_t nmemb, size_t size, void *context, int (*compar)(void *, const void *, const void *))"
+ "" "stdlib.h" GIT_QSORT_BSD)
-check_prototype_definition(qsort_r
- "void qsort_r(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *arg)"
- "" "stdlib.h" GIT_QSORT_R_GNU)
+# GNU or POSIX qsort_r() has the 'context' parameter as the last argument of the
+# comparison function:
+check_prototype_definition_safe(qsort_r
+ "void (qsort_r)(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *context)"
+ "" "stdlib.h" GIT_QSORT_GNU)
-check_function_exists(qsort_s GIT_QSORT_S)
+# C11 qsort_s() has the 'context' parameter as the last argument of the
+# comparison function, and returns an error status:
+check_prototype_definition_safe(qsort_s
+ "errno_t (qsort_s)(void *base, rsize_t nmemb, rsize_t size, int (*compar)(const void *, const void *, void *), void *context)"
+ "0" "stdlib.h" GIT_QSORT_C11)
+
+# MSC qsort_s() has the 'context' parameter as the first argument of the
+# comparison function, and as the last argument of qsort_s():
+check_prototype_definition_safe(qsort_s
+ "void (qsort_s)(void *base, size_t num, size_t width, int (*compare )(void *, const void *, const void *), void *context)"
+ "" "stdlib.h" GIT_QSORT_MSC)
# random / entropy data
--- src/util/git2_features.h.in.orig 2023-02-15 10:03:30 UTC
+++ src/util/git2_features.h.in
@@ -24,9 +24,10 @@
#cmakedefine GIT_REGEX_PCRE2
#cmakedefine GIT_REGEX_BUILTIN 1
-#cmakedefine GIT_QSORT_R_BSD
-#cmakedefine GIT_QSORT_R_GNU
-#cmakedefine GIT_QSORT_S
+#cmakedefine GIT_QSORT_BSD
+#cmakedefine GIT_QSORT_GNU
+#cmakedefine GIT_QSORT_C11
+#cmakedefine GIT_QSORT_MSC
#cmakedefine GIT_SSH 1
#cmakedefine GIT_SSH_MEMORY_CREDENTIALS 1
--- src/util/util.c.orig 2023-02-15 10:03:30 UTC
+++ src/util/util.c
@@ -18,7 +18,7 @@
# endif
# include <windows.h>
-# ifdef GIT_QSORT_S
+# ifdef GIT_QSORT_MSC
# include <search.h>
# endif
#endif
@@ -673,7 +673,7 @@ size_t git__unescape(char *str)
return (pos - str);
}
-#if defined(GIT_QSORT_S) || defined(GIT_QSORT_R_BSD)
+#if defined(GIT_QSORT_MSC) || defined(GIT_QSORT_BSD)
typedef struct {
git__sort_r_cmp cmp;
void *payload;
@@ -688,9 +688,11 @@ static int GIT_LIBGIT2_CALL git__qsort_r_glue_cmp(
#endif
-#if !defined(GIT_QSORT_R_BSD) && \
- !defined(GIT_QSORT_R_GNU) && \
- !defined(GIT_QSORT_S)
+#if !defined(GIT_QSORT_BSD) && \
+ !defined(GIT_QSORT_GNU) && \
+ !defined(GIT_QSORT_C11) && \
+ !defined(GIT_QSORT_MSC)
+
static void swap(uint8_t *a, uint8_t *b, size_t elsize)
{
char tmp[256];
@@ -716,17 +718,20 @@ static void insertsort(
for (j = i; j > base && cmp(j, j - elsize, payload) < 0; j -= elsize)
swap(j, j - elsize, elsize);
}
+
#endif
void git__qsort_r(
void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload)
{
-#if defined(GIT_QSORT_R_BSD)
+#if defined(GIT_QSORT_GNU)
+ qsort_r(els, nel, elsize, cmp, payload);
+#elif defined(GIT_QSORT_C11)
+ qsort_s(els, nel, elsize, cmp, payload);
+#elif defined(GIT_QSORT_BSD)
git__qsort_r_glue glue = { cmp, payload };
qsort_r(els, nel, elsize, &glue, git__qsort_r_glue_cmp);
-#elif defined(GIT_QSORT_R_GNU)
- qsort_r(els, nel, elsize, cmp, payload);
-#elif defined(GIT_QSORT_S)
+#elif defined(GIT_QSORT_MSC)
git__qsort_r_glue glue = { cmp, payload };
qsort_s(els, nel, elsize, git__qsort_r_glue_cmp, &glue);
#else
# Also update devel/libgit2, devel/libgit2-glib, devel/rubygem-rugged
PORTNAME= pygit2
PORTVERSION= 1.12.2
PORTVERSION= 1.13.2
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
......
TIMESTAMP = 1692805526
SHA256 (pygit2-1.12.2.tar.gz) = 56e85d0e66de957d599d1efb2409d39afeefd8f01009bfda0796b42a4b678358
SIZE (pygit2-1.12.2.tar.gz) = 738453
TIMESTAMP = 1699806297
SHA256 (pygit2-1.13.2.tar.gz) = 75c7eb86b47c70f6f1434bcf3b5eb41f4e8006a15cee6bef606651b97d23788c
SIZE (pygit2-1.13.2.tar.gz) = 739956
# Also update devel/libgit2, devel/libgit2-glib, devel/py-pygit2
PORTNAME= rugged
PORTVERSION= 1.6.3
PORTVERSION= 1.7.1
CATEGORIES= devel rubygems
MASTER_SITES= RG
......
TIMESTAMP = 1692804240
SHA256 (rubygem/rugged-1.6.3.gem) = 362631de8dc6f1074242f21e01148ac70b7fe8cdb17f85eee91d4ea83457cb04
SIZE (rubygem/rugged-1.6.3.gem) = 1818624
TIMESTAMP = 1699806115
SHA256 (rubygem/rugged-1.7.1.gem) = 11aab9b468a28b784b42afc10444510c3e5a3917b89bb217fcbc0deff4fca90a
SIZE (rubygem/rugged-1.7.1.gem) = 1834496
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment