Commit a6b0279b authored by Felix Paul Kühne's avatar Felix Paul Kühne

libvlc: fix harfbuzz compilation and linking (closes #173)

parent 156c72f7
From bf0d5caa93ac201c2bcb677695528e20d1ff819b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 18 Dec 2014 22:14:55 +0100
Subject: [PATCH 01/16] arm_neon: work-around libtool issue
Subject: [PATCH 01/18] arm_neon: work-around libtool issue
---
modules/arm_neon/Makefile.am | 2 ++
......
From b1249111d6b1bab21b7d582725bedc0056e8e17a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 10 Dec 2014 22:14:55 +0100
Subject: [PATCH 02/16] disable neon volume plugin
Subject: [PATCH 02/18] disable neon volume plugin
---
modules/arm_neon/Makefile.am | 1 -
......
From d0d45db08b289da11a23529be31a50249438ebe3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 22 Jul 2016 11:11:44 +0200
Subject: [PATCH 03/16] Enable System DL
Subject: [PATCH 03/18] Enable System DL
---
contrib/src/ffmpeg/patch-as-patch-can.patch | 20 ++++++++++++++++++++
......
From 40a342d3c387a8ab0828ded1b454fefb5d562750 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Fri, 16 Sep 2016 15:51:10 +0200
Subject: [PATCH 04/16] http: add vlc_http_cookies_clear
Subject: [PATCH 04/18] http: add vlc_http_cookies_clear
Clear all cookies without deleting the jar.
---
......
From 1423905fab5b6cb918dcf858cfad1a29bbd3c7fe Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Fri, 16 Sep 2016 15:51:11 +0200
Subject: [PATCH 05/16] libvlc_media: add cookie_jar API
Subject: [PATCH 05/18] libvlc_media: add cookie_jar API
---
include/vlc/libvlc_media.h | 35 +++++++++++++++++++++++++++++++++++
......
From 253c0dc57a8235ca46c4e3d296f07a4eb8f8b321 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sun, 7 Dec 2014 20:02:18 +0100
Subject: [PATCH 06/16] contrib/gcrypt: work-around a libtool limitation
Subject: [PATCH 06/18] contrib/gcrypt: work-around a libtool limitation
---
contrib/src/gcrypt/rules.mak | 1 +
......
From 8c3cf7190356202d02c8f6fa1f1aadbc4921754e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sat, 3 Oct 2015 22:45:14 +0200
Subject: [PATCH 07/16] contrib/gcrypt: fix tvOS compilation
Subject: [PATCH 07/18] contrib/gcrypt: fix tvOS compilation
---
.../src/gcrypt/fix-sha1-ssse3-for-clang.patch | 16 ++++++++++++++++
......
From 437a1ada2f9b0f658e7766900e11f0f4e30e56d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Mon, 12 Sep 2016 17:03:37 +0200
Subject: [PATCH 08/16] contrib/gcrypt: update patches
Subject: [PATCH 08/18] contrib/gcrypt: update patches
---
.../src/gcrypt/fix-sha1-ssse3-for-clang.patch | 308 +++++++++++++++++-
......
From 7e3d899a9ff37444414f7d337bd0122abb572ef5 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Mon, 17 Jul 2017 17:03:24 +0200
Subject: [PATCH 09/16] Replace thread local with pthread TSD
Subject: [PATCH 09/18] Replace thread local with pthread TSD
---
src/misc/interrupt.c | 59 ++++++++++++++++++++++++++++++++++++++++++++
......
From 76b00818f5fa5c1722dd860e1f5313cb8181b407 Mon Sep 17 00:00:00 2001
From: Carola Nitz <nitz.carola@googlemail.com>
Date: Fri, 29 Sep 2017 14:49:02 +0200
Subject: [PATCH 10/16] contrib: use live555 version that is compatible with
Subject: [PATCH 10/18] contrib: use live555 version that is compatible with
LGPL2
---
......
From 8dc06538a8a482684420194db68bcda4e6a8dc23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <felix@feepk.net>
Date: Sun, 17 Dec 2017 18:05:40 +0100
Subject: [PATCH 11/16] libvlc: add a basic API to change freetype's color,
Subject: [PATCH 11/18] libvlc: add a basic API to change freetype's color,
bold, font and size variables on-the-fly
---
......
From e1106f9c6599da8b3c35752af42c935f98c0e895 Mon Sep 17 00:00:00 2001
From: Carola Nitz <nitz.carola@googlemail.com>
Date: Fri, 23 Feb 2018 13:16:41 +0100
Subject: [PATCH 12/16] Work around lack of __thread storage qualifier on old
Subject: [PATCH 12/18] Work around lack of __thread storage qualifier on old
macOS
---
......
From b281c9b5d94754dd93f0406943171b3ca24b781d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo@beauzee.fr>
Date: Mon, 26 Mar 2018 16:44:44 +0200
Subject: [PATCH 13/16] modules:common: Use the full module name as MODULE_NAME
Subject: [PATCH 13/18] modules:common: Use the full module name as MODULE_NAME
This avoid conflicts when linking modules staticly on platforms that don't
have objdump
......
From 9f44e0b6609cc396429b309dfeded220cf769068 Mon Sep 17 00:00:00 2001
From: Luis Fernandes <zipleen@gmail.com>
Date: Mon, 30 Apr 2018 14:33:08 +0100
Subject: [PATCH 14/16] add auto deinterlacer-mode which is also valid
Subject: [PATCH 14/18] add auto deinterlacer-mode which is also valid
---
lib/video.c | 3 ++-
......
From 1739ea67d1a2df1d51456d37e4cfc25dcc46f783 Mon Sep 17 00:00:00 2001
From: Luis Fernandes <zipleen@gmail.com>
Date: Wed, 9 May 2018 10:44:43 +0100
Subject: [PATCH 15/16] Users will be able to change the deinterlace mode
Subject: [PATCH 15/18] Users will be able to change the deinterlace mode
without forcing it.
---
......
From 49c6a2cba2a106aabd1bd535515d7088ac307353 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Tue, 27 Mar 2018 16:49:34 +0200
Subject: [PATCH 16/16] contrib: ffmpeg: enable videotoolbox encoder
Subject: [PATCH 16/18] contrib: ffmpeg: enable videotoolbox encoder
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
......
From 6742c1e3dce9bfbbf86bf0537bfe69a316c78287 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <felix@feepk.net>
Date: Sat, 26 May 2018 17:55:32 +0200
Subject: [PATCH 17/18] contrib/harfbuzz: fix CoreText detection and linking
---
.../harfbuzz-fix-coretext-detection.patch | 51 +++++++++++++++++++
contrib/src/harfbuzz/rules.mak | 5 +-
2 files changed, 52 insertions(+), 4 deletions(-)
create mode 100644 contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
diff --git a/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
new file mode 100644
index 0000000000..977600c5ed
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
@@ -0,0 +1,51 @@
+diff -ru harfbuzz/CMakeLists.txt harfbuzz/CMakeLists.txt
+--- harfbuzz/CMakeLists.txt 2018-05-26 17:51:35.000000000 +0200
++++ harfbuzz/CMakeLists.txt 2018-05-26 17:47:57.000000000 +0200
+@@ -364,16 +364,41 @@
+ if (APPLE AND HB_HAVE_CORETEXT)
+ # Apple Advanced Typography
+ add_definitions(-DHAVE_CORETEXT)
++
++ set(CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_OSX_SYSROOT}
++ ${CMAKE_PREFIX_PATH} CACHE string "appleOS find search path root" FORCE)
++ # Default to searching for frameworks first.
++ set(CMAKE_FIND_FRAMEWORK FIRST)
++ # Set up the default search directories for frameworks.
++ set(CMAKE_SYSTEM_FRAMEWORK_PATH
++ ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks
++ ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks
++ ${CMAKE_OSX_SYSROOT}/Developer/Library/Frameworks)
++ # Only search the specified iOS SDK, not the remainder of the host filesystem.
++ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
++ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
++ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+ list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-coretext.cc)
+ list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-coretext.h)
+
+- find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices)
+- if (APPLICATION_SERVICES_FRAMEWORK)
+- list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK})
+- endif (APPLICATION_SERVICES_FRAMEWORK)
+-
+- mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK)
++ find_library(CORETEXT_FRAMEWORK CoreText)
++ if (CORETEXT_FRAMEWORK)
++ list(APPEND THIRD_PARTY_LIBS ${CORETEXT_FRAMEWORK})
++ endif (CORETEXT_FRAMEWORK)
++ mark_as_advanced(CORETEXT_FRAMEWORK)
++
++ find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
++ if (COREFOUNDATION_FRAMEWORK)
++ list(APPEND THIRD_PARTY_LIBS ${COREFOUNDATION_FRAMEWORK})
++ endif (COREFOUNDATION_FRAMEWORK)
++ mark_as_advanced(COREFOUNDATION_FRAMEWORK)
++
++ find_library(COREGRAPHICS_FRAMEWORK CoreGraphics)
++ if (COREGRAPHICS_FRAMEWORK)
++ list(APPEND THIRD_PARTY_LIBS ${COREGRAPHICS_FRAMEWORK})
++ endif (COREGRAPHICS_FRAMEWORK)
++ mark_as_advanced(COREGRAPHICS_FRAMEWORK)
+ endif ()
+
+ if (WIN32 AND HB_HAVE_UNISCRIBE)
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index 473d0ac617..c65b8d1172 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -7,10 +7,6 @@ ifeq ($(call need_pkg,"harfbuzz"),)
PKGS_FOUND += harfbuzz
endif
-ifdef HAVE_DARWIN_OS
-HARFBUZZCONF += --with-coretext=yes
-endif
-
$(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2:
$(call download_pkg,$(HARFBUZZ_URL),harfbuzz)
@@ -21,6 +17,7 @@ harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
$(APPLY) $(SRC)/harfbuzz/harfbuzz-clang.patch
$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-freetype-detect.patch
+ $(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-coretext-detection.patch
$(MOVE)
DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
--
2.17.0
From f217c89ace131d33c5ebd64c046de35cf7584f52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <felix@feepk.net>
Date: Sat, 26 May 2018 18:22:54 +0200
Subject: [PATCH 18/18] contrib: escape DarwinOS compilation flags to fix
installations with cmake
---
contrib/src/main.mak | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/contrib/src/main.mak b/contrib/src/main.mak
index f43bf03d70..6c3b02d0d6 100644
--- a/contrib/src/main.mak
+++ b/contrib/src/main.mak
@@ -472,9 +472,9 @@ endif
endif
ifdef HAVE_DARWIN_OS
echo "set(CMAKE_SYSTEM_NAME Darwin)" >> $@
- echo "set(CMAKE_C_FLAGS $(CFLAGS) $(EXTRA_CFLAGS))" >> $@
- echo "set(CMAKE_CXX_FLAGS $(CFLAGS) $(EXTRA_CXXFLAGS))" >> $@
- echo "set(CMAKE_LD_FLAGS $(LDFLAGS))" >> $@
+ echo "set(CMAKE_C_FLAGS \"$(CFLAGS) $(EXTRA_CFLAGS)\")" >> $@
+ echo "set(CMAKE_CXX_FLAGS \"$(CFLAGS) $(EXTRA_CXXFLAGS)\")" >> $@
+ echo "set(CMAKE_LD_FLAGS \"$(LDFLAGS)\")" >> $@
echo "set(CMAKE_AR ar CACHE FILEPATH "Archiver")" >> $@
ifdef HAVE_IOS
echo "set(CMAKE_OSX_SYSROOT $(IOS_SDK))" >> $@
--
2.17.0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment