1{ lib, stdenv, fetchurl, fetchpatch, pkg-config, fontconfig, autoreconfHook, DiskArbitration
2, withJava ? false, jdk, ant
3, withAACS ? false, libaacs
4, withBDplus ? false, libbdplus
5, withMetadata ? true, libxml2
6, withFonts ? true, freetype
7}:
8
9# Info on how to use:
10# https://wiki.archlinux.org/index.php/BluRay
11
12stdenv.mkDerivation rec {
13 pname = "libbluray";
14 version = "1.3.4";
15
16 src = fetchurl {
17 url = "https://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2";
18 hash = "sha256-R4/9aKD13ejvbKmJt/A1taCiLFmRQuXNP/ewO76+Xys=";
19 };
20
21 nativeBuildInputs = [ pkg-config autoreconfHook ]
22 ++ lib.optionals withJava [ ant ];
23
24 buildInputs = [ fontconfig ]
25 ++ lib.optional withJava jdk
26 ++ lib.optional withMetadata libxml2
27 ++ lib.optional withFonts freetype
28 ++ lib.optional stdenv.isDarwin DiskArbitration;
29
30 propagatedBuildInputs = lib.optional withAACS libaacs;
31
32 NIX_LDFLAGS = lib.optionalString withAACS "-L${libaacs}/lib -laacs"
33 + lib.optionalString withBDplus " -L${libbdplus}/lib -lbdplus";
34
35 preConfigure = lib.optionalString withJava ''
36 export JDK_HOME="${jdk.home}"
37 '';
38
39 configureFlags = lib.optional (!withJava) "--disable-bdjava-jar"
40 ++ lib.optional (!withMetadata) "--without-libxml2"
41 ++ lib.optional (!withFonts) "--without-freetype";
42
43 meta = with lib; {
44 homepage = "http://www.videolan.org/developers/libbluray.html";
45 description = "Library to access Blu-Ray disks for video playback";
46 license = licenses.lgpl21;
47 maintainers = with maintainers; [ abbradar ];
48 platforms = platforms.unix;
49 };
50}