ports/76728: [NEW PORT] multimedia/lxdvdrip: Command Line Tool to make a copy from a Video DVD
Ulrich Spoerlein
q at uni.de
Wed Jan 26 20:50:24 UTC 2005
>Number: 76728
>Category: ports
>Synopsis: [NEW PORT] multimedia/lxdvdrip: Command Line Tool to make a copy from a Video DVD
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Jan 26 20:50:23 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Ulrich Spoerlein
>Release: FreeBSD 5.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD roadrunner 5.3-STABLE FreeBSD 5.3-STABLE #9: Thu Dec 16 18:33:14 CET 2004
>Description:
dvdrip is a Command Line Tool to make a copy from a Video DVD for private Use.
It automates the process of Ripping, Authoring, Preview and Burning of a DVD.
Features:
- Automatic Selection of the longest Title
- Automatic Calculation of Factor to Requant
- Automatic Read of Volume-ID
- Automatic Chapter Separation from Original
- Ripping of Audiotracks in every Language
- Selection of dts-Audiotracks as Default
- Selection of two Subpicture-Tracks possible
- Ripping and Re-Authoring
- Preview of VOB-Files with mplayer or xine
- Burning with growisofs or cdrecord-prodvd
- All Program Parameters could be stored in a Config File as Program Defaults
- All Paramaters can be overwritten on the fly at the Command Line
- Program with english, french or german Messages
- Rip of Subpicture-Tracks
- Copy DVD < 4.7 GB with Menus; > 4.7 GB with vamps, without Menus.
- Partial Copy: Copy selected Titles from a DVD (dvdunauthor/vamps)
- High Quality Backup (1 DVD9 => 2 DVD5)
- DVD with Menus for Title-, Audio- and Chapter Selection (dvdwizard)
WWW: http://developer.berlios.de/projects/lxdvdrip/
Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:
--- lxdvdrip-1.41.shar begins here ---
# 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:
#
# lxdvdrip
# lxdvdrip/Makefile
# lxdvdrip/distinfo
# lxdvdrip/pkg-descr
# lxdvdrip/files
# lxdvdrip/files/patch-lxdvdrip.c
# lxdvdrip/pkg-message
# lxdvdrip/pkg-plist
#
echo c - lxdvdrip
mkdir -p lxdvdrip > /dev/null 2>&1
echo x - lxdvdrip/Makefile
sed 's/^X//' >lxdvdrip/Makefile << 'END-of-lxdvdrip/Makefile'
X# New ports collection makefile for: multimedia/lxdvdrip
X# Date created: 26.01.2005
X# Whom: Ulrich Spoerlein <q at uni.de>
X#
X# $FreeBSD$
X#
X
XPORTNAME= lxdvdrip
XPORTVERSION= 1.41
XCATEGORIES= multimedia
XMASTER_SITES= http://download.berlios.de/lxdvdrip/
XDISTNAME= ${PORTNAME}-${PORTVERSION}-3
XEXTRACT_SUFX= .tgz
X
XMAINTAINER= q at uni.de
XCOMMENT= Command Line Tool to make a copy from a Video DVD
X
XLIB_DEPENDS= dvdread.3:${PORTSDIR}/multimedia/libdvdread
X
XWRKSRC= ${WRKDIR}/${PORTNAME}
X
Xdo-build:
X @(cd ${WRKSRC}; ${CC} ${CFLAGS} -I${LOCALBASE}/include -L${LOCALBASE}/lib \
X -ldvdread -lm -o lxdvdrip lxdvdrip.c)
X
Xdo-install:
X @${INSTALL_PROGRAM} ${WRKSRC}/lxdvdrip ${LOCALBASE}/bin
X @${INSTALL_DATA} ${WRKSRC}/doc-pak/lxdvdrip.conf.* ${LOCALBASE}/etc
X.if !defined(NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X @cd ${WRKSRC}/doc-pak && ${CP} Changelog* README.* TODO freebsd.doc ${DOCSDIR}
X.endif
X
Xpost-install:
X @${SED} 's,%%LOCALBASE%%,${LOCALBASE},' pkg-message
X
X.include <bsd.port.mk>
END-of-lxdvdrip/Makefile
echo x - lxdvdrip/distinfo
sed 's/^X//' >lxdvdrip/distinfo << 'END-of-lxdvdrip/distinfo'
XMD5 (lxdvdrip-1.41-3.tgz) = bd325a8a4a5519a2146a2ca9ecfea3b3
XSIZE (lxdvdrip-1.41-3.tgz) = 456578
END-of-lxdvdrip/distinfo
echo x - lxdvdrip/pkg-descr
sed 's/^X//' >lxdvdrip/pkg-descr << 'END-of-lxdvdrip/pkg-descr'
Xdvdrip is a Command Line Tool to make a copy from a Video DVD for private Use.
XIt automates the process of Ripping, Authoring, Preview and Burning of a DVD.
X
XFeatures:
X- Automatic Selection of the longest Title
X- Automatic Calculation of Factor to Requant
X- Automatic Read of Volume-ID
X- Automatic Chapter Separation from Original
X- Ripping of Audiotracks in every Language
X- Selection of dts-Audiotracks as Default
X- Selection of two Subpicture-Tracks possible
X- Ripping and Re-Authoring
X- Preview of VOB-Files with mplayer or xine
X- Burning with growisofs or cdrecord-prodvd
X- All Program Parameters could be stored in a Config File as Program Defaults
X- All Paramaters can be overwritten on the fly at the Command Line
X- Program with english, french or german Messages
X- Rip of Subpicture-Tracks
X- Copy DVD < 4.7 GB with Menus; > 4.7 GB with vamps, without Menus.
X- Partial Copy: Copy selected Titles from a DVD (dvdunauthor/vamps)
X- High Quality Backup (1 DVD9 => 2 DVD5)
X- DVD with Menus for Title-, Audio- and Chapter Selection (dvdwizard)
X
XWWW: http://developer.berlios.de/projects/lxdvdrip/
END-of-lxdvdrip/pkg-descr
echo c - lxdvdrip/files
mkdir -p lxdvdrip/files > /dev/null 2>&1
echo x - lxdvdrip/files/patch-lxdvdrip.c
sed 's/^X//' >lxdvdrip/files/patch-lxdvdrip.c << 'END-of-lxdvdrip/files/patch-lxdvdrip.c'
X--- lxdvdrip.c.orig Wed Jan 12 23:31:49 2005
X+++ lxdvdrip.c Wed Jan 26 21:31:51 2005
X@@ -229,6 +229,11 @@
X #include <string.h>
X #include <sys/stat.h>
X #include <sys/types.h>
X+#include <sys/param.h>
X+#include <sys/mount.h>
X+#ifndef __FreeBSD__
X+#include <sys/statfs.h>
X+#endif
X #include <stdio.h>
X #include <stdlib.h>
X #include <unistd.h>
X@@ -621,16 +626,19 @@
X // Gibt die Groesse einer Datei zurueck, ohne die stat Beschraenkung auf < 2 GB
X long long filesize64 (char * szFileName)
X {
X+#ifdef __FreeBSD__
X+ struct stat buf;
X+
X+ if (stat(szFileName, &buf) < 0)
X+ return 0LL;
X+
X+ return buf.st_size;
X+#else
X FILE * fp;
X long long lSize;
X char szBuffer[128];
X char szTempl[32] = "/tmp/groesse.lxdvdrip";
X-// FreeBSD hat fopen64 als Standard
X-#ifdef _FREEBSD
X- fp = (FILE*)fopen (szFileName, "rb");
X-#else
X fp = (FILE*)fopen64 (szFileName, "rb");
X-#endif
X if (!fp)
X {
X return (long long)0;
X@@ -644,39 +652,28 @@
X system ("rm /tmp/groesse.lxdvdrip");
X lSize = atoll (szBuffer);
X return lSize;
X+#endif
X }
X
X // Berechnet freien Festplattenplatz
X long long calculate_discfree (char * szPfad, long lSprache)
X {
X- char szTempl[32] = "/tmp/lxdf.lxdvdrip";
X- char szBefehl[1024];
X+ struct statfs buf;
X long long lGroesse=0;
X- sprintf (szBefehl, "stat -f %s -c ", szPfad);
X- strcat (szBefehl, "'%a %s' > ");
X- strcat (szBefehl, szTempl);
X- if (system (szBefehl) == 0)
X+
X+ if (statfs(szPfad, &buf) < 0)
X+ return 0;
X+
X+ lGroesse = buf.f_bavail*buf.f_bsize;
X+
X+ switch (lSprache)
X {
X- FILE * fTmp;
X- long long lFrei;
X- long long lBlockGroesse;
X- fTmp = fopen(szTempl,"r");
X- if (fTmp)
X- {
X- fscanf (fTmp, "%lld %lld", &lFrei, &lBlockGroesse);
X- fclose (fTmp);
X- lGroesse = lFrei * lBlockGroesse;
X- }
X- system ("rm /tmp/lxdf.lxdvdrip");
X- switch (lSprache)
X- {
X- case 0: printf ("Frei in %s: %lld Bytes\n", szPfad, lGroesse);
X- break;
X- case 1: printf ("Free in %s: %lld Bytes\n", szPfad, lGroesse);
X- break;
X- case 2: printf ("Espace libre sur %s: %lld octets\n", szPfad, lGroesse);
X- break;
X- }
X+ case 0: printf ("Frei in %s: %lld Bytes\n", szPfad, lGroesse);
X+ break;
X+ case 1: printf ("Free in %s: %lld Bytes\n", szPfad, lGroesse);
X+ break;
X+ case 2: printf ("Espace libre sur %s: %lld octets\n", szPfad, lGroesse);
X+ break;
X }
X return lGroesse;
X }
END-of-lxdvdrip/files/patch-lxdvdrip.c
echo x - lxdvdrip/pkg-message
sed 's/^X//' >lxdvdrip/pkg-message << 'END-of-lxdvdrip/pkg-message'
XTo use this program, copy one of
X%%LOCALBASE%%/etc/lxdvdrip.conf.{DE,EN,FR} to
X$HOME/.lxdvdrip.conf
END-of-lxdvdrip/pkg-message
echo x - lxdvdrip/pkg-plist
sed 's/^X//' >lxdvdrip/pkg-plist << 'END-of-lxdvdrip/pkg-plist'
Xbin/lxdvdrip
Xetc/lxdvdrip.conf.DE
Xetc/lxdvdrip.conf.EN
Xetc/lxdvdrip.conf.FR
X%%PORTDOCS%%%%DOCSDIR%%/Changelog.de
X%%PORTDOCS%%%%DOCSDIR%%/Changelog.en
X%%PORTDOCS%%%%DOCSDIR%%/Changelog.fr
X%%PORTDOCS%%%%DOCSDIR%%/README.de
X%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.DE
X%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.EN
X%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.FR
X%%PORTDOCS%%%%DOCSDIR%%/README.en
X%%PORTDOCS%%%%DOCSDIR%%/README.fr
X%%PORTDOCS%%%%DOCSDIR%%/TODO
X%%PORTDOCS%%%%DOCSDIR%%/freebsd.doc
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-lxdvdrip/pkg-plist
exit
--- lxdvdrip-1.41.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list