Here is an update of libdvdread / libdvdnav and libdvdcss.

Note the only port in the tree that does not build at the moment
is MPlayer due to them being the odd man out in how their build
infrastructure handles dvdread / dvdnav which I still need to
look into fixing.

Lightly tested with VLC and Xine.

Looking for any additional testing.


Index: devel/libdvdread/Makefile
===================================================================
RCS file: /home/cvs/ports/devel/libdvdread/Makefile,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 Makefile
--- devel/libdvdread/Makefile   13 Mar 2013 00:28:05 -0000      1.25
+++ devel/libdvdread/Makefile   31 Oct 2014 03:49:42 -0000
@@ -2,36 +2,27 @@
 
 COMMENT =      accessing DVD files
 
-DISTNAME =     libdvdread-4.2.0
-REVISION =     2
+VER =          5.0.0
+DISTNAME =     libdvdread-${VER}
 CATEGORIES =   devel
-MASTER_SITES = ${HOMEPAGE}releases/
+MASTER_SITES = http://download.videolan.org/pub/videolan/libdvdread/${VER}/
 EXTRACT_SUFX = .tar.bz2
 
-SHARED_LIBS += dvdread         5.1
+SHARED_LIBS =  dvdread         6.0
 
-HOMEPAGE =     http://dvdnav.mplayerhq.hu/
+HOMEPAGE =     http://www.videolan.org/
 
 MAINTAINER =   Marc Espie <[email protected]>
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM = Yes
 
-WANTLIB += dvdcss
+WANTLIB =      dvdcss
 
-LIB_DEPENDS =  converters/libdvdcss>=1.2.12p0
+# dlopen'd
+LIB_DEPENDS =  converters/libdvdcss>=1.3.0
 
-MAKE_ENV =     LIBDVDREAD_VERSION=${LIBdvdread_VERSION}
-
-USE_GMAKE =    Yes
-CONFIGURE_STYLE = simple
-CONFIGURE_SCRIPT = configure2
-CONFIGURE_ARGS =--prefix="${PREFIX}" \
-               --cc="${CC}" \
-               --extra-cflags="${CFLAGS}" \
-               --extra-cflags="-I${LOCALBASE}/include -DHAVE_DVDCSS_DVDCSS_H" \
-               --extra-ldflags="-L${LOCALBASE}/lib" \
-               --disable-debug \
-               --disable-opts
+CONFIGURE_STYLE = gnu
+CONFIGURE_ARGS =--disable-apidoc
 
 .include <bsd.port.mk>
Index: devel/libdvdread/distinfo
===================================================================
RCS file: /home/cvs/ports/devel/libdvdread/distinfo,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 distinfo
--- devel/libdvdread/distinfo   3 May 2012 06:51:07 -0000       1.9
+++ devel/libdvdread/distinfo   23 Oct 2014 00:24:59 -0000
@@ -1,5 +1,2 @@
-MD5 (libdvdread-4.2.0.tar.bz2) = q3oZ06saQ3rnVO9HfWIxpA==
-RMD160 (libdvdread-4.2.0.tar.bz2) = cZU/Eug0qdIv9M+eJaOUnEMRdMA=
-SHA1 (libdvdread-4.2.0.tar.bz2) = QxvJIZXydnO/3SvmfOD1gzjajTs=
-SHA256 (libdvdread-4.2.0.tar.bz2) = 
C+oV2oQqSwSkgrAJ1y3MbZyVJMzBv2fldIMZ7FragJc=
-SIZE (libdvdread-4.2.0.tar.bz2) = 97469
+SHA256 (libdvdread-5.0.0.tar.bz2) = 
ZvsaOkKqDFawJUf2nH6wQ4xb7q8hruKuLGqiPqgwXxQ=
+SIZE (libdvdread-5.0.0.tar.bz2) = 378196
Index: devel/libdvdread/patches/patch-Makefile
===================================================================
RCS file: devel/libdvdread/patches/patch-Makefile
diff -N devel/libdvdread/patches/patch-Makefile
--- devel/libdvdread/patches/patch-Makefile     2 Feb 2013 11:47:47 -0000       
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.2 2013/02/02 11:47:47 espie Exp $
---- Makefile.orig      Wed Dec 31 09:43:03 2008
-+++ Makefile   Sat Feb  2 12:22:44 2013
-@@ -16,7 +16,7 @@ CFLAGS += -DHAVE_CONFIG_H -DHAVE_DLFCN_H
- L=libdvdread
- DVDREAD_L=libdvdread
- DVDREAD_LIB = $(DVDREAD_L).a
--DVDREAD_SHLIB = $(DVDREAD_L).so
-+DVDREAD_SHLIB = $(DVDREAD_L).so.$(LIBDVDREAD_VERSION)
- VPATH+= $(SRC_PATH_BARE)/src
- DVDREAD_HEADERS = src/dvdread/dvd_reader.h \
-       src/dvdread/ifo_print.h \
-@@ -47,13 +47,13 @@ DVDREAD_DEPS= ${DVDREAD_OBJS:%.o=%.d}
- BUILDDEPS = Makefile config.mak
- 
- ifeq ($(BUILD_SHARED),yes)
--all:  $(SHLIB) $(DVDREAD_SHLIB) dvdread-config pkgconfig
--install: $(SHLIB) $(DVDREAD_SHLIB) install-shared install-dvdread-config 
install-pkgconfig
-+all:  $(DVDREAD_SHLIB) dvdread-config pkgconfig
-+install: $(DVDREAD_SHLIB) install-shared install-dvdread-config 
install-pkgconfig
- endif
- 
- ifeq ($(BUILD_STATIC),yes)
--all:  $(LIB) $(DVDREAD_LIB) dvdread-config pkgconfig
--install: $(LIB) $(DVDREAD_LIB) install-static install-dvdread-config 
install-pkgconfig
-+all:  $(DVDREAD_LIB) dvdread-config pkgconfig
-+install: $(DVDREAD_LIB) install-static install-dvdread-config 
install-pkgconfig
- endif
- 
- install: install-headers
-@@ -78,7 +78,7 @@ ${DVDREAD_LIB}: version.h $(DVDREAD_OBJS) $(BUILDDEPS)
-       cd $(.OBJDIR) && $(RANLIB) $@
- 
- ${DVDREAD_SHLIB}: version.h $(DVDREAD_SHOBJS) $(BUILDDEPS)
--      cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) $(LDFLAGS) -ldl 
-Wl,-soname=$(DVDREAD_SHLIB).$(SHLIB_MAJOR) -o $@ $(DVDREAD_SHOBJS)
-+      cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -fPIC $(LDFLAGS) -o $@ 
$(DVDREAD_SHOBJS) -ldvdcss
- 
- .c.so:        $(BUILDDEPS)
-       cd $(.OBJDIR) && $(CC) -fPIC -DPIC -MD $(CFLAGS) -c -o $@ $<
-@@ -93,29 +93,16 @@ install-headers:
-       install -d $(DESTDIR)$(dvdread_incdir)
-       install -m 644 $(DVDREAD_HEADERS) $(DESTDIR)$(dvdread_incdir)
- 
--install-shared: $(SHLIB)
-+install-shared: $(DVDREAD_SHLIB)
-       install -d $(DESTDIR)$(shlibdir)
- 
--      install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(SHLIB) \
--              $(DESTDIR)$(shlibdir)/$(SHLIB).$(SHLIB_VERSION)
-+      install -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
-+              $(DESTDIR)$(shlibdir)
- 
--      cd $(DESTDIR)$(shlibdir) && \
--              ln -sf $(SHLIB).$(SHLIB_VERSION) $(SHLIB).$(SHLIB_MAJOR)
--      cd $(DESTDIR)$(shlibdir) && \
--              ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB)
--
--      install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
--              $(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
--      cd $(DESTDIR)$(shlibdir) && \
--              ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) 
$(DVDREAD_SHLIB).$(SHLIB_MAJOR)
--      cd $(DESTDIR)$(shlibdir) && \
--              ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB)
--
--install-static: $(LIB)
-+install-static: $(DVDREAD_LIB)
-       install -d $(DESTDIR)$(libdir)
- 
--      install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) 
$(DESTDIR)$(libdir)/$(LIB)
--      install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) 
$(DESTDIR)$(libdir)/$(DVDREAD_LIB)
-+      install -m 755 $(.OBJDIR)/$(DVDREAD_LIB) 
$(DESTDIR)$(libdir)/$(DVDREAD_LIB)
- 
- 
- # Clean targets
Index: devel/libdvdread/patches/patch-configure2
===================================================================
RCS file: devel/libdvdread/patches/patch-configure2
diff -N devel/libdvdread/patches/patch-configure2
--- devel/libdvdread/patches/patch-configure2   3 May 2012 06:51:07 -0000       
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-configure2,v 1.1 2012/05/03 06:51:07 ajacoutot Exp $
-
-Fix the big endian check to actually define WORDS_BIGENDIAN in the config.h 
header.
-
---- configure2.orig    Mon Apr 30 01:24:09 2012
-+++ configure2 Mon Apr 30 01:25:07 2012
-@@ -149,7 +149,12 @@ cat > config.h << EOF
- /* Automatically generated by configure, do not edit */
- #include "version.h"
- EOF
--test "$bigendian" = "yes" && echo "#define WORDS_BIGENDIAN" || echo "#undef 
WORDS_BIGENDIAN" >> config.h
-+if test "$bigendian" = "yes"
-+then
-+    echo "#define WORDS_BIGENDIAN" >> config.h
-+else
-+    echo "#undef WORDS_BIGENDIAN" >> config.h
-+fi
- 
- # build tree in object directory if source path is different from current one
- if test "$source_path_used" != "no"; then
Index: devel/libdvdread/patches/patch-src_dvd_input_c
===================================================================
RCS file: /home/cvs/ports/devel/libdvdread/patches/patch-src_dvd_input_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_dvd_input_c
--- devel/libdvdread/patches/patch-src_dvd_input_c      20 Jan 2013 15:11:22 
-0000      1.1
+++ devel/libdvdread/patches/patch-src_dvd_input_c      31 Oct 2014 03:51:20 
-0000
@@ -1,12 +1,12 @@
 $OpenBSD: patch-src_dvd_input_c,v 1.1 2013/01/20 15:11:22 espie Exp $
---- src/dvd_input.c.orig       Sun Jan 20 16:09:17 2013
-+++ src/dvd_input.c    Sun Jan 20 16:09:24 2013
-@@ -290,7 +290,7 @@ int dvdinput_setup(void)
+--- src/dvd_input.c.orig       Fri May 16 11:11:50 2014
++++ src/dvd_input.c    Thu Oct 30 23:51:08 2014
+@@ -288,7 +288,7 @@ int dvdinput_setup(void)
  #elif defined(__OS2__)
    #define CSS_LIB "dvdcss.dll"
  #else
 -  #define CSS_LIB "libdvdcss.so.2"
-+  #define CSS_LIB "libdvdcss.so.3"
++  #define CSS_LIB "libdvdcss.so.4"
  #endif
    dvdcss_library = dlopen(CSS_LIB, RTLD_LAZY);
  
Index: devel/libdvdread/patches/patch-src_dvd_reader_c
===================================================================
RCS file: devel/libdvdread/patches/patch-src_dvd_reader_c
diff -N devel/libdvdread/patches/patch-src_dvd_reader_c
--- devel/libdvdread/patches/patch-src_dvd_reader_c     4 Oct 2012 07:23:17 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_dvd_reader_c,v 1.1 2012/10/04 07:23:17 brad Exp $
-
-Make sure the input device is closed on failure
-
---- src/dvd_reader.c.orig      Tue Sep 25 20:32:26 2012
-+++ src/dvd_reader.c   Tue Sep 25 20:33:12 2012
-@@ -716,6 +716,7 @@ static dvd_file_t *DVDOpenFilePath( dvd_reader_t *dvd,
-   if( stat( full_path, &fileinfo ) < 0 ) {
-     fprintf( stderr, "libdvdread: Can't stat() %s.\n", filename );
-     free( dvd_file );
-+    dvdinput_close( dev );
-     return NULL;
-   }
-   dvd_file->title_sizes[ 0 ] = fileinfo.st_size / DVD_VIDEO_LB_LEN;
Index: devel/libdvdread/patches/patch-src_dvd_udf_c
===================================================================
RCS file: devel/libdvdread/patches/patch-src_dvd_udf_c
diff -N devel/libdvdread/patches/patch-src_dvd_udf_c
--- devel/libdvdread/patches/patch-src_dvd_udf_c        4 Oct 2012 07:23:17 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_dvd_udf_c,v 1.1 2012/10/04 07:23:17 brad Exp $
-
-Check the return value for potential errors
-
---- src/dvd_udf.c.orig Tue Sep 25 20:34:13 2012
-+++ src/dvd_udf.c      Tue Sep 25 20:36:25 2012
-@@ -611,7 +611,8 @@ static int UDFScanDir( dvd_reader_t *device, struct AD
-             memcpy(FileICB, &tmpICB, sizeof(tmpICB));
-             found = 1;
-           }
--          UDFMapICB(device, tmpICB, &tmpFiletype, partition, &tmpFile);
-+          if(!UDFMapICB(device, tmpICB, &tmpFiletype, partition, &tmpFile))
-+            return 0;
-         } else {
-           if( !strcasecmp( FileName, filename ) ) {
-             memcpy(FileICB, &tmpICB, sizeof(tmpICB));
Index: devel/libdvdread/patches/patch-src_ifo_read_c
===================================================================
RCS file: devel/libdvdread/patches/patch-src_ifo_read_c
diff -N devel/libdvdread/patches/patch-src_ifo_read_c
--- devel/libdvdread/patches/patch-src_ifo_read_c       4 Oct 2012 07:23:17 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,92 +0,0 @@
-$OpenBSD: patch-src_ifo_read_c,v 1.1 2012/10/04 07:23:17 brad Exp $
-
-- Clear pf_temp to make sure it is initialized
-- Check ifoRead_VTS before continuing
-- Use NULL instead of 0
-- Sanitize PTT start offsets
-- Add libdvdread prefix to the error message
-- Change the message output to match the severity of the condition
-- Fix out of array pointer access
-
---- src/ifo_read.c.orig        Tue Sep 25 20:38:45 2012
-+++ src/ifo_read.c     Tue Sep 25 20:39:34 2012
-@@ -475,8 +475,7 @@ ifo_handle_t *ifoOpenVTSI(dvd_reader_t *dvd, int title
-     return NULL;
-   }
- 
--  ifoRead_VTS(ifofile);
--  if(ifofile->vtsi_mat)
-+  if(ifoRead_VTS(ifofile) && ifofile->vtsi_mat)
-     return ifofile;
- 
-   fprintf(stderr, "libdvdread: Invalid IFO for title %d (VTS_%02d_0.IFO).\n",
-@@ -620,19 +619,19 @@ static int ifoRead_VTS(ifo_handle_t *ifofile) {
- 
-   if(!DVDFileSeek_(ifofile->file, 0)) {
-     free(ifofile->vtsi_mat);
--    ifofile->vtsi_mat = 0;
-+    ifofile->vtsi_mat = NULL;
-     return 0;
-   }
- 
-   if(!(DVDReadBytes(ifofile->file, vtsi_mat, sizeof(vtsi_mat_t)))) {
-     free(ifofile->vtsi_mat);
--    ifofile->vtsi_mat = 0;
-+    ifofile->vtsi_mat = NULL;
-     return 0;
-   }
- 
-   if(strncmp("DVDVIDEO-VTS", vtsi_mat->vts_identifier, 12) != 0) {
-     free(ifofile->vtsi_mat);
--    ifofile->vtsi_mat = 0;
-+    ifofile->vtsi_mat = NULL;
-     return 0;
-   }
- 
-@@ -1082,6 +1081,12 @@ int ifoRead_TT_SRPT(ifo_handle_t *ifofile) {
-     return 0;
-   }
- 
-+  if(tt_srpt->nr_of_srpts>info_length/sizeof(title_info_t)){
-+    fprintf(stderr,"libdvdread: data mismatch: info_length (%ld)!= 
nr_of_srpts (%d). Truncating.\n",
-+            info_length/sizeof(title_info_t),tt_srpt->nr_of_srpts);
-+    tt_srpt->nr_of_srpts=info_length/sizeof(title_info_t);
-+  }
-+
-   for(i =  0; i < tt_srpt->nr_of_srpts; i++) {
-     B2N_16(tt_srpt->title[i].nr_of_ptts);
-     B2N_16(tt_srpt->title[i].parental_id);
-@@ -1190,7 +1195,15 @@ int ifoRead_VTS_PTT_SRPT(ifo_handle_t *ifofile) {
-     goto fail;
-   }
-   for(i = 0; i < vts_ptt_srpt->nr_of_srpts; i++) {
--    B2N_32(data[i]);
-+    /* Transformers 3 has PTT start bytes that point outside the SRPT PTT */
-+    uint32_t start = data[i];
-+    B2N_32(start);
-+    if(start + sizeof(ptt_info_t) > vts_ptt_srpt->last_byte + 1) {
-+      /* don't mess with any bytes beyond the end of the allocation */
-+      vts_ptt_srpt->nr_of_srpts = i;
-+      break;
-+    }
-+    data[i] = start;
-     /* assert(data[i] + sizeof(ptt_info_t) <= vts_ptt_srpt->last_byte + 1);
-        Magic Knight Rayearth Daybreak is mastered very strange and has
-        Titles with 0 PTTs. They all have a data[i] offsets beyond the end of
-@@ -1372,6 +1385,7 @@ int ifoRead_PTL_MAIT(ifo_handle_t *ifofile) {
-       ifofile->ptl_mait = NULL;
-       return 0;
-     }
-+    memset(pf_temp, 0, info_length);
-     if(!(DVDReadBytes(ifofile->file, pf_temp, info_length))) {
-       fprintf(stderr, "libdvdread: Unable to read PTL_MAIT table at index 
%d.\n",i);
-       free(pf_temp);
-@@ -1434,7 +1448,7 @@ int ifoRead_VTS_TMAPT(ifo_handle_t *ifofile) {
- 
-   if(ifofile->vtsi_mat->vts_tmapt == 0) { /* optional(?) */
-     ifofile->vts_tmapt = NULL;
--    fprintf(stderr,"Please send bug report - no VTS_TMAPT ?? \n");
-+    fprintf(stderr,"libdvdread: No VTS_TMAPT available - skipping.\n");
-     return 1;
-   }
- 
Index: devel/libdvdread/patches/patch-src_md5_c
===================================================================
RCS file: devel/libdvdread/patches/patch-src_md5_c
diff -N devel/libdvdread/patches/patch-src_md5_c
--- devel/libdvdread/patches/patch-src_md5_c    3 May 2012 06:51:07 -0000       
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-src_md5_c,v 1.1 2012/05/03 06:51:07 ajacoutot Exp $
-
-Use the config.h header to set WORDS_BIGENDIAN instead of another means of 
checking.
-
---- src/md5.c.orig     Mon Apr 30 01:22:39 2012
-+++ src/md5.c  Mon Apr 30 01:22:56 2012
-@@ -28,12 +28,7 @@
- #include "md5.h"
- /* #include "unlocked-io.h" */
- 
--#ifdef _LIBC
--# include <endian.h>
--# if __BYTE_ORDER == __BIG_ENDIAN
--#  define WORDS_BIGENDIAN 1
--# endif
--#endif
-+#include "config.h"
- 
- #ifdef WORDS_BIGENDIAN
- # define SWAP(n)                                                        \
Index: devel/libdvdread/patches/patch-version_sh
===================================================================
RCS file: devel/libdvdread/patches/patch-version_sh
diff -N devel/libdvdread/patches/patch-version_sh
--- devel/libdvdread/patches/patch-version_sh   3 May 2012 06:51:07 -0000       
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-version_sh,v 1.1 2012/05/03 06:51:07 ajacoutot Exp $
---- version.sh.orig    Fri Dec 16 08:46:11 2011
-+++ version.sh Fri Dec 16 09:22:36 2011
-@@ -1,15 +1,6 @@
- #!/bin/sh
- 
--svn_revision=`cd "$1" && LC_ALL=C svn info 2> /dev/null | grep Revision | cut 
-d' ' -f2`
--test $svn_revision || svn_revision=`cd "$1" && grep revision .svn/entries 
2>/dev/null | \
--                                    cut -d '"' -f2 2> /dev/null`
--test $svn_revision || svn_revision=UNKNOWN
--
--if test "$svn_revision" = UNKNOWN && test -n "$2"; then
--    NEW_REVISION="#define VERSION \"$2\""
--else
--    NEW_REVISION="#define VERSION \"SVN-r$svn_revision\""
--fi
-+NEW_REVISION="#define VERSION \"$2\""
- OLD_REVISION=`cat version.h 2> /dev/null`
- 
- # Update version.h only on revision changes to avoid spurious rebuilds
Index: devel/libdvdread/pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/devel/libdvdread/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 PLIST
--- devel/libdvdread/pkg/PLIST  3 May 2012 06:51:07 -0000       1.6
+++ devel/libdvdread/pkg/PLIST  23 Oct 2014 00:34:07 -0000
@@ -1,5 +1,4 @@
 @comment $OpenBSD: PLIST,v 1.6 2012/05/03 06:51:07 ajacoutot Exp $
-bin/dvdread-config
 include/dvdread/
 include/dvdread/bitreader.h
 include/dvdread/dvd_reader.h
@@ -11,5 +10,13 @@ include/dvdread/nav_print.h
 include/dvdread/nav_read.h
 include/dvdread/nav_types.h
 lib/libdvdread.a
+lib/libdvdread.la
 @lib lib/libdvdread.so.${LIBdvdread_VERSION}
 lib/pkgconfig/dvdread.pc
+share/doc/libdvdread/
+share/doc/libdvdread/AUTHORS
+share/doc/libdvdread/COPYING
+share/doc/libdvdread/ChangeLog
+share/doc/libdvdread/NEWS
+share/doc/libdvdread/README
+share/doc/libdvdread/TODO
Index: multimedia/libdvdnav/Makefile
===================================================================
RCS file: /home/cvs/ports/multimedia/libdvdnav/Makefile,v
retrieving revision 1.22
diff -u -p -u -p -r1.22 Makefile
--- multimedia/libdvdnav/Makefile       21 Mar 2013 08:46:33 -0000      1.22
+++ multimedia/libdvdnav/Makefile       31 Oct 2014 03:16:56 -0000
@@ -2,37 +2,24 @@
 
 COMMENT=       DVD navigation library
 
-DISTNAME=      libdvdnav-4.2.0
-REVISION=      2
+VER=           5.0.1
+DISTNAME=      libdvdnav-${VER}
 EPOCH=         0
 CATEGORIES=    multimedia
-MASTER_SITES=  ${HOMEPAGE}releases/
+MASTER_SITES=  http://download.videolan.org/pub/videolan/libdvdnav/${VER}/
 EXTRACT_SUFX=  .tar.bz2
 
-SHARED_LIBS=   dvdnav          6.2 \
-               dvdnavmini      6.2
+SHARED_LIBS=   dvdnav          7.0
 
-HOMEPAGE=      http://dvdnav.mplayerhq.hu/
+HOMEPAGE=      http://www.videolan.org/
 
 # GPLv2
 PERMIT_PACKAGE_CDROM=  Yes
 
 WANTLIB=       dvdread pthread
 
-AUTOCONF_VERSION= 2.61
-AUTOMAKE_VERSION= 1.10
-
-# needs libtoolize
-BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \
-               ${MODGNU_AUTOMAKE_DEPENDS} \
-               devel/libtool
-
-LIB_DEPENDS=   devel/libdvdread>=4.2.0
+LIB_DEPENDS=   devel/libdvdread>=5.0.0
 
 CONFIGURE_STYLE= gnu
-
-post-patch:
-       @cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \
-               AUTOMAKE_VERSION=${AUTOMAKE_VERSION} ./autogen.sh noconfig
 
 .include <bsd.port.mk>
Index: multimedia/libdvdnav/distinfo
===================================================================
RCS file: /home/cvs/ports/multimedia/libdvdnav/distinfo,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 distinfo
--- multimedia/libdvdnav/distinfo       3 May 2012 06:50:37 -0000       1.7
+++ multimedia/libdvdnav/distinfo       23 Oct 2014 00:50:45 -0000
@@ -1,5 +1,2 @@
-MD5 (libdvdnav-4.2.0.tar.bz2) = U76JA/mALhAZKaNFEgO79g==
-RMD160 (libdvdnav-4.2.0.tar.bz2) = HpV1VBc/6uO98f3WqDwqZKJVBoM=
-SHA1 (libdvdnav-4.2.0.tar.bz2) = 3tRdmFV2FprjYw2L5xeaIyO8D28=
-SHA256 (libdvdnav-4.2.0.tar.bz2) = jJcbCCdsid3OzSb8RCBEYP0lDcVzRvA0dtMHcYjEdVA=
-SIZE (libdvdnav-4.2.0.tar.bz2) = 111575
+SHA256 (libdvdnav-5.0.1.tar.bz2) = crHLgmbxY9ShSBuSx7bFPm3JJ00qa++wj/w1H+ekoqk=
+SIZE (libdvdnav-5.0.1.tar.bz2) = 354568
Index: multimedia/libdvdnav/patches/patch-configure_ac
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-configure_ac
diff -N multimedia/libdvdnav/patches/patch-configure_ac
--- multimedia/libdvdnav/patches/patch-configure_ac     5 Sep 2012 08:09:27 
-0000       1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.6 2012/09/05 08:09:27 ajacoutot Exp $
-
-Second part of this patch is to allow to compile libdvdnav with another
-version installed.
-
---- configure.ac.orig  Fri Oct  7 16:20:59 2011
-+++ configure.ac       Sun Sep  2 22:27:34 2012
-@@ -201,7 +201,7 @@ dnl ---------------------------------------------
- dnl cflags
- dnl ---------------------------------------------
- dnl Common cflags for all platforms
--CFLAGS="-O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE $CFLAGS"
-+CFLAGS="-Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE $CFLAGS"
- DEBUG_CFLAGS="-g -DDEBUG $CFLAGS"
- 
- AC_SUBST(DEBUG_CFLAGS)
-@@ -214,7 +214,7 @@ AC_CHECK_PROG(DOXYGEN, doxygen, doxygen, no)
- dnl ---------------------------------------------
- dnl Some include paths ( !!! DO NOT REMOVE !!! )
- dnl ---------------------------------------------
--INCLUDES='-I$(top_srcdir) $(DVDNAV_CFLAGS)'
-+INCLUDES='-I$(top_srcdir) -I$(top_srcdir)/src $(DVDNAV_CFLAGS)'
- AC_SUBST(INCLUDES)
- 
- dnl ---------------------------------------------
Index: multimedia/libdvdnav/patches/patch-src_dvdnav_c
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_dvdnav_c
diff -N multimedia/libdvdnav/patches/patch-src_dvdnav_c
--- multimedia/libdvdnav/patches/patch-src_dvdnav_c     26 Sep 2012 00:04:09 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,159 +0,0 @@
-$OpenBSD: patch-src_dvdnav_c,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-- Check that a VOB is open in case we need to open one
-- Add a function to create a dpu of a dvdnav handle
-- Prevent overflow by pre-casting to int64_t
-- Remove unneeded address-of of CLUT
-- Make sure we get nav packets for all cells in multi angle features
-- Test still like a boolean value and not an integer value
-- Always check whether a still is being handled
-
---- src/dvdnav.c.orig  Wed Sep  5 14:23:55 2012
-+++ src/dvdnav.c       Wed Sep  5 14:24:07 2012
-@@ -71,6 +71,67 @@ static dvdnav_status_t dvdnav_clear(dvdnav_t * this) {
-   return DVDNAV_STATUS_OK;
- }
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
-+  dvdnav_t *this;
-+
-+  (*dest) = NULL;
-+  this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
-+  if(!this)
-+    return DVDNAV_STATUS_ERR;
-+
-+  memcpy(this, src, sizeof(dvdnav_t));
-+  this->file = NULL;
-+
-+  pthread_mutex_init(&this->vm_lock, NULL);
-+
-+  this->vm = vm_new_copy(src->vm);
-+  if(!this->vm) {
-+    printerr("Error initialising the DVD VM.");
-+    pthread_mutex_destroy(&this->vm_lock);
-+    free(this);
-+    return DVDNAV_STATUS_ERR;
-+  }
-+
-+  /* Start the read-ahead cache. */
-+  this->cache = dvdnav_read_cache_new(this);
-+
-+  (*dest) = this;
-+  return DVDNAV_STATUS_OK;
-+}
-+
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
-+
-+#ifdef LOG_DEBUG
-+  fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
-+#endif
-+
-+  if (this->file) {
-+    pthread_mutex_lock(&this->vm_lock);
-+    DVDCloseFile(this->file);
-+#ifdef LOG_DEBUG
-+    fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
-+#endif
-+    this->file = NULL;
-+    pthread_mutex_unlock(&this->vm_lock);
-+  }
-+
-+  /* Free the VM */
-+  if(this->vm)
-+    vm_free_copy(this->vm);
-+
-+  pthread_mutex_destroy(&this->vm_lock);
-+
-+  /* We leave the final freeing of the entire structure to the cache,
-+   * because we don't know, if there are still buffers out in the wild,
-+   * that must return first. */
-+  if(this->cache)
-+    dvdnav_read_cache_free(this->cache);
-+  else
-+    free(this);
-+
-+  return DVDNAV_STATUS_OK;
-+}
-+
- dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
-   dvdnav_t *this;
-   struct timeval time;
-@@ -203,12 +264,12 @@ int64_t dvdnav_convert_time(dvd_time_t *time) {
-   int64_t result;
-   int64_t frames;
- 
--  result  = (time->hour    >> 4  ) * 10 * 60 * 60 * 90000;
--  result += (time->hour    & 0x0f)      * 60 * 60 * 90000;
--  result += (time->minute  >> 4  )      * 10 * 60 * 90000;
--  result += (time->minute  & 0x0f)           * 60 * 90000;
--  result += (time->second  >> 4  )           * 10 * 90000;
--  result += (time->second  & 0x0f)                * 90000;
-+  result  = ((int64_t)(time->hour    >> 4  )) * 10 * 60 * 60 * 90000;
-+  result += ((int64_t)(time->hour    & 0x0f))      * 60 * 60 * 90000;
-+  result += ((int64_t)(time->minute  >> 4  ))      * 10 * 60 * 90000;
-+  result += ((int64_t)(time->minute  & 0x0f))           * 60 * 90000;
-+  result += ((int64_t)(time->second  >> 4  ))           * 10 * 90000;
-+  result += ((int64_t)(time->second  & 0x0f))                * 90000;
- 
-   frames  = ((time->frame_u & 0x30) >> 4) * 10;
-   frames += ((time->frame_u & 0x0f)     )     ;
-@@ -336,9 +397,10 @@ static int32_t dvdnav_get_vobu(dvdnav_t *this, dsi_t *
-     dvdnav_angle_change(this, 1);
-   }
- #endif
-+  /* only use ILVU information if we are at the last vobunit in ILVU */
-+  /* otherwise we will miss nav packets from vobunits inbetween */
-+  if(num_angle != 0 && (nav_dsi->sml_pbi.category & DSI_ILVU_MASK) == 
(DSI_ILVU_BLOCK | DSI_ILVU_LAST)) {
- 
--  if(num_angle != 0) {
--
-     if((next = nav_pci->nsml_agli.nsml_agl_dsta[angle-1]) != 0) {
-       if((next & 0x3fffffff) != 0) {
-       if(next & 0x80000000)
-@@ -518,8 +580,10 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *
-     return DVDNAV_STATUS_OK;
-   }
- 
--  /* Check to see if we need to change the currently opened VOB */
--  if((this->position_current.vts != this->position_next.vts) ||
-+  /* Check to see if we need to change the currently opened VOB or open
-+   * a new one because we don't currently have an opened VOB. */
-+  if((this->file == NULL) ||
-+     (this->position_current.vts != this->position_next.vts) ||
-      (this->position_current.domain != this->position_next.domain)) {
-     dvd_read_domain_t domain;
-     int32_t vtsN;
-@@ -655,7 +719,7 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *
-     fprintf(MSG_OUT, "libdvdnav: SPU_CLUT_CHANGE\n");
- #endif
-     (*len) = 16 * sizeof(uint32_t);
--    memcpy(*buf, &(state->pgc->palette), 16 * sizeof(uint32_t));
-+    memcpy(*buf, state->pgc->palette, sizeof(state->pgc->palette));
-     this->spu_clut_changed = 0;
-     pthread_mutex_unlock(&this->vm_lock);
-     return DVDNAV_STATUS_OK;
-@@ -731,16 +795,15 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *
-       /* we are about to leave a cell, so a lot of state changes could occur;
-        * under certain conditions, the application should get in sync with us 
before this,
-        * otherwise it might show stills or menus too shortly */
--      if ((this->position_current.still || this->pci.hli.hl_gi.hli_ss) && 
!this->sync_wait_skip) {
-+      if ((this->position_current.still || this->pci.hli.hl_gi.hli_ss) && 
!this->sync_wait_skip)
-         this->sync_wait = 1;
--      } else {
--      if( this->position_current.still == 0 || this->skip_still ) {
--        /* no active cell still -> get us to the next cell */
--        vm_get_next_cell(this->vm);
--        this->position_current.still = 0; /* still gets activated at end of 
cell */
--        this->skip_still = 0;
--        this->sync_wait_skip = 0;
--      }
-+
-+      if(!this->position_current.still || this->skip_still ) {
-+      /* no active cell still -> get us to the next cell */
-+      vm_get_next_cell(this->vm);
-+      this->position_current.still = 0; /* still gets activated at end of 
cell */
-+      this->skip_still = 0;
-+      this->sync_wait_skip = 0;
-       }
-       /* handle related state changes in next iteration */
-       (*event) = DVDNAV_NOP;
Index: multimedia/libdvdnav/patches/patch-src_dvdnav_dvdnav_h
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_dvdnav_dvdnav_h
diff -N multimedia/libdvdnav/patches/patch-src_dvdnav_dvdnav_h
--- multimedia/libdvdnav/patches/patch-src_dvdnav_dvdnav_h      26 Sep 2012 
00:04:09 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-$OpenBSD: patch-src_dvdnav_dvdnav_h,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-- Add a function to create a dpu of a dvdnav handle
-- Fix C++ compatibility broken in r1208
-- Allow backward search for SEEK_CUR
-
---- src/dvdnav/dvdnav.h.orig   Sat Feb 26 15:32:32 2011
-+++ src/dvdnav/dvdnav.h        Tue Sep 11 20:35:47 2012
-@@ -89,6 +89,9 @@ typedef int32_t dvdnav_status_t;
-  */
- dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
-+
- /*
-  * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
-  * memory associated with it.
-@@ -281,7 +284,7 @@ dvdnav_status_t dvdnav_part_play(dvdnav_t *self, int32
- /*
-  * Plays the specified title, starting from the specified program
-  */
--dvdnav_status_t dvdnav_program_play(dvdnav_t *this, int32_t title, int32_t 
pgcn, int32_t pgn);
-+dvdnav_status_t dvdnav_program_play(dvdnav_t *self, int32_t title, int32_t 
pgcn, int32_t pgn);
- 
- /*
-  * Stores in *times an array (that the application *must* free) of
-@@ -370,7 +373,7 @@ dvdnav_status_t dvdnav_part_search(dvdnav_t *self, int
-  * fcntl.h.
-  */
- dvdnav_status_t dvdnav_sector_search(dvdnav_t *self,
--                                   uint64_t offset, int32_t origin);
-+                                   int64_t offset, int32_t origin);
- 
- /*
-  returns the current stream time in PTS ticks as reported by the IFO 
structures
Index: multimedia/libdvdnav/patches/patch-src_dvdnav_internal_h
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_dvdnav_internal_h
diff -N multimedia/libdvdnav/patches/patch-src_dvdnav_internal_h
--- multimedia/libdvdnav/patches/patch-src_dvdnav_internal_h    26 Sep 2012 
00:04:09 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-src_dvdnav_internal_h,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-Bit fields for ILVU
-
---- src/dvdnav_internal.h.orig Wed Sep  5 14:23:14 2012
-+++ src/dvdnav_internal.h      Wed Sep  5 14:23:26 2012
-@@ -76,6 +76,14 @@ static inline int _private_gettimeofday( struct timeva
- #define DVD_VIDEO_LB_LEN 2048
- #endif
- 
-+typedef enum {
-+  DSI_ILVU_PRE   = 1 << 15, /* set during the last 3 VOBU preceeding an 
interleaved block. */
-+  DSI_ILVU_BLOCK = 1 << 14, /* set for all VOBU in an interleaved block */
-+  DSI_ILVU_FIRST = 1 << 13, /* set for the first VOBU for a given angle or 
scene within a ILVU, or the first VOBU in the preparation (PREU) sequence */
-+  DSI_ILVU_LAST  = 1 << 12, /* set for the last VOBU for a given angle or 
scene within a ILVU, or the last VOBU in the preparation (PREU) sequence */
-+  DSI_ILVU_MASK  = 0xf000
-+} DSI_ILVU;
-+
- typedef struct read_cache_s read_cache_t;
- 
- /*
Index: multimedia/libdvdnav/patches/patch-src_highlight_c
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_highlight_c
diff -N multimedia/libdvdnav/patches/patch-src_highlight_c
--- multimedia/libdvdnav/patches/patch-src_highlight_c  26 Sep 2012 00:04:09 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-$OpenBSD: patch-src_highlight_c,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-Pointer validation fixing
-
---- src/highlight.c.orig       Wed Sep  5 14:21:14 2012
-+++ src/highlight.c    Wed Sep  5 14:21:20 2012
-@@ -242,8 +242,13 @@ static btni_t *get_current_button(dvdnav_t *this, pci_
- }
- 
- static dvdnav_status_t button_auto_action(dvdnav_t *this, pci_t *pci) {
--  if (get_current_button(this, pci)->auto_action_mode)
-+  btni_t *button_ptr;
-+  if ((button_ptr = get_current_button(this, pci)) == NULL)
-+      return DVDNAV_STATUS_ERR;
-+
-+  if (button_ptr->auto_action_mode)
-     return dvdnav_button_activate(this, pci);
-+
-   return DVDNAV_STATUS_OK;
- }
- 
-@@ -366,7 +371,11 @@ dvdnav_status_t dvdnav_button_activate(dvdnav_t *this,
-     return DVDNAV_STATUS_ERR;
-   }
- 
--  button_ptr = get_current_button(this, pci);
-+  if ((button_ptr = get_current_button(this, pci)) == NULL) {
-+    pthread_mutex_unlock(&this->vm_lock);
-+    return DVDNAV_STATUS_ERR;
-+  }
-+
-   /* Finally, make the VM execute the appropriate code and probably
-    * schedule a jump */
- #ifdef BUTTON_TESTING
Index: multimedia/libdvdnav/patches/patch-src_remap_c
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_remap_c
diff -N multimedia/libdvdnav/patches/patch-src_remap_c
--- multimedia/libdvdnav/patches/patch-src_remap_c      26 Sep 2012 00:04:09 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,67 +0,0 @@
-$OpenBSD: patch-src_remap_c,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-- Initialize epos
-- Pointer validation fixing
-
---- src/remap.c.orig   Wed Sep  5 14:20:01 2012
-+++ src/remap.c        Wed Sep  5 14:20:08 2012
-@@ -62,6 +62,9 @@ struct remap_s {
- 
- static remap_t* remap_new( char *title) {
-     remap_t *map = malloc( sizeof(remap_t));
-+    if (map == NULL)
-+      return NULL;
-+
-     map->title = strdup(title);
-     map->maxblocks = 0;
-     map->nblocks = 0;
-@@ -139,8 +142,10 @@ static void remap_add_node( remap_t *map, block_t bloc
-     } else {
-         /* new block */
-       if (map->nblocks >= map->maxblocks) {
-+          if ((map->blocks = realloc( map->blocks, sizeof( block_t)*( 
map->maxblocks + 20))) == NULL)
-+              return;
-+
-           map->maxblocks += 20;
--          map->blocks = realloc( map->blocks, sizeof( 
block_t)*map->maxblocks);
-       }
-       n = map->nblocks++;
-       while (n > 0 && compare_block( &block, &map->blocks[ n-1]) < 0) {
-@@ -155,10 +160,12 @@ static int parseblock(char *buf, int *dom, int *tt, in
-                     unsigned long *start, unsigned long *end) {
-     long tmp;
-     char *tok;
--    char *epos;
-+    char *epos = NULL;
-     char *marker[]={"domain", "title", "program", "start", "end"};
-     int st = 0;
--    tok = strtok( buf, " ");
-+    if ((tok = strtok( buf, " ")) == NULL)
-+        return st;
-+
-     while (st < 5) {
-         if (strcmp(tok, marker[st])) return -st-1000;
-         tok = strtok( NULL, " ");
-@@ -183,7 +190,7 @@ static int parseblock(char *buf, int *dom, int *tt, in
-               break;
-       }
-       st++;
--        tok = strtok( NULL, " ");
-+        if (!(tok = strtok( NULL, " "))) return -st-2000;
-     }
-     return st;
- }
-@@ -214,7 +221,12 @@ remap_t* remap_loadmap( char *title) {
-     }
- 
-     /* Load the map file */
--    map = remap_new( title);
-+    if ((map = remap_new( title)) == NULL) {
-+      fprintf(MSG_OUT, "libdvdnav: Unable to load map '%s'\n", title);
-+        fclose(fp);
-+      return NULL;
-+    }
-+
-     while (fgets( buf, sizeof(buf), fp) != NULL) {
-         if (buf[0] == '\n' || buf[0] == '#' || buf[0] == 0) continue;
-         if (strncasecmp( buf, "debug", 5) == 0) {
Index: multimedia/libdvdnav/patches/patch-src_searching_c
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_searching_c
diff -N multimedia/libdvdnav/patches/patch-src_searching_c
--- multimedia/libdvdnav/patches/patch-src_searching_c  26 Sep 2012 00:04:09 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,182 +0,0 @@
-$OpenBSD: patch-src_searching_c,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-- Skip PGCs w/ a cell number of 0
-- Ignore parts where the pgc start byte is above the last byte
-- Make sure pgc is valid before dereferencing
-- Check cell new row before using it to index into cell_playback
-- Initialize next_vobu
-- Rework functions that call vm_copy_vm()
-- Fix calculation for multi-angle DVDs
-- Allow backward search for SEEK_CUR
-
---- src/searching.c.orig       Fri Oct  7 13:06:24 2011
-+++ src/searching.c    Tue Sep 11 20:38:00 2012
-@@ -73,7 +73,7 @@ static dvdnav_status_t dvdnav_scan_admap(dvdnav_t *thi
-   }
-   if(admap) {
-     uint32_t address = 0;
--    uint32_t vobu_start, next_vobu;
-+    uint32_t vobu_start, next_vobu = 0;
-     int admap_entries = (admap->last_byte + 1 - 
VOBU_ADMAP_SIZE)/VOBU_ADMAP_SIZE;
- 
-     /* Search through ADMAP for best sector */
-@@ -182,7 +182,7 @@ dvdnav_status_t dvdnav_time_search(dvdnav_t *this,
- }
- 
- dvdnav_status_t dvdnav_sector_search(dvdnav_t *this,
--                                   uint64_t offset, int32_t origin) {
-+                                   int64_t offset, int32_t origin) {
-   uint32_t target = 0;
-   uint32_t current_pos;
-   uint32_t cur_sector;
-@@ -213,7 +213,7 @@ dvdnav_status_t dvdnav_sector_search(dvdnav_t *this,
-     return DVDNAV_STATUS_ERR;
-   }
- #ifdef LOG_DEBUG
--  fprintf(MSG_OUT, "libdvdnav: seeking to offset=%lu pos=%u length=%u\n", 
offset, target, length);
-+  fprintf(MSG_OUT, "libdvdnav: seeking to offset=%lld pos=%u length=%u\n", 
offset, target, length);
-   fprintf(MSG_OUT, "libdvdnav: Before cellN=%u blockN=%u\n", state->cellN, 
state->blockN);
- #endif
- 
-@@ -231,11 +231,16 @@ dvdnav_status_t dvdnav_sector_search(dvdnav_t *this,
-     target = offset;
-     break;
-    case SEEK_CUR:
--    if(target + offset >= length) {
-+    if((signed)target + offset >= length) {
-       printerr("Request to seek behind end.");
-       pthread_mutex_unlock(&this->vm_lock);
-       return DVDNAV_STATUS_ERR;
-     }
-+    if((signed)target + offset < 0) {
-+      printerr("Request to seek before start.");
-+      pthread_mutex_unlock(&this->vm_lock);
-+      return DVDNAV_STATUS_ERR;
-+    }
-     target += offset;
-     break;
-    case SEEK_END:
-@@ -403,8 +408,7 @@ dvdnav_status_t dvdnav_next_pg_search(dvdnav_t *this) 
-   pthread_mutex_lock(&this->vm_lock);
-   if(!this->vm->state.pgc) {
-     printerr("No current PGC.");
--    pthread_mutex_unlock(&this->vm_lock);
--    return DVDNAV_STATUS_ERR;
-+    goto fail;
-   }
- 
- #ifdef LOG_DEBUG
-@@ -412,17 +416,25 @@ dvdnav_status_t dvdnav_next_pg_search(dvdnav_t *this) 
- #endif
-   /* make a copy of current VM and try to navigate the copy to the next PG */
-   try_vm = vm_new_copy(this->vm);
-+  if (try_vm == NULL) {
-+    printerr("Unable to copy the VM.");
-+    goto fail;
-+  }
-+
-   if (!vm_jump_next_pg(try_vm) || try_vm->stopped) {
-     vm_free_copy(try_vm);
-     /* next_pg failed, try to jump at least to the next cell */
-     try_vm = vm_new_copy(this->vm);
-+    if (try_vm == NULL) {
-+      printerr("Unable to copy the VM.");
-+      goto fail;
-+    }
-     vm_get_next_cell(try_vm);
-     if (try_vm->stopped) {
-       vm_free_copy(try_vm);
-       fprintf(MSG_OUT, "libdvdnav: next chapter failed.\n");
-       printerr("Skip to next chapter failed.");
--      pthread_mutex_unlock(&this->vm_lock);
--      return DVDNAV_STATUS_ERR;
-+      goto fail;
-     }
-   }
-   this->cur_cell_time = 0;
-@@ -437,6 +449,10 @@ dvdnav_status_t dvdnav_next_pg_search(dvdnav_t *this) 
-   pthread_mutex_unlock(&this->vm_lock);
- 
-   return DVDNAV_STATUS_OK;
-+
-+fail:
-+  pthread_mutex_unlock(&this->vm_lock);
-+  return DVDNAV_STATUS_ERR;
- }
- 
- dvdnav_status_t dvdnav_menu_call(dvdnav_t *this, DVDMenuID_t menu) {
-@@ -445,13 +461,17 @@ dvdnav_status_t dvdnav_menu_call(dvdnav_t *this, DVDMe
-   pthread_mutex_lock(&this->vm_lock);
-   if(!this->vm->state.pgc) {
-     printerr("No current PGC.");
--    pthread_mutex_unlock(&this->vm_lock);
--    return DVDNAV_STATUS_ERR;
-+    goto fail;
-   }
- 
-   this->cur_cell_time = 0;
-   /* make a copy of current VM and try to navigate the copy to the menu */
-   try_vm = vm_new_copy(this->vm);
-+  if (try_vm == NULL) {
-+    printerr("Unable to copy VM.");
-+    goto fail;
-+  }
-+
-   if ( (menu == DVD_MENU_Escape) && (this->vm->state.domain != VTS_DOMAIN)) {
-     /* Try resume */
-     if (vm_jump_resume(try_vm) && !try_vm->stopped) {
-@@ -477,9 +497,12 @@ dvdnav_status_t dvdnav_menu_call(dvdnav_t *this, DVDMe
-   } else {
-     vm_free_copy(try_vm);
-     printerr("No such menu or menu not reachable.");
--    pthread_mutex_unlock(&this->vm_lock);
--    return DVDNAV_STATUS_ERR;
-+    goto fail;
-   }
-+
-+fail:
-+  pthread_mutex_unlock(&this->vm_lock);
-+  return DVDNAV_STATUS_ERR;
- }
- 
- dvdnav_status_t dvdnav_get_position(dvdnav_t *this, uint32_t *pos,
-@@ -530,6 +553,8 @@ dvdnav_status_t dvdnav_get_position(dvdnav_t *this, ui
-   *len = 0;
-   for (cell_nr = first_cell_nr; cell_nr <= last_cell_nr; cell_nr++) {
-     cell = &(state->pgc->cell_playback[cell_nr-1]);
-+    if(cell->block_type == BLOCK_TYPE_ANGLE_BLOCK && cell->block_mode != 
BLOCK_MODE_FIRST_CELL)
-+        continue;
-     if (cell_nr == state->cellN) {
-       /* the current sector is in this cell,
-        * pos is length of PG up to here + sector's offset in this cell */
-@@ -616,13 +641,29 @@ uint32_t dvdnav_describe_title_chapters(dvdnav_t *this
-   length = 0;
-   for(i=0; i<parts; i++) {
-     uint32_t cellnr, endcellnr;
-+    if (ifo->vts_pgcit->pgci_srp[ptt[i].pgcn-1].pgc_start_byte >= 
ifo->vts_pgcit->last_byte) {
-+      printerr("PGC start out of bounds");
-+      continue;
-+    }
-     pgc = ifo->vts_pgcit->pgci_srp[ptt[i].pgcn-1].pgc;
-+    if (pgc == NULL) {
-+      printerr("PGC missing.");
-+      continue;
-+    }
-     if(ptt[i].pgn > pgc->nr_of_programs) {
-       printerr("WRONG part number.");
-       goto fail;
-     }
- 
--    cellnr = pgc->program_map[ptt[i].pgn-1];
-+    if (pgc->nr_of_cells == 0) {
-+      printerr("Number of cells cannot be 0");
-+      continue;
-+    }
-+    if ((cellnr = pgc->program_map[ptt[i].pgn-1]) == 0) {
-+      printerr("Cell new row cannot be 0");
-+      continue;
-+    }
-+
-     if(ptt[i].pgn < pgc->nr_of_programs)
-       endcellnr = pgc->program_map[ptt[i].pgn];
-     else
Index: multimedia/libdvdnav/patches/patch-src_vm_vm_c
===================================================================
RCS file: multimedia/libdvdnav/patches/patch-src_vm_vm_c
diff -N multimedia/libdvdnav/patches/patch-src_vm_vm_c
--- multimedia/libdvdnav/patches/patch-src_vm_vm_c      26 Sep 2012 00:04:09 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,324 +0,0 @@
-$OpenBSD: patch-src_vm_vm_c,v 1.1 2012/09/26 00:04:09 brad Exp $
-
-- Reset the vm if necessary
-- Use vm_close() w/in vm.c where appropriate
-- Add the static function vm_close()
-- Check the return value of dvd_read_name
-- Rewrite dvd_read_name to return a value
-- Prevent general CPP macro from causing strange behavior
-- Replace assert w/ a conditional and a null return
-- Initialize link_values
-- Pointer validation fixing
-- Return 0 instead of an assert
-
---- src/vm/vm.c.orig   Wed Sep  5 14:18:33 2012
-+++ src/vm/vm.c        Wed Sep  5 14:18:50 2012
-@@ -59,7 +59,7 @@
- #endif
- 
- /*
--#define STRICT
-+#define DVDNAV_STRICT
- */
- 
- /* Local prototypes */
-@@ -101,8 +101,8 @@ static int get_PGCN(vm_t *vm);
- static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
- static pgcit_t* get_PGCIT(vm_t *vm);
- 
--
- /* Helper functions */
-+static void vm_close(vm_t *vm);
- 
- #ifdef TRACE
- static void vm_print_current_domain_state(vm_t *vm) {
-@@ -162,64 +162,86 @@ static int os2_open(const char *name, int oflag)
- }
- #endif
- 
--static void dvd_read_name(char *name, char *serial, const char *device) {
--    /* Because we are compiling with _FILE_OFFSET_BITS=64
--     * all off_t are 64bit.
--     */
--    off_t off;
--    int fd, i;
--    uint8_t data[DVD_VIDEO_LB_LEN];
-+static int dvd_read_name(char *name, char *serial, const char *device) {
-+  /* Because we are compiling with _FILE_OFFSET_BITS=64
-+   * all off_t are 64bit.
-+   */
-+  off_t off;
-+  ssize_t read_size = 0;
-+  int fd = -1, i;
-+  uint8_t data[DVD_VIDEO_LB_LEN];
- 
--    /* Read DVD name */
--    fd = open(device, O_RDONLY);
--    if (fd > 0) {
--      off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET );
--      if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
--        off = read( fd, data, DVD_VIDEO_LB_LEN );
--        close(fd);
--        if (off == ( (off_t) DVD_VIDEO_LB_LEN )) {
--          fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
--          for(i=25; i < 73; i++ ) {
--            if((data[i] == 0)) break;
--            if((data[i] > 32) && (data[i] < 127)) {
--              fprintf(MSG_OUT, "%c", data[i]);
--            } else {
--              fprintf(MSG_OUT, " ");
--            }
--          }
--          strncpy(name, (char*) &data[25], 48);
--          name[48] = 0;
--          fprintf(MSG_OUT, "\nlibdvdnav: DVD Serial Number: ");
--          for(i=73; i < 89; i++ ) {
--            if((data[i] == 0)) break;
--            if((data[i] > 32) && (data[i] < 127)) {
--              fprintf(MSG_OUT, "%c", data[i]);
--            } else {
--              fprintf(MSG_OUT, " ");
--            }
--          }
--          strncpy(serial, (char*) &data[73], (i-73));
--          serial[14] = 0;
--          fprintf(MSG_OUT, "\nlibdvdnav: DVD Title (Alternative): ");
--          for(i=89; i < 128; i++ ) {
--            if((data[i] == 0)) break;
--            if((data[i] > 32) && (data[i] < 127)) {
--              fprintf(MSG_OUT, "%c", data[i]);
--            } else {
--              fprintf(MSG_OUT, " ");
--            }
--          }
--          fprintf(MSG_OUT, "\n");
--        } else {
--          fprintf(MSG_OUT, "libdvdnav: Can't read name block. Probably not a 
DVD-ROM device.\n");
--        }
--      } else {
--        fprintf(MSG_OUT, "libdvdnav: Can't seek to block %u\n", 32 );
--      }
--      close(fd);
-+  /* Read DVD name */
-+  if (device == NULL) {
-+    fprintf(MSG_OUT, "libdvdnav: Device name string NULL\n");
-+    goto fail;
-+  }
-+  if ((fd = open(device, O_RDONLY)) == -1) {
-+    fprintf(MSG_OUT, "libdvdnav: Unable to open device file %s.\n", device);
-+    goto fail;
-+  }
-+
-+  if ((off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET )) == (off_t) 
- 1) {
-+    fprintf(MSG_OUT, "libdvdnav: Unable to seek to the title block %u.\n", 
32);
-+    goto fail;
-+  }
-+
-+  if( off != ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
-+    fprintf(MSG_OUT, "libdvdnav: Can't seek to block %u\n", 32 );
-+    goto fail;
-+  }
-+
-+  if ((read_size = read( fd, data, DVD_VIDEO_LB_LEN )) == -1) {
-+    fprintf(MSG_OUT, "libdvdnav: Can't read name block. Probably not a 
DVD-ROM device.\n");
-+    goto fail;
-+  }
-+
-+  close(fd);
-+  fd = -1;
-+  if (read_size != DVD_VIDEO_LB_LEN) {
-+    fprintf(MSG_OUT, "libdvdnav: Can't read name block. Probably not a 
DVD-ROM device.\n");
-+    goto fail;
-+  }
-+
-+  fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
-+  for(i=25; i < 73; i++ ) {
-+    if((data[i] == 0)) break;
-+    if((data[i] > 32) && (data[i] < 127)) {
-+      fprintf(MSG_OUT, "%c", data[i]);
-     } else {
--    fprintf(MSG_OUT, "NAME OPEN FAILED\n");
-+      fprintf(MSG_OUT, " ");
-+    }
-   }
-+  strncpy(name, (char*) &data[25], 48);
-+  name[48] = 0;
-+  fprintf(MSG_OUT, "\nlibdvdnav: DVD Serial Number: ");
-+  for(i=73; i < 89; i++ ) {
-+    if((data[i] == 0)) break;
-+    if((data[i] > 32) && (data[i] < 127)) {
-+      fprintf(MSG_OUT, "%c", data[i]);
-+    } else {
-+      fprintf(MSG_OUT, " ");
-+    }
-+  }
-+  strncpy(serial, (char*) &data[73], (i-73));
-+  serial[14] = 0;
-+  fprintf(MSG_OUT, "\nlibdvdnav: DVD Title (Alternative): ");
-+  for(i=89; i < 128; i++ ) {
-+    if((data[i] == 0)) break;
-+    if((data[i] > 32) && (data[i] < 127)) {
-+      fprintf(MSG_OUT, "%c", data[i]);
-+    } else {
-+      fprintf(MSG_OUT, " ");
-+    }
-+  }
-+  fprintf(MSG_OUT, "\n");
-+  return 1;
-+
-+fail:
-+  if (fd >= 0)
-+    close(fd);
-+
-+  return 0;
- }
- 
- static int ifoOpenNewVTSI(vm_t *vm, dvd_reader_t *dvd, int vtsN) {
-@@ -268,7 +290,7 @@ vm_t* vm_new_vm() {
- }
- 
- void vm_free_vm(vm_t *vm) {
--  vm_stop(vm);
-+  vm_close(vm);
-   free(vm);
- }
- 
-@@ -294,6 +316,12 @@ dvd_reader_t *vm_get_dvd_reader(vm_t *vm) {
- /* Basic Handling */
- 
- int vm_start(vm_t *vm) {
-+  if (vm->stopped) {
-+    if (!vm_reset(vm, NULL))
-+      return 0;
-+
-+    vm->stopped = 0;
-+  }
-   /* Set pgc to FP (First Play) pgc */
-   set_FP_PGC(vm);
-   process_command(vm, play_PGC(vm));
-@@ -301,6 +329,10 @@ int vm_start(vm_t *vm) {
- }
- 
- void vm_stop(vm_t *vm) {
-+  vm->stopped = 1;
-+}
-+
-+static void vm_close(vm_t *vm) {
-   if(vm->vmgi) {
-     ifoClose(vm->vmgi);
-     vm->vmgi=NULL;
-@@ -352,7 +384,7 @@ int vm_reset(vm_t *vm, const char *dvdroot) {
- 
-   if (vm->dvd && dvdroot) {
-     /* a new dvd device has been requested */
--    vm_stop(vm);
-+    vm_close(vm);
-   }
-   if (!vm->dvd) {
-     vm->dvd = DVDOpen(dvdroot);
-@@ -390,8 +422,8 @@ int vm_reset(vm_t *vm, const char *dvdroot) {
-       /* return 0; Not really used for now.. */
-     }
-     /* ifoRead_TXTDT_MGI(vmgi); Not implemented yet */
--    dvd_read_name(vm->dvd_name, vm->dvd_serial, dvdroot);
--    vm->map  = remap_loadmap(vm->dvd_name);
-+    if (dvd_read_name(vm->dvd_name, vm->dvd_serial, dvdroot) == 1)
-+      vm->map  = remap_loadmap(vm->dvd_name);
-   }
-   if (vm->vmgi) {
-     int i, mask;
-@@ -414,7 +446,8 @@ vm_t *vm_new_copy(vm_t *source) {
-   int pgcN = get_PGCN(source);
-   int pgN  = (source->state).pgN;
- 
--  assert(pgcN);
-+  if (target == NULL || pgcN == 0)
-+    goto fail;
- 
-   memcpy(target, source, sizeof(vm_t));
- 
-@@ -424,15 +457,22 @@ vm_t *vm_new_copy(vm_t *source) {
-   if (vtsN > 0) {
-     (target->state).vtsN = 0;
-     if (!ifoOpenNewVTSI(target, target->dvd, vtsN))
--      assert(0);
-+      goto fail;
- 
-     /* restore pgc pointer into the new vtsi */
-     if (!set_PGCN(target, pgcN))
--      assert(0);
-+      goto fail;
-+
-     (target->state).pgN = pgN;
-   }
- 
-   return target;
-+
-+fail:
-+  if (target != NULL)
-+    vm_free_vm(target);
-+
-+  return NULL;
- }
- 
- void vm_merge(vm_t *target, vm_t *source) {
-@@ -1050,7 +1090,7 @@ static link_t play_PGC_PG(vm_t *vm, int pgN) {
- }
- 
- static link_t play_PGC_post(vm_t *vm) {
--  link_t link_values;
-+  link_t link_values = { LinkNoLink, 0, 0, 0 };
- 
- #ifdef TRACE
-   fprintf(MSG_OUT, "libdvdnav: play_PGC_post:\n");
-@@ -1129,7 +1169,7 @@ static link_t play_Cell(vm_t *vm) {
-     case 1: /*  Angle block */
-       /* Loop and check each cell instead? So we don't get outside the block? 
*/
-       (vm->state).cellN += (vm->state).AGL_REG - 1;
--#ifdef STRICT
-+#ifdef DVDNAV_STRICT
-       assert((vm->state).cellN <= (vm->state).pgc->nr_of_cells);
-       assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode 
!= 0);
-       assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_type 
== 1);
-@@ -1187,15 +1227,6 @@ static link_t play_Cell_post(vm_t *vm) {
-   if(cell->cell_cmd_nr != 0) {
-     link_t link_values;
- 
--/*  These asserts are now not needed.
-- *  Some DVDs have no cell commands listed in the PGC,
-- *  but the Cell itself points to a cell command that does not exist.
-- *  For this situation, just ignore the cell command and continue.
-- *
-- *  assert((vm->state).pgc->command_tbl != NULL);
-- *  assert((vm->state).pgc->command_tbl->nr_of_cell >= cell->cell_cmd_nr);
-- */
--
-     if ((vm->state).pgc->command_tbl != NULL &&
-         (vm->state).pgc->command_tbl->nr_of_cell >= cell->cell_cmd_nr) {
- #ifdef TRACE
-@@ -1762,7 +1793,8 @@ static int set_PGCN(vm_t *vm, int pgcN) {
-   pgcit_t *pgcit;
- 
-   pgcit = get_PGCIT(vm);
--  assert(pgcit != NULL);  /* ?? Make this return -1 instead */
-+  if (pgcit == NULL)
-+    return 0;
- 
-   if(pgcN < 1 || pgcN > pgcit->nr_of_pgci_srp) {
- #ifdef TRACE
-@@ -1797,12 +1829,11 @@ static int set_PGN(vm_t *vm) {
-   (vm->state).pgN = new_pgN;
- 
-   if((vm->state).domain == VTS_DOMAIN) {
--    playback_type_t *pb_ty;
-     if((vm->state).TTN_REG > vm->vmgi->tt_srpt->nr_of_srpts)
-       return 0; /* ?? */
--    pb_ty = &vm->vmgi->tt_srpt->title[(vm->state).TTN_REG - 1].pb_ty;
--      vm_get_current_title_part(vm, &dummy, &part);
--      (vm->state).PTTN_REG = part;
-+
-+    vm_get_current_title_part(vm, &dummy, &part);
-+    (vm->state).PTTN_REG = part;
-   }
-   return 1;
- }
Index: multimedia/libdvdnav/pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/multimedia/libdvdnav/pkg/PLIST,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 PLIST
--- multimedia/libdvdnav/pkg/PLIST      5 Sep 2012 08:09:27 -0000       1.5
+++ multimedia/libdvdnav/pkg/PLIST      23 Oct 2014 00:51:27 -0000
@@ -1,5 +1,4 @@
 @comment $OpenBSD: PLIST,v 1.5 2012/09/05 08:09:27 ajacoutot Exp $
-bin/dvdnav-config
 include/dvdnav/
 include/dvdnav/dvd_types.h
 include/dvdnav/dvdnav.h
@@ -7,10 +6,10 @@ include/dvdnav/dvdnav_events.h
 lib/libdvdnav.a
 lib/libdvdnav.la
 @lib lib/libdvdnav.so.${LIBdvdnav_VERSION}
-lib/libdvdnavmini.a
-lib/libdvdnavmini.la
-@lib lib/libdvdnavmini.so.${LIBdvdnavmini_VERSION}
 lib/pkgconfig/dvdnav.pc
-lib/pkgconfig/dvdnavmini.pc
-share/aclocal/
-share/aclocal/dvdnav.m4
+share/doc/libdvdnav/
+share/doc/libdvdnav/AUTHORS
+share/doc/libdvdnav/COPYING
+share/doc/libdvdnav/ChangeLog
+share/doc/libdvdnav/README
+share/doc/libdvdnav/TODO
Index: converters/libdvdcss/Makefile
===================================================================
RCS file: /home/cvs/ports/converters/libdvdcss/Makefile,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 Makefile
--- converters/libdvdcss/Makefile       23 Mar 2013 23:28:14 -0000      1.23
+++ converters/libdvdcss/Makefile       23 Oct 2014 00:13:35 -0000
@@ -2,13 +2,13 @@
 
 COMMENT=       descramble scrambled DVDs
 
-VER=           1.2.13
+VER=           1.3.0
 DISTNAME=      libdvdcss-${VER}
 CATEGORIES=    converters
-MASTER_SITES=  http://download.videolan.org/pub/libdvdcss/${VER}/
+MASTER_SITES=  http://download.videolan.org/pub/videolan/libdvdcss/${VER}/
 EXTRACT_SUFX=  .tar.bz2
 
-SHARED_LIBS=   dvdcss  3.0
+SHARED_LIBS=   dvdcss  4.0
 
 HOMEPAGE=      http://www.videolan.org/developers/libdvdcss.html
 
@@ -16,8 +16,7 @@ HOMEPAGE=     http://www.videolan.org/develo
 PERMIT_PACKAGE_CDROM=  Free speech issue
 PERMIT_PACKAGE_FTP=    Yes
 
-CONFIGURE_STYLE= autoconf
-AUTOCONF_VERSION= 2.69
+CONFIGURE_STYLE= gnu
 CONFIGURE_ARGS=        --disable-doc
 
 .include <bsd.port.mk>
Index: converters/libdvdcss/distinfo
===================================================================
RCS file: /home/cvs/ports/converters/libdvdcss/distinfo,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 distinfo
--- converters/libdvdcss/distinfo       23 Mar 2013 23:28:14 -0000      1.14
+++ converters/libdvdcss/distinfo       23 Oct 2014 00:01:07 -0000
@@ -1,2 +1,2 @@
-SHA256 (libdvdcss-1.2.13.tar.bz2) = 
hPG7ps/vHfh/d0/OrvyOc8TNoy6PZwCyJK0Ky1URuiw=
-SIZE (libdvdcss-1.2.13.tar.bz2) = 338588
+SHA256 (libdvdcss-1.3.0.tar.bz2) = fEFKzVIMTk3XJnlS9y1zj/UDIaeGmvTXXGWu+tRPE5U=
+SIZE (libdvdcss-1.3.0.tar.bz2) = 355417
Index: converters/libdvdcss/patches/patch-Makefile_in
===================================================================
RCS file: converters/libdvdcss/patches/patch-Makefile_in
diff -N converters/libdvdcss/patches/patch-Makefile_in
--- converters/libdvdcss/patches/patch-Makefile_in      23 Mar 2013 23:28:14 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Makefile_in,v 1.1 2013/03/23 23:28:14 brad Exp $
---- Makefile.in.orig   Sun Mar 10 22:39:43 2013
-+++ Makefile.in        Sun Mar 10 22:40:25 2013
-@@ -53,7 +53,7 @@ POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
- EXTRA_PROGRAMS = csstest$(EXEEXT) dvd_region$(EXEEXT)
--@SYS_MSVC_FALSE@am__append_1 = = -no-undefined
-+@SYS_MSVC_FALSE@am__append_1 = -no-undefined
- subdir = .
- DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
-       $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
Index: converters/libdvdcss/patches/patch-configure_ac
===================================================================
RCS file: converters/libdvdcss/patches/patch-configure_ac
diff -N converters/libdvdcss/patches/patch-configure_ac
--- converters/libdvdcss/patches/patch-configure_ac     23 Mar 2013 23:28:14 
-0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.3 2013/03/23 23:28:14 brad Exp $
---- configure.ac.orig  Wed Feb 27 05:05:35 2013
-+++ configure.ac       Sun Mar 10 22:32:05 2013
-@@ -222,12 +222,14 @@ CC_FLAG_VISIBILITY([
- AM_CONDITIONAL(SYS_MSVC, test "${SYS_MSVC}" = "1")
- 
- AC_ARG_ENABLE([doc],
--  AS_HELP_STRING([--disable-apidoc], [Disable building (with Doxygen) and 
intalling API documentation @<:@default=auto@:@>]))
-+  AS_HELP_STRING([--disable-doc], [Disable building (with Doxygen) and 
intalling API documentation @<:@default=auto@:@>]))
- 
--AC_PATH_PROG([DOXYGEN], [doxygen])
-+AS_IF([test "x$enable_doc" != "xno"], [
-+  AC_PATH_PROG([DOXYGEN], [doxygen])
-+])
- 
- AS_IF([test "x$DOXYGEN" = "x"], [
--  AS_IF([test "x$enable_apidoc" = "xyes"], [
-+  AS_IF([test "x$enable_doc" = "xyes"], [
-     AC_MSG_ERROR([You need Doxygen to build API documentation])
-   ])
- ])
Index: converters/libdvdcss/patches/patch-src_css_c
===================================================================
RCS file: /home/cvs/ports/converters/libdvdcss/patches/patch-src_css_c,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-src_css_c
--- converters/libdvdcss/patches/patch-src_css_c        23 Mar 2013 23:28:14 
-0000      1.3
+++ converters/libdvdcss/patches/patch-src_css_c        23 Oct 2014 00:09:48 
-0000
@@ -1,23 +1,23 @@
 $OpenBSD: patch-src_css_c,v 1.3 2013/03/23 23:28:14 brad Exp $
---- src/css.c.orig     Tue Feb 26 03:08:35 2013
-+++ src/css.c  Sun Mar 10 22:29:29 2013
-@@ -219,10 +219,13 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
+--- src/css.c.orig     Sun Mar 17 10:45:09 2013
++++ src/css.c  Wed Oct 22 20:09:31 2014
+@@ -221,10 +221,13 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
          {
-             char psz_key[KEY_SIZE * 3];
+             char psz_key[PSZ_KEY_SIZE];
              unsigned int k0, k1, k2, k3, k4;
 +            int n;
  
--            psz_key[KEY_SIZE * 3 - 1] = '\0';
+-            psz_key[PSZ_KEY_SIZE - 1] = '\0';
 +            memset(psz_key, 0, sizeof psz_key);
-+            n = read( i_fd, psz_key, KEY_SIZE * 3 - 1 );
++            n = read( i_fd, psz_key, PSZ_KEY_SIZE - 1 );
 +            close( i_fd );
  
--            if( read( i_fd, psz_key, KEY_SIZE * 3 - 1 ) == KEY_SIZE * 3 - 1
-+            if( n == KEY_SIZE * 3 - 1
+-            if( read( i_fd, psz_key, PSZ_KEY_SIZE - 1 ) == PSZ_KEY_SIZE - 1
++            if( n == PSZ_KEY_SIZE - 1
                   && sscanf( psz_key, "%x:%x:%x:%x:%x",
                              &k0, &k1, &k2, &k3, &k4 ) == 5 )
              {
-@@ -236,9 +239,12 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
+@@ -238,9 +241,12 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
                  /* Don't try to save it again */
                  b_cache = 0;
                  i_ret = 1;
@@ -32,7 +32,7 @@ $OpenBSD: patch-src_css_c,v 1.3 2013/03/
          }
      }
  
-@@ -250,6 +256,15 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
+@@ -252,6 +258,15 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
          if( i_ret < 0 )
          {
              print_error( dvdcss, "fatal error in VTS CSS key" );
Index: converters/libdvdcss/pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/converters/libdvdcss/pkg/PLIST,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 PLIST
--- converters/libdvdcss/pkg/PLIST      23 Mar 2013 23:28:15 -0000      1.9
+++ converters/libdvdcss/pkg/PLIST      23 Oct 2014 00:11:08 -0000
@@ -4,7 +4,6 @@ include/dvdcss/dvdcss.h
 lib/libdvdcss.a
 lib/libdvdcss.la
 @lib lib/libdvdcss.so.${LIBdvdcss_VERSION}
-lib/pkgconfig/
 lib/pkgconfig/libdvdcss.pc
 share/doc/libdvdcss/
 share/doc/libdvdcss/AUTHORS

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply via email to