mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
o update to 0.9.2 (shared lib version bump)
o CFLAGS safeness (tweakable by WITH_OPTIMIZED_CFLAGS) o support NOPORTDOCS PR: 31312 Submitted by: Rahul Siddharthan <rsidd@online.fr>, Thomas E. Zander <riggs@hadiko.de> Approved by: MAINTAINER
This commit is contained in:
parent
8209ae298d
commit
d0548d082b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=48891
@ -6,23 +6,38 @@
|
||||
#
|
||||
|
||||
PORTNAME= libdvdread
|
||||
PORTVERSION= 0.8.0
|
||||
PORTVERSION= 0.9.2
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://www.dtek.chalmers.se/groups/dvd/
|
||||
MASTER_SITES= http://www.dtek.chalmers.se/groups/dvd/dist/
|
||||
|
||||
MAINTAINER= 3d@FreeBSD.org
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_AUTOMAKE= yes
|
||||
AUTOMAKE_ARGS= --add-missing --copy
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LIBTOOL= yes
|
||||
INSTALLS_SHLIB= yes
|
||||
|
||||
USE_NEWGCC= yes
|
||||
DOC_FILES= AUTHORS NEWS README TODO
|
||||
|
||||
# cf the excellent goat book:
|
||||
# http://sources.redhat.com/autobook/autobook/autobook_43.html
|
||||
post-patch:
|
||||
@cd ${WRKSRC} && ./bootstrap
|
||||
# optional CFLAGS safeness
|
||||
.if !defined(WITH_OPTIMIZED_CFLAGS)
|
||||
USE_AUTOCONF= yes
|
||||
EXTRA_PATCHES= ${FILESDIR}/extra-patch-configure.in
|
||||
.endif
|
||||
|
||||
pre-everything::
|
||||
.if !defined(WITH_OPTIMIZED_CFLAGS)
|
||||
@${ECHO_MSG} "====> If you want to enable optimizations, please define WITH_OPTIMIZED_CFLAGS"
|
||||
.endif
|
||||
|
||||
post-configure:
|
||||
@${LN} -sf ${LOCALBASE}/bin/libtool ${WRKSRC}
|
||||
|
||||
post-install:
|
||||
.if !defined(NOPORTDOCS)
|
||||
@${MKDIR} ${DOCSDIR}
|
||||
.for file in ${DOC_FILES}
|
||||
@${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1 +1 @@
|
||||
MD5 (libdvdread-0.8.0.tar.gz) = f74e3ecbad02a5c5fd679b539c341d8b
|
||||
MD5 (libdvdread-0.9.2.tar.gz) = 8898bad22d8183233f5c3d814fff5151
|
||||
|
39
graphics/libdvdread/files/extra-patch-configure.in
Normal file
39
graphics/libdvdread/files/extra-patch-configure.in
Normal file
@ -0,0 +1,39 @@
|
||||
--- configure.in.orig Wed Oct 17 19:06:20 2001
|
||||
+++ configure.in Wed Oct 17 19:06:41 2001
|
||||
@@ -9,36 +9,11 @@
|
||||
dnl GCC-specific flags
|
||||
if test x"$GCC" = x"yes"; then
|
||||
|
||||
- dnl -O2
|
||||
changequote(<<,>>)
|
||||
OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[s0-9]*//g;"`
|
||||
changequote([,])
|
||||
- OPT_CFLAGS="$OPT_CFLAGS -O2"
|
||||
AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
|
||||
|
||||
- dnl arch-specific flags
|
||||
- case "$host_alias" in
|
||||
- i?86-* | k?-*)
|
||||
- case "$host_alias" in
|
||||
- i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
|
||||
- i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
|
||||
- i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
|
||||
- i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
|
||||
- k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
|
||||
- esac
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- sparc-*)
|
||||
- OPT_CFLAGS="$CFLAGS -mcpu=ultrasparc -mvis"
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- esac
|
||||
-else
|
||||
-
|
||||
- dnl non-gcc flags - we probably need exact configuration triplets here.
|
||||
- case "$host_alias" in
|
||||
- sparc-sun-solaris*)
|
||||
- OPT_CFLAGS="$CFLAGS -xCC -xmemalign"
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- esac
|
||||
fi
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- configure.in.orig Fri Jun 22 00:33:29 2001
|
||||
+++ configure.in Mon Jun 25 21:06:37 2001
|
||||
@@ -58,7 +58,7 @@
|
||||
fi
|
||||
AC_SUBST(STATIC)
|
||||
|
||||
-AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl, AC_MSG_ERROR(You need libdl (dlopen)))
|
||||
+DL_LIBS=
|
||||
AC_SUBST(DL_LIBS)
|
||||
|
||||
dnl AC_CHECK_GENERATE_INTTYPES(include)
|
@ -1,31 +0,0 @@
|
||||
--- dvdread/bswap.h.orig Sat Apr 7 17:35:10 2001
|
||||
+++ dvdread/bswap.h Wed Jun 27 01:23:04 2001
|
||||
@@ -27,7 +27,28 @@
|
||||
#define B2N_32(x) (void)(x)
|
||||
#define B2N_64(x) (void)(x)
|
||||
#else
|
||||
+#if defined(__FreeBSD__)
|
||||
+/* how about assmbler versions? */
|
||||
+#define bswap_16(x) \
|
||||
+ ((((x) & 0xff00) >> 8) | \
|
||||
+ (((x) & 0x00ff) << 8))
|
||||
+#define bswap_32(x) \
|
||||
+ ((((x) & 0xff000000) >> 24) | \
|
||||
+ (((x) & 0x00ff0000) >> 8) | \
|
||||
+ (((x) & 0x0000ff00) << 8) | \
|
||||
+ (((x) & 0x000000ff) << 24))
|
||||
+#define bswap_64(x) \
|
||||
+ ((((x) & 0xff00000000000000) >> 56) | \
|
||||
+ (((x) & 0x00ff000000000000) >> 40) | \
|
||||
+ (((x) & 0x0000ff0000000000) >> 24) | \
|
||||
+ (((x) & 0x000000ff00000000) >> 8) | \
|
||||
+ (((x) & 0x00000000ff000000) << 8) | \
|
||||
+ (((x) & 0x0000000000ff0000) << 24) | \
|
||||
+ (((x) & 0x000000000000ff00) << 40) | \
|
||||
+ (((x) & 0x00000000000000ff) << 56))
|
||||
+#else
|
||||
#include <byteswap.h>
|
||||
+#endif
|
||||
#define B2N_16(x) x = bswap_16((x))
|
||||
#define B2N_32(x) x = bswap_32((x))
|
||||
#define B2N_64(x) x = bswap_64((x))
|
@ -1,102 +0,0 @@
|
||||
--- dvdread/dvd_reader.c.orig Fri Jun 22 02:40:48 2001
|
||||
+++ dvdread/dvd_reader.c Mon Jun 25 22:57:38 2001
|
||||
@@ -30,6 +30,9 @@
|
||||
#if defined(__sun)
|
||||
#include <sys/mnttab.h>
|
||||
#define MNT_FILE MNTTAB
|
||||
+#elif defined(__FreeBSD__)
|
||||
+#undef MNT_FILE
|
||||
+#include <fstab.h>
|
||||
#else
|
||||
#include <mntent.h>
|
||||
#define MNT_FILE MOUNTED
|
||||
@@ -183,7 +186,11 @@
|
||||
} else if( S_ISDIR( fileinfo.st_mode ) ) {
|
||||
dvd_reader_t *auth_drive = 0;
|
||||
char *path_copy = strdup( path );
|
||||
+#if defined(__FreeBSD__)
|
||||
+ struct fstab* fe;
|
||||
+#else
|
||||
FILE *mntfile;
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* If we're being asked to open a directory, check if that directory is
|
||||
@@ -204,6 +211,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+ if ((fe = getfsfile(path_copy))) {
|
||||
+ fprintf(stderr,
|
||||
+ "libdvdread: Attempting to use block "
|
||||
+ "device %s on %s for CSS authentication.\n",
|
||||
+ fe->fs_spec,
|
||||
+ fe->fs_file);
|
||||
+ auth_drive = DVDOpenImageFile(fe->fs_file);
|
||||
+ }
|
||||
+#else
|
||||
mntfile = fopen( MNT_FILE, "r" );
|
||||
if( mntfile ) {
|
||||
#if defined(__sun)
|
||||
@@ -234,7 +251,7 @@
|
||||
#endif
|
||||
fclose( mntfile );
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
free( path_copy );
|
||||
|
||||
/**
|
||||
@@ -600,21 +617,39 @@
|
||||
|
||||
if( offset < dvd_file->title_sizes[ i ] ) {
|
||||
if( ( offset + block_count ) <= dvd_file->title_sizes[ i ] ) {
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i],
|
||||
+ offset * DVD_VIDEO_LB_LEN,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i ], offset
|
||||
* (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
+#endif
|
||||
ret = read( dvd_file->title_fds[ i ], data,
|
||||
block_count * DVD_VIDEO_LB_LEN );
|
||||
break;
|
||||
} else {
|
||||
|
||||
/* Read part 1 */
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i],
|
||||
+ offset * DVD_VIDEO_LB_LEN,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i ], offset
|
||||
* (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
+#endif
|
||||
ret = read( dvd_file->title_fds[ i ], data,
|
||||
dvd_file->title_sizes[ i ] - offset );
|
||||
|
||||
/* Read part 2 */
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i + 1],
|
||||
+ 0,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i + 1 ], 0, SEEK_SET );
|
||||
+#endif
|
||||
ret += read( dvd_file->title_fds[ i + 1 ],
|
||||
&(data[ ( dvd_file->title_sizes[ i ] - offset )
|
||||
* DVD_VIDEO_LB_LEN ]),
|
||||
@@ -653,7 +688,11 @@
|
||||
dvd_file->seek_pos = offset;
|
||||
return offset;
|
||||
} else {
|
||||
+#if defined(__FreeBSD__)
|
||||
+ return lseek(dvd_file->title_fds[0], offset, SEEK_SET);
|
||||
+#else
|
||||
return lseek64( dvd_file->title_fds[ 0 ], offset, SEEK_SET );
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
--- dvdread/dvd_reader.h.orig Mon Jun 18 05:29:13 2001
|
||||
+++ dvdread/dvd_reader.h Tue Jun 26 23:30:13 2001
|
||||
@@ -20,6 +20,11 @@
|
||||
#ifndef DVD_READER_H_INCLUDED
|
||||
#define DVD_READER_H_INCLUDED
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+#include <unistd.h>
|
||||
+typedef off_t off64_t;
|
||||
+#endif
|
||||
+
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
@ -1,16 +0,0 @@
|
||||
--- dvdread/dvd_udf.c.orig Fri May 25 08:31:22 2001
|
||||
+++ dvdread/dvd_udf.c Mon Jun 25 23:33:11 2001
|
||||
@@ -461,8 +461,12 @@
|
||||
if( fd < 0 )
|
||||
return 0;
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(fd, lb_number * DVD_VIDEO_LB_LEN, SEEK_SET);
|
||||
+#else
|
||||
lseek64( fd, (int64_t) lb_number * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
-
|
||||
+#endif
|
||||
+
|
||||
return read( fd, data, block_count * DVD_VIDEO_LB_LEN );
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
--- src/Makefile.am.orig Fri May 18 06:20:08 2001
|
||||
+++ src/Makefile.am Tue Jun 26 00:28:10 2001
|
||||
@@ -2,9 +2,9 @@
|
||||
noinst_PROGRAMS = ifo_dump play_title title_info
|
||||
|
||||
ifo_dump_SOURCES = ifo_dump.c
|
||||
-ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
play_title_SOURCES = play_title.c
|
||||
-play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
title_info_SOURCES = title_info.c
|
||||
-title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
|
@ -1,12 +1,17 @@
|
||||
lib/libdvdread.a
|
||||
lib/libdvdread.la
|
||||
lib/libdvdread.so
|
||||
lib/libdvdread.so.1
|
||||
lib/libdvdread.so.2
|
||||
include/dvdread/dvd_reader.h
|
||||
include/dvdread/dvd_udf.h
|
||||
include/dvdread/ifo_types.h
|
||||
include/dvdread/ifo_read.h
|
||||
include/dvdread/ifo_print.h
|
||||
include/dvdread/nav_types.h
|
||||
include/dvdread/nav_read.h
|
||||
include/dvdread/nav_print.h
|
||||
%%PORTDOCS%%share/doc/libdvdread/AUTHORS
|
||||
%%PORTDOCS%%share/doc/libdvdread/NEWS
|
||||
%%PORTDOCS%%share/doc/libdvdread/README
|
||||
%%PORTDOCS%%share/doc/libdvdread/TODO
|
||||
%%PORTDOCS%%@dirrm share/doc/libdvdread
|
||||
@dirrm include/dvdread
|
||||
|
@ -6,23 +6,38 @@
|
||||
#
|
||||
|
||||
PORTNAME= libdvdread
|
||||
PORTVERSION= 0.8.0
|
||||
PORTVERSION= 0.9.2
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://www.dtek.chalmers.se/groups/dvd/
|
||||
MASTER_SITES= http://www.dtek.chalmers.se/groups/dvd/dist/
|
||||
|
||||
MAINTAINER= 3d@FreeBSD.org
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_AUTOMAKE= yes
|
||||
AUTOMAKE_ARGS= --add-missing --copy
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LIBTOOL= yes
|
||||
INSTALLS_SHLIB= yes
|
||||
|
||||
USE_NEWGCC= yes
|
||||
DOC_FILES= AUTHORS NEWS README TODO
|
||||
|
||||
# cf the excellent goat book:
|
||||
# http://sources.redhat.com/autobook/autobook/autobook_43.html
|
||||
post-patch:
|
||||
@cd ${WRKSRC} && ./bootstrap
|
||||
# optional CFLAGS safeness
|
||||
.if !defined(WITH_OPTIMIZED_CFLAGS)
|
||||
USE_AUTOCONF= yes
|
||||
EXTRA_PATCHES= ${FILESDIR}/extra-patch-configure.in
|
||||
.endif
|
||||
|
||||
pre-everything::
|
||||
.if !defined(WITH_OPTIMIZED_CFLAGS)
|
||||
@${ECHO_MSG} "====> If you want to enable optimizations, please define WITH_OPTIMIZED_CFLAGS"
|
||||
.endif
|
||||
|
||||
post-configure:
|
||||
@${LN} -sf ${LOCALBASE}/bin/libtool ${WRKSRC}
|
||||
|
||||
post-install:
|
||||
.if !defined(NOPORTDOCS)
|
||||
@${MKDIR} ${DOCSDIR}
|
||||
.for file in ${DOC_FILES}
|
||||
@${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1 +1 @@
|
||||
MD5 (libdvdread-0.8.0.tar.gz) = f74e3ecbad02a5c5fd679b539c341d8b
|
||||
MD5 (libdvdread-0.9.2.tar.gz) = 8898bad22d8183233f5c3d814fff5151
|
||||
|
39
multimedia/libdvdread/files/extra-patch-configure.in
Normal file
39
multimedia/libdvdread/files/extra-patch-configure.in
Normal file
@ -0,0 +1,39 @@
|
||||
--- configure.in.orig Wed Oct 17 19:06:20 2001
|
||||
+++ configure.in Wed Oct 17 19:06:41 2001
|
||||
@@ -9,36 +9,11 @@
|
||||
dnl GCC-specific flags
|
||||
if test x"$GCC" = x"yes"; then
|
||||
|
||||
- dnl -O2
|
||||
changequote(<<,>>)
|
||||
OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[s0-9]*//g;"`
|
||||
changequote([,])
|
||||
- OPT_CFLAGS="$OPT_CFLAGS -O2"
|
||||
AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
|
||||
|
||||
- dnl arch-specific flags
|
||||
- case "$host_alias" in
|
||||
- i?86-* | k?-*)
|
||||
- case "$host_alias" in
|
||||
- i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
|
||||
- i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
|
||||
- i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
|
||||
- i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
|
||||
- k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
|
||||
- esac
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- sparc-*)
|
||||
- OPT_CFLAGS="$CFLAGS -mcpu=ultrasparc -mvis"
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- esac
|
||||
-else
|
||||
-
|
||||
- dnl non-gcc flags - we probably need exact configuration triplets here.
|
||||
- case "$host_alias" in
|
||||
- sparc-sun-solaris*)
|
||||
- OPT_CFLAGS="$CFLAGS -xCC -xmemalign"
|
||||
- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
|
||||
- esac
|
||||
fi
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- configure.in.orig Fri Jun 22 00:33:29 2001
|
||||
+++ configure.in Mon Jun 25 21:06:37 2001
|
||||
@@ -58,7 +58,7 @@
|
||||
fi
|
||||
AC_SUBST(STATIC)
|
||||
|
||||
-AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl, AC_MSG_ERROR(You need libdl (dlopen)))
|
||||
+DL_LIBS=
|
||||
AC_SUBST(DL_LIBS)
|
||||
|
||||
dnl AC_CHECK_GENERATE_INTTYPES(include)
|
@ -1,31 +0,0 @@
|
||||
--- dvdread/bswap.h.orig Sat Apr 7 17:35:10 2001
|
||||
+++ dvdread/bswap.h Wed Jun 27 01:23:04 2001
|
||||
@@ -27,7 +27,28 @@
|
||||
#define B2N_32(x) (void)(x)
|
||||
#define B2N_64(x) (void)(x)
|
||||
#else
|
||||
+#if defined(__FreeBSD__)
|
||||
+/* how about assmbler versions? */
|
||||
+#define bswap_16(x) \
|
||||
+ ((((x) & 0xff00) >> 8) | \
|
||||
+ (((x) & 0x00ff) << 8))
|
||||
+#define bswap_32(x) \
|
||||
+ ((((x) & 0xff000000) >> 24) | \
|
||||
+ (((x) & 0x00ff0000) >> 8) | \
|
||||
+ (((x) & 0x0000ff00) << 8) | \
|
||||
+ (((x) & 0x000000ff) << 24))
|
||||
+#define bswap_64(x) \
|
||||
+ ((((x) & 0xff00000000000000) >> 56) | \
|
||||
+ (((x) & 0x00ff000000000000) >> 40) | \
|
||||
+ (((x) & 0x0000ff0000000000) >> 24) | \
|
||||
+ (((x) & 0x000000ff00000000) >> 8) | \
|
||||
+ (((x) & 0x00000000ff000000) << 8) | \
|
||||
+ (((x) & 0x0000000000ff0000) << 24) | \
|
||||
+ (((x) & 0x000000000000ff00) << 40) | \
|
||||
+ (((x) & 0x00000000000000ff) << 56))
|
||||
+#else
|
||||
#include <byteswap.h>
|
||||
+#endif
|
||||
#define B2N_16(x) x = bswap_16((x))
|
||||
#define B2N_32(x) x = bswap_32((x))
|
||||
#define B2N_64(x) x = bswap_64((x))
|
@ -1,102 +0,0 @@
|
||||
--- dvdread/dvd_reader.c.orig Fri Jun 22 02:40:48 2001
|
||||
+++ dvdread/dvd_reader.c Mon Jun 25 22:57:38 2001
|
||||
@@ -30,6 +30,9 @@
|
||||
#if defined(__sun)
|
||||
#include <sys/mnttab.h>
|
||||
#define MNT_FILE MNTTAB
|
||||
+#elif defined(__FreeBSD__)
|
||||
+#undef MNT_FILE
|
||||
+#include <fstab.h>
|
||||
#else
|
||||
#include <mntent.h>
|
||||
#define MNT_FILE MOUNTED
|
||||
@@ -183,7 +186,11 @@
|
||||
} else if( S_ISDIR( fileinfo.st_mode ) ) {
|
||||
dvd_reader_t *auth_drive = 0;
|
||||
char *path_copy = strdup( path );
|
||||
+#if defined(__FreeBSD__)
|
||||
+ struct fstab* fe;
|
||||
+#else
|
||||
FILE *mntfile;
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* If we're being asked to open a directory, check if that directory is
|
||||
@@ -204,6 +211,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+ if ((fe = getfsfile(path_copy))) {
|
||||
+ fprintf(stderr,
|
||||
+ "libdvdread: Attempting to use block "
|
||||
+ "device %s on %s for CSS authentication.\n",
|
||||
+ fe->fs_spec,
|
||||
+ fe->fs_file);
|
||||
+ auth_drive = DVDOpenImageFile(fe->fs_file);
|
||||
+ }
|
||||
+#else
|
||||
mntfile = fopen( MNT_FILE, "r" );
|
||||
if( mntfile ) {
|
||||
#if defined(__sun)
|
||||
@@ -234,7 +251,7 @@
|
||||
#endif
|
||||
fclose( mntfile );
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
free( path_copy );
|
||||
|
||||
/**
|
||||
@@ -600,21 +617,39 @@
|
||||
|
||||
if( offset < dvd_file->title_sizes[ i ] ) {
|
||||
if( ( offset + block_count ) <= dvd_file->title_sizes[ i ] ) {
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i],
|
||||
+ offset * DVD_VIDEO_LB_LEN,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i ], offset
|
||||
* (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
+#endif
|
||||
ret = read( dvd_file->title_fds[ i ], data,
|
||||
block_count * DVD_VIDEO_LB_LEN );
|
||||
break;
|
||||
} else {
|
||||
|
||||
/* Read part 1 */
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i],
|
||||
+ offset * DVD_VIDEO_LB_LEN,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i ], offset
|
||||
* (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
+#endif
|
||||
ret = read( dvd_file->title_fds[ i ], data,
|
||||
dvd_file->title_sizes[ i ] - offset );
|
||||
|
||||
/* Read part 2 */
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(dvd_file->title_fds[i + 1],
|
||||
+ 0,
|
||||
+ SEEK_SET);
|
||||
+#else
|
||||
lseek64( dvd_file->title_fds[ i + 1 ], 0, SEEK_SET );
|
||||
+#endif
|
||||
ret += read( dvd_file->title_fds[ i + 1 ],
|
||||
&(data[ ( dvd_file->title_sizes[ i ] - offset )
|
||||
* DVD_VIDEO_LB_LEN ]),
|
||||
@@ -653,7 +688,11 @@
|
||||
dvd_file->seek_pos = offset;
|
||||
return offset;
|
||||
} else {
|
||||
+#if defined(__FreeBSD__)
|
||||
+ return lseek(dvd_file->title_fds[0], offset, SEEK_SET);
|
||||
+#else
|
||||
return lseek64( dvd_file->title_fds[ 0 ], offset, SEEK_SET );
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
--- dvdread/dvd_reader.h.orig Mon Jun 18 05:29:13 2001
|
||||
+++ dvdread/dvd_reader.h Tue Jun 26 23:30:13 2001
|
||||
@@ -20,6 +20,11 @@
|
||||
#ifndef DVD_READER_H_INCLUDED
|
||||
#define DVD_READER_H_INCLUDED
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+#include <unistd.h>
|
||||
+typedef off_t off64_t;
|
||||
+#endif
|
||||
+
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
@ -1,16 +0,0 @@
|
||||
--- dvdread/dvd_udf.c.orig Fri May 25 08:31:22 2001
|
||||
+++ dvdread/dvd_udf.c Mon Jun 25 23:33:11 2001
|
||||
@@ -461,8 +461,12 @@
|
||||
if( fd < 0 )
|
||||
return 0;
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+ lseek(fd, lb_number * DVD_VIDEO_LB_LEN, SEEK_SET);
|
||||
+#else
|
||||
lseek64( fd, (int64_t) lb_number * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
|
||||
-
|
||||
+#endif
|
||||
+
|
||||
return read( fd, data, block_count * DVD_VIDEO_LB_LEN );
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
--- src/Makefile.am.orig Fri May 18 06:20:08 2001
|
||||
+++ src/Makefile.am Tue Jun 26 00:28:10 2001
|
||||
@@ -2,9 +2,9 @@
|
||||
noinst_PROGRAMS = ifo_dump play_title title_info
|
||||
|
||||
ifo_dump_SOURCES = ifo_dump.c
|
||||
-ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
play_title_SOURCES = play_title.c
|
||||
-play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
title_info_SOURCES = title_info.c
|
||||
-title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
|
||||
+title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la
|
||||
|
@ -1,12 +1,17 @@
|
||||
lib/libdvdread.a
|
||||
lib/libdvdread.la
|
||||
lib/libdvdread.so
|
||||
lib/libdvdread.so.1
|
||||
lib/libdvdread.so.2
|
||||
include/dvdread/dvd_reader.h
|
||||
include/dvdread/dvd_udf.h
|
||||
include/dvdread/ifo_types.h
|
||||
include/dvdread/ifo_read.h
|
||||
include/dvdread/ifo_print.h
|
||||
include/dvdread/nav_types.h
|
||||
include/dvdread/nav_read.h
|
||||
include/dvdread/nav_print.h
|
||||
%%PORTDOCS%%share/doc/libdvdread/AUTHORS
|
||||
%%PORTDOCS%%share/doc/libdvdread/NEWS
|
||||
%%PORTDOCS%%share/doc/libdvdread/README
|
||||
%%PORTDOCS%%share/doc/libdvdread/TODO
|
||||
%%PORTDOCS%%@dirrm share/doc/libdvdread
|
||||
@dirrm include/dvdread
|
||||
|
Loading…
Reference in New Issue
Block a user