nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchFromCodeberg,
5 pkg-config,
6 meson,
7 ninja,
8 pixman,
9 tllist,
10 wayland,
11 wayland-scanner,
12 wayland-protocols,
13 libjxl,
14 enablePNG ? true,
15 enableJPEG ? true,
16 enableWebp ? true,
17 # Optional dependencies
18 libpng,
19 libjpeg,
20 libwebp,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "wbg";
25 version = "1.3.0";
26
27 src = fetchFromCodeberg {
28 owner = "dnkl";
29 repo = "wbg";
30 tag = finalAttrs.version;
31 hash = "sha256-qEdl3dKeAfWWZ7+8MF59fAvtoELLA+C4680yFNsHhrY=";
32 };
33
34 nativeBuildInputs = [
35 pkg-config
36 meson
37 ninja
38 wayland-scanner
39 ];
40
41 buildInputs = [
42 libjxl
43 pixman
44 tllist
45 wayland
46 wayland-protocols
47 ]
48 ++ lib.optional enablePNG libpng
49 ++ lib.optional enableJPEG libjpeg
50 ++ lib.optional enableWebp libwebp;
51
52 mesonBuildType = "release";
53
54 mesonFlags = [
55 (lib.mesonEnable "png" enablePNG)
56 (lib.mesonEnable "jpeg" enableJPEG)
57 (lib.mesonEnable "webp" enableWebp)
58 ];
59
60 env.NIX_CFLAGS_COMPILE = toString [
61 "-Wno-error=maybe-uninitialized"
62 ];
63
64 meta = {
65 description = "Wallpaper application for Wayland compositors";
66 homepage = "https://codeberg.org/dnkl/wbg";
67 changelog = "https://codeberg.org/dnkl/wbg/releases/tag/${finalAttrs.version}";
68 license = lib.licenses.isc;
69 maintainers = [ ];
70 platforms = with lib.platforms; linux;
71 mainProgram = "wbg";
72 };
73})