diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index e8fe798476c1..d1e171566eea 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -1,12 +1,56 @@ -{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja -, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt -, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core -, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit -, libidn, libedit, readline, libGL, libGLU, libintl, openjpeg -, enableGeoLocation ? true, geoclue2, sqlite -, enableGtk2Plugins ? false, gtk2 ? null -, gst-plugins-base, gst-plugins-bad, woff2 -, bubblewrap, libseccomp, xdg-dbus-proxy, substituteAll +{ stdenv +, fetchurl +, perl +, python3 +, ruby +, bison +, gperf +, cmake +, ninja +, pkgconfig +, gettext +, gobject-introspection +, libnotify +, gnutls +, libgcrypt +, gtk3 +, wayland +, libwebp +, enchant2 +, xorg +, libxkbcommon +, epoxy +, at-spi2-core +, libxml2 +, libsoup +, libsecret +, libxslt +, harfbuzz +, libpthreadstubs +, pcre +, nettle +, libtasn1 +, p11-kit +, libidn +, libedit +, readline +, libGL +, libGLU +, libintl +, openjpeg +, enableGeoLocation ? true +, geoclue2 +, sqlite +, enableGtk2Plugins ? false +, gtk2 ? null +, gst-plugins-base +, gst-plugins-bad +, woff2 +, bubblewrap +, libseccomp +, xdg-dbus-proxy +, substituteAll +, gnome3 }: assert enableGeoLocation -> geoclue2 != null; @@ -14,18 +58,12 @@ assert enableGtk2Plugins -> gtk2 != null; assert stdenv.isDarwin -> !enableGtk2Plugins; with stdenv.lib; + stdenv.mkDerivation rec { pname = "webkitgtk"; version = "2.26.2"; - meta = { - description = "Web content rendering engine, GTK port"; - homepage = https://webkitgtk.org/; - license = licenses.bsd2; - platforms = platforms.linux; - hydraPlatforms = []; - maintainers = with maintainers; [ ]; - }; + outputs = [ "out" "dev" ]; src = fetchurl { url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz"; @@ -40,54 +78,97 @@ stdenv.mkDerivation rec { ./libglvnd-headers.patch ]; + nativeBuildInputs = [ + bison + cmake + gettext + gobject-introspection + gperf + ninja + perl + pkgconfig + python3 + ruby + ]; + + buildInputs = [ + at-spi2-core + enchant2 + epoxy + gnutls + gst-plugins-bad + gst-plugins-base + harfbuzz + libGL + libGLU + libgcrypt + libidn + libintl + libnotify + libpthreadstubs + libsecret + libtasn1 + libwebp + libxkbcommon + libxml2 + libxslt + nettle + openjpeg + p11-kit + pcre + sqlite + woff2 + ] ++ (with xorg; [ + libXdamage + libXdmcp + libXt + libXtst + ]) ++ optionals stdenv.isDarwin [ + libedit + readline + ] ++ optionals stdenv.isLinux [ + bubblewrap + libseccomp + wayland + xdg-dbus-proxy + ] ++ optional enableGeoLocation geoclue2 + ++ optional enableGtk2Plugins gtk2; + + propagatedBuildInputs = [ + gtk3 + libsoup + ]; + + cmakeFlags = [ + "-DENABLE_INTROSPECTION=ON" + "-DPORT=GTK" + "-DUSE_LIBHYPHEN=OFF" + "-DUSE_WPE_RENDERER=OFF" + ] ++ optionals stdenv.isDarwin [ + "-DENABLE_GRAPHICS_CONTEXT_3D=OFF" + "-DENABLE_GTKDOC=OFF" + "-DENABLE_MINIBROWSER=OFF" + "-DENABLE_OPENGL=OFF" + "-DENABLE_QUARTZ_TARGET=ON" + "-DENABLE_VIDEO=ON" + "-DENABLE_WEBGL=OFF" + "-DENABLE_WEB_AUDIO=OFF" + "-DENABLE_X11_TARGET=OFF" + "-DUSE_ACCELERATE=0" + "-DUSE_SYSTEM_MALLOC=ON" + ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF" + ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"; + postPatch = '' patchShebangs . ''; - cmakeFlags = [ - "-DPORT=GTK" - "-DUSE_LIBHYPHEN=OFF" - "-DENABLE_INTROSPECTION=ON" - "-DUSE_WPE_RENDERER=OFF" - ] - ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF" - ++ optional stdenv.isLinux "-DENABLE_GLES2=ON" - ++ optionals stdenv.isDarwin [ - "-DUSE_SYSTEM_MALLOC=ON" - "-DUSE_ACCELERATE=0" - "-DENABLE_MINIBROWSER=OFF" - "-DENABLE_VIDEO=ON" - "-DENABLE_QUARTZ_TARGET=ON" - "-DENABLE_X11_TARGET=OFF" - "-DENABLE_OPENGL=OFF" - "-DENABLE_WEB_AUDIO=OFF" - "-DENABLE_WEBGL=OFF" - "-DENABLE_GRAPHICS_CONTEXT_3D=OFF" - "-DENABLE_GTKDOC=OFF" - ]; - - nativeBuildInputs = [ - cmake ninja perl python2 ruby bison gperf - pkgconfig gettext gobject-introspection - ]; - - buildInputs = [ - libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2 - libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit openjpeg - sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core - libGL libGLU - ] ++ optional enableGeoLocation geoclue2 - ++ optional enableGtk2Plugins gtk2 - ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ]) - ++ optionals stdenv.isDarwin [ libedit readline ] - ++ optionals stdenv.isLinux [ - wayland bubblewrap libseccomp xdg-dbus-proxy - ]; - - propagatedBuildInputs = [ - libsoup gtk3 - ]; - - outputs = [ "out" "dev" ]; - + meta = { + description = "Web content rendering engine, GTK port"; + homepage = https://webkitgtk.org/; + license = licenses.bsd2; + platforms = platforms.linux; + hydraPlatforms = []; + maintainers = gnome3.maintainers; + }; }