at v192 51 lines 1.6 kB view raw
1{ stdenv, fetchurl, pkgconfig, yasm 2, freetype, fribidi 3, encaSupport ? true, enca ? null # enca support 4, fontconfigSupport ? true, fontconfig ? null # fontconfig support 5, harfbuzzSupport ? true, harfbuzz ? null # harfbuzz support 6, rasterizerSupport ? false # Internal rasterizer 7, largeTilesSupport ? false # Use larger tiles in the rasterizer 8}: 9 10assert encaSupport -> enca != null; 11assert fontconfigSupport -> fontconfig != null; 12assert harfbuzzSupport -> harfbuzz != null; 13 14let 15 mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; 16in 17 18with stdenv.lib; 19stdenv.mkDerivation rec { 20 name = "libass-${version}"; 21 version = "0.12.2"; 22 23 src = fetchurl { 24 url = "https://github.com/libass/libass/releases/download/${version}/${name}.tar.xz"; 25 sha256 = "1qzibgqmnnqk2r116lpk1br764g0v74f2zp12y5id0p1plaing37"; 26 }; 27 28 configureFlags = [ 29 (mkFlag encaSupport "enca") 30 (mkFlag fontconfigSupport "fontconfig") 31 (mkFlag harfbuzzSupport "harfbuzz") 32 (mkFlag rasterizerSupport "rasterizer") 33 (mkFlag largeTilesSupport "large-tiles") 34 ]; 35 36 nativeBuildInputs = [ pkgconfig yasm ]; 37 38 buildInputs = [ freetype fribidi ] 39 ++ optional encaSupport enca 40 ++ optional fontconfigSupport fontconfig 41 ++ optional harfbuzzSupport harfbuzz; 42 43 meta = { 44 description = "Portable ASS/SSA subtitle renderer"; 45 homepage = https://github.com/libass/libass; 46 license = licenses.isc; 47 platforms = platforms.unix; 48 maintainers = with maintainers; [ codyopel urkud ]; 49 repositories.git = git://github.com/libass/libass.git; 50 }; 51}