This commit is contained in:
aliriza committed 2023-12-05 10:02:03 +00:00
1 parent fe4926ddd9
commit 8b1368d596
6 files changed
+219 -19

No files matched your search

+192
View File
@@ -0,0 +1,192 @@
From a3d769bac08087bf2d9ab8c0733ae5b6fa832244 Mon Sep 17 00:00:00 2001
From: sulincix <parduscix@yandex.ru>
Date: Fri, 24 Nov 2023 18:30:46 +0000
Subject: [PATCH] libzstd disable support added.
---
meson.build | 7 ++++++-
meson_options.txt | 5 +++++
src/as-metadata.c | 8 +++++++-
src/as-utils.c | 8 ++++++--
src/as-validator.c | 8 +++++++-
src/meson.build | 13 +++++++++----
6 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 5e7f57d57..6dc298979 100644
--- a/meson.build
+++ b/meson.build
@@ -159,9 +159,14 @@ yaml_dep = dependency('yaml-0.1')
xmlb_dep = dependency('xmlb', version: '>= 0.3.14',
fallback: ['libxmlb', 'libxmlb_dep'],
default_options: ['gtkdoc=false', 'introspection=false'])
-zstd_dep = dependency('libzstd')
libsystemd_dep = dependency('libsystemd', required: get_option('systemd'))
+if get_option('zstd')
+ zstd_dep = dependency('libzstd', required: get_option('zstd'))
+else
+ add_project_arguments('-DNO_ZSTD', language: 'c')
+endif
+
if get_option ('gir')
# ensure we have a version of GIR that isn't broken with Meson
# (prior versions failed when any non-GObject library was linked)
diff --git a/meson_options.txt b/meson_options.txt
index ca903a856..4ab0afb3c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -23,6 +23,11 @@ option('qt5',
value : false,
description: 'Build libappstream-qt5 for Qt5'
)
+option('zstd',
+ type : 'boolean',
+ value : true,
+ description: 'Zstd support'
+)
option('compose',
type : 'boolean',
value : false,
diff --git a/src/as-metadata.c b/src/as-metadata.c
index 4c54174a3..dfc3d9b79 100644
--- a/src/as-metadata.c
+++ b/src/as-metadata.c
@@ -45,7 +45,9 @@
#include "as-release-list-private.h"
#include "as-context-private.h"
#include "as-desktop-entry.h"
+#ifndef NO_ZSTD
#include "as-zstd-decompressor.h"
+#endif
#include "as-xml.h"
#include "as-yaml.h"
@@ -750,7 +752,7 @@ as_metadata_parse_file (AsMetadata *metad, GFile *file, AsFormatKind format, GEr
g_propagate_error (error, tmp_error);
return FALSE;
}
-
+ #ifndef NO_ZSTD
if (as_str_equal0 (content_type, "application/zstd")) {
/* decompress the Zstd stream */
conv = G_CONVERTER (as_zstd_decompressor_new ());
@@ -758,6 +760,10 @@ as_metadata_parse_file (AsMetadata *metad, GFile *file, AsFormatKind format, GEr
} else if (as_str_equal0 (content_type, "application/gzip") ||
as_str_equal0 (content_type, "application/x-gzip")) {
+ #else
+ if (as_str_equal0 (content_type, "application/gzip") ||
+ as_str_equal0 (content_type, "application/x-gzip")) {
+ #endif
/* decompress the GZip stream */
conv = G_CONVERTER (g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP));
stream_data = g_converter_input_stream_new (file_stream, conv);
diff --git a/src/as-utils.c b/src/as-utils.c
index 6bf85926e..8da694b3c 100644
--- a/src/as-utils.c
+++ b/src/as-utils.c
@@ -47,8 +47,9 @@
#include "as-metadata.h"
#include "as-component-private.h"
#include "as-desktop-env-data.h"
+#ifndef NO_ZSTD
#include "as-zstd-decompressor.h"
-
+#endif
/**
* SECTION:as-utils
* @short_description: Helper functions that are used inside libappstream
@@ -2260,12 +2261,15 @@ as_utils_extract_tarball (const gchar *filename, const gchar *target_dir, GError
if (tarz_stream == NULL)
return FALSE;
+ #ifndef NO_ZSTD
if (g_str_has_suffix (filename, "tar.zst")) {
/* decompress the Zstd stream */
conv = G_CONVERTER (as_zstd_decompressor_new ());
tar_stream = g_converter_input_stream_new (tarz_stream, conv);
-
} else if (g_str_has_suffix (filename, "tar.gz")) {
+ #else
+ if (g_str_has_suffix (filename, "tar.gz")) {
+ #endif
/* decompress the GZip stream */
conv = G_CONVERTER (g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP));
tar_stream = g_converter_input_stream_new (tarz_stream, conv);
diff --git a/src/as-validator.c b/src/as-validator.c
index 1c3bc8fd5..dfab18366 100644
--- a/src/as-validator.c
+++ b/src/as-validator.c
@@ -50,7 +50,9 @@
#include "as-yaml.h"
#include "as-desktop-entry.h"
#include "as-content-rating-private.h"
+#ifndef NO_ZSTD
#include "as-zstd-decompressor.h"
+#endif
typedef struct {
GHashTable *issue_tags; /* of utf8:AsValidatorIssueTag */
@@ -3531,7 +3533,7 @@ as_validator_validate_file (AsValidator *validator, GFile *metadata_file)
}
if (file_stream == NULL)
return FALSE;
-
+ #ifndef NO_ZSTD
if (as_str_equal0 (content_type, "application/zstd")) {
/* decompress the Zstd stream */
conv = G_CONVERTER (as_zstd_decompressor_new ());
@@ -3539,6 +3541,10 @@ as_validator_validate_file (AsValidator *validator, GFile *metadata_file)
} else if (as_str_equal0 (content_type, "application/gzip") ||
as_str_equal0 (content_type, "application/x-gzip")) {
+ #else
+ if (as_str_equal0 (content_type, "application/gzip") ||
+ as_str_equal0 (content_type, "application/x-gzip")) {
+ #endif
/* decompress the GZip stream */
conv = G_CONVERTER (g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP));
stream_data = g_converter_input_stream_new (file_stream, conv);
diff --git a/src/meson.build b/src/meson.build
index ef5c62880..9cc86e45d 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -16,7 +16,6 @@ aslib_src = [
'as-tag.c',
'as-xml.c',
'as-yaml.c',
- 'as-zstd-decompressor.c',
# (mostly) public
'as-agreement.c',
'as-agreement-section.c',
@@ -137,7 +136,6 @@ aslib_priv_headers = [
'as-validator-issue-tag.h',
'as-xml.h',
'as-yaml.h',
- 'as-zstd-decompressor.h',
]
as_version_h = configure_file(
@@ -190,12 +188,19 @@ aslib_deps = [glib_dep,
xmlb_dep,
xml2_dep,
yaml_dep,
- libsystemd_dep,
- zstd_dep]
+ libsystemd_dep]
if get_option ('stemming')
aslib_deps += [stemmer_lib]
endif
+if get_option ('zstd')
+ aslib_deps += [zstd_dep]
+ aslib_src += ['as-zstd-decompressor.c']
+ aslib_priv_headers += ['as-zstd-decompressor.h']
+endif
+
+
+
appstream_lib = library ('appstream',
[aslib_src,
aslib_pub_headers,
+11 -3
View File
@@ -1,29 +1,37 @@
#!/usr/bin/env bash
name='appstream'
release='2'
version='0.16.2'
version='1.0.0'
url='https://distributions.freedesktop.org/wiki/AppStream'
description='Provides a standard for creating app stores across distributions'
email='akarsu@protonmail.com'
maintainer='akarsu'
license=('GPL')
source=("https://github.com/ximion/appstream/archive/refs/tags/v${version}.tar.gz")
source=("https://github.com/ximion/appstream/archive/refs/tags/v${version}.tar.gz"
'no-zstd.patch')
depends=(glib libxml2 libyaml curl libxmlb gperf gdk-pixbuf)
makedepends=(meson gobject-introspection)
md5sums=('c6ca019b98a4dd1aae8bbd79e73d0ddb')
md5sums=('43b699013eaf7aeaf9f9bbb0b9f6e007'
'SKIP')
group=(dev.libs)
uses=()
arch=('x86_64')
cd $name-$version
prepare(){
patch -Np1 -i ../no-zstd.patch
}
setup(){
meson setup build --prefix=/usr \
-Dwrap_mode=nopromote \
--libdir=/usr/lib64/ \
-Dqt=false \
-Dvapi=true \
-Dapt-support=false \
-Dstemming=false \
-Dzstd=false \
-Dsystemd=false
}
+5 -5
View File
@@ -1,16 +1,16 @@
#!/usr/bin/env bash
name='libgudev'
release='1'
version='237'
release='2'
version='238'
url='https://example.org'
description='GObject bindings for libudev'
email='bk@gmail.com'
maintainer='bk'
license=('GPLv3')
source=('https://gitlab.gnome.org/GNOME/libgudev/-/archive/237/libgudev-237.tar.gz')
depends=()
source=("https://gitlab.gnome.org/GNOME/libgudev/-/archive/$version/libgudev-$version.tar.gz")
depends=(glib eudev)
makedepends=()
md5sums=('a83582c0bca75f01d158c8b48e450415')
md5sums=('c85736d109526690bf6e2845616f6809')
group=()
uses=()
arch=('x86_64')
+4 -4
View File
@@ -1,17 +1,17 @@
#!/usr/bin/env bash
name='libxmlb'
release='1'
version='0.3.11'
release='2'
version='0.3.14'
url='https://github.com/hughsie/libxmlb'
description='Library to help create and query binary XML blobs'
email='akarsu@protonmail.com'
maintainer='akarsu'
license=('LGPL')
_ver="8fd75bb13cd4bed30ed369e8fe47c593d2b9dd17"
_ver="e64c60d993cd463edf0441a221fae263f9a6663e"
source=("https://github.com/hughsie/libxmlb/archive/${_ver}.zip")
depends=()
makedepends=()
md5sums=('19635e8c08b1a202dab7fd19ecc23464')
md5sums=('1ae671b08f5b4b0e163179fbb040389f')
group=(dev.libs)
uses=()
arch=('x86_64')
+3 -3
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
name='eudev'
release='1'
version='3.2.11'
release='2'
version='3.2.14'
url='https://github.com/eudev-project/eudev/releases'
description='Linux dynamic and persistent device naming support (aka userspace devfs)'
email='aliriza.keskin@pardus.org.tr'
@@ -16,7 +16,7 @@ source=("https://github.com/eudev-project/eudev/releases/download/v$version/eude
"eudev.hook")
depends=(kmod)
makedepends=()
md5sums=('417ba948335736d4d81874fba47a30f7'
md5sums=('ee1789b524304dfe6d4775b4b39f6d3c'
'SKIP'
'SKIP'
'SKIP'
+4 -4
View File
@@ -1,16 +1,16 @@
#!/usr/bin/env bash
name='pango'
release='1'
version='1.50.12'
release='2'
version='1.51.0'
url='https://metacpan.org/pod/Pango'
description='Layout and render international text'
email='bk@gmail.com'
maintainer='bk'
license=('GPLv3')
source=("https://download.gnome.org/sources/pango/1.50/pango-$version.tar.xz")
source=("https://download.gnome.org/sources/pango/1.51/pango-$version.tar.xz")
depends=(fribidi libthai harfbuzz cairo libXft)
makedepends=(gobject-introspection)
md5sums=('fd4b0b23915d6a0255317f811bea4215')
md5sums=('d5968724bee6ff1e327fdf0b491d9719')
group=(x11.libs)
uses=()
arch=('x86_64')