Browse Source

update gtk stack

gtk-stack-updates
Alexandros Theodotou 1 year ago
committed by Alexandros Theodotou
parent
commit
c7ffc045e7
Signed by: alex GPG Key ID: 022EAE42313D70F3
  1. 2
      src/atk.mk
  2. 2
      src/cairo.mk
  3. 3
      src/carla.mk
  4. 7
      src/fluidsynth.mk
  5. 2
      src/gdk-pixbuf-rsvg.mk
  6. 2
      src/gdk-pixbuf.mk
  7. 23
      src/gettext-bin.mk
  8. 28
      src/glib.mk
  9. 383
      src/glib2-1-update-g-fopen.patch
  10. 85
      src/glib2-2-make-static-build-work-with-mingw.patch
  11. 15
      src/glib2-3-disable-some-tests-when-static.patch
  12. 19
      src/glib2-4-add-iconv-dependency.patch
  13. 86
      src/glib2.mk
  14. 36131
      src/gtk3-1-fixes.patch
  15. 38
      src/gtk3-1-revert-quartz.patch
  16. 36
      src/gtk3-2-dont-force-enable-csd.patch
  17. 39
      src/gtk3-3-disable-low-level-keyboard-hook.patch
  18. 29
      src/gtk3-utils-bin.mk
  19. 51
      src/gtk3.mk
  20. 2
      src/harfbuzz.mk
  21. 11
      src/libcroco.mk
  22. 34
      src/libepoxy-1-fixes.patch
  23. 31
      src/libepoxy.mk
  24. 2
      src/libgsf.mk
  25. 7
      src/librsvg.mk
  26. 2
      src/pango.mk
  27. 2
      src/zrythm-trial.mk
  28. 2
      src/zrythm.mk
  29. 4
      tools/build-pkg.lua

2
src/atk.mk

@ -9,7 +9,7 @@ $(PKG)_CHECKSUM := 095f986060a6a0b22eb15eef84ae9f14a1cf8082488faa6886d94c37438ae
$(PKG)_SUBDIR := atk-$($(PKG)_VERSION)
$(PKG)_FILE := atk-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/atk/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc gettext glib
$(PKG)_DEPS := cc gettext glib2
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/atk/tags' | \

2
src/cairo.mk

@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052
$(PKG)_SUBDIR := cairo-$($(PKG)_VERSION)
$(PKG)_FILE := cairo-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://cairographics.org/releases/$($(PKG)_FILE)
$(PKG)_DEPS := cc fontconfig freetype-bootstrap glib libpng lzo pixman zlib
$(PKG)_DEPS := cc fontconfig freetype-bootstrap glib2 libpng lzo pixman zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://cairographics.org/releases/?C=M;O=D' | \

3
src/carla.mk

@ -10,6 +10,9 @@ $(PKG)_GH_CONF := falkTX/Carla/branches/develop
$(PKG)_DEPS := cc libsndfile fluidsynth
define $(PKG)_BUILD
cd '$(SOURCE_DIR)' && \
$(SED) -i -e "s|NATIVE_LINK_FLAGS) -o|NATIVE_LINK_FLAGS) -L$(PREFIX)/x86_64-w64-mingw32.shared/lib -lintl -liconv -o|g" source/plugin/Makefile source/bridges-plugin/Makefile && \
$(SED) -i -e "s|\t@|\t|g" source/bridges-plugin/Makefile source/plugin/Makefile
cd '$(SOURCE_DIR)' && $(MAKE) -j '$(JOBS)' \
CC=$(subst shared,static,$(TARGET))-gcc CXX=$(subst shared,static,$(TARGET))-g++ \
PKG_CONFIG=$(subst shared,static,$(TARGET))-pkg-config BUILDING_FOR_WINDOWS=true

7
src/fluidsynth.mk

@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.7
$(PKG)_CHECKSUM := b68876d24c7fb34575ffa389bcfe8e61a24f1cf1da8ec6c3b2053efde98d0320
$(PKG)_GH_CONF := FluidSynth/fluidsynth/tags,v
$(PKG)_DEPS := cc dbus glib libsndfile mman-win32 portaudio readline # jack
$(PKG)_DEPS := cc dbus glib2 libsndfile mman-win32 portaudio readline # jack
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && '$(TARGET)-cmake' '$(SOURCE_DIR)' \
@ -23,9 +23,4 @@ define $(PKG)_BUILD
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' VERBOSE=1
$(MAKE) -C '$(BUILD_DIR)' -j 1 install VERBOSE=1
# compile test
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-fluidsynth.exe' \
`'$(TARGET)-pkg-config' --cflags --libs fluidsynth`
endef

2
src/gdk-pixbuf-rsvg.mk

@ -9,7 +9,7 @@ $(PKG)_CHECKSUM := 1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead
$(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)
$(PKG)_DEPS := cc glib jasper jpeg libiconv libpng tiff librsvg
$(PKG)_DEPS := cc glib2 jasper jpeg libiconv libpng tiff librsvg
define $(PKG)_BUILD
cd $(SOURCE_DIR) && \

2
src/gdk-pixbuf.mk

@ -9,7 +9,7 @@ $(PKG)_CHECKSUM := 2b6771f1ac72f687a8971e59810b8dc658e65e7d3086bd2e676e618fd541d
$(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)
$(PKG)_DEPS := cc glib jasper jpeg libiconv libpng tiff
$(PKG)_DEPS := cc glib2 jasper jpeg libiconv libpng tiff
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/gdk-pixbuf/tags' | \

23
src/gettext-bin.mk

@ -0,0 +1,23 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := gettext-bin
$(PKG)_WEBSITE := http://www.linuxfromscratch.org/blfs/view/svn/general/libcroco.html
$(PKG)_DESCR := gettext binary
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.19.8.1
$(PKG)_CHECKSUM := 0349bd137cd15ec2e3e882b1b8152ffc4bc5369999b0aa1999c6b087c34148bc
$(PKG)_SUBDIR := mingw64
$(PKG)_FILE := gettext-$($(PKG)_VERSION)-8-any.pkg.tar.xz
$(PKG)_URL := http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-8-any.pkg.tar.xz
$(PKG)_DEPS := gettext
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/libcroco/tags' | \
$(SED) -n "s,.*<a [^>]\+>v\?\([0-9]\+\.[0-9.]\+\)<.*,\1,p" | \
head -1
endef
define $(PKG)_BUILD
cd $(1) && cp -R ./* $(PREFIX)/$(TARGET)/
endef

28
src/glib.mk

@ -87,31 +87,3 @@ define $(PKG)_BUILD_$(BUILD)
$($(PKG)_BUILD_NATIVE))
endef
define $(PKG)_BUILD
# other packages expect glib-tools in $(TARGET)/bin
rm -f '$(PREFIX)/$(TARGET)/bin/glib-*'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-genmarshal' '$(PREFIX)/$(TARGET)/bin/'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
# cross build
cd '$(SOURCE_DIR)' && NOCONFIGURE=true ./autogen.sh
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
$(MXE_CONFIGURE_OPTS) \
--with-threads=win32 \
--with-pcre=system \
--with-libiconv=gnu \
--disable-inotify \
CXX='$(TARGET)-g++' \
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

383
src/glib2-1-update-g-fopen.patch

@ -0,0 +1,383 @@
From a137bb56674eca0b8d2592e870a1d2595a9eb934 Mon Sep 17 00:00:00 2001
From: Jeremy Tan <jtanx@outlook.com>
Date: Sat, 15 Jun 2019 14:40:52 +1000
Subject: [PATCH] Update g_fopen, g_open and g_creat to open with
FILE_SHARE_DELETE sharing access
Very loosely based on the patches in
https://gitlab.gnome.org/GNOME/glib/issues/539
but with much more robust file mode parsing and error handling.
Implements most of the definition as provided on msdn for fopen.
If charcter conversion is requested (via _O_U8TEXT, _O_U16TEXT, _O_WTEXT or any
of the 'ccs=utf8/utf-16le/unicode'), g_fopen and g_open fall back to use
_wfopen and _wopen respectively, as there is no easy way to replicate the
expected behaviour of those modes, particularly around BOM handling.
---
glib/gstdio.c | 304 ++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 267 insertions(+), 37 deletions(-)
diff --git a/glib/gstdio.c b/glib/gstdio.c
index 653c8a3a1..c34440424 100644
--- a/glib/gstdio.c
+++ b/glib/gstdio.c
@@ -1035,21 +1035,146 @@ g_open (const gchar *filename,
int mode)
{
#ifdef G_OS_WIN32
- wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
+ HANDLE file_handle;
+ DWORD disposition;
+ DWORD desired_access;
+ DWORD flags_and_attributes;
+ DWORD last_error;
+ SECURITY_ATTRIBUTES security_attributes;
+ wchar_t *wfilename;
+ int r;
int retval;
int save_errno;
-
+
+ wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
if (wfilename == NULL)
{
errno = EINVAL;
return -1;
}
- retval = _wopen (wfilename, flags, mode);
- save_errno = errno;
+ /* If any of these flags are specified, fall back to _wopen */
+ if (flags & (_O_U8TEXT | _O_U16TEXT | _O_WTEXT))
+ {
+ retval = _wopen (wfilename, flags, mode);
+ save_errno = errno;
+
+ g_free (wfilename);
+ errno = save_errno;
+ return retval;
+ }
+
+ /* Set up the access mode; exactly one of these must be specified */
+ switch (flags & (_O_RDONLY | _O_WRONLY | _O_RDWR))
+ {
+ case _O_RDONLY:
+ desired_access = GENERIC_READ;
+ break;
+ case _O_WRONLY:
+ desired_access = GENERIC_WRITE;
+ break;
+ case _O_RDWR:
+ desired_access = GENERIC_READ | GENERIC_WRITE;
+ break;
+ default:
+ g_free (wfilename);
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* Parse the creation disposition */
+ switch (flags & (_O_CREAT | _O_EXCL | _O_TRUNC))
+ {
+ case _O_CREAT:
+ disposition = OPEN_ALWAYS;
+ break;
+ case _O_CREAT | _O_TRUNC:
+ disposition = CREATE_ALWAYS;
+ break;
+ case _O_CREAT | _O_EXCL:
+ case _O_CREAT | _O_TRUNC | _O_EXCL:
+ disposition = CREATE_NEW;
+ break;
+ case _O_TRUNC:
+ case _O_TRUNC | _O_EXCL:
+ disposition = TRUNCATE_EXISTING;
+ break;
+ default:
+ disposition = OPEN_EXISTING;
+ }
+ if (!(desired_access & GENERIC_WRITE) && disposition == TRUNCATE_EXISTING)
+ {
+ /* Must have GENERIC_WRITE to be able to truncate */
+ g_free (wfilename);
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* Set up the security descriptor */
+ security_attributes.nLength = sizeof(security_attributes);
+ security_attributes.lpSecurityDescriptor = NULL;
+ security_attributes.bInheritHandle = (flags & _O_NOINHERIT) != _O_NOINHERIT;
+
+ flags_and_attributes = 0;
+ if ((flags & _O_CREAT) && !(mode & _S_IWRITE))
+ flags_and_attributes |= FILE_ATTRIBUTE_READONLY;
+ if (flags & _O_TEMPORARY)
+ {
+ flags_and_attributes |= FILE_FLAG_DELETE_ON_CLOSE;
+ desired_access |= DELETE;
+ }
+ if (flags & _O_SHORT_LIVED)
+ flags_and_attributes |= FILE_ATTRIBUTE_TEMPORARY;
+ if (flags & _O_SEQUENTIAL)
+ flags_and_attributes |= FILE_FLAG_SEQUENTIAL_SCAN;
+ if (flags & _O_RANDOM)
+ flags_and_attributes |= FILE_FLAG_RANDOM_ACCESS;
+
+ file_handle = CreateFileW (wfilename,
+ desired_access,
+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
+ &security_attributes,
+ disposition,
+ flags_and_attributes,
+ NULL);
+ last_error = GetLastError ();
g_free (wfilename);
+ if (file_handle == INVALID_HANDLE_VALUE)
+ {
+ errno = w32_error_to_errno (last_error);
+ return -1;
+ }
+
+ retval = _open_osfhandle ((intptr_t)file_handle, flags);
+ save_errno = errno;
+
+ if (retval == -1)
+ {
+ CloseHandle (file_handle);
+ errno = save_errno;
+ return -1;
+ }
+
+ flags &= _O_BINARY | _O_TEXT;
+ if (!flags)
+ /* No explicit specification; try the global mode */
+ flags = _fmode & (_O_BINARY | _O_TEXT);
+
+ if (flags & _O_BINARY)
+ r = _setmode (retval, _O_BINARY);
+ else
+ r = _setmode (retval, _O_TEXT);
+
+ if (r == -1)
+ {
+ save_errno = errno;
+ close (retval);
+ errno = save_errno;
+ return -1;
+ }
+
errno = save_errno;
return retval;
#else
@@ -1098,23 +1223,7 @@ g_creat (const gchar *filename,
int mode)
{
#ifdef G_OS_WIN32
- wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
- int retval;
- int save_errno;
-
- if (wfilename == NULL)
- {
- errno = EINVAL;
- return -1;
- }
-
- retval = _wcreat (wfilename, mode);
- save_errno = errno;
-
- g_free (wfilename);
-
- errno = save_errno;
- return retval;
+ return g_open (filename, _O_WRONLY|_O_CREAT|_O_TRUNC, mode);
#else
return creat (filename, mode);
#endif
@@ -1550,35 +1659,155 @@ g_fopen (const gchar *filename,
const gchar *mode)
{
#ifdef G_OS_WIN32
- wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
- wchar_t *wmode;
- FILE *retval;
+ const gchar *orig_mode = mode;
+ char filtered_mode[5];
+ char *filtered_mode_iter;
+ gboolean has_ccs;
+ gboolean has_commit;
+ int fd;
+ int flags;
int save_errno;
+ FILE *retval;
- if (wfilename == NULL)
+ if (filename == NULL || mode == NULL)
+ goto err_einval;
+
+ filtered_mode_iter = filtered_mode;
+
+ while (*mode == ' ') ++mode;
+
+ switch (*mode)
{
- errno = EINVAL;
- return NULL;
+ case 'r':
+ flags = _O_RDONLY;
+ break;
+ case 'w':
+ flags = _O_WRONLY | _O_CREAT | _O_TRUNC;
+ break;
+ case 'a':
+ flags = _O_WRONLY | _O_CREAT | _O_APPEND;
+ break;
+ default:
+ goto err_einval;
}
- wmode = g_utf8_to_utf16 (mode, -1, NULL, NULL, NULL);
+ *filtered_mode_iter++ = *mode++;
- if (wmode == NULL)
+#define CHECK_AND_ADD(chk, add) \
+ do { \
+ if (flags & (chk)) \
+ goto err_einval; \
+ flags |= (add); \
+ } while (0)
+
+ for (has_ccs = FALSE, has_commit = FALSE; *mode && !has_ccs; ++mode)
+ {
+ switch (*mode)
+ {
+ case '+':
+ CHECK_AND_ADD (_O_RDWR, _O_RDWR);
+ flags &= ~(_O_RDONLY | _O_WRONLY);
+ if ((filtered_mode_iter - filtered_mode) > 1)
+ {
+ *filtered_mode_iter++ = filtered_mode[1];
+ filtered_mode[1] = '+';
+ }
+ else
+ *filtered_mode_iter++ = '+';
+ break;
+ case 't':
+ CHECK_AND_ADD (_O_TEXT | _O_BINARY, _O_TEXT);
+ *filtered_mode_iter++ = 't';
+ break;
+ case 'b':
+ CHECK_AND_ADD (_O_TEXT | _O_BINARY, _O_BINARY);
+ *filtered_mode_iter++ = 'b';
+ break;
+ case 'N':
+ CHECK_AND_ADD (_O_NOINHERIT, _O_NOINHERIT);
+ break;
+ case 'S':
+ CHECK_AND_ADD (_O_SEQUENTIAL, _O_SEQUENTIAL);
+ break;
+ case 'R':
+ CHECK_AND_ADD (_O_RANDOM, _O_RANDOM);
+ break;
+ case 'T':
+ CHECK_AND_ADD (_O_SHORT_LIVED, _O_SHORT_LIVED);
+ break;
+ case 'D':
+ CHECK_AND_ADD (_O_TEMPORARY, _O_TEMPORARY);
+ break;
+ case 'x':
+ CHECK_AND_ADD (_O_EXCL, _O_EXCL);
+ break;
+
+ case 'c':
+ case 'n':
+ if (has_commit)
+ goto err_einval;
+ has_commit = TRUE;
+ *filtered_mode_iter++ = *mode;
+ /* fallthrough */
+ case ' ':
+ break;
+
+ case ',':
+ has_ccs = TRUE;
+ break;
+
+ default:
+ goto err_einval;
+ }
+ }
+
+#undef CHECK_AND_ADD
+
+ *filtered_mode_iter = 0;
+ while (*mode == ' ') ++mode;
+
+ /*
+ * If a ccs is specified, fall back to using _wfopen, as
+ * there's no easy way to handle this
+ */
+ if (has_ccs)
{
+ wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
+ wchar_t *wmode = g_utf8_to_utf16 (orig_mode, -1, NULL, NULL, NULL);
+
+ _g_win32_fix_mode (wmode);
+ retval = _wfopen (wfilename, wmode);
+ save_errno = errno;
+
+ g_free (wmode);
g_free (wfilename);
- errno = EINVAL;
- return NULL;
+
+ errno = save_errno;
+ return retval;
}
- _g_win32_fix_mode (wmode);
- retval = _wfopen (wfilename, wmode);
- save_errno = errno;
+ if (*mode)
+ goto err_einval;
- g_free (wfilename);
- g_free (wmode);
+ fd = g_open (filename, flags, (_S_IREAD | _S_IWRITE));
+
+ if (fd == -1)
+ /* 'errno' will have already been set by 'g_open()' */
+ return NULL;
+
+ retval = _fdopen (fd, filtered_mode);
+ if (retval == NULL)
+ {
+ save_errno = errno;
+ close (fd);
+ errno = save_errno;
+ }
- errno = save_errno;
return retval;
+
+err_einval:
+ errno = EINVAL;
+ return NULL;
#else
return fopen (filename, mode);
#endif
@@ -1619,6 +1848,7 @@ g_freopen (const gchar *filename,
}
wmode = g_utf8_to_utf16 (mode, -1, NULL, NULL, NULL);
+ _g_win32_fix_mode (wmode);
if (wmode == NULL)
{
--
2.22.0

85
src/glib2-2-make-static-build-work-with-mingw.patch

@ -0,0 +1,85 @@
From 7cf2af987f9a2379b28f5d3426e9dc6633fa29a5 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Sat, 6 Jan 2018 22:04:23 +0100
Subject: [PATCH] win32: Make the static build work with MinGW when posix
threads are used
MinGW does not support the use of DllMain() for static builds, but that
is currently always used on Windows, partly because it is needed for
handling win32 threads and because there are problems with MSVC
optimizing constructors away (see 7a29771a743a8b5337).
To make the static build at least work in case mingw+posix threads are used,
switch to using constructors for that. The g_clock_win32_init() call is
moved into glib_init(), so it's also called in that case.
If mingw+static+win32 threads are used abort the build early and print
an error message.
https://bugzilla.gnome.org/show_bug.cgi?id=792297
---
glib/glib-init.c | 15 ++++++++++++---
gobject/gtype.c | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/glib/glib-init.c b/glib/glib-init.c
index ed800dca1..4866b5239 100644
--- a/glib/glib-init.c
+++ b/glib/glib-init.c
@@ -264,19 +264,29 @@ glib_init (void)
glib_inited = TRUE;
+#ifdef G_OS_WIN32
+ g_clock_win32_init ();
+#endif
g_messages_prefixed_init ();
g_debug_init ();
g_quark_init ();
}
#if defined (G_OS_WIN32)
+HMODULE glib_dll;
+#endif
+
+#if defined(__MINGW32__) && defined(GLIB_STATIC_COMPILATION) && !defined(THREADS_POSIX)
+/* MinGW static builds do not work with DllMain, but win32 threads need it atm */
+#error "Static build under MinGW only supported when build with posix threads"
+#endif
+
+#if defined (G_OS_WIN32) && (!defined(__MINGW32__) || defined(DLL_EXPORT))
BOOL WINAPI DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved);
-HMODULE glib_dll;
-
BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
@@ -287,7 +297,6 @@ DllMain (HINSTANCE hinstDLL,
case DLL_PROCESS_ATTACH:
glib_dll = hinstDLL;
g_crash_handler_win32_init ();
- g_clock_win32_init ();
#ifdef THREADS_WIN32
g_thread_win32_init ();
#endif
diff --git a/gobject/gtype.c b/gobject/gtype.c
index 425c6195d..91cd7e2cf 100644
--- a/gobject/gtype.c
+++ b/gobject/gtype.c
@@ -4456,7 +4456,7 @@ gobject_init (void)
_g_signal_init ();
}
-#if defined (G_OS_WIN32)
+#if defined (G_OS_WIN32) && (!defined(__MINGW32__) || defined(DLL_EXPORT))
BOOL WINAPI DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
--
2.22.0

15
src/glib2-3-disable-some-tests-when-static.patch

@ -0,0 +1,15 @@
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index dca33bd44..47a95b7b3 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -406,7 +406,8 @@ if installed_tests_enabled
install_subdir('cert-tests', install_dir : installed_tests_execdir)
endif
-if not meson.is_cross_build() or meson.has_exe_wrapper()
+windows_static = host_system == 'windows' and get_option('default_library') == 'static'
+if (not meson.is_cross_build() or meson.has_exe_wrapper()) and not windows_static
plugin_resources_c = custom_target('plugin-resources.c',
input : 'test4.gresource.xml',

19
src/glib2-4-add-iconv-dependency.patch

@ -0,0 +1,19 @@
--- glib-2.64.2/meson.build.bak 2020-05-19 13:07:17.116665851 +0100
+++ glib-2.64.2/meson.build 2020-05-19 13:07:47.109999190 +0100
@@ -1816,12 +1816,12 @@
# the built-in implementation
iconv_opt = get_option('iconv')
if host_system == 'windows'
- libiconv = []
+ libiconv = [cc.find_library('iconv')]
# We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need
# any external library for it
- if iconv_opt != 'auto'
- warning('-Diconv was set to @0@, which was ignored')
- endif
+ #if iconv_opt != 'auto'
+ #warning('-Diconv was set to @0@, which was ignored')
+ #endif
else
found_iconv = false
if ['auto', 'libc'].contains(iconv_opt) and cc.has_function('iconv_open')

86
src/glib2.mk

@ -0,0 +1,86 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := glib2
$(PKG)_WEBSITE := https://gtk.org/
$(PKG)_DESCR := GLib updated ver
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.64.2
$(PKG)_CHECKSUM := 9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277
$(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)
$(PKG)_DEPS := cc dbus gettext-bin libffi libiconv pcre zlib $(BUILD)~$(PKG)
$(PKG)_TARGETS := $(MXE_TARGETS) $(BUILD)
$(PKG)_DEPS_$(BUILD) := autotools gettext libffi libiconv zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/glib/tags' | \
$(SED) -n "s,.*<a [^>]\+>v\?\([0-9]\+\.[0-9.]\+\)<.*,\1,p" | \
$(SORT) -Vr | \
head -1
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 \
--disable-xattr \
--disable-dtrace \
--disable-libmount \
--with-pcre=internal \
PKG_CONFIG='$(PREFIX)/$(TARGET)/bin/pkgconf' \
CPPFLAGS='-I$(PREFIX)/$(TARGET).gnu/include' \
LDFLAGS='-L$(PREFIX)/$(TARGET).gnu/lib'
$(MAKE) -C '$(BUILD_DIR)/glib' -j '$(JOBS)'
$(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/xdgmime' -j '$(JOBS)'
$(MAKE) -C '$(BUILD_DIR)/gio/kqueue' -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/'
$(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
endef
define $(PKG)_BUILD_NATIVE
# native build for glib-tools
cd '$(SOURCE_DIR)' && meson '$(BUILD_DIR)' \
-Dforce_posix_threads=true \
--default-library=$(if $(BUILD_STATIC),static,shared) \
--prefix=$(PREFIX)/$(BUILD)
-Dgtk_doc=false
cd '$(SOURCE_DIR)' && ninja -C $(BUILD_DIR) install
$(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
$(INSTALL) -m755 '$(BUILD_DIR)/gio/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
$(INSTALL) -m755 '$(BUILD_DIR)/gobject/glib-genmarshal' '$(PREFIX)/$(TARGET)/bin/'
endef
define $(PKG)_BUILD_$(BUILD)
$(if $(findstring darwin, $(BUILD)), \
$($(PKG)_BUILD_DARWIN), \
$($(PKG)_BUILD_NATIVE))
endef
define $(PKG)_BUILD
# other packages expect glib-tools in $(TARGET)/bin
rm -f '$(PREFIX)/$(TARGET)/bin/glib-*'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-genmarshal' '$(PREFIX)/$(TARGET)/bin/'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-schemas' '$(PREFIX)/$(TARGET)/bin/'
ln -sf '$(PREFIX)/$(BUILD)/bin/glib-compile-resources' '$(PREFIX)/$(TARGET)/bin/'
# cross build
cd '$(SOURCE_DIR)' && $(TARGET)-meson '$(BUILD_DIR)' \
-Dforce_posix_threads=true \
--default-library=$(if $(BUILD_STATIC),static,shared) \
-Dgtk_doc=false \
-Diconv=external
cd '$(SOURCE_DIR)' && ninja -C $(BUILD_DIR) install
endef

36131
src/gtk3-1-fixes.patch
File diff suppressed because it is too large
View File

38
src/gtk3-1-revert-quartz.patch

@ -0,0 +1,38 @@
From b298190f63af35003e59145f8ce570a9e8bfbb13 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Fri, 12 Jul 2019 18:56:15 +0200
Subject: [PATCH] Revert ""]Quartz] Set the popup menu type hint before
realizing the popup.""
This reverts commit 13e64aa1032ad6c41f8061a0b64e54ef7e970344.
---
gtk/gtkmenu.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 32ed9b3f45..f12deb52ff 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -5268,15 +5268,15 @@ gtk_menu_position (GtkMenu *menu,
!!(anchor_hints & GDK_ANCHOR_RESIZE_X),
!!(anchor_hints & GDK_ANCHOR_RESIZE_Y));
- if (!gtk_widget_get_visible (priv->toplevel))
- gtk_window_set_type_hint (GTK_WINDOW (priv->toplevel), priv->menu_type_hint);
-
/* Realize so we have the proper width and height to figure out
* the right place to popup the menu.
*/
gtk_widget_realize (priv->toplevel);
gtk_window_move_resize (GTK_WINDOW (priv->toplevel));
+ if (!gtk_widget_get_visible (priv->toplevel))
+ gtk_window_set_type_hint (GTK_WINDOW (priv->toplevel), priv->menu_type_hint);
+
if (text_direction == GTK_TEXT_DIR_NONE)
text_direction = gtk_widget_get_direction (GTK_WIDGET (menu));
--
2.22.0

36
src/gtk3-2-dont-force-enable-csd.patch

@ -0,0 +1,36 @@
From 975e5ce8ac04632606917e321cddad4bcce31553 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 28 Sep 2017 12:02:03 +0200
Subject: [PATCH] gtkwindow: Don't force enable CSD under Windows
CSD look a bit out of place under Windows, especially
when the application doesn't use the headerbar and the CSD
doesn't add any value.
Instead let the application decide, like under X11.
It can still be force enabled through GTK_CSD=1
---
gtk/gtkwindow.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 6c5f136043..d178390536 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6119,12 +6119,6 @@ gtk_window_should_use_csd (GtkWindow *window)
}
#endif
-#ifdef GDK_WINDOWING_WIN32
- if (g_strcmp0 (csd_env, "0") != 0 &&
- GDK_IS_WIN32_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
- return TRUE;
-#endif
-
return (g_strcmp0 (csd_env, "1") == 0);
}
--
2.24.0

39
src/gtk3-3-disable-low-level-keyboard-hook.patch

@ -0,0 +1,39 @@
From 0d860b1994961585b42ea2f25ab5bc8a0fb7331d Mon Sep 17 00:00:00 2001
From: Patrick Storz <eduard.braun2@gmx.de>
Date: Sat, 29 Feb 2020 17:53:19 +0100
Subject: [PATCH] Only install low level keyboard hook if GTK_CSD=1
Added in eece8a7dd2405f76829031f3d6dd5e39fb5dc542 in order to
intercept keyboard combos to provide AeroSnap-like functionality for
CSD windows.
Unfortunately it causes many issues, e.g.
- https://gitlab.gnome.org/GNOME/gtk/issues/2015
- https://gitlab.gnome.org/GNOME/gtk/issues/1082
- https://gitlab.gnome.org/GNOME/gtk/issues/1033
As the hook is completely useless for non-CSD windows, only install
it if CSD is explicitly requested (environment variable GTK_CSD=1).
---
gdk/win32/gdkevents-win32.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 7aef277c27..8b64d7dd22 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -530,7 +530,9 @@ _gdk_events_init (GdkDisplay *display)
g_source_set_can_recurse (source, TRUE);
g_source_attach (source, NULL);
- set_up_low_level_keyboard_hook ();
+ if (g_strcmp0 (g_getenv ("GTK_CSD"), "1") == 0) {
+ set_up_low_level_keyboard_hook ();
+ }
}
gboolean
--
2.25.1.windows.1

29
src/gtk3-utils-bin.mk

@ -0,0 +1,29 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := gtk3-utils-bin
$(PKG)_WEBSITE := http://www.linuxfromscratch.org/blfs/view/svn/general/libcroco.html
$(PKG)_DESCR := gettext binary
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.24.18
$(PKG)_CHECKSUM := f4ff4c9d462e9b5ca3c2e299fa68d0c38d35383a43aea1c84d823a2cefb4dee1
$(PKG)_SUBDIR := mingw64
$(PKG)_FILE := gtk3-$($(PKG)_VERSION)-1-any.pkg.tar.xz
$(PKG)_URL := http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gtk3-3.24.18-1-any.pkg.tar.xz
$(PKG)_DEPS :=
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/libcroco/tags' | \
$(SED) -n "s,.*<a [^>]\+>v\?\([0-9]\+\.[0-9.]\+\)<.*,\1,p" | \
head -1
endef
define $(PKG)_BUILD
cd $(1)/bin && \
cp -R ./gtk-update-icon-cache-3.0.exe \
$(PREFIX)/$(TARGET)/bin/gtk-update-icon-cache.exe && \
cp -R ./gtk-update-icon-cache-3.0.exe \
$(PREFIX)/$(TARGET)/bin/gtk-update-icon-cache && \
cp -R ./gtk-query-immodules-3.0.exe \
$(PREFIX)/$(TARGET)/bin/gtk-query-immodules-3.0 && \
cp -R ./*.exe $(PREFIX)/$(TARGET)/bin/
endef

51
src/gtk3.mk

@ -4,12 +4,12 @@ PKG := gtk3
$(PKG)_WEBSITE := https://gtk.org/
$(PKG)_DESCR := GTK+
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.22.7
$(PKG)_CHECKSUM := a3a27564bfb1679ebbc75c37cd2bcd6e727c8bdfbcd3984d29305bf9ee60d432
$(PKG)_VERSION := 3.24.18
$(PKG)_CHECKSUM := f5eaff7f4602e44a9ca7bfad5382d7a73e509a8f00b0bcab91c198d096172ad2
$(PKG)_SUBDIR := gtk+-$($(PKG)_VERSION)
$(PKG)_FILE := gtk+-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/gtk+/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc atk cairo gdk-pixbuf-rsvg gettext glib jasper jpeg libepoxy libpng pango tiff
$(PKG)_DEPS := cc atk cairo gdk-pixbuf-rsvg gettext-bin glib2 jasper jpeg libepoxy libpng pango tiff gtk3-utils-bin
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/gtk+/tags' | \
@ -20,24 +20,29 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
$(MXE_CONFIGURE_OPTS) \
--disable-glibtest \
--disable-cups \
--disable-test-print-backend \
--disable-gtk-doc \
--disable-man \
--with-included-immodules \
--enable-win32-backend
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_CRUFT) EXTRA_DIST=
$(MAKE) -C '$(BUILD_DIR)' -j 1 install $(MXE_DISABLE_CRUFT) EXTRA_DIST=
# cleanup to avoid gtk2/3 conflicts (EXTRA_DIST doesn't exclude it)
# and *.def files aren't really relevant for MXE
rm -f '$(PREFIX)/$(TARGET)/lib/gailutil.def'
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi \
'$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-gtk3.exe' \
`'$(TARGET)-pkg-config' gtk+-3.0 --cflags --libs` -lgdiplus
cd '$(SOURCE_DIR)' && \
cp -R /home/ansible/Documents/non-git/gtk+-$($(PKG)_VERSION)/subprojects/* ./subprojects/ && \
$(SED) -i -e "s/'-lgdi32',/'-lgdi32', '-lgdiplus',/" meson.build && \
$(SED) -i -e "1042s/.*/if false/" gtk/meson.build && \
$(SED) -i -e "1090s/true/true)/" gtk/meson.build && \
$(SED) -i -e "1091s/)/endif/" gtk/meson.build && \
$(SED) -i -e \
"s/DllMain/$(if $(BUILD_STATIC),gtk_DllMain,DllMain)/g" \
gtk/gtkwin32.c && \
$(SED) -i -e \
"s/DllMain/$(if $(BUILD_STATIC),gdk_DllMain,DllMain)/g" \
gdk/win32/gdkmain-win32.c
cd '$(SOURCE_DIR)' && $(TARGET)-meson '$(BUILD_DIR)' \
-Dman=false \
-Dbroadway_backend=false \
-Dwin32_enabled=true \
-Dgtk_doc=false \
-Dman=false \
-Dtests=false \
-Dinstalled_tests=false \
-Dexamples=false \
-Ddemos=false \
-Dintrospection=false \
-Dbuiltin_modules=true
cd '$(SOURCE_DIR)' && ninja -C $(BUILD_DIR) install
endef

2
src/harfbuzz.mk

@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.6.4
$(PKG)_CHECKSUM := 8745f0a6e3f233e961fdfec6882a9b03171603eb60ec9169fe8ba58f288fc5fd
$(PKG)_GH_CONF := harfbuzz/harfbuzz/releases
$(PKG)_DEPS := cc cairo freetype-bootstrap glib icu4c
$(PKG)_DEPS := cc cairo freetype-bootstrap glib2 icu4c
define $(PKG)_BUILD
# mman-win32 is only a partial implementation

11
src/libcroco.mk

@ -4,12 +4,12 @@ PKG := libcroco
$(PKG)_WEBSITE := http://www.linuxfromscratch.org/blfs/view/svn/general/libcroco.html
$(PKG)_DESCR := Libcroco
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.6.2
$(PKG)_CHECKSUM := be24853f64c09b63d39e563fb0222e29bae1a33c3d9f6cbffc0bc27669371749
$(PKG)_VERSION := 0.6.13
$(PKG)_CHECKSUM := 767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/libcroco/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc glib libxml2
$(PKG)_DEPS := cc glib2 libxml2
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/libcroco/tags' | \
@ -20,6 +20,7 @@ endef
define $(PKG)_BUILD
cd '$(1)' && ./configure \
$(MXE_CONFIGURE_OPTS) \
--disable-gtk-doc
--disable-gtk-doc \
$(if $(BUILD_STATIC),--enable-static --disable-shared,--enable-shared --disable-static)
$(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
endef

34
src/libepoxy-1-fixes.patch

@ -1,34 +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: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 31 Jan 2017 02:03:55 +0100
Subject: [PATCH 1/1] fix EPOXY_IMPORTEXPORT for static targets
Based on https://github.com/mxe/mxe/issues/1647#issuecomment-275967915
diff --git a/include/epoxy/gl.h b/include/epoxy/gl.h
index 1111111..2222222 100644
--- a/include/epoxy/gl.h
+++ b/include/epoxy/gl.h
@@ -71,7 +71,17 @@ extern "C" {
#endif
#ifndef EPOXY_IMPORTEXPORT
-#define EPOXY_IMPORTEXPORT __declspec(dllimport)
+# ifdef EPOXY_SHARED
+# ifdef EPOXY_DLL
+# define EPOXY_IMPORTEXPORT __declspec(dllexport)
+# else
+# define EPOXY_IMPORTEXPORT __declspec(dllimport)
+# endif
+# elif EPOXY_STATIC
+# define EPOXY_IMPORTEXPORT
+# else
+# error "Please define EPOXY_STATIC or EPOXY_SHARED"
+# endif
#endif
#ifndef GLAPI

31
src/libepoxy.mk

@ -3,27 +3,18 @@
PKG := libepoxy
$(PKG)_WEBSITE := https://github.com/anholt/libepoxy
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.1
$(PKG)_CHECKSUM := 6700ddedffb827b42c72cce1e0be6fba67b678b19bf256e1b5efd3ea38cc2bb4
$(PKG)_GH_CONF := anholt/libepoxy/releases/latest
# prefix `v` removed from 1.4.1 onwards, remove URL_2 after update
$(PKG)_URL_2 := https://github.com/anholt/libepoxy/archive/v$($(PKG)_VERSION).tar.gz
$(PKG)_VERSION := 1.5.4
$(PKG)_CHECKSUM := 0bd2cc681dfeffdef739cb29913f8c3caa47a88a451fd2bc6e606c02997289d2
$(PKG)_SUBDIR := libepoxy-$($(PKG)_VERSION)
$(PKG)_FILE := libepoxy-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://github.com/anholt/libepoxy/releases/download/$($(PKG)_VERSION)/libepoxy-$($(PKG)_VERSION).tar.xz
$(PKG)_DEPS := cc xorg-macros
define $(PKG)_BUILD
cd '$(SOURCE_DIR)' && autoreconf -fi -I'$(PREFIX)/$(TARGET)/share/aclocal'
cd '$(BUILD_DIR)' && \
CFLAGS='$(if $(BUILD_STATIC),-DEPOXY_STATIC,-DEPOXY_SHARED -DEPOXY_DLL)' \
$(SOURCE_DIR)/configure \
$(MXE_CONFIGURE_OPTS)
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_CRUFT)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install $(MXE_DISABLE_CRUFT)
$(SED) 's/Cflags:/Cflags: -DEPOXY_$(if $(BUILD_STATIC),STATIC,SHARED)/' \
-i '$(PREFIX)/$(TARGET)/lib/pkgconfig/epoxy.pc'
# compile test
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
`'$(TARGET)-pkg-config' epoxy --cflags --libs`
cd $(SOURCE_DIR) && \
$(SED) -i -e \
"s/DllMain/$(if $(BUILD_STATIC),epoxy_DllMain,DllMain)/g" \
src/dispatch_wgl.c
cd '$(SOURCE_DIR)' && $(TARGET)-meson $(BUILD_DIR)
cd '$(SOURCE_DIR)' && ninja -C $(BUILD_DIR) install
endef

2
src/libgsf.mk

@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := cb48c3480be4a691963548e664308f497d93c9d7bc12cf6a68d5ebae930a5
$(PKG)_SUBDIR := libgsf-$($(PKG)_VERSION)
$(PKG)_FILE := libgsf-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/libgsf/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc bzip2 glib libxml2 zlib
$(PKG)_DEPS := cc bzip2 glib2 libxml2 zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/libgsf/tags' | \

7
src/librsvg.mk

@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := d14d7b3e25023ce34302022fd7c9b3a468629c94dff6c177874629686bfc7
$(PKG)_SUBDIR := librsvg-$($(PKG)_VERSION)
$(PKG)_FILE := librsvg-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/librsvg/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc cairo gdk-pixbuf glib libcroco libgsf pango
$(PKG)_DEPS := cc glib2 cairo gdk-pixbuf libcroco libgsf pango
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/librsvg/tags' | \
@ -17,11 +17,14 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
cd '$(1)' && LDFLAGS+='-lgdiplus -lgdi32' ./configure \
cd '$(1)' && \
LDFLAGS+='-lgdiplus -lgdi32' \
./configure \
$(MXE_CONFIGURE_OPTS) \
--disable-gtk-doc \
--enable-pixbuf-loader \
--enable-introspection=no
cd $(1) && $(SED) -i -e "s/-lgdi32/-lgdi32 -lgdiplus/g" Makefile
GDK_PIXBUF_QUERYLOADERS=$(PREFIX)/$(TARGET)/bin/gdk-pixbuf-query-loaders.exe \
$(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=

2
src/pango.mk

@ -9,7 +9,7 @@ $(PKG)_CHECKSUM := d2c0c253a5328a0eccb00cdd66ce2c8713fabd2c9836000b6e22a8b06ba3d
$(PKG)_SUBDIR := pango-$($(PKG)_VERSION)
$(PKG)_FILE := pango-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.gnome.org/sources/pango/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
$(PKG)_DEPS := cc cairo fontconfig freetype glib harfbuzz fribidi
$(PKG)_DEPS := cc cairo fontconfig freetype glib2 harfbuzz fribidi
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://gitlab.gnome.org/GNOME/pango/tags' | \

2
src/zrythm-trial.mk

@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := c9b1f16
$(PKG)_CHECKSUM := 35d6620c533db0e60d173d3b945066e95acd9aef8703efd2d6f695ec3479b3c4
$(PKG)_GH_CONF := zrythm/zrythm/branches/master
$(PKG)_DEPS := cc libsndfile fftw gtk3 libyaml gtksourceview4 rubberband dlfcn-win32 carla librsvg
$(PKG)_DEPS := cc libsndfile fftw gtk3 libyaml gtksourceview4 rubberband dlfcn-win32 carla librsvg zstd
define $(PKG)_BUILD
cd '$(SOURCE_DIR)' && \

2
src/zrythm.mk

@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := c9b1f16
$(PKG)_CHECKSUM := 35d6620c533db0e60d173d3b945066e95acd9aef8703efd2d6f695ec3479b3c4
$(PKG)_GH_CONF := zrythm/zrythm/branches/master
$(PKG)_DEPS := cc libsndfile fftw gtk3 libyaml gtksourceview4 rubberband dlfcn-win32 carla librsvg
$(PKG)_DEPS := cc libsndfile fftw gtk3 libyaml gtksourceview4 rubberband dlfcn-win32 carla librsvg zstd
define $(PKG)_BUILD
cd '$(SOURCE_DIR)' && \

4
tools/build-pkg.lua

@ -107,7 +107,7 @@ local BLACKLIST = {
-- usr/lib/nonetwork.so and
-- usr/x86_64-unknown-linux-gnu/lib/nonetwork.so
'lib/nonetwork.so',
--'lib/nonetwork.so',
-- https://github.com/mxe/mxe/issues/1886#issuecomment-331719282
'installed/.gitkeep',
@ -1117,7 +1117,7 @@ local function main()
MXE_DIR, MXE_DIR_EXPECTED)
end
gitInit()
assert(execute(("%s check-requirements nonet-lib print-git-oneline MXE_TARGETS=%q"):format(
assert(execute(("%s check-requirements print-git-oneline MXE_TARGETS=%q"):format(
tool 'make', table.concat(TARGETS, ' '))))
if not max_items then
downloadPackages()

Loading…
Cancel
Save