at v192 2.3 kB view raw
1{ stdenv, fetchurl 2, threadingSupport ? true # multi-threading 3, openglSupport ? false, freeglut ? null, mesa ? 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) && (mesa != 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 = "0.4.3"; 31 32 src = fetchurl { 33 url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz"; 34 sha256 = "1i4hfczjm3b1qj1g4cc9hgb69l47f3nkgf6hk7nz4dm9zmc0vgpg"; 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 mesa ] 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}