webkitgtk-2.17: init at 2.17.91

+124
+106
pkgs/development/libraries/webkitgtk/2.17.nix
···
··· 1 + { stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake 2 + , pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls 3 + , gtk2, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at_spi2_core 4 + , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11_kit 5 + , libidn, libedit, readline, mesa, libintlOrEmpty 6 + , enableGeoLocation ? true, geoclue2, sqlite 7 + , gst-plugins-base, gst-plugins-bad 8 + }: 9 + 10 + assert enableGeoLocation -> geoclue2 != null; 11 + 12 + with stdenv.lib; 13 + stdenv.mkDerivation rec { 14 + name = "webkitgtk-${version}"; 15 + version = "2.17.91"; 16 + 17 + meta = { 18 + description = "Web content rendering engine, GTK+ port"; 19 + homepage = http://webkitgtk.org/; 20 + license = licenses.bsd2; 21 + platforms = with platforms; linux ++ darwin; 22 + hydraPlatforms = []; 23 + maintainers = with maintainers; [ ]; 24 + }; 25 + 26 + postConfigure = optionalString stdenv.isDarwin '' 27 + substituteInPlace Source/WebKit2/CMakeFiles/WebKit2.dir/link.txt \ 28 + --replace "../../lib/libWTFGTK.a" "" 29 + substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \ 30 + --replace "../../lib/libbmalloc.a" "" 31 + sed -i "s|[\./]*\.\./lib/lib[^\.]*\.a||g" \ 32 + Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/link.txt \ 33 + Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/link.txt \ 34 + Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/link.txt \ 35 + Source/WebKit2/CMakeFiles/DatabaseProcess.dir/link.txt \ 36 + Source/WebKit2/CMakeFiles/NetworkProcess.dir/link.txt \ 37 + Source/WebKit2/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \ 38 + Source/WebKit2/CMakeFiles/WebProcess.dir/link.txt 39 + substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \ 40 + --replace "../../lib/libWTFGTK.a" "-Wl,-all_load ../../lib/libWTFGTK.a" 41 + ''; 42 + 43 + src = fetchurl { 44 + url = "http://webkitgtk.org/releases/${name}.tar.xz"; 45 + sha256 = "0f158gqb2lvv3v5z6s7gjgwms69fgsjkd8whfks8cq6cybiy9y37"; 46 + }; 47 + 48 + # see if we can clean this up.... 49 + 50 + patches = [ 51 + ./finding-harfbuzz-icu.patch 52 + ./gstreamergl-2.17.patch 53 + ] ++ optionals stdenv.isDarwin [ 54 + ./PR-152650-2.patch 55 + ./PR-153138.patch 56 + ./PR-157554.patch 57 + ./PR-157574.patch 58 + ]; 59 + 60 + cmakeFlags = [ 61 + "-DPORT=GTK" 62 + "-DUSE_LIBHYPHEN=0" 63 + ] 64 + ++ optional stdenv.isLinux "-DENABLE_GLES2=ON" 65 + ++ optionals stdenv.isDarwin [ 66 + "-DUSE_SYSTEM_MALLOC=ON" 67 + "-DUSE_ACCELERATE=0" 68 + "-DENABLE_INTROSPECTION=ON" 69 + "-DENABLE_MINIBROWSER=OFF" 70 + "-DENABLE_PLUGIN_PROCESS_GTK2=OFF" 71 + "-DENABLE_MINIBROWSER=OFF" 72 + "-DENABLE_VIDEO=ON" 73 + "-DENABLE_QUARTZ_TARGET=ON" 74 + "-DENABLE_X11_TARGET=OFF" 75 + "-DENABLE_OPENGL=OFF" 76 + "-DENABLE_WEB_AUDIO=OFF" 77 + "-DENABLE_WEBGL=OFF" 78 + "-DENABLE_GRAPHICS_CONTEXT_3D=OFF" 79 + "-DENABLE_GTKDOC=OFF" 80 + ]; 81 + 82 + # XXX: WebKit2 missing include path for gst-plugins-base. 83 + # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894 84 + NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0 -I${gst-plugins-bad}/include/gstreamer-1.0" 85 + + (optionalString stdenv.isDarwin " -lintl"); 86 + 87 + nativeBuildInputs = [ 88 + cmake perl python2 ruby bison gperf sqlite 89 + pkgconfig gettext gobjectIntrospection 90 + ]; 91 + 92 + buildInputs = libintlOrEmpty ++ [ 93 + gtk2 libwebp enchant libnotify gnutls pcre nettle libidn 94 + libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11_kit 95 + gst-plugins-base gst-plugins-bad libxkbcommon epoxy at_spi2_core 96 + ] ++ optional enableGeoLocation geoclue2 97 + ++ (with xlibs; [ libXdmcp libXt libXtst ]) 98 + ++ optionals stdenv.isDarwin [ libedit readline mesa ] 99 + ++ optional stdenv.isLinux wayland; 100 + 101 + propagatedBuildInputs = [ 102 + libsoup gtk3 103 + ]; 104 + 105 + enableParallelBuilding = true; 106 + }
+13
pkgs/development/libraries/webkitgtk/gstreamergl-2.17.patch
···
··· 1 + diff --git i/Source/cmake/OptionsGTK.cmake w/Source/cmake/OptionsGTK.cmake 2 + index d3577a8..9620dc0 100644 3 + --- i/Source/cmake/OptionsGTK.cmake 4 + +++ w/Source/cmake/OptionsGTK.cmake 5 + @@ -94,7 +94,7 @@ WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential 6 + 7 + # Private options specific to the GTK+ port. Changing these options is 8 + # completely unsupported. They are intended for use only by WebKit developers. 9 + -WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE ON) 10 + +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF) 11 + WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS "Whether to enable support for MPEG-TS" PRIVATE OFF) 12 + WEBKIT_OPTION_DEFINE(USE_REDIRECTED_XCOMPOSITE_WINDOW "Whether to use a Redirected XComposite Window for accelerated compositing in X11." PRIVATE ON) 13 +
+5
pkgs/top-level/all-packages.nix
··· 10703 gst-plugins-base = gst_all_1.gst-plugins-base; 10704 }; 10705 10706 webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override { 10707 withGtk2 = true; 10708 enableIntrospection = false;
··· 10703 gst-plugins-base = gst_all_1.gst-plugins-base; 10704 }; 10705 10706 + webkitgtk217x = callPackage ../development/libraries/webkitgtk/2.17.nix { 10707 + harfbuzz = harfbuzz-icu; 10708 + gst-plugins-base = gst_all_1.gst-plugins-base; 10709 + }; 10710 + 10711 webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override { 10712 withGtk2 = true; 10713 enableIntrospection = false;