lol
1{ lib, stdenv, fetchFromGitHub, pkg-config, glib, cairo, Carbon, fontconfig
2, libtiff, giflib, libjpeg, libpng
3, libXrender, libexif, autoreconfHook, fetchpatch }:
4
5stdenv.mkDerivation rec {
6 pname = "libgdiplus";
7 version = "6.0.5";
8
9 src = fetchFromGitHub {
10 owner = "mono";
11 repo = "libgdiplus";
12 rev = version;
13 sha256 = "1387lgph5r17viv3rkf5hbksdn435njzmra7s17q0nzk2mkkm68c";
14 };
15
16 NIX_LDFLAGS = "-lgif";
17
18 outputs = [ "out" "dev" ];
19
20 hardeningDisable = [ "format" ];
21
22 nativeBuildInputs = [ autoreconfHook pkg-config ];
23
24 configureFlags = lib.optional stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}";
25
26 enableParallelBuilding = true;
27
28 buildInputs =
29 [ glib cairo fontconfig libtiff giflib
30 libjpeg libpng libXrender libexif
31 ]
32 ++ lib.optional stdenv.isDarwin Carbon;
33
34 postInstall = lib.optionalString stdenv.isDarwin ''
35 ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
36 '';
37
38 checkPhase = ''
39 make check -w
40 '';
41
42 meta = with lib; {
43 description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
44 homepage = "https://www.mono-project.com/docs/gui/libgdiplus/";
45 platforms = platforms.unix;
46 license = licenses.mit;
47 };
48}