summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/epiphany/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/epiphany/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix36
1 files changed, 23 insertions, 13 deletions
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index 35aae8cc9eb..2f58d920ff0 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,32 +1,42 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
-, bash, wrapGAppsHook, gnome3, libwnck3, libxml2, libxslt, libtool
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk, glib, icu
+, wrapGAppsHook, gnome3, libxml2, libxslt, itstool
 , webkitgtk, libsoup, glib_networking, libsecret, gnome_desktop, libnotify, p11_kit
-, sqlite, gcr, avahi, nss, isocodes, itstool, file, which
-, gdk_pixbuf, librsvg, gnome_common, gst_all_1, json_glib }:
+, sqlite, gcr, isocodes, desktop_file_utils, file
+, gdk_pixbuf, gnome_common, gst_all_1, json_glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Tests need an X display
-  configureFlags = [ "--disable-static --disable-tests" ];
+  mesonFlags = [ "-Dunit_tests=false" ];
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig file wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja libxslt pkgconfig itstool gettext file wrapGAppsHook desktop_file_utils ];
 
-  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt file
-                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
-                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
-                  gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf
-                  gnome3.glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  buildInputs = [ gtk glib webkitgtk libsoup libxml2 libsecret gnome_desktop libnotify
+                  sqlite isocodes p11_kit icu gnome3.yelp_tools
+                  gdk_pixbuf gnome3.defaultIconTheme gnome_common gcr
+                  glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
                   gst_all_1.gst-libav json_glib ];
 
-  NIX_CFLAGS_COMPILE = "-I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   enableParallelBuilding = true;
 
+  postPatch = ''
+    chmod +x post_install.py # patchShebangs requires executable file
+    patchShebangs post_install.py
+  '';
+
+  postFixup = ''
+    # Patched meson does not add internal libraries to rpath
+    for f in bin/.epiphany-wrapped libexec/.epiphany-search-provider-wrapped libexec/epiphany/.ephy-profile-migrator-wrapped lib/epiphany/web-extensions/libephywebextension.so; do
+      patchelf --set-rpath "$out/lib/epiphany:$(patchelf --print-rpath $out/$f)" "$out/$f"
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Epiphany;
     description = "WebKit based web browser for GNOME";