webkitgtk: fix on darwin

launchpad/nixpkgs/master
Dmitry Kalinkin 3 years ago
parent c4ff610b31
commit 61e49ba58b
No known key found for this signature in database
GPG Key ID: 5157B3EC8B2CA333
  1. 86
      pkgs/development/libraries/webkitgtk/428774.patch
  2. 36
      pkgs/development/libraries/webkitgtk/default.nix
  3. 1
      pkgs/top-level/all-packages.nix

@ -0,0 +1,86 @@
diff -aru a/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp b/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp
--- a/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp 2021-02-26 04:57:15.000000000 -0500
+++ b/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp 2021-05-16 14:45:32.000000000 -0400
@@ -87,7 +87,7 @@
if (!m_store.createSharedMemoryHandle(handle))
return;
-#if OS(DARWIN) || OS(WINDOWS)
+#if (OS(DARWIN) || OS(WINDOWS)) && !USE(UNIX_DOMAIN_SOCKETS)
uint64_t dataSize = handle.size();
#else
uint64_t dataSize = 0;
diff -aru a/Source/WebKit/Platform/IPC/IPCSemaphore.cpp b/Source/WebKit/Platform/IPC/IPCSemaphore.cpp
--- a/Source/WebKit/Platform/IPC/IPCSemaphore.cpp 2021-02-26 04:57:15.000000000 -0500
+++ b/Source/WebKit/Platform/IPC/IPCSemaphore.cpp 2021-05-16 15:54:53.000000000 -0400
@@ -26,8 +26,6 @@
#include "config.h"
#include "IPCSemaphore.h"
-#if !OS(DARWIN)
-
namespace IPC {
Semaphore::Semaphore() = default;
@@ -46,5 +44,3 @@
}
}
-
-#endif
diff -aru a/Source/WebKit/Platform/IPC/IPCSemaphore.h b/Source/WebKit/Platform/IPC/IPCSemaphore.h
--- a/Source/WebKit/Platform/IPC/IPCSemaphore.h 2021-02-26 04:57:15.000000000 -0500
+++ b/Source/WebKit/Platform/IPC/IPCSemaphore.h 2021-05-16 14:46:13.000000000 -0400
@@ -29,7 +29,7 @@
#include <wtf/Optional.h>
#include <wtf/Seconds.h>
-#if OS(DARWIN)
+#if PLATFORM(COCOA)
#include <mach/semaphore.h>
#include <wtf/MachSendRight.h>
#endif
@@ -51,7 +51,7 @@
void encode(Encoder&) const;
static Optional<Semaphore> decode(Decoder&);
-#if OS(DARWIN)
+#if PLATFORM(COCOA)
explicit Semaphore(MachSendRight&&);
void signal();
@@ -64,7 +64,7 @@
#endif
private:
-#if OS(DARWIN)
+#if PLATFORM(COCOA)
void destroy();
MachSendRight m_sendRight;
semaphore_t m_semaphore { SEMAPHORE_NULL };
Only in b/Source/WebKit/Platform/IPC: IPCSemaphore.h.orig
diff -aru a/Source/WebKit/Platform/SharedMemory.h b/Source/WebKit/Platform/SharedMemory.h
--- a/Source/WebKit/Platform/SharedMemory.h 2021-02-26 04:57:15.000000000 -0500
+++ b/Source/WebKit/Platform/SharedMemory.h 2021-05-16 14:45:32.000000000 -0400
@@ -75,7 +75,7 @@
bool isNull() const;
-#if OS(DARWIN) || OS(WINDOWS)
+#if (OS(DARWIN) || OS(WINDOWS)) && !USE(UNIX_DOMAIN_SOCKETS)
size_t size() const { return m_size; }
#endif
diff -aru a/Source/WebKit/UIProcess/VisitedLinkStore.cpp b/Source/WebKit/UIProcess/VisitedLinkStore.cpp
--- a/Source/WebKit/UIProcess/VisitedLinkStore.cpp 2021-02-26 04:57:16.000000000 -0500
+++ b/Source/WebKit/UIProcess/VisitedLinkStore.cpp 2021-05-16 14:45:32.000000000 -0400
@@ -119,7 +119,7 @@
return;
// FIXME: Get the actual size of data being sent from m_linkHashStore and send it in the SharedMemory::IPCHandle object.
-#if OS(DARWIN) || OS(WINDOWS)
+#if (OS(DARWIN) || OS(WINDOWS)) && !USE(UNIX_DOMAIN_SOCKETS)
uint64_t dataSize = handle.size();
#else
uint64_t dataSize = 0;
Only in b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics: DrawingAreaCoordinatedGraphics.cpp.orig

@ -1,5 +1,7 @@
{ lib, stdenv
, runCommandNoCC
, fetchurl
, fetchpatch
, perl
, python3
, ruby
@ -34,6 +36,7 @@
, libidn
, libedit
, readline
, sdk
, libGL
, libGLU
, mesa
@ -78,6 +81,32 @@ stdenv.mkDerivation rec {
inherit (addOpenGLRunpath) driverLink;
})
./libglvnd-headers.patch
] ++ lib.optionals stdenv.isDarwin [
(fetchpatch {
url = "https://github.com/WebKit/WebKit/commit/94cdcd289b993ed4d39c17d4b8b90db7c81a9b10.diff";
sha256 = "sha256-ywrTEjf3ATqI0Vvs60TeAZ+m58kCibum4DamRWrQfaA=";
excludes = [ "Source/WebKit/ChangeLog" ];
})
# https://bugs.webkit.org/show_bug.cgi?id=225856
(fetchpatch {
url = "https://bug-225856-attachments.webkit.org/attachment.cgi?id=428797";
sha256 = "sha256-ffo5p2EyyjXe3DxdrvAcDKqxwnoqHtYBtWod+1fOjMU=";
excludes = [ "Source/WebCore/ChangeLog" ];
})
# https://bugs.webkit.org/show_bug.cgi?id=225850
./428774.patch # https://bug-225850-attachments.webkit.org/attachment.cgi?id=428774
(fetchpatch {
url = "https://bug-225850-attachments.webkit.org/attachment.cgi?id=428776";
sha256 = "sha256-ryNRYMsk72SL0lNdh6eaAdDV3OT8KEqVq1H0j581jmQ=";
excludes = [ "Source/WTF/ChangeLog" ];
})
(fetchpatch {
url = "https://bug-225850-attachments.webkit.org/attachment.cgi?id=428778";
sha256 = "sha256-78iP+T2vaIufO8TmIPO/tNDgmBgzlDzalklrOPrtUeo=";
excludes = [ "Source/WebKit/ChangeLog" ];
})
];
preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
@ -96,6 +125,7 @@ stdenv.mkDerivation rec {
gperf
ninja
perl
perl.pkgs.FileCopyRecursive # used by copy-user-interface-resources.pl
pkg-config
python3
ruby
@ -143,6 +173,12 @@ stdenv.mkDerivation rec {
]) ++ lib.optionals stdenv.isDarwin [
libedit
readline
# Pull a header that contains a definition of proc_pid_rusage().
# (We pick just that one because using the other headers from `sdk` is not
# compatible with our C++ standard library)
(runCommandNoCC "${pname}_headers" {} ''
install -Dm444 "${lib.getDev sdk}"/include/libproc.h "$out"/include/libproc.h
'')
] ++ lib.optionals stdenv.isLinux [
bubblewrap
libseccomp

@ -18144,6 +18144,7 @@ in
webkitgtk = callPackage ../development/libraries/webkitgtk {
harfbuzz = harfbuzzFull;
inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
inherit (darwin.apple_sdk) sdk;
};
websocketpp = callPackage ../development/libraries/websocket++ { };

Loading…
Cancel
Save