diff --git a/src/gdk-pixbuf-1-fixes.patch b/src/gdk-pixbuf-1-fixes.patch index 1bb6c361..9ddc42ff 100644 --- a/src/gdk-pixbuf-1-fixes.patch +++ b/src/gdk-pixbuf-1-fixes.patch @@ -5,7 +5,7 @@ Contains ad hoc patches for cross building. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Fri, 24 Sep 2010 23:31:24 +0200 -Subject: [PATCH 1/3] s,DllMain,static _disabled_DllMain, +Subject: [PATCH 1/4] s,DllMain,static _disabled_DllMain, diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c @@ -31,7 +31,7 @@ index 1111111..2222222 100644 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Fri, 12 Oct 2012 12:24:51 +0200 -Subject: [PATCH 2/3] add libtiff to required.private in .pc +Subject: [PATCH 2/4] add libtiff to required.private in .pc diff --git a/gdk-pixbuf-2.0.pc.in b/gdk-pixbuf-2.0.pc.in @@ -49,39 +49,51 @@ index 1111111..2222222 100644 Cflags: -I${includedir}/gdk-pixbuf-@GDK_PIXBUF_API_VERSION@ @GDK_PIXBUF_EXTRA_CFLAGS@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Brand -Date: Fri, 12 Oct 2012 12:25:27 +0200 -Subject: [PATCH 3/3] allow static +From: Gregorio Litenstein +Date: Sat, 19 Oct 2019 17:35:02 -0300 +Subject: [PATCH 3/4] Remove tests and thumbnailer, which will fail. -diff --git a/configure.ac b/configure.ac +diff --git a/Makefile.am b/Makefile.am index 1111111..2222222 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -136,16 +136,16 @@ case $host in - ;; - esac +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = gdk-pixbuf po docs thumbnailer tests contrib win32 ++SUBDIRS = gdk-pixbuf po docs contrib win32 --if test "$os_win32" = "yes"; then -- if test x$enable_static = xyes -o x$enable_static = x; then -- AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.]) -- enable_static=no -- fi -- if test x$enable_shared = xno; then -- AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.]) -- fi -- enable_shared=yes --fi -+dnl if test "$os_win32" = "yes"; then -+dnl if test x$enable_static = xyes -o x$enable_static = x; then -+dnl AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.]) -+dnl enable_static=no -+dnl fi -+dnl if test x$enable_shared = xno; then -+dnl AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.]) -+dnl fi -+dnl enable_shared=yes -+dnl fi + meson_files = \ + meson.build \ +@@ -8,12 +8,9 @@ meson_files = \ + docs/reference/gdk-pixbuf/meson.build \ + contrib/gdk-pixbuf-xlib/meson.build \ + po/meson.build \ +- tests/meson.build \ +- thumbnailer/meson.build \ + build-aux/gen-color-table.pl \ + build-aux/gen-installed-test.py \ + build-aux/gen-resources.py \ +- build-aux/gen-thumbnailer.py \ + $() - dnl Initialize libtool - LT_PREREQ([2.2.6]) + EXTRA_DIST = \ + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gregorio Litenstein +Date: Thu, 11 Jun 2020 12:32:20 -0400 +Subject: [PATCH 4/4] Fix camel-cased windows include. + + +diff --git a/gdk-pixbuf/io-tiff.c b/gdk-pixbuf/io-tiff.c +index 1111111..2222222 100644 +--- a/gdk-pixbuf/io-tiff.c ++++ b/gdk-pixbuf/io-tiff.c +@@ -41,7 +41,7 @@ + #ifdef G_OS_WIN32 + #include + #include +-#include ++#include + #define lseek(a,b,c) _lseek(a,b,c) + #define O_RDWR _O_RDWR + #endif diff --git a/src/gdk-pixbuf.mk b/src/gdk-pixbuf.mk index 3aae0670..528b7c74 100644 --- a/src/gdk-pixbuf.mk +++ b/src/gdk-pixbuf.mk @@ -4,8 +4,8 @@ PKG := gdk-pixbuf $(PKG)_WEBSITE := https://gtk.org/ $(PKG)_DESCR := GDK-pixbuf $(PKG)_IGNORE := -$(PKG)_VERSION := 2.32.3 -$(PKG)_CHECKSUM := 2b6771f1ac72f687a8971e59810b8dc658e65e7d3086bd2e676e618fd541d031 +$(PKG)_VERSION := 2.36.12 +$(PKG)_CHECKSUM := fff85cf48223ab60e3c3c8318e2087131b590fd6f1737e42cb3759a3b427a334 $(PKG)_SUBDIR := gdk-pixbuf-$($(PKG)_VERSION) $(PKG)_FILE := gdk-pixbuf-$($(PKG)_VERSION).tar.xz $(PKG)_URL := https://download.gnome.org/sources/gdk-pixbuf/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) diff --git a/src/glib-1-fixes.patch b/src/glib-1-fixes.patch deleted file mode 100644 index 764ece9e..00000000 --- a/src/glib-1-fixes.patch +++ /dev/null @@ -1,705 +0,0 @@ -This file is part of MXE. See LICENSE.md for licensing information. - -Contains ad hoc patches for cross building. - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Brand -Date: Thu, 23 Sep 2010 21:42:46 +0200 -Subject: [PATCH 01/10] fix tool paths - - -diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in -index 1111111..2222222 100644 ---- a/glib-2.0.pc.in -+++ b/glib-2.0.pc.in -@@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ - --glib_genmarshal=glib-genmarshal --gobject_query=gobject-query --glib_mkenums=glib-mkenums -+glib_genmarshal=@bindir@/glib-genmarshal -+gobject_query=@bindir@/gobject-query -+glib_mkenums=@bindir@/glib-mkenums - - Name: GLib - Description: C Utility Library - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans Petter Jansson -Date: Fri, 15 Jun 2012 15:25:01 +0200 -Subject: [PATCH 02/10] Avoid DllMain symbol conflict when linking statically - -Adjusted by Boris Nagaev on 29-Jan-2017 to fix -https://gist.github.com/starius/f4fc85939352cb50122ba29e0f5b140d -when updating to glib-2.50.2. - -diff --git a/gio/giomodule.c b/gio/giomodule.c -index 1111111..2222222 100644 ---- a/gio/giomodule.c -+++ b/gio/giomodule.c -@@ -928,14 +928,12 @@ extern GType g_cocoa_notification_backend_get_type (void); - - static HMODULE gio_dll = NULL; - --#ifdef DLL_EXPORT -- --BOOL WINAPI DllMain (HINSTANCE hinstDLL, -+BOOL WINAPI gio_DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved); - - BOOL WINAPI --DllMain (HINSTANCE hinstDLL, -+gio_DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved) - { -@@ -945,8 +943,6 @@ DllMain (HINSTANCE hinstDLL, - return TRUE; - } - --#endif -- - void * - _g_io_win32_get_module (void) - { -diff --git a/glib/glib-init.c b/glib/glib-init.c -index 1111111..2222222 100644 ---- a/glib/glib-init.c -+++ b/glib/glib-init.c -@@ -245,14 +245,14 @@ glib_init (void) - - #if defined (G_OS_WIN32) - --BOOL WINAPI DllMain (HINSTANCE hinstDLL, -+BOOL WINAPI glib_DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved); - - HMODULE glib_dll; - - BOOL WINAPI --DllMain (HINSTANCE hinstDLL, -+glib_DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved) - { -diff --git a/gobject/gtype.c b/gobject/gtype.c -index 1111111..2222222 100644 ---- a/gobject/gtype.c -+++ b/gobject/gtype.c -@@ -4450,7 +4450,7 @@ gobject_init (void) - _g_signal_init (); - } - --#if defined (G_OS_WIN32) -+#if 0 - - BOOL WINAPI DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans Petter Jansson -Date: Fri, 15 Jun 2012 15:27:22 +0200 -Subject: [PATCH 03/10] Allow building without inotify support - - -diff --git a/configure.ac b/configure.ac -index 1111111..2222222 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1599,10 +1599,16 @@ dnl ***************************** - dnl ** Check for inotify (GIO) ** - dnl ***************************** - inotify_support=no -+ AC_ARG_ENABLE(inotify, -+ AC_HELP_STRING([--disable-inotify], -+ [build without inotify support])) -+ -+ if test "x$enable_inotify" != "xno"; then - AC_CHECK_HEADERS([sys/inotify.h], - [ - AC_CHECK_FUNCS(inotify_init1, [inotify_support=yes], [inotify_support=no]) - ]) -+fi - - AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"]) - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans Petter Jansson -Date: Fri, 15 Jun 2012 15:28:14 +0200 -Subject: [PATCH 04/10] Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF. - Backported from upstream - - -diff --git a/configure.ac b/configure.ac -index 1111111..2222222 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -511,6 +511,8 @@ LT_INIT([disable-static win32-dll]) - dnl when using libtool 2.x create libtool early, because it's used in configure - m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) - -+# Make sure STDC_HEADERS is set for AC_CHECK_ALIGNOF -+AS_IF([false], [AC_CHECK_HEADER([stdint.h])]) - - AS_IF([test "$glib_native_win32" = "yes"], [ - if test x$enable_static = xyes -a x$enable_shared = xyes; then - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans Petter Jansson -Date: Fri, 15 Jun 2012 15:29:06 +0200 -Subject: [PATCH 05/10] Link with dnsapi - - -diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in -index 1111111..2222222 100644 ---- a/gio-2.0.pc.in -+++ b/gio-2.0.pc.in -@@ -13,6 +13,6 @@ Description: glib I/O library - Version: @VERSION@ - Requires: glib-2.0 gobject-2.0 - Requires.private: gmodule-no-export-2.0 --Libs: -L${libdir} -lgio-2.0 -+Libs: -L${libdir} -lgio-2.0 -ldnsapi -liphlpapi - Libs.private: @ZLIB_LIBS@ @NETWORK_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ - Cflags: - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans Petter Jansson -Date: Fri, 15 Jun 2012 15:29:38 +0200 -Subject: [PATCH 06/10] Ensure globals are initialized even when DllMain is not - being run - - -diff --git a/glib/gmain.c b/glib/gmain.c -index 1111111..2222222 100644 ---- a/glib/gmain.c -+++ b/glib/gmain.c -@@ -2657,12 +2657,15 @@ g_get_real_time (void) - #if defined (G_OS_WIN32) - static ULONGLONG (*g_GetTickCount64) (void) = NULL; - static guint32 g_win32_tick_epoch = 0; -+static gboolean g_win32_clock_is_initialized; - - void - g_clock_win32_init (void) - { - HMODULE kernel32; - -+ g_win32_clock_is_initialized = TRUE; -+ - g_GetTickCount64 = NULL; - kernel32 = GetModuleHandle ("KERNEL32.DLL"); - if (kernel32 != NULL) -@@ -2721,6 +2724,9 @@ g_get_monotonic_time (void) - * timeBeginPeriod() to increase it as much as they want - */ - -+ if (!g_win32_clock_is_initialized) -+ g_clock_win32_init (); -+ - if (g_GetTickCount64 != NULL) - { - guint32 ticks_as_32bit; -diff --git a/glib/gthread-win32.c b/glib/gthread-win32.c -index 1111111..2222222 100644 ---- a/glib/gthread-win32.c -+++ b/glib/gthread-win32.c -@@ -116,18 +116,28 @@ typedef struct - void (__stdcall * WakeConditionVariable) (gpointer cond); - } GThreadImplVtable; - -+/* Needed for static builds where DllMain initializer doesn't get called */ -+static gboolean g_threads_is_initialized; -+G_GNUC_INTERNAL void g_thread_win32_init (void); -+ - static GThreadImplVtable g_thread_impl_vtable; - - /* {{{1 GMutex */ - void - g_mutex_init (GMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.InitializeSRWLock (mutex); - } - - void - g_mutex_clear (GMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - if (g_thread_impl_vtable.DeleteSRWLock != NULL) - g_thread_impl_vtable.DeleteSRWLock (mutex); - } -@@ -135,18 +145,27 @@ g_mutex_clear (GMutex *mutex) - void - g_mutex_lock (GMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.AcquireSRWLockExclusive (mutex); - } - - gboolean - g_mutex_trylock (GMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - return g_thread_impl_vtable.TryAcquireSRWLockExclusive (mutex); - } - - void - g_mutex_unlock (GMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.ReleaseSRWLockExclusive (mutex); - } - -@@ -157,6 +176,9 @@ g_rec_mutex_impl_new (void) - { - CRITICAL_SECTION *cs; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - cs = g_slice_new (CRITICAL_SECTION); - InitializeCriticalSection (cs); - -@@ -167,6 +189,10 @@ static void - g_rec_mutex_impl_free (CRITICAL_SECTION *cs) - { - DeleteCriticalSection (cs); -+ -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_slice_free (CRITICAL_SECTION, cs); - } - -@@ -175,6 +201,9 @@ g_rec_mutex_get_impl (GRecMutex *mutex) - { - CRITICAL_SECTION *impl = mutex->p; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - if G_UNLIKELY (mutex->p == NULL) - { - impl = g_rec_mutex_impl_new (); -@@ -189,30 +218,45 @@ g_rec_mutex_get_impl (GRecMutex *mutex) - void - g_rec_mutex_init (GRecMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - mutex->p = g_rec_mutex_impl_new (); - } - - void - g_rec_mutex_clear (GRecMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_rec_mutex_impl_free (mutex->p); - } - - void - g_rec_mutex_lock (GRecMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - EnterCriticalSection (g_rec_mutex_get_impl (mutex)); - } - - void - g_rec_mutex_unlock (GRecMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - LeaveCriticalSection (mutex->p); - } - - gboolean - g_rec_mutex_trylock (GRecMutex *mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - return TryEnterCriticalSection (g_rec_mutex_get_impl (mutex)); - } - -@@ -221,12 +265,18 @@ g_rec_mutex_trylock (GRecMutex *mutex) - void - g_rw_lock_init (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.InitializeSRWLock (lock); - } - - void - g_rw_lock_clear (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - if (g_thread_impl_vtable.DeleteSRWLock != NULL) - g_thread_impl_vtable.DeleteSRWLock (lock); - } -@@ -234,36 +284,54 @@ g_rw_lock_clear (GRWLock *lock) - void - g_rw_lock_writer_lock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.AcquireSRWLockExclusive (lock); - } - - gboolean - g_rw_lock_writer_trylock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - return g_thread_impl_vtable.TryAcquireSRWLockExclusive (lock); - } - - void - g_rw_lock_writer_unlock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.ReleaseSRWLockExclusive (lock); - } - - void - g_rw_lock_reader_lock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.AcquireSRWLockShared (lock); - } - - gboolean - g_rw_lock_reader_trylock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - return g_thread_impl_vtable.TryAcquireSRWLockShared (lock); - } - - void - g_rw_lock_reader_unlock (GRWLock *lock) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.ReleaseSRWLockShared (lock); - } - -@@ -271,12 +339,18 @@ g_rw_lock_reader_unlock (GRWLock *lock) - void - g_cond_init (GCond *cond) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.InitializeConditionVariable (cond); - } - - void - g_cond_clear (GCond *cond) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - if (g_thread_impl_vtable.DeleteConditionVariable) - g_thread_impl_vtable.DeleteConditionVariable (cond); - } -@@ -284,12 +358,18 @@ g_cond_clear (GCond *cond) - void - g_cond_signal (GCond *cond) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.WakeConditionVariable (cond); - } - - void - g_cond_broadcast (GCond *cond) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.WakeAllConditionVariable (cond); - } - -@@ -297,6 +377,9 @@ void - g_cond_wait (GCond *cond, - GMutex *entered_mutex) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - g_thread_impl_vtable.SleepConditionVariableSRW (cond, entered_mutex, INFINITE, 0); - } - -@@ -307,6 +390,9 @@ g_cond_wait_until (GCond *cond, - { - gint64 span; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - span = end_time - g_get_monotonic_time (); - - if G_UNLIKELY (span < 0) -@@ -339,6 +425,9 @@ g_private_get_impl (GPrivate *key) - - if G_UNLIKELY (impl == 0) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - EnterCriticalSection (&g_private_lock); - impl = (DWORD) key->p; - if (impl == 0) -@@ -432,6 +521,9 @@ g_system_thread_free (GRealThread *thread) - { - GThreadWin32 *wt = (GThreadWin32 *) thread; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - win32_check_for_error (CloseHandle (wt->handle)); - g_slice_free (GThreadWin32, wt); - } -@@ -439,6 +531,9 @@ g_system_thread_free (GRealThread *thread) - void - g_system_thread_exit (void) - { -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - _endthreadex (0); - } - -@@ -447,6 +542,9 @@ g_thread_win32_proxy (gpointer data) - { - GThreadWin32 *self = data; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - self->proxy (self); - - g_system_thread_exit (); -@@ -464,6 +562,9 @@ g_system_thread_new (GThreadFunc func, - GThreadWin32 *thread; - guint ignore; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - thread = g_slice_new0 (GThreadWin32); - thread->proxy = func; - -@@ -493,6 +594,9 @@ g_system_thread_wait (GRealThread *thread) - { - GThreadWin32 *wt = (GThreadWin32 *) thread; - -+ if (!g_threads_is_initialized) -+ g_thread_win32_init (); -+ - win32_check_for_error (WAIT_FAILED != WaitForSingleObject (wt->handle, INFINITE)); - } - -@@ -1041,6 +1145,8 @@ g_thread_lookup_native_funcs (void) - void - g_thread_win32_init (void) - { -+ g_threads_is_initialized = TRUE; -+ - if (!g_thread_lookup_native_funcs ()) - g_thread_xp_init (); - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Gerardo Ballabio -Date: Sun, 16 Aug 2015 13:18:24 +0200 -Subject: [PATCH 07/10] Remove an annoying runtime warning - -that pops up when using GtkApplication in Gtk+ 3 programs. - -diff --git a/gio/gdbusaddress.c b/gio/gdbusaddress.c -index 1111111..2222222 100644 ---- a/gio/gdbusaddress.c -+++ b/gio/gdbusaddress.c -@@ -1387,6 +1387,7 @@ __declspec(dllexport) void CALLBACK g_win32_run_session_bus (HWND hwnd, HINSTANC - __declspec(dllexport) void CALLBACK - g_win32_run_session_bus (HWND hwnd, HINSTANCE hinst, char *cmdline, int nCmdShow) - { -+ /* - GDBusDaemon *daemon; - GMainLoop *loop; - const char *address; -@@ -1418,6 +1419,7 @@ g_win32_run_session_bus (HWND hwnd, HINSTANCE hinst, char *cmdline, int nCmdShow - - g_main_loop_unref (loop); - g_object_unref (daemon); -+ */ - } - - static gchar * - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: aquiles2k -Date: Wed, 6 Apr 2016 22:39:53 +0300 -Subject: [PATCH 08/10] fix error "won't overwrite defined macro" on OSX - -See https://github.com/mxe/mxe/issues/1281 - -diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4 -index 1111111..2222222 100644 ---- a/m4macros/glib-gettext.m4 -+++ b/m4macros/glib-gettext.m4 -@@ -36,8 +36,8 @@ dnl We go to great lengths to make sure that aclocal won't - dnl try to pull in the installed version of these macros - dnl when running aclocal in the glib directory. - dnl --m4_copy([AC_DEFUN],[glib_DEFUN]) --m4_copy([AC_REQUIRE],[glib_REQUIRE]) -+m4_copy_force([AC_DEFUN],[glib_DEFUN]) -+m4_copy_force([AC_REQUIRE],[glib_REQUIRE]) - dnl - dnl At the end, if we're not within glib, we'll define the public - dnl definitions in terms of our private definitions. - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Theodore -Date: Mon, 26 Feb 2018 16:09:53 +1100 -Subject: [PATCH 09/10] darwin: disable g_cocoa_notification_backend - - -diff --git a/gio/Makefile.am b/gio/Makefile.am -index 1111111..2222222 100644 ---- a/gio/Makefile.am -+++ b/gio/Makefile.am -@@ -279,10 +279,6 @@ unix_sources = \ - - appinfo_sources += $(unix_appinfo_sources) - --if OS_COCOA --unix_sources += gcocoanotificationbackend.c --endif -- - giounixincludedir=$(includedir)/gio-unix-2.0/gio - giounixinclude_HEADERS = \ - gdesktopappinfo.h \ -diff --git a/gio/giomodule.c b/gio/giomodule.c -index 1111111..2222222 100644 ---- a/gio/giomodule.c -+++ b/gio/giomodule.c -@@ -918,9 +918,6 @@ extern GType g_proxy_resolver_portal_get_type (void); - extern GType g_network_monitor_portal_get_type (void); - #endif - --#ifdef HAVE_COCOA --extern GType g_cocoa_notification_backend_get_type (void); --#endif - - #ifdef G_PLATFORM_WIN32 - -@@ -1117,9 +1114,6 @@ _g_io_modules_ensure_loaded (void) - g_type_ensure (g_network_monitor_portal_get_type ()); - g_type_ensure (g_proxy_resolver_portal_get_type ()); - #endif --#ifdef HAVE_COCOA -- g_type_ensure (g_cocoa_notification_backend_get_type ()); --#endif - #ifdef G_OS_WIN32 - g_type_ensure (_g_winhttp_vfs_get_type ()); - #endif - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Tue, 29 Jan 2019 09:50:46 +0100 -Subject: [PATCH 10/10] gdbus: Avoid printing null strings - -This mostly affects the 2.56 branch, but, given that GCC 9 is being -stricter about passing null string pointers to printf-like functions, it -might make sense to proactively fix such calls. - -gdbusauth.c: In function '_g_dbus_auth_run_server': -gdbusauth.c:1302:11: error: '%s' directive argument is null -[-Werror=format-overflow=] - 1302 | debug_print ("SERVER: WaitingForBegin, read '%s'", - line); - | - -gdbusmessage.c: In function ‘g_dbus_message_to_blob’: -gdbusmessage.c:2730:30: error: ‘%s’ directive argument is null [-Werror=format-overflow=] - 2730 | tupled_signature_str = g_strdup_printf ("(%s)", signature_str); - | - -diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c -index 1111111..2222222 100644 ---- a/gio/gdbusauth.c -+++ b/gio/gdbusauth.c -@@ -1295,9 +1295,9 @@ _g_dbus_auth_run_server (GDBusAuth *auth, - &line_length, - cancellable, - error); -- debug_print ("SERVER: WaitingForBegin, read '%s'", line); - if (line == NULL) - goto out; -+ debug_print ("SERVER: WaitingForBegin, read '%s'", line); - if (g_strcmp0 (line, "BEGIN") == 0) - { - /* YAY, done! */ -diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c -index 1111111..2222222 100644 ---- a/gio/gdbusmessage.c -+++ b/gio/gdbusmessage.c -@@ -2695,7 +2695,6 @@ g_dbus_message_to_blob (GDBusMessage *message, - if (message->body != NULL) - { - gchar *tupled_signature_str; -- tupled_signature_str = g_strdup_printf ("(%s)", signature_str); - if (signature == NULL) - { - g_set_error (error, -@@ -2703,10 +2702,10 @@ g_dbus_message_to_blob (GDBusMessage *message, - G_IO_ERROR_INVALID_ARGUMENT, - _("Message body has signature '%s' but there is no signature header"), - signature_str); -- g_free (tupled_signature_str); - goto out; - } -- else if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) -+ tupled_signature_str = g_strdup_printf ("(%s)", signature_str); -+ if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) - { - g_set_error (error, - G_IO_ERROR, diff --git a/src/glib-patch-static-dllmain.diff b/src/glib-patch-static-dllmain.diff new file mode 100644 index 00000000..4da8766d --- /dev/null +++ b/src/glib-patch-static-dllmain.diff @@ -0,0 +1,118 @@ +This file is part of MXE. See LICENSE.md for licensing information. + +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gregorio Litenstein +Date: Sat, 19 Oct 2019 17:07:44 -0300 +Subject: [PATCH 1/1] Fix static build by patching dllimport. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this patch, it’s possible to build glib statically but libs linking to it (like gdk-pixbuf) will fail. + +diff --git a/glib/glib-init.c b/glib/glib-init.c +index 1111111..2222222 100644 +--- a/glib/glib-init.c ++++ b/glib/glib-init.c +@@ -272,12 +272,14 @@ glib_init (void) + + #if defined (G_OS_WIN32) + ++HMODULE glib_dll = NULL; ++ ++#if defined (DLL_EXPORT) ++ + BOOL WINAPI DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved); + +-HMODULE glib_dll; +- + BOOL WINAPI + DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, +@@ -287,12 +289,7 @@ DllMain (HINSTANCE hinstDLL, + { + case DLL_PROCESS_ATTACH: + glib_dll = hinstDLL; +- g_clock_win32_init (); +-#ifdef THREADS_WIN32 +- g_thread_win32_init (); +-#endif +- glib_init (); +- /* must go after glib_init */ ++ + g_console_win32_init (); + break; + +@@ -317,7 +314,10 @@ DllMain (HINSTANCE hinstDLL, + return TRUE; + } + +-#elif defined (G_HAS_CONSTRUCTORS) ++#endif /* defined (DLL_EXPORT) */ ++#endif /* defined (G_OS_WIN32) */ ++ ++#if defined (G_HAS_CONSTRUCTORS) + + #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA + #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(glib_init_ctor) +@@ -327,6 +327,12 @@ G_DEFINE_CONSTRUCTOR(glib_init_ctor) + static void + glib_init_ctor (void) + { ++#if defined (G_OS_WIN32) ++ g_clock_win32_init (); ++#ifdef THREADS_WIN32 ++ g_thread_win32_init (); ++#endif /* defined (THREADS_WIN32) */ ++#endif /* defined (G_OS_WIN32) */ + glib_init (); + } + +diff --git a/gobject/gtype.c b/gobject/gtype.c +index 1111111..2222222 100644 +--- a/gobject/gtype.c ++++ b/gobject/gtype.c +@@ -4451,7 +4451,19 @@ gobject_init (void) + _g_signal_init (); + } + +-#if defined (G_OS_WIN32) ++#if defined (G_HAS_CONSTRUCTORS) ++#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA ++#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(gobject_init_ctor) ++#endif ++G_DEFINE_CONSTRUCTOR(gobject_init_ctor) ++ ++static void ++gobject_init_ctor (void) ++{ ++ gobject_init (); ++} ++ ++#elif defined (G_OS_WIN32) && defined (DLL_EXPORT) + + BOOL WINAPI DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, +@@ -4476,18 +4488,6 @@ DllMain (HINSTANCE hinstDLL, + return TRUE; + } + +-#elif defined (G_HAS_CONSTRUCTORS) +-#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA +-#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(gobject_init_ctor) +-#endif +-G_DEFINE_CONSTRUCTOR(gobject_init_ctor) +- +-static void +-gobject_init_ctor (void) +-{ +- gobject_init (); +-} +- + #else + # error Your platform/compiler is missing constructor support + #endif diff --git a/src/glib.mk b/src/glib.mk index 19b92dc1..f0a2171a 100644 --- a/src/glib.mk +++ b/src/glib.mk @@ -4,8 +4,8 @@ PKG := glib $(PKG)_WEBSITE := https://gtk.org/ $(PKG)_DESCR := GLib $(PKG)_IGNORE := -$(PKG)_VERSION := 2.50.2 -$(PKG)_CHECKSUM := be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5 +$(PKG)_VERSION := 2.58.3 +$(PKG)_CHECKSUM := 8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481 $(PKG)_SUBDIR := glib-$($(PKG)_VERSION) $(PKG)_FILE := glib-$($(PKG)_VERSION).tar.xz $(PKG)_URL := https://download.gnome.org/sources/glib/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) @@ -21,13 +21,15 @@ define $(PKG)_UPDATE head -1 endef +define $(PKG)_PATCH_STATIC + (cd $(SOURCE_DIR) && $(PATCH) -p1 -u) < $(TOP_DIR)/src/glib-patch-static-dllmain.diff +endef + define $(PKG)_BUILD_DARWIN # native build for glib-tools cd '$(SOURCE_DIR)' && NOCONFIGURE=true ./autogen.sh cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \ $(MXE_CONFIGURE_OPTS) \ - --enable-regex \ - --disable-threads \ --disable-selinux \ --disable-inotify \ --disable-fam \ @@ -42,6 +44,7 @@ define $(PKG)_BUILD_DARWIN $(MAKE) -C '$(BUILD_DIR)/gthread' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' lib_LTLIBRARIES= install-exec + $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gio/xdgmime' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gio/kqueue' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' glib-compile-schemas @@ -55,10 +58,7 @@ define $(PKG)_BUILD_NATIVE cd '$(SOURCE_DIR)' && NOCONFIGURE=true ./autogen.sh cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \ $(MXE_CONFIGURE_OPTS) \ - --enable-regex \ - --disable-threads \ --disable-selinux \ - --disable-inotify \ --disable-fam \ --disable-xattr \ --disable-dtrace \ @@ -74,6 +74,7 @@ define $(PKG)_BUILD_NATIVE $(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' lib_LTLIBRARIES= install-exec $(MAKE) -C '$(BUILD_DIR)/gio/xdgmime' -j '$(JOBS)' + $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' glib-compile-schemas $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' glib-compile-resources $(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/' @@ -87,6 +88,7 @@ define $(PKG)_BUILD_$(BUILD) endef define $(PKG)_BUILD + $(if $(BUILD_STATIC), $(call $(PKG)_PATCH_STATIC)) # other packages expect glib-tools in $(TARGET)/bin rm -f '$(PREFIX)/$(TARGET)/bin/glib-*' ln -sf '$(PREFIX)/$(BUILD)/bin/glib-genmarshal' '$(PREFIX)/$(TARGET)/bin/' @@ -97,7 +99,7 @@ define $(PKG)_BUILD cd '$(SOURCE_DIR)' && NOCONFIGURE=true ./autogen.sh cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \ $(MXE_CONFIGURE_OPTS) \ - --with-threads=win32 \ + --with-threads=$(MXE_GCC_THREADS) \ --with-pcre=system \ --with-libiconv=gnu \ --disable-inotify \ @@ -105,12 +107,13 @@ define $(PKG)_BUILD PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' \ GLIB_GENMARSHAL='$(PREFIX)/$(TARGET)/bin/glib-genmarshal' \ GLIB_COMPILE_SCHEMAS='$(PREFIX)/$(TARGET)/bin/glib-compile-schemas' \ - GLIB_COMPILE_RESOURCES='$(PREFIX)/$(TARGET)/bin/glib-compile-resources' - $(MAKE) -C '$(BUILD_DIR)/glib' -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS= - $(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= - $(MAKE) -C '$(BUILD_DIR)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= - $(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= - $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= MISC_STUFF= - $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install-pkgconfigDATA - $(MAKE) -C '$(BUILD_DIR)/m4macros' install -endef + GLIB_COMPILE_RESOURCES='$(PREFIX)/$(TARGET)/bin/glib-compile-resources' \ + LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/glib' -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS= LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/gobject' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/gio' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= MISC_STUFF= LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install-pkgconfigDATA LIBS="-ldnsapi -liphlpapi -lintl" + $(MAKE) -C '$(BUILD_DIR)/m4macros' install +endef \ No newline at end of file diff --git a/src/glibmm.mk b/src/glibmm.mk index 680e5afe..eb9cf154 100644 --- a/src/glibmm.mk +++ b/src/glibmm.mk @@ -4,8 +4,8 @@ PKG := glibmm $(PKG)_WEBSITE := https://www.gtkmm.org/ $(PKG)_DESCR := GLibmm $(PKG)_IGNORE := -$(PKG)_VERSION := 2.42.0 -$(PKG)_CHECKSUM := 985083d97378d234da27a7243587cc0d186897a4b2d3c1286f794089be1a3397 +$(PKG)_VERSION := 2.58.1 +$(PKG)_CHECKSUM := 6e5fe03bdf1e220eeffd543e017fd2fb15bcec9235f0ffd50674aff9362a85f0 $(PKG)_SUBDIR := glibmm-$($(PKG)_VERSION) $(PKG)_FILE := glibmm-$($(PKG)_VERSION).tar.xz $(PKG)_URL := https://download.gnome.org/sources/glibmm/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) diff --git a/src/libgsf.mk b/src/libgsf.mk index 292d8c30..696f4860 100644 --- a/src/libgsf.mk +++ b/src/libgsf.mk @@ -31,5 +31,5 @@ define $(PKG)_BUILD $(shell [ `uname -s` == Darwin ] && echo "INTLTOOL_PERL=/usr/bin/perl") \ PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' $(MAKE) -C '$(1)' -j '$(JOBS)' install-pkgconfigDATA - $(MAKE) -C '$(1)/gsf' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= + $(MAKE) -C '$(1)/gsf' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= LIBS="-lintl" endef