From 539bc5631e2fb9846cbc8510a8627d2a9e08e395 Mon Sep 17 00:00:00 2001 From: Sagi Lowenhardt Date: Mon, 6 Dec 2021 15:10:31 +0200 Subject: [PATCH] Libgsf: add read support for zip64 property --- ...make-zip64-readable-for-GsfInfileZip.patch | 79 +++++++++++++++++++ mingw-w64-libgsf/PKGBUILD | 5 +- 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-libgsf/003-Zip-make-zip64-readable-for-GsfInfileZip.patch diff --git a/mingw-w64-libgsf/003-Zip-make-zip64-readable-for-GsfInfileZip.patch b/mingw-w64-libgsf/003-Zip-make-zip64-readable-for-GsfInfileZip.patch new file mode 100644 index 0000000000..1420b32045 --- /dev/null +++ b/mingw-w64-libgsf/003-Zip-make-zip64-readable-for-GsfInfileZip.patch @@ -0,0 +1,79 @@ +From 154ea8a3ad73310e1bc33b2f4c29c89d452e6001 Mon Sep 17 00:00:00 2001 +From: Morten Welinder +Date: Thu, 2 Dec 2021 19:10:18 -0500 +Subject: [PATCH] Zip: make "zip64" readable for GsfInfileZip. + +--- + ChangeLog | 5 +++++ + NEWS | 3 +++ + gsf/gsf-infile-zip.c | 13 +++++++++++++ + 3 files changed, 21 insertions(+) + +diff --git a/ChangeLog b/ChangeLog +index f020c71..fb83f48 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,8 @@ ++2021-12-02 Morten Welinder ++ ++ * gsf/gsf-infile-zip.c (gsf_infile_zip_get_property): Add "zip64" ++ property. ++ + 2020-03-23 Morten Welinder + + * configure.ac: Post-release bump. +diff --git a/NEWS b/NEWS +index 2c3c986..01115c3 100644 +--- a/NEWS ++++ b/NEWS +@@ -3,6 +3,9 @@ libgsf 1.14.48 + Greg Hellings: + * Fix win32 build. + ++Morten: ++ * Add "zip64" readable property of GsfInfileZip. ++ + -------------------------------------------------------------------------- + libgsf 1.14.47 + +diff --git a/gsf/gsf-infile-zip.c b/gsf/gsf-infile-zip.c +index b7342ec..ae2ffe0 100644 +--- a/gsf/gsf-infile-zip.c ++++ b/gsf/gsf-infile-zip.c +@@ -38,6 +38,7 @@ enum { + PROP_SOURCE, + PROP_COMPRESSION_LEVEL, + PROP_INTERNAL_PARENT, ++ PROP_ZIP64 + }; + + static GObjectClass *parent_class; +@@ -886,6 +887,9 @@ gsf_infile_zip_get_property (GObject *object, + ? zip->vdir->dirent->compr_method + : 0); + break; ++ case PROP_ZIP64: ++ g_value_set_boolean (value, zip->zip64); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; +@@ -972,6 +976,15 @@ gsf_infile_zip_class_init (GObjectClass *gobject_class) + G_PARAM_STATIC_STRINGS | + G_PARAM_WRITABLE | + G_PARAM_CONSTRUCT_ONLY)); ++ g_object_class_install_property ++ (gobject_class, ++ PROP_ZIP64, ++ g_param_spec_boolean ("zip64", ++ _("Zip64"), ++ _("Whether zip64 is being used"), ++ FALSE, ++ G_PARAM_STATIC_STRINGS | ++ G_PARAM_READABLE)); + } + + GSF_CLASS (GsfInfileZip, gsf_infile_zip, +-- +2.30.1.windows.1 + diff --git a/mingw-w64-libgsf/PKGBUILD b/mingw-w64-libgsf/PKGBUILD index 036d0fb14e..93017375d0 100644 --- a/mingw-w64-libgsf/PKGBUILD +++ b/mingw-w64-libgsf/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgsf pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.14.47 -pkgrel=2 +pkgrel=3 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="An extensible I/O abstraction library for dealing with structured file formats (mingw-w64)" @@ -19,14 +19,17 @@ options=('strip' 'staticlibs') license=('GPL' 'LGPL') url="https://gitlab.gnome.org/GNOME/libgsf.git" source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz + 003-Zip-make-zip64-readable-for-GsfInfileZip.patch 002-get-unix-path-for-git.patch fix-windows-build.patch) sha256sums=('d188ebd3787b5375a8fd38ee6f761a2007de5e98fa0cf5623f271daa67ba774d' + '5b4a971092afe26f0e6e493515b86292ed6f4f46003d860941445bf8e45bd579' 'f08db8333d2b4a369737a77969b5896d408a4d9992fab6f1c9c44ddeae25c516' '10d2c40cae20af1591777c387e6c2534ca8343e0f656ac1c07970a72911e5748') prepare() { cd ${_realname}-${pkgver} + patch -b -V simple -p1 -i ${srcdir}/003-Zip-make-zip64-readable-for-GsfInfileZip.patch patch -b -V simple -p1 -i ${srcdir}/002-get-unix-path-for-git.patch # upstream fix: https://gitlab.gnome.org/GNOME/libgsf/-/commit/8441d5863cb90ed48199d6976bc6e2fcfbe3365a patch -Np1 -i "${srcdir}/fix-windows-build.patch"