commit:     ded5389f065b99454f2478b9559bf3a6dc43247f
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Fri Mar 22 11:22:21 2024 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Mar 27 11:41:10 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ded5389f

sci-electronics/kicad: fix build error with libgit2-1.8.0

See also: https://gitlab.com/kicad/code/kicad/-/issues/17536

Closes: https://bugs.gentoo.org/927503
Closes: https://github.com/gentoo/gentoo/pull/35865
Signed-off-by: Huang Rui <vowstar <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 .../kicad/files/kicad-8.0.1-libgit2.patch          | 36 ++++++++++++++++++++++
 sci-electronics/kicad/kicad-8.0.0.ebuild           |  4 +++
 sci-electronics/kicad/kicad-8.0.1.ebuild           |  4 +++
 3 files changed, 44 insertions(+)

diff --git a/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch 
b/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch
new file mode 100644
index 000000000000..d2523993e6fe
--- /dev/null
+++ b/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch
@@ -0,0 +1,36 @@
+From: Huang Rui <vows...@gmail.com>
+Date: Fri, 22 Mar 2024 18:18:40 +0800
+Subject: [PATCH] libgit2-1.8.0 compatibility: adjusted parent pointer type
+
+- Adjusted parent pointer type in git_commit_create call for compatibility
+  with libgit2 1.8.0 and above.
+- Included preprocessor checks to maintain support for versions older than
+  1.8.0.
+- Ensures consistent function behavior across different libgit2 versions.
+
+Fixes https://gitlab.com/kicad/code/kicad/-/issues/17536
+Signed-off-by: Huang Rui <vows...@gmail.com>
+---
+ kicad/project_tree_pane.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2233,7 +2233,14 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& 
aEvent )
+         }
+ 
+         git_oid           oid;
++    // 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 )
++        // For libgit2 version 1.8.0 and above
++        git_commit* const parents[1] = { parent };
++#else
++        // For libgit2 versions older than 1.8.0
+         const git_commit* parents[1] = { parent };
++#endif
+ 
+         if( git_commit_create( &oid, repo, "HEAD", author, author, nullptr, 
commit_msg.mb_str(), tree,
+                            1, parents ) != 0 )
+-- 
+2.44.0
+

diff --git a/sci-electronics/kicad/kicad-8.0.0.ebuild 
b/sci-electronics/kicad/kicad-8.0.0.ebuild
index 8c9a6b4dc5eb..96b4a708d332 100644
--- a/sci-electronics/kicad/kicad-8.0.0.ebuild
+++ b/sci-electronics/kicad/kicad-8.0.0.ebuild
@@ -81,6 +81,10 @@ fi
 
 CHECKREQS_DISK_BUILD="1500M"
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.0.1-libgit2.patch
+)
+
 pkg_setup() {
        [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 

diff --git a/sci-electronics/kicad/kicad-8.0.1.ebuild 
b/sci-electronics/kicad/kicad-8.0.1.ebuild
index 8c9a6b4dc5eb..96b4a708d332 100644
--- a/sci-electronics/kicad/kicad-8.0.1.ebuild
+++ b/sci-electronics/kicad/kicad-8.0.1.ebuild
@@ -81,6 +81,10 @@ fi
 
 CHECKREQS_DISK_BUILD="1500M"
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.0.1-libgit2.patch
+)
+
 pkg_setup() {
        [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 

Reply via email to