python313Packages.kasa-crypt: 0.4.4 -> 0.5.0 (#375396)
[NixPkgs.git] / pkgs / development / libraries / libgdiplus / default.nix
blob58afe09e7cd4be8eb8293fcbea5281228a2387a6
2   lib,
3   stdenv,
4   fetchzip,
5   pkg-config,
6   glib,
7   cairo,
8   Carbon,
9   fontconfig,
10   libtiff,
11   giflib,
12   libjpeg,
13   libpng,
14   libXrender,
15   libexif,
16   autoreconfHook,
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "libgdiplus";
21   version = "6.1";
23   # Using source archive to avoid fetching Git submodules.
24   # Git repo: https://github.com/mono/libgdiplus
25   src = fetchzip {
26     url = "https://download.mono-project.com/sources/libgdiplus/libgdiplus-${finalAttrs.version}.tar.gz";
27     hash = "sha256-+lP9ETlw3s0RUliQT1uBWZ2j6o3V9EECBQSppOYFq4Q=";
28   };
30   patches = [
31     # Fix pkg-config lookup when cross-compiling.
32     ./configure-pkg-config.patch
33   ];
35   NIX_LDFLAGS = "-lgif";
37   outputs = [
38     "out"
39     "dev"
40   ];
42   hardeningDisable = [ "format" ];
44   nativeBuildInputs = [
45     autoreconfHook
46     pkg-config
47   ];
49   configureFlags = lib.optional stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}";
51   enableParallelBuilding = true;
53   buildInputs = [
54     glib
55     cairo
56     fontconfig
57     libtiff
58     giflib
59     libjpeg
60     libpng
61     libXrender
62     libexif
63   ] ++ lib.optional stdenv.hostPlatform.isDarwin Carbon;
65   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
66     ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
67   '';
69   checkPhase = ''
70     make check -w
71   '';
73   meta = with lib; {
74     description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
75     homepage = "https://www.mono-project.com/docs/gui/libgdiplus/";
76     platforms = platforms.unix;
77     license = licenses.mit;
78   };