From 8343b8e59a402122bb31fc915db21cc6b5b0a507 Mon Sep 17 00:00:00 2001 From: Michael Brunner Date: Wed, 4 Oct 2023 11:39:21 +0200 Subject: [PATCH] oreo-cursors-plus: init at unstable-2023-06-05 oreo-cursors-plus: init at unstable-2023-06-05 oreo-cursors-plus: init at 1.0.20230604 Add the oreo cursor theme. Original project is stale. Souravgoswami's fork adds features, hence "-plus". oreo-cursors-plus: init at unstable-2023-06-05 oreo-cursors-plus: Change license to gpl2Only oreo-cursors-plus: Move definition to by-name oreo-cursors-plus: Applied suggested changes Apply suggestions by h7x4 fix: Import writeText --- pkgs/by-name/or/oreo-cursors-plus/package.nix | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 pkgs/by-name/or/oreo-cursors-plus/package.nix diff --git a/pkgs/by-name/or/oreo-cursors-plus/package.nix b/pkgs/by-name/or/oreo-cursors-plus/package.nix new file mode 100644 index 000000000000..d998718ad085 --- /dev/null +++ b/pkgs/by-name/or/oreo-cursors-plus/package.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + ruby, + inkscape, + xorg, + writeText, + cursorsConf ? null, # If set to a string, overwrites contents of './cursors.conf' +}: +let + newCursorsConf = writeText "oreo-cursors-plus.conf" cursorsConf; +in +stdenvNoCC.mkDerivation { + pname = "oreo-cursors-plus"; + version = "unstable-2023-06-05"; + src = fetchFromGitHub { + owner = "Souravgoswami"; + repo = "oreo-cursors"; + # At the time of writing, there are no version tags. The author will add them starting with the next version release. + # Using the latest commit instead. + rev = "9133204d60ca2c54be0df03b836968a1deac6b20"; + hash = "sha256-6oTyOQK7mkr+jWYbPNBlJ4BpT815lNJvsJjzdTmj+68="; + }; + + nativeBuildInputs = lib.optionals (cursorsConf != null) [ ruby inkscape xorg.xcursorgen ]; + + # './cursors.conf' contains definitions of cursor variations to generate. + configurePhase = '' + runHook preConfigure + + ${lib.optionalString (cursorsConf != null) '' + cp ${newCursorsConf} cursors.conf + ''} + + runHook postConfigure + ''; + + # The repo already contains the default cursors pre-generated in './dist'. Just copy these if './cursors.conf' is not overwritten. + # Otherwise firs remove all default variations and build. + buildPhase ='' + runHook preBuild + + ${lib.optionalString (cursorsConf != null) '' + rm -r {dist,src/oreo_*} + export HOME=$TMP + ruby generator/convert.rb + make build + ''} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share + mv ./dist $out/share/icons + + runHook postInstall + ''; + + meta = { + description = "Colored Material cursors with cute animations"; + homepage = "https://github.com/Souravgoswami/oreo-cursors"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [michaelBrunner]; + }; +}