1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 desktop-file-utils,
6 gjs,
7 gobject-introspection,
8 gtksourceview5,
9 gtk4,
10 libadwaita,
11 meson,
12 ninja,
13 wrapGAppsHook4,
14 nix-update-script,
15}:
16
17stdenv.mkDerivation (finalAttrs: {
18 pname = "textcompare";
19 version = "0.1.5";
20
21 src = fetchFromGitHub {
22 owner = "josephmawa";
23 repo = "TextCompare";
24 tag = "v${finalAttrs.version}";
25 hash = "sha256-PFQbaztaRErXHVLErVE/bBAsItNfp3DSbfx83omB04g=";
26 };
27
28 strictDeps = true;
29
30 nativeBuildInputs = [
31 desktop-file-utils
32 gjs
33 gobject-introspection
34 gtk4
35 meson
36 ninja
37 wrapGAppsHook4
38 ];
39
40 buildInputs = [
41 gjs
42 gtksourceview5
43 libadwaita
44 ];
45
46 preFixup = ''
47 sed -i "1 a imports.package._findEffectiveEntryPointName = () => 'io.github.josephmawa.TextCompare';" $out/bin/io.github.josephmawa.TextCompare
48 '';
49
50 passthru.updateScript = nix-update-script { };
51
52 meta = {
53 description = "Simple desktop app to compare old and new text";
54 homepage = "https://github.com/josephmawa/TextCompare";
55 license = lib.licenses.gpl3Plus;
56 maintainers = with lib.maintainers; [ iamanaws ];
57 mainProgram = "io.github.josephmawa.TextCompare";
58 platforms = lib.lists.intersectLists lib.platforms.linux gjs.meta.platforms;
59 };
60})