1{ lib
2, buildGoModule
3, fetchFromGitHub
4, pkg-config
5, wayland
6, libX11
7, xbitmaps
8, libXcursor
9, libXmu
10, libXpm
11, libheif
12}:
13
14buildGoModule rec {
15 pname = "wallutils";
16 version = "5.12.4";
17
18 src = fetchFromGitHub {
19 owner = "xyproto";
20 repo = "wallutils";
21 rev = version;
22 sha256 = "sha256-NODG4Lw/7X1aoT+dDSWxWEbDX6EAQzzDJPwsWOLaJEM=";
23 };
24
25 vendorSha256 = null;
26
27 patches = [ ./lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch ];
28
29 excludedPackages = [
30 "./pkg/event/cmd" # Development tools
31 ];
32
33 ldflags = [ "-s" "-w" ];
34
35 nativeBuildInputs = [ pkg-config ];
36 buildInputs = [ wayland libX11 xbitmaps libXcursor libXmu libXpm libheif ];
37
38 preCheck =
39 let skippedTests = [
40 "TestClosest" # Requiring Wayland or X.
41 "TestNewSimpleEvent" # Blocking
42 "TestEveryMinute" # Blocking
43 ]; in
44 ''
45 export XDG_RUNTIME_DIR=`mktemp -d`
46
47 buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
48 '';
49
50 meta = with lib; {
51 description = "Utilities for handling monitors, resolutions, and (timed) wallpapers";
52 inherit (src.meta) homepage;
53 license = licenses.bsd3;
54 maintainers = with maintainers; [ ];
55 platforms = platforms.linux;
56 };
57}