aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/jami.scm3
-rw-r--r--gnu/packages/patches/libjami-libgit2-compatibility.patch23
3 files changed, 26 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index a177e0d2c0..9cdd26bd2a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1700,6 +1700,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgrss-CVE-2016-2001.patch \
%D%/packages/patches/libjami-ac-config-files.patch \
+ %D%/packages/patches/libjami-libgit2-compatibility.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/libofa-ftbfs-1.diff \
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 9c5d448609..25510b9df5 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -154,7 +154,8 @@
(base32
"1bw0laj93w4pvlxsr5abz59805ypbmg21z5393yzm82j4d35cfyr"))
(patches (search-patches
- "libjami-ac-config-files.patch"))))
+ "libjami-ac-config-files.patch"
+ "libjami-libgit2-compatibility.patch"))))
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/patches/libjami-libgit2-compatibility.patch b/gnu/packages/patches/libjami-libgit2-compatibility.patch
new file mode 100644
index 0000000000..20896deac4
--- /dev/null
+++ b/gnu/packages/patches/libjami-libgit2-compatibility.patch
@@ -0,0 +1,23 @@
+Libgit2 1.8.0 went for 'git_commit *const' but 1.8.4 reverted back to
+'const git_commit *'.
+
+--- a/src/jamidht/conversationrepository.cpp
++++ b/src/jamidht/conversationrepository.cpp
+@@ -783,7 +783,7 @@ ConversationRepository::Impl::createMergeCommit(git_index* index, const std::str
+ // Commit
+ git_buf to_sign = {};
+ // Check if the libgit2 library version is 1.8.0 or higher
+-#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
++#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 && LIBGIT2_VER_REVISION <= 3)
+ // For libgit2 version 1.8.0 and above
+ git_commit* const parents_ptr[2] {parents[0].get(), parents[1].get()};
+ #else
+@@ -1870,7 +1870,7 @@ ConversationRepository::Impl::commit(const std::string& msg, bool verifyDevice)
+
+ git_buf to_sign = {};
+ // Check if the libgit2 library version is 1.8.0 or higher
+-#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
++#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 && LIBGIT2_VER_REVISION <= 3)
+ // For libgit2 version 1.8.0 and above
+ git_commit* const head_ref[1] = {head_commit.get()};
+ #else