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.nix56
1 files changed, 23 insertions, 33 deletions
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 82cff159a56..f67e3f2468b 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,61 +1,51 @@
-{ stdenv, fetchurl, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobjectIntrospection
+{ stdenv, fetchurl, perl, python, ruby, bison, gperf, cmake
+, pkgconfig, gettext, gobjectIntrospection
 , gtk2, gtk3, wayland, libwebp, enchant
-, libxml2, libsoup, libsecret, libxslt, harfbuzz
+, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
+, enableGeoLocation ? true, geoclue2, sqlite
 , gst-plugins-base
-, withGtk2 ? false
-, enableIntrospection ? true
 }:
 
+assert enableGeoLocation -> geoclue2 != null;
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.4.4";
+  name = "webkitgtk-${version}";
+  version = "2.6.5";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
     homepage = "http://webkitgtk.org/";
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ iyzsong koral ];
   };
 
+  preConfigure = "patchShebangs Tools";
+
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
+    sha256 = "14vmqq6hr3jzphay49984kj22vlqhpsjmwh1krdm9k57rqbq0rdi";
   };
 
-  patches = [ ./webcore-svg-libxml-cflags.patch ];
+  patches = [ ./finding-harfbuzz-icu.patch ];
 
-  CC = "cc";
-
-  prePatch = ''
-    patchShebangs Tools/gtk
-  '';
-
-  configureFlags = with stdenv.lib; [
-    "--disable-geolocation"
-    (optionalString enableIntrospection "--enable-introspection")
-  ] ++ stdenv.lib.optional withGtk2 [
-    "--with-gtk=2.0"
-    "--disable-webkit2"
-  ];
-
-  dontAddDisableDepTrack = true;
+  cmakeFlags = [ "-DPORT=GTK" ];
 
   nativeBuildInputs = [
-    perl python ruby bison gperf flex
-    pkgconfig which gettext gobjectIntrospection
+    cmake perl python ruby bison gperf sqlite
+    pkgconfig gettext gobjectIntrospection
   ];
 
   buildInputs = [
     gtk2 wayland libwebp enchant
-    libxml2 libsecret libxslt harfbuzz
+    libxml2 libsecret libxslt harfbuzz libpthreadstubs
     gst-plugins-base
-  ];
+  ] ++ optional enableGeoLocation geoclue2;
 
   propagatedBuildInputs = [
-    libsoup
-    (if withGtk2 then gtk2 else gtk3)
+    libsoup gtk3
   ];
 
-  #enableParallelBuilding = true; # build problems on Hydra
+  # enableParallelBuilding = true; # build problems on Hydra
 }