evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / le / leanify / package.nix
blob81f6205986df279a58dc44e5ad91f7cb9c53c2f4
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , libiconv
5 }:
7 stdenv.mkDerivation rec {
8   pname = "leanify";
9   version = "unstable-2023-12-17";
11   src = fetchFromGitHub {
12     owner = "JayXon";
13     repo = "Leanify";
14     rev = "9daa4303cdc03f6b90b72c369e6377c6beb75c39";
15     hash = "sha256-fLazKCQnOT3bN3Kz25Q80RLk54EU5U6HCf6kPLcXn9c=";
16   };
18   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
19     substituteInPlace Makefile \
20       --replace-fail "-flto" "" \
21       --replace-fail "lib/LZMA/Alloc.o" "lib/LZMA/CpuArch.o lib/LZMA/Alloc.o" \
22       --replace-quiet "-Werror" ""
23   '';
25   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
27   doCheck = true;
29   checkPhase = ''
30     runHook preCheck
31     ./leanify /dev/null
32     runHook postCheck
33   '';
35   installPhase = ''
36     runHook preInstall
38     mkdir -p $out/bin
39     cp leanify $out/bin/
41     runHook postInstall
42   '';
44   meta = with lib; {
45     description = "Lightweight lossless file minifier/optimizer";
46     longDescription = ''
47       Leanify is a lightweight lossless file minifier/optimizer.
48       It removes unnecessary data (debug information, comments, metadata, etc.) and recompress the file to reduce file size.
49       It will not reduce image quality at all.
50     '';
51     homepage = "https://github.com/JayXon/Leanify";
52     changelog = "https://github.com/JayXon/Leanify/blob/master/CHANGELOG.md";
53     license = licenses.mit;
54     maintainers = [ maintainers.mynacol ];
55     platforms = platforms.all;
56     mainProgram = "leanify";
57   };