diff options
author | Nicola Murino | 2020-03-05 09:27:56 +0100 |
---|---|---|
committer | Nicola Murino | 2020-03-05 09:27:56 +0100 |
commit | 176ab1c8c599f88577d59b97fef0f10e1443802d (patch) | |
tree | 787b59ed7aa563a8e942784f078f9e75ea678b7b | |
parent | 0103c66e62b6ed777dd627f1438c633b21257438 (diff) | |
download | aur-176ab1c8c599f88577d59b97fef0f10e1443802d.tar.gz |
update to 2.64.0
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | 0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch | 336 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | glib-prefer-constructors-over-DllMain.patch | 21 |
4 files changed, 287 insertions, 86 deletions
@@ -1,6 +1,6 @@ pkgbase = mingw-w64-glib2 pkgdesc = Low level core library (mingw-w64) - pkgver = 2.62.5 + pkgver = 2.64.0 pkgrel = 1 url = https://wiki.gnome.org/Projects/GLib arch = any @@ -15,12 +15,12 @@ pkgbase = mingw-w64-glib2 options = !buildflags options = staticlibs options = !emptydirs - source = git+https://gitlab.gnome.org/GNOME/glib.git#commit=86c2832f950c389e230ec09c8bf0b92b475f0ee3 + source = git+https://gitlab.gnome.org/GNOME/glib.git#commit=369626e3105d688afaa316d89d34e8927a8a0171 source = 0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch source = glib-prefer-constructors-over-DllMain.patch sha256sums = SKIP - sha256sums = 1cea1995b0e21268e55ceed04484305418a471a932f268530e48e2d0e08f8e06 - sha256sums = 9698fe428a380e568c3b83035856f83b1c70bf76dc09df7948ddebe7ca39ed65 + sha256sums = f2e76f7adf40d4c9aeed9cc2c0a7b97646f01e367e8429dd56103172c00cf126 + sha256sums = 3c9848916492435852e4e27bee608a0b2146e146c40f889d725acffd9409aae8 pkgname = mingw-w64-glib2 diff --git a/0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch b/0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch index 201ee1d4ee8f..7db34609ea57 100644 --- a/0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch +++ b/0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch @@ -1,28 +1,239 @@ -From 7f4f4354540440c0a8a37beaccbec8bc7fc15ec7 Mon Sep 17 00:00:00 2001 -From: Erik van Pienbroek <epienbro@fedoraproject.org> -Date: Mon, 27 Aug 2012 23:28:54 +0200 -Subject: [PATCH] Use CreateFile on Win32 to make sure g_unlink always works - -The functions g_open(), g_creat() and g_fopen() defer to _wopen(), -_wcreat() and _wfopen() respectively. This is very similar to -the corresponding arrangement for Linux. However, those Windows -functions do not support renaming a file whilst it's open. As a -result, g_rename() behaves differently on the Windows platform -compared to its Linux behaviour, where files can be renamed even -while there are file handles still open. Resolved this by using -the Win32 API function CreateFile() instead of _wopen(), _wcreat() -and _wfopen() - -Patch initially created by John Emmas ---- - glib/gstdio.c | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 235 insertions(+), 29 deletions(-) - -diff --git a/glib/gstdio.c b/glib/gstdio.c -index 653c8a3..26e8158 100644 ---- a/glib/gstdio.c -+++ b/glib/gstdio.c -@@ -1035,6 +1035,11 @@ g_open (const gchar *filename, +diff -rupN --no-dereference glib-2.63.6/gio/tests/org.gtk.test.gschema.override.orig glib-2.63.6-new/gio/tests/org.gtk.test.gschema.override.orig +--- glib-2.63.6/gio/tests/org.gtk.test.gschema.override.orig 2020-02-24 16:07:12.000000000 +0100 ++++ glib-2.63.6-new/gio/tests/org.gtk.test.gschema.override.orig 1970-01-01 01:00:00.000000000 +0100 +@@ -1,2 +0,0 @@ +-[org.gtk.test.per-desktop:GNOME-Classic] +-desktop = "GNOME Classic" +diff -rupN --no-dereference glib-2.63.6/gio/tests/org.gtk.test.gschema.xml.orig glib-2.63.6-new/gio/tests/org.gtk.test.gschema.xml.orig +--- glib-2.63.6/gio/tests/org.gtk.test.gschema.xml.orig 2020-02-24 16:07:12.000000000 +0100 ++++ glib-2.63.6-new/gio/tests/org.gtk.test.gschema.xml.orig 1970-01-01 01:00:00.000000000 +0100 +@@ -1,222 +0,0 @@ +-<schemalist> +- +- <schema id="org.gtk.test" path="/tests/" gettext-domain="test"> +- <key name="greeting" type="s"> +- <default l10n="messages">"Hello, earthlings"</default> +- <summary>A greeting</summary> +- <description> +- Greeting of the invading martians +- </description> +- </key> +- <key name="farewell" type="s"> +- <default l10n="messages">"So long"</default> +- </key> +- +- <child name='basic-types' schema='org.gtk.test.basic-types'/> +- <child name='complex-types' schema='org.gtk.test.complex-types'/> +- <child name='localized' schema='org.gtk.test.localized'/> +- </schema> +- +- <schema id="org.gtk.test.no-path"> +- <key name="test-boolean" type="b"> +- <default>true</default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.basic-types" path="/tests/basic-types/"> +- <key name="test-boolean" type="b"> +- <default>true</default> +- </key> +- <key name="test-byte" type="y"> +- <default>25</default> +- </key> +- <key name="test-int16" type="n"> +- <default>-1234</default> +- </key> +- <key name="test-uint16" type="q"> +- <default>1234</default> +- </key> +- <key name="test-int32" type="i"> +- <default>-123456</default> +- </key> +- <key name="test-uint32" type="u"> +- <default>123456</default> +- </key> +- <key name="test-int64" type="x"> +- <default>-123456789</default> +- </key> +- <key name="test-uint64" type="t"> +- <default>123456789</default> +- </key> +- <key name="test-double" type="d"> +- <default>123.456</default> +- </key> +- <key name="test-string" type="s"> +- <default>"a string, it seems"</default> +- </key> +- <key name="test-objectpath" type="o"> +- <default>"/a/object/path"</default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.complex-types" path="/tests/complex-types/"> +- <key name="test-tuple" type="(s(ii))"> +- <default>("one",(2,3))</default> +- </key> +- <key name="test-array" type="ai"> +- <default>[0,1,2,3,4,5]</default> +- </key> +- <key name="test-dict" type="a{sau}"> +- <default> +- { +- "AC": [0,0, 0,0,0,0,0,0], +- "IV": [0,0, 0,0,0,0,0,0] +- } +- </default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.localized" path="/tests/localized/" gettext-domain="test"> +- <key name="error-message" type="s"> +- <default l10n="messages">"Unnamed"</default> +- </key> +- <key name="backspace" type="s"> +- <default l10n="messages" context="keyboard label">"BackSpace"</default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.binding" path="/tests/binding/"> +- <key name="bool" type="b"> +- <default>false</default> +- </key> +- <key name="anti-bool" type="b"> +- <default>false</default> +- </key> +- <key name="byte" type="y"> +- <default>0</default> +- </key> +- <key name="int16" type="n"> +- <default>0</default> +- </key> +- <key name="uint16" type="q"> +- <default>0</default> +- </key> +- <key name="int" type="i"> +- <default>0</default> +- </key> +- <key name="uint" type="u"> +- <default>0</default> +- </key> +- <key name="int64" type="x"> +- <default>0</default> +- </key> +- <key name="uint64" type="t"> +- <default>0</default> +- </key> +- <key name="double" type="d"> +- <default>0</default> +- </key> +- <key name="string" type="s"> +- <default>""</default> +- </key> +- <key name="chararray" type="ay"> +- <default>[48, 49]</default> +- </key> +- <key name="strv" type="as"> +- <default>[]</default> +- </key> +- <key name="enum" enum="org.gtk.test.TestEnum"> +- <default>'foo'</default> +- </key> +- <key name="flags" flags="org.gtk.test.TestFlags"> +- <default>['mourning', 'laughing']</default> +- </key> +- <key name="range" type='u'> +- <default>33</default> +- <range min="2" max="44"/> +- </key> +- </schema> +- +- <schema id='org.gtk.test.enums' path='/tests/enums/'> +- <key name='test' enum='org.gtk.test.TestEnum'> +- <default>'bar'</default> +- <aliases> +- <alias value='qux' target='quux'/> +- </aliases> +- </key> +- <key name='f-test' flags='org.gtk.test.TestFlags'> +- <default>[]</default> +- <aliases> +- <alias value='speaking' target='talking'/> +- </aliases> +- </key> +- </schema> +- +- <schema id='org.gtk.test.enums.direct' path='/tests/enums/'> +- <key name='f-test' type='as'> +- <default>[]</default> +- </key> +- <key name='test' type='s'> +- <default>'bar'</default> +- </key> +- </schema> +- +- <schema id='org.gtk.test.range' path='/tests/range/'> +- <key name='val' type='i'> +- <default>33</default> +- <range min='2' max='44'/> +- </key> +- </schema> +- +- <schema id='org.gtk.test.range.direct' path='/tests/range/'> +- <key name='val' type='i'> +- <default>33</default> +- </key> +- </schema> +- +- <schema id='org.gtk.test.mapped' path='/tests/mapped/'> +- <key name='val' type='i'> +- <default>0</default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.descriptions" path="/a/"> +- <key name='a' type='i'> +- <summary> +- a paragraph. +- +- with some whitespace. +- +- because not everyone has a great editor. +- +- +- +- +- lots of space is as one. +- </summary> +- <default>0</default> +- </key> +- </schema> +- +- <schema id='org.gtk.test.extends.base'> +- <key name='int32' type='i'> +- <default>0</default> +- </key> +- <key name='string' type='s'> +- <default>''</default> +- </key> +- </schema> +- <schema id='org.gtk.test.extends.extended' extends='org.gtk.test.extends.base'> +- <override name="int32">42</override> +- <key name='another-int32' type='i'> +- <default>0</default> +- </key> +- </schema> +- +- <schema id="org.gtk.test.per-desktop" path="/tests/per-desktop/"> +- <key name="desktop" type="s"> +- <default>"GNOME"</default> +- </key> +- </schema> +- +-</schemalist> +diff -rupN --no-dereference glib-2.63.6/glib/gstdio.c glib-2.63.6-new/glib/gstdio.c +--- glib-2.63.6/glib/gstdio.c 2020-02-24 16:07:12.000000000 +0100 ++++ glib-2.63.6-new/glib/gstdio.c 2020-02-25 15:16:49.970829597 +0100 +@@ -1036,6 +1036,11 @@ g_open (const gchar *filename, int mode) { #ifdef G_OS_WIN32 @@ -34,7 +245,7 @@ index 653c8a3..26e8158 100644 wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL); int retval; int save_errno; -@@ -1045,12 +1050,114 @@ g_open (const gchar *filename, +@@ -1046,12 +1051,114 @@ g_open (const gchar *filename, return -1; } @@ -106,8 +317,7 @@ index 653c8a3..26e8158 100644 + { + dwFlagsAndAttributes |= FILE_FLAG_RANDOM_ACCESS; + } - -- g_free (wfilename); ++ + if (0 == dwFlagsAndAttributes) + dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; + hFile = CreateFileW(wfilename, dwDesiredAccess, dwSharedAccess, NULL, dwDisposition, dwFlagsAndAttributes, NULL); @@ -134,6 +344,7 @@ index 653c8a3..26e8158 100644 + else + retval = _open_osfhandle((long)hFile, flags); +- g_free (wfilename); + if ((-1) != retval) + { + /* We have a valid file handle. Set its translation mode to text or binary, as appropriate */ @@ -144,7 +355,7 @@ index 653c8a3..26e8158 100644 + else + _setmode(retval, _O_BINARY); + } -+ + + save_errno = errno; + g_free (wfilename); errno = save_errno; @@ -152,7 +363,7 @@ index 653c8a3..26e8158 100644 return retval; #else int fd; -@@ -1098,6 +1205,8 @@ g_creat (const gchar *filename, +@@ -1099,6 +1206,8 @@ g_creat (const gchar *filename, int mode) { #ifdef G_OS_WIN32 @@ -161,7 +372,7 @@ index 653c8a3..26e8158 100644 wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL); int retval; int save_errno; -@@ -1108,12 +1217,41 @@ g_creat (const gchar *filename, +@@ -1109,12 +1218,41 @@ g_creat (const gchar *filename, return -1; } @@ -172,11 +383,10 @@ index 653c8a3..26e8158 100644 + if (! (mode & _S_IWRITE)) + dwFlagsAndAttributes = FILE_ATTRIBUTE_READONLY; /* Sets file to 'read only' after the file gets closed */ + } - -- g_free (wfilename); ++ + hFile = CreateFileW(wfilename, (GENERIC_READ | GENERIC_WRITE), (FILE_SHARE_READ | FILE_SHARE_DELETE), + NULL, CREATE_ALWAYS, dwFlagsAndAttributes, NULL); - ++ + if (INVALID_HANDLE_VALUE == hFile) + { + retval = (-1); @@ -198,15 +408,16 @@ index 653c8a3..26e8158 100644 + } + else + retval = _open_osfhandle((long)hFile, _O_RDWR); -+ + + save_errno = errno; -+ g_free (wfilename); + g_free (wfilename); +- errno = save_errno; + return retval; #else return creat (filename, mode); -@@ -1550,34 +1688,102 @@ g_fopen (const gchar *filename, +@@ -1556,34 +1694,102 @@ g_fopen (const gchar *filename, const gchar *mode) { #ifdef G_OS_WIN32 @@ -214,16 +425,35 @@ index 653c8a3..26e8158 100644 - wchar_t *wmode; - FILE *retval; - int save_errno; -+ int hFile; -+ int flags = 0; -+ gchar priv_mode[4]; -+ FILE *retval = NULL; - +- - if (wfilename == NULL) - { - errno = EINVAL; - return NULL; - } +- +- wmode = g_utf8_to_utf16 (mode, -1, NULL, NULL, NULL); +- +- if (wmode == NULL) +- { +- g_free (wfilename); +- errno = EINVAL; +- return NULL; +- } +- +- _g_win32_fix_mode (wmode); +- retval = _wfopen (wfilename, wmode); +- save_errno = errno; +- +- g_free (wfilename); +- g_free (wmode); +- +- errno = save_errno; ++ int hFile; ++ int flags = 0; ++ gchar priv_mode[4]; ++ FILE *retval = NULL; ++ + if ((NULL == filename) || (NULL == mode)) + { + errno = EINVAL; @@ -234,22 +464,17 @@ index 653c8a3..26e8158 100644 + errno - EINVAL; + goto out; + } - -- wmode = g_utf8_to_utf16 (mode, -1, NULL, NULL, NULL); ++ + strncpy(priv_mode, mode, 3); + priv_mode[3] = '\0'; - -- if (wmode == NULL) ++ + /* Set up any flags to pass to 'g_open()' */ + if (3 == strlen(priv_mode)) + { + if (('c' == priv_mode[2]) || ('n' == priv_mode[2])) + priv_mode[2] = '\0'; + else - { -- g_free (wfilename); -- errno = EINVAL; -- return NULL; ++ { + if (0 == strcmp(priv_mode, "a+b")) + flags = _O_RDWR | _O_CREAT | _O_APPEND | _O_BINARY; + else if (0 == strcmp(priv_mode, "a+t")) @@ -267,16 +492,7 @@ index 653c8a3..26e8158 100644 + errno = EINVAL; + goto out; + } - } -- -- _g_win32_fix_mode (wmode); -- retval = _wfopen (wfilename, wmode); -- save_errno = errno; -- -- g_free (wfilename); -- g_free (wmode); -- -- errno = save_errno; ++ } + } + if (2 == strlen(priv_mode)) + { @@ -4,9 +4,9 @@ # Contributor: Renato Silva <br.renatosilva@gmail.com> # Contributor: Martchus <martchus@gmx.net> pkgname=mingw-w64-glib2 -pkgver=2.62.5 +pkgver=2.64.0 pkgrel=1 -_commit=86c2832f950c389e230ec09c8bf0b92b475f0ee3 # tags/2.62.5^0 +_commit=369626e3105d688afaa316d89d34e8927a8a0171 # tags/2.64.0^0 arch=(any) pkgdesc="Low level core library (mingw-w64)" depends=(mingw-w64-libffi mingw-w64-pcre mingw-w64-gettext mingw-w64-zlib) @@ -18,8 +18,8 @@ source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit" "0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch" "glib-prefer-constructors-over-DllMain.patch") sha256sums=('SKIP' - '1cea1995b0e21268e55ceed04484305418a471a932f268530e48e2d0e08f8e06' - '9698fe428a380e568c3b83035856f83b1c70bf76dc09df7948ddebe7ca39ed65') + 'f2e76f7adf40d4c9aeed9cc2c0a7b97646f01e367e8429dd56103172c00cf126' + '3c9848916492435852e4e27bee608a0b2146e146c40f889d725acffd9409aae8') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" diff --git a/glib-prefer-constructors-over-DllMain.patch b/glib-prefer-constructors-over-DllMain.patch index 4bb52334e1ab..4e08af083617 100644 --- a/glib-prefer-constructors-over-DllMain.patch +++ b/glib-prefer-constructors-over-DllMain.patch @@ -1,21 +1,6 @@ -From bc90511c1eb333e26e0bc0eaee62375d0e788db6 Mon Sep 17 00:00:00 2001 -From: Erik van Pienbroek <epienbro@fedoraproject.org> -Date: Tue, 16 Apr 2013 11:42:11 +0200 -Subject: [PATCH] win32: Prefer the use of constructors over DllMain - -This prevents having to depend on DllMain in static libraries - -Constructors are available in both the GCC build (GCC 2.7 and later) -and the MSVC build (MSVC 2008 and later using _Pragma, earlier -versions using #pragma) ---- - glib/glib-init.c | 27 ++++++++++++++++----------- - 1 file changed, 16 insertions(+), 11 deletions(-) - -diff --git a/glib/glib-init.c b/glib/glib-init.c -index ed800dc..f760bf1 100644 ---- a/glib/glib-init.c -+++ b/glib/glib-init.c +diff -rupN --no-dereference glib-2.63.5/glib/glib-init.c glib-2.63.5-new/glib/glib-init.c +--- glib-2.63.5/glib/glib-init.c 2020-02-03 15:28:28.000000000 +0100 ++++ glib-2.63.5-new/glib/glib-init.c 2020-02-11 10:12:24.070832245 +0100 @@ -271,12 +271,14 @@ glib_init (void) #if defined (G_OS_WIN32) |