diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libbluray')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch | 27 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libbluray/default.nix | 65 |
2 files changed, 92 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/nixpkgs/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch new file mode 100644 index 000000000000..8d9c5d0fbba7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch @@ -0,0 +1,27 @@ +diff --git a/configure.ac b/configure.ac +index 5fd3c8de..7ae343e0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -228,6 +228,10 @@ if test "x$use_bdjava_jar" = "xyes" && test "x$HAVE_ANT" = "xno"; then + AC_MSG_ERROR([BD-J requires ANT, but ant was not found. Please install it.]) + fi + ++if test "x$use_bdjava_jar" = "xyes"; then ++ CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'" ++fi ++ + AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."]) + AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""]) + AM_CONDITIONAL([USING_BDJAVA_BUILD_JAR], [ test $use_bdjava_jar = "yes" ]) +diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c +index 511ad533..e273b9e0 100644 +--- a/src/libbluray/bdj/bdj.c ++++ b/src/libbluray/bdj/bdj.c +@@ -478,6 +478,7 @@ static const char *_find_libbluray_jar(BDJ_STORAGE *storage) + // pre-defined search paths for libbluray.jar + static const char * const jar_paths[] = { + #ifndef _WIN32 ++ JARDIR "/" BDJ_JARFILE, + "/usr/share/java/" BDJ_JARFILE, + "/usr/share/libbluray/lib/" BDJ_JARFILE, + #endif diff --git a/nixpkgs/pkgs/development/libraries/libbluray/default.nix b/nixpkgs/pkgs/development/libraries/libbluray/default.nix new file mode 100644 index 000000000000..daa349ca6309 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libbluray/default.nix @@ -0,0 +1,65 @@ +{ stdenv, fetchurl, pkgconfig, fontconfig, autoreconfHook +, withJava ? false, jdk ? null, ant ? null +, withAACS ? false, libaacs ? null +, withBDplus ? false, libbdplus ? null +, withMetadata ? true, libxml2 ? null +, withFonts ? true, freetype ? null +}: + +with stdenv.lib; + +assert withJava -> jdk != null && ant != null; +assert withAACS -> libaacs != null; +assert withBDplus -> libbdplus != null; +assert withMetadata -> libxml2 != null; +assert withFonts -> freetype != null; + +# Info on how to use: +# https://wiki.archlinux.org/index.php/BluRay + +stdenv.mkDerivation rec { + pname = "libbluray"; + version = "1.1.2"; + + src = fetchurl { + url = "http://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2"; + sha256 = "0hhbgkm11fw4pwbrklm76aiy54r6d7hk06yhl2fxq05i74i4bpd3"; + }; + + patches = optional withJava ./BDJ-JARFILE-path.patch; + + nativeBuildInputs = [ pkgconfig autoreconfHook ] + ++ optionals withJava [ ant ] + ; + + buildInputs = [ fontconfig ] + ++ optional withJava jdk + ++ optional withMetadata libxml2 + ++ optional withFonts freetype + ; + + propagatedBuildInputs = optional withAACS libaacs; + + NIX_LDFLAGS = toString [ + (optionalString withAACS "-L${libaacs}/lib -laacs") + (optionalString withBDplus "-L${libbdplus}/lib -lbdplus") + ]; + + preConfigure = '' + ${optionalString withJava ''export JDK_HOME="${jdk.home}"''} + ''; + + configureFlags = with stdenv.lib; + optional (! withJava) "--disable-bdjava-jar" + ++ optional (! withMetadata) "--without-libxml2" + ++ optional (! withFonts) "--without-freetype" + ; + + meta = with stdenv.lib; { + homepage = http://www.videolan.org/developers/libbluray.html; + description = "Library to access Blu-Ray disks for video playback"; + license = licenses.lgpl21; + maintainers = with maintainers; [ abbradar ]; + platforms = platforms.unix; + }; +} |