linuxPackages_latest.broadcom_sta: add patch to compile on Kernel 6.12 (#359484)
[NixPkgs.git] / pkgs / by-name / fu / fuchsia-cursor / package.nix
blob990414e219c9e41b0562173163b161c843bfd2c9
1 { lib
2 , stdenvNoCC
3 , fetchFromGitHub
4 , clickgen
5 , python3
6 , themeVariants ? []
7 , sizeVariants ? []
8 , platformVariants ? []
9 }:
11 let
12   pname = "fuchsia-cursor";
14 lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsia-Red" ] themeVariants
15 lib.checkListOfEnum "${pname}: size variants" [ "16" "24" "32" "48" ] sizeVariants
16 lib.checkListOfEnum "${pname}: platform variants" [ "x11" "windows" ] platformVariants
18 stdenvNoCC.mkDerivation rec {
19   inherit pname;
20   version = "2.0.0";
22   src = fetchFromGitHub {
23     owner = "ful1e5";
24     repo = "fuchsia-cursor";
25     rev = "v${version}";
26     hash = "sha256-WnDtUsjRXT7bMppgwU5BIDqphP69DmPzQM/0qXES5tM=";
27   };
29   nativeBuildInputs = [
30     clickgen
31     python3.pkgs.attrs
32   ];
34   installPhase = ''
35     runHook preInstall
37     ${if themeVariants != [] then ''
38     name= ctgen build.toml \
39       ${lib.optionalString (themeVariants != []) "-d bitmaps/" + toString themeVariants + " -n " + toString themeVariants} \
40       ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \
41       ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \
42       -o $out/share/icons
43     '' else ''
44     name= ctgen build.toml -d bitmaps/Fuchsia -n Fuchsia \
45       ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \
46       ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \
47       -o $out/share/icons
48     ''}
50     runHook postInstall
51   '';
53   meta = with lib; {
54     description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows";
55     homepage = "https://github.com/ful1e5/fuchsia-cursor";
56     maintainers = with maintainers; [ d3vil0p3r ];
57     platforms = platforms.all;
58     license = licenses.gpl3Plus;
59   };