replace patch with official fix now in the repository

This commit is contained in:
Thomas Sailer 2018-08-03 17:21:35 +02:00
parent e992e1307d
commit da1ed73bf9
2 changed files with 67 additions and 10 deletions

View File

@ -1,11 +1,65 @@
--- glib-2.57.2/configure.ac 2018-07-31 20:31:07.000000000 +0200
+++ glib-2.57.2/configure.ac 2018-08-02 19:09:02.569368144 +0200
@@ -925,7 +925,7 @@
AC_MSG_CHECKING([if ip_mreq_source.imr_interface has s_addr member])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[
diff --git a/configure.ac b/configure.ac
index 11fde900f8f688e1ca5a04eed37a7ee399f61d6d..3fd519ecddca654db5a8b781005c0fe56cc5a746 100644
--- a/configure.ac
+++ b/configure.ac
@@ -922,20 +922,22 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
AC_MSG_RESULT(no)
])
-AC_MSG_CHECKING([if ip_mreq_source.imr_interface has s_addr member])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
- #include <netinet/in.h>
+ #include <ws2tcpip.h>
]],
[[
struct ip_mreq_source mc_req_src;
- ]],
- [[
- struct ip_mreq_source mc_req_src;
- mc_req_src.imr_interface.s_addr = 0;
- ]])], [
- AC_MSG_RESULT(yes)
- ], [
- AC_MSG_RESULT(no)
- AC_DEFINE(BROKEN_IP_MREQ_SOURCE_STRUCT, 1, [struct ip_mreq_source definition is broken on Android NDK <= r16])
-])
+# See https://bugzilla.gnome.org/show_bug.cgi?id=740791
+AS_IF([test $glib_native_android = yes], [
+ AC_MSG_CHECKING([if ip_mreq_source.imr_interface has s_addr member])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
+ #include <netinet/in.h>
+ ]],
+ [[
+ struct ip_mreq_source mc_req_src;
+ mc_req_src.imr_interface.s_addr = 0;
+ ]])], [
+ AC_MSG_RESULT(yes)
+ ], [
+ AC_MSG_RESULT(no)
+ AC_DEFINE(BROKEN_IP_MREQ_SOURCE_STRUCT, 1, [struct ip_mreq_source definition is broken on Android NDK <= r16])
+ ])])
AS_IF([test $glib_native_win32 = yes], [
# <wspiapi.h> in the Windows SDK and in mingw-w64 has wrappers for
diff --git a/gio/meson.build b/gio/meson.build
index a6af822b58f1d5b14bc59cb55e4ed2a8d8402b8b..4b2c8f2caf9679dc186d97690f795b0793317da5 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -152,6 +152,11 @@ if host_system != 'windows'
glib_conf.set('HAVE_SIOCGIFADDR', '/**/')
endif
+endif
+
+if host_system.contains('android')
+ # struct ip_mreq_source definition is broken on Android NDK <= r16
+ # See https://bugzilla.gnome.org/show_bug.cgi?id=740791
if not cc.compiles('''#include <netinet/in.h>
int main(int argc, char ** argv) {
struct ip_mreq_source mc_req_src;
@@ -161,7 +166,6 @@ if host_system != 'windows'
name : 'ip_mreq_source.imr_interface has s_addr member')
glib_conf.set('BROKEN_IP_MREQ_SOURCE_STRUCT', 1)
endif
-
endif
gnetworking_h_conf.set('WSPIAPI_INCLUDE', gnetworking_h_wspiapi_include)

View File

@ -60,6 +60,9 @@ Patch6: glib-formaterror.patch
# https://gitlab.gnome.org/GNOME/glib/issues/1472
Patch7: glib-ipmreqsource.patch
# meson cross build
# https://gitlab.gnome.org/GNOME/glib/commit/3145d88f4b961df1e971e7068da0bacbbd60299a
%description
MinGW Windows Glib2 library.