1{ lib
2, buildGoModule
3, fetchFromGitHub
4, libX11
5, libXcursor
6, libXmu
7, libXpm
8, libheif
9, pkg-config
10, wayland
11, xbitmaps
12}:
13
14buildGoModule rec {
15 pname = "wallutils";
16 version = "5.12.7";
17
18 src = fetchFromGitHub {
19 owner = "xyproto";
20 repo = "wallutils";
21 rev = version;
22 hash = "sha256-7UqZr/DEiHDgg3XwvsKk/gc6FNtLh3aj5NWVz/A3J4o=";
23 };
24
25 vendorHash = null;
26
27 patches = [
28 ./000-add-nixos-dirs-to-default-wallpapers.patch
29 ];
30
31 excludedPackages = [
32 "./pkg/event/cmd" # Development tools
33 ];
34
35 nativeBuildInputs = [
36 pkg-config
37 ];
38
39 buildInputs = [
40 libX11
41 libXcursor
42 libXmu
43 libXpm
44 libheif
45 wayland
46 xbitmaps
47 ];
48
49 ldflags = [ "-s" "-w" ];
50
51 preCheck =
52 let skippedTests = [
53 "TestClosest" # Requiring Wayland or X
54 "TestEveryMinute" # Blocking
55 "TestNewSimpleEvent" # Blocking
56 ]; in
57 ''
58 export XDG_RUNTIME_DIR=`mktemp -d`
59
60 buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
61 '';
62
63 meta = {
64 description = "Utilities for handling monitors, resolutions, and (timed) wallpapers";
65 inherit (src.meta) homepage;
66 license = lib.licenses.bsd3;
67 maintainers = [ lib.maintainers.AndersonTorres ];
68 inherit (wayland.meta) platforms;
69 badPlatforms = lib.platforms.darwin;
70 };
71}