summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Murino2020-03-05 09:27:56 +0100
committerNicola Murino2020-03-05 09:27:56 +0100
commit176ab1c8c599f88577d59b97fef0f10e1443802d (patch)
tree787b59ed7aa563a8e942784f078f9e75ea678b7b
parent0103c66e62b6ed777dd627f1438c633b21257438 (diff)
downloadaur-176ab1c8c599f88577d59b97fef0f10e1443802d.tar.gz
update to 2.64.0
-rw-r--r--.SRCINFO8
-rw-r--r--0001-Use-CreateFile-on-Win32-to-make-sure-g_unlink-always.patch336
-rw-r--r--PKGBUILD8
-rw-r--r--glib-prefer-constructors-over-DllMain.patch21
4 files changed, 287 insertions, 86 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 626d277f939c..03d5914bcc48 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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))
+ {
diff --git a/PKGBUILD b/PKGBUILD
index 88b77c12a6a3..3521cec92134 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)