diff --git a/pkgs/by-name/li/libbluray-full/package.nix b/pkgs/by-name/li/libbluray-full/package.nix new file mode 100644 index 000000000000..5a09f78f35d0 --- /dev/null +++ b/pkgs/by-name/li/libbluray-full/package.nix @@ -0,0 +1,6 @@ +{ libbluray }: +libbluray.override { + withAACS = true; + withBDplus = true; + withJava = true; +} diff --git a/pkgs/by-name/li/libbluray/package.nix b/pkgs/by-name/li/libbluray/package.nix index b65ebdf349e3..de3bae4c7cd6 100644 --- a/pkgs/by-name/li/libbluray/package.nix +++ b/pkgs/by-name/li/libbluray/package.nix @@ -1,12 +1,14 @@ { lib, + callPackage, stdenv, fetchurl, pkg-config, fontconfig, - autoreconfHook, + meson, + ninja, withJava ? false, - jdk17, + jdk21_headless, # Newer JDK's depend on a release with a fix for https://code.videolan.org/videolan/libbluray/-/issues/46 ant, stripJavaArchivesHook, withAACS ? false, @@ -17,6 +19,7 @@ libxml2, withFonts ? true, freetype, + libbluray-full, # Used for tests }: # Info on how to use: @@ -24,19 +27,20 @@ stdenv.mkDerivation rec { pname = "libbluray"; - version = "1.3.4"; + version = "1.4.0"; src = fetchurl { - url = "https://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2"; - hash = "sha256-R4/9aKD13ejvbKmJt/A1taCiLFmRQuXNP/ewO76+Xys="; + url = "https://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.xz"; + hash = "sha256-d5N7rwfq3aSysxHPOvTFAmnS6jFlBB9YQ9lkdsTJJ3c="; }; nativeBuildInputs = [ + meson + ninja pkg-config - autoreconfHook ] ++ lib.optionals withJava [ - jdk17 + jdk21_headless ant stripJavaArchivesHook ]; @@ -49,15 +53,15 @@ stdenv.mkDerivation rec { propagatedBuildInputs = lib.optional withAACS libaacs; - env.JAVA_HOME = lib.optionalString withJava jdk17.home; # Fails at runtime without this + env.JAVA_HOME = lib.optionalString withJava jdk21_headless.home; # Fails at runtime without this env.NIX_LDFLAGS = lib.optionalString withAACS "-L${libaacs}/lib -laacs" + lib.optionalString withBDplus " -L${libbdplus}/lib -lbdplus"; - configureFlags = - lib.optional (!withJava) "--disable-bdjava-jar" - ++ lib.optional (!withMetadata) "--without-libxml2" - ++ lib.optional (!withFonts) "--without-freetype"; + mesonFlags = + lib.optional (!withJava) "-Dbdj_jar=disabled" + ++ lib.optional (!withMetadata) "-dlibxml2=disabled" + ++ lib.optional (!withFonts) "-Dfreetype=disabled"; meta = with lib; { homepage = "http://www.videolan.org/developers/libbluray.html"; @@ -66,4 +70,11 @@ stdenv.mkDerivation rec { maintainers = [ ]; platforms = platforms.unix; }; + + passthru = { + tests = { + # Verify the "full" package when verifying changes to this package + inherit libbluray-full; + }; + }; }