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
-21
View File
@@ -1,21 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
def setup():
mesontools.configure()
def build():
mesontools.build()
def check():
mesontools.build("test")
def install():
mesontools.install()
pisitools.dodoc("LICENSE*", "README*")
@@ -1,14 +0,0 @@
project('http-parser', 'c', version : '2.9.3')
install_headers('http_parser.h')
foreach x : [['http_parser', ['-DHTTP_PARSER_STRICT=0']],
['http_parser_strict', ['-DHTTP_PARSER_STRICT=1']]]
lib = library(x.get(0), 'http_parser.c',
c_args : x.get(1),
version : '2.9.3',
install : true)
test('test-@0@'.format(x.get(0)),
executable('test-@0@'.format(x.get(0)), 'test.c',
c_args : x.get(1),
link_with : lib),
timeout : 60)
endforeach
-51
View File
@@ -1,51 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>http-parser</Name>
<Homepage>https://github.com/nodejs/http-parser</Homepage>
<Packager>
<Name>Blue Devil</Name>
<Email>bluedevil@sctzine.com</Email>
</Packager>
<PartOf>programming.misc</PartOf>
<License>MIT</License>
<IsA>library</IsA>
<Summary>A http request/response parser for c.</Summary>
<Description>This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in performance HTTP applications. It does not make any syscalls nor allocations, it does not buffer data, it can be interrupted at anytime.</Description>
<Archive sha1sum="8df5277feefe79f3d4472b8f2c5ca9224b2221dd" type="targz">https://github.com/nodejs/http-parser/archive/v2.9.4.tar.gz</Archive>
<BuildDependencies>
<Dependency>meson</Dependency>
</BuildDependencies>
<AdditionalFiles>
<AdditionalFile target="meson.build" permission="0755">meson.build</AdditionalFile>
</AdditionalFiles>
</Source>
<Package>
<Name>http-parser</Name>
<Summary>A http request/response parser for c.</Summary>
<Files>
<Path fileType="doc">/usr/share/doc/http-parser</Path>
<Path fileType="header">/usr/include</Path>
<Path fileType="library">/usr/lib</Path>
</Files>
</Package>
<History>
<Update release="2">
<Date>2021-10-28</Date>
<Version>2.9.4</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="1">
<Date>2020-02-08</Date>
<Version>2.9.3</Version>
<Comment>First pisi release.</Comment>
<Name>Blue Devil</Name>
<Email>bluedevil@sctzine.com</Email>
</Update>
</History>
</PISI>
@@ -1,8 +0,0 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>http-parser</Name>
<Summary xml:lang="tr">C için HTTP istek/yanıt çözümleyicisi</Summary>
<Description xml:lang="tr">HTTP mesajları için C ile yazılmış bu kitaplık, HTTP istek ve yanıtlarını çözümleyen bir C kitaplığıdır.</Description>
</Source>
</PISI>
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# 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 cmaketools
from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
i = ''.join([
' -DCMAKE_INSTALL_PREFIX=/usr',
' -DLLHTTP_BUILD_SHARED_LIBS=ON',
' -DLLHTTP_BUILD_STATIC_LIBS=OFF',
' -Bbuild -G Ninja -L '
])
def setup():
cmaketools.configure(i)
def build():
mesontools.build()
def install():
mesontools.install()
pisitools.dodoc("LICENSE")
+54
View File
@@ -0,0 +1,54 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>llhttp</Name>
<Homepage>https://github.com/nodejs/llhttp</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>MIT</License>
<PartOf>programming.misc</PartOf>
<Summary>Node.js llhttp Library.</Summary>
<Description>Port of http_parser to llparse.</Description>
<Archive sha1sum="a81acdb0c8f3834907b495ecb0040f1445a5bdd1" type="targz">https://github.com/nodejs/llhttp/archive/refs/tags/release/v9.3.1.tar.gz</Archive>
<BuildDependencies>
<Dependency>cmake</Dependency>
<Dependency>ninja</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch level="1"></Patch> -->
</Patches>
</Source>
<Package>
<Name>llhttp</Name>
<Files>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<Package>
<Name>llhttp-devel</Name>
<RuntimeDependencies>
<Dependency release="current">llhttp</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/cmake</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2026-05-05</Date>
<Version>9.3.1</Version>
<Comment>First release.</Comment>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
+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")
+21 -12
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="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>
+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>