nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib, stdenv, fetchurl, pkg-config, yasm
2, freetype, fribidi, harfbuzz
3, fontconfigSupport ? true, fontconfig ? null # fontconfig support
4, rasterizerSupport ? false # Internal rasterizer
5, largeTilesSupport ? false # Use larger tiles in the rasterizer
6, libiconv
7}:
8
9assert fontconfigSupport -> fontconfig != null;
10
11let
12 mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
13in
14
15with lib;
16stdenv.mkDerivation rec {
17 pname = "libass";
18 version = "0.15.2";
19
20 src = fetchurl {
21 url = "https://github.com/libass/libass/releases/download/${version}/${pname}-${version}.tar.xz";
22 sha256 = "sha256-G+LfnESFpX14uxjAqO0Ve8h6Wo3UjGYZYcYlyxEoMv0=";
23 };
24
25 configureFlags = [
26 (mkFlag fontconfigSupport "fontconfig")
27 (mkFlag rasterizerSupport "rasterizer")
28 (mkFlag largeTilesSupport "large-tiles")
29 ];
30
31 nativeBuildInputs = [ pkg-config yasm ];
32
33 buildInputs = [ freetype fribidi harfbuzz ]
34 ++ optional fontconfigSupport fontconfig
35 ++ optional stdenv.isDarwin libiconv;
36
37 meta = {
38 description = "Portable ASS/SSA subtitle renderer";
39 homepage = "https://github.com/libass/libass";
40 license = licenses.isc;
41 platforms = platforms.unix;
42 maintainers = with maintainers; [ codyopel ];
43 };
44}