diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/libgdiplus/default.nix | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libgdiplus/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgdiplus/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix new file mode 100644 index 000000000000..70353d68ca77 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libgdiplus/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchFromGitHub, pkgconfig, glib, cairo, Carbon, fontconfig +, libtiff, giflib, libjpeg, libpng +, libXrender, libexif, autoreconfHook, fetchpatch }: + +stdenv.mkDerivation rec { + name = "libgdiplus-5.6"; + + src = fetchFromGitHub { + owner = "mono"; + repo = "libgdiplus"; + rev = "5.6"; + sha256 = "11xr84kng74j3pd8sx74q80a71k6dw0a502qgibcxlyqh666lfb7"; + }; + + NIX_LDFLAGS = "-lgif"; + + patches = [ # Series of patches cherry-picked from master, all fixes various sigsegv (or required by other patch) + (fetchpatch { + url = "https://github.com/mono/libgdiplus/commit/d33a2580a94701ff33abe28c22881d6173be57d0.patch"; + sha256 = "0rr54jylscn4icqjprqhwrncyr92r0d7kmfrrq3myskplpqv1c11"; + }) + (fetchpatch { + url ="https://github.com/mono/libgdiplus/commit/aa6aa53906935572f52f519fe4ab9ebedc051d08.patch"; + sha256 = "1wg0avm8qv5cb4vk80baflfzszm6q7ydhn89c3h6kq68hg6zsf1f"; + }) + (fetchpatch { + url = "https://github.com/mono/libgdiplus/commit/81e45a1d5a3ac3cf035bcc3fabb2859818b6cc04.patch"; + sha256 = "07wmc88cd1lqifs5x6npryni65jyy9gi8lgr2i1lb7v0fhvlyswg"; + }) + ]; + + hardeningDisable = [ "format" ]; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = + [ glib cairo fontconfig libtiff giflib + libjpeg libpng libXrender libexif + ] + ++ stdenv.lib.optional stdenv.isDarwin Carbon; + + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so + ''; + + checkPhase = '' + make check -w + ''; + + meta = with stdenv.lib; { + description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; + homepage = https://www.mono-project.com/docs/gui/libgdiplus/; + platforms = platforms.unix; + license = licenses.mit; + }; +} |