diff options
Diffstat (limited to 'hm/soft/czkawka-v11.nix')
| -rw-r--r-- | hm/soft/czkawka-v11.nix | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/hm/soft/czkawka-v11.nix b/hm/soft/czkawka-v11.nix new file mode 100644 index 0000000..781da99 --- /dev/null +++ b/hm/soft/czkawka-v11.nix @@ -0,0 +1,97 @@ +{ + lib, + atk, + cairo, + callPackage, + fetchFromGitHub, + gdk-pixbuf, + glib, + gobject-introspection, + gtk4, + pango, + pkg-config, + rustPlatform, + stdenv, + testers, + wrapGAppsHook4, + xvfb-run, + versionCheckHook, +}: + +let + self = rustPlatform.buildRustPackage { + pname = "czkawka"; + version = "11.0.1"; + + src = fetchFromGitHub { + owner = "qarmin"; + repo = "czkawka"; + tag = self.version; + hash = "sha256-ke6N3vuKPGolfh6XpAg3/9dtwd09eX53fN2klUwwNwQ="; + }; + + cargoHash = "sha256-fx2ZH4I2WYCdMgNoKQuBBEJrPjmgTRPeVM2L+TWYn54="; + + nativeBuildInputs = [ + gobject-introspection + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + atk + cairo + gdk-pixbuf + glib + gtk4 + pango + ]; + + nativeCheckInputs = [ xvfb-run ]; + + strictDeps = true; + + doCheck = stdenv.hostPlatform.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform); + + checkPhase = '' + runHook preCheck + xvfb-run cargo test + runHook postCheck + ''; + + postInstall = '' + install -Dm444 -t $out/share/applications data/com.github.qarmin.czkawka.desktop + install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/com.github.qarmin.czkawka.svg + install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/com.github.qarmin.czkawka-symbolic.svg + install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml + ''; + + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgram = "${placeholder "out"}/bin/czkawka_cli"; + doInstallCheck = true; + + passthru = { + tests.version = testers.testVersion { + package = self; + command = "czkawka_cli --version"; + }; + # Ensure you have a wrapper.nix in the same folder if using this + wrapper = callPackage ./wrapper.nix { + czkawka = self; + }; + }; + + meta = { + homepage = "https://github.com/qarmin/czkawka"; + description = "Simple, fast and easy to use app to remove unnecessary files from your computer"; + changelog = "https://github.com/qarmin/czkawka/raw/${self.version}/Changelog.md"; + license = with lib.licenses; [ mit ]; + mainProgram = "czkawka_gui"; + maintainers = with lib.maintainers; [ + yanganto + _0x4A6F + ]; + }; + }; +in +self |
