libgit2 migrate to llhttp, libgit2-glib update, drop http-parser.

This commit is contained in:
4fury-c3440d8
2026-05-05 12:46:13 +04:00
parent 9d230fd3a5
commit e48d306ac8
13 changed files with 139 additions and 256 deletions
+2 -3
View File
@@ -8,8 +8,7 @@ from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
def setup():
mesontools.configure("-Dintrospection=true \
-Dvapi=true")
mesontools.configure("--prefix=/usr")
def build():
mesontools.build()
@@ -17,4 +16,4 @@ def build():
def install():
mesontools.install()
pisitools.dodoc("AUTHORS", "COPYING", "ChangeLog", "NEWS", "README")
pisitools.dodoc("AUTHORS", "COPYING", "NEWS")
@@ -1,103 +0,0 @@
From a76fdf96c3af9ce9d21a3985c4be8a1aa6eea661 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Fri, 5 Apr 2024 10:28:16 +0200
Subject: [PATCH] build: Fix build against, and require, libgit2 1.8.0
---
libgit2-glib/ggit-clone-options.c | 1 +
libgit2-glib/ggit-cred-ssh-interactive.c | 2 +-
libgit2-glib/ggit-remote-callbacks.h | 1 +
libgit2-glib/ggit-repository.c | 4 ++--
libgit2-glib/ggit-types.h | 3 ++-
meson.build | 2 +-
6 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/libgit2-glib/ggit-clone-options.c b/libgit2-glib/ggit-clone-options.c
index b47fdb1..30c7d86 100644
--- a/libgit2-glib/ggit-clone-options.c
+++ b/libgit2-glib/ggit-clone-options.c
@@ -19,6 +19,7 @@
*/
#include <git2.h>
+#include <git2/sys/errors.h>
#include <gio/gio.h>
#include "ggit-clone-options.h"
diff --git a/libgit2-glib/ggit-cred-ssh-interactive.c b/libgit2-glib/ggit-cred-ssh-interactive.c
index 4f60f8b..0bdca95 100644
--- a/libgit2-glib/ggit-cred-ssh-interactive.c
+++ b/libgit2-glib/ggit-cred-ssh-interactive.c
@@ -191,7 +191,7 @@ callback_wrapper (const char *name,
{
gchar *text;
- text = g_strndup (prompts[i].text, prompts[i].length);
+ text = g_strndup ((const gchar *)prompts[i].text, prompts[i].length);
wprompts[i] = ggit_cred_ssh_interactive_prompt_new (wname,
winstruction,
diff --git a/libgit2-glib/ggit-remote-callbacks.h b/libgit2-glib/ggit-remote-callbacks.h
index 3005ff4..2340712 100644
--- a/libgit2-glib/ggit-remote-callbacks.h
+++ b/libgit2-glib/ggit-remote-callbacks.h
@@ -24,6 +24,7 @@
#include <glib-object.h>
#include <git2.h>
+#include <git2/sys/errors.h>
#include <libgit2-glib/ggit-cred.h>
G_BEGIN_DECLS
diff --git a/libgit2-glib/ggit-repository.c b/libgit2-glib/ggit-repository.c
index bf099f6..936c6fc 100644
--- a/libgit2-glib/ggit-repository.c
+++ b/libgit2-glib/ggit-repository.c
@@ -3182,7 +3182,7 @@ ggit_repository_create_commit (GgitRepository *repository,
message,
_ggit_native_get (tree),
parent_count,
- (const git_commit **)parents_native);
+ (gpointer)parents_native);
g_free (parents_native);
@@ -3323,7 +3323,7 @@ ggit_repository_create_commit_buffer(GgitRepository *repository,
message,
_ggit_tree_get_tree (tree),
parent_count,
- (git_commit const **)parents_native);
+ (gpointer)parents_native);
g_free (parents_native);
diff --git a/libgit2-glib/ggit-types.h b/libgit2-glib/ggit-types.h
index 7e28975..2a2ed99 100644
--- a/libgit2-glib/ggit-types.h
+++ b/libgit2-glib/ggit-types.h
@@ -355,7 +355,8 @@ typedef enum
GGIT_CONFIG_LEVEL_XDG = 3,
GGIT_CONFIG_LEVEL_GLOBAL = 4,
GGIT_CONFIG_LEVEL_LOCAL = 5,
- GGIT_CONFIG_LEVEL_APP = 6,
+ GGIT_CONFIG_LEVEL_WORKTREE = 6,
+ GGIT_CONFIG_LEVEL_APP = 7,
GGIT_CONFIG_LEVEL_HIGHEST = -1
} GgitConfigLevel;
diff --git a/meson.build b/meson.build
index e54a8b4..c21107d 100644
--- a/meson.build
+++ b/meson.build
@@ -126,7 +126,7 @@ glib_dep = dependency('glib-2.0', version: '>=' + glib_req)
gobject_dep = dependency('gobject-2.0', version: '>=' + glib_req)
gio_dep = dependency('gio-2.0', version: '>=' + glib_req)
-libgit2_dep = dependency('libgit2', version: '>= 0.25.0')
+libgit2_dep = dependency('libgit2', version: '>= 1.8.0')
# XXX: Not nice, but probably our best option
enable_gir = get_option('introspection') and find_program('g-ir-scanner', required: false).found()
--
GitLab
@@ -1,11 +0,0 @@
--- meson_vapi_link.py.orig 2020-08-22 14:36:38.509123984 +0700
+++ meson_vapi_link.py 2020-08-22 14:37:05.199021653 +0700
@@ -4,7 +4,7 @@
import subprocess
import sys
-vapidir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], sys.argv[1], 'vala', 'vapi')
+vapidir = os.path.join(os.environ['DESTDIR'] + sys.argv[1], 'vala', 'vapi')
# FIXME: meson will not track the creation of these files
# https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39
+16 -13
View File
@@ -9,44 +9,40 @@
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2.1</License>
<PartOf>programming.misc</PartOf>
<PartOf>programming.scm</PartOf>
<Summary>libgit2-glib is a glib wrapper library around the libgit2 git access library.</Summary>
<Description>libgit2-glib is a glib wrapper library around the libgit2 git access library.</Description>
<Archive type="tarxz" sha1sum="7ec1396b9582dc999cb6323c51365f96ca599aee">https://download.gnome.org/sources/libgit2-glib/1.2/libgit2-glib-1.2.0.tar.xz</Archive>
<Archive sha1sum="e647dc90da04e18f57b1f5954cda630fcac9f325" type="tarxz">https://download.gnome.org/sources/libgit2-glib/1.2/libgit2-glib-1.2.1.tar.xz</Archive>
<BuildDependencies>
<Dependency>meson</Dependency>
<Dependency>libssh2-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>python3-devel</Dependency>
<Dependency>vala-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>libssh2-devel</Dependency>
<Dependency>python3-devel</Dependency>
<Dependency>libgit2-devel</Dependency>
<Dependency>python3-pygobject3-devel</Dependency>
<Dependency>gobject-introspection-devel</Dependency>
<Dependency versionFrom="1.6.4">libgit2-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch>libgit2-glib-1.2.0-libgit2_1.8.patch</Patch>
<!-- <Patch level="1"></Patch> -->
</Patches>
</Source>
<Package>
<Name>libgit2-glib</Name>
<Summary>libgit2-glib is a glib wrapper library around the libgit2 git access library.</Summary>
<RuntimeDependencies>
<Dependency>glib2</Dependency>
<Dependency>libgit2</Dependency>
<Dependency>libssh2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/girepository-1.0</Path>
<Path fileType="library">/usr/lib/lib*.so*</Path>
<Path fileType="library">/usr/lib/python3*</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<Package>
<Name>libgit2-glib-devel</Name>
<Summary>libgit2-glib is a glib wrapper library around the libgit2 git access library.</Summary>
<RuntimeDependencies>
<Dependency>glib2-devel</Dependency>
<Dependency>libgit2-devel</Dependency>
@@ -54,13 +50,20 @@
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="library">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/share/gir-1.0</Path>
<Path fileType="data">/usr/share/vala</Path>
</Files>
</Package>
<History>
<Update release="10">
<Date>2026-05-05</Date>
<Version>1.2.1</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="9">
<Date>2024-10-21</Date>
<Version>1.2.0</Version>
+15 -16
View File
@@ -1,29 +1,28 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright 2015 TUBITAK/UEKAE
# Licensed under the GNU General Public License, version 2.
# See the file http://www.gnu.org/copyleft/gpl.txt.
# Licensed under the GNU General Public License, version 3.
# See the file https://www.gnu.org/licenses/gpl-3.0.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import cmaketools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
i = ''.join([
' -DCMAKE_INSTALL_PREFIX=/usr',
' -DREGEX_BACKEND=pcre2',
' -DUSE_{HTTPS,SSH}=ON',
' -DUSE_HTTP_PARSER=llhttp',
' -Bbuild -G Ninja -L '
])
def setup():
cmaketools.configure("-DTHREADSAFE:BOOL=ON \
-DREGEX_BACKEND=pcre2 \
-DUSE_SSH:BOOL=ON \
-DUSE_HTTP_PARSER=system")
cmaketools.configure(i)
def build():
cmaketools.make()
mesontools.build()
def install():
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
mesontools.install()
# pisitools.dosym("/usr/lib/libgit2.so.1.1", "/usr/lib/libgit2.so.1.0")
pisitools.dodoc("AUTHORS", "README*", "COPYING")
pisitools.dodoc("AUTHORS", "COPYING")
+23 -14
View File
@@ -1,26 +1,28 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>libgit2</Name>
<Homepage>https://libgit2.github.com</Homepage>
<Homepage>https://libgit2.org/</Homepage>
<Packager>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Packager>
<License>GPLv2</License>
<Icon>libgit2</Icon>
<Summary>A linkable library for Git</Summary>
<Description>A plain C library to interface with the git version control system</Description>
<Archive sha1sum="f665cca83411efaf9d074455b65101b499e896c4" type="targz">https://github.com/libgit2/libgit2/archive/v1.8.4.tar.gz</Archive>
<PartOf>programming.scm</PartOf>
<Summary>A linkable library for Git.</Summary>
<Description>A plain C library to interface with the git version control system.</Description>
<Archive sha1sum="95a0e11b81c2cfc77fb2bcd0672a2cb6709f1acb" type="targz">https://github.com/libgit2/libgit2/archive/refs/tags/v1.9.3.tar.gz</Archive>
<BuildDependencies>
<Dependency>cmake</Dependency>
<Dependency>ninja</Dependency>
<Dependency>zlib-devel</Dependency>
<Dependency>libpcre2-devel</Dependency>
<Dependency>llhttp-devel</Dependency>
<Dependency>openssl-devel</Dependency>
<Dependency>http-parser</Dependency>
<Dependency>libssh2-devel</Dependency>
<Dependency>python3-devel</Dependency>
<Dependency>cmake</Dependency>
<Dependency>libpcre2-devel</Dependency>
</BuildDependencies>
</Source>
@@ -28,10 +30,10 @@
<Name>libgit2</Name>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>llhttp</Dependency>
<Dependency>openssl</Dependency>
<Dependency>libpcre2</Dependency>
<Dependency>libssh2</Dependency>
<Dependency>http-parser</Dependency>
<Dependency>libpcre2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
@@ -43,18 +45,25 @@
<Package>
<Name>libgit2-devel</Name>
<RuntimeDependencies>
<Dependency release="current">libgit2</Dependency>
<Dependency>zlib-devel</Dependency>
<Dependency>openssl-devel</Dependency>
<Dependency>libpcre2-devel</Dependency>
<Dependency release="current">libgit2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/pkgconfig</Path>
<Path fileType="header">/usr/include</Path>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<History>
<Update release="19">
<Date>2026-05-05</Date>
<Version>1.9.3</Version>
<Comment>Version bump.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="18">
<Date>2024-12-18</Date>
<Version>1.8.4</Version>
@@ -132,7 +141,7 @@
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="7">
<Update release="7">
<Date>2020-01-15</Date>
<Version>0.28.4</Version>
<Comment>Version bump.</Comment>
+2 -2
View File
@@ -2,7 +2,7 @@
<PISI>
<Source>
<Name>libgit2</Name>
<Summary xml:lang="">git c dili kütüphanesi</Summary>
<Description xml:lang="">git için c kütüphanesi</Description>
<Summary xml:lang="tr">git c dili kütüphanesi</Summary>
<Description xml:lang="tr">git için c kütüphanesi</Description>
</Source>
</PISI>