Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at flake-libs 140 lines 2.6 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 pkg-config, 6 vala, 7 gi-docgen, 8 gobject-introspection, 9 glib, 10 babl, 11 libpng, 12 llvmPackages, 13 cairo, 14 libjpeg, 15 librsvg, 16 lensfun, 17 libspiro, 18 maxflow, 19 netsurf, 20 pango, 21 poly2tri-c, 22 poppler, 23 bzip2, 24 json-glib, 25 gettext, 26 meson, 27 ninja, 28 libraw, 29 gexiv2, 30 libwebp, 31 luajit, 32 openexr, 33 suitesparse, 34 withLuaJIT ? lib.meta.availableOn stdenv.hostPlatform luajit, 35 gimp, 36}: 37 38stdenv.mkDerivation (finalAttrs: { 39 pname = "gegl"; 40 version = "0.4.62"; 41 42 outputs = [ 43 "out" 44 "dev" 45 "devdoc" 46 ]; 47 outputBin = "dev"; 48 49 src = fetchurl { 50 url = "https://download.gimp.org/pub/gegl/${lib.versions.majorMinor finalAttrs.version}/gegl-${finalAttrs.version}.tar.xz"; 51 hash = "sha256-WIdXY3Hr8dnpB5fRDkuafxZYIo1IJ1g+eeHbPZRQXGw="; 52 }; 53 54 nativeBuildInputs = [ 55 pkg-config 56 gettext 57 meson 58 ninja 59 vala 60 gobject-introspection 61 gi-docgen 62 ]; 63 64 buildInputs = 65 [ 66 libpng 67 cairo 68 libjpeg 69 librsvg 70 lensfun 71 libspiro 72 maxflow 73 netsurf.libnsgif 74 pango 75 poly2tri-c 76 poppler 77 bzip2 78 libraw 79 libwebp 80 gexiv2 81 openexr 82 suitesparse 83 ] 84 ++ lib.optionals stdenv.cc.isClang [ 85 llvmPackages.openmp 86 ] 87 ++ lib.optionals withLuaJIT [ 88 luajit 89 ]; 90 91 # for gegl-4.0.pc 92 propagatedBuildInputs = [ 93 glib 94 json-glib 95 babl 96 ]; 97 98 mesonFlags = 99 [ 100 "-Dmrg=disabled" # not sure what that is 101 "-Dsdl2=disabled" 102 "-Dpygobject=disabled" 103 "-Dlibav=disabled" 104 "-Dlibv4l=disabled" 105 "-Dlibv4l2=disabled" 106 # Disabled due to multiple vulnerabilities, see 107 # https://github.com/NixOS/nixpkgs/pull/73586 108 "-Djasper=disabled" 109 ] 110 ++ lib.optionals (!withLuaJIT) [ 111 "-Dlua=disabled" 112 ]; 113 114 postPatch = '' 115 chmod +x tests/opencl/opencl_test.sh 116 patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tools/xml_insert.sh 117 ''; 118 119 postFixup = '' 120 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. 121 moveToOutput "share/doc" "$devdoc" 122 ''; 123 124 # tests fail to connect to the com.apple.fonts daemon in sandboxed mode 125 doCheck = !stdenv.hostPlatform.isDarwin; 126 127 passthru = { 128 tests = { 129 inherit gimp; 130 }; 131 }; 132 133 meta = with lib; { 134 description = "Graph-based image processing framework"; 135 homepage = "https://www.gegl.org"; 136 license = licenses.lgpl3Plus; 137 maintainers = with maintainers; [ jtojnar ]; 138 platforms = platforms.unix; 139 }; 140})