[packages/kicad] upstream fixes for libgit2 1.8.x

atler atler at pld-linux.org
Thu Dec 12 15:10:43 CET 2024


commit 47edb1a661f03ef4f624de02c87e356146c72360
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Dec 12 14:22:34 2024 +0100

    upstream fixes for libgit2 1.8.x

 kicad.spec        |   2 +
 libgit2-1.8.patch | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 180 insertions(+)
---
diff --git a/kicad.spec b/kicad.spec
index f1a176c..7b9a977 100644
--- a/kicad.spec
+++ b/kicad.spec
@@ -29,6 +29,7 @@ Source5:	https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/%{version
 # Source5-md5:	d6e3242a55c5c28699b50cd4f85e191c
 Source6:	https://gitlab.com/kicad/libraries/kicad-templates/-/archive/%{version}/%{name}-templates-%{version}.tar.bz2
 # Source6-md5:	20932897d55d49386a1e2431a2aeef5f
+Patch0:		libgit2-1.8.patch
 URL:		http://www.kicad.org/
 BuildRequires:	EGL-devel
 BuildRequires:	GLM-devel >= 0.9.9.4
@@ -224,6 +225,7 @@ Documentation and tutorials for Kicad in Chinese.
 
 %prep
 %setup -q -a 1 -a 3 -a 4 %{?with_packages3D:-a 5} -a 6
+%patch -P 0 -p1
 
 %ifarch x32
 # fails on x32
diff --git a/libgit2-1.8.patch b/libgit2-1.8.patch
new file mode 100644
index 0000000..98005e6
--- /dev/null
+++ b/libgit2-1.8.patch
@@ -0,0 +1,178 @@
+From 74e15a3fc29085d489028505dc5946d37535779b Mon Sep 17 00:00:00 2001
+From: Alex Shvartzkop <dudesuchamazing at gmail.com>
+Date: Mon, 7 Oct 2024 17:11:38 +0300
+Subject: [PATCH] Support libgit 1.8.2+
+
+In v1.8.2-rc1, the type change introduced in v1.8.0 was reverted.
+
+See https://github.com/libgit2/libgit2/commit/49d3fadfca4ce8e7a643525eb301a2d45956641e
+---
+ kicad/project_tree_pane.cpp | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp
+index 5701f79eda5..abae20d3833 100644
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2304,9 +2304,12 @@ 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
++
++#if( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 8                                              \
++     && ( LIBGIT2_VER_REVISION == 0 || LIBGIT2_VER_REVISION == 1 ) )
++
++        // For libgit2 versions 1.8.0, 1.8.1.
++        // This change was reverted for 1.8.2+
+         git_commit* const parents[1] = { parent };
+ #else
+         // For libgit2 versions older than 1.8.0
+-- 
+GitLab
+
+From 4c196e14861ef08192a9d431ccb1c4955cba362c Mon Sep 17 00:00:00 2001
+From: Alex Shvartzkop <dudesuchamazing at gmail.com>
+Date: Mon, 7 Oct 2024 17:22:28 +0300
+Subject: [PATCH] Improve libgit2 check formatting.
+
+---
+ kicad/project_tree_pane.cpp | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp
+index abae20d3833..a1ab5a8d070 100644
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2303,11 +2303,9 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& aEvent )
+             return;
+         }
+ 
+-        git_oid           oid;
+-
+-#if( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 8                                              \
+-     && ( LIBGIT2_VER_REVISION == 0 || LIBGIT2_VER_REVISION == 1 ) )
++        git_oid oid;
+ 
++#if( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 8 && LIBGIT2_VER_REVISION < 2 )
+         // For libgit2 versions 1.8.0, 1.8.1.
+         // This change was reverted for 1.8.2+
+         git_commit* const parents[1] = { parent };
+-- 
+GitLab
+
+From 75c2f17b42fd203f2f255adf16ca6b723631d2f1 Mon Sep 17 00:00:00 2001
+From: JamesJCode <13408010-JamesJCode at users.noreply.gitlab.com>
+Date: Mon, 28 Oct 2024 20:25:32 +0000
+Subject: [PATCH] Fix libgit integration for version >= 1.8.3
+
+The API continues to change...
+---
+ kicad/project_tree_pane.cpp | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp
+index 1b3cd2175c4..5bf388bffff 100644
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2310,12 +2310,17 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& aEvent )
+ 
+         git_oid oid;
+ 
+-#if( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 8 && LIBGIT2_VER_REVISION < 2 )
++#if ( ( LIBGIT2_VER_MAJOR == 1                                                                     \
++        && ( ( LIBGIT2_VER_MINOR == 8                                                              \
++               && ( LIBGIT2_VER_REVISION < 2 || LIBGIT2_VER_REVISION >= 3 ) )                      \
++             || ( LIBGIT2_VER_MINOR > 8 ) ) )                                                      \
++      || LIBGIT2_VER_MAJOR > 1 )
+         // For libgit2 versions 1.8.0, 1.8.1.
+-        // This change was reverted for 1.8.2+
++        // This change was reverted for 1.8.2
++        // This change was re-reverted for 1.8.3+
+         git_commit* const parents[1] = { parent };
+ #else
+-        // For libgit2 versions older than 1.8.0
++        // For libgit2 versions older than 1.8.0, or equal to 1.8.2
+         const git_commit* parents[1] = { parent };
+ #endif
+ 
+-- 
+GitLab
+
+From 9f579f787bc6b62ca456f87f92d8e96107b24206 Mon Sep 17 00:00:00 2001
+From: John Beard <john.j.beard at gmail.com>
+Date: Tue, 5 Nov 2024 20:55:26 +0800
+Subject: [PATCH] Libgit2: the const git_commit* saga continues
+
+The change wasn't re-reverted in 1.8.3, it was just not
+included. It was than _also_ reverted in 1.8.4, as it was for
+1.8.2 (those two tags are on different branches - main and maint/v1.8).
+
+Hopefully, this means that we're done here, and v1.8.5 will also be
+const-y, whether it is based on main or maint/v1.8.
+
+The current state of play:
+
+* 1.7.0 and older: const
+* 1.8.0, 1.8.1:    no const
+* 1.8.2:           const
+* 1.8.3:           no const
+* 1.8.4:           const
+Future:
+* 1.8.5/1.9.0:     presumably/hopefully, const
+
+This is currently breaking at least Arch and Fedora Rawhide
+
+Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19062
+---
+ kicad/project_tree_pane.cpp | 30 +++++++++++++++++++++---------
+ 1 file changed, 21 insertions(+), 9 deletions(-)
+
+diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp
+index 5bf388bffff..002ad7d6de2 100644
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2310,17 +2310,29 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& aEvent )
+ 
+         git_oid oid;
+ 
+-#if ( ( LIBGIT2_VER_MAJOR == 1                                                                     \
+-        && ( ( LIBGIT2_VER_MINOR == 8                                                              \
+-               && ( LIBGIT2_VER_REVISION < 2 || LIBGIT2_VER_REVISION >= 3 ) )                      \
+-             || ( LIBGIT2_VER_MINOR > 8 ) ) )                                                      \
+-      || LIBGIT2_VER_MAJOR > 1 )
+-        // For libgit2 versions 1.8.0, 1.8.1.
+-        // This change was reverted for 1.8.2
+-        // This change was re-reverted for 1.8.3+
++#if( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR == 8                                              \
++     && ( LIBGIT2_VER_REVISION < 2 || LIBGIT2_VER_REVISION == 3 ) )
++        /*
++         * For libgit2 versions 1.8.0, 1.8.1.               (cf19ddc52)
++         * This change was reverted for 1.8.2               (49d3fadfc, main branch)
++         * The revert for 1.8.2 was not included for 1.8.3  (which is on the maint/v1.8 branch, not main)
++         * This change was also reverted for 1.8.4          (94ba816f6, also maint/v1.8 branch)
++         *
++         * As of 1.8.4, the history is like this:
++         *
++         *  * 3f4182d15 (tag: v1.8.4, maint/v1.8)
++         *  * 94ba816f6 Revert "commit: fix const declaration"      [puts const back]
++         *  * 3353f78e8 (tag: v1.8.3)
++         *  | * 4ce872a0f (tag: v1.8.2-rc1, tag: v1.8.2)
++         *  | * 49d3fadfc Revert "commit: fix const declaration"    [puts const back]
++         *  |/
++         *  * 36f7e21ad (tag: v1.8.1)
++         *  * d74d49148 (tag: v1.8.0)
++         *  * cf19ddc52 commit: fix const declaration               [removes const]
++         */
+         git_commit* const parents[1] = { parent };
+ #else
+-        // For libgit2 versions older than 1.8.0, or equal to 1.8.2
++        // For libgit2 versions older than 1.8.0, or equal to 1.8.2, or 1.8.4+
+         const git_commit* parents[1] = { parent };
+ #endif
+ 
+-- 
+GitLab
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kicad.git/commitdiff/47edb1a661f03ef4f624de02c87e356146c72360



More information about the pld-cvs-commit mailing list