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@gmail.com>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
This commit is contained in:
Huang Rui 2024-03-22 19:22:21 +08:00 committed by Yixun Lan
parent dade4c3166
commit ded5389f06
No known key found for this signature in database
GPG Key ID: 31AAEA47594DBBED
3 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,36 @@
From: Huang Rui <vowstar@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 <vowstar@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

View File

@ -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

View File

@ -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