biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / compression / imagelol / default.nix
blob9d5cc34b38275c0dad9efff823ec08f44dda5e77
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
5 , cmake
6 }:
8 stdenv.mkDerivation rec {
9   pname = "imagelol";
10   version = "0.2";
12   src = fetchFromGitHub {
13     owner = "MCRedstoner2004";
14     repo = pname;
15     rev = "v${version}";
16     sha256 = "0978zdrfj41jsqm78afyyd1l64iki9nwjvhd8ynii1b553nn4dmd";
17     fetchSubmodules = true;
18   };
20   patches = [
21     # upstream gcc-12 compatibility fix
22     (fetchpatch {
23       name = "gcc-12.patch";
24       url = "https://github.com/MCredstoner2004/ImageLOL/commit/013fb1f901d88f5fd21a896bfab47c7fff0737d7.patch";
25       hash = "sha256-RVaG2xbUqE4CxqI2lhvug2qihT6A8vN+pIfK58CXLDw=";
26       includes = [ "imagelol/ImageLOL.inl" ];
27       # change lib/ for imagelol
28       stripLen = 2;
29       extraPrefix = "imagelol/";
30     })
31   ];
33   # fix for case-sensitive filesystems
34   # https://github.com/MCredstoner2004/ImageLOL/issues/1
35   postPatch = ''
36     mv imagelol src
37     substituteInPlace CMakeLists.txt \
38       --replace 'add_subdirectory("imagelol")' 'add_subdirectory("src")'
39   '';
41   nativeBuildInputs = [ cmake ];
43   installPhase = ''
44     mkdir -p $out/bin
45     cp ./ImageLOL $out/bin
46   '';
48   cmakeFlags = [ (lib.cmakeFeature "CMAKE_C_FLAGS" "-std=gnu90") ] ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-DPNG_ARM_NEON=off";
50   meta = with lib; {
51     homepage = "https://github.com/MCredstoner2004/ImageLOL";
52     description = "Simple program to store a file into a PNG image";
53     license = licenses.mit;
54     maintainers = [ ];
55     platforms = platforms.unix;
56     mainProgram = "ImageLOL";
57   };