From ac726eb2dd8f9f5fabdd9802fee040f116be0fc8 Mon Sep 17 00:00:00 2001 From: codyopel Date: Mon, 9 Feb 2015 10:27:10 -0500 Subject: [PATCH] libass: refactor & 0.11.1 -> 0.12.1 --- pkgs/development/libraries/libass/default.nix | 53 +++++++++++++------ 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix index 15b80053218d..7dda6912a986 100644 --- a/pkgs/development/libraries/libass/default.nix +++ b/pkgs/development/libraries/libass/default.nix @@ -1,34 +1,53 @@ { stdenv, fetchurl, pkgconfig, yasm -, freetype, fribidi, fontconfig -, enca ? null -, harfbuzz ? null +, freetype ? null +, fribidi ? null +, encaSupport ? true, enca ? null # enca support +, fontconfigSupport ? true, fontconfig ? null # fontconfig support +, harfbuzzSupport ? true, harfbuzz ? null # harfbuzz support +, rasterizerSupport ? false # Internal rasterizer +, largeTilesSupport ? false # Use larger tiles in the rasterizer }: +assert ((freetype != null) && (fribidi != null)); +assert encaSupport -> (enca != null); +assert fontconfigSupport -> (fontconfig != null); +assert harfbuzzSupport -> (harfbuzz != null); + let - version = "0.11.1"; - sha256 = "1b0ki1zdkhflszzj5qr45j9qsd0rfbb6ws5pqkny8jhih0l3lxwx"; - baseurl = "https://github.com/libass/libass/releases/download"; -in stdenv.mkDerivation rec { + mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; +in + +with stdenv.lib; +stdenv.mkDerivation rec { name = "libass-${version}"; + version = "0.12.1"; src = fetchurl { - url = "${baseurl}/${version}/${name}.tar.xz"; - inherit sha256; + url = "https://github.com/libass/libass/releases/download/${version}/${name}.tar.xz"; + sha256 = "1mwj2nk9g6cq6f8m1hf0ijg1299rghhy9naahqq43sc2whblb1l7"; }; + configureFlags = [ + (mkFlag encaSupport "enca") + (mkFlag fontconfigSupport "fontconfig") + (mkFlag harfbuzzSupport "harfbuzz") + (mkFlag rasterizerSupport "rasterizer") + (mkFlag largeTilesSupport "large-tiles") + ]; + nativeBuildInputs = [ pkgconfig yasm ]; - buildInputs = [ - freetype fribidi fontconfig - enca harfbuzz - ]; + buildInputs = [ freetype fribidi ] + ++ optional encaSupport enca + ++ optional fontconfigSupport fontconfig + ++ optional harfbuzzSupport harfbuzz; meta = { description = "Portable ASS/SSA subtitle renderer"; - homepage = http://code.google.com/p/libass/; - license = stdenv.lib.licenses.isc; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.urkud ]; + homepage = https://github.com/libass/libass; + license = licenses.isc; + platforms = platforms.linux; + maintainers = with maintainers; [ codyopel urkud ]; repositories.git = git://github.com/libass/libass.git; }; }