webkitgtk: 2.18 -> 2.20

This commit is contained in:
Herwig Hochleitner 2018-03-15 01:38:07 +01:00 committed by Jan Tojnar
parent e227c2c46c
commit 562ae56056
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
8 changed files with 8 additions and 260 deletions

View File

@ -5,7 +5,7 @@
, libidn, libedit, readline, libGLU_combined, libintlOrEmpty
, enableGeoLocation ? true, geoclue2, sqlite
, enableGtk2Plugins ? false, gtk2 ? null
, gst-plugins-base, gst-plugins-bad
, gst-plugins-base, gst-plugins-bad, woff2
}:
assert enableGeoLocation -> geoclue2 != null;
@ -15,7 +15,7 @@ assert stdenv.isDarwin -> !enableGtk2Plugins;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "webkitgtk-${version}";
version = "2.18.6";
version = "2.20.0";
meta = {
description = "Web content rendering engine, GTK+ port";
@ -45,17 +45,13 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://webkitgtk.org/releases/${name}.tar.xz";
sha256 = "0g5cpdijjv5hlrbi4i4dh97yrh5apnyvm90wpr9f84hgyk12r4ck";
sha256 = "0g0an3pc2yz13gzpaysfgch2yp510gw1qcpk0xr8m6mx43vl1xjp";
};
# see if we can clean this up....
patches = [ ./finding-harfbuzz-icu.patch ]
++ optionals stdenv.isDarwin [
./PR-152650-2.patch
./PR-153138.patch
./PR-157554.patch
./PR-157574.patch
patches = optionals stdenv.isDarwin [
## TODO add necessary patches for Darwin
];
cmakeFlags = [
@ -87,7 +83,7 @@ stdenv.mkDerivation rec {
];
buildInputs = libintlOrEmpty ++ [
libwebp enchant libnotify gnutls pcre nettle libidn libgcrypt
libwebp enchant libnotify gnutls pcre nettle libidn libgcrypt woff2
libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit
sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
] ++ optional enableGeoLocation geoclue2

View File

@ -1,62 +0,0 @@
From 4607ea0a569b3c527ae8dce341ab55eb0d69d8f7 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Tue, 8 Mar 2016 17:26:23 -0800
Subject: [PATCH 2/2] [GTK][Mac] Enable support for gtk-doc on Mac
https://bugs.webkit.org/show_bug.cgi?id=152650
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
---
ChangeLog | 10 ++++++++++
Source/PlatformGTK.cmake | 2 +-
Source/cmake/OptionsGTK.cmake | 5 -----
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake
index af4d2e3..0b11b56 100644
--- a/Source/PlatformGTK.cmake
+++ b/Source/PlatformGTK.cmake
@@ -34,7 +34,7 @@ endmacro()
add_gtkdoc_generator("docs-build.stamp" "")
if (ENABLE_GTKDOC)
add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
-elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APPLE)
+elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING)
add_custom_target(gtkdoc DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
# Add a default build step which check that documentation does not have any warnings
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
index 6b01f1a..b443d10 100644
--- a/Source/cmake/OptionsGTK.cmake
+++ b/Source/cmake/OptionsGTK.cmake
@@ -424,11 +424,6 @@ if (CMAKE_CROSSCOMPILING)
set(ENABLE_INTROSPECTION OFF)
endif ()
-# Override the cached variable, gtk-doc does not really work when building on Mac.
-if (APPLE)
- set(ENABLE_GTKDOC OFF)
-endif ()
-
set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk)
diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py
index 4c8237b..a628ae0 100644
--- a/Tools/gtk/gtkdoc.py
+++ b/Tools/gtk/gtkdoc.py
@@ -322,6 +322,11 @@ class GTKDoc(object):
env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path)
else:
env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path
+ current_dyld_library_path = env.get('DYLD_LIBRARY_PATH')
+ if current_ld_library_path:
+ env['RUN'] = 'DYLD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_dyld_library_path)
+ else:
+ env['RUN'] = 'DYLD_LIBRARY_PATH="%s" ' % self.library_path
if ldflags:
env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', ''))
--
2.7.2

View File

@ -1,26 +0,0 @@
From 07886d9eacb7587dd52a9bcae10c1fc8ab56a910 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Fri, 15 Jan 2016 11:53:07 -0800
Subject: [PATCH] https://bugs.webkit.org/show_bug.cgi?id=153138
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
---
Source/JavaScriptCore/bytecode/StructureStubInfo.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
index 1e4b4f5..9b27aed 100644
--- a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
+++ b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "StructureStubInfo.h"
+#include "JSCellInlines.h"
+
#include "JSObject.h"
#include "PolymorphicAccess.h"
#include "Repatch.h"
--
2.7.0

View File

@ -1,33 +0,0 @@
https://bugs.webkit.org/show_bug.cgi?id=157554
--- a/Source/WTF/wtf/OSRandomSource.cpp
+++ b/Source/WTF/wtf/OSRandomSource.cpp
@@ -29,7 +29,7 @@
#include <stdint.h>
#include <stdlib.h>
-#if !OS(DARWIN) && OS(UNIX)
+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
@@ -46,7 +46,7 @@
namespace WTF {
-#if !OS(DARWIN) && OS(UNIX)
+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom()
{
CRASH();
@@ -60,8 +56,8 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom()
void cryptographicallyRandomValuesFromOS(unsigned char* buffer, size_t length)
{
-#if OS(DARWIN)
- RELEASE_ASSERT(!CCRandomCopyBytes(kCCRandomDefault, buffer, length));
+#if OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+ return arc4random_buf(buffer, length);
#elif OS(UNIX)
int fd = open("/dev/urandom", O_RDONLY, 0);
if (fd < 0)

View File

@ -1,62 +0,0 @@
diff --git a/Source/JavaScriptCore/API/WebKitAvailability.h b/Source/JavaScriptCore/API/WebKitAvailability.h
index ab53183..1310dec 100644
--- a/Source/JavaScriptCore/API/WebKitAvailability.h
+++ b/Source/JavaScriptCore/API/WebKitAvailability.h
@@ -27,57 +27,12 @@
#define __WebKitAvailability__
#if defined(__APPLE__)
-
-#include <AvailabilityMacros.h>
#include <CoreFoundation/CoreFoundation.h>
-
-#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
-/* To support availability macros that mention newer OS X versions when building on older OS X versions,
- we provide our own definitions of the underlying macros that the availability macros expand to. We're
- free to expand the macros as no-ops since frameworks built on older OS X versions only ship bundled with
- an application rather than as part of the system.
-*/
-
-#ifndef __NSi_10_10 // Building from trunk rather than SDK.
-#define __NSi_10_10 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __NSi_10_11 // Building from trunk rather than SDK.
-#define __NSi_10_11 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __NSi_10_12 // Building from trunk rather than SDK.
-#define __NSi_10_12 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __AVAILABILITY_INTERNAL__MAC_10_9
-#define __AVAILABILITY_INTERNAL__MAC_10_9
-#endif
-
-#ifndef __AVAILABILITY_INTERNAL__MAC_10_10
-#define __AVAILABILITY_INTERNAL__MAC_10_10
#endif
-#ifndef AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
-#define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
-#endif
-
-#ifndef AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
-#define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
-#endif
-
-#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED <= 101100 */
-
-#if defined(BUILDING_GTK__)
#undef CF_AVAILABLE
#define CF_AVAILABLE(_mac, _ios)
#undef CF_ENUM_AVAILABLE
#define CF_ENUM_AVAILABLE(_mac, _ios)
-#endif
-
-#else
-#define CF_AVAILABLE(_mac, _ios)
-#define CF_ENUM_AVAILABLE(_mac, _ios)
-#endif
#endif /* __WebKitAvailability__ */

View File

@ -1,52 +0,0 @@
--- webkitgtk-2.6.1.orig/Source/cmake/FindHarfBuzz.cmake 2014-10-09 01:54:38.000000000 +0800
+++ webkitgtk-2.6.1/Source/cmake/FindHarfBuzz.cmake 2014-10-15 13:41:29.832290412 +0800
@@ -34,21 +34,39 @@
pkg_check_modules(PC_HARFBUZZ harfbuzz>=0.9.7)
-find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
- HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
-)
-
-find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
- HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
-)
-
# HarfBuzz 0.9.18 split ICU support into a separate harfbuzz-icu library.
if ("${PC_HARFBUZZ_VERSION}" VERSION_GREATER "0.9.17")
pkg_check_modules(PC_HARFBUZZ_ICU harfbuzz-icu>=0.9.18 REQUIRED)
- find_library(HARFBUZZ_ICU_LIBRARIES NAMES harfbuzz-icu
+
+ find_path(HARFBUZZ_ICU_INCLUDEDIR NAMES hb-icu.h
+ HINTS ${PC_HARFBUZZ_ICU_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
+ )
+
+ find_library(HARFBUZZ_ICU_LIBRARY NAMES harfbuzz-icu
HINTS ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} ${PC_HARFBUZZ_ICU_LIBDIR}
)
- list(APPEND HARFBUZZ_LIBRARIES "${HARFBUZZ_ICU_LIBRARIES}")
+
+ find_library(HARFBUZZ_LIBRARY NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
+ )
+
+ set(HARFBUZZ_INCLUDE_DIRS
+ ${PC_HARFBUZZ_INCLUDE_DIRS} ${HARFBUZZ_ICU_INCLUDEDIR}
+ CACHE INTERNAL ""
+ )
+
+ set(HARFBUZZ_LIBRARIES
+ ${HARFBUZZ_LIBRARY} ${HARFBUZZ_ICU_LIBRARY}
+ CACHE INTERNAL ""
+ )
+else ()
+ find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
+ HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
+ )
+
+ find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
+ )
endif ()
include(FindPackageHandleStandardArgs)

View File

@ -1,13 +0,0 @@
diff --git i/Source/cmake/OptionsGTK.cmake w/Source/cmake/OptionsGTK.cmake
index d3577a8..9620dc0 100644
--- i/Source/cmake/OptionsGTK.cmake
+++ w/Source/cmake/OptionsGTK.cmake
@@ -94,7 +94,7 @@ WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential
# Private options specific to the GTK+ port. Changing these options is
# completely unsupported. They are intended for use only by WebKit developers.
-WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE ON)
+WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS "Whether to enable support for MPEG-TS" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_REDIRECTED_XCOMPOSITE_WINDOW "Whether to use a Redirected XComposite Window for accelerated compositing in X11." PRIVATE ON)

View File

@ -11733,7 +11733,7 @@ with pkgs;
wcslib = callPackage ../development/libraries/wcslib { };
webkitgtk = webkitgtk218x;
webkitgtk = webkitgtk220x;
webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
harfbuzz = harfbuzz-icu-58;
@ -11741,7 +11741,7 @@ with pkgs;
inherit (darwin) libobjc;
};
webkitgtk218x = callPackage ../development/libraries/webkitgtk/2.18.nix {
webkitgtk220x = callPackage ../development/libraries/webkitgtk/2.20.nix {
harfbuzz = harfbuzz-icu;
inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
stdenv = overrideCC stdenv gcc6;