1{
2 lib,
3 stdenv,
4 meson,
5 ninja,
6 gettext,
7 fetchurl,
8 pkg-config,
9 gtk4,
10 glib,
11 icu,
12 wrapGAppsHook4,
13 gnome,
14 libportal-gtk4,
15 libxml2,
16 itstool,
17 webkitgtk_6_0,
18 libsoup_3,
19 glib-networking,
20 libsecret,
21 gnome-desktop,
22 libarchive,
23 p11-kit,
24 sqlite,
25 gcr_4,
26 isocodes,
27 desktop-file-utils,
28 nettle,
29 gdk-pixbuf,
30 gst_all_1,
31 json-glib,
32 libadwaita,
33 buildPackages,
34 withPantheon ? false,
35 pantheon,
36}:
37
38stdenv.mkDerivation (finalAttrs: {
39 pname = "epiphany";
40 version = "48.5";
41
42 src = fetchurl {
43 url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
44 hash = "sha256-D2ZVKtZZPHlSo93uW/UVZWyMQ0hxB22fGpGnr5NGsbQ=";
45 };
46
47 nativeBuildInputs = [
48 desktop-file-utils
49 gettext
50 itstool
51 meson
52 ninja
53 pkg-config
54 wrapGAppsHook4
55 buildPackages.glib
56 buildPackages.gtk4
57 ];
58
59 buildInputs = [
60 gcr_4
61 gdk-pixbuf
62 glib
63 glib-networking
64 gnome-desktop
65 gst_all_1.gst-libav
66 gst_all_1.gst-plugins-bad
67 gst_all_1.gst-plugins-base
68 gst_all_1.gst-plugins-good
69 gst_all_1.gst-plugins-ugly
70 gst_all_1.gstreamer
71 gtk4
72 icu
73 isocodes
74 json-glib
75 libadwaita
76 libportal-gtk4
77 libarchive
78 libsecret
79 libsoup_3
80 libxml2
81 nettle
82 p11-kit
83 sqlite
84 webkitgtk_6_0
85 ]
86 ++ lib.optionals withPantheon [
87 pantheon.granite7
88 ];
89
90 # Tests need an X display
91 mesonFlags = [
92 "-Dunit_tests=disabled"
93 ]
94 ++ lib.optionals withPantheon [
95 "-Dgranite=enabled"
96 ];
97
98 passthru = {
99 updateScript = gnome.updateScript {
100 packageName = "epiphany";
101 };
102 };
103
104 meta = with lib; {
105 homepage = "https://apps.gnome.org/Epiphany/";
106 description = "WebKit based web browser for GNOME";
107 mainProgram = "epiphany";
108 teams = [
109 teams.gnome
110 teams.pantheon
111 ];
112 license = licenses.gpl3Plus;
113 platforms = platforms.linux;
114 };
115})