summary refs log tree commit diff
path: root/pkgs/development/libraries/webkitgtk/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/webkitgtk/default.nix')
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix45
1 files changed, 37 insertions, 8 deletions
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 5fd108161680..1abfcbb6c860 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -2,11 +2,13 @@
 , pkgconfig, gettext, gobjectIntrospection, libnotify
 , gtk2, gtk3, wayland, libwebp, enchant
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
-, enableGeoLocation ? true, geoclue2, sqlite
-, gst-plugins-base
+, enableGeoLocation ? false, geoclue2, sqlite
+, enableCredentialStorage ? !stdenv.isDarwin
+, gst-plugins-base, readline, libedit
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
+assert stdenv.isDarwin -> !enableCredentialStorage;
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -29,16 +31,37 @@ stdenv.mkDerivation rec {
     sha256 = "0mghsbfnmmf6nsf7cb3ah76s77aigkzf3k6kw96wgh6all6jdy6v";
   };
 
-  patches = [ ./finding-harfbuzz-icu.patch
+  patches = [
+    ./finding-harfbuzz-icu.patch
     (fetchpatch {
       name = "glibc-isnan.patch";
       url = "http://trac.webkit.org/changeset/194518/trunk/Source/JavaScriptCore"
         + "/runtime/Options.cpp?format=diff&new=194518";
       sha256 = "0pzdv1zmlym751n9d310cx3yp752yzsc49cysbvgnrib4dh68nbm";
     })
-  ];
+  ] ++ optional stdenv.isDarwin ./adding-libintl.patch;
 
-  cmakeFlags = [ "-DPORT=GTK" "-DUSE_LIBHYPHEN=0" ];
+  cmakeFlags = [
+    "-DPORT=GTK"
+    "-DUSE_LIBHYPHEN=OFF"
+  ] ++ optionals (!enableCredentialStorage) [
+    "-DENABLE_CREDENTIAL_STORAGE=OFF"
+  ] ++ optionals (!enableGeoLocation) [
+    "-DENABLE_GEOLOCATION=OFF"
+  ] ++ optionals stdenv.isDarwin [
+    "-DENABLE_WEBKIT=ON"
+    "-DENABLE_X11_TARGET=OFF"
+    "-DENABLE_QUARTZ_TARGET=ON"
+    "-DENABLE_TOOLS=ON"
+    "-DENABLE_MINIBROWSER=ON"
+    "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
+    "-DENABLE_VIDEO=OFF"
+    "-DENABLE_WEB_AUDIO=OFF"
+    "-DENABLE_OPENGL=OFF"
+    "-DENABLE_INTROSPECTION=OFF"
+    "-DUSE_LIBNOTIFY=OFF"
+    "-DCMAKE_SHARED_LINKER_FLAGS=-L/path/to/nonexistent/folder"
+  ];
 
   # XXX: WebKit2 missing include path for gst-plugins-base.
   # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
@@ -50,10 +73,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 wayland libwebp enchant libnotify
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs
+    gtk2 libwebp enchant libnotify
+    libxml2 libxslt harfbuzz libpthreadstubs
     gst-plugins-base
-  ] ++ optional enableGeoLocation geoclue2;
+  ] ++ optionals enableCredentialStorage [
+    libsecret
+  ] ++ (if stdenv.isDarwin then [
+    readline libedit
+  ] else [
+    wayland
+  ]) ++ optional enableGeoLocation geoclue2;
 
   propagatedBuildInputs = [
     libsoup gtk3