From owner-freebsd-ports Mon Jun 25 16:40:18 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 5066537B407 for ; Mon, 25 Jun 2001 16:40:06 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.3/8.11.3) id f5PNe6v68045; Mon, 25 Jun 2001 16:40:06 -0700 (PDT) (envelope-from gnats) Received: from mr200.netcologne.de (mr200.netcologne.de [194.8.194.109]) by hub.freebsd.org (Postfix) with ESMTP id 1CD2537B401 for ; 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 Reply-To: 3d@freebsd.org To: FreeBSD-gnats-submit@freebsd.org Subject: ports/28410: New port: libdvdread 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 >Number: 28410 >Category: ports >Synopsis: New port: libdvdread >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Jun 25 16:40:03 PDT 2001 >Closed-Date: >Last-Modified: >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 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 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/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 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: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message