nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 meson,
7 gettext,
8 gobject-introspection,
9 evince,
10 glib,
11 gnome,
12 gtksourceview4,
13 gjs,
14 libsoup_3,
15 webkitgtk_4_1,
16 icu,
17 wrapGAppsHook3,
18 gst_all_1,
19 gdk-pixbuf,
20 librsvg,
21 gtk3,
22 harfbuzz,
23 ninja,
24 libepoxy,
25}:
26
27stdenv.mkDerivation (finalAttrs: {
28 pname = "sushi";
29 version = "46.0";
30
31 src = fetchurl {
32 url = "mirror://gnome/sources/sushi/${lib.versions.major finalAttrs.version}/sushi-${finalAttrs.version}.tar.xz";
33 hash = "sha256-lghbqqQwqyFCxgaqtcR+L7sv0+two1ITfmXFmlig8sY=";
34 };
35
36 nativeBuildInputs = [
37 pkg-config
38 meson
39 ninja
40 gettext
41 gobject-introspection
42 wrapGAppsHook3
43 ];
44
45 buildInputs = [
46 glib
47 gtk3
48 evince
49 icu
50 harfbuzz
51 gjs
52 gtksourceview4
53 gdk-pixbuf
54 librsvg
55 libsoup_3
56 webkitgtk_4_1
57 libepoxy
58 gst_all_1.gstreamer
59 gst_all_1.gst-plugins-base
60 (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
61 gst_all_1.gst-plugins-bad
62 gst_all_1.gst-plugins-ugly
63 ];
64
65 # See https://github.com/NixOS/nixpkgs/issues/31168
66 postInstall = ''
67 for file in $out/libexec/org.gnome.NautilusPreviewer
68 do
69 sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
70 -i $file
71 done
72 '';
73
74 passthru = {
75 updateScript = gnome.updateScript {
76 packageName = "sushi";
77 };
78 };
79
80 meta = {
81 homepage = "https://gitlab.gnome.org/GNOME/sushi";
82 changelog = "https://gitlab.gnome.org/GNOME/sushi/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
83 description = "Quick previewer for Nautilus";
84 mainProgram = "sushi";
85 teams = [ lib.teams.gnome ];
86 license = lib.licenses.gpl2Plus;
87 platforms = lib.platforms.linux;
88 };
89})