Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2001 16:50:03 -0700 (PDT)
From:      Marc van Woerkom <van.woerkom@netcologne.de>
To:        freebsd-ports@FreeBSD.org
Subject:   Re: ports/28410: New port: libdvdread
Message-ID:  <200106262350.f5QNo3Z87684@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/28410; it has been noted by GNATS.

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
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106262350.f5QNo3Z87684>