nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitLab,
4 nix-update-script,
5 blueprint-compiler,
6 desktop-file-utils,
7 libadwaita,
8 meson,
9 ninja,
10 pkg-config,
11 wrapGAppsHook4,
12 python3,
13 libxml2,
14 python3Packages,
15 libportal,
16 libportal-gtk4,
17 appstream,
18 gtk4,
19 glib,
20}:
21
22python3Packages.buildPythonApplication rec {
23 pname = "refine";
24 version = "0.5.10";
25 pyproject = false; # uses meson
26
27 src = fetchFromGitLab {
28 domain = "gitlab.gnome.org";
29 owner = "TheEvilSkeleton";
30 repo = "Refine";
31 tag = version;
32 hash = "sha256-/CyenSdF0dZR6HLw9FTv+OhJfNg55/dGE9y1A1hbcPA=";
33 };
34
35 nativeBuildInputs = [
36 appstream
37 blueprint-compiler
38 glib # For `glib-compile-schemas`
39 gtk4 # For `gtk-update-icon-cache`
40 meson
41 ninja
42 pkg-config
43 wrapGAppsHook4
44 python3
45 desktop-file-utils
46 ];
47
48 buildInputs = [
49 libxml2
50 libadwaita
51 ];
52
53 dependencies = [
54 libportal
55 libportal-gtk4
56 ]
57 ++ (with python3Packages; [
58 pygobject3
59 ]);
60
61 strictDeps = true;
62
63 mesonFlags = [ (lib.mesonBool "network_tests" false) ];
64
65 dontWrapGApps = true;
66
67 makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
68
69 # NOTE: `postCheck` is intentionally not used here, as the entire checkPhase
70 # is skipped by `buildPythonApplication`
71 # https://github.com/NixOS/nixpkgs/blob/9d4343b7b27a3e6f08fc22ead568233ff24bbbde/pkgs/development/interpreters/python/mk-python-derivation.nix#L296
72 postInstallCheck = ''
73 mesonCheckPhase
74 '';
75
76 passthru.updateScript = nix-update-script { };
77
78 meta = {
79 description = "Tweak various aspects of GNOME";
80 homepage = "https://gitlab.gnome.org/TheEvilSkeleton/Refine";
81 mainProgram = "refine";
82 platforms = lib.platforms.linux;
83 license = with lib.licenses; [ gpl3Plus ];
84 maintainers = with lib.maintainers; [ getchoo ];
85 };
86}