From 50addb39c876c57918cbd27f0dd70a519ef5abf5 Mon Sep 17 00:00:00 2001 From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> Date: Wed, 17 Aug 2016 13:40:39 -0400 Subject: [PATCH] contrib: deactivate clock_gettime for iOS and macOS clock_gettime function as been added to MacOS 10.12 and iOS 10 so launching the Ring App would result in symbol not found on OS before 10 Change-Id: Ifcd841379483ef9b8d17f54ee5b99f0a2526f94a Tuleap: #911 --- contrib/src/ffmpeg/clock_gettime.patch | 11 +++++++++++ contrib/src/ffmpeg/rules.mak | 6 ++++++ contrib/src/gmp/clock_gettime.patch | 20 ++++++++++++++++++++ contrib/src/gmp/rules.mak | 14 +++++++++++++- contrib/src/gnutls/rules.mak | 8 ++++++++ contrib/src/sndfile/rules.mak | 3 +++ 6 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 contrib/src/ffmpeg/clock_gettime.patch create mode 100644 contrib/src/gmp/clock_gettime.patch diff --git a/contrib/src/ffmpeg/clock_gettime.patch b/contrib/src/ffmpeg/clock_gettime.patch new file mode 100644 index 0000000000..26df8f2918 --- /dev/null +++ b/contrib/src/ffmpeg/clock_gettime.patch @@ -0,0 +1,11 @@ +--- a/configure 2016-08-17 10:38:51.000000000 -0400 ++++ b/configure 2016-08-17 10:38:53.000000000 -0400 +@@ -5293,7 +5293,7 @@ + + check_func access + check_func arc4random +-check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } ++#check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } + check_func fcntl + check_func fork + check_func gethrtime diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak index c1e7cd50d0..3ff65c545a 100644 --- a/contrib/src/ffmpeg/rules.mak +++ b/contrib/src/ffmpeg/rules.mak @@ -187,6 +187,12 @@ ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.xz .sum-ffmpeg (cd $@-$(FFMPEG_HASH) && tar x $(if ${BATCH_MODE},,-v) --strip-components=1 -f ../$<) $(UPDATE_AUTOCONFIG) $(APPLY) $(SRC)/ffmpeg/0004-avformat-fix-find_stream_info-not-considering-extradata.patch +ifdef HAVE_IOS + $(APPLY) $(SRC)/ffmpeg/clock_gettime.patch +endif +ifdef HAVE_MACOSX + $(APPLY) $(SRC)/ffmpeg/clock_gettime.patch +endif $(MOVE) .ffmpeg: ffmpeg diff --git a/contrib/src/gmp/clock_gettime.patch b/contrib/src/gmp/clock_gettime.patch new file mode 100644 index 0000000000..f9a1e9e3ad --- /dev/null +++ b/contrib/src/gmp/clock_gettime.patch @@ -0,0 +1,20 @@ +--- a/configure.ac 2016-08-17 11:04:37.000000000 -0400 ++++ b/configure.ac 2016-08-17 11:04:33.000000000 -0400 +@@ -2798,8 +2798,16 @@ + # clock_getres said only 1 millisecond. + + old_LIBS="$LIBS" +-AC_SEARCH_LIBS(clock_gettime, rt, [ +- AC_DEFINE([HAVE_CLOCK_GETTIME],1,[Define to 1 if you have the `clock_gettime' function])]) ++ ++AC_ARG_WITH([clock_gettime], ++ AS_HELP_STRING([--without-clock-gettime], ++ [Ignore presence of clock_gettime and disable it]), [], [with_clock_gettime=yes]) ++ ++AS_IF([test "x$with_clock_gettime" = "xyes"], ++ [AC_SEARCH_LIBS(clock_gettime, rt, [ ++ AC_DEFINE([HAVE_CLOCK_GETTIME],1,[Define to 1 if you have the `clock_gettime' function])])], ++ [HAVE_CLOCK_GETTIME=0]) ++ + TUNE_LIBS="$LIBS" + LIBS="$old_LIBS" diff --git a/contrib/src/gmp/rules.mak b/contrib/src/gmp/rules.mak index 96c7980c73..45939cb212 100644 --- a/contrib/src/gmp/rules.mak +++ b/contrib/src/gmp/rules.mak @@ -10,13 +10,25 @@ $(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2: gmp: gmp-$(GMP_VERSION).tar.bz2 .sum-gmp $(UNPACK) +ifdef HAVE_IOS + $(APPLY) $(SRC)/gmp/clock_gettime.patch +endif +ifdef HAVE_MACOSX + $(APPLY) $(SRC)/gmp/clock_gettime.patch +endif $(MOVE) .gmp: gmp ifdef HAVE_IOS - cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure --disable-assembly $(HOSTCONF) + $(RECONF) + cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure --disable-assembly --without-clock-gettime $(HOSTCONF) +else +ifdef HAVE_MACOSX + $(RECONF) + cd $< && $(HOSTVARS) ./configure --without-clock-gettime $(HOSTCONF) else cd $< && $(HOSTVARS) ./configure $(HOSTCONF) +endif endif cd $< && $(MAKE) install touch $@ diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak index e7c2280069..547084f05a 100644 --- a/contrib/src/gnutls/rules.mak +++ b/contrib/src/gnutls/rules.mak @@ -68,8 +68,16 @@ endif $(RECONF) ifdef HAVE_ANDROID cd $< && $(HOSTVARS) gl_cv_header_working_stdint_h=yes ./configure $(GNUTLS_CONF) +else +ifdef HAVE_IOS + cd $< && $(HOSTVARS) ac_cv_func_clock_gettime=no CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF) +else +ifdef HAVE_MACOSX + cd $< && $(HOSTVARS) ac_cv_func_clock_gettime=no CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF) else cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF) +endif +endif endif cd $</gl && $(MAKE) install cd $</lib && $(MAKE) install diff --git a/contrib/src/sndfile/rules.mak b/contrib/src/sndfile/rules.mak index 51a7a37b62..c92e8a079f 100644 --- a/contrib/src/sndfile/rules.mak +++ b/contrib/src/sndfile/rules.mak @@ -21,6 +21,9 @@ sndfile: libsndfile-$(SNDFILE_VERSION).tar.gz .sum-sndfile $(APPLY) $(SRC)/sndfile/autotools.patch $(APPLY) $(SRC)/sndfile/disable_programs.patch $(UPDATE_AUTOCONFIG) && cd $(UNPACK_DIR) && mv config.guess config.sub Cfg && autoreconf -fi +ifdef HAVE_IOS + rm -Rf examples +endif $(MOVE) .sndfile: sndfile -- GitLab