diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libass/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libass/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libass/default.nix b/nixpkgs/pkgs/development/libraries/libass/default.nix new file mode 100644 index 000000000000..6a180cb62c19 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libass/default.nix @@ -0,0 +1,49 @@ +{ lib, stdenv, fetchurl, pkg-config, yasm +, freetype, fribidi, harfbuzz +, encaSupport ? true, enca ? null # enca support +, fontconfigSupport ? true, fontconfig ? null # fontconfig support +, rasterizerSupport ? false # Internal rasterizer +, largeTilesSupport ? false # Use larger tiles in the rasterizer +, libiconv +}: + +assert encaSupport -> enca != null; +assert fontconfigSupport -> fontconfig != null; + +let + mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; +in + +with lib; +stdenv.mkDerivation rec { + pname = "libass"; + version = "0.15.0"; + + src = fetchurl { + url = "https://github.com/libass/libass/releases/download/${version}/${pname}-${version}.tar.xz"; + sha256 = "0cz8v6kh3f2j5rdjrra2z0h715fa16vjm7kambvqx9hak86262cz"; + }; + + configureFlags = [ + (mkFlag encaSupport "enca") + (mkFlag fontconfigSupport "fontconfig") + (mkFlag rasterizerSupport "rasterizer") + (mkFlag largeTilesSupport "large-tiles") + ]; + + nativeBuildInputs = [ pkg-config yasm ]; + + buildInputs = [ freetype fribidi harfbuzz ] + ++ optional encaSupport enca + ++ optional fontconfigSupport fontconfig + ++ optional stdenv.isDarwin libiconv; + + meta = { + description = "Portable ASS/SSA subtitle renderer"; + homepage = "https://github.com/libass/libass"; + license = licenses.isc; + platforms = platforms.unix; + maintainers = with maintainers; [ codyopel ]; + repositories.git = "git://github.com/libass/libass.git"; + }; +} |