Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at release-19.03 67 lines 2.4 kB view raw
1{ stdenv, fetchurl 2, threadingSupport ? true # multi-threading 3, openglSupport ? false, freeglut ? null, libGLU_combined ? null # OpenGL (required for vwebp) 4, pngSupport ? true, libpng ? null # PNG image format 5, jpegSupport ? true, libjpeg ? null # JPEG image format 6, tiffSupport ? true, libtiff ? null # TIFF image format 7, gifSupport ? true, giflib ? null # GIF image format 8#, wicSupport ? true # Windows Imaging Component 9, alignedSupport ? false # Force aligned memory operations 10, swap16bitcspSupport ? false # Byte swap for 16bit color spaces 11, experimentalSupport ? false # Experimental code 12, libwebpmuxSupport ? true # Build libwebpmux 13, libwebpdemuxSupport ? true # Build libwebpdemux 14, libwebpdecoderSupport ? true # Build libwebpdecoder 15}: 16 17assert openglSupport -> ((freeglut != null) && (libGLU_combined != null)); 18assert pngSupport -> (libpng != null); 19assert jpegSupport -> (libjpeg != null); 20assert tiffSupport -> (libtiff != null); 21assert gifSupport -> (giflib != null); 22 23let 24 mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; 25in 26 27with stdenv.lib; 28stdenv.mkDerivation rec { 29 name = "libwebp-${version}"; 30 version = "1.0.2"; 31 32 src = fetchurl { 33 url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz"; 34 sha256 = "1cb4sm6h1czvk9kqqgld3g5f0d9qv60xnbbv0kl7cr7d826b8irx"; 35 }; 36 37 configureFlags = [ 38 (mkFlag threadingSupport "threading") 39 (mkFlag openglSupport "gl") 40 (mkFlag pngSupport "png") 41 (mkFlag jpegSupport "jpeg") 42 (mkFlag tiffSupport "tiff") 43 (mkFlag gifSupport "gif") 44 #(mkFlag (wicSupport && stdenv.isCygwin) "wic") 45 (mkFlag alignedSupport "aligned") 46 (mkFlag swap16bitcspSupport "swap-16bit-csp") 47 (mkFlag experimentalSupport "experimental") 48 (mkFlag libwebpmuxSupport "libwebpmux") 49 (mkFlag libwebpdemuxSupport "libwebpdemux") 50 (mkFlag libwebpdecoderSupport "libwebpdecoder") 51 ]; 52 53 buildInputs = [ ] 54 ++ optionals openglSupport [ freeglut libGLU_combined ] 55 ++ optional pngSupport libpng 56 ++ optional jpegSupport libjpeg 57 ++ optional tiffSupport libtiff 58 ++ optional gifSupport giflib; 59 60 meta = { 61 description = "Tools and library for the WebP image format"; 62 homepage = https://developers.google.com/speed/webp/; 63 license = licenses.bsd3; 64 platforms = platforms.all; 65 maintainers = with maintainers; [ codyopel ]; 66 }; 67}