From owner-freebsd-ports Tue Jun 26 16:50:17 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 420CD37B406 for ; Tue, 26 Jun 2001 16:50:03 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.3/8.11.3) id f5QNo3Z87684; Tue, 26 Jun 2001 16:50:03 -0700 (PDT) (envelope-from gnats) Date: Tue, 26 Jun 2001 16:50:03 -0700 (PDT) Message-Id: <200106262350.f5QNo3Z87684@freefall.freebsd.org> To: freebsd-ports@FreeBSD.org Cc: From: Marc van Woerkom Subject: Re: ports/28410: New port: libdvdread Reply-To: Marc van Woerkom Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR ports/28410; it has been noted by GNATS. From: Marc van Woerkom 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 X+typedef off_t off64_t; X+#endif X+ X #include 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 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 X #define MNT_FILE MNTTAB X+#elif defined(__FreeBSD__) X+#undef MNT_FILE X+#include X #else X #include 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 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