diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch deleted file mode 100644 index 608f8dd1b49..00000000000 --- a/pkgs/development/libraries/libbluray/A01-filter-dup.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c -index c8dc307..26d0000 100644 ---- a/src/libbluray/bdnav/navigation.c -+++ b/src/libbluray/bdnav/navigation.c -@@ -32,9 +32,25 @@ - #include - #include - -+static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b) -+{ -+ if (a->stream_type == b->stream_type && -+ a->coding_type == b->coding_type && -+ a->pid == b->pid && -+ a->subpath_id == b->subpath_id && -+ a->subclip_id == b->subclip_id && -+ a->format == b->format && -+ a->rate == b->rate && -+ a->char_code == b->char_code && -+ memcmp(a->lang, b->lang, 4) == 0) { -+ return 1; -+ } -+ return 0; -+} -+ - static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl) - { -- unsigned ii, jj; -+ unsigned ii, jj, kk; - - for (ii = 0; ii < count; ii++) { - if (pl->list_count != pl_list[ii]->list_count) { -@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl) - pi1->out_time != pi2->out_time) { - break; - } -+ if (pi1->stn.num_video != pi2->stn.num_video || -+ pi1->stn.num_audio != pi2->stn.num_audio || -+ pi1->stn.num_pg != pi2->stn.num_pg || -+ pi1->stn.num_ig != pi2->stn.num_ig || -+ pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio || -+ pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) { -+ break; -+ } -+ for (kk = 0; kk < pi1->stn.num_video; kk++) { -+ if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) { -+ goto next; -+ } -+ } -+ for (kk = 0; kk < pi1->stn.num_audio; kk++) { -+ if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) { -+ goto next; -+ } -+ } -+ for (kk = 0; kk < pi1->stn.num_pg; kk++) { -+ if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) { -+ goto next; -+ } -+ } -+ for (kk = 0; kk < pi1->stn.num_ig; kk++) { -+ if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) { -+ goto next; -+ } -+ } -+ for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) { -+ if (!_stream_cmp(&pi1->stn.secondary_audio[kk], -+ &pi2->stn.secondary_audio[kk])) { -+ goto next; -+ } -+ } -+ for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) { -+ if (!_stream_cmp(&pi1->stn.secondary_video[kk], -+ &pi2->stn.secondary_video[kk])) { -+ goto next; -+ } -+ } - } -+next: - if (jj != pl->list_count) { - continue; - } diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix index b1a937c1a01..3bcf62036ab 100644 --- a/pkgs/development/libraries/libbluray/default.nix +++ b/pkgs/development/libraries/libbluray/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig +{ stdenv, fetchurl, pkgconfig, fontconfig , withAACS ? false, libaacs ? null, jdk ? null, ant ? null , withMetadata ? true, libxml2 ? null , withFonts ? true, freetype ? null @@ -13,12 +13,12 @@ assert withFonts -> freetype != null; stdenv.mkDerivation rec { baseName = "libbluray"; - version = "0.6.2"; + version = "0.7.0"; name = "${baseName}-${version}"; src = fetchurl { url = "ftp://ftp.videolan.org/pub/videolan/${baseName}/${version}/${name}.tar.bz2"; - sha256 = "1l2wr9mwz5pikqxlxkjfw3rwz0l1j0n7x9hl80sfiqm1lk41194c"; + sha256 = "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp"; }; nativeBuildInputs = with stdenv.lib; @@ -27,7 +27,8 @@ stdenv.mkDerivation rec { ; buildInputs = with stdenv.lib; - optionals withAACS [jdk libaacs] + [fontconfig] + ++ optionals withAACS [jdk libaacs] ++ optional withMetadata libxml2 ++ optional withFonts freetype ;