From van.woerkom@netcologne.de  Mon Jun 25 16:35:23 2001
Return-Path: <van.woerkom@netcologne.de>
Received: from mr200.netcologne.de (mr200.netcologne.de [194.8.194.109])
	by hub.freebsd.org (Postfix) with ESMTP id 1CD2537B401
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Jun 2001 16:35:23 -0700 (PDT)
	(envelope-from van.woerkom@netcologne.de)
Received: from oranje.my.domain (dial-195-14-250-90.netcologne.de [195.14.250.90])
	by mr200.netcologne.de (Mirapoint)
	with ESMTP id AHM37151;
	Tue, 26 Jun 2001 01:33:16 +0200 (CEST)
Received: (from marc@localhost)
	by oranje.my.domain (8.11.3/8.11.3) id f5PNWJU69674;
	Tue, 26 Jun 2001 01:32:19 +0200 (CEST)
	(envelope-from van.woerkom@netcologne.de)
Message-Id: <200106252332.f5PNWJU69674@oranje.my.domain>
Date: Tue, 26 Jun 2001 01:32:19 +0200 (CEST)
From: Marc van Woerkom <van.woerkom@netcologne.de>
Reply-To: 3d@freebsd.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: New port: libdvdread

>Number:         28410
>Category:       ports
>Synopsis:       New port: libdvdread
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jun 25 16:40:03 PDT 2001
>Closed-Date:    Sat Jul 7 06:07:32 PDT 2001
>Last-Modified:  Mon Jul 05 16:48:35 GMT 2004
>Originator:     Marc van Woerkom
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD oranje.my.domain 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Wed May 2 18:47:49 CEST 2001 marc@oranje.my.domain:/usr3/obj/usr/src/sys/ORANJE i386


	
>Description:
	This is the port of DVD access library for the ogle player.

        It still needs testing, so I submit this to allow feedback
        by fellow users.

	Have fun,
	Marc

>How-To-Repeat:
	
>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	libdvdread
#	libdvdread/files
#	libdvdread/files/patch-dvdread-dvd_reader.h
#	libdvdread/files/patch-configure.in
#	libdvdread/files/patch-src-Makefile.am
#	libdvdread/files/patch-dvdread-bswap.h
#	libdvdread/files/patch-dvdread-dvd_udf.c
#	libdvdread/files/patch-dvdread-dvd_reader.c
#	libdvdread/pkg-comment
#	libdvdread/Makefile
#	libdvdread/pkg-plist
#	libdvdread/pkg-descr
#	libdvdread/distinfo
#
echo c - libdvdread
mkdir -p libdvdread > /dev/null 2>&1
echo c - libdvdread/files
mkdir -p libdvdread/files > /dev/null 2>&1
echo x - libdvdread/files/patch-dvdread-dvd_reader.h
sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_reader.h << 'END-of-libdvdread/files/patch-dvdread-dvd_reader.h'
X--- dvdread/dvd_reader.h.orig	Mon Jun 18 05:29:13 2001
X+++ dvdread/dvd_reader.h	Mon Jun 25 22:58:22 2001
X@@ -20,6 +20,10 @@
X #ifndef DVD_READER_H_INCLUDED
X #define DVD_READER_H_INCLUDED
X 
X+#if defined(__FreeBSD__)
X+typedef fpos_t off64_t;
X+#endif
X+
X #include <sys/types.h>
X 
X #ifdef __cplusplus
END-of-libdvdread/files/patch-dvdread-dvd_reader.h
echo x - libdvdread/files/patch-configure.in
sed 's/^X//' >libdvdread/files/patch-configure.in << 'END-of-libdvdread/files/patch-configure.in'
X--- configure.in.orig	Fri Jun 22 00:33:29 2001
X+++ configure.in	Mon Jun 25 21:06:37 2001
X@@ -58,7 +58,7 @@
X fi
X AC_SUBST(STATIC)
X 
X-AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl, AC_MSG_ERROR(You need libdl (dlopen)))
X+DL_LIBS=
X AC_SUBST(DL_LIBS)
X 
X dnl AC_CHECK_GENERATE_INTTYPES(include)
END-of-libdvdread/files/patch-configure.in
echo x - libdvdread/files/patch-src-Makefile.am
sed 's/^X//' >libdvdread/files/patch-src-Makefile.am << 'END-of-libdvdread/files/patch-src-Makefile.am'
X--- src/Makefile.am.orig	Fri May 18 06:20:08 2001
X+++ src/Makefile.am	Tue Jun 26 00:28:10 2001
X@@ -2,9 +2,9 @@
X noinst_PROGRAMS = ifo_dump play_title title_info
X 
X ifo_dump_SOURCES = ifo_dump.c
X-ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
X+ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la
X play_title_SOURCES = play_title.c
X-play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
X+play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la
X title_info_SOURCES = title_info.c
X-title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
X+title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la
X 
END-of-libdvdread/files/patch-src-Makefile.am
echo x - libdvdread/files/patch-dvdread-bswap.h
sed 's/^X//' >libdvdread/files/patch-dvdread-bswap.h << 'END-of-libdvdread/files/patch-dvdread-bswap.h'
X--- dvdread/bswap.h.orig	Sat Apr  7 17:35:10 2001
X+++ dvdread/bswap.h	Tue Jun 26 00:09:23 2001
X@@ -27,7 +27,24 @@
X #define B2N_32(x) (void)(x)
X #define B2N_64(x) (void)(x)
X #else
X+#if defined(__FreeBSD__)
X+/* code from libac3/bswap.h */
X+#define bswap_16(x) ((((uint8_t*)&x)[2] << 8) \
X+			| (((uint8_t*)&x)[3]))
X+#define bswap_32(x) \
X+     ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >>  8) | \
X+      (((x) & 0x0000ff00) <<  8) | (((x) & 0x000000ff) << 24))
X+#define bswap_64(x) \
X+     (__extension__						\
X+      ({ union { __extension__ uint64_t __ll;                   \
X+                 uint32_t __l[2]; } __w, __r;                   \
X+         __w.__ll = (x);					\
X+         __r.__l[0] = bswap_32 (__w.__l[1]);			\
X+         __r.__l[1] = bswap_32 (__w.__l[0]);			\
X+         __r.__ll; }))
X+#else
X #include <byteswap.h>
X+#endif
X #define B2N_16(x) x = bswap_16((x))
X #define B2N_32(x) x = bswap_32((x))
X #define B2N_64(x) x = bswap_64((x))
END-of-libdvdread/files/patch-dvdread-bswap.h
echo x - libdvdread/files/patch-dvdread-dvd_udf.c
sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_udf.c << 'END-of-libdvdread/files/patch-dvdread-dvd_udf.c'
X--- dvdread/dvd_udf.c.orig	Fri May 25 08:31:22 2001
X+++ dvdread/dvd_udf.c	Mon Jun 25 23:33:11 2001
X@@ -461,8 +461,12 @@
X     if( fd < 0 )
X         return 0;
X 
X+#if defined(__FreeBSD__)    
X+    lseek(fd, lb_number * DVD_VIDEO_LB_LEN, SEEK_SET);
X+#else
X     lseek64( fd, (int64_t) lb_number * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
X-
X+#endif
X+    
X     return read( fd, data, block_count * DVD_VIDEO_LB_LEN );
X }
X 
END-of-libdvdread/files/patch-dvdread-dvd_udf.c
echo x - libdvdread/files/patch-dvdread-dvd_reader.c
sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_reader.c << 'END-of-libdvdread/files/patch-dvdread-dvd_reader.c'
X--- dvdread/dvd_reader.c.orig	Fri Jun 22 02:40:48 2001
X+++ dvdread/dvd_reader.c	Mon Jun 25 22:57:38 2001
X@@ -30,6 +30,9 @@
X #if defined(__sun)
X #include <sys/mnttab.h>
X #define MNT_FILE MNTTAB
X+#elif defined(__FreeBSD__)
X+#undef MNT_FILE
X+#include <fstab.h>
X #else
X #include <mntent.h>
X #define MNT_FILE MOUNTED
X@@ -183,7 +186,11 @@
X     } else if( S_ISDIR( fileinfo.st_mode ) ) {
X         dvd_reader_t *auth_drive = 0;
X         char *path_copy = strdup( path );
X+#if defined(__FreeBSD__)
X+        struct fstab* fe;
X+#else
X         FILE *mntfile;
X+#endif        
X 
X         /**
X          * If we're being asked to open a directory, check if that directory is
X@@ -204,6 +211,16 @@
X             }
X         }
X 
X+#if defined(__FreeBSD__)
X+        if ((fe = getfsfile(path_copy))) {
X+            fprintf(stderr,
X+                    "libdvdread: Attempting to use block "
X+                    "device %s on %s for CSS authentication.\n",
X+                    fe->fs_spec,
X+                    fe->fs_file);
X+            auth_drive = DVDOpenImageFile(fe->fs_file);
X+        }
X+#else
X         mntfile = fopen( MNT_FILE, "r" );
X         if( mntfile ) {
X #if defined(__sun)
X@@ -234,7 +251,7 @@
X #endif
X             fclose( mntfile );
X         }
X-
X+#endif
X         free( path_copy );
X 
X         /**
X@@ -600,21 +617,39 @@
X 
X         if( offset < dvd_file->title_sizes[ i ] ) {
X             if( ( offset + block_count ) <= dvd_file->title_sizes[ i ] ) {
X+#if defined(__FreeBSD__)
X+                lseek(dvd_file->title_fds[i],
X+                      offset * DVD_VIDEO_LB_LEN,
X+                      SEEK_SET);
X+#else                
X                 lseek64( dvd_file->title_fds[ i ], offset
X                          * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
X+#endif                
X                 ret = read( dvd_file->title_fds[ i ], data,
X                             block_count * DVD_VIDEO_LB_LEN );
X                 break;
X             } else {
X 
X                 /* Read part 1 */
X+#if defined(__FreeBSD__)
X+                lseek(dvd_file->title_fds[i],
X+                      offset * DVD_VIDEO_LB_LEN,
X+                      SEEK_SET);
X+#else
X                 lseek64( dvd_file->title_fds[ i ], offset
X                          * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
X+#endif                
X                 ret = read( dvd_file->title_fds[ i ], data,
X                             dvd_file->title_sizes[ i ] - offset );
X 
X                 /* Read part 2 */
X+#if defined(__FreeBSD__)
X+                lseek(dvd_file->title_fds[i + 1],
X+                      0,
X+                      SEEK_SET);
X+#else
X                 lseek64( dvd_file->title_fds[ i + 1 ], 0, SEEK_SET );
X+#endif                
X                 ret += read( dvd_file->title_fds[ i + 1 ],
X                              &(data[ ( dvd_file->title_sizes[ i ] - offset )
X                              * DVD_VIDEO_LB_LEN ]),
X@@ -653,7 +688,11 @@
X         dvd_file->seek_pos = offset;
X         return offset;
X     } else {
X+#if defined(__FreeBSD__)        
X+        return lseek(dvd_file->title_fds[0], offset, SEEK_SET);
X+#else
X         return lseek64( dvd_file->title_fds[ 0 ], offset, SEEK_SET );
X+#endif        
X     }
X }
X 
END-of-libdvdread/files/patch-dvdread-dvd_reader.c
echo x - libdvdread/pkg-comment
sed 's/^X//' >libdvdread/pkg-comment << 'END-of-libdvdread/pkg-comment'
XThis is needed by ogle
END-of-libdvdread/pkg-comment
echo x - libdvdread/Makefile
sed 's/^X//' >libdvdread/Makefile << 'END-of-libdvdread/Makefile'
X# New ports collection makefile for:	libdvdread
X# Date created:				24 Jun 2001
X# Whom:					Marc van Woerkom <3d@freebsd.org>
X#
X# $FreeBSD: $
X#
X
XPORTNAME=	libdvdread
XPORTVERSION=	0.8.0
XCATEGORIES=	graphics
XMASTER_SITES=	http://www.dtek.chalmers.se/groups/dvd/
X
XMAINTAINER=	3d@freebsd.org
X
XUSE_GMAKE=	yes
XUSE_AUTOMAKE=	yes
XAUTOMAKE_ARGS=	--add-missing  --copy
XUSE_LIBTOOL=	yes
XINSTALLS_SHLIB=	yes
X
XUSE_NEWGCC=	yes
X
X# cf the excellent goat book:
X#    http://sources.redhat.com/autobook/autobook/autobook_43.html
Xpost-patch:
X	@cd ${WRKSRC} && ./bootstrap
X
X.include <bsd.port.mk>
END-of-libdvdread/Makefile
echo x - libdvdread/pkg-plist
sed 's/^X//' >libdvdread/pkg-plist << 'END-of-libdvdread/pkg-plist'
Xlib/libdvdread.a
Xlib/libdvdread.so
Xlib/libdvdread.so.1
Xinclude/dvdread/dvd_reader.h
Xinclude/dvdread/dvd_udf.h
Xinclude/dvdread/ifo_types.h
Xinclude/dvdread/ifo_read.h
Xinclude/dvdread/ifo_print.h
Xinclude/dvdread/nav_types.h
Xinclude/dvdread/nav_read.h
Xinclude/dvdread/nav_print.h
X@dirrm include/dvdread
X
END-of-libdvdread/pkg-plist
echo x - libdvdread/pkg-descr
sed 's/^X//' >libdvdread/pkg-descr << 'END-of-libdvdread/pkg-descr'
XThis is needed by ogle.
X
XWWW: http://www.dtek.chalmers.se/groups/dvd/index.html
END-of-libdvdread/pkg-descr
echo x - libdvdread/distinfo
sed 's/^X//' >libdvdread/distinfo << 'END-of-libdvdread/distinfo'
XMD5 (libdvdread-0.8.0.tar.gz) = f74e3ecbad02a5c5fd679b539c341d8b
END-of-libdvdread/distinfo
exit

>Release-Note:
>Audit-Trail:

From: Marc van Woerkom <van.woerkom@netcologne.de>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: ports/28410: New port: libdvdread
Date: Wed, 27 Jun 2001 01:42:59 +0200 (CEST)

 Here is an update.
 
 You can test it with the executables from ${WORKSRC}/src
 
 Regards,
 Marc
 
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libdvdread
 #	libdvdread/files
 #	libdvdread/files/patch-dvdread-dvd_reader.h
 #	libdvdread/files/patch-configure.in
 #	libdvdread/files/patch-src-Makefile.am
 #	libdvdread/files/patch-dvdread-bswap.h
 #	libdvdread/files/patch-dvdread-dvd_udf.c
 #	libdvdread/files/patch-dvdread-dvd_reader.c
 #	libdvdread/pkg-comment
 #	libdvdread/Makefile
 #	libdvdread/pkg-plist
 #	libdvdread/pkg-descr
 #	libdvdread/distinfo
 #
 echo c - libdvdread
 mkdir -p libdvdread > /dev/null 2>&1
 echo c - libdvdread/files
 mkdir -p libdvdread/files > /dev/null 2>&1
 echo x - libdvdread/files/patch-dvdread-dvd_reader.h
 sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_reader.h << 'END-of-libdvdread/files/patch-dvdread-dvd_reader.h'
 X--- dvdread/dvd_reader.h.orig	Mon Jun 18 05:29:13 2001
 X+++ dvdread/dvd_reader.h	Tue Jun 26 23:30:13 2001
 X@@ -20,6 +20,11 @@
 X #ifndef DVD_READER_H_INCLUDED
 X #define DVD_READER_H_INCLUDED
 X 
 X+#if defined(__FreeBSD__)
 X+#include <unistd.h>
 X+typedef off_t off64_t;
 X+#endif
 X+
 X #include <sys/types.h>
 X 
 X #ifdef __cplusplus
 END-of-libdvdread/files/patch-dvdread-dvd_reader.h
 echo x - libdvdread/files/patch-configure.in
 sed 's/^X//' >libdvdread/files/patch-configure.in << 'END-of-libdvdread/files/patch-configure.in'
 X--- configure.in.orig	Fri Jun 22 00:33:29 2001
 X+++ configure.in	Mon Jun 25 21:06:37 2001
 X@@ -58,7 +58,7 @@
 X fi
 X AC_SUBST(STATIC)
 X 
 X-AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl, AC_MSG_ERROR(You need libdl (dlopen)))
 X+DL_LIBS=
 X AC_SUBST(DL_LIBS)
 X 
 X dnl AC_CHECK_GENERATE_INTTYPES(include)
 END-of-libdvdread/files/patch-configure.in
 echo x - libdvdread/files/patch-src-Makefile.am
 sed 's/^X//' >libdvdread/files/patch-src-Makefile.am << 'END-of-libdvdread/files/patch-src-Makefile.am'
 X--- src/Makefile.am.orig	Fri May 18 06:20:08 2001
 X+++ src/Makefile.am	Tue Jun 26 00:28:10 2001
 X@@ -2,9 +2,9 @@
 X noinst_PROGRAMS = ifo_dump play_title title_info
 X 
 X ifo_dump_SOURCES = ifo_dump.c
 X-ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
 X+ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la
 X play_title_SOURCES = play_title.c
 X-play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
 X+play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la
 X title_info_SOURCES = title_info.c
 X-title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
 X+title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la
 X 
 END-of-libdvdread/files/patch-src-Makefile.am
 echo x - libdvdread/files/patch-dvdread-bswap.h
 sed 's/^X//' >libdvdread/files/patch-dvdread-bswap.h << 'END-of-libdvdread/files/patch-dvdread-bswap.h'
 X--- dvdread/bswap.h.orig	Sat Apr  7 17:35:10 2001
 X+++ dvdread/bswap.h	Wed Jun 27 01:23:04 2001
 X@@ -27,7 +27,28 @@
 X #define B2N_32(x) (void)(x)
 X #define B2N_64(x) (void)(x)
 X #else
 X+#if defined(__FreeBSD__)
 X+/* how about assmbler versions? */
 X+#define bswap_16(x) \
 X+     ((((x) & 0xff00) >> 8) | \
 X+      (((x) & 0x00ff) << 8))
 X+#define bswap_32(x) \
 X+     ((((x) & 0xff000000) >> 24) | \
 X+      (((x) & 0x00ff0000) >>  8) | \
 X+      (((x) & 0x0000ff00) <<  8) | \
 X+      (((x) & 0x000000ff) << 24))
 X+#define bswap_64(x) \
 X+     ((((x) & 0xff00000000000000) >> 56) | \
 X+      (((x) & 0x00ff000000000000) >> 40) | \
 X+      (((x) & 0x0000ff0000000000) >> 24) | \
 X+      (((x) & 0x000000ff00000000) >>  8) | \
 X+      (((x) & 0x00000000ff000000) <<  8) | \
 X+      (((x) & 0x0000000000ff0000) << 24) | \
 X+      (((x) & 0x000000000000ff00) << 40) | \
 X+      (((x) & 0x00000000000000ff) << 56))
 X+#else
 X #include <byteswap.h>
 X+#endif
 X #define B2N_16(x) x = bswap_16((x))
 X #define B2N_32(x) x = bswap_32((x))
 X #define B2N_64(x) x = bswap_64((x))
 END-of-libdvdread/files/patch-dvdread-bswap.h
 echo x - libdvdread/files/patch-dvdread-dvd_udf.c
 sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_udf.c << 'END-of-libdvdread/files/patch-dvdread-dvd_udf.c'
 X--- dvdread/dvd_udf.c.orig	Fri May 25 08:31:22 2001
 X+++ dvdread/dvd_udf.c	Mon Jun 25 23:33:11 2001
 X@@ -461,8 +461,12 @@
 X     if( fd < 0 )
 X         return 0;
 X 
 X+#if defined(__FreeBSD__)    
 X+    lseek(fd, lb_number * DVD_VIDEO_LB_LEN, SEEK_SET);
 X+#else
 X     lseek64( fd, (int64_t) lb_number * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
 X-
 X+#endif
 X+    
 X     return read( fd, data, block_count * DVD_VIDEO_LB_LEN );
 X }
 X 
 END-of-libdvdread/files/patch-dvdread-dvd_udf.c
 echo x - libdvdread/files/patch-dvdread-dvd_reader.c
 sed 's/^X//' >libdvdread/files/patch-dvdread-dvd_reader.c << 'END-of-libdvdread/files/patch-dvdread-dvd_reader.c'
 X--- dvdread/dvd_reader.c.orig	Fri Jun 22 02:40:48 2001
 X+++ dvdread/dvd_reader.c	Mon Jun 25 22:57:38 2001
 X@@ -30,6 +30,9 @@
 X #if defined(__sun)
 X #include <sys/mnttab.h>
 X #define MNT_FILE MNTTAB
 X+#elif defined(__FreeBSD__)
 X+#undef MNT_FILE
 X+#include <fstab.h>
 X #else
 X #include <mntent.h>
 X #define MNT_FILE MOUNTED
 X@@ -183,7 +186,11 @@
 X     } else if( S_ISDIR( fileinfo.st_mode ) ) {
 X         dvd_reader_t *auth_drive = 0;
 X         char *path_copy = strdup( path );
 X+#if defined(__FreeBSD__)
 X+        struct fstab* fe;
 X+#else
 X         FILE *mntfile;
 X+#endif        
 X 
 X         /**
 X          * If we're being asked to open a directory, check if that directory is
 X@@ -204,6 +211,16 @@
 X             }
 X         }
 X 
 X+#if defined(__FreeBSD__)
 X+        if ((fe = getfsfile(path_copy))) {
 X+            fprintf(stderr,
 X+                    "libdvdread: Attempting to use block "
 X+                    "device %s on %s for CSS authentication.\n",
 X+                    fe->fs_spec,
 X+                    fe->fs_file);
 X+            auth_drive = DVDOpenImageFile(fe->fs_file);
 X+        }
 X+#else
 X         mntfile = fopen( MNT_FILE, "r" );
 X         if( mntfile ) {
 X #if defined(__sun)
 X@@ -234,7 +251,7 @@
 X #endif
 X             fclose( mntfile );
 X         }
 X-
 X+#endif
 X         free( path_copy );
 X 
 X         /**
 X@@ -600,21 +617,39 @@
 X 
 X         if( offset < dvd_file->title_sizes[ i ] ) {
 X             if( ( offset + block_count ) <= dvd_file->title_sizes[ i ] ) {
 X+#if defined(__FreeBSD__)
 X+                lseek(dvd_file->title_fds[i],
 X+                      offset * DVD_VIDEO_LB_LEN,
 X+                      SEEK_SET);
 X+#else                
 X                 lseek64( dvd_file->title_fds[ i ], offset
 X                          * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
 X+#endif                
 X                 ret = read( dvd_file->title_fds[ i ], data,
 X                             block_count * DVD_VIDEO_LB_LEN );
 X                 break;
 X             } else {
 X 
 X                 /* Read part 1 */
 X+#if defined(__FreeBSD__)
 X+                lseek(dvd_file->title_fds[i],
 X+                      offset * DVD_VIDEO_LB_LEN,
 X+                      SEEK_SET);
 X+#else
 X                 lseek64( dvd_file->title_fds[ i ], offset
 X                          * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
 X+#endif                
 X                 ret = read( dvd_file->title_fds[ i ], data,
 X                             dvd_file->title_sizes[ i ] - offset );
 X 
 X                 /* Read part 2 */
 X+#if defined(__FreeBSD__)
 X+                lseek(dvd_file->title_fds[i + 1],
 X+                      0,
 X+                      SEEK_SET);
 X+#else
 X                 lseek64( dvd_file->title_fds[ i + 1 ], 0, SEEK_SET );
 X+#endif                
 X                 ret += read( dvd_file->title_fds[ i + 1 ],
 X                              &(data[ ( dvd_file->title_sizes[ i ] - offset )
 X                              * DVD_VIDEO_LB_LEN ]),
 X@@ -653,7 +688,11 @@
 X         dvd_file->seek_pos = offset;
 X         return offset;
 X     } else {
 X+#if defined(__FreeBSD__)        
 X+        return lseek(dvd_file->title_fds[0], offset, SEEK_SET);
 X+#else
 X         return lseek64( dvd_file->title_fds[ 0 ], offset, SEEK_SET );
 X+#endif        
 X     }
 X }
 X 
 END-of-libdvdread/files/patch-dvdread-dvd_reader.c
 echo x - libdvdread/pkg-comment
 sed 's/^X//' >libdvdread/pkg-comment << 'END-of-libdvdread/pkg-comment'
 XThis is needed by ogle
 END-of-libdvdread/pkg-comment
 echo x - libdvdread/Makefile
 sed 's/^X//' >libdvdread/Makefile << 'END-of-libdvdread/Makefile'
 X# New ports collection makefile for:	libdvdread
 X# Date created:				24 Jun 2001
 X# Whom:					Marc van Woerkom <3d@freebsd.org>
 X#
 X# $FreeBSD: $
 X#
 X
 XPORTNAME=	libdvdread
 XPORTVERSION=	0.8.0
 XCATEGORIES=	graphics
 XMASTER_SITES=	http://www.dtek.chalmers.se/~dvd/
 X
 XMAINTAINER=	3d@freebsd.org
 X
 XUSE_GMAKE=	yes
 XUSE_AUTOMAKE=	yes
 XAUTOMAKE_ARGS=	--add-missing  --copy
 XUSE_LIBTOOL=	yes
 XINSTALLS_SHLIB=	yes
 X
 XUSE_NEWGCC=	yes
 X
 X# cf the excellent goat book:
 X#    http://sources.redhat.com/autobook/autobook/autobook_43.html
 Xpost-patch:
 X	@cd ${WRKSRC} && ./bootstrap
 X
 X.include <bsd.port.mk>
 END-of-libdvdread/Makefile
 echo x - libdvdread/pkg-plist
 sed 's/^X//' >libdvdread/pkg-plist << 'END-of-libdvdread/pkg-plist'
 Xlib/libdvdread.a
 Xlib/libdvdread.so
 Xlib/libdvdread.so.1
 Xinclude/dvdread/dvd_reader.h
 Xinclude/dvdread/dvd_udf.h
 Xinclude/dvdread/ifo_types.h
 Xinclude/dvdread/ifo_read.h
 Xinclude/dvdread/ifo_print.h
 Xinclude/dvdread/nav_types.h
 Xinclude/dvdread/nav_read.h
 Xinclude/dvdread/nav_print.h
 X@dirrm include/dvdread
 X
 END-of-libdvdread/pkg-plist
 echo x - libdvdread/pkg-descr
 sed 's/^X//' >libdvdread/pkg-descr << 'END-of-libdvdread/pkg-descr'
 XThis is needed by ogle.
 X
 XWWW: http://www.dtek.chalmers.se/~dvd
 END-of-libdvdread/pkg-descr
 echo x - libdvdread/distinfo
 sed 's/^X//' >libdvdread/distinfo << 'END-of-libdvdread/distinfo'
 XMD5 (libdvdread-0.8.0.tar.gz) = f74e3ecbad02a5c5fd679b539c341d8b
 END-of-libdvdread/distinfo
 exit
 

From: Marc van Woerkom <van.woerkom@netcologne.de>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: ports/28410: New port: libdvdread
Date: Wed, 27 Jun 2001 02:00:13 +0200 (CEST)

 Oops I changed the URL on request by the ogle team.
 
 But it turns out I need the first version of the URL
 in the port's Makefile to be able to fetch.
 
 So please set it back to:
 
   MASTER_SITES=	http://www.dtek.chalmers.se/groups/dvd/
 
 Regards,
 Marc
State-Changed-From-To: open->closed 
State-Changed-By: ijliao 
State-Changed-When: Sat Jul 7 06:07:32 PDT 2001 
State-Changed-Why:  
committed, thanks 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=28410 
>Unformatted:
